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

Subversion Repositories System09

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

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

powered by: WebSVN 2.1.0

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