ZX Matrix Reloaded

Wie eine ZX81 Emulator Cartridge das Laufen lernt.

Vor etwa 1.5 Jahren habe ich eine interessante Internet Seite gefunden, ein Typ namens Paul Farrow hat einen ZX81 Emulator für den ZX Spectrum+128 geschrieben auf Basis einer selbstgebastelten Interface 2 Cartridge. Das Interface 2 ist ein Erweiterungsmodul für den ZX Speccy welches ein Joystick Interface und einen Cartridge Rom Slot mitbringt.

Ich habe nach Paul's Bauplan eine Cartridge gebaut, und ein EPROM gebrannt. In meinem 32K Eprom haben Paul's ZX81 und ZX80 Emulatoren beide Platz, in den oberen 16K der ZX80 und in den unteren der ZX81. Ein kleiner Schalter macht ein Umschalten zwischen beiden Emulatoren möglich. Das Ding war schnell gebaut, ein Stück Patine von einer AT-BUS Prototyp-Platine aus den Conrader Restposten war dafür perfekt. Es gab nur ein Problem, das verdammte Ding wollte einfach nicht laufen!

Ich habe die Verdrahtung mehrfach geprüft, andere EPROMs probiert, nix lief. Ich war am Rande des Wahnsinns. Ich habe viel kompliziertere Dinge gebaut und die liefen alle ohne größere Probleme. Zur dieser Zeit lernte unsere zweite Tochter Ciara das Krabbeln. Von diesem Moment an habe ich keine Zeit gehabt für schone ZX Stunden. Mein Hobby liegt einfach brach und damit auch meine (nicht funktionierende) Cartridge. Und so blieb es bis kurz vor dem diesjährigen Treffen. Es ist mir eingefallen, daß Manfred D. so eine Cartridge erfolgreich gebaut hat. Ich habe ihn gebeten, seine Cartridge mitzubringen, damit ich ein Cross-check machen konnte. Bereits am Freitag Abend haben wir das Problem gefunden. Ein (angeblich) durchkontaktiertes Loch im meiner Platine war keines! Und somit hat eine Diode von einem aus Dioden gebauten ODER Gatter die für die Addressdekodierung verantwortlich war, ihre Arbeit nicht erledigen können.

Schnell behoben, lief das Ding, ich habe auch gleich Manfreds EPROM gekopiert, weil seine Version des Emulators neuer war als meine. Jetzt konnte ich ein paar Sachen probieren: Das Laden von echten ZX81 Kassetten sollte möglich, bei meinem ZX Spectrum+2 klappte das in vielleicht 5% der Versuche. Mit einem geborgten Spectrum+2 (danke an Dieter Hucke!) klappte das viel besser, etwa 70%. Sogar große anspruchsvolle Spiele liefen ohne Problem, ich war begeistert! Der ZX80 Emulator ist auch ganz toll, leider habe ich keine ZX80 software gehabt um das auch zu probieren.

Ein Geschwindigkeitstest gegen einen echten ZX81+Memotech 16K Erweiterung gab folgende Resultate:
10print 0;
20goto 10
RUN bis der Bildschirm voll ist.
ZX81 etwa 8 Sekunden im SLOW Mode - Emulator etwa 5 Sekunden im SLOW Mode
Beide im FAST Mode gab identische Zeiten von etwa 2 Sekunden.
Der gleicheTest mit einem echten ZX81 gegen einen emulierten ZX80 (ZX81 im FAST Mode) gab das folgene Resultat: der ZX80 war bei diesem Test etwa 4 mal langsamer als der ZX81! Trotz seines einfacheren ROMs.

Ich habe jetzt eine Matrix von ZX Computern (4 auf einmal, ZX80, ZX81, ZX Spectrum und ZX Spectrum+128) realisiert, und das nach 1.5 jähriger Pause, also ein echtes 'Reloaded' Erlebnis. Aber das Herrlichste ist im ZX81 Mode die tolle +2 Tastatur!

Also noch mal einen Riesendank an Manfred D., ohne Deine Hilfe hätte ich nicht so ein erfolgreiches ZX-Team Treffen gehabt!

Philip