Spectrum Simulator

Aus C64-Wiki
Wechseln zu: Navigation, Suche
Spectrum-Simulator
Startbildschirm Spectrum Simulator
Entwickler David Tindale
Verleger Whitby Computers
Release 1985
Lizenz Vollversion, seit 2007 Public Domain
Plattform(en) C64
Genre BASIC-Implementierung
Steuerung Icon tastatur.png
Medien Icon kassette.png
Sprache(n) Sprache:englisch

Der Spectrum Simulator ist eine Implementierung des BASIC des ZX Spectrum für den C64. Das Programm wurde im Jahr 1985 von der Firma Whitby Computers veröffentlicht.

Funktionsumfang[Bearbeiten]

Der Spectrum-Simulator wurde zum Preis von DM 49,50 auf Kassette geliefert, und enthielt den kompletten BASIC-Befehlssatz des Sinclair ZX Spectrum mit Interface 1. Die beigelegte, 20-seitige englische Anleitung erläuterte den BASIC-Dialekt jedoch nur in groben Zügen. Für nicht mit dieser BASIC-Variante vertraute Anwender war daher die Anschaffung zusätzlicher, Spectrum-spezifischer Literatur unumgänglich, um sinnvoll damit programmieren zu können.
Mit implementiert wurde die Syntaxprüfung der Zeileneingabe des Spectrum, es wurde also jede Befehlszeile nach Drücken der Eingabetaste direkt auf Fehler geprüft und ggf. eine Fehlermeldung in Form eines blinkenden Fragezeichens an der fehlerhaften Position ausgegeben.
Die Verwendung originaler Datenträger des ZX Spectrum war aufgrund angepasster Aufzeichnungssysteme möglich. Ebenfalls eingebaut wurde die Ansteuerung der Commodore-Floppy 1541 zur Speicherung von Programmen auf Diskette. Die 1541 oder ein IEC-Doppellaufwerk wurde hierbei wie ein am ZX Spectrum angeschlossenes Microdrive-Bandlaufwerk behandelt und mit den dafür vorgesehenen Kommandos angesprochen. Waren mehrere 1541 verfügbar, konnten damit theoretisch bis zu 4 Microdrive-Doppellaufwerke emuliert werden.

Bedienung[Bearbeiten]

SpectrumSimulatorBox+Tape.png

Der Spectrum-Simulator entsprach in Bedienung und Design dem Vorbild, d.h. es wurde wie beim ZX Spectrum eine Bildschirmdarstellung von 32 Zeichen pro Zeile in schwarzer Schrift auf weißem Grund verwendet. Wie auch beim Vorbild wurden BASIC-Befehle nicht komplett über die Tastatur eingegeben, sondern jeder Befehl einer Taste zugewiesen und durch Drücken derselben aufgerufen. Ebenfalls dem Original entsprechend mussten somit alle Tasten mehrfach mit Befehlen belegt werden, zu deren Aufruf die jeweilige Taste dann entweder alleine, oder aber in Kombination mit den Tasten SHIFT  bzw. C=  gedrückt werden musste. Zur Erläuterung dieses für Commodore-Besitzer ungewohnten und zunächst verwirrenden Eingabesystems war ein zweiseitiges, über F7  aufzurufendes Hilfemenü integriert, welches die Tastenbelegungen umfassend erläuterte. Das Menü konnte während der laufenden BASIC-Programmierung an beliebiger Stelle aufgerufen und wieder verlassen werden.
Insbesondere auch die für Grafik- und Soundverarbeitung vorgesehenen Befehle waren vollständig funktionsfähig und erleichterten die entsprechende Programmierung gegenüber dem BASIC V2.0 des C64 ungemein, so dass hierfür grundsätzlich keinerlei POKE-Befehle mehr notwendig waren. Hierbei ist jedoch zu bedenken, dass dem ZX Spectrum nur ein einfacher, unmodulierter Tonkanal zur Verfügung stand. Abgesehen von entsprechend einfachen Pieptönen ist daher keine umfangreichere Soundprogrammierung mit dem Spectrum-Simulator möglich.

BASIC-Befehle[Bearbeiten]

Mit F7 konnte der komplette Befehlssatz...

Folgende BASIC-Befehle sind im Spectrum Simulator enthalten:
BEEP, BORDER, BRIGHT, CAT, CIRCLE, CLEAR, CLOSE#, CLS, CONTINUE, COPY, DATA, DEF FN, DELETE, DIM, DRAW, ERASE, FLASH, FOR TO, FOR TO STEP, FORMAT, GO SUB, GO TO, IF THEN, INK, INPUT, INVERSE, LET, LIST, LLIST, LOAD, LOAD DATA, LOAD CODE, LOAD SCREEN$, LPRINT, MERGE, MOVE, NEW, NEXT, OPEN#, OUT, OVER, PAPER, PAUSE, PLOT, POKE, PRINT, RANDOMIZE, READ, REM, RESTORE, RETURN, RUN, SAVE, SAVE LINE, SAVE DATA, SAVE CODE, SAVE SCREEN$, STOP, VERIFY

Bugs[Bearbeiten]

INK 9 → Absturz
PAPER 9 → Absturz

Einschränkungen[Bearbeiten]

...auf 2 Hilfeseiten angezeigt werden.

Aufgrund der stark unterschiedlichen Hardware, insbesondere der anderen CPU (MOS 6510 anstatt Zilog Z80) und Speicherorganisation beider Computer, war die Ausführung von Maschinenspracheanteilen mit Ausnahme von POKE der Systemvariablen nicht möglich. Weiterhin benötigte das Programm selbst einigen Speicherplatz, so dass letztendlich noch ca. 30 KByte freier Speicher für die BASIC-Programmierung zur Verfügung standen.
Zwar wurde der komplette Befehlssatz des ZX Spectrum implementiert, jedoch war der Befehl BRIGHT, welcher beim ZX Spectrum eine von zwei Helligkeitsstufen des verwendeten Farbtons definiert, auf dem C64 hardwareseitig nicht anwendbar und somit ohne Funktion.
Es handelt sich bei dem Programm also keinesfalls um einen Emulator, welcher hardwareseitig auf dem C64 nicht realisierbar wäre. Vielmehr ist der Spectrum-Simulator als alternativer BASIC-Dialekt zu verstehen, welcher interessierten Selbstprogrammierern einen Einblick in die Möglichkeiten der BASIC-Programmierung des ZX Spectrum vermittelt, und in begrenztem Umfang die Ausführung entsprechender Programme ermöglicht. Insbesondere die zur damaligen Zeit sehr populären Listings zum Selbstabtippen, die in vielen zeitgenössischen Computerzeitschriften veröffentlicht wurden, stellen daher eines der Hauptanwendungsgebiete für den Spectrum Simulator dar, und eröffnen dem BASIC-Anwender auf dem C64 neue Betätigungsfelder. Eine weitergehende Emulation des ZX Spectrum war jedoch weder vorgesehen, noch technisch machbar.

Literatur[Bearbeiten]

Weblinks[Bearbeiten]