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
z1013:technische_daten [2011/09/18 11:26] – [Schaltungsunterlagen] volkerpz1013:technische_daten [2017/04/08 10:38] (aktuell) – [Schaltungsunterlagen] volkerp
Zeile 1: Zeile 1:
-====== technische Daten ====== +====== Entwicklungsunterlagen ======
  
 ===== Schaltungsunterlagen ===== ===== Schaltungsunterlagen =====
Zeile 6: Zeile 5:
 Der Z013-Bedienungslanleitung lagen Stromlaufpläne bei. Es gibt verschiedene Versionen zum Z1013.01 und zum Z1013.64. Der Z013-Bedienungslanleitung lagen Stromlaufpläne bei. Es gibt verschiedene Versionen zum Z1013.01 und zum Z1013.64.
  
 +  * {{:z1013:z1013.01-schaltung.pdf|}} Z1013.01
   * {{:z1013:z1013.64-schaltung.pdf|}} Z1013.64   * {{:z1013:z1013.64-schaltung.pdf|}} Z1013.64
  
Zeile 13: Zeile 13:
  
   * {{:z1013:z1013-schaltung-fa.pdf|}} FA 3/89+6/89   * {{:z1013:z1013-schaltung-fa.pdf|}} FA 3/89+6/89
 +
 +Seit 2016 gibt es verifizierte Unterlagen von U. Zander: 
 +
 +* http://www.sax.de/~zander/z1013/z13_hw.html
 +
 +
 +===== Speicheraufteilung =====
 +
 +^ Bereich          ^ Inhalt                                            ^
 +| 0000-00FFh       | Systemzellen                                      |
 +| 0069-008Fh       | Anwender-Stackbereich (Stack laeuft nach unten!)  |
 +| 0090-00AFh       | System-Stackbereich (Stack laeuft nach unten!)    |
 +| 00B0-00DFh       | Kommandoerweiterungstabelle                       |
 +| 00E0-00FFh       | Kassettenueberspielbereich                        |
 +| 0100-3FFF/EBFFh  | Anwenderprogramme                                 |
 +| EC00-EFFFh       | Bildwiederholspeicher BWS                         |
 +| F000-F7FFh       | Monitor (2k)                                      |
 +| F000-FFFFh       | Monitor (4k)                                      |
 +
 +
 +===== Systemrufe (Monitorfunktionen) =====
 +
 +die wichtigsten Systemzellen
 +
 +^ Name   ^ Adresse  ^ Anzahl Byte  ^ Bedeutung                                        ^
 +| 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                                    |
 +
 +
 +Übersicht. Detailierte Beschreibung s. TODO.
 +Befehlsaufruf als
 +
 +    RST 20H
 +    DB  nn
 +
 +^ RST 20H  ^ Funktion  ^ Beschreibung                                                     ^ Zellen/Bemerkung            ^ 2.02   ^ A2     ^
 +| DB 00H  | OUTCH     | Ausgabe des im A-Register stehenden Zeichens                     | A                           | F21BH  | F258H  |
 +| DB 01H  | INCH      | Eingabe eines Zeichens von der Tastatur. Warten bis Tastendruck  | A Ret bei A#0               | F20CH  | F219H  |
 +| DB 02H  | PRST7     | Stringausgabe                                                    | Ende Bit7=1                 | F2A5H  | F2E2H  |
 +| DB 03H  | INHEX     | Konv. ASCII HEX->Zahl                                            | Aadr=DE Zahl=HL             | F2F4H  | F331H  |
 +| DB 04H  | INKEY     | Tastaturabfrage                                                  | A + 0004H                   | F130H  | F119H  |
 +| DB 05H  | INLIN     | Eingabe einer Zeile                                              | Aadr=SOIL ENDE=0DH          | F2B3H  | F2F0H  |
 +| DB 06H  | OUTHX     | Ausgabe des A-Registers hexadezimal                              | A                           | F301H  | F33EH  |
 +| DB 07H  | OUTHL     | Ausgabe des HL-Registers hexadezimal                             | HL                          | F31AH  | F357H  |
 +| DB 08H  | CSAVE     | Kassettenspeichern                                               | Aadr=Arg1 Eadr=Arg2         | F369H  | F3A6H  |
 +| DB 09H  | CLOAD     | Kassettenladen                                                   | Aadr=Arg1 Eadr=Arg2         | F3F8H  | F435H  |
 +| DB 0AH  | MEM       | Modify Memory (M-Kommando)                                       | Aadr=Arg1                   | F325H  | F362H  |
 +| DB 0BH  | WIND      | Scrollbereich setzen                                             | Aadr=Arg1 Eadr+1=Arg2       | F6D1H  | F6F5H  |
 +| DB 0CH  | OTHLS     | Ausgabe HL + Space                                               | HL                          | F5C7H  | F604H  |
 +| DB 0DH  | OUTDP     | Ausgabe :+HL+Space                                               | HL                          | F5C4H  | F601H  |
 +| DB 0EH  | OUTSP     | Ausgabe Leerzeichen                                              |                             | F5CFH  | F60CH  |
 +| DB 0FH  | TRANS     | Speicherbereich verschieben                                      | Von=Arg1 Nach=Arg2 An=Arg3  | F51DH  | F55AH  |
 +| DB 10H  | INSTR     | Eingabe einer Zeichenkette                                       | Aadr=SOIL ohne'#'           | F2B9H  | F2F6H  |
 +| DB 11H  | KILL      | Speicherbereich füllen                                           | Aadr=Arg1 Eadr=Arg2 B=Arg3  | F50BH  | F548H  |
 +| DB 12H  | HEXUM     | Hexa-Umschaltung (2.02)                                          |                             | F6B8H  |        |
 +| DB 13H  | ALPHA     | Alpha-Umschaltung (2.02)                                                                     | F6C5H  |        |
 +
 +
  
 ===== Sprungverteiler ===== ===== Sprungverteiler =====
  
-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 dientDas Ziel der Vereinbarung bestand +Details s. [[z1013:software:sprungverteiler|]] 
-in einer weitestgehenden Portabilitaet von Programmen fuer den "Z 1013", auch wenn diese z.B. einen Sprung zu einem Druckertreiber enthalten sollenDer 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.  + 
 +Der Sprungverteiler ist eine Sprungliste zu erweiterten SystemfunktionenEr ist in den meisten 4K-Monitoren enthalten. 
 + 
 +Standort: FFB8h-FFFFh
  
 Sprungverteiler fuer Z 1013-Erweiterungen: Sprungverteiler fuer Z 1013-Erweiterungen:
  
-^ Adr. ^ Aufruf ^ Bemerkung ^ +^ Adr. ^ Aufruf ^ Beschreibung ^ Zellen/Bemerkung ^ 
-| FFFDH | JMP INKEY | holt ein Zeichen von Tastatur in den Akku; kommt beim 2. Aufruf nur zurueckwenn Taste zwischendurch losgelassen wurde +| FFFDH | JMP INKEY | holt Zeichen von Tastatur, wartet | A = Zeichen 
-| FFFAH | JMP POLL | bringt immer ein Zeichen im Akku zurueckegal ob Taste losgelassen wurde oder nicht +| FFFAH | JMP POLL | holt Zeichen von Tastaturwartet | A = Zeichen 
-| 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 +| FFF7H | JMP STAT | Tastaturstatus im Akku A=0 keine Taste gedruecktA=FFH - Taste gedrueckt | 
-| 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 +| FFF4 | JMP SARUF | Headersave 1BH - aadr 1DH - eadr 23H - sadr,\\ A=':' - SAVE mit vorherigen Werten, H(IY) = Typ oder 00h 
-| FFF1H | JMP LORUF | ruft LOAD-Routine des Headersave\\ ! zerstoert 1. Registersatz + AF'\\ Parameteruebergabe:\\ Zellen 1BH - neue Anfangsadresse des Files sonst 0\\       Akku     - ohne signifikante Kontrolle, 4EH - mit signifikanter Kopfkontrolle (Typ) + Namenabfrage\\ H(IY)    - Typ wird abgefragt H(IY) = Typkennzeichen (in ASCII) keine Typabfr.\\ L(IY)  20H Freigabe Autostart bei COM-Files +| FFF1H | JMP LORUF | Headerload |1BH - aadr/0, A=0 - ohne, =4EH - mit Kopfkontrolle (Typ) + Namenabfrage,\\  H(IY)=0 - Typ wird abgefragt, <>Typ,\\ L(IY) = ' ' - Autostart bei 'C' 
-| FFEEH | JMP ZMINI | Initialisierung der Z-Monitorrufe auf B0H | +| FFEEH | JMP ZMINI | Initialisierung Zusatzmonitor auf B0H 
-| FFEBH | JMP DRDEL | setzt den logischen Druckertreiber zurueck | +| FFEBH | JMP DRDEL | setzt den logischen Druckertreiber zurueck 
-| FFE8H | JMP DRAKK | uebergibt den Akkuinhalt an den logischen Druckertreiber | +| FFE8H | JMP DRAKK | logischer Druckertreiber | A=Zeichen 
-| FFE5H | JMP BSDR | druckt den Inhalt des BWS und kehrt in das rufende Programm zurueck +| FFE5H | JMP BSDR | Bildschirmkopie drucken 
-| 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 +| FFE2H | JMP HARDC | Hardcopy | A=Zeichen, Flag=???  
-| FFDFH | JMP DRZEL | wie DRAKK, nur das der Inhalt von 1BH uebergeben wird (vorgesehen, um im BASIC mit POKE zu drucken) +| FFDFH | JMP DRZEL | logischer Druckertreiber | 1BH=Zeichen 
-| FFDCH | JMP BEEP | erzeugen eines kurzen Signals +| FFDCH | JMP BEEP | kurzer Ton | 
-| FFD9H | JMP ASTA | Ausgabe Akkuinhalt als ASCII-Zeichen an PUNCH | +| FFD9H | JMP ASTA | Ausgabe ASCII an PUNCH | A=Zeichen |  
-| FFD6H | JMP BSTA | Ausgabe Akkuinhalt als Byte an PUNCH | +| FFD6H | JMP BSTA | Ausgabe Byte an PUNCH | A=Byte |  
-| FFD3H | JMP AIN | Eingabe eines ASCII-Zeichens vom LBL in den Akku +| FFD3H | JMP AIN | Eingabe ASCII-Zeichen von LBL | ret A=Zeichen 
-| FFD0H | JMP BIN | Eingabe eines Bytes vom LBL in den Akku |+| FFD0H | JMP BIN | Eingabe Byte vo LBL  | ret A=Byte |
 | FFCDH | JMP DRINI | Initialisierung des logischen Druckertreibers | | FFCDH | JMP DRINI | Initialisierung des logischen Druckertreibers |
-| FFCAH | JMP ZEIDR | uebergibt ein Zeichen im Akku an physischen Druckertreiber | +| FFCAH | JMP ZEIDR | physischer Druckertreiber | A=Zeichen 
-| 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) +| FFC7H | JMP BLMK | Headersave Block lesen | 25H/26H=Kopf, HL=Ladeadr, ret. 25H/26H=Kopf+20HHL:=HL+20H | 
-| FFC4H | JMP BSMK | Schreiben eines Blocks im Headersave\\ Parameteruebergabe:\\ HL  * Quelladresse Block\\ IX  * Kopfinhalt\\ DE  Anzahl der Sync.-Bits\\ Return:\\ HL  * HL:=HL+20H | +| FFC4H | JMP BSMK | Headersave Block schreiben | HL=adr, IX=Kopf, DE=Anzahl der Sync.-Bits, ret HL:=HL+20H | 
-| FFC1H | JMP SUCHK | Suchen eines Kopfblocks und Uebergabe des Inhalts im Kopfpuffer (E0-FF), keine Auswertung +| FFC1H | JMP SUCHK | Suchen eines Kopfblocks 
-| FFBEH | JMP AKP | Aufbereitung Kopfpuffer mit Namenabfrage\\ Parameteruebergabe wie bei SARUF +| FFBEH | JMP AKP | Aufbereitung Kopfpuffer mit Namenabfrage 
-| 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 vorliegt\\ CY-Flag=1, wenn Spielhebel nicht angeschlossen +| FFBBH | JMP GETST | Abfrage der Joysticks | ret BC (B-links,C-rechts) | 
-| FFB8H | JMP SOUND | Ausgabe einer vollen Periode auf die Tonbandbuchse, sowie auf Bit 7 vom Systemport (User-P)\\ Uebergabe der Periodendauer in mit T=n*33us+20us (2MHz) |+| FFB8H | JMP SOUND | Soundausgabe | C =Periodendauer | 
  
 ===== Systemzellen ===== ===== Systemzellen =====
Zeile 193: Zeile 258:
   TC: EQU 78H ;TERMINAL COUNT   TC: EQU 78H ;TERMINAL COUNT
  
-NANOS ???+CCJena FDC (?)
  
   ;FDC-Adressen   ;FDC-Adressen
  • z1013/technische_daten.1316345210.txt.gz
  • Zuletzt geändert: 2011/09/18 11:26
  • von volkerp