Część 6 - 80K na pokładzieZe swojej strony mógłbym zakończyć opis klona na tym etapie i zapomnieć o leżącej odłogiem połowie pojemności układów górnej pamięci. Projektując Timmy'ego postanowiłem te dodatkowe 32K RAM jakoś zagospodarować, a historia ma swój początek we wczesnych latach 90-tych. Będąc nastolatkiem, i po ukazaniu się artykułów w Bajtku o rozbudowie ZX Spectrum do 80K oraz kilka miesięcy poźniej po przeczytaniu drugiej części o łatwym rozszerzeniu Timexa o dodatkowe 32K, zacząłem kompletować części. W owym czasie miałem już PCta, więc zabawa w przeróbki przestarzałego i leżącego na dnie szafy komputera wydawała się dziecinnie prosta. W myśl hasła: "Mam lutownicę i nie zawaham się jej użyć" dokonałem dzieła zniszczenia. Owa zabawa skończyła się źle dla mojego TC2048, który umarł i został porzucony przez mnie na strychu na ponad dwie dekady (
https://www.speccy.pl/forum/index.php?topic=2803.msg40211).
Projektując i budując Timmy'ego wróciły szczenięca marzenia. Skoro teraz mam chęci i odrobinę umiejętności, to dlaczego nie mam ich spełnić. Odkopałem Bajtka, po raz n-ty przeczytałem oba artykuły i przeniosłem logikę na schemat Timmy'iego. Faktycznie proste i w tym rozszerzeniu pokładałem jakieś niesprecyzowane nadzieje.
Dla dociekliwych rozbudowa ZX Spectrum do 80K była opisana na łamach Bajtka nr 9-10/90. W numerze 11-12/90 Bajtka zajdnduje się opis przeróbki Timexa. Autorem obu artykułów był p. Stanisław Winiecki (STAVI). Muszę dodać, rozbudowa zaproponowana przez STAVI nie jest jedyną a jedną z kilku. W okolicy roku 1983, w Wielkiej Brytanii firma East London Robotics sprzedawała przystawki 80K do ZX Spectrum Issue 1 o nazwie
SP80.
Od strony sprzętowej aby uruchomić dodatkowe 32K należy:
- usunąć wcześniej wykonaną zworkę pomiędzy pomiędzy sygnałami A0 i BNK,
- zamontować wszystkie brakujące elementy z serii 200 (prawy dolny róg płytki),
- zworkę JP200 pozostawić w pozycji otwartej.
Po montażu sprawdzamy czy nie popełniliśmy błędu lub zwarcia i włączamy komputer. Jedyną zmianą do stanu poprzedniego jest świecąca się dioda BK0. Uruchamiając ROM diagnostyczny, zostanie on wykonany tak samo jak poprzednio, ponieważ nie obsługuje stronnicowania bloków 32K na porcie 255 (0xFF). Pozostaje nam samodzielne przetestowanie tę funkcjonalność wykonując poniższy progam w BASICu:
10 CLEAR 32767
20 POKE 50000,121
30 OUT 255,32
40 POKE 50000,212
50 OUT 255,0
60 PRINT PEEK 50000
70 OUT 255,32
80 PRINT PEEK 50000
90 OUT 255,0
Po jego wykonaniu na ekranie powinniśmy zobaczyć dwie liczby: 121 i 212, które zostały zapisane i następnie odczytane z komórki pamięci o adresie 50000. Każda z tych liczb jest przechowywana pod tym samym adresem w oddzielnym banku pamięci. Dokładny opis działania programu jest w Bajtku, więc nie będę wnikał w szczegóły.
Od strony wizualnej po wydaniu komendy OUT 255,32 dioda BK0 zgaśnie, a zaświeci się BK1, wskazując drugi bank 32K jako aktywny. Fajny bajer? I tak, i nie, ponieważ wykorzystanie portu 255 (0xFF) do przełączania banków jest niefortunnym rozwiązaniem w przypadku Timexa. Koliduje ono z przełączaniem trybów graficznych. Dowolne demo, które przełącza tryby graficzne Timexa oraz wystawia 1 na szóstym bicie na szynie danych (D5=1) spowoduje zawieszenie komputera przy włączonych 80K. Aby wyłączyć całe rozszerzenie, wystarczy włożyć zworkę JP200 i Timmy zachowuje się normalnie, tak jak przystało na komputer z 48K RAM.
Po chwilowym zauroczeniu znajomością z 80K, mogę stwierdzić, że jest i działa, ale jest one zupełnie nieprzydatne. Może 30 lat temu, miało ono sens. Współcześnie na rynku są dostępne klony 128K i nie kosztują równowartości dwóch rocznych pensji. To rozszerzenie jest echem przeszłości i ciekawostką przyrodniczą.
Na tym kończę powieść w odcinkach, a wznowienia oraz sezonu drugiego nie planuję.
"To już jest koniec, nie ma już nic
Jesteśmy wolni, możemy iść ..."