HSG |
|
Die Eingabe eines längeren Maschinenprogramms mit Hilfe der Kippschalter ist ein Geduldsspiel und erfordert eine hohe Konzentration. Mit Hilfe der parallelen Schnittstelle und geeigneter Programme geht das auch leichter!
Das Bonsai-Operationswerk erlaubt, durch ein write-Signal den Inhalt des Datenbusses in den Speicher einzulesen. Der PC liefert im Handbetrieb die dazu notwendige Adresse. Der PC wiederum kann durch ein incPC-Signal zum Weiterzählen gebracht werden. Es ist also ein Peripherie-Gerät zu konstruieren, das von einem Datenträger, z.B. einem Papierstreifen, fortlaufend die Daten liest und passend das write- und das incPC-Signal erzeugt. Wer baut so einen 'Bonsai-Papierstreifen-Leser'? Bis es soweit ist soll das Gerät durch einen Computer simuliert werden.
Centronics-Schnittstelle PC Bonsai-Computer Pinnummer 25-pol. D-Sub-Stecker 20-pol. Bandkabel (13) (25) (12) (24) (11) (23) (10) (20 -- Masse) 22 ------------------------------------------------------ 19 -- Masse 9 --------------------------------- D7 -------------- 18 21 ------------------------------------------------------ 17 -- Masse 8 --------------------------------- D6 -------------- 16 20 ------------------------------------------------------ 15 -- Masse 7 --------------------------------- D5 -------------- 14 19 ------------------------------------------------------ 13 -- Masse 6 --------------------------------- D4 -------------- 12 18 ------------------------------------------------------ 11 -- Masse 5 --------------------------------- D3 -------------- 10 (17) (9 -- Masse) 4 --------------------------------- D2 -------------- 8 16 -------+ gelb (7 -- Masse) 3 --------------------------------- D2 -------------- 6 (15) | (5 -- Masse) 2 --------------------------------- D0 -------------- 4 14 ----+ | (3 -- Masse) (1) | | (2 -- Masse) | | (1 -- Masse), rote bzw. blaue Markierung | | | | einzelne Litzen | | +-------- grün --------- Auto-Feed --------------> Klips --> Write +----- gelb --------- Init -------------------> Klips --> IncPc
Mit Hilfe des Moduls PyParallel von Chris Liechti lässt sich die parallele Schnittstelle nutzen. Dazu muss das Modul lp entladen und das Modul ppdev geladen werden. Außerdem muss der Benutzer Mitglied in der Gruppe lp sein.
mk@T41:~$ sudo modprobe -r lp [sudo] password for mk: mk@T41:~$ sudo modprobe ppdev mk@T41:~$ sudo adduser mk lp Der Benutzer »mk« ist bereits ein Mitglied der Gruppe »lp«.
Leider funktioniert das setup-Programm von Herrn Liechti noch nicht mit python 3.1. Auf Kosten der Plattform-Unabhängigkeit kann man unter Linux die angepasste Datei ppdev.py verwenden. Das Programm bin2hard.py greift darauf zurück. Die Ausgabe sieht folgendermaßen aus:
BONSAI-Hardware programmieren ============================= Vorbereitungen: ┌───────────┐ ┌───────────┐ ┌───────────┐ │ Speicher │ │ PC │ │ Befehle │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │■ │ │ │ │ │ │■ │ │ │ │■ │ grün ───┼■ │ │ │ │■ │ │■ │ │ │ gelb─┼■ │ └───────────┘ └───────────┘ └───────────┘ ┌───────────┐ ┌───────────┐ ┌───────────┐ ────────┼┬┐ Akku │ │ Ein/Takt │ │ Steuerwerk│ Band- │││ │ │ Reset │ │ │ kabel │││ │ │ │ │ │ ────────┼┴┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ o─ Hand│ │ │ │ │ │Schalter │ │ │ │ │ │nach rechts│ │ │ └───────────┘ └───────────┘ └───────────┘ 1. Steuerwerk/Hand-Schalter auf Hand stellen 2. Bandkabel an 'Akku' stecken 3. grünes Kabel an write-Signal von 'Speicher' (2. von unten) 4. gelbes Kabel an incPC-Signal von 'Befehle' (ganz unten) 5. Reset-Taste drücken Dateiname: divmod.bin Adresse Datum ================= 00000000 11110111 00000001 10000011 00000010 10000111 00000011 01110111 ....
Die gesendeten Daten werden auch auf der Konsole ausgegeben, sodass man am Schluss den Stand des PC mit der letzten Adresse vergleichen kann. Da der PC nach jeder Ausgabe inkrementiert wird, muss er um Eins höher sein als die letzte Adresse. Beim Abnehmen der Kabel entstehen leicht Fehler. Daher sollte vorher der Bonsai-Rechner abgeschaltet werden. Das Programm bleibt ja dank Zero-Power-Ram erhalten.
Leider hat sich noch niemand an die Anpassung für Python 3.1 gemacht.
Das kleine DOS-Programm 'bin2hard.exe' ( bin2hard.zip - nach dem Laden in bin2hard.exe umbenennen, bin2hard.pas - TP5.5-Quelltext) kann nützliche Dienste erweisen. Das Programm muss unter DOS (z.B. mit Diskette booten) laufen, weil direkt auf die Druckerschnittstelle zugegriffen wird. Ein Test mit einem modernen ACER-Laptop, das mit einem externem USB-Laufwerk gebootet wurde, verlief erfolgreich.