summaryrefslogtreecommitdiff
path: root/system/shard-z80-ruc-64180/1.5/src/ZPAGE.INC
diff options
context:
space:
mode:
Diffstat (limited to 'system/shard-z80-ruc-64180/1.5/src/ZPAGE.INC')
-rw-r--r--system/shard-z80-ruc-64180/1.5/src/ZPAGE.INC155
1 files changed, 155 insertions, 0 deletions
diff --git a/system/shard-z80-ruc-64180/1.5/src/ZPAGE.INC b/system/shard-z80-ruc-64180/1.5/src/ZPAGE.INC
new file mode 100644
index 0000000..43e51a3
--- /dev/null
+++ b/system/shard-z80-ruc-64180/1.5/src/ZPAGE.INC
@@ -0,0 +1,155 @@
+ ; 05..09 GRAFIK
+basl EQU 0A ; DISK (HCOPY im IRQ)
+bash EQU 0B ; DISK (HCOPY im IRQ)
+
+sektor EQU 0C ; DISK65
+last_track EQU 0D ; DISK65
+bus_locked EQU 0E ; DISK65 ; Interrupt Flag
+analogwert EQU 0F ; DISK65
+
+rbuf EQU 10 ; 10 Bytes Receive-Buffer Descriptor
+
+keyin EQU 1A ; DISK
+keyout EQU 1B ; DISK
+
+err1_bits EQU 1C ; DISK
+err5_bits EQU 1D ; DISk
+
+quotient EQU 1E ; GRAFIK
+divmask EQU 1F ; GRAFIK
+
+temporary EQU 1E ; +1F GRAFIK
+
+; Paket Variable (duerfen Global NICHT veraendert werden!)
+
+thick EQU 05 ; GRAFIK
+colormask EQU 06 ; GRAFIK
+bitmode EQU 07 ; GRAFIK
+savepattern EQU 08 ; +09 GRAFIK
+pattern EQU 24 ; +25 GRAFIK
+pagebase EQU 2A ; GRAFIK
+xpos EQU 2B ; +2C GRAFIK
+ypos EQU 2D ; +2E GRAFIK
+
+; Workspace
+
+xpointer EQU 26 ; GRAFIK
+ypointer EQU 27 ; GRAFIK
+
+olderror EQU 28 ; +29 GRAFIK
+
+right EQU 3D ; GRAFIK
+up EQU 3E ; GRAFIK
+
+uprighterror EQU 3F ; +40 GRAFIK
+;
+ASave equ 45 ; DISK
+XSave equ 46 ; DISK
+YSave equ 47 ; DISK
+
+;
+ ; Basis-Schnittstellen:
+KeyBuf equ 0200 ; Page 2 fuer KeyBuf
+wrkpage EQU 080 ; 8k Workpage fuer Fill-Routine
+dma_4k EQU 0E0 ; DISK65
+DBUFBEG EQU 0D0 ;Printer Spooler Grenzen (4k)
+DBUFEND EQU 0E0 ; DISK (LC00)
+stack EQU 0D000 ; GRAFIK (LC01)
+SBUFBEG EQU 0F0 ;Seriell Ausgabe-Spooler Grenzen (1k)
+SBUFEND EQU 0F4 ; DISK
+RBUFBEG EQU 0F4 ; Serieller Empfangspuffer (2.25k)
+RBUFEND EQU 0FD ; DISK
+
+ ; Dummy-Block-Buffer fuer SCSI: FD00..FEFF
+ ; 64180-Card-Schnittstellen:
+ ; DBUF (Centronics): A000..AFFF
+ ; SCCA : B000..B7FF
+ ; SCCB : B800..BFFF
+
+
+; 64180 interface
+
+DMA equ 50 ; 50..6F DISK, DISK65
+address equ 50 ; +51 GRAFIK
+dx equ 52 ; +53 GRAFIK
+dy equ 54 ; +55 GRAFIK
+righterror equ 54 ; +55 GRAFIK (wie dy!)
+tempmode equ 56 ; GRAFIK
+
+sec_tble equ 70 ; 70..7F DISK, DISK65
+areg equ 70 ; +71 GRAFIK
+breg equ 72 ; +72 GRAFIK
+creg equ 74 ; +75 GRAFIK
+xa equ 76 ; +77 GRAFIK
+xb equ 78 ; +79 GRAFIK
+ya equ 7A ; +7B GRAFIK
+yb equ 7C ; +7D GRAFIK
+link equ 7E ; +7F GRAFIK
+
+task equ 80 ; 80 DISK, DISK65
+subtask EQU 81 ; GRAFIK
+result EQU 81 ; GRAFIK
+param equ 81 ; DISK, DISK65
+param1 EQU 82 ; +83 GRAFIK
+def_byte equ 82 ; DISK, DISK65
+disk_no equ 83 ; DISK, DISK65
+param2 EQU 84 ; +85 GRAFIK
+iob_trk equ 84 ; DISK, DISK65
+sec_cnt equ 85 ; DISK, DISK65
+iob_err equ 86 ; DISK, DISK65
+
+; work space
+
+wait_Cnt equ 87 ; DISK
+user_data equ 89 ; DISK
+dest_phase equ 8B ; DISK
+chk_in_hdr equ 8C ; DISK
+sec_in_hdr equ 8D ; DISK
+trk_in_hdr equ 8E ; DISK
+vol_in_hdr equ 8F ; DISK
+slot10z equ 90 ; slot #: s0 DISK
+iob_drv equ 91 ; DISK
+phase equ 92 ; DISK
+iob_sec equ 93 ; DISK
+chk_sum equ 94 ; DISK
+temp2 equ 95 ; DISK
+head_pos equ 96 ; DISK
+tktry_cnt equ 97 ; DISK
+hdtry_cnt equ 98 ; DISK
+recal_cnt equ 99 ; DISK
+A_FLG EQU 9A ; Flags fuer Ausgabeflusskontrolle
+E_FLG EQU 9B ; Flags fuer Eingabeflusskontrolle
+SerFLG EQU 9C ; Break/Ausgabestopflags
+Wait_Flg EQU 9D ; 64180 muss auf Update warten
+IFLG EQU 9E ; Bit 7 = 1: Keine Inputinterrupt Kanal 5
+SLOT180 EQU 9F ; Bootslot (Kopie)
+;
+ilv_tble EQU $A0 ; A0..AF DISK, DISK65
+
+; Offset auf Buffer-Descriptor
+
+free equ 0 ; Freiplatz in Bytes
+full equ 2 ; Anzahl Zeichen im Puffer
+in equ 4 ; Schreibzeiger
+out equ 6 ; Lesezeiger
+beg equ 8 ; Highbyte Pufferanfang
+end equ 9 ; Highbyte Pufferende
+
+pbuf equ 0E0 ; 10 Bytes Spooler Descriptor
+;
+; Interruptparameter zum 64180
+;
+INTPAR1 EQU 0EA ; Interrupt Kanalnr. und Sync.
+INTPAR2 EQU 0EB ; DISK
+INTPAR3 EQU 0EC ; Fehlerbits DISK
+
+tbuf EQU 0F0 ; 10 Bytes Transmit-Buffer Descrptor
+
+SLT180 EQU 04F8 ; Bootslot DISK
+
+start180 equ 0C087 ; DISK
+wait180 equ 0C086 ; DISK
+STOP180 equ 0C084 ; DISK
+INT180 EQU 0C083 ; DISK
+
+ \ No newline at end of file