2008-12-30:

CPC 464

cpc464:easy:basic
Ogólnie rzecz biorąc, dobrze jest mieć żonę. A szczególnie taką, która znajduje w przysłowiowej szafie starego Amstrad-Schneider CPC 464 (64k Colour Personal Computer). Tak więc dostałem nową zabawkę (yeey kolejna ciekawa architektura do rozpoznania ;D), o której pewnie kilka postów z czasem się pojawi.

Po włączeniu tego cuda (ma oldschoolowy zielono zielony monitor) zdałem sobie (po raz kolejny sprawę) jakie kiedyś wszystko było proste. Oczywiście nie chodzi mi o idealizowanie przeszłości, tylko o prosty fakt:

Jeżeli chce się programować na CPC 464 (lub Atari 800 XL, lub Commodore 64, etc) należy go włączyć.

I tyle. Zestawmy ten fakt z analogicznym faktem dotyczącym obecnych PCtów:

Jeżeli chce się programować na PC należy go włączyć, poczekać minutę lub dwie aż się załaduje system operacyjny, znaleźć stronę z jakimś interpreterem/kompilatorem który nas interesuje (jeżeli go nie mamy), ściągnąć go i zainstalować (polecam ręczne kompletowanie MinGW'a jako przykład), uruchomić edytor/IDE, ściągnąć jakiś tutorek który powie gdzie w tym złośliwym IDE znaleźć przycisk "kompiluj" / znaleźć jakiś tutorek który powie jak skompilować lub uruchomić program, znaleźć jakiś tutorek który wytłumaczy co to za biblioteki/headery include'ujemy / importujemy LUB jakie powinniśmy, etc.

Owszem, w paru miejscach dramatyzuje i przesadzam, ale wcale nie aż tak bardzo. Obecne systemy komputerowe są dziesiątki tysięcy razy potężniejsze niż wspomniany CPC 464, ale większość tej mocy jest przeznaczone na ułatwianie życia początkującym użytkownikom, a jednocześnie, utrudnianie życia początkującym researcherom/programistom. Coś za coś.

OK, koniec rantowanie, w końcu tego posta nie oznaczyłem jako rant ;D

Czytelnicy pamiętający czasy 8-bitowców pewnie pamiętają nietypowe jak na dzisiejsze czasy "edytory" języków programowania (mówie o BASICu teraz). Ów edytory przypominają dzisiejsze interpretery-shelle typu python (nie chodzi mi o język, a o sam "shell" pythonowy odpalany poprzez wklepanie python bez parametrów) - wszystko co napisaliśmy było od razu wykonywane. Przy czym była oczywiście możliwość tworzenia dłuższych programów niż jednolinijkowce - wystarczyło polecenie poprzedzić numerem linii, a potem następne następnym numerem, etc. W sumie przyjęło się numerować linie co 10, tak aby "w razie czego" można było jeszcze jakąś linię "pomiędzy" dwie inne wrzucić. Jak można się domyślić, adresowanie również opierało się na numerach linii. Przykładowy program wyglądał tak:

10 REM to jest komentarz
20 PRINT "witaj swiecie!"
30 GOTO 20


Ów programik można było odpalić za pomocą polecenia RUN, wymazać za pomocą NEW, wylistować za pomocą LIST, oraz edytować na kilka sposobów. Pierwszym sposobem edycji było podanie numeru linii i wpisanie innej linijki. Np.

20 PRINT "witaj cpc464!"
LIST
10 REM to jest komentarz
20 PRINT "witaj cpc464!"
30 GOTO 20


Lub wpisując EDIT numer_linii - wtedy w buforze linii pojawiała się linia, i mogliśmy dokonywać zmian. Czyli było kaaapkę inaczej niż jest teraz ;D. Swoją drogą, jakiś czas temu trafiłem na tego typu BASIC na komórki - zwało się to Mobile BASIC (shareware niestety), i uratowało mnie przed nudą podczas kilku dłuższych wypraw PKP =^^=.

I na koniec kilka "ciekawostek" o CPC 464:
- Na klawiaturze znajduje się klawisz COPY który służy do kopiowania znaków, ale w dość ciekawy sposób. Mianowicie kopiowanie przypomina bardziej klonowanie znane z programów graficznych (zaznaczamy pewne miejsce, po czym rysujemy w innym, a kolory są pobierane z miejsca zaznaczonego które się przesuwa relatywnie tak samo jak główny kursor) - za pomocą klawisza SHIFT oraz strzałek możemy sterować kursorem źródłowym, którym wybieramy miejsce na ekranie (który jest na dobrą sprawę buforem tekstowym) z którego chcemy kopiować. Następnie jedno naciśnięcie klawisza COPY powoduje skopiowanie jednego znaku z kursora źródłowego do docelowego (głównego) i przesunięcie obu kursorów do przodu. Rozwiązanie to okazało się nadzwyczaj wygodne.
- Gry z kasety wczytuje się poleceniem RUN " (i nie można grać bez joya)
- Manuale w sieci dostępne są tylko w języku hiszpańskim i francuskim (nie ma angielskiego), ale o dziwo wcale to nie przeszkadza (tj jeśli się kiedyś namiętnie klepało w Atari Basicu ;p)
- Standardem dyskietek w CPC 464 (zew. stacja btw) są dyskietki 3' (tak! 3' a nie 3.5'). W kilku miejscach na sieci wyczytałem że na dobrą sprawę kontroler od tych stacji 3' jest identyczny z tym w standardowych stacjach 3.5' znanych np. z PCtów, i za pomocą prostej przejściówki można podpiąć za równo 3.5' do CPC, jak i 3' do PC (gorzej z dyskietkami DD ;p).
- CPC 464 jest oparte o procesor RISCowy Z80 (Zilog 80).
- Z BASICa (jest tu Locomotive Basic) można wywołać bezpośrednio dowolną funkcję w machine codzie za pomocą polecenia CALL i adresu.

OK tyle.

Comments:

2008-12-30 11:41:41 = Patrykuss
{
Maszyna przedstawia się co najmniej interesująco. Dostałeś go pod choinkę od kobiety :>?

Swoją drogą czekam na dalsze posty związane z programowaniem na tej maszynie.
}
2008-12-30 11:52:52 = Malcom
{
Prawdziwe programowanie pod 8-bitowcami, wyciagajace cuda i ostatnie tchnienia z tych maszyn, zaczyna sie w asemblerze, choc niestety nigdy nie mialem okazji sie temu blizej przyjrzec (pod C64) :(
Zycze owocnego poznawania ;)
}
2008-12-30 14:11:57 = Gynvael Coldwind
{
@Patrykuss
Jakoś tak wyszło że kilka dni po "choince" ;>
Na pewno jakieś posty się jeszcze pojawią (w Code Snippets wrzuciłem nawet jakiś malutki programik łączący BASIC i assembler pod to cudo).

@Malcom
Ano masz rację. Za dzieciaka miałem Atari 800XL, ale po za BASIC nie wyszedłem. No nic, czas to nadrobić ;D

Pozdrawiam ;>
}
2008-12-31 14:28:10 = xa
{
Tylko tyle żonie i aż tyle o [FRAGMENT OCENZUROWANY]? [FRAGMENT OCENZUROWANY] serce należy ;)

(dopisek gyna: komentarz został ocenzurowany w celu umożliwienia przeżycia gynowi ;D)
}
2009-01-01 02:58:51 = tozuo
{
mmm.. natchnąłeś mnie do wykonania telefonu w kierunku rodziców, aby przeszukali piwnicę za moim c64.. basicować zacząłem - dzięki instrukcji obsługi dorzucanej do komputra :)
}
2009-01-01 12:11:58 = Gynvael Coldwind
{
@tozuo
Have fun! ;>
}
2009-01-13 09:14:53 = Verid
{
Aż mi się łezka zakręciła w oku jak to przeczytałem. Amstrad to pierwszy komp z jakim miałem do czynienia. W moim przypadku był to CPC6128 (wbudowana stacja dyskietek) z zielonym monitorem GT65.
Rewelacyjne gry na tym miałem. Do dzisiaj gdzieś mam schowane na pamiątkę te dziwaczne dyskietki...
A mój szef nawet kazał sobie emulator ściągnąć żeby móc popykać w te starocie...
Stara, dobra maszyna...
}
2009-01-13 22:27:25 = Gynvael Coldwind
{
@Verid
Ten zielony monitor jest świetny ;>
Hehe, moja żona, podobnie jak twój szef, też sobie emulatorka zażyczyła, głównie do gierki Flying Shark ;> I ani trochę się im nie dziwie, te gierki były niezłe ;>
Stare dobre czasy :D
}
2009-01-14 06:56:30 = Jurgi
{
Z80 raczej nie jest RISC, a wręcz przeciwnie, CISC, o ile wiem. To atarowo/komodorowy MOS6502 jest RISC.
A BASIC jest świetny, zwłaszcza niektóre jego klony. Do Turbo Basica XL siadłem kiedyś i z marszu napisałem dużą rzecz, bez żadnej praktyki. Pewnie jeszcze dziś bym coś naskrobał, gdybym sobie odświeżył. Brakuje mi tego na PC. Marzy mi się coś jak shell/skrypty w TBXL.
}
2009-01-14 07:53:48 = Verid
{
Ja swego czasu polowałem na monitor kolorowy ale w tamtych czasach łatwiej było mieć ogon komety w szafie niż dorwać to cudo.
Flying Shark jest rewelacyjny. Miałem jeszcze takie perełki klasyki jak Fruity Frank, le 5eme Axe, Harrier Attack, Ikari Warriors czy Cybernoid I i II.
Kurczę, takiego smaka sobie narobiłem że chyba się rozejrzę po Allegro za Amstradem...
}
2009-01-14 11:15:54 = Gynvael Coldwind
{
@Jurgi
Hmm, powiem tak, upierał się nie będę czy to RISC czy CISC ;> Pisałem to wg własnej definicji która idzie mniej więcej tak: "jeżeli coś ma 300+ wariantów kodowań instrukcji, to jest CISC, reszta to RISC" ;> Na wiki nie znalazłem deklaracji czy to strikte RISC czy CISC, piszą że ma elementu RISCowe, i elementy nie-RISCowe.

Hmm swoją drogą na PCcie są jakieś Dark BASICi, etc. Nawet widziałem jakąś grę na compo gamedev.pl swojego czasu w tym - wniosek - używalne ;>

Szczerze to na IBMach oryginalnych, trochę starszych, int 18h wywoływał interpreter BASICa (w przypadku gdy MBR nie wykrył bootowalnego HDD to wywoływał int 18h). Obecne BIOSy implementują int 18h jako reboot po prostu ;< A szkoda.

@Verid
Thx za nazwy gierek ;> Rzucę na nie okiem ;>
Hehe, zrobię sobie więc kolejny krzyżyk przy "osobach które przeze mnie kupią starocia" ;D
}
2009-01-14 14:50:02 = Verid
{
@ Gynvael Coldwind
Kupią albo wykopią. Mój stary CPC6128 może jeszcze gdzieś występuje u rodziców w garażu. Sprawdzę przy okazji.
Jeżeli chodzi o nazwy gierek to mogę podrzucić jeszcze kilka tych co zapadły mi w pamięć - jeżeli masz ochotę.
}
2009-01-14 18:02:49 = Gynvael Coldwind
{
@Verid
Haha trudno się nie zgodzić ;> Dużo osób ma gdzieś zakopane szeroko pojęte "fajne rzeczy" ;>
Podaj tytuły gierek ;> Na pewno nie zaszkodzi rzucić okiem ;>
}
2009-01-15 13:19:36 = Verid
{
No to pogrzebmy w pamięci:
Mission Impossible II - rewelacyjna platformówka
Fernandez Must Die - strzelanka podobna do Ikari Warriors
PyjamaRama - "weź przedmiot, użyj gdzie indziej"
Who Dares Wins II - kolejna strzelanka (wymaga joy'a)
Blaseroids - klon kosmicznej strzelanki Asteroids
Ski Jump - symulator Małysza
Tomahawk - symulator helikoptera
Renegade - bijatyka
Saboteur - Ninja wykonuje różne misje na terenie tajnego kompleksu
Antiriad - platformówka (nigdy jej nie rozgryzłem)
Vindicator II - labiryntówka z elementami strzelanki
Ghosts'n'Goblins - dużo lepiej wyglądało to na Amidze...
West Bank - prosta gierka na refleks
Nebulus - biegamy czymś żabowatym dookoła wieży
Thanatos - symulator smoka (sic!)
SpinDizzy - pędzamy wirujący bączek po labiryncie
Solomon's Key - świetna platformówka z magiem na czele
Bomb Jack - zbieramy bomby gościem ala Batman
Inernational Karate Plus - lepsze niż Mortal Combat
Pole Position - wyścigi

Ufff....trochę tego było...
Miałem sporo więcej na dyskietkach ale nie pamiętam już nazw...

BTW jakbyś chciał 3" dyskietkę w celach kolekcjonerskich to powinienem mieć jeszcze kilka w szafie...





}
2009-01-16 02:42:45 = Gynvael Coldwind
{
Huhu, masz niezłą pamięć ;> Ja ze swoich Atarynkowych czasów pamiętam może w 5 gier ;> (hmm... Bruce Lee, Montesumas Revenge, Riverride, Archon, Misja, Fred, Robbo.. hmmm OK, nie 5, a 7 ;p)

Saboteur 2 wczoraj sobie włączyłem (kochana żona załatwiła jeszcze kasety do tego sprzętu ;>), hmm. Kurcze, kapkę klimatem mi Another World przypomina.. a może designem postaci... Raczej tak, designem postaci. Ciekawe gry wtedy były ;>
No i Flying Shark odpaliłem! To dopiero niezła gierka ;> Zawsze lubiłem arcade'owe scrollupy z samolocikami (Raptor etc;>)

"symulator Małysza" ;DDD

Oooo ;> Chętnie bym odkupił od Ciebie taką dyskietkę 3" ;> Jeszcze takowych w ręce nie miałem, a muszę przyznać że bardzo mnie intrygują ;> Jakbyś mógł mi mejla (gynvael # coldwind , pl) wysłać w tej sprawie lub podać mejla do Siebie ;>
}
2009-01-16 12:10:44 = Verid
{
Atarynka.....też miałem. Na kasety, bez turbo...ahh to liczenie obrotów i chodzenie na palcach dookoła magnetofonu....
Riverride = Riveraid - z tego co wiem jest też na Peceta.
Archon to były takie jakby szachy z elementami zręcznościowymi, tak?
Trzy ostatnie tytuły to chyba najlepsze polskie gry z tego okresu.
A w Raptora to do dzisiaj pogrywam.

Co do dyskietki to jeżeli chcesz kupić to są na Allegro. Widziałem dziś ze dwie aukcje. Ode mnie możesz tylko dostać w prezencie - coś jak "od świra dla świra" :)

verid1st at wp.pl
}
2009-01-17 00:34:12 = Gynvael Coldwind
{
@Verid
Hah ;> Atarynka dobry sprzęt był ;> Ja akurat turbo miałem - udało mi się za 200tys zł dorwać przerobić magnetofon + dostać zestaw gierek hehe. Chodzenie na palcach rulz ;> (znajoma mi opowiadała że oni z bratem siedzieli pod stołem żeby ich "komputer nie widział" podczas wgrywania ;> sposoby były różne)... No, ale i tak się cieszyliśmy że nie musimy głowicy regulować jak właściciele commodore 64 ;>

Ano, jest riveride na PCta ;>
Tak, Archon to te szachy. Druga część jest na PCta też, bardzo dobra ;>
Co do polskich gier, ostatnio jakiś filmik z gierkami Janusza Pelca na youtube widziałem, i hmm, wyglądało na to że jednak kilka lepszych (przynajmniej technicznie) też było huh... Niemniej jednak te były świetne ;>

Co do Raptora, to słusznie czynisz ;> Też to odpalam od czasu do czasu ;> Ta gra jest boska ;>

W sprawie dyskietek wyślę mejla ;>
}
2010-09-11 14:57:20 = yadwin
{
Czy na tym komputerze były gry stworzone przez Polaków? Ktoś takie pamięta?
}
2015-03-26 11:42:37 = ZbyniuR
{
Zapraszam na jedyne działające polskojęzyczne forum o Amstradach CPC. :)
http://speccy.pl/forum/index.php/board,20.0.html

A co do polskich gier na CPC to w Bajtku był w długaśnych liniach DATA fajny Saper, był też Tetris zrobiony przez Cieślikowskiego. Nawiasem mówiąc miałem też jego naprawdę świetny kopier plikowy. A jego firma która niegdyś oferowała fajne rzeczy do CPC istnieje nadal choć od dawna w pełni zPeCetowiona. Kojarzę też jakieś pisane w Basicu polskie programy edukacyjne do matmy, nauki angielskiego i polskiej ortografii. Z tym że ta ostatnia miała pewne znamiona gry bo w nagrodę za dobre odpowiedzi dostawało się punkty oraz wodę do uśmiechniętych kwiatków które ładnie nam rosły na ekranie lub więdły gdy źle odpowiadałeś. ;)
}

Add a comment:

Nick:
URL (optional):
Math captcha: 8 ∗ 2 + 1 =