******************************************************************* Sprungverteiler fuer Z 1013-Erweiterungen ******************************************************************* Der Zusatzsprungverteiler wurde entsprechend einer Einigung inner- halb der Interessengemeinschaft Heimcomputer des IZ an der TU-Dresden folgendermassen festgelegt: Beginnt auf Adresse FFFFH abwaertsfuehrend: 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 zurueck, 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 gedrueckt war und hinterlaesst trotz gedrueckter Taste den Status 'letztes Zeichen war 0' ((Zelle 4)=0) um eine evtl. nachfolgenden INKEY-Routine 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-Funktion 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 Kontrolle 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 logischen Druckertreiber FFE5H - JMP BSDR druckt den Inhalt des BWS und kehrt in das rufende Programm zurueck FFE2H - JMP HARDC uebergibt den Akkuinhalt an logischen Drucker- treiber 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 Druckertreibers FFCAH - JMP ZEIDR uebergibt ein Zeichen im Akku an physischen Druckertreiber FFC7H - JMP BLMK Lesen eines Blocks vom Headersave Parameteruebergabe: Zellen 25H/26H * Kopfinhalt des zu lesenden 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 Namenabfrage Parameteruebergabe wie bei SARUF FFBBH - JMP GETST Abfrage der Joysticks und Uebergabe des Er- gebnisses in BC (B-links,C-rechts) mit folgen- den Bit-Bedeutungen (Belegung mit 1): Bit 0 - links 1 - rechts 2 - runter 3 - hoch 4 - Aktionstaste Z-Flag=1, wenn keine Betaetigung vorliegt CY-Flag=1, wenn Spielhebel nicht angeschlossen FFB8H - JMP SOUND Ausgabe einer vollen Periode auf die Tonband- buchse, sowie auf Bit 7 vom Systemport (User-P) Uebergabe der Periodendauer in C mit T=n*33mks+20mks (2MHz)