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
homecomputer:bert [2016/08/17 12:55] – [Mini-Assembler] volkerphomecomputer:bert [2022/05/11 06:14] (aktuell) – [Sonstiges] 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)
  
-:!: Leider gilt der Assembler-ROM als verschollen, es ist nichts mehr darüber zu finden, auch der Programmautor hat nichts mehr.+2019Der 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 =====
Zeile 413: Zeile 428:
  
 Ich habe zwar seinerzeit den BERT entwickelt, aber die Rechte daran liegen bei der vgs (www.vgs.de) in Köln. Den Schaltplan des BERT können Sie sich sicher aus den Beschreibungen im Begleitbuch und den Unterlagen des Z8671 ableiten. Das Platinen-Layout liegt mir nicht vor; es wurde von der Fa. Thomsen-Elektronik (www.thomsen-elektronik.de) entwickelt, die auch den Computer produzierte." Ich habe zwar seinerzeit den BERT entwickelt, aber die Rechte daran liegen bei der vgs (www.vgs.de) in Köln. Den Schaltplan des BERT können Sie sich sicher aus den Beschreibungen im Begleitbuch und den Unterlagen des Z8671 ableiten. Das Platinen-Layout liegt mir nicht vor; es wurde von der Fa. Thomsen-Elektronik (www.thomsen-elektronik.de) entwickelt, die auch den Computer produzierte."
 +
 +Register:
 +
 +<code>
 +%48 Programmunterbrechung Quelle
 +%47 Zählerüberlauf
 +%46 Kopie des Registers %F6
 +%45 Abeitsregister bei Programmunterbrechungen
 +%40 Arbeitsregister bei Programmunterbrechungen
 +%3F Zeiger Arithmetik-Stapelspeicher (Kommandos)
 +%3E Kopie der letzten Ausgabe an Port D
 +%3D Kopie der letzten Ausgabe an Port B
 +%3C Kopie der letzten Ausgabe an Port A
 +%3B Kommandointerpreter Textzeiger low
 +%3A -"- high
 +%39 Kommandointerpreter Tabellenzeiger low
 +%38 -"- high
 +%37 Kommandointerpreter Kommandozeiger low
 +%36 -"- high
 +%35 Kommandointerpreter Arbeitsregister
 +%30 Kommandointerpreter Arbeitsregister
 +%2F Kommandointerpreter Eingabespeicher
 +%20 Kommandointerpreter Eingabespeicher
 +</code>
  • homecomputer/bert.1471438503.txt.gz
  • Zuletzt geändert: 2016/08/17 12:55
  • von volkerp