conference logo

Playlist "Vintage Computing Festival Berlin 2022"

Inside Z8671 oder wie passt ein BASIC-Interpreter-System in 2048 Byte?

Volker Pohlers

Der Z8671 ist ein Einchip-Mikrorechner von 1978 aus der Z8-Familie von Zilog. In seinem 2048 Byte großen ROM steckt ein kompletter BASIC-Interpreter mit Editor, 15 BASIC-Kommandos, 16-Bit-Ganzzahlarithmetik, Punkt-vor-Strich-Rechnung, Hexadezimalzahlen, Direktzugriff auf Register und Speicher, Autostart, List, automatischer RAM-/ROM-Konfigurierung, Fehlerbehandlung und vieles andere mehr. Wie passt sowas alles in 2 KByte? Eine aufwändige Reassemblierung des ROMs ergab: Das BASIC selbst ist in einer eigenen Codesprache geschrieben und nur 432 Byte groß! In Z8-Code ist ein Interpreter für diese Codesprache enthalten, sowie Initialisierung und In-/Out-Code. Im Vortrag geht es um die Analyse des ROMs und die dabei gewonnenen Erkenntnisse. Ein komplett dokumentiertes Listing des BASICs sowie weitere Unterlagen gibt es auf meiner Homepage.