Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
homecomputer:bert [2016/05/19 08:38] – [Downloads] volkerphomecomputer:bert [2022/05/10 13:00] – [Mini-Assembler] volkerp
Zeile 7: Zeile 7:
 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 =====
  
Zeile 104: Zeile 109:
  
   * Listings etc. {{:einplatinenrechner:bert.zip|}}   * Listings etc. {{:einplatinenrechner:bert.zip|}}
-  * Z8671-Unterlagen {{:einplatinenrechner:z8671.zip|}} +  * Z8671-Unterlagen {{:einplatinenrechner:z8671.zip|}} (z8671_basic_debug.pdf, 1521969.pdf, z8671.bin, Circuit Cellar - Digital Library.mht, Z8_crd.txt) 
-  * Assembler-ROM (leider nicht mehr auffindbar)+  * Assembler-ROM {{:einplatinenrechner:bert-assembler.zip|}} Vielen Dank an Steffen H. !!!
  
 {{:homecomputer:bert_bestueckung.jpg?300|}} {{:homecomputer:bert_stromlaufplan.jpg?300|}}\\ {{:homecomputer:bert_bestueckung.jpg?300|}} {{:homecomputer:bert_stromlaufplan.jpg?300|}}\\
Zeile 165: Zeile 170:
 </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.
Zeile 291: Zeile 301:
 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**
Zeile 300: Zeile 312:
 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"
Zeile 366: Zeile 379:
 ==== 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\\
 Binärzahl := Einerziffer + 2 * Zehnerziffer + 2*4 * Zehnerziffer Binärzahl := Einerziffer + 2 * Zehnerziffer + 2*4 * Zehnerziffer
 <code> <code>
-10 #ABS %13FD+10 $ABS %13FD
 20 LD R4,%50 20 LD R4,%50
 30 LDC R3,@RR4 30 LDC R3,@RR4
Zeile 389: Zeile 402:
 </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)
 +
 +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: 
 +
 +https://www.shotech.de/Datasheet/BERT2/BERT-Assembler.zip
  
 ===== Sonstiges ===== ===== Sonstiges =====
  • homecomputer/bert.txt
  • Zuletzt geändert: 2022/05/11 06:14
  • von volkerp