Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
z1013:technische_daten [2010/08/26 06:55] – volkerp | z1013:technische_daten [2012/12/04 19:06] – volkerp | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
+ | ===== Schaltungsunterlagen ===== | ||
- | ===== Sprungverteiler ===== | + | Der Z013-Bedienungslanleitung lagen Stromlaufpläne bei. Es gibt verschiedene Versionen zum Z1013.01 und zum Z1013.64. |
- | Von der Interessengemeinschaft Heimcomputer der KdT des IZ der TU-Dresden wurde ein Sprungverteiler vereinbart, der zur Einbindung von Erweiterungen des "Z 1013" | + | * {{: |
- | 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, | + | * {{: |
- | Sprungverteiler fuer Z 1013-Erweiterungen: | + | Die Stromlaufpläne vom Z1013 entprechen leider nicht den von anderen Rechnern gewohnten Standards. In allen Version gibt es offenbar Fehler und Ungereimtheiten. |
- | < | + | Auch im Funkamateur wurden |
- | | + | |
- | Akku; kommt beim 2. Aufruf nur zurueck, | + | |
- | wenn Taste zwischendurch losgelassen | + | |
- | wurde | + | |
- | FFFAH - JMP POLL | + | |
- | rueck, egal ob Taste losgelassen wurde | + | |
- | oder nicht | + | |
- | FFF7H - JMP STAT | + | ===== Speicheraufteilung ===== |
- | 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 | + | |
- | ' | + | |
- | um eine evtl. nachfolgenden INKEY-Rou- | + | |
- | tine nicht zu sperren | + | |
- | FFF4 - JMP SARUF ruft die SAVE-Routine des Headersave | + | ^ Bereich |
- | ! zerstoert 1. Registersatz + AF' | + | | 0000-00FFh | Systemzellen |
- | | + | | 0069-008Fh |
- | Zellen 1BH - anfadr. | + | | 0090-00AFh | System-Stackbereich (Stack laeuft nach unten!) |
- | | + | | 00B0-00DFh | Kommandoerweiterungstabelle |
- | 23H - strtadr. | + | | 00E0-00FFh | Kassettenueberspielbereich |
- | | + | | 0100-3FFF/ |
- | tion mit gleichem Kopf | + | | EC00-EFFFh |
- | H(IY) | + | | F000-F7FFh |
+ | | F000-FFFFh | ||
- | FFF1H - JMP LORUF ruft LOAD-Routine des Headersave | ||
- | ! zerstoert 1. Registersatz + AF' | ||
- | Parameteruebergabe: | ||
- | Zellen 1BH - neue Anfangsadresse des | ||
- | Files sonst 0 | ||
- | Akku | ||
- | le | ||
- | 4EH - mit signifikanter Kopfkontrolle | ||
- | (Typ) + Namenabfrage | ||
- | | ||
- | Typkennzeichen (in ASCII), | ||
- | keine Typabfr. | ||
- | | ||
- | COM-Files | ||
- | FFEEH - JMP ZMINI Initialisierung der Z-Monitorrufe | + | ===== Systemrufe (Monitorfunktionen) ===== |
- | auf B0H | + | |
- | FFEBH - JMP DRDEL setzt den logischen Druckertreiber | + | die wichtigsten Systemzellen |
- | | + | |
- | FFE8H - JMP DRAKK uebergibt den Akkuinhalt an den lo- | + | ^ Name ^ Adresse |
- | | + | | SOIL | 0016 | 2 | Anfangsadresse der Eingabezeile (Eingabepuffer) |
+ | | ARG1 | 001B | 2 | 1. Parameter eines Kommandos | ||
+ | | ARG2 | 001D | 2 | 2. Parameter | ||
+ | | ARG3 | 0023 | 2 | 3. Parameter | ||
+ | | CURSR | 002B | 2 | Kursoradresse | ||
- | FFE5H - JMP BSDR | ||
- | in das rufende Programm zurueck | ||
- | FFE2H - JMP HARDC uebergibt den Akkuinhalt an logischen | + | Übersicht. Detailierte Beschreibung s. TODO. |
- | | + | Befehlsaufruf als |
- | gesetzt ist; | + | |
- | wandelt CR (0DH) in NL (1EH/ | + | |
- | ! nur verwenden, wenn Programm eine | + | |
- | eigene Bildschirmverwaltung hat | + | |
- | FFDFH - JMP DRZEL wie DRAKK, nur das der Inhalt von | + | RST 20H |
- | 1BH uebergeben | + | DB nn |
- | wird (vorgesehen, | + | |
- | zu drucken) | + | |
- | FFDCH - JMP BEEP | + | ^ RST 20H ^ Funktion |
+ | | DB 00H | OUTCH | Ausgabe des im A-Register stehenden Zeichens | ||
+ | | DB 01H | INCH | Eingabe | ||
+ | | DB 02H | PRST7 | Stringausgabe | ||
+ | | DB 03H | INHEX | Konv. ASCII HEX-> | ||
+ | | DB 04H | INKEY | Tastaturabfrage | ||
+ | | DB 05H | INLIN | Eingabe einer Zeile | Aadr=SOIL ENDE=0DH | ||
+ | | DB 06H | OUTHX | Ausgabe des A-Registers hexadezimal | ||
+ | | DB 07H | OUTHL | Ausgabe des HL-Registers hexadezimal | ||
+ | | DB 08H | CSAVE | Kassettenspeichern | ||
+ | | DB 09H | CLOAD | Kassettenladen | ||
+ | | DB 0AH | MEM | Modify Memory (M-Kommando) | ||
+ | | DB 0BH | WIND | Scrollbereich setzen | ||
+ | | DB 0CH | OTHLS | Ausgabe HL + Space | HL | F5C7H | F604H | | ||
+ | | DB 0DH | OUTDP | Ausgabe : | ||
+ | | DB 0EH | OUTSP | Ausgabe Leerzeichen | ||
+ | | DB 0FH | TRANS | Speicherbereich verschieben | ||
+ | | DB 10H | INSTR | Eingabe einer Zeichenkette | ||
+ | | DB 11H | KILL | Speicherbereich füllen | ||
+ | | DB 12H | HEXUM | Hexa-Umschaltung (2.02) | ||
+ | | DB 13H | ALPHA | Alpha-Umschaltung (2.02) | ||
- | FFD9H - JMP ASTA | ||
- | an PUNCH | ||
- | FFD6H - JMP BSTA | ||
+ | ===== Sprungverteiler ===== | ||
- | FFD3H - JMP AIN Eingabe eines ASCII-Zeichens vom LBL | + | Details s. [[z1013: |
- | in den Akku | + | |
- | FFD0H - JMP BIN Eingabe eines Bytes vom LBL in den | + | Der Sprungverteiler ist eine Sprungliste zu erweiterten Systemfunktionen. Er ist in den meisten 4K-Monitoren enthalten. |
- | Akku | + | |
- | | + | Standort: FFB8h-FFFFh |
- | treibers | + | |
- | | + | Sprungverteiler fuer Z 1013-Erweiterungen: |
- | sischen Druckertreiber | + | |
- | | + | ^ Adr. ^ Aufruf ^ Beschreibung ^ Zellen/ |
- | Parameteruebergabe: | + | | FFFDH | JMP INKEY | holt Zeichen von Tastatur, wartet | A = Zeichen | |
- | | + | | FFFAH | JMP POLL | holt Zeichen von Tastatur, wartet | A = Zeichen | |
- | | + | | FFF7H | JMP STAT | Tastaturstatus im Akku | A=0 keine Taste gedrueckt, A=FFH - Taste gedrueckt | |
- | | + | | FFF4 | JMP SARUF | Headersave |
- | | + | | FFF1H | JMP LORUF | Headerload |1BH - aadr/0, A=0 - ohne, =4EH - mit Kopfkontrolle (Typ) + Namenabfrage, |
- | | + | | FFEEH | JMP ZMINI | Initialisierung Zusatzmonitor auf B0H | | |
- | HL * HL: | + | | FFEBH | JMP DRDEL | setzt den logischen Druckertreiber zurueck | | |
- | | + | | FFE8H | JMP DRAKK | logischer Druckertreiber | A=Zeichen | |
- | oder DMA > Endadr in ARG2 (1DH) | + | | FFE5H | JMP BSDR | Bildschirmkopie drucken | |
+ | | FFE2H | JMP HARDC | Hardcopy | A=Zeichen, Flag=??? | ||
+ | | FFDFH | JMP DRZEL | logischer Druckertreiber | 1BH=Zeichen | | ||
+ | | FFDCH | JMP BEEP | kurzer Ton | | | ||
+ | | FFD9H | JMP ASTA | Ausgabe ASCII an PUNCH | A=Zeichen | | ||
+ | | FFD6H | JMP BSTA | Ausgabe Byte an PUNCH | A=Byte | | ||
+ | | FFD3H | JMP AIN | Eingabe ASCII-Zeichen von LBL | ret A=Zeichen | | ||
+ | | FFD0H | JMP BIN | Eingabe Byte vo LBL | ret A=Byte | | ||
+ | | FFCDH | JMP DRINI | Initialisierung | ||
+ | | FFCAH | JMP ZEIDR | physischer Druckertreiber | A=Zeichen | | ||
+ | | FFC7H | JMP BLMK | Headersave Block lesen | 25H/26H=Kopf, HL=Ladeadr, ret. 25H/ | ||
+ | | FFC4H | JMP BSMK | Headersave Block schreiben | HL=adr, IX=Kopf, DE=Anzahl der Sync.-Bits, ret HL: | ||
+ | | FFC1H | JMP SUCHK | Suchen eines Kopfblocks | | | ||
+ | | FFBEH | JMP AKP | Aufbereitung Kopfpuffer mit Namenabfrage | | | ||
+ | | FFBBH | JMP GETST | Abfrage der Joysticks | ret BC (B-links, | ||
+ | | FFB8H | JMP SOUND | Soundausgabe | C =Periodendauer | | ||
- | FFC4H - JMP BSMK | ||
- | Parameteruebergabe: | ||
- | HL * Quelladresse Block | ||
- | IX * Kopfinhalt | ||
- | DE * Anzahl der Sync.-Bits | ||
- | Return: | ||
- | HL * HL:=HL+20H | ||
- | FFC1H - JMP SUCHK Suchen eines Kopfblocks und Uebergabe | + | ===== Systemzellen ===== |
- | des Inhalts im Kopfpuffer (E0-FF), keine | + | |
- | Auswertung | + | |
- | FFBEH - JMP AKP Aufbereitung Kopfpuffer mit Namenab- | + | ^ ADR ^ BYTE ^ FUNKTION |
- | frage | + | | 0000 | 3 | Sprung zum Warmstart |
- | | + | | 0003 | 1 | Befehlscode bei RST 20H | Geraetezuweisg. (I/O-Byte) | |
- | + | | 0004 | 1 | letztes Zeichen Tastatur | |
- | FFBBH - JMP GETST Abfrage der Joysticks und Uebergabe | + | | 0005 | 3 | CALL 0005H | | |
- | des Ergebnisses in BC (B-links, | + | | 0008 | 3 | RST 8H | | |
- | mit folgenden Bit-Bedeutungen | + | | 000B | 2 | Breakpointadr. |
- | | + | | 000D | 3 | Operandenfolge |
- | Bit 0 - links | + | | 0010 | 3 | RST 10H |
- | | + | | 0013 | 2 | Adr. bei INHEX | | |
- | 2 - runter | + | | 0015 | 1 |
- | | + | | 0016 | 2 | SOIL | | |
- | | + | | 0018 | 3 | RST 18H | Sprung zu Monitor |
- | Z-Flag=1, wenn keine Betaetigung vor- | + | | 001B | 2 | ARG 1 | | |
- | liegt | + | | 001D | 2 | ARG 2 |
- | CY-Flag=1, wenn Spielhebel nicht ange- | + | | 001F | 1 | vom Cursor verdecktes Zeichen |
- | | + | | 0020 | 3 | RST 20H |
- | + | | 0023 | 2 | ARG 3 | |
- | FFB8H - JMP SOUND Ausgabe einer vollen Periode auf die | + | | 0025 | 2 | Cursorpos. nach Kommandokonv. |
- | | + | | 0027 | 1 | ASCII/ |
- | | + | | 0028 | 3 | RST 28H |
- | | + | | 002B | 2 | akt. Cursorposition |
- | | + | | 002D | 3 | BER 3 frei | 2D:Zeilenzaehler\\ 2E:max. Zeilenzahl\\ 2F: |
- | </ | + | | 0030 | 3 | RST 30H |
- | + | | 0033 | 2 | Kenntonlaenge | |
- | + | | 0035 | 3 | Tastaturcodetab. | |
- | ===== Systemzellen ===== | + | | 0038 | 3 | RST 38H |
+ | | 003B | 12 | Tastaturcodetab. | ||
+ | | 0047 | 2 | WINDOW-Laenge | ||
+ | | 0049 | 2 | ||
+ | | 004B | 2 | -" | ||
+ | | 004D | 2 | Reg.retteber.: | ||
+ | | 004F | 2 | ||
+ | | 0051 | 2 | ||
+ | | 0053 | 2 | ||
+ | | 0055 | 2 | -" | ||
+ | | 0057 | 2 | ||
+ | | 0059 | 2 | -" | ||
+ | | 005B | 2 | -" | ||
+ | | 005D | 2 | -"- | ||
+ | | 005F | 2 | ||
+ | | 0061 | 2 | ||
+ | | 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 | ||
+ | | 0090-00AFH | ||
+ | | 00B0-00DFH | ||
+ | | 00E0-00FFH | ||
- | ^ 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 | ||
- | | 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/ | ||
- | | 0028 | 3 | RST 28H | | | ||
- | | 002B | 2 | akt. Cursorposition | | | ||
- | | 002D | 3 | BER 3 frei | 2D: | ||
- | | 0030 | 3 | RST 30H | | | ||
- | | 0033 | 2 | Kenntonlaenge | | | ||
- | | 0035 | 3 | Tastaturcodetab. | | | ||
- | | 0038 | 3 | RST 38H | | | ||
- | | 003B | 12 | Tastaturcodetab. | | | ||
- | | 0047 | 2 | WINDOW-Laenge | | | ||
- | | 0049 | 2 | -" | ||
- | | 004B | 2 | -" | ||
- | | 004D | 2 | Reg.retteber.: | ||
- | | 004F | 2 | -" | ||
- | | 0051 | 2 | -" | ||
- | | 0053 | 2 | -" | ||
- | | 0055 | 2 | -" | ||
- | | 0057 | 2 | -" | ||
- | | 0059 | 2 | -" | ||
- | | 005B | 2 | -" | ||
- | | 005D | 2 | -" | ||
- | | 005F | 2 | -" | ||
- | | 0061 | 2 | -" | ||
- | | 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 | | | ||
===== I/ | ===== I/ | ||
Zeile 293: | Zeile 253: | ||
TC: | TC: | ||
- | NANOS ??? | + | CCJena FDC (?) |
; | ; |