9.8.2005  Christian Corti

Kurzanleitung zum LGP30-Simulator - Version 1.70
------------------------------------------------

1. Dateien
----------
Der Simulator besteht im Wesentlichen aus dem Hauptprogramm LGP30SIM.EXE.
Zustzlich existieren Unterverzeichnisse mit der Endung .TRM, in denen
"Schnappschsse" des Trommelinhalts abgelegt sind. Im Simulator knnen diese
angefertigt und abgerufen werden.

LGP30SIM.EXE	Hauptprogramm
LOCHSTR/	Verzeichnis mit den Lochstreifen-Dateien fr den LGP-30
START.TRM/	Verzeichnis mit dem Trommelinhalt "START", 9.0 (Bootstrap)
		und 10.4 (Monitor) sind bereits auf der Trommel.

2. Start
--------
Im Verzeichnis mit den Simulatordateien einfach LGP30SIM starten. Es erscheint
daraufhin der Konsolenschirm. Beim Aufruf des Simulators knnen bei Bedarf
weitere Optionen mit der Kommandozeile bergeben werden. Diese sind:
  /?	Optionen anzeigen

  /S	Aktiviere serielle Konsole
  	Damit wird die Ein-/Ausgabe des simulierten Flexowriters auf eine
	serielle Schnittstelle umgeleitet. Die Start-Taste am Flexowriter
	wird durch BREAK (z.B. BREAK-Taste an einem V.24-Terminal) simuliert.
  	Die Syntax lautet:
	/S:port,baud,par,bits,stop
	port: Nummer des COM-Ports (0, 1, 2, 3)
	baud: Baudrate (z.B. 9600)
	par:  Paritt (N=keine, E=gerade, O=ungerade)
	bits: Anzahl Datenbits (7 oder 8)
	stop: Anzahl Stopbits (1 oder 2)

  /P	Aktiviere Ausgabe auf Drucker
  	Die Ausgabe des simulierten Flexowriters wird nach PRN (dem
	Standarddrucker unter DOS) geschickt. Die Eingabe erfolgt weiterhin
	mit der Tastatur am Rechner.
	Syntax:
	/P:1

  /L	Langsame Simulation
  	Hiermit wird die Ausfhrungsgeschwindigkeit des Simulator ungefhr
	auf die reale Verarbeitungsgeschwindigkeit des LGP-30 gesetzt.
	Selbst auf einem 4,77 MHz 8088 System ist die Simulation deutlich
	schneller wie das Originalsystem.

  /Z	Lsche Default-Trommelinhalt
  	Die Trommel ist beim Starten des Simulators komplett gelscht und
	enthlt nicht den Zustand des letzten Simulatorlaufs.

3. Bedienung
------------
Nach dem Start erscheint als Erstes der Konsolenschirm des Simulators. Die
Konsole ist in mehrere Bereiche unterteilt:

- Status (erste Bildschirmzeile)
  Hier wird der momentane Zustand des Simulators dargestellt, folgende sind
  mglich:
  HALT - Ausfhrung ist angehalten
  RECHNET - Programm bzw. Befehl wird gerade ausgefhrt
  BERLAUF - Ausfhrung wurde wegen eines berlaufs im Akkumulator angehalten
  EINGABE - Programm erwarten Eingabe vom simulierten Flexowriter (Tastatur)

  Zustzlich erscheint auf der linken Seite beim Einlesen eines Lochstreifens
  (von Datei) 'LESEN', beim Schreiben dementsprechend 'SCHREIBEN'.

- Registeranzeige (rechts oben)
  Die Registeranzeige entspricht der Anzeige auf der Oszilloskoprhre beim
  LGP-30. Es sind zu sehen: Befehlszhler, Befehlsregister und Akkumulator.
  Direkt darunter ist die Maske fr Befehl, Spur und Zelle angedeutet.
  Links neben der Maske steht der Befehl, der sich momentan im Befehls-
  register befindet, in disassemblierter Form; bei leerem Register daher
  Z 0000.

- Betriebszustand (links oben)
  Mit den angegebenen Tasten kann der Betriebszustand gendert werden, der
  aktuelle Zustand ist dabei hervorgehoben. Man kann zwischen Normalbetrieb,
  Einzeloperation und Eingabe von Hand umschalten. Im dritten Modus lt
  sich dabei nach Drcken der Return-Taste etwas in den Akkumulator eingeben,
  wobei entweder 4-Bit oder 6-Bit Eingabe erfolgt, abhngig vom Status der
  Taste "6-Bit Eingabe".

- Speicherauszug (mitte)
  Im Feld Speicherauszug lt sich der Inhalt der Trommel darstellen. Es
  werden dabei immer 8 Zellen angezeigt. Links der bitweisen Darstellung
  steht dabei die Adresse der Zelle in der Form [Spur, Zelle], wiederum
  links davon der Befehl, der in der Zelle steht (siehe Maske).
  Mit Hilfe der Cursortasten kann man innerhalb der Trommel navigieren.
  Die Tastenbelegung steht dabei als Hilfe am linken Bildschirmrand.

- Konsolentasten (am unteren Bildschirmrand)
  Die Tasten des LGP-30 sind mit den Tasten F1 bis F10 realisiert. Analog zum
  LGP-30 haben nur Tasten, die hell beschriftet sind, im momentanen Betriebs-
  zustand eine Funktion.
  
Die Ausgabe des Flexowriters erfolgt auf einem zweiten Schirm, auf den mit
der Tastenkombination Alt-F2 gewechselt werden kann. Ebenso erscheinen dort
alle Eingaben ber die Tastatur. Zur Konsole gelangt man mit Alt-F1.

Eines der wichtigsten Programme auf dem LGP-30 ist das Programm 10.4, mit dem
sich weitere Programme einlesen lassen oder mit dem man Programme assemblieren
kann (mit Adreumwandlung). Zu diesem Zweck wurde bereits ein Schnappschu
der Trommel mit geladenem 10.4 angefertigt, welches den Namen START trgt.
Dieser wird mit Strg-L geladen. Analog dazu lt sich mit Strg-S die gesamte
Trommel inkl. Register speichern.

Die Bedienung des Simulators wird weiter unten anhand eines Beispiels
erlutert werden.

4. Tastenkrzel
---------------

Alt-F1	Darstellung der Konsole auf dem Schirm
Alt-F2	Darstellung der Flexowriter Ein-/Ausgabe auf dem Schirm
ESC	Simulator beenden (nach vorheriger Rckfrage), bzw.
	Eingabe in den Akkumulator vorzeitig beenden (nur whrend EINGABE)

Strg-L: Trommelinhalt laden
	Als Name der Trommel darf nur der eigentliche Name ohne die Endung
	.TRM angegeben werden.
Strg-S: Trommelinhalt speichern
	Fr den Namen gilt dasselbe wie oben. Der Name wird um die Endung
	.TRM ergnzt und ein Unterverzeichnis erstellt, worin sich dann
	zwei Dateien befinden: REGS.MEM und TROMMEL.MEM.

Alt-E:  Umschaltung der Eingabe
        Mgliche Eingabequellen sind:
	Tastatur (T)
	Datei (D), darin sollte sich der Inhalt eines Lochstreifens befinden.
	Die Option Lochstreifen (L) funktioniert nur mit spezieller Hardware
	und kann daher nicht benutzt werden.
Alt-O:	Umschaltung der Ausgabe
	Mgliche Ausgabegerte sind:
	Bildschirm (S), mit Alt-F2 zu sehen
	Datei (D), damit kann die Ausgabe in eine Datei umgelenkt werden.
	Fr die Option Lochstreifen gilt das gleiche wie im Absatz darber.
Alt-T:	Trace
	Bei eingeschalteter Trace-Funktion werden alle Befehle, die ausgefhrt
	werden, in eine Datei mitgeloggt, zusammen mit den Registerinhalten.

N	Normal
	Dies ist der normale Betriebsmodus des LGP-30.
E	Einzeloperation
	In diesem Modus wird bei Drcken von Start der jeweils nchste
	Befehls ausgefhrt.
H	Eingabe von Hand
	In diesem Modus kann ber die Tastatur eine Eingabe in den Akkumulator
	erfolgen. Mit <RETURN> wird die Eingabe begonnen, danach wird sie mit
	<ESC> beendet.

F1	Start
F2	Zhler lschen - der Befehlszhler wird auf Null gesetzt.
F3	Befehl eingeben - der Inhalt des Akkumulators wird in das
	Befehlsregister bertragen.
F4	Befehl ausfhren - der aktuelle Befehl im Befehlsregister wird
	ausgefhrt.
F5..F8	Kein Halt - Dies sind die bedingten Breakpoints, die in einer
	Anwendung abgefragt werden knnen.
F9	6-Bit Eingabe - Statt mit 4 Bits erscheint jedes Zeichen bei der
	Eingabe mit seinem vollen 6-Bit Code im Akkumulator.
F10	Sprung - Bedingter Sprung, der mit Hilfe des -T Befehls abgefragt
	werden kann.

Die Tasten F5 bis F10 funktionieren auch, whrend der Simulator eine Eingabe
erwartet.

A. Beispiel
-----------
bersetzung des Programms Mondlandung mit Hilfe des ACT-V Compilers und
anschlieendem Start.
Es werden dabei folgende Lochstreifen (jeweils als Datei auf dem Rechner
abgelegt) bentigt: ACT-V Compiler, ACT-V Basic Subroutines, Quelltext der
Mondlandung, Wurzel-Unterprogramm.

1. Laden der Trommel mit bereits eingelesenem 10.4
   Strg-L -> start <return>
   Wie oben bereits erwhnt nur "start" eingeben, nicht z.B. "start.trm".

2. Einlesen des ACT-V Compilers
   Alt-E -> D <return> -> lochstr\act5 <return>
   
   Die Anzeige "Eingabe von Tastatur" ndert sich zu "Eingabe von Datei".
   Wird die Datei nicht gefunden, wird dies mit einem kurzen Ton mitgeteilt
   und die Anzeige ndert sich nicht.

   Danach:
   N (Umschaltung in den Normalmodus)
   F1 (Start)

3. Einlesen der ACT-V Basic Subroutines
   Alt-E -> D <return> -> lochstr\act5bs <return>
   E (Einzeloperation)
   F2 (Zhler lschen, d.h. 10.4 neu starten)
   N (Normal)
   F1 (Start)

4. bersetzung des Quellprogramms
   Alt-E -> T <return>  (Umschalten auf Eingabe von Tastatur)
   E
   F2
   N
   F1

   Hier erwartet 10.4 eine Eingabe von der Tastatur (EINGABE oben rechts
   blinkt), in diesem Beispiel mu der Compiler gestartet werden. Hierzu
   bitte eingeben:
   .0002000
   F1

   Der Simulator hlt gleich wieder an (HALT), denn jetzt mssen einige
   Breakpoints ("Kein Halt") gesetzt, auf 6-Bit Eingabe umgeschaltet und
   der Quelltext lesebereit gemacht werden. Daher:
   F7
   F8
   F9
   Alt-E -> D <return> -> lochstr\mondl <return>
   F1

   Jetzt wird das Quellprogramm eingelesen und bersetzt. Am Ende der ber-
   setzung wird die Symboltabelle ausgedruckt.
   HINWEIS: Nicht vergessen, gegebenenfalls mit Alt-F1 und Alt-F2 zwischen
   den Bildschirmen umzuschalten. Dies funktioniert auch, whrend der Simulator
   rechnet.

5. Einlesen des Wurzel-Unterprogramms
   In der Symboltabelle erkennt man, da das Label s000 (= letzte Codeadresse)
   bei 1042 liegt. Diese Information brauchen wir, um einen Platz fr die
   Wurzel zu finden. Geeigneterweise wird sie nach 1045 geladen.

   F7, F8, F9  (Tasten wieder zurcksetzen)
   Alt-E -> T <return>
   E, F2, N, F1  (10.4 neu starten)

   Folgendes jetzt eingeben:
   ;0001045
   F1
   /0001045

   WICHTIG: Hier jetzt die Eingabe mit ESC vorzeitig beenden.

   Alt-E -> D <return> -> lochstr\wurzel <return>
   F1
   Alt-E -> T <return>

6. Zu guter Letzt: Starten der Mondlandung
   E, F2, N, F1

   Eingeben:
   .0000300
   F1, F1

   So, und nun viel Spa bei der Mondlandung!
   (Nicht vergessen: Immer Vorzeichen bei der Eingabe von Zahlen eingeben!)

Wenn man die Mondlandung immer wieder spielen mchte, sollte man sich den
Trommelinhalt sichern, so da man in Zukunft nur noch den Inhalt laden und
mit F1 die Simulation starten mu.
Dazu sollte man folgendes vor oder nach Punkt 6 tun:
E, F2, N, F1

Eingeben:
.0000300
F1

Strg-S -> [Dateiname, z.B. MOND] <return>
(Namen ohne Endung eingeben!)

Beim nchsten Start des Simulators wird die Mondlandung wie folgt gestartet:
Strg-L -> [Dateiname, s.o.] <return>
N
F1

