Zum Inhalt springen

ZX Spectrum Emulator [Enterprise]

Enterprise - ZX Spectrum Emulator
Enterprise – ZX Spectrum Emulator Nachbau

Der Spectrum Emulator für die Enterprise Rechner war die am meisten erwartete Hardware für den (leider) erfolglosen Rechner. Heute ist die Hardware sehr selten und meist auch sehr teuer.

Als damals die Enterprise Recher verkauft wurden, gab es nur wenig Software auf dem Markt. Die Werbung versprach einen Emulator mit dem hunderte Programme des Sinclair Spectrum genutzt werden können.

Die Benutzer warteten weiter und das Gerät erschien nicht….es gab nur Berichte….diese versprachen das baldige Erscheinen. Nach langer Zeit….endlich! Der Emulator war in den Läden!
Viele Benutzer aber sagten: „Das ist eine Enttäuschung….“
Die ursprüngliche Version des Emulators hatte viele Fehler. Die Benutzer verstanden nicht warum, da die Entwickler viel Zeit hatten….Die Entwickler-Firma „a“ Studio nahm keine Stellung zu den Beschwerden der Benutzer.

„a“ Studio kümmerte sich bei dem Projekt um die Software und Videoton um die Hardware. „a“ Studio war eine Softwarefirma in Ungarn und schrieb viele Titel für den Enterprise – z.B. Attores, Magicball, Enter_Stack, Enter_Ball, Fire, Eggs of Death, Permo Lift, Reversi und Dama Awari

Videoton ist ein großer ungarischer Konzern der ungefähr 1945 gegründet wurde und alles von Waffen und Munition bis hin zu Autoradios, Computenr und Motoren produzierte und sogar eine Fußballmannschaft sponserte bzw. besaß.

Mit der angeschlossenen Bus-Erweiterung und dem Emulator erschien der Enterprise 128 wie ein Spectrum und erlaubt es praktisch alles zu machen außer das spezielle Flash Attribut. Die Namen ‚a‘ Studio und Sinclair sind gleich lang, so das der Name (C) Sinclair Research im Startbildschirm leicht ausgetauscht werden konnte.
Auch die Tastatur ist angepasst worden. Wie findet man aber die Spectrum-Tasten? Es gibt einen Hilfsbildschirm – einfach die Funktionstasten 1-7 des Enterprise im Spectrum BASIC drücken.
Der Emulator benötigt viel Strom, daher sollte der Original Emulator mit einem Enterprise Netzteil betrieben werden und nicht mit einem Standard-Spectrum Netzteil, da dieses zu schwach ist und nach 20 Minuten praktisch zu schmelzen beginnt 🙂 Nur mit einem Spectrum +2 Netzteil ist man auf der sicheren Seite.

X Spectrum Emulator 2016 - Gehäuse Oberseite
X Spectrum Emulator 2016 – Gehäuse Oberseite

Was sind die Fehler/Probleme im Original?
– ist der Emulator angeschlossen, kann der Enterprise nicht als Enterprise benutzen werden. Um zum Enterprise Modus zurückzukehren musste der Emulator abgesteckt werden. Das war nicht gut für die Verbindungen…
– der Emulator kann nicht mit EXDOS verwendet werden
– Joysticks können nicht in Spielen verwendet werden (intern oder extern)
– die Tastaturumsetzung hat viele Fehler, an vielen Stellen sind Tasten einfach „tot“ oder eine Taste wird als „zwei“ Tasten  erkannt….
– wenn ein Programm den Interrupt Modus verwendet, hängt es sich auf…viele Spiele verwenden den IM2…
– das Flash-Attribut wird gar nicht emuliert: in vielen Programmen kann der Cursor nicht gesehen werden

Das Original ROM des Emulator hat die ROM-Version 3.5

Später machte sich ein findiger Bastler an die Arbeit und versuchte zu verstehen wie das Board funktioniert und dachte sich, das viele der Fehler korrigiert werden können. Also behob er einige Fehler der Hardware und schrieb ein neues ROM: Version 4.0
Die gelösten Probleme:
– der Computer arbeitet wie ein normaler Enterprise, der Emulator ist nun eine normale EXOS ROM-Erweiterung. Der Spectrum-Modus kann mit dem „ZX“ Befehl gestartet werden.
– wenn ein Bus-Extender zum Anschließen von mehr als einer Karte an den Erweiterungs-Anschluss zur Verfügung steht, kann der Emulator zusammen mit EXDOS verwendet werden (Floppy und nun SD-Karte)
– die Tastatur-Emulation wurde komplett erneuert und arbeitet nun richtig
– es können Joysticks verwendet werden! Internal+ALT: Cursor/AGF/Protek; External1: Sinclair1/Interface II, links, External2: Sinclair2/Interface II
– IM-Modus wird erkannt und verarbeitet
– FLASH wird als invertierte Farbe emuliert, das reicht aus den Cursor im Programm zu sehen
Extras:
– die Laden-/Speichern-Routinen verwenden EXOS, so dass Programme von Diskette geladen werden können
– zusätzliches SCOPY Hilfprogramm im ROM zum Kopieren von Spectrum Kassetten in normale EXOS-Dateien
– Snapshot Laden-/Speichern-Funktionen
– POKE Funktionen

Das Original hat die Bezeichnung ISS1, die modifizierte Version ISS2. Nun kommen wir zu Version ISS3. Das ist die am meisten erweiterte Version aus dem Jahr 2005.

ZX Spectrum Emulator 2016 Setup
ZX Spectrum Emulator 2016 Setup

Als 2005 in England jemand den Spectrum Emulator nachbauen wollte, wurde ein Plan gezeichnet, wobei wieder ein großer Hardware-Fehler gefunden wurde. Der Fehler ist sehr technisch und hat etwas mit der Fähigkeit der Platine zu tun den NMI per Software ein- und ausschalten zu können….
Für die Version ISS3 gab es auch ein neues ROM: Version 4.1
Es wurde auch die Möglichkeit hinzugefügt .TAP und .TZX Dateien laden zu können. Für ROM 4.2 ist die Unterstützung von .Z80 Dateien geplant.

Beim ISS3 wurde außerdem das Verlassen des Spectrum Modus gegenüber ISS2 geändert. Der RESET-Knopf ist auch ein Reset beim Spectrum. Zum Verlassen des Spectrum-Modus, muss die STOP- und Reset-Taste gleichzeitig gedrückt werden.

Da inzwischen beim Spectrum mit den Spiele-Engines die Möglichkeiten weiter fortgeschritten sind, gibt es neue Einschränkungen. Dies betrifft vor allem die Engines Bifrost/Nirvana usw. Alle Spiele die damit die Attribute durch Pixelzeilen ändern funktionieren nicht, da die Attribut-Umsetzung vom Emulator erledigt werden muss wenn ein Attribut geschrieben wird. Dies verlangsamt den Emulator und er verliert das Bild-Timing.

Bus Bridge
Bus Bridge

Der Nachbau des ZX Spectrum Emulators den ich von Pear erhalten habe, verwendet die erste Kopie mit der Englischen Version des ROMS (früher immer in Ungarisch)! Zum Betrieb wird auch noch der Nachbau der Bus Bridge benötigt. Diese stellt die Verbindung zwischen Enterprise und dessen Erweiterungen her. Beide Geräte erhielt ich zusammen mit selbst gedruckten Gehäusen. Es gibt auch eine Version des Emulator-Boards in der die Bus Bridge bereits integriert ist.

Befehl zum Laden eines Spiels:

:zx spiel.tap

Im Prinzip sollte das funktionieren – im Moment (April 2017) aber leider nicht direkt mit der SD-Karte. Nach dem Laden wird ein „Kassetten-Lade-Fehler“ angezeigt. Aber auch dafür gibt es einen Weg, wie mir ein Benutzer des Enterprise-Forum auf meine Nachfrage verriet 🙂

Wenn die Daten von der RAMDISK geladen werden funktioniert der Emulator. Nun ist die Frage wie man eine RAMDISK beim Enterprise einrichtet…..Davor aber noch die Einschränkung, das mehr als 128K Speicher zu Verfügung stehen sollten, wenn mehr als zwei Spiele in die RAMDISK sollen.

Bus Bridge - Gehäuse Oberseite
Bus Bridge – Gehäuse Oberseite

Der Befehl (diese Info steht in der EXDOS-Bedienungsanleitung).
RAMDISK N /D
Dabei ist N die Anzahl der 16KB Einheiten die der RAMDISK zugeordnet werden und mit dem Schalter „D“ wird eine bereits vorhandene RAMDISK gelöscht.
RAMDISK 10
Dieser Befehl erstellt eine RAMDISK mit 160K (RAMDISK 20 = RAMDISK mit 320K usw). Das Laufwerk ist immer „E“.

Nun müssen die Spectrum TAP-Dateien einfach auf die RAMDISK kopiert werden. Damit das nicht direkt in Arbeit ausartet, hat der Benutzer „gflorenz“ aus dem Forum eine Batch-Datei erstellt, mit der das etwas einfacher gestaltet werden kann.

1. WP starten um eine Batchdatei zu erstellen
2. Inhalt der Datei:
:cls ; löscht den Bildschirm
:echo Erstelle Ramdisk E: ;Ausgabe zur Info am Bildschirm
:ramdisk 20 /d ;erstellt eine Ramdisk mit 320K
:vol e: SP Ramdisk ;falls man den Namen des Laufwerks anpassen will
:copy c:\*.tap E:\ ; kopiert alle TAP-Dateien aus dem Verzeichnis in die Ramdisk
:E: ;wählt die Ramdisk als aktives Laufwerk aus

Danach können die Spiele wie oben beschrieben gestartet werden

Ein schöner Nachbau der originalen Hardware mit vielen Verbesserungen, aber auch kleinen Einschränkungen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert