Archive for the ‘Sinclair’ Tag

Archeologia czyli ziarenko po ziarenku odgrzebywanie Action! (2)

Tuesday, January 14th, 2020

Skoro postanowiłem się tym Action! pobawić więcej niż w Hello world! to warto by przemyśleć jak do tego podejść, aby zaliczyć jak najmniej fuckupów.

Action! oryginalnie występował jedynie w wersji na karcie plus dwie dodatkowe dyskietki – Runtime and Toolkit. Pierwsza pozwalała na skompilowanie kodu jako samodzielnie działającego programu i nie wymagającego karta/ROMu, druga zawierała trochę dodatkowych bibliotek i procedur. Klepanie dzisiaj w 100% kodu na 8bitowym komputerze to pewnego rodzaju archaizm, co prawda znajdą się tacy, którzy będą z tego robić sztukę, niezależnie od efektowności i efektywności takiego IDE, ale mając ograniczone zasoby czasowe i chęć raczej zrobienia czegoś do końca niż robienia czegoś i niekończenie to wybiorę nowocześniejszą metodę. Takie zabawy z retrokomputerem jako bazą kodowania można zrobić dla zabawy z czymś małym, krótkim i mając dużo czasu.

Dlaczego nie bezpośrednio na Atari:

  • edytor wbudowany w Action! niestety pracuje tylko w 40 kolumnach. Lekki dramat jeżeli wklepiecie linie z kodem i komentarzami 🙂 Oczywiście można edytować sobie kod (który jest tekstowy) w edytorze wspierającym 80 czy 64 kolumny, a potem wczytywać zapisany plik do edytora Action!, ale sprowadza to całość do jednego: piszemy kod gdzie indziej, wrzucamy go do edytora Action!, kompilujemy etc.
  • kwestia backupów, rewizji kodu, komentowania, drukowania – nie muszę tłumaczyć, że z poziomu Atari traciłbym czas na proste rzeczy, a czas to jest coś czego nie mam w nadmiarze.

Czyli skompletowanie prostego i działającego środowiska do pracy:

  • Będę pracował głównie pod Mac OS, więc zainstalowałem Atari800MacX i działa to dość fajnie, bo:
  • – można wklejać tekst ze schowka (z wyłączonym limitem prędkości jest to nawet sensowne szybkościowo),
    – można zapisać tekst na handler “P:” i dostać treść do okienka z dokumentem tekstowym na MacOS.
  • Druga opcja z której korzystam równolegle to Wine i Altirra pod Windows. Dużo bardziej rozbudowany i zaawansowany emulator, ale korzystam z niego głównie do operowania obrazami i zawartościami dyskietek oraz bardziej zaawansowanych konfigów niż Atari 800XL z Rambo i dwoma stacjami stacją dysków 1050 pod DOS 2.5.
  • Gotowe pliki .xex ale też źródła do testowania na realnym sprzęcie (1088XEL+CF3, 800+Incognito, XE GS + Ultimate + SIO2SD czy wreszcie 600XL z 64k/800XL stockowe z SIO2SD) po prostu przerzucam przez obrazy dyskietek .atr – czy na kartę CF czy na SD (SIO2SD) czy po prostu jako .xex do SIDE2. To, że działa na emulatorze to fajnie, ale ma tak samo dobrze działać na realnym sprzęcie. Równie dobrze mogę to przerzucać SIO2PC.
  • Effectus – cross kompilator pod Windows i Linuxa czyli ja znowu pod Wine 🙂 odpaliłem testowo – działa, pewnie będzie miał większe zastosowanie przy większej ilości kodu źródłowego, który może się nie pomieścić w pamięci edytora/kompilera Action!, ale to dalszy etap.

Są dwie wiadomości na start: dobra i zła. Ta dobra – ludzie już przerabiali ten temat, na atariwiki można znaleść sporo informacji, materiałów, obrazów dyskietek, kartów etc. Czyli można zgromadzić sobie jakieś podstawowe startowe rzeczy. Apetyt rośnie dalej i tutaj niestety ta druga wiadomość: wiele bardzo interesujących stron i materiałów zaliczyło już dołek internetowy. Na szczęście z pomocą przyjdzie archive.org i Wayback Machine. Jedna z takich stron to http://joyfulcoder.net – prawdę mówiąc jedna z ciekawszych albo akurat mi przydało się całkiem sporo rzeczy na niej opublikowanych.
https://web.archive.org/web/20120722063641/http://joyfulcoder.net/atari/action/code/

Lista gdzie zajrzeć bez grzebania w martwych już zawartościach stron:

  • Przede wszystkim na AtariWiki i część poświęconą Action! – znajdziemy tam wszystko, co pozwoli wystartować. Obrazy dyskietek, obrazy kartów, manuale (również zaktualizowane), bardzo dużo informacji i bardzo dużo linków – być może nawet za dużo na start i można utonąć, ale warto tam wracać szukając odpowiedzi na napotkane problemy.
  • Jeżeli macie doświadczenie z programowaniem w innych językach typu C, Pascal, BASIC to warto zaraz po skompletowaniu IDE spojrzeć na listę znalezionych błędów – i sposoby aby je omijać. Niestety – nie powstała nowsza wersja Action! niż 3.6 a jest to kombajn połączony edytora, kompilatora i jeszcze paru rzeczy (oryginalnie rezydujących w czterech bankach po 4k i przełączanych wg aktualnej potrzeby działania), nie aktualizowano tego i nie usuwano błędów na zasadzie kolejnych rewizji oprogramowania. To jak uczenie się starożytnej greki czy łaciny.

opulenti atarini multos deos habent

Dlaczego nie polecam suma sumarum cyklu o Action! z Bajtków i Mojego Atari? Mam wrażenie, że jest to żywcem wyrwane z materiałów anglojęzycznych, przy czym – w tych oryginalnych można znaleść to co się szuka szybciej i w większym opracowaniu tematu. Oczywiście – można przez sentyment i z ciekawości zajrzeć do tego pod czym podpisał się Wojciech Zientara.

Wracając do Action! – patrząc na szybko – im głębiej w to wchodzę, tym mam wrażenie większej archeologii. Język niszowy, nie zdobył dużej popularności pomimo bardzo fajnych możliwości i bardzo dobrej wynikowej prędkości po kompilacji. Z czego to wynikało? Forma dystrybucji (cart)? Brak dalszego rozwoju? OSS (Optimised System Software) tworzyło 15 osób, w sumie mieli kilka bardzo dobrych produktów jak MAC/65 i ActioN!, ale niestety też parę niewypałów sprzedażowych jak BASIC XE. W 1988 roku połączyli się z ICD (SpartaDOS). Próbowali swoich sił w sofcie na Apple II, Atari ST, ale raczej bez sukcesów. I znikli. Na marginesie – źródła Action! są dostępne publiczne.

Natomiast już wiem, że większość rzeczy pomimo tego, że ludzie zjedli na tym zęby w latach 80tych i do połowy 90tych jest nadal do “wykopania” – to wrażenie po poczytaniu forów. Z jednej strony fajne, z drugiej – zacząłem gromadzić materiały o tym języku, żeby nie musieć się pytać i robi się pokaźna zawartość folderu na dysku. Może kiedyś scalę to w jedną publikację.

Żeby zdjąć cokolwiek z kupski wstydu lat 80tych potrzebuję na start odczytać grafiki bitmapowe, móc je wczytać z dysku jako dane raw, wyświetlić je najchętniej z dysku (wtedy mam temat doładowania binarek rozkmniniony). Rzecz druga to obsługa klawiatury/joysticka. Poszło szybciej niż myślałem.

Przeskoczenie z Atari BASIC’a nie jest bolesne, daję mu szansę 🙂

W sumie – przestawiając się z jakiegokolwiek innego kompa i nawet szczątkowej trzeba znać przede wszystkim a/ deklaracje zmiennych i wskaźników, b/ operowanie większymi danymi (pamięć RAM i masowa) c/ przekładanie tego na tekst i grafikę, d/ specyficzne dla platformy rozwiązania graficzno/muzyczno/sprzętowe. Skoro człowiek robił coś na jednej platformie, to zrobi też na innej 🙂

Od wspomnień, matematyki i sentymentów do Action!

Monday, January 13th, 2020

Z przerażeniem patrzę na kalendarz – w czerwcu miną 34lata od momentu, kiedy jako 12latek dostałem wymarzony prezent – komputer. Historia o tym, czy był to ten komputer o jakim marzyłem, czy wybór akurat Atari 800XL wtedy był dobrym wyborem dla mnie – jest dłuższa i bardziej złożona.

Pomimo, że w stosunku do moich rówieśników miałem komputer dość wcześnie, to jakby dobrze policzyć to czekałem na komputer kilka lat. Tata – mgr inż. elektronik pracujący wtedy chyba w serwisie JVC na Chmielnej (nota bene – Hackroom122 mieści się kilkadziesiąt metrów od tego miejsca) dostawał czasem przez znajomych wyjeżdżających do RFNu i w dalsze rejony jak do UK magazyny o elektronice. Gdzieś na początku lat 80tych, w jednym z nich zobaczyłem o dziwo w mojej pamięci kolorową reklamę Sinclair ZX 81, który – pomimo kosmicznej ceny na polskie warunki był w stosunku do innych komputerów tani.

Dość długo myślałem, że ten przełomowy dla mnie magazyn i reklama musiały być z 1982 roku albo wcześniejszy – bo w tym właśnie roku debiutował ZX Spectrum – a ZX81 to wcześniejszy model, ale w trakcie zbierania różnych materiałów trafiłem na materiały reklamowe (w tym wytyczne dla sprzedawców) kampanii 1983 roku, gdzie pojawia się w promocyjnej cenie zestaw ZX81. Kampania trwała do Bożego Narodzenia 1983 roku – więc zakładam, że nawet z opóźnieniem dostania od kogoś takiego magazynu – był to maksymalnie początek 1984 roku. Na pewno była kolorowa – i chociaż bardziej pasuje mi pamięciowo ta druga z powyższych (to jest to reklama Timex 1000 czyli amerykańskiego klona ZX81) to nadal zastanawiam się, którą z nich widziałem.

Pamiętam mój zachwyt – wow, komputer, i do tego jaki tani (wystarczyło by porównać cenę 99GBP do cen komputerów domowych z tamtych czasów – Commodore 64 kosztował w chwili debiutu (1982) ok. 600 USD, ceny pozostałych komputerów, których modele człowiek widział albo słyszał o nich czyli Atari 400/800 albo Apple II – były w stosunku do tego astronomiczne. Pamiętam do dzisiaj rozmowę z moim tatą – i jego prosty argument – zobacz, to jest coś okrojonego, ten komputer nie wydaje dźwięków ani nie pokazuje kolorowego obrazu. Tata z właściwym inżynierowi sposobem argumentowania zabił wizję ZX81. To był zbyt prosty komputer. Ale nie powiedział nie. Był jak to nadal mówi “pokoleniem kalkulatorów”, w jego młodości wow robił kalkulator kosztujący pensję czy więcej. To co nadeszło – komputery – było poza jego marzeniami z młodości.

Czas do czerwca 1986 roku spędziłem na… jęczeniu rodzicom na temat tego jak bardzo chciałbym mieć komputer, zapełnianiu zeszytów pseudokodami gier w BASICu i rysowaniu w zeszytach w kratkę i na papierze milimetrowym jakichś kształtów. To było chyba na tyle wyjątkowe, że rodzice z babcią zlitowali się. Padła decyzja że kupujemy – ale wybór był dość średni. Wiem, że przez jakiś czas tata starał się zdobyć więcej informacji – to musiało być przed wypuszczeniem Bajtka – i nie ma co owijać w bawełkę – była posucha informacji na temat komputerów domowych. W 1985 roku była już Giełda Bajtka na Grzybowskiej, co trochę ułatwiło sprawę rekonesansu, tylko tata nie był przekonany do tego, żeby kupować komputer (nawet nowy) z drugiej ręki, od handlarza. Dodatkowo akurat w tym czasie zbiegły się jakieś większe wydatki rodzinne i temat został przełożony “na przyszły rok”, byłem niepocieszony, ale to nie były łatwe czasy, trzeba było zrozumieć i przyjąć na klatę wiele rzeczy.

Czy jesteście sobie wyobrazić, że nie znaliśmy wtedy nikogo, kto miał komputer domowy? Dzisiaj kupując komputer można się poradzić znajomych, rodziny, na fejsie, w sklepie. Wtedy – to była sytuacja abstrakcyjna, szczątkowe wiadomości o komputerach, o ich awaryjności, możliwościach etc. Era Bajtka dopiero nadchodziła – co więcej – pierwsze numery Bajtka niewiele pomogły w wyborze 🙂 Miesięczników poświęconych komputerom w zasadzie nie było – jakieś pojedyńcze wzmianki w pismach typu Młody Technik czy raczkujący potem w Sztandarze Młodych Bajtek. W Stanach Atari 800XL reklamował Alan Alda znany m.in. z serialu M.A.S.H. a u nas po prostu jak statek z kosmosu komputer wylądował do sprzedaży w sieci Pewexu i Baltony.

W czerwcu 1986 roku wreszcie pojawiło się w domu Atari 800XL. Już trochę traciłem nadzieję, że dostanę komputer, ale rodzice – znając moje “maniactwo” chyba czekali też na dobry moment – dostałem go tuż przed wakacjami (więc w bezpiecznym dla mojej edukacji momencie). Chyba była to też nagroda za pierwsze miejsce na olimpiadzie z historii (na pierwszy etap poszedłem, bo zwalniali z lekcji – a potem jakoś poszło, lubiłem czytać i lubiłem historię). Pamiętam, że Atari wtedy to był towar mocno deficytowy, do Pewexu trafiały partie rzutami, znikały równie szybko co meble w salonie meblowym przy Mazowieckiej. Dodatkowo – powstało małe zamieszanie – równolegle z rozważanym przez tatę Atari 800XL pojawiły się Atari 130XE, który to model kosztował dużo więcej, zbyt dużo na nasz budżet. Postanowiliśmy zaczekać tydzień-dwa i polować na 800XL.
– Tato, ale dlaczego Atari?
– Bo ma gwarancję i serwis w Polsce.

Ciężko było mi z tym dyskutować. To były racjonalne argumenty plus… to nie były moje pieniądze. 80,5 tys. zł odpowiadało bodajże 115 USD po jakimś tam złodziejskim przeliczniku. Nigdy wcześniej nie widziałem tylu pieniędzy na stole, to była kupa kasy, nawet w wymiarze fizycznym. To były jakieś trzy pensje mojej mamy. Nie wiem jakim cudem moja babcia nazbierała 50 tys. zł, resztę dołożyli moi rodzice.

Początkowo nastawialiśmy się na upolowanie w chyba największym (i pierwszym) Pewexie, który mieścił się na ul. Stawki w budynku Intraco, ale okazało się, że trafienie tam na Atari w tym okresie to byłby cud. Wtedy chyba ktoś ze znajomych zadzwonił i dał cynk tacie, że na Świętojerskiej (dzisiejszy Rossman przy Sądach) w Pewexie są Atari 800XL. Wsiedliśmy w naszego 126p made in Italy i pojechaliśmy po mój pierwszy komputer. Jeżeli bywają w życiu przełomowe i istotne momenty to był chyba ten – moment, kiedy dostałem swój pierwszy komputer.

Nie wiem czy jest to na tyle jasne – po sam komputer. Bez magnetofonu. Bez joysticków. Bez stacji dysków (kosztowała 199 USD – prawie dwa razy więcej niż sam komputer!!!). Przez kilka pierwszych dni komputer podłączaliśmy pod czarno-biały telewizor jaki mieliśmy. Imponujące 26 cali czerni i bieli z odcieniami i smużeniem 🙂

Rodzice bardzo szybko zorientowali się, że trzeba mi udostępnić inny telewizor – najpierw przejąłem wakacyjno-turystyczny telewizor UNITRA WZT TWM-315, a potem dostałem swój osobisty monitor do pokoju Telewizor Vela 202, który mój tata przerobił (pominął tor telewizyjny i zrobił mi po prostu wejście “monitorowe” – a wszystko to efekt tego, że komputer był rozstawiony nonstop, ponieważ nie mając magnetofonu praktycznie go nie wyłączałem.

Pierwsze tygodnie spędziłem na wpisywaniu listingów skąd popadnie i wściekaniu się dlaczego coś nie działa. Trochę pomogła nabyta kserówka książki Atari BASIC. Nie działało, bo wpisywałem swoje “programy” pisane na sucho, w bliżej nieokreślonej logice programowania oraz dialekcie BASICa – myślę, że była to mieszanina BASIC’a jaki dostał ZX Spectrum oraz BBC BASIC. Wtedy to dotarło do mnie, że wylądowałem na planecie Atari, a pozostałe komputery są z kompletnie innych planet. Oczywiście nie przeszkadzało mi się spotykać u kolegów i grać na ZX Spectrum czy VIC-20, nawet z jednym z kolegów pożyczaliśmy sobie wzajemnie – ja pożyczałem od kolegi ZX Spectrum i zachwycałem się ilością fantastycznych gier o tytułach o których wszyscy atarowcy tylko śnili, a kolega, mający brata – był zachwycony, że nie musi walczyć o komputer i że może jednocześnie z bratem, razem, grać w gry na komputerze. W sumie jakbyśmy wtedy zamienili się na komputery – to byłby optymalny deal. Jedna i druga strona dostała by to, o czym w głębi serca wtedy marzyła.

Rodzice zlitowali się wtedy nade mną trzykrotnie. Po pierwsze – po pierwsze zmontował mi interfejs pośredniczący pomiędzy Atari a zwykłym magnetofonem. Pamiętam jak dzisiaj wtyczkę SIO odlaną z żywicy. Wreszcie mogłem wczytać programy z dołączonej kasety – pamiętam, że były to szachy (CHESS) i jeszcze jakaś kaseta z prostymi programami w BASICu – te ostatnie nie zrobiły już wrażenia, byłem po kilku tygodniach wpisywania wszystkiego co znalazłem, więc na dołączonej kasecie nie było nic bardziej efektownego niż Wąż i inne gry jakie już “przerobiłem”. Niestety NRDowski magnetofon chyba szybko wyzionął ducha i po wakacjach 1986 rodzice zlitowali się po raz drugi – i dostałem firmówkę – Atari XC12, przekleństwo każdego właściciela – ale wtedy to było moje spełnienie marzeń. Mogłem nagrywać i odtwarzać co chciałem.

Od września 1986 byłem stałym bywalcem Giełdy Bajtka, aż do jej końca. Nie handlowałem tam jak wielu moich równieśników, ale praktycznie co dwa tygodnie byłem, aby sprawdzić, co pojawiło się na Atari, niestety ten żart “na Atari nie ma” był prawdziwy – większość tytułów figurujących na topie listy gier z Bajtka była na Commodore 64 i ZX Spectrum, z rzadka pojawiało się coś dostępnego na Atari – co nie oznacza, że nie było fajnych gier, były – rozpoczęła się dla mnie fantastyczna przygoda, odrywająca mnie niejednokrotnie na wiele późnych wieczorów i nocy.

Rodzice oczywiście nie pozwalali mi na takie rzeczy, ale jak to nastolatek znajdywałem sposoby – na klawiszach funkcyjnych kładłem książkę zasłaniającą świecącą na czerwono diodę zasilania, monitor wyłączałem wyciągając cicho wtyczkę z kontaktu, bo przycisk na sprężynie mógł mnie zdradzić.

Klimat towarzyszący giełdom komputerowym w formie wywiadów z jej bywalcami próbowali odtworzyć twórcy kanału Loading – przy czym, realia omawiane na filmie są trochę późniejsze niż 1986 rok.

Trzeci temat nazywa się joystick*. Kosztował wtedy nie mało – i był zdecydowanie poza budżetem. A poza tym – ja go chciałem jak najszybciej. Tata zlitował się i… zrobił mi joystick. Bardzo żałuję, że nie zachowałem go – chyba poleciał do śmieci gdy wymieniałem joysticki na firmowe Quickshoty, a było w nim mistrzostwo radzenia sobie w tamtych czasach. Tata zrobił mi go… z drążka hamulca ręcznego z malucha. Pręt drążna wchodził w łożysko, przymocowane do jednej płaszczyzny obudowy, wychylenia rejestrowały microswitche będące “piękro niżej”. W przekroju podstawa była trapezem równoramiennym, zrobiona z kawałków kątowników aluminiowych i dwóch kawałków drewna. I teraz najważniejsze – był to najbardziej kultowy i przeklinany joystick wśród moich kolegów. Nikt nie chciał grać ze mną w Decathlon, bo wiadomo było że grając nim wygram. Rączka joysticka była na tyle ciężka, że wystarczało trzymać za podstawę i lekko nią bujać, a rączka sama “klikała”. Wiele bym dał, żeby dostać go znowu w swoje ręce. Takie rzeczy nabierają wartości sentymentalnej niestety zwykle jak się je utraci.

Gdzie ten Action!? To dopiero na horyzoncie. Na Action! musiałem poczekać do czasów “turbo”. Niestety miałem Action! w formie jakiejś spiraconej wersji przeniesionej z dyskietki na taśmę – czyli podwójnie odgrzany kotlet. Nie bardzo coś działało, chociaż bardzo starałem się nadążyć za kursem Wojtka Zientary. Nota bene – patrząc dzisiaj na materiały, który były dołączane do Action! oraz które były publikowane na zachodzie mam nieodparte wrażenie, że zapożyczenie tutaj zawartości było dość duże – ale to taka cecha tamtych czasów.

Przygoda z Action! była niestety krótka. Coś nie działało. Nie było książek pod ręką, sam kurs z Bajtka i Mojego Atari to było za mało na mój apetyt – wtedy w drugiej połowie lat 80tych wygrał u mnie Turbo BASIC XL. Działał lepiej i miałem go na pirackim karcie z Turbo magnetofonowym.

I tak po ponad 30 latach siadłem ponownie przed ekranem, włączyłem Action! i napisałem:

PROC welcome()
PrintE(“Action! I’m back.”)
RETURN

SHIFT-CTRL-M, C, [RETURN], R, [RETURN]

Dalej będzie tylko trudniej. A co się stało z Atari? W 1993 roku zamieniłem się na kamerę pogłosową – potrzebowaliśmy do sali prób, a w wieku 19 lat priorytetem był zespół i granie muzyki/nagrywanie płyty. Jakie to były pieniądze? Wtedy wartość mniej więcej 250 zł, dzisiaj za atarynkę w pudle, z kartem, magnetofonem, kasetami, książkami etc. w takim stanie jak sprzedawałem zapłacił bym pewnie 4x więcej.

* temat joysticka jeszcze wróci.

ZX Spectrum 128k +2 UK sn 045779

Saturday, February 25th, 2017

Model: ZX Spectrum 128k +2 UK sn 04577
Year made: 1986/week 43
Serial number: 045779
From: UK
Status: all working
Collection: IN COLLECTION
Mods: –

Nothing fancy apart this one is issue 1 board and UK made (comparing to Taiwan made that were made after short run of UK made of this model).

This slideshow requires JavaScript.

ZX Spectrum 128k +3

Saturday, January 28th, 2017

Model: Sinclair ZX Spectrum 128k +3
Year made: 1987
Serial number: –
From: UK
Status: all working
Collection: IN COLLECTION
Mods: temporary I have installed inside 3,5″ drive and then Gotek HxC drive

Many mistake in one fact: this is not latest model (made by Amstrad after buying Sinclair company). Actually this is the correct order of black series made by Amstrad under name Sinclair:
– ZX Spectrum 128 +3
– ZX Spectrum 128 +2A (made for Spanish market – still having +3 ROM and place on PCB to connect internal floppy drive)
– ZX Spectrum 128 +2A (still having +3 ROM and place on PCB to connect internal floppy drive)
– ZX Spectrum 128 +2B (cut down mainboard and different ROM)

Interesting that serial numbers were on stickers.

zxspectrum128kplus3-01