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