Dies ist eine alte Version des Dokuments!


technische Daten

Von der Interessengemeinschaft Heimcomputer der KdT des IZ der TU-Dresden wurde ein Sprungverteiler vereinbart, der zur Einbindung von Erweiterungen des „Z 1013“-Monitorprogramms in Anwenderprogrammen dient. Das Ziel der Vereinbarung bestand in einer weitestgehenden Portabilitaet von Programmen fuer den „Z 1013“, auch wenn diese z.B. einen Sprung zu einem Druckertreiber enthalten sollen. Der Verteiler beginnt auf der Adresse FFFFH abwaertsfuehrend und enthaelt Sprungbefehle zu den entsprechenden Unterprogrammen der Systemerweiterung, welche mit einem RET-Befehl enden muessen, um die Rueckkehr in das Anwenderprogramm zu erreichen. Nicht vorhandene Unterprogramme sind durch RET (C9H) kurzzuschliessen.

Sprungverteiler fuer Z 1013-Erweiterungen:

 FFFDH - JMP INKEY  holt ein Zeichen von Tastatur in den
                    Akku; kommt beim 2. Aufruf nur zurueck,
                    wenn Taste zwischendurch losgelassen 
                    wurde 

 FFFAH - JMP POLL   bringt immer ein Zeichen im Akku zu-
                    rueck, egal ob Taste losgelassen wurde
                    oder nicht

 FFF7H - JMP STAT   uebergibt Tastaturstatus im Akku
                    A=0   - keine Taste gedrueckt
                    A=FFH - Taste gedrueckt
                    die Abfrage erfolgt ohne Ruecksicht,
                    ob die Taste schon vor dem Aufruf ge-
                    drueckt war und hinterlaesst trotz ge-
                    drueckter Taste den Status
                    'letztes Zeichen war 0' ((Zelle 4)=0)
                    um eine evtl. nachfolgenden INKEY-Rou-
                    tine nicht zu sperren

 FFF4 - JMP SARUF   ruft die SAVE-Routine des Headersave
                    ! zerstoert 1. Registersatz + AF'
                    Parameteruebergabe:
                    Zellen 1BH - anfadr.
                           1DH - endadr.
                           23H - strtadr.
                    Akku   3AH - Wiederholen der SAVE-Funk-
                                 tion mit gleichem Kopf
                    H(IY)  Typvorgabe (in ASCII), sonst 0

 FFF1H - JMP LORUF  ruft LOAD-Routine des Headersave
                    ! zerstoert 1. Registersatz + AF'
                    Parameteruebergabe:
                    Zellen 1BH - neue Anfangsadresse des
                    Files sonst 0
                    Akku   0   - ohne signifikante Kontrol-
                    le
                    4EH - mit signifikanter Kopfkontrolle
                          (Typ) + Namenabfrage
             H(IY)  0   - Typ wird abgefragt 
                          Typkennzeichen (in ASCII),
                          keine Typabfr. 
             L(IY)  20H - Freigabe Autostart bei
                          COM-Files 

 FFEEH - JMP ZMINI Initialisierung der Z-Monitorrufe
                   auf B0H

 FFEBH - JMP DRDEL setzt den logischen Druckertreiber
                   zurueck

 FFE8H - JMP DRAKK  uebergibt den Akkuinhalt an den lo-
                    gischen Druckertreiber

 FFE5H - JMP BSDR   druckt den Inhalt des BWS und kehrt
                    in das rufende Programm zurueck

 FFE2H - JMP HARDC  uebergibt den Akkuinhalt an logischen
                    Druckertreiber wenn ein Flag im Rechner
                    gesetzt ist;
                    wandelt CR (0DH) in NL (1EH/0DH-0AH)
                    ! nur verwenden, wenn Programm eine
                    eigene Bildschirmverwaltung hat

 FFDFH - JMP DRZEL  wie DRAKK, nur das der Inhalt von
                    1BH uebergeben 
                    wird (vorgesehen, um im BASIC mit POKE
                    zu drucken)

 FFDCH - JMP BEEP   erzeugen eines kurzen Signals

 FFD9H - JMP ASTA   Ausgabe Akkuinhalt als ASCII-Zeichen
                    an PUNCH

 FFD6H - JMP BSTA   Ausgabe Akkuinhalt als Byte an PUNCH


 FFD3H - JMP AIN    Eingabe eines ASCII-Zeichens vom LBL
                    in den Akku

 FFD0H - JMP BIN    Eingabe eines Bytes vom LBL in den 
                    Akku

 FFCDH - JMP DRINI  Initialisierung des logischen Drucker-
                    treibers

 FFCAH - JMP ZEIDR  uebergibt ein Zeichen im Akku an phy-
                    sischen Druckertreiber

 FFC7H - JMP BLMK   Lesen eines Blocks vom Headersave
                    Parameteruebergabe:
                    Zellen 25H/26H * Kopfinhalt des zu le-
                    senden Bl.
                    HL             * Ladeadresse des Blocks
                  Return:
                    Zellen 25H/26H * Kopfinhalt + 20H
                    HL             * HL:=HL+20H
                  Abbruch des Lesens bei Kopfinhalt=0FFFFH 
                    oder DMA > Endadr in ARG2 (1DH)

 FFC4H - JMP BSMK   Schreiben eines Blocks im Headersave
                    Parameteruebergabe:
                    HL  * Quelladresse Block
                    IX  * Kopfinhalt
                    DE  * Anzahl der Sync.-Bits
                  Return:
                    HL  * HL:=HL+20H

 FFC1H - JMP SUCHK  Suchen eines Kopfblocks und Uebergabe
                    des Inhalts im Kopfpuffer (E0-FF), keine 
                    Auswertung

 FFBEH - JMP AKP    Aufbereitung Kopfpuffer mit Namenab-
                    frage
                    Parameteruebergabe wie bei SARUF

 FFBBH - JMP GETST  Abfrage der Joysticks und Uebergabe 
                    des Ergebnisses in BC (B-links,C-rechts)
                    mit folgenden Bit-Bedeutungen
                    (Belegung mit 1):
                    Bit 0 - links
                        1 - rechts
                        2 - runter
                        3 - hoch
                        4 - Aktionstaste
                       Z-Flag=1, wenn keine Betaetigung vor-
                    liegt
                    CY-Flag=1, wenn Spielhebel nicht ange-
                    schlossen  

 FFB8H - JMP SOUND  Ausgabe einer vollen Periode auf die
                    Tonbandbuchse, sowie auf Bit 7 vom Sys-
                    temport (User-P)
                    Uebergabe der Periodendauer in C mit 
                    T=n*33us+20us (2MHz)
BELEGTE SYSTEMZELLEN DES Z1013:
-------------------------------

ADR  BYTE FUNKTION		ZUSATZFKT.

0000 3				Sprung zum Warmstart
0003 1	Befehlscode bei RST 20H	Geraetezuweisg.
				 (I/O-Byte)
0004 1	letztes Zeichen Tastatur
0005 3		CALL 0005H
0008 3	RST 8H
000B 2	Breakpointadr.
000D 3	Operandenfolge bei Breakpoint
0010 3	RST 10H
0013 2	Adr. bei INHEX 
0015 1				Merkzelle HSave; (SHILO)
0016 2	SOIL
0018 3	RST 18H			Sprung zu Monitor
				  2/3
001B 2	ARG 1
001D 2	ARG 2
001F 1	vom Cursor verdecktes Zeichen
0020 3	RST 20H
0023 2	ARG 3
0025 2	Cursorpos. nach Kommandokonv.
0027 1	ASCII/Graphikschalter
0028 3	RST 28H
002B 2	akt. Cursorposition
002D 3	BER 3 frei		2D:Zeilenzaehler
    				2E:max. Zeilenzahl
    				2F:Seitenlaenge
0030 3	RST 30H
0033 2	Kenntonlaenge
0035 3	Tastaturcodetab.
0038 3	RST 38H
003B 12	Tastaturcodetab.
0047 2	WINDOW-Laenge
0049 2	 -"-  -Anfang
004B 2	 -"-  -Ende
004D 2	Reg.retteber.:HL'
004F 2	              DE'
0051 2	              BC'
0053 2	              AF'
0055 2	              HL
0057 2	              DE
0059 2	              BC
005B 2	              AF
005D 2	              IY
005F 2	              IX
0061 2	              PC
0063 2	  Stackpointer(90H nach RESET)
0065 1	BER 1 frei		Spaltenzaehler
0066 3	NMI
0069 1	Merkz. fuer NEXT (gegen EI getauschtes Byte)
006A 2	SP-Zwischenspeicher
006C 2	Zwischenspeicher bei FIND
006E-008FH Anwenderstack
0090-00AFH Systemstack
00B0-00DFH frei fuer Kommandoschleife
00E0-00FFH Puffer fuer Header S/L

Auch bei den I/O-Adressen wurde neben den vom Hersteller festgelegten Adressen einige mit Funktionen belegt und als Standard fuer die Anwender vorgeschlagen (1.Tagung in Dresden)

ADR.	D-Bit	I/O-PORT		BEMERKUNGEN
		bzw.FUNKTION

00H,01H		PIO Z-1013 PORT A	USER fuer Spiel-
					hebel, Drucker usw.

02H,03H		PIO Z-1013 PORT B



04H	DB7	UMSCHALTUNG 32/64 BS 	Bilidschirm von 32
					auf 64 Zchn. umschal-
				        ten, und umgekehrt.

	DB6	UMSCHALTUNG TAKTFREQUENZ Taktfrequenz kann
					mit diesem I/O-Signal
					von 2 auf 4 MHz und
                                        umgekehrt umgeschal-
                                        tet werden.

	DB5	UMSCHALTUNG ZEICHEN-    Wenn verschiedene Zei-
                GENERATOR               chen-Generatoren (z.B.
    					ASCII-Code m.Grafik-
 					Zeichen und DIN-Zei-
					chensatz-m.Umlaute 
				 	und SZ, sowie gesetz-
					ten 7.Bit /invers)							

	DB4	ROM-ABSCHALTUNG		Wenn z.B.exter-
					ner ROM verwendet 
					werden soll, oder 
					ein Urlader. 

        DB3     freiprogrammierbarer
                Zeichengenerator
	
        DB2     Schreibschutz fuer     F000H-F7FFH 
        u.      4K-RAM-Bereich         und
        DB1     (z.B. Urlader)         F800H-FFFFH

        DB0     frei                   (freihalten fuer
                                       wichtige Verwendung.
        rueckgesetztes Datenbit ist normaler Zustand
        (Z1013-Original), dabei ist der Schreibschutz
        eingeschaltet. Bitte bei Anwendung in Programmen
        nur die jeweils benoetigten Bits setzen oder 
        ruecksetzen. 
     !! NICHT GENERELL '0' BEIM RUECKSETZEN VERWENDEN !!

05H	DB0-7	frei fuer Anwender

08H		TASTATUR-SPALTEN-TREIBER


FUER ERWEITERUNGEN:

30H,31H		PIO 1 PORT A		Fuer EPROM-
					Programmierung u.a.
32H,33H		PIO 1 PORT B            

34H,35H		PIO 2 PORT A		V.24-Inter-
					face (Riesa)

36H,37H		PIO 2 PORT B		frei

38H,39H,3AH,3BH CTC 1, 4 KANAELE       (Bei eigner CTC In-
3CH,3DH,3EH,3FH CTC 2  4  ="=          stalierung, 1. CTC als
                                       Systemuhr vorgeschlagen)

98H		RAM-FLOPPY A           (Adressen fuer 2 RAM-
58H             RAM-FLOPPY B           Floppy)

FUER ROM-FLOPPY STEHT DIE ADRESSE NOCH NICHT FEST, WIRD ABER
WIE RAM-FLOPPY ANGESTEUERT, LIEGT ALSO ETWA IM GLEICHEN BE-
REICH.

D0H,D1H,D2H (nach Kramer) 
F0H,F1H,F2H (nach Brosig)             fuer DISK-FLOPPY genutzt.

Standard-Adressen fuer Vollgrafik festzulegen, hält die IG-HC noch fuer verfrüht, da noch kein für alle akzeptables System vorliegt.

  • z1013/technische_daten.1282759030.txt.gz
  • Zuletzt geändert: 2010/08/24 22:00
  • (Externe Bearbeitung)