summaryrefslogtreecommitdiff
path: root/system/shard-z80-ruc-64180/1.5/src/ZPAGE.INC
blob: a6edf3eb336b0b23342727b8bb699567cfa88841 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
	;		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