WDRSIM
Simulation des WDR-Computers
Das Programm simuliert die Hardware des WDR-Computers auf dem Bildschirm
beliebiger CP/M-Computer oder MS-DOS Maschinen.
Der Befehlssatz des WDR-Computers wird dabei vollstaendig emuliert.
Zur Simulation der I/O-Leitungen des WDR-Computers ist eine entsprechende
Interfacesteuerung implementiert.
Nach dem Programmstart erscheint das Hauptmenue des WDR-Simulators.
Die Kennbuchstaben sind analog zum Hauptmenue in Turbo-Pascal gewaehlt.
< W > Name ( Workfile )
< E > Bearbeiten ( Edit )
< L > Laden ( Load )
< C > Uebersetzen ( Compile )
< R > Starten ( Run )
< S > Speichern ( Save )
< L > Laden ( Load )
< P > Drucken
< H > Hilfe
< I > Interface
< Q > Beenden ( Quit )
Die drei Punkte
, und sind zusaetzlich aufgenommen.
: Vor der Arbeit mit dem WDR-Simulator muss ein gueltiger Dateiname
mit maximal 8 Buchstaben gewaehlt werden. Die Extension .WDR wird
automatisch vergeben. Wenn die Datei auf der Diskette existiert,
wird sie automatisch geladen.
: Es steht hier ein einfacher Texteditor mit 256 Zeilen
zur Verfuegung, der aehnlich wie der Editor in Turbo-Pascal bedient wird.
Cursorbewegungen:
mit den Pfeiltasten bei MS-DOS-Maschinen.
Der Editor arbeitet immer im Einfuegemodus
Einfuegen von Zeilen:
^N : Zeile ueber dem Cursor
Return : Zeile unter dem Cursor
Loeschen:
^G : Loescht das Zeichen auf der Cursorposition
Backspace : Loescht das Zeichen links vom Cursor
^Y : Loescht die Zeile, in dem der Cursor steht
Verlassen des Editors mit ^KD
: Uebersetzen und Pruefen des Programms.
Bei einem Syntaxfehler wird eine Meldung ausgegeben. Beim naechten
Bearbeiten des Programmtextes steht der Cursor am Anfang der
fehlerhaften Zeile.
: Uebersetzt und startet das Programm, sofern es fehlerfrei ist.
: Speichert den augenblicklichen Arbeitstext auf der Diskette.
Falls der Text schon auf der Diskette vorhanden ist,
wird dieser vorher in name.BAK umbenannt.
: Laedt den gewaehlten Programmtext von der Diskette.
: Druckt den aktuellen Arbeitstext ueber den Drucker aus.
: Gibt diesen Hilfstext auf dem Bildschirm aus.
: Schaltet die Interface-Steuerung ein bzw. aus, falls eine
Interfacesteuerung auf der Maschine vorgesehen ist.
Zur Zeit bei IBM-kompatiblen Rechnern und dem Apple.
: Beendet den Programmlauf.
Nach dem Start eines WDR-Computer-Programms erscheinen auf dem Schirm die
Bedienungselemente des WDR-Computers, mit den Anzeigeleuchtdioden fuer
Takt, Ergebnisregister, Datenleitung, Eingabeleitungen, und Ausgabeleitungen.
Die Schalterstellungen der Eingangsschalter und die Taktarteinstellung
werden ebenfalls angezeigt.
Zusaetzlich zu den Anzeigeelementen des Originals werden noch der Befehl und die
Adresse im Klartext ausgegeben und der Inhalt des OEN- bzw. des IEN-Registers
angezeigt.
Im Handtaktbetrieb kann das Programm durch Druecken der akt Taste
weitergeschaltet werden und die Zustaende der Anzeigeelemente Schritt fuer
Schritt beobachtet werden.
In Einstellung Langsamtakt ist die Geschwindigkeit durch die
Bildschirmausgabe beschraenkt. Zur besseren Beobachtung kann die
Geschwindigkeit weiter vermindert werden.
Falls die Interfacesteuerung abgeschaltet ist, ist der Schnelltakt sinnlos
und das Programm arbeitet mit Langsamtakt.
Bei eingeschalteter Interfacesteuerung wird das Schirmbild nicht aktualisiert,
sodass die Geschwindigkeit ausreicht, Maschinenmodelle zu steuern, wie beim
original WDR-Computer.
Auch bei Interfacesteuerung koennen die Eingaenge mit den Tasten 1..4
gesetzt werden, zum Testzwecken, normalerweise sollten sie aber auf O stehen.
Die Interfacesteuerung ist vorgesehen fuer den Anschluss des DATANorf-
Interfacesystems.
Anschluss bei IBM-kompatiblen Rechnern ueber den Druckerport
auf der Ausgabeadresse 888 und der Eingabeadresse 889.
Falls die Maschine andere Druckerport-Adressen haben sollte, koennen
die beiden Adressen in der Textdatei 'IOPORT.ADR' geaendert werden.
Am Apple wirde der Gameport verwendet.
Benutzte Abkuerzungen:
ER : Ergebnisregister
D : Datenleitung
E : Eingang
A : Ausgang
- : Negation
Der Befehlssatz des WDR-Computers:
NOPO No Operation,
LD Load, E -> ER
LDC Load Complement, -E -> ER
AND And, D AND ER -> ER
ANDC And Complement -D AND ER -> ER
OR Or D OR ER -> ER
ORC Or Complement -D OR ER -> ER
XNOR Exklusiv-Nor D = ER -> ER
STO Store ER -> A
STOC Store Complement -ER -> A
IEN Input enable ER -> IEN-Register
OEN Output enable ER -> OEN-Register
SKZ Skip on Zero bei ER = 0 naechsten Befehl ueberspringen
JMP Sprung zum Programmanfang
Es gibt die Ein- Ausgabeadressen 0, 1, 2, 3, 4, 5, 6, 7.
Die Eingaenge 5,6,7 sind mit den Ausgaengen 5,6,7 verbunden, als Datenspeicher.
Format des Programmtextes:
Eine korrekte Eingabezeile besteht aus dem Opcode und einer Adresse,
mit einer Leerstelle getrennt. Fuehrende Leerstellen koennen zur
Strukturierung des Textes verwendet werden.
Leerzeilen sind erlaubt. Kommentare werden mit '*' gekennzeichnet und sind
sowohl am Anfang einer Zeile als auch hinter einer vollstaendigen
Programmanweisung moeglich.
NOPO, JMP und SKZ erfordern zur korrekten Schreibweise eine beliebige Adresse.
Gross- oder Kleinschreibung spielen keine Rolle.
z.B.
LD 2 * Lade Eingang 2