Ser2d-Simulator
===============

             SER2d simulator version 0.8  
             Copyright (C) 2006 Klaus Taeschner and Frank Reglin

             SER2d simulator is free software; you can redistribute it and/or modify 
             it under the terms of the GNU General Public License as published by the 
             Free Software Foundation; either version 2, or (at your option) 
             any later version.

             SER2d simulator is distributed in the hope that it will be useful, but
             WITHOUT ANY WARRANTY; without even the implied warranty of
             MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
             See the GNU General Public License for more details.

             You should have received a copy of the GNU General Public License
             along with SER2d simulator; see the file COPYING.


Installation und Start des Simulators
-------------------------------------
Das Programm läuft unter Windows 2000 und Windows XP und wurde für
folgenden Bildschirmauflösungen getestet:
   1280 *1024
   1024 * 768
    960 * 600
    800 * 600 - notfalls, man muss etwas scrollen

Es gibt kein Installationsprogramm, stattdessen reicht es,
einfach die Files in ein beliebiges Verzeichnis zu kopieren.

Start des Programmes durch Aufruf von 
ser2d.exe

Es wird das Runtime-System von MS Developer Studio 8 benötigt.
Falls dieses auf dem PC noch nicht installiert ist erhält man
beim Start von ser2d.exe eine Fehlermeldung.
In diesem Fall kann das Runtime-System durch Aufruf von
vccrt.msi
installiert werden. Danach sollte sich ser2d.exe starten lassen.

Dateien
-------
ser2d.exe                   - der Simulator
vccrt.msi                   - Installationspaket des C-Runtimesystems von MS Developer Studio 8
SER2d.ppt                   - kurze Beschreibung als Powerpoint-Datei
lb1.logar.prog.txt          - Beispielprogramm Logarithmustabelle - Befehle
lb2.logar.data.txt          - Beispielprogramm Logarithmustabelle - Konstanten
lb1.wurzel.prog.txt         - Beispielprogramm Quadratwurzel - Befehle
lb2.wurzel.data.txt         - Beispielprogramm Quadratwurzel - Konstanten
lb1                         - Kopie von lb1.logar.prog.txt
lb2                         - Kopie von lb2.logar.data.txt
readme.txt                  - diese Datei
COPYING                     - Lizenz



Benutzung des Simulators
------------------------
siehe auch SER2d.ppt !

Nach dem Start von  ser2d  sieht man oben die Konsole und unten die "Schreibmaschine".
Nun müssen zunächst "Lochbänder eingelegt" werden, d.h. den Lochbandlesern LB1 und
LB2 müssen existierende Dateien zugeordnet werden. Die Defaultdateinamen sind lb1 bzw.
lb2, deswegen werden Dateien dieser Namen mitgeliefert. Über das Dateimenü lassen sich 
auch andere Dateien zuordnen.
Hinweis: Die bereit-Lampe leuchtet beim Einschalten nur auf, wenn beide Lochbanddateien
existieren.

In jedem Fall werden über LB1 die Befehle und über LB2 die Konstanten eingelesen (anders 
als im Original-SER). 
Das Format der Dateien entspricht den Programmformularen; Leerzeichen spielen keine Rolle.
(Statt Textdateien können auch Binärdatein verwendet werden.)

Die Bedienung erfolgt im Prinzip so wie beim Original. Einschalten sowie Einlesen und
Starten eines Programmes sind auf der vorletzten Folie von SER2d.ppt kurz beschrieben.
Nicht vergessen jeweils Befehle und Konstanten einzulesen.

Das Logarithmus-Programm gibt eine Tabelle der natürlichen Logarithmen aus; ganz am Anfang
des Programmablaufes hält das Programm an und man muss auf "Start" drücken, damit es richtig 
losgeht (dient im Original dem Einlegen einer neuen Seite in die Schreibmaschine).

Das Wurzelprogramm wartet auf die Eingabe einer Zahl über die Zehnertastatur (Abschließen mit "Start")
und gibt diese und deren Quadratwurzel aus.

Ein paar Abläufe:
~~~~~~~~~~~~~~~~~
Einschalten des Rechners
 Mit "Ein/Aus"schalter einschalten -> "Bereit" leuchtet
 "Lampfeld" einschalten
 
Lochbandeingabe von Befehlen (LB1) oder Konstanten (LB2)
 "Lo_Tr" einrasten
 Lochband einlegen = über Menü Datei öffnen
 "Bef_Eing" oder "Konst_Eing" einrasten
 "LB_ein" liest das Lochband ein (bis Datei-Ende)
 "Lo_Tr" und "Bef_Eing" bzw. "Konst_Eing" ausrasten
 "GL" löscht nun die Lampem "Warten" und "LB-KONTR"

Internes Programm starten
 "Pr_ein" startet das Programm
 Normalerweise müsste vorher noch die Startadresse eingegeben
 werden, der Simulator verwendet automatisch die erste Adresse
 im Programm als Startadresse.

Schrittweise Abarbeitung
 "Prüf" drücken, vor jedem Befehl muss eine der "Start"-Tasten 
 gedrückt werden.

Eingeben einer Zahl nach <R>
 "Eing_ein" drücken
 Zahl über die Zehnertastatur eingeben
 "Eing_aus" übernimmt die Zahl nach <R>
 Davon kann man sich z.B. durch "Lö_AC", "Add", "Ausg" überzeugen.

Funktionierende Tasten:
~~~~~~~~~~~~~~~~~~~~~~~
"Ein/Aus"   - was man erwartetn würde
"Lampfeld"  - "Strom" für Prüflampen einschalten
"Lo_Tr"     - "Lochband" kann nur eingelesen werden, wenn Taste gedrückt
"Bef_Eing"  - wenn gedrückt können Befehle eingegeben werden
"Prüf"      - Warten vor jedem Befehl, Abarbeitung nach "Start"
"Kom_Eing"  - Funktionszusatz (Kommastelle) kann über Zehnertastatur eingegeben werden
"Konst_Eing"- wenn gedrückt können Zahlen eingegeben werden
"Pr_aus"    - ausschalten der Programmabarbeitung
"Start"     - nächsten Befehl abarbeiten bzw. Ende Der Eingabe von der Zehnertastatur
"Ausg"      - Ausgabe <Ac> -> Schreibmaschine
"Div"       - Division
"Mul"       - Multiplikation
"Sub"       - Subtraktion
"Add"       - Addition /für all OPs: 
"Eing_aus"  - Übernahme der Zahl aus der Zehnertastatur nach <R>
"LB_ein"    - Star der "Lochband"-Eingabe
"Pr_ein"    - einschalten der Programmabarbeitung
"GL"        - löscht WARTEN (wenn durch Lochbandende), LB_KONTR und LB_ein
"Loe_AC"    - 0 -> <Ac>
"Eing_ein"  - Zehnertastatur in Normalmodus schalten

Lampen:
~~~~~~~
Prüflampen
 oben       Adresse des nächsten Befehls oder der Adresse, die gerade über
            die Zehnertastatur eingegeben wird (wenn im Adressmode)
 unten      Befehlsregister

Kontrolllampen
 BEREIT     leuchtet wenn eingeschaltet (und die 4 Dateien existieren)
 WARTEN     Befehl mit Warteindex oder Lochbandende
 LB-KONTR   Lochband am Ende 
 RW-KONTR   Überlauf im <Ac> oder Pseudotetraden in <R> oder <Ac> (geht noch nicht)

           
Lochbandformate
~~~~~~~~~~~~~~~
"Interne Befehle" - Folgen von 14 Tetraden, 
  Befehle von links nach rechts + Adresse 

"Interne Konstanten" - Folgen von 14 Tetraden, 
  Zahlen in interner Darstellung von links nach rechts + Adresse 

