2336
|
1 ********************************************************************
|
|
2 * SysType - NitrOS-9 System Specific Definitions
|
|
3 *
|
|
4 * $Id$
|
|
5 *
|
|
6 * Edt/Rev YYYY/MM/DD Modified by
|
|
7 * Comment
|
|
8 * ------------------------------------------------------------------
|
|
9 * 1998/10/13 Boisy G. Pitre
|
|
10 * Added defs by Bruce Isted from his Eliminator archive.
|
|
11 *
|
|
12 * 1998/10/31 Boisy G. Pitre
|
|
13 * Merged cc3global.defs into this file.
|
|
14 *
|
|
15 * 2002/04/30 Boisy G. Pitre
|
|
16 * Merged Level One and Level Two sysdefs.
|
|
17 *
|
|
18 * 2002/06/22 Boisy G. Pitre
|
|
19 * Removed PIA.U4 and PIA.U8, improved comments
|
|
20 *
|
|
21 * 2003/11/05 Robert Gault
|
|
22 * Made changes in window globals and grfdrv memory to handle regW
|
|
23 * in 6809 systems.
|
|
24 *
|
|
25 * 2003/11/30 Boisy G. Pitre
|
|
26 * Statics now are prefaced with V. to identify them easier in source.
|
|
27 *
|
|
28 * 2004/07/18 Boisy G. Pitre
|
|
29 * Moved CoCo 3 Window stuff into cc3iodefs
|
|
30
|
|
31 NAM SysType
|
|
32 IFEQ Level-1
|
|
33 TTL NitrOS-9 Level 1 System Type Definitions
|
|
34 ELSE
|
|
35 IFEQ Level-2
|
|
36 TTL NitrOS-9 Level 2 System Type Definitions
|
|
37 ENDC
|
|
38 IFEQ Level-3
|
|
39 TTL NitrOS-9 Level 3 System Type Definitions
|
|
40 ENDC
|
|
41 ENDC
|
|
42
|
|
43
|
|
44 **********************
|
|
45 * CPU Type Definitions
|
|
46 *
|
|
47 Color: SET 1
|
|
48 Color3: SET 2
|
|
49 IFEQ Level-1
|
|
50 CPUType: SET Color
|
|
51 ELSE
|
|
52 CPUType: SET Color3
|
|
53 ENDC
|
|
54
|
|
55
|
|
56 ******************************
|
|
57 * Clock Speed Type Definitions
|
|
58 *
|
|
59 OneMHz: EQU 1
|
|
60 TwoMHz: EQU 2
|
|
61 IFEQ CPUType-Color
|
|
62 CPUSpeed: SET OneMHz
|
|
63 ELSE
|
|
64 CPUSpeed: SET TwoMHz
|
|
65 ENDC
|
|
66
|
|
67
|
|
68 **********************************
|
|
69 * Power Line Frequency Definitions
|
|
70 *
|
|
71 Hz50: EQU 1 Assemble clock for 50 hz power
|
|
72 Hz60: EQU 2 Assemble clock for 60 hz power
|
|
73 PwrLnFrq: SET Hz60 Set to Appropriate freq
|
|
74
|
|
75
|
|
76 **********************************
|
|
77 * Ticks per second
|
|
78 *
|
|
79 IFEQ PwrLnFrq-Hz50
|
|
80 TkPerSec: SET 50
|
|
81 ELSE
|
|
82 TkPerSec: SET 60
|
|
83 ENDC
|
|
84
|
|
85
|
|
86 ******************
|
|
87 * ACIA type set up
|
|
88 *
|
|
89 csect
|
|
90 ACIA6850: RMB 1 MC6850 acia.
|
|
91 ACIA6551: RMB 1 SY6551 acia.
|
|
92 ACIA2661: RMB 1 SC2661 acia.
|
|
93 ACIATYPE: SET ACIA6551
|
|
94 endsect
|
|
95
|
|
96
|
|
97 ****************************************
|
|
98 * Special character Bit position equates
|
|
99 *
|
|
100 SHIFTBIT: EQU %00000001
|
|
101 CNTRLBIT: EQU %00000010
|
|
102 ALTERBIT: EQU %00000100
|
|
103 UPBIT: EQU %00001000
|
|
104 DOWNBIT: EQU %00010000
|
|
105 LEFTBIT: EQU %00100000
|
|
106 RIGHTBIT: EQU %01000000
|
|
107 SPACEBIT: EQU %10000000
|
|
108
|
|
109
|
|
110 ******************
|
|
111 * Device addresses for miscellaneous hardware
|
|
112 *
|
|
113 A.AciaP: SET $FF68 Aciapak Address
|
|
114 A.ModP: SET $FF6C ModPak Address
|
|
115 DPort: SET $FF40 Disk controller base address
|
|
116 MPI.Slct: SET $FF7F Multi-Pak slot select
|
|
117 MPI.Slot: SET $03 Multi-Pak default slot
|
|
118 PIA0Base: EQU $FF00
|
|
119 PIA1Base: EQU $FF20
|
|
120
|
|
121
|
|
122 ******************
|
|
123 * VDG Devices
|
|
124 *
|
|
125 A.TermV: SET $FFC0 VDG Term
|
|
126 A.V1: SET $FFC1 Possible additional VDG Devices
|
|
127 A.V2: SET $FFC2
|
|
128 A.V3: SET $FFC3
|
|
129 A.V4: SET $FFC4
|
|
130 A.V5: SET $FFC5
|
|
131 A.V6: SET $FFC6
|
|
132 A.V7: SET $FFC7
|
|
133
|
|
134
|
|
135 IFEQ Level-1
|
|
136
|
|
137 *************************************************
|
|
138 *
|
|
139 * NitrOS-9 Level 1 Section
|
|
140 *
|
|
141 *************************************************
|
|
142
|
|
143 HW.Page: SET $FF Device descriptor hardware page
|
|
144
|
|
145 ELSE
|
|
146
|
|
147 *************************************************
|
|
148 *
|
|
149 * NitrOS-9 Level 2 Section
|
|
150 *
|
|
151 *************************************************
|
|
152
|
|
153 ****************************************
|
|
154 * Dynamic Address Translator Definitions
|
|
155 *
|
|
156 DAT.BlCt: EQU 8 D.A.T. blocks/address space
|
|
157 DAT.BlSz: EQU (256/DAT.BlCt)*256 D.A.T. block size
|
|
158 DAT.ImSz: EQU DAT.BlCt*2 D.A.T. Image size
|
|
159 DAT.Addr: EQU -(DAT.BlSz/256) D.A.T. MSB Address bits
|
|
160 DAT.Task: EQU $FF91 Task Register address
|
|
161 DAT.TkCt: EQU 32 Number of DAT Tasks
|
|
162 DAT.Regs: EQU $FFA0 DAT Block Registers base address
|
|
163 DAT.Free: EQU $333E Free Block Number
|
|
164 DAT.BlMx: EQU $3F Maximum Block number
|
|
165 DAT.BMSz: EQU $40 Memory Block Map size
|
|
166 DAT.WrPr: EQU 0 no write protect
|
|
167 DAT.WrEn: EQU 0 no write enable
|
|
168 SysTask: EQU 0 Coco System Task number
|
|
169 IOBlock: EQU $3F
|
|
170 ROMBlock: EQU $3F
|
|
171 IOAddr: EQU $7F
|
|
172 ROMCount: EQU 1 number of blocks of ROM (High RAM Block)
|
|
173 RAMCount: EQU 1 initial blocks of RAM
|
|
174 MoveBlks: EQU DAT.BlCt-ROMCount-2 Block numbers used for copies
|
|
175 BlockTyp: EQU 1 chk only first bytes of RAM block
|
|
176 ByteType: EQU 2 chk entire block of RAM
|
|
177 Limited: EQU 1 chk only upper memory for ROM modules
|
|
178 UnLimitd: EQU 2 chk all NotRAM for modules
|
|
179 * NOTE: this check assumes any NotRAM with a module will
|
|
180 * always start with $87CD in first two bytes of block
|
|
181 RAMCheck: EQU BlockTyp chk only beg bytes of block
|
|
182 ROMCheck: EQU Limited chk only upper few blocks for ROM
|
|
183 LastRAM: EQU IOBlock maximum RAM block number
|
|
184
|
|
185 ***************************
|
|
186 * Color Computer 3 Specific
|
|
187 *
|
|
188 MappedIO: EQU true (Actually False but it works better this way)
|
|
189
|
|
190 ********************
|
|
191 * Hardware addresses
|
|
192 *
|
|
193 GIMERegs: EQU $FF00 Base address of GIME registers
|
|
194 IrqEnR: EQU $FF92 GIME IRQ enable/status register
|
|
195 BordReg: EQU $FF9A Border color register
|
|
196 PalAdr: EQU $FFB0 Palette registers
|
|
197
|
|
198 HW.Page: SET $07 Device descriptor hardware page
|
|
199
|
|
200 ENDC
|
|
201
|