Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision |
homecomputer:bert [2020/06/22 07:22] – [Downloads] volkerp | homecomputer:bert [2022/05/10 13:00] – [Mini-Assembler] volkerp |
---|
Die Buchstaben von BERT stehen für "**B**asic **E**inplatinen **R**echner für **T**V-Serie" . | Die Buchstaben von BERT stehen für "**B**asic **E**inplatinen **R**echner für **T**V-Serie" . |
| |
| |
| **Nachbau** |
| |
| Von Firma shotech können Leiterplatten und ganze Bausätze für einen Nachbau bezogen werden: |
| https://www.shotech.de/de/z8-basic-einplatiencomputer-rev-03.html |
===== Systembeschreibung ===== | ===== Systembeschreibung ===== |
| |
</code> | </code> |
| |
==== Kommandos ==== | ==== Kommandomodus ==== |
| |
| Mit dem BASIC/DEBUG-Befehl "GO@%1018" wird der Kommandomodus gestartet. Statt Basic übernimmt eine eigene Kommandoroutine die Kommunikation. |
| Man kann mit einem Terminalprogramm (z.B. TeraTerm) die BERT-Kommandos interaktiv ausprobieren. Oder ein PC-Steuerprogramm kommuniziert mit BERT, indem die BERT-Kommandos mit PRINT #2"..." gesendet werden. Mit INPUT#2 werden Werte gelesen. |
| |
| Das Buch Kapitel 4 bis 7 arbeitet auf letztere Weise- PC-BASIC-Programme kommunizieren mit BERT, indem sie über Kanal 2 ASCII-Zeichen senden bzw. empfangen. |
| |
Im Kommandomodus werden Kommandos als ASCII-Zeichenketten an BERT gesendet. Ein Kommando wird mit ENTER (0Dh) abgeschlossen. Zahlen werden als Dezimalzahlen übertragen. Die Befehle sind alle gleich aufgebaut: Buchstaben benennen den Port, eventuell gefolgt von einer Bit-Nummer (z.B. 'C3', oder aber eine Abkürzung des Kommandos ('M'). Der Befehl wird mit **=** oder **?** abgeschlossen. Es schließt sich die Ausgabe bzw. das Einlesen eines Zahlenwertes an. | Im Kommandomodus werden Kommandos als ASCII-Zeichenketten an BERT gesendet. Ein Kommando wird mit ENTER (0Dh) abgeschlossen. Zahlen werden als Dezimalzahlen übertragen. Die Befehle sind alle gleich aufgebaut: Buchstaben benennen den Port, eventuell gefolgt von einer Bit-Nummer (z.B. 'C3', oder aber eine Abkürzung des Kommandos ('M'). Der Befehl wird mit **=** oder **?** abgeschlossen. Es schließt sich die Ausgabe bzw. das Einlesen eines Zahlenwertes an. |
Adresse expr beginnt. | Adresse expr beginnt. |
'G=',expr | 'G=',expr |
| |
| G=0 beendet den Kommandomodus und startet wieder den BASIC/DEBUG-Modus (Soft-Reset) |
| |
**Ergänzende Hinweise** | **Ergänzende Hinweise** |
Absetzen des Kommandos erfolgen. Dies gilt insbesondere für die Kommandos des | Absetzen des Kommandos erfolgen. Dies gilt insbesondere für die Kommandos des |
Multiplexverfahrens und der Motorsteuerung. | Multiplexverfahrens und der Motorsteuerung. |
| |
==== BASIC/DEBUG-Modus ==== | ==== BASIC/DEBUG-Modus ==== |
| |
Nach einem Reset befindet sich BERT bzw. der [[elektronik:z8671|Z8671]] im BASIC/DEBUG-Modus. Wird kein Programm auf Adresse 1020h gefunden, sendet das BASIC/DEBUG des Z8671 einen ':' als Bereitschaftszeichen für eine mögliche Kommunikation. Für die Umschaltung in den Kommandomodus wird nun mittels BASIC/DEBUG-Direktkommando 'GO@%1018' das Kommandomodusprogramm gestartet. Im BASIC/DEBUG-Modus können beliebige BASIC/DEBUG-Befehle an den Z8671 gesendet werden, z.B. | Nach einem Reset befindet sich BERT bzw. der [[elektronik:z8671|Z8671]] im BASIC/DEBUG-Modus. Wird kein Programm auf Adresse 1020h gefunden, sendet das [[elektronik:z8671:handbuch|BASIC/DEBUG]] des Z8671 einen ':' als Bereitschaftszeichen für eine mögliche Kommunikation. Für die Umschaltung in den BERT-Kommandomodus wird nun mittels BASIC/DEBUG-Direktkommando 'GO@%1018' das Kommandomodusprogramm gestartet. Im BASIC/DEBUG-Modus dagegen können beliebige BASIC/DEBUG-Befehle an den Z8671 gesendet werden, z.B. |
| |
10 PRINT "HALLO BERT" | 10 PRINT "HALLO BERT" |
==== Mini-Assembler ==== | ==== Mini-Assembler ==== |
| |
Von B. Holzhauer stammte eine zusätzlicher EPROM, der mit BERT genutzt werden kann und einen kleinen Z8-Assembler enthält. Dieser Assembler läuft auf Adresse %0800-%0fff. um ihn im Steckplatz für RAM2 betreiben zu können, müssen am EPROM Pin 18 und 21 abgewinkelt werden, und Pin 21 mit +5V und Pin 18 mit Lötpunkt %800 verbunden werden. | Im Buch wird ein zusätzlicher EPROM von B. Holzhauer beschrieben, der mit BERT genutzt werden kann und einen kleinen Z8-Assembler enthält. Dieser Assembler läuft auf Adresse %0800-%0FFF. um ihn im Steckplatz für RAM2 betreiben zu können, müssen am EPROM Pin 18 und 21 abgewinkelt werden, und Pin 21 mit +5V und Pin 18 mit Lötpunkt %800 verbunden werden. |
| |
Der Mini-Assembler arbeitet mit Zeilennummern. Er kennt keine Kommentare. Der Code wird als Basicprogramm erfasst. Mit GO@%800 wird der Assemblerlauf gestartet. | Der Mini-Assembler arbeitet mit Zeilennummern. Er kennt keine Kommentare. Der Code wird als Basicprogramm erfasst. Mit GO@%800[,zeile] wird der Assemblerlauf gestartet. |
| |
Beispiel: Einlesen einer zweistelligen BCD-Zahl an Port C\\ | Beispiel: Einlesen einer zweistelligen BCD-Zahl an Port C\\ |
</code> | </code> |
| |
Die Routine kann dann mit USR(%13FD) aufgerufen werden. | Nach dem Assemblieren mit GO@%800 kann anschließend die übersetzte Maschinencode-Routine mit USR(%13FD) aufgerufen werden. |
| |
Um sie als neues Kommando 'BCD?' für den Kommandomodus bereitzustellen, muss die Kommandotabelle im System-EPROM ergänzt werden. Ab %1A87 sind 11 Byte dafür freigehalten (s. Monitorprogramm). | Um sie als **neues Kommando 'BCD?'** für den Kommandomodus bereitzustellen, muss die Kommandotabelle im System-EPROM ergänzt werden. Ab %1A87 sind 11 Byte dafür freigehalten (s. Monitorprogramm). |
| |
%1A87: 'B'+%80, 'C', 'D', '?', %13FD>>7, %13FD&&%7F (die Startadr. wird in 2x7Bit aufgeteilt) | %1A87: 'B'+%80, 'C', 'D', '?', %13FD>>7, %13FD&&%7F (die Startadr. wird in 2x7Bit aufgeteilt) |
| |
:!: Leider gilt der Assembler-ROM als verschollen, es ist nichts mehr darüber zu finden, auch der Programmautor hat nichts mehr. | 2019: Der beschriebene Assembler-ROM galt als verschollen, es war nichts mehr darüber zu finden, auch B. Holzhauer hat nichts mehr. Es handelt sich aber mit sehr hoher Wahrscheinlichkeit um den [[elektronik:z8671:assembler|Mini-Assembler]] von Arcom Ltd. Im Buch "G. Ledig, Mikroprozessoren in der Meß- und Regeltechnik, Franzis Verlag 1988, ISBN 3772394418" ist er beschrieben und auch als Hex-Dump zu finden. Download: |
2019: Es handelt sich mit sehr hoher Wahrscheinlichkeit um den Mini-Assembler von Zilog. Im Buch "G. Ledig, Mikroprozessoren in der Meß- und Regeltechnik, Franzis Verlag 1988, ISBN 3772394418" ist er beschrieben und auch als Hex-Dump zu finden. | |
| |
https://www.shotech.de/Datasheet/BERT2/BERT-Assembler.zip | https://www.shotech.de/Datasheet/BERT2/BERT-Assembler.zip |