Pico ZX Spectrum
Sentyment do ośmiobitowych, starych komputerów stał się powodem do wysypu projektów umożliwiających stworzenie ich nowych – współczesnych – wersji. Część z nich jest próbą odtworzenia w pełni funkcjonalnych „klonów”, przy użyciu układów TTL ( np.:ZX Spectrum Harlequin), część z nich to urządzenia wykorzystujące układy FPGA (np.: ZX-UNO), a ostatnio coraz częściej spotykamy się z software`ową implementacją tego typu urządzeń na łatwo dostępnych i tanich płytkach – najczęściej Raspberry Pi.
Taki właśnie projekt budowy ZX Spectrum 48K/128K na bazie RPi Pico – czyli płytki za kilkadziesiąt PLN – opublikowano na GitHub – https://github.com/fruit-bat/pico-zxspectrum/tree/main
Urządzenie bardzo proste w budowie i uruchomieniu, a załączona na powyższej stronie dokumentacja daje spore możliwości implementacji swojej wersji, która może bazować również na innych płytkach bazowych i może być wyposażona w różne peryferia (audio, joystick, wyjście HDMI/VGA, czytnik kart microSD itp.).
Poświęciłem ostatnio nieco czasu i skonstruowałem zmodyfikowaną wersję emulatora ZX Spectrum, bazującej na opracowaniu https://github.com/fruit-bat/pico-zxspectrum/blob/main/docs/ZxSpectrumPicomputerZxLcd.md która posiada zintegrowaną klawiaturę, wyświetlacz LCD, audio (w formie małego głośnika), czytnik kart pamięci microSD, gniazdo USB umożliwiające podłączenie zewnętrznej klawiatury, oraz dwóch małych Joystick`ów (do wykorzystania w niektórych grach – tam gdzie da się to zdefiniować). Dołożyłem też mały wzmacniacz na TDA2822 sterujący głośniczkiem 1W.
Po wyposażeniu urządzenia w autonomiczny układ zasilania – bateria LiPo ze starego laptopa, wraz z układem ładowania i przetwornicą Step-Up, powstał mobilny ZX Spectrum.
Komputerek zachowuje się wyjątkowo stabilnie, jak do tej pory wszystkie gry, które testowałem, działały poprawnie, a jedno ogniwo o pojemności ok 3000mA pozwala na kilka godzin pracy.
Zastosowany wyświetlacz LCD to kompromis, bo użyłem największego (rozmiarami) jaki udało mi się znaleźć, a który bazuje na kompatybilnym z software`em kontrolerze ST7789. Jego mały rozmiar jest pewnym mankamentem, ale nie jest tragicznie … Wszystko jest czytelne i da się na nim grać.
Moja konstrukcja składa się z trzech PCB:
- Płyta główna (1,2 mm)
- Płyta tylna z układem ładowania i baterią (1,2 mm)
- Płyta czołowa/maskownica (1,0 mm) z opisami.
Ponieważ zależało mi na minimalnej odległości maskownicy od płyty głównej, konstrukcja została tak zaprojektowana, aby wszystkie elementy nie wystawały ponad jej powierzchnię więcej niż 2mm (taka jest odległość pomiędzy MB a TOP). Jeśli któryś element nie spełniał tego warunku został przylutowany do warstwy Bottom na płycie głównej. Dzięki temu wszystkie przyciski, wyłączniki, sterowniki wystają ponad maskownice w takie sposób aby można z łatwością z nich korzystać.
Poniżej galeria zdjęć (przepraszam za jakość niektórych z nich – jak zrobię lepsze fotki, to wrzucę nową).