OpenCores
URL https://opencores.org/ocsvn/System09/System09/trunk

Subversion Repositories System09

[/] [System09/] [trunk/] [src/] [sys09bug/] [sys09equ.asm] - Blame information for rev 59

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 59 davidgb
*
2
***************************************************
3
*   MEMORY MAP EQUATES                            *
4
***************************************************
5
MONIO  EQU $E000  I/O SPACE
6
       IFD S3EOPT
7
MONRAM EQU $7FC0
8
       ELSE
9
MONRAM EQU $DFC0  STACK SPACE
10
       ENDIF S3EOPT
11
MONROM EQU $F800  START OF ROM
12
       IFD S3SOPT
13
MONEXT EQU $F000  START OF EXTENDED COMMANDS
14
EXTCMD EQU $00    EXTENDED OFFSET
15
       ENDIF S3SOPT
16
       IFD XESOPT
17
MONEXT EQU $F000  START OF EXTENDED COMMANDS
18
EXTCMD EQU $00    EXTENDED OFFSET
19
       ENDIF XESOPT
20
***************************************************
21
 
22
        IFD S3EOPT
23
*
24
* DIGILENT SPARTAN 3E STARTER
25
*
26
ACIAOPT EQU $FF ACIA AT PORT 0
27
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
28
VDUOPT  EQU $FF VDU AT $E030
29
TRAOPT  EQU $FF PIA TRACE TIMER
30
        ENDIF S3EOPT
31
*
32
        IFD S3SOPT
33
*
34
* DIGILENT SPARTAN 3 STARTER
35
*
36
ACIAOPT EQU $FF ACIA AT PORT 0
37
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
38
VDUOPT  EQU $FF VDU AT $E030
39
CF8OPT  EQU $FF COMPACT FLASH AT $E040
40
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
41
EXTOPT  EQU $FF EXTENDED COMMANDS
42
        ENDIF S3SOPT
43
*
44
        IFD B5XOPT
45
*
46
* BURCHED B5-X300
47
*
48
ACIAOPT EQU $FF ACIA AT PORT 0
49
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
50
VDUOPT  EQU $FF VDU AT $E030
51
CF8OPT  EQU $FF COMPACT FLASH AT $E040
52
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
53
        ENDIF B5XOPT
54
*
55
        IFD XESOPT
56
*
57
* XESS XSA-3S1000 & XST-3.0
58
*
59
ACIAOPT EQU $FF ACIA AT PORT 0
60
PS2OPT  EQU $FF PS2 KEYBOARD AT $E020
61
VDUOPT  EQU $FF VDU AT $E030
62
IDEOPT  EQU $FF XESS IDE AT $E100
63
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
64
EXTOPT  EQU $FF EXTENDED COMMANDS
65
        ENDIF XESOPT
66
*
67
        IFD ADSOPT
68
*
69
* ACKERMAN DIGITAL ADS6809
70
*
71
DG640OPT  EQU $FF DG640 VDU AT $E800
72
*RTCOPT  EQU $FF REAL TIME CLOCK
73
PRTOPT  EQU $FF PRINTER DRIVERS
74
MFDCOPT EQU $FF MINIFLOPPY 5.25" DISK BOOT
75
        ENDIF ADSOPT
76
*
77
        IFD SWTOPT
78
*
79
* SOUTH WEST TECHNICAL PRODUCTS COMPUTER
80
*
81
ACIAOPT EQU $FF ACIA AT PORT 0
82
DMAFOPT EQU $FF DMAF2 8" FLOPPY DISK BOOT
83
MFDCOPT EQU $FF MINIFLOPPY 5.25" DISK BOOT
84
DATOPT  EQU $FF DYNAMIC ADDRESS TRANSLATION
85
        ENDIF
86
*
87
        IFD   ACIAOPT
88
*
89
***************************************************
90
*   SERIAL PORT                                   *
91
***************************************************
92
*
93
** ACIA SITS ON PORT 0
94
*
95
ACIAS   EQU   MONIO+$00   CONTROL PORT
96
*
97
        ENDIF ACIAOPT
98
        IFD   MFDCOPT
99
*
100
***************************************************
101
*   MINIFLOPPY DRIVE                              *
102
***************************************************
103
*
104
** FLOPPY DISK CONTROLLER SITS ON PORT 1
105
*
106
DRVFDC  EQU   MONIO+$14
107
CMDFDC  EQU   MONIO+$18
108
SECFDC  EQU   MONIO+$1A
109
DATFDC  EQU   MONIO+$1B
110
        ENDIF MFDCOPT
111
        IFD PS2OPT
112
*
113
***************************************************
114
*   VDU8 PS/2 KEYBOARD PORT                       *
115
***************************************************
116
*
117
** KEYBOARD SITS ON PORT 2
118
*
119
PS2KBD  EQU   MONIO+$20   PS/2 KEYBOARD PORT
120
        ENDIF PS2OPT
121
        IFD VDUOPT
122
*
123
***************************************************
124
*   VDU8 DISPLAY DRIVER EQUATES                   *
125
***************************************************
126
*
127
** VDU8 DISPLAY SITS ON PORT 3
128
*
129
VDU     EQU   MONIO+$30
130
VDUCHR  EQU   0        CHARACTER REGISTER
131
VDUATT  EQU   1        ATTRIBUTE REGISTER
132
VDUCOL  EQU   2        CURSOR COLUMN
133
VDUROW  EQU   3        CURSOR ROW
134
VDUOFF  EQU   4        ROW OFFSET
135
*
136
LINLEN  EQU   80       LENGTH OF A LINE
137
NUMLIN  EQU   25       NUMBER OF LINES
138
        ENDIF VDUOPT
139
*
140
           IFD CF8OPT
141
*
142
***************************************************
143
*   COMPACT FLASH EQUATES 8 BIT TRANSFER          *
144
***************************************************
145
*
146
** COMPACT FLASH SITS AT PORT 4
147
*
148
CF_BASE    EQU MONIO+$40
149
CF_DATA    EQU CF_BASE+0
150
CF_ERROR   EQU CF_BASE+1 ; read error
151
CF_FEATURE EQU CF_BASE+1 ; write feature
152
CF_SECCNT  EQU CF_BASE+2
153
CF_SECNUM  EQU CF_BASE+3
154
CF_CYLLO   EQU CF_BASE+4
155
CF_CYLHI   EQU CF_BASE+5
156
CF_HEAD    EQU CF_BASE+6
157
CF_STATUS  EQU CF_BASE+7 ; read status
158
CF_COMAND  EQU CF_BASE+7 ; write command
159
*
160
* Command Equates
161
*
162
CMDREAD    EQU $20 ; Read Single sector
163
CMDWRITE   EQU $30 ; Write Single sector
164
CMDFEATURE EQU $EF
165
FEAT8BIT   EQU $01 ; enable 8 bit transfers
166
HEADLBA    EQU $E0
167
*
168
* Status bit equates
169
*
170
BUSY       EQU $80
171
DRDY       EQU $40
172
DRQ        EQU $08
173
ERR        EQU $01
174
*
175
           ENDIF CF8OPT
176
*
177
           IFD IDEOPT
178
*
179
***************************************************
180
*   COMPACT FLASH EQUATES 16 BIT TRANSFER (XESS)  *
181
***************************************************
182
*
183
** COMPACT FLASH SITS AT PORT 4
184
*
185
CF_BASE    EQU MONIO+$0100
186
CF_DATA    EQU CF_BASE+0
187
CF_ERROR   EQU CF_BASE+2 ; read error
188
CF_FEATURE EQU CF_BASE+2 ; write feature
189
CF_SECCNT  EQU CF_BASE+4
190
CF_SECNUM  EQU CF_BASE+6
191
CF_CYLLO   EQU CF_BASE+8
192
CF_CYLHI   EQU CF_BASE+10
193
CF_HEAD    EQU CF_BASE+12
194
CF_STATUS  EQU CF_BASE+14 ; read status
195
CF_COMAND  EQU CF_BASE+14 ; write command
196
CF_AUX     EQU CF_BASE+30
197
*
198
* Command Equates
199
*
200
CMDREAD    EQU $20 ; Read Single sector
201
CMDWRITE   EQU $30 ; Write Single sector
202
AUXRESET   EQU $06 ; Reset IDE
203
AUXRSTREL  EQU $02 ; Reset release IRQ masked
204
HEADLBA    EQU $E0
205
*
206
* Status bit equates
207
*
208
BUSY       EQU $80
209
DRDY       EQU $40
210
DRQ        EQU $08
211
ERR        EQU $01
212
*
213
           ENDIF CF8OPT
214
*
215
        IFD RTCOPT
216
*
217
**************************************************
218
* MM58167A REAL TIME CLOCK MEMORY MAP:
219
**************************************************
220
*
221
** REAL TIME CLOCK SITS ON PORT 4 AND PORT 5
222
*
223
CLOCK  EQU MONIO+$40 CLOCK BASE ADDRESS AND REGISTERS
224
*
225
* COUNTER AND COMPARITOR REGISTERS:
226
*
227
* Both the Clock Counter and Clock Comparitor
228
* consist of 8 registers for holding the time.
229
* The register offsets from the Counter and
230
* Comparitor registers are listed above.
231
*
232
COUNTR EQU CLOCK+0
233
CMPRAM EQU CLOCK+8 COMPARITOR REGISTERS
234
*
235
* CLOCK REGISTER OFFSETS:
236
* These register offsets are used for the CLOCK
237
* and comparitor ram CMPRAM.
238
*
239
S10000 EQU 0 TEN THOUNSANDTHS OF SECONDS
240
S100   EQU 1 HUNDRETHS AND TENTHS OF SECONDS
241
SECOND EQU 2
242
MINUIT EQU 3
243
HOUR   EQU 4
244
WKDAY  EQU 5
245
MTHDAY EQU 6
246
MONTH  EQU 7
247
*
248
* INTERRUPT OUTPUT REGISTERS:
249
*
250
* An interrupt output may be generated at the
251
* following rates by setting the appropriate bit
252
* in the Interrupt Control Register (CINTCR).
253
* The Interrupt Status Register (CINTSR) must be
254
* read to clear the interrupt and will return
255
* the source of the interrupt.
256
*
257
* 1/Month      Bit 7
258
* 1/Week       Bit 6
259
* 1/Day        Bit 5
260
* 1/Hour       Bit 4
261
* 1/Minuite    Bit 3
262
* 1/Second     Bit 2
263
* 10/Second    Bit 1
264
* Comparitor   Bit 0
265
*
266
CINTSR  EQU CLOCK+16 INTERRUPT STATUS REGISTER
267
CINTCR  EQU CLOCK+17 INTERRUPT CONTROL REGISTER
268
*
269
* COUNTER AND RAM RESETS; GO COMMAND.
270
*
271
* The counter and comparitor may be reset
272
* by writing $FF into CTRRES and CMPRES
273
* respectivly.
274
* A write to the Go command register (GOCMND)
275
* will reset the 1/1000ths, 1/100ths and 1/10ths
276
* of a second counter.
277
*
278
CTRRES EQU CLOCK+18 COUNTER RESET
279
CMPRES EQU CLOCK+19 COMPARITOR RAM RESET
280
GOCMND EQU CLOCK+21 GO COMMAND
281
*
282
* CLOCK STATUS REGISTER.
283
*
284
* The counter takes 61 usec. to rollover for
285
* every 1KHz clock pulse. If the Status bit is
286
* set after reading the counter, the counter
287
* should be re-read to ensure the time is correct.
288
*
289
CLKSTA EQU CLOCK+20 STATUS BIT
290
SBYINT EQU CLOCK+22 STANDBY INTERRUPT
291
TSTMOD EQU CLOCK+31 TEST MODE REGISTER
292
       ENDIF RTCOPT
293
*
294
       IFD TRAOPT
295
*
296
**************************************************
297
* PIA INTERRUPT TIMER
298
**************************************************
299
*
300
** PIA INTERRUPT TIMER SITS ON PORT 7
301
*
302
** PIA TIMER FOR SINGLE STEP / TRACE
303
*
304
* TADATA = Output = Timer preset register
305
* TACTRL - CA1 = input = rising edge = NMI
306
*        - CA2 = Output = Timer Reset (Active High)
307
* TBDATA = Input = Timer read back register
308
* TBCTRL - CB1 = input = rising edge = FIRQ
309
*        - CB2 = output = strobe low on write to TBDATA = Timer Preset
310
*
311
* CRA0 = 0 CA1 IRQ DISAB, CRA0 = 1 CA1 IRQ ENAB
312
* CRA1 = 1 CA1 Rising edge IRQ
313
* CRA2 = 0 TADATA = Data Direction, CRA2 = 1 TADATA = I/O Register
314
* CRA3 = 0 CA2 = 0 output, CRA3 = 1 CA2 = 1
315
* CRA4 = 1 ] CA2 = Set/Reset output
316
* CRA5 = 1 ]
317
* CRA6 = X CA2 Input Interrupt Flag
318
* CRA7 = X CA1 Interrupt Flag
319
*
320
* CRB0 = 0 CB1 IRQ DISAB, CRB0 = 1 CA1 IRQ ENAB
321
* CRB1 = 1 CB1 Rising edge IRQ
322
* CRB2 = 0 TBDATA = Data Direction, CRB2 = 1 TBDATA = I/O Register
323
* CRB3 = 0 CB2 = 0 output, CRB3 = 1 CB2 = 1
324
* CRB4 = 1 ] CB2 = Set/Reset output
325
* CRB5 = 1 ]
326
* CRB6 = X CB2 Input Interrupt Flag
327
* CRB7 = X CB1 Interrupt Flag
328
*
329
* DDRA = 0 TADATA = Input, DDRA = 1 TADATA = Output
330
* DDRB = 0 TBDATA = Input, DDRB = 1 TBDATA = Output
331
*
332
TADATA EQU MONIO+$70 Timer preset port
333
TACTRL EQU MONIO+$71
334
TBDATA EQU MONIO+$72 Timer read back port
335
TBCTRL EQU MONIO+$73
336
*
337
TRADEL EQU 13  Number of E cycles for RTI (May need to be fudged)
338
*
339
       ENDIF TRAOPT
340
       IFD ADSOPT
341
*
342
***************************************************
343
*   SERIAL PORT FOR DG640                         *
344
***************************************************
345
*
346
** SET UP FOR ACKERMAN DIGITAL ADS6809
347
** THE ADS6809 S100 BOAD HAS AN ON BOARD ACIA
348
*
349
ACIAS   EQU   MONIO+$400   CONTROL PORT
350
*
351
        ENDIF ADSOPT
352
        IFD PRTOPT
353
*
354
***************************************************
355
* PRINTER INTERFACE                               *
356
***************************************************
357
*
358
PADATA EQU MONIO+$404
359
PACTRL EQU MONIO+$405
360
PBDATA EQU MONIO+$406
361
PBCTRL EQU MONIO+$407
362
*
363
** CB1  ACK.  I/P
364
** CB2  STB.  O/P
365
** PB0 - PB7   DATA 1 - 8   O/P
366
** PORT A BIT ASSIGNMENT
367
*
368
PBUSY  EQU $80 I/P
369
PEMPTY EQU $40 I/P
370
SELECT EQU $20 I/P
371
PERROR EQU $10 I/P
372
PRESET EQU %00000100 O/P PA3 = 0
373
AUTOFD EQU %00001000 O/P PA2 = 0
374
DIRMSK EQU %00001100
375
       ENDIF PRTOPT
376
       IFD DG640OPT
377
*
378
***************************************************
379
*   DG640 MEMORY MAPPED DISPLAY DRIVER VARIABLES  *
380
***************************************************
381
*
382
** VIDEO DISPLAY DEFINITIONS
383
*
384
SCREEN  EQU   MONIO+$0800 START OF SCREEN MEMORY
385
LINLEN  EQU   64          LENGTH OF A LINE
386
NUMLIN  EQU   16          NUMBER OF LINES
387
SCNLEN  EQU   $400        LENGTH OF SCREEN
388
        ENDIF DG640OPT
389
*
390
        IFD   DMAFOPT
391
*
392
***************************************************
393
*   DMAF2 8" DRIVE                                *
394
***************************************************
395
*
396
ADDREG  EQU   $F000  ADDRESS REGISTER
397
CNTREG  EQU   $F002  COUNT REGISTER
398
CCREG   EQU   $F010  CHANNEL CONTROL REGISTER
399
PRIREG  EQU   $F014  DMA PRIORITY REGISTER
400
AAAREG  EQU   $F015  ???
401
BBBREG  EQU   $F016  ???
402
COMREG  EQU   $F020  1791 COMMAND REGISTER
403
SECREG  EQU   $F022  SECTOR REGISTER
404
DRVREG  EQU   $F024  DRIVE SELECT LATCH
405
CCCREG  EQU   $F040  ???
406
        ENDIF DMAFOPT
407
        IFD DATOPT
408
**************************************************
409
* DYNAMIC ADDRESS TRANSLATION REGISTERS          *
410
**************************************************
411
*
412
IC11    EQU  $FFF0  DAT RAM CHIP
413
TSTPAT  EQU  $55AA  TEST PATTERN
414
        ENDIF DATOPT
415
*
416
        END

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.