-
Notifications
You must be signed in to change notification settings - Fork 85
/
Copy pathequate
240 lines (240 loc) · 6.1 KB
/
equate
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
.PAG 'EQUATE 04/29/83'
;TAPE BLOCK TYPES
;
EOT = 5 ;END OF TAPE
BLF = 1 ;BASIC LOAD FILE
BDF = 2 ;BASIC DATA FILE
BDFH = 4 ;BASIC DATA FILE HEADER
BUFSZ = 192 ;BUFFER SIZE
CR = $D ;CARRIAGE RETURN
BASIC = $8000 ;START OF ROM (LANGUAGE)
KERNAL = $E000 ;START OF ROM (KERNAL)
.SKI 5
; 6845 VIDEO DISPLAY CONTROLLER FOR BC2
;
VDC = $D800
ADREG = $0 ;ADDRESS REGISTER
DAREG = $1 ;DATA REGISTER
.SKI 3
; 6581 SID SOUND INTERFACE DEVICE
; REGISTER LIST
SID = $DA00
;
; BASE ADDRESSES OSC1, OSC2, OSC3
OSC1 = $00
OSC2 = $07
OSC3 = $0E
;
; OSC REGISTERS
FREQLO = $00
FREQHI = $01
PULSEF = $02
PULSEC = $03
OSCCTL = $04
ATKDCY = $05
SUSREL = $06
;
; FILTER CONTROL
FCLOW = $15
FCHI = $16
RESNCE = $17
VOLUME = $18
;
; POTS, RANDOM NUMBER, AND ENV3 OUT
POTX = $19
POTY = $1A
RANDOM = $1B
ENV3 = $1C
.PAG 'EQUATE 6526'
; 6526 CIA COMPLEX INTERFACE ADAPTER
; GAME / IEEE DATA / USER
;
; TIMER A: IEEE LOCAL / CASS LOCAL / MUSIC / GAME
; TIMER B: IEEE DEADM / CASS DEADM / MUSIC / GAME
;
; PRA0 : IEEE DATA1 / USER / PADDLE GAME 1
; PRA1 : IEEE DATA2 / USER / PADDLE GAME 2
; PRA2 : IEEE DATA3 / USER
; PRA3 : IEEE DATA4 / USER
; PRA4 : IEEE DATA5 / USER
; PRA5 : IEEE DATA6 / USER
; PRA6 : IEEE DATA7 / USER / GAME TRIGGER 14
; PRA7 : IEEE DATA8 / USER / GAME TRIGGER 24
;
; PRB0 : USER / GAME 10
; PRB1 : USER / GAME 11
; PRB2 : USER / GAME 12
; PRB3 : USER / GAME 13
; PRB4 : USER / GAME 20
; PRB5 : USER / GAME 21
; PRB6 : USER / GAME 22
; PRB7 : USER / GAME 23
;
; FLAG : USER / CASSETTE READ
; PC : USER
; CT : USER
; SP : USER
;
CIA = $DC00
PRA = $0 ;DATA REG A
PRB = $1 ;DATA REG B
DDRA = $2 ;DIRECTION REG A
DDRB = $3 ;DIRECTION REG B
TALO = $4 ;TIMER A LOW BYTE
TAHI = $5 ;TIMER A HIGH BYTE
TBLO = $6 ;TIMER B LOW BYTE
TBHI = $7 ;TIMER B HIGH BYTE
TOD10 = $8 ;10THS OF SECONDS
TODSEC = $9 ;SECONDS
TODMIN = $A ;MINUTES
TODHR = $B ;HOURS
SDR = $C ;SERIAL DATA REGISTER
ICR = $D ;INTERRUPT CONTROL REGISTER
CRA = $E ;CONTROL REGISTER A
CRB = $F ;CONTROL REGISTER B
.PAGE 'EQUATE IPC'
;
; 6526 CIA FOR INTER-PROCESS COMMUNICATION
;
; PRA = DATA PORT
; PRB0 = BUSY1 (1=>6509 OFF DBUS)
; PRB1 = BUSY2 (1=>8088/Z80 OFF DBUS)
; PRB2 = SEMAPHORE 8088/Z80
; PRB3 = SEMAPHORE 6509
; PRB4 = UNUSED
; PRB5 = UNUSED
; PRB6 = IRQ TO 8088/Z80 (LO)
; PRB7 = UNUSED
;
IPCIA = $DB00
;
SEM88 = $04 ;PRB BIT2
SEM65 = $08 ;PRB BIT3
.PAGE 'EQUATE 6551'
; 6551 ACIA RS-232C AND NETWORK INTERFACE
;
ACIA = $DD00
DRSN = $00 ;TRANSMITT/RECEIVE DATA REGISTER
SRSN = $01 ;STATUS REGISTER
CDR = $02 ;COMMAND REGISTER
CTR = $03 ;CONTROL REGISTER
.SKI 5
DSRERR = $40 ;DATA SET READY ERROR
DCDERR = $20 ;DATA CARRIER DETECT ERROR
DOVERR = $08 ;RECEIVER OUTER BUFFER OVERRUN
.PAGE 'EQUATE 6525/D1'
; 6525 TPI1 TRIPORT INTERFACE DEVICE #1
; IEEE CONTROL / CASSETTE / NETWORK / VIC / IRQ
;
; PA0 : IEEE DC CONTROL (TI PARTS)
; PA1 : IEEE TE CONTROL (TI PARTS) (T/R)
; PA2 : IEEE REN
; PA3 : IEEE ATN
; PA4 : IEEE DAV
; PA5 : IEEE EOI
; PA6 : IEEE NDAC
; PA7 : IEEE NRFD
;
; PB0 : IEEE IFC
; PB1 : IEEE SRQ
; PB2 : NETWORK TRANSMITTER ENABLE
; PB3 : NETWORK RECEIVER ENABLE
; PB4 : ARBITRATION LOGIC SWITCH
; PB5 : CASSETTE WRITE
; PB6 : CASSETTE MOTOR
; PB7 : CASSETTE SWITCH
;
; IRQ0: 50/60 HZ IRQ
; IRQ1: IEEE SRQ
; IRQ2: 6526 IRQ
; IRQ3: (OPT) 6526 INTER-PROCESSOR
; IRQ4: 6551
; *IRQ: 6566 (VIC) / USER DEVICES
; CB : VIC DOT SELECT
; CA : VIC MATRIX SELECT
;
TPI1 = $DE00
PA = $0 ;PORT REGISTER A
PB = $1 ;PORT REGISTER B
PC = $2 ;PORT REGISTER C
LIR = $2 ;INTERRUPT LATCH REGISTER MC= 1
DDPA = $3 ;DATA DIRECTION REGISTER A
DDPB = $4 ;DATA DIRECTION REGISTER B
DDPC = $5 ;DATA DIRECTION REGISTER C
MIR = $5 ;INTERRUPT MASK REGISTER MC= 1
CREG = $6 ;CONTROL REGISTER
AIR = $7 ;ACTIVE INTERRUPT REGISTER
;
FREQ = $01 ;IRQ LINE 50/60 HZ FOUND ON...
.IFE SYSTEM <
ID55HZ = 27 ;55 HZ VALUE REQUIRED BY IOINIT
>
.IFN SYSTEM <
ID55HZ = 14 ;55HZ VALUE REQUIRED BY IOINIT
>
.PAGE 'EQUATE 6525/D2'
; 6525 TPI2 TIRPORT INTERFACE DEVICE #2
; KEYBOARD / VIC 16K CONTROL
;
; PA0 : KYBD OUT 8
; PA1 : KYBD OUT 9
; PA2 : KYBD OUT 10
; PA3 : KYBD OUT 11
; PA4 : KYBD OUT 12
; PA5 : KYBD OUT 13
; PA6 : KYBD OUT 14
; PA7 : KYBD OUT 15
;
; PB0 : KYBD OUT 0
; PB1 : KYBD OUT 1
; PB2 : KYBD OUT 2
; PB3 : KYBD OUT 3
; PB4 : KYBD OUT 4
; PB5 : KYBD OUT 5
; PB6 : KYBD OUT 6
; PB7 : KYBD OUT 7
;
; PC0 : KYBD IN 0
; PC1 : KYBD IN 1
; PC2 : KYBD IN 2
; PC3 : KYBD IN 3
; PC4 : KYBD IN 4
; PC5 : KYBD IN 5
; PC6 : VIC 16K BANK SELECT LOW
; PC7 : VIC 16K BANK SELECT HI
;
TPI2 = $DF00
.PAGE 'EQUATE IEEE LINES'
; IEEE LINE EQUATES
;
DC = $01 ;75160/75161 CONTROL LINE
TE = $02 ;75160/75161 CONTROL LINE
REN = $04 ;REMOTE ENABLE
ATN = $08 ;ATTENTION
DAV = $10 ;DATA AVAILABLE
EOI = $20 ;END OR IDENTIFY
NDAC = $40 ;NOT DATA ACCEPTED
NRFD = $80 ;NOT READY FOR DATA
IFC = $01 ;INTERFACE CLEAR
SRQ = $02 ;SERVICE REQUEST
;
RDDB = NRFD+NDAC+TE+DC+REN ;DIRECTIONS FOR RECEIVER
TDDB = EOI+DAV+ATN+TE+DC+REN ;DIRECTIONS FOR TRANSMITT
;
EOIST = $40 ;EOI STATUS TEST
TLKR = $40 ;DEVICE IS TALKER
LSTNR = $20 ;DEVICE IS LISTENER
UTLKR = $5F ;DEVICE UNTALK
ULSTN = $3F ;DEVICE UNLISTEN
;
TOOUT = $01 ;TIMEOUT STATUS ON OUTPUT
TOIN = $02 ;TIMEOUT STATUS ON INPUT
EOIST = $40 ;EOI ON INPUT
NODEV = $80 ;NO DEVICE ON BUS.
SPERR = $10 ;VERIFY ERROR
;
; EQUATES FOR C3P0 FLAG BITS 6 AND 7.
;
SLOCK = $40 ;SCREEN EDITOR LOCK-OUT
DIBF = $80 ;DATA IN OUTPUT BUFFER
.END