Ergänzung Z1013.64
R 0 B 0 T R 0 N
Mikrorechnerbausatz Z 1013.64
Ergänzung zur Bedienungsanleitung für den Mikrorechnerbausatz Z 1013.64
1. Bedienungsanleitung zum Mikrorechnerbausatz Z1013
1.1. Vorstellung des MRB Z 1013
1.2. Inbetriebnahme des MRB Z 1013
1.2.1. Anschluß der Stromversorgung
1.2.2. Anschluß des Fernsehgerätes
1.2.3. Grundzustand des MRB Z 1013
1.2.4. Anschluß der Tastatur
1.2.4.1. Montageanleitung
1.2.4.2. Benutzung der Z 1013-Tastatur
1.2.5. Anschluß eines Magnetbandgerätes
1.3. Monitorkommandos des MRB Z 1013
1.3.1. Allgemeine Form
1.3.2. Kommandos
1.3.3. Verwendung
2. Anschluß einer Tastatur mit 58 Tasten
3. Hinweise
4. Hinweise zur Verwendung von Erweiterungsbaugruppen am Z 1013.64
4.1. Stromversorgungsmodul und E/A-Modul
4.2. ROM-Modul Z 1013.20
4.3. Baugruppenträger Z 1013.50
5. V.24 - Drucker - Anpassung an Z 1013 und Einbindung ins 10K - BASIC
5.1. HEX-DUMP der Druckerroutine
5.2. Einbindung ins 10K - BASIC
6. Wichtige Hinweise zur Beibehaltung der Reparaturfähigkeit
7. Technische Daten
Kapitel 1 - 1.3.3. entspricht der Bedienungsanleitung. Kapitel 6 und 7 entsprechen Kapitel 1.4 und 1.5 der Bedienungsanleitung.
2. Anschluß einer Tastatur mit 58 Tasten
Der ROM des Z 1013.64 bietet die Möglichkeit, statt der 8 x 4 Tastatur mit 32 Tasten eine komfortablere Tastatur mit 58 Tasten, verschaltet in einer 8 x 8 Matrix, anzuschließen. Im Monitor ist die komplette Tastaturbedienungsroutine enthalten. Da statt der bisherigen 8 x 4 Tastatur nun eine 8 x 8 Tastatur abgefragt werden muß, ist diese Routine länger als beim ur- sprünglichen Monitor. Deshalb und auf Grund der begrenzten Speicherkapazität mußten in Monitor Veränderungen vorgenommen werden. Das Kommando FIND (ursprünglich mit F und 3 Argumenten) entfällt. Alle anderen Monitorroutinen sind dem Nutzer zugänglich, wurden aber in ihren Startadressen verschoben. Der indirekte Aufruf über RST 20H bleibt unverändert, so daß Maschinenprogramme, welche Monitorroutinen über entsprechende RST 20H Sprünge aufrufen, nach wie vor voll funktionsfähig bleiben. Bei Direktsprüngen müssen alle Startadressen geändert werden.
Vergleichstabelle:
Monitorfunktion | RST 20H | 8×4 Tastatur | 8×8 Tastatur |
---|---|---|---|
OUTCH | DB 00H | F21BH | F25BH |
INCH | DB 01H | F219H | F219H |
PRST7 | DB 02H | F2A5H | F2E2H |
INHEX | DB 03H | F2F4H | F331H |
INKEY | DB 04H | FI30H | F119H |
INLIN | DB 05H | F2B3H | F2F0H |
OUTHX | DB 06H | F301H | F33EH |
OUTHL | DB 07H | F3IAH | F357H |
CSAVE | DB 08H | F369H | F3A6H |
CLOAD | DB 09H | F3FBH | F435H |
MEM | DB 0AH | F325H | F362H |
WIND | DB 0BH | F6D1H | F6F5H |
OTHLS | DB.00H | F5C7H | F604H |
OUTDP | DB 0DH | F5C4H | F601H |
OUTSP | DB 0EH | FSCFH | F60CH |
TRANS | DB 0FH | F51DH | F55AH |
INSTR | DB 10H | F2B9H | F2F6H |
KILL | DB 11H | F50BH | F54BH |
HEXUM | DB 12H | F6BBH | entfällt |
ALFA | DB 13H | F6C5H | entfällt |
Um eine Tastatur mit 64 Tasten in einer 8×8-Matrix anzuschließen, muß vom Anwender eine kleine Zusatzbaugruppe erstellt werden. Die Tastatur und die Zusatzbaugruppe gehören nicht zum Lieferumfang des Z 1013.64. Geeignet wäre die im Handel erhältliche Tastatur K 7659 vom VEB Elektroschaltgeräte Auerbach. Von den 82 Tasten auf dieser Tastatur werden 58 angesteuert. Bild 2.1 zeigt die Zeichenbelegung und die Anordnung dieser Tasten, wie sie vom Anwender bedient werden können. Die Beschriftung der Tasten entspricht bei Buchstaben und Zahlen der Beschriftung auf der K 7659. Die Sonderzeichen weichen jedoch ab, so daß durch geeignete Maßnahmen (ev. genügen Aufkleber) die Tastenköpfe anders beschriftet werden müssen.
Soll eine Tastatur aus anderen Tastenelementen aufgebaut werden, so ist die Verschaltung in einer 8×8-Matrix gemäß Bild 2.2 vorzunehmen. Zur Verbindung mit dem Z 1013.64 ist eine Baugruppe mit dem IC DL 257 D (entspricht dem Typ K 555 KP 11), 8 Widerständen und 8 Dioden notwendig, Diese Baugruppe muß durch den Anwender selbst gefertigt werden. Die verwendeten Widerstände sollten einen Mindestwert von 10 kOhm haben und 25 kOhm nicht übersteigen. Die Dioden sollten nach Möglichkeit Germaniumdioden beliebigen Typs sein (geringe Flußspannung).
Der Aufbau erfolgt entweder auf einer Rasterplatte in freier Verdrahtung oder auf einer Leiterplatte mit entsprechendem Leiterbild. Die Betriebsspannung ist am Schalkreis DL 257 D unbedingt mit einem Scheibenkondensator > 100 nF gegen Masse abzublocken. Um die separate Schaltung und die 8×8-Tastatur zu betreiben, ist eine abgeänderte Software notwendig. Dazu muß des Betriebssystem des Z 1013 umgeschaltet werden. Auf der Leiterplatte des Z 1013.64 befindet sich neben dem PROM U 2632 eine Wickelverbindung (Bild 2.3). Beim Kauf des Gerätes ist die Verbindung von W5 nach W6 hergestellt. Diese Verbindung muß gelöst und W6 mit W7 verbunden werden. Nach Einschalten und RESET ist die Tastatur einsatzbereit.
Die Bildschirmmeldung des Monitors lautet jetzt:
robotron Z 1013/A.2
Belegung der Buchsenleiste für 8x8-Tastaturen
K 7659
Z0 Z1 Z2 Z3 Z4 Z5 Z6 Z7 Zeilen B1 B2 B3 B4 B5 B6 67 B8 Buchsenleiste S0 S1 S2 S3 S4 S5 S6 S7 Spalten A3 A4 A5 A6 A7 A8 A9 A10 Buchsenleiste
K 7252.01
Z0 Zl Z2 Z3 Z4 Z5 Z6 Z7 Zeilen A3 A4 A5 A6 A7 A8 A9 A10 Buchsenleiste S0 S1 S2 S3 S4 S5 S6 S7 Spalten B1 B2 B3 B4 B5 B6 B7 B8 Buchsenleiste
3. Hinweise
NMI-Taste
Bei Betätigung der RESET-Taste kann es beim Z 1013 vorkommen, daß im dynamischen RAM-Speicher Datenverluste eintreten. Es sollte deshalb die RESET-Taste nur im Ausnahmefall betätigt werden.
Eine andere Möglichkeit zur Programmunterbrechung ist mit einer zusätzlichen NMI-Taste (über Tastatursteckverbinder X2, siehe Schaltung) realisierbar. Als Taster sollte ein möglichst prellfreier Schalter eingesetzt werden.
Weiterhin ist mit dem M-Kommando im Monitormodus ab Adresse 66H ein Sprung ins Betriebssystem einzutragen.
Adresse Inhalt 66H C3 00 F0 69H ...
Bei unkontrolliertem Programmabsturz, der nur durch NMI oder RESET behoben werden kann, sollten grundsätzlich die Programme neu von Kassette geladen werden.
BASIC mit großer Tastatur
Bei Verwendung der oben beschriebenen Alpha-Tastatur (K 7659), der Multiplexerschaltung und der umgewickelten 2. Monitorversion ist das 10K-BASIC wie folgt zu ändern:
- Laden des BASIC-Interpreters L 100 2AFF
- Ändern folgender Speicherzellen mit dem M-Kommando
Adresse alter Inhalt neuer Inhalt 110 AF 47 D3 C3 29 01 : 12B CD 81 01 00 00 00 : 13E 06 06 C5 E7 01 C9
Es wird empfohlen, diesen Änderungsstand mit S 100 2AFF auf die Kassette zu retten und zu kennzeichnen mit „10K-BASIC mit Multiplexer-Tastatur“.
Sollten Sie eine Alpha-Tastatur-Ansteuerung mit einer U880-Prozessorschaltung verwenden (Nachnutzung eines NV vom Neuerbüro des VEB RER), so ist folgende Änderung im 10K-RAM-BASIC-Interpreter erforderlich:
Adresse alter Inhalt neuer Inhalt 13E 06 06 E7 01 140 C5 21 04 C3 83 01
Tastaturfunktionen des Z 1013 mit 10-KByte-BASIC-Interpreter
Variante 1: 4×8-Tastatur
Variante 2: 8×8-Tastatur, Prozessorschaltung
Variante 3: 8×8-Tastatur, Multiplexerschaltung
T a s t e n k o m b i n a t i o n
Var.1 | Var.2 | Var.3 | Bezeichnung | Bedeutung |
---|---|---|---|---|
S4/I | ^B | ^B | CL LN | Eingabezeile löschen |
S4/K | ^C | ^C | STOP | Programm abbrechen |
S4/P | ^H | ^H | ←- | Kursor links |
S4/Q | ^I | ^I | –> | Kursor rechts |
S4/T | ^L | ^L | CLS | Bildschirm löschen |
S4/U | ^M | ^M | ENT | ENTER |
S4/V | ^N | ^9 | |←- | Kursor Zeilenanfang |
S4/W | ^0 | ^8 | –>| | Kursor Zeilenende |
S4/@ | ^P | ^/ | DEL | Zeichen löschen |
S4/A | FT | FT | Grafik aus | |
54/B | ^R | ^* | INS | Leerzeichen einfügen |
S4/C | ^S | ^+ | ESC | Ausgabe des ESCAPE-Zeichens |
S4/D | ^T | ^, | LIST | Programm listen |
S4/E | ^U | ^UE | RUN | Programm starten |
S4/F | ^V | ^. | CONT | Programm fortsetzen |
S4/G | FT | FT | Grafik ein |
FT = Funktionstaste
Die Funktionen „Kursor hoch“ (S4/R bzw. ^J) und „Kursor runter“ (S4/S bzw. ^K) werden vom Bildschirmtreiber nicht unterstützt.
Es ist aber programmtechnisch möglich, die Tastenkodes 0BH und 0AH zu verwenden.
3-KByte-BASIC-Interpreter
Für den 3K-BASIC-Interpreter Bind folgende Änderungen notwendig:
- Laden des BASIC-Interpreters L 100 BFF
- Ändern folgender Speicherzellen mit dem M-Kommando
Adresse alter Inhalt neuer Inhalt 112 E7 12 C9 00 00 C9 115 E7 13 C9 00 00 C9
Auch diesen Änderungsstand sollten Sie, entsprechend gekennzeichnet, auf die Kassette abspeichern.
4. Hinweise zur Verwendung der Erweiterungsbaugruppen am Z 1013.64
4.1. Stromversorgungsmodul und E/A-Modul
Für diese Erweiterungsmodule gelten die Hinweise der Bedienungsanleitung des jeweiligen Moduls.
4.2. ROM-Modul Z 1013.20
Da der Z 1013.64 den gesamten adressierbaren Speicherbereich belegt, ist auf dem ROM-Modul die in Abb. 4.1. dargestellte Diode D1 durch eine Brücke zu ersetzen und zusätzlich zu bestücken. Die dazu notwendigen Leiterzüge sind bereits vorhanden, so daß nur die Brücke eingelötet werden muß.
Die Benutzung des ROM-Moduls hat zur Folge, des der jeweilige gesamte Speicherbereich des Moduls aus dem RAM-Bereich der Grundausbaustufe ausgeblendet wird, unabhängig davon wieviel ROM-Steckplätze verwendet werden.
Achtung ! Es ist stets nur ein ROM-Modul zu verwenden !
4.3. Baugruppenträger Z 1013.50
Der Baugruppenträger ist entsprechend der Anordnung der Stecklötösen E8 und E9 nach Abb. 4.2 und 4.3 bzw. nach Abb. 4.4 und 4.5 umzurüsten. Die Stecklötöse E2 ist in jedem Fall zu entfernen.
Die Stecklötösen E8 und E9 sind vorsichtig auszulöten und in der neuen Position zu bestücken. Für Baugruppenträger nach Abb. 4.3 sind die Stecklötösen vor dem Einlöten entweder aufzubiegen oder man verwendet Drahtbrücken.
Bei einem Baugruppenträger entsprechend Abb. 4.3 ist der Leiterzug von Schaltkreis A2 (DL 000 D) Pin 2 zu der Stecklötöse E8 zu trennen und mit dem Leiterzug, der zum Anschluß A11 der Buchsenleiste X5 führt, zu verbinden.
Achtung! Die Ausführung der Leiterplattenänderung ist sorgfältig durchzuführen, damit keine Brücken oder Ähnliches beim Löten entstehen. Nur Lötkolben mit max. 30 Watt Heizleistung bei max. 3s Lötdauer verwenden. Als Flußmittel ist Kolophonium zu verwenden.
Die Belegungspläne der Abbildungen 4.1 - 4.5 sind mit der Bestückungsseite zum Betrachter dargestellt.
Die gebrochen dargestellten Leiterzüge befinden sich auf der Leiterseite und die voll dargestellten auf der Bestückungsseite.
5. V.24 - Drucker - Anpassung an Z 1013 und Einbindung ins 10K-BASIC
5.1. HEX-Dump der Druckerroutine
3F00 FE 0D 20 05 CD 09 3F 3E 283 3F60 01 D3 34 21 6E 00 CB 56 2B8 3F08 0A C5 E5 57 E2 11 3F C6 463 3F68 28 03 FB 18 01 F3 Fl El 404 3F10 80 F5 3E CF D3 35 3E FE 4C6 3F70 Cl C9 C5 Cl 00 C9 ED 78 53E 3F18 D3 35 CD 7B 3F 21 6E 00 31E 3F78 DB 34 C9 DB 34 CB 67 C8 4E1 3F20 ED 5F E2 29 3F CB D6 18 44F 3F80 0E 00 21 FF 0F 2B CB 7C 2AF 3F28 02 CB 96 F3 3E 00 D3 34 39B 3F88 28 FB DB 34 CB 67 C8 0D 493 3F30 CD 72 3F CD 72 3F CD 75 43E 3F90 20 F0 E7 02 0D 0D 2A 20 25D 3F38 3F 06 08 06 08 Fl 0F F5 250 3F98 50 52 49 4E 54 45 52 20 244 3F40 DA 48 3F 3E 00 C3 4D 3F 2EE 3FA0 3F 8D DB 34 CB 67 C8 18 3ED 3F48 3E 01 C3 4D 3F D3 34 CD 362 3FA8 F9 FF FF FF FF FF FF FF 7F2 3F50 72 3F CD 72 3F 13 13 18 270 3F80 7A C3 09 3F EF FE FF FF 581 3F58 1B 00 10 El CD 76 3F 3E 2CC 3FB8 FF FF FF FF FF FF FF FF 7F8
Das aufgelistete Unterprogramm realisiert den Druck des im Akku (Einsprung 3F00H) oder im D Register (für BASIC, Einsprung 3FB0H) stehenden Zeichens. Akku und Flags ändern sich, alle anderen Register bleiben erhalten.
Dem Drucker wird folgendes Format übergebe:
Rechnertakt | 1 MHz | 2 MHz |
---|---|---|
Baudrate | 4800 Bd | 9600 Bd (6EH)=03 |
9600 Bd | 19200 Bd (6EH)=01 | |
Startbit | 1 | 1 |
Datenbit | 7 *) | 7 *) |
Parität | ungerade | ungerade |
Stopbit | 1 | 1 |
*) bei Änderung der Zelle 3F10H von 80H auf 00H können auch 8 Bit ohne Parität gesendet werden.
Realisiert wird hierbei das DTR-Protokoll über Port 34H der Z 1013-E/A- Baugruppe, wobei nur Bit 0 und Bit 4 verwendet werden:
Bit 0 führt zu RxD des Druckers
Bit 4 führt zu DTR des Druckers
Masse der Zusatzbaugruppe an Betriebserde
Am Drucker sind o.g. Parameter einzustellen.
Testprogramm:
06 40 Y: LD B,64 ; Anzahl der Zeichen 3E 55 X: LD A,"U" ; Daten CD 00 3F CALL V24 ; Drucker 10 F9 DJNZ X-# ; Schleife 3E 0D LD A,0DH ; Enter CD 00 3F CALL V24 ; Drucker 18 F0 JR Y-# ; Anfang
Die auf der Zusatzbaugruppe realisierte Hardware eignet sich für eine Reihe weiterer Kopplungsvarianten, die sich aus den V.24-Bedingungen ableiten lassen.
Wird die Druckroutine angesprungen, so wird der E/A- Baustein (PIO) automatisch initialisiert, außerdem wird der Inhalt der Zelle 6EH (110 dez.) nach folgendem Schema ausgewertet:
- (6EH) = 0 ; Es wird kein Zeichen ausgegeben. Rücksprung zum rufenden Programm.
- (6EH) = 1 ; Es wird ein Zeichen ausgegeben. Anwendung bei 1 MHz Rechnertakt.
- (6EH) = 3 ; Es wird ein Zeichen ausgegeben. Anwendung bei 2 MHz Rechnertakt.
Um also erfolgreich drucken zu können, muß nicht nur die Druckerroutine mittels M-Kommando des Monitors eingegeben werden, sondern auch Zelle 6EH (110 dez.) entsprechend gesetzt sein.
Zu beachten ist noch, daß die Routine die Bereitschaft des Druckers abfragt, und solange in einer Schleife läuft, bis diese anliegt. Das Fehlen der Bereitschaftsmeldung wird über Bildschirm (* PRINTER ?) angezeigt. Ist kein Drucker angeschlossen, tritt das Gleiche ein und ein Abbruch ist nur über RESET möglich.
5.2. Die Einbindung ins 10K-BASIC
Der BASIC-Interpreter des Z 1013 tritt über 4 Schnittstellen mit dem Nutzer in Kommunikation:
Kassetteneingabe Kassettenausgabe Tastatureingabe Bildschirmausgabe
Diese „Datenströme“ verlassen das Innere des Interpreters und können entsprechend „angezapft“ werden. Zur Ausgabe auf einen Drucker ist der Kanal Bildschirmausgabe am besten geeignet, denn er transportiert alle Programmergebnisse (PRINT-Befehl) und Programme (LIST-Befehl).
Um diesen Datenstrom umlenken zu können wertet der Interpreter ebenfalls die Zelle 6EH aus. Ist der Inhalt 0, so wird standardgemäß auf dem Bildschirm ausgegeben; ist der Inhalt aber 1, so wird der Datenstrom auf die Adresse 48 (30 hex.) umgeleitet. Dort muß nun die Druckerroutine oder ein Sprungbefehl auf die Druckerroutine stehen.
Im Z 1013 wird dies nun konkret so realisiert:
- Eingabe der Druckerroutine mit M-Kommando des Monitors (z.B.:ab 3F00H) oder Laden von Kassette
- Laden des BASIC Interpreters28
- Starten des Interpreters J 300
- Da die Druckerroutine die letzten 256 Bytes des Arbeitsspeichers belegt, darf die Frage HIGHEST MEMORY : keinesfalls mit Enter quittiert werden. Es muß die Adresse des letzten, noch freien Speicherplatzes eingegeben werden. Bei 16 KByte RAM ist das 16127 (3EFFH). Die Zelle 6EH wird automatisch mit 0 (Drucker aus) belegt.
- Durch BASIC-Kommandos, die auch als Befehle zu Beginn des BASIC-Programms stehen können, wird die Verbindung zu dem auf 3FB0 (siehe HEX-Dumpbeschreibung Seite 1) beginnenden Druckertreiber hergestellt:
POKE 48,195:DOKE 49,16304
(C3H) (3FB0H)
Wird weiterhin POKE 110,3 (für 2 MHz Takt) oder POKE 110,1 (für 1 MHz Takt) eingegeben, so werden alle Ausgaben auf den Bildschirm auch auf dem Drucker ausgegeben (für 9600 Bd). - Mittels POKE 110,0 wird der Drucker wieder abgeschaltet.
Durch POKE 110,3:LIST kann ein Programm auf dem Drucker ausgegeben werden. Der Drucker kann ebenfalls im Programmlauf z.B. vor und nach PRINT Befehlen an und ab geschaltet werden.
Ist der Z 1013 mit mehr als 16 KBytes RAM ausgerüstet, so kann die Druckerroutine per Hand geändert werden, um in höheren Adreßbereichen lauffähig zu sein. Dazu sind alle im HEX-Dump fett gedruckten Adressen entsprechend umzurechnen. Wird nur in ganzen HEX-Hundertern verschoben, so sind nur die HIGH-Teile zu ändern.
z.B.: Soll auf Adresse 7F00H gearbeitet werden, so muß anstelle aller fettgedruckten 3FH 7FH eingesetzt werden, bei 0BF00H 0BFH. Es ist weiterhin zu beachten, daß der Sprung auf Zelle 48 ebenfalls korrigiert wird (siehe Pkt. 5).
Die Frage HIGHEST MEMORY : muß ebenfalls mit der ersten, freien Speicheradresse vor der verschobenen Druckerroutine beantwortet werden.
Beispiele:
RAM | Startadr. | HIGHEST MEM. | POKE 48,195:DOKE 49,Y |
---|---|---|---|
16 K-RAM | 3F00H | 16127 | Y = 16304 ( 3FB0H) |
32 K-RAM | 7F00H | 32511 | Y = 32688 ( 7FB0H) |
48 K-RAM | 0BF00H | 48895 | Y = -16464 (0BFB0H) |
64 K-RAM | 0EB00H | 60159 | Y = - 5200 (0EBB0H) |
64 K-RAM | 0F800H | 60415 | Y = - 1872 (0F8B0H) |
Nach erfolgreichem Test des Druckertreibers kann er auf Kassette gerettet werden.
Dieses BASIC-Beispielprogramm gibt die Zahlen von 1 bis 10 auf den Bildschirm aus. Steuersequenzen für den Drucker können mit PRINT CHR$(…) ausgegeben werden (z.B.: PRINT CHR$(12) löscht den Bildschirm und löst einen Seitenvorschub am Drucker aus).
5 REM **** Beispiel fuer 16 KBytes RAM, 2 Mhz **** 10 REM **** Druckerroutine wurde eingelesen **** 20 REM 30 REM **** Eintragen des Sprunges in Zelle 48 **** 40 POKE 48,195:DOKE 49,16304 50 REM **** Drucker ein *************************** 60 POKE 110,3 70 REM **** Zaehlschleife ************************* 80 REM FOR I=1 TO 10 90 PRINT I 100 NEXT I 110 REM **** Drucker aus *************************** 120 POKE 110,0 130 END