Mercurial > hg > Members > kono > nitros9-code
annotate defs/sysglobs.d @ 1764:c51d21c94682
Fixed problem in swset where query needed lbra.
Converted all files to Unix EOL
author | boisy |
---|---|
date | Fri, 01 Apr 2005 17:01:46 +0000 |
parents | 27e85b681dab |
children |
rev | line source |
---|---|
1626 | 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1760
27e85b681dab
Fixed DEFS issue in 6809l2 and 6309l2 (thanks Rodney!)
boisy
parents:
1630
diff
changeset
|
2 ; sysglobs - System Global Definitions |
1626 | 3 ; |
4 ; $Id$ | |
5 ; | |
6 ; Edt/Rev YYYY/MM/DD Modified by | |
7 ; Comment | |
8 ; ------------------------------------------------------------------ | |
9 ; 2004/05/17 Boisy G. Pitre | |
1760
27e85b681dab
Fixed DEFS issue in 6809l2 and 6309l2 (thanks Rodney!)
boisy
parents:
1630
diff
changeset
|
10 ; Created. |
1626 | 11 |
1760
27e85b681dab
Fixed DEFS issue in 6809l2 and 6309l2 (thanks Rodney!)
boisy
parents:
1630
diff
changeset
|
12 .title System Global Definitions |
1630
7af4d12008f4
Updated ChangeLogs with slight formatting differences
boisy
parents:
1627
diff
changeset
|
13 |
7af4d12008f4
Updated ChangeLogs with slight formatting differences
boisy
parents:
1627
diff
changeset
|
14 .area SYSGLOBS (ABS) |
1626 | 15 |
1630
7af4d12008f4
Updated ChangeLogs with slight formatting differences
boisy
parents:
1627
diff
changeset
|
16 .ifndef Level |
7af4d12008f4
Updated ChangeLogs with slight formatting differences
boisy
parents:
1627
diff
changeset
|
17 Level == 1 |
7af4d12008f4
Updated ChangeLogs with slight formatting differences
boisy
parents:
1627
diff
changeset
|
18 .endif |
1626 | 19 |
1630
7af4d12008f4
Updated ChangeLogs with slight formatting differences
boisy
parents:
1627
diff
changeset
|
20 .ifeq Level-1 |
1626 | 21 ; Level 1 DP vars |
22 .org 0 | |
23 D.WDAddr:: .rmb 2 ; FHL/Isted WD1002-05 interface base address | |
24 D.WDBtDr:: .rmb 1 ; FHL/Isted WD1002-05 boot physical device drive num. | |
25 .rmb 5 | |
26 D.COCOXT:: .rmb 1 ; Busy flag for CoCo-XT driver (one drive at a time) | |
27 | |
28 .org 0h20 | |
29 D.FMBM:: .rmb 4 ; Free memory bit map pointers | |
1627 | 30 D.MLIM:: .rmb 2 ; Memory limit |
31 D.ModDir:: .rmb 4 ; Module directory | |
32 D.Init:: .rmb 2 ; ROM base address | |
33 D.SWI3:: .rmb 2 ; SWI3 vector | |
34 D.SWI2:: .rmb 2 ; SWI2 vector | |
35 D.FIRQ:: .rmb 2 ; FIRQ vector | |
36 D.IRQ:: .rmb 2 ; IRQ vector | |
37 D.SWI:: .rmb 2 ; SWI vector | |
38 D.NMI:: .rmb 2 ; NMI vector | |
39 D.SvcIRQ:: .rmb 2 ; Interrupt service entry | |
40 D.Poll:: .rmb 2 ; Interrupt polling routine | |
41 D.UsrIRQ:: .rmb 2 ; User IRQ routine | |
42 D.SysIRQ:: .rmb 2 ; System IRQ routine | |
43 D.UsrSvc:: .rmb 2 ; User service request routine | |
44 D.SysSvc:: .rmb 2 ; System service request routine | |
1626 | 45 D.UsrDis:: .rmb 2 ; User service request dispatch table |
46 D.SysDis:: .rmb 2 ; System service reuest dispatch table | |
1627 | 47 D.Slice:: .rmb 1 ; Process time slice count |
48 D.PrcDBT:: .rmb 2 ; Process descriptor block address | |
49 D.Proc:: .rmb 2 ; Process descriptor address | |
50 D.AProcQ:: .rmb 2 ; Active process queue | |
51 D.WProcQ:: .rmb 2 ; Waiting process queue | |
52 D.SProcQ:: .rmb 2 ; Sleeping process queue | |
53 D.Time == . ; Time | |
54 D.Year:: .rmb 1 ; Year (0=1900) | |
55 D.Month:: .rmb 1 ; Month (1-12) | |
56 D.Day:: .rmb 1 ; Day (1-31) | |
57 D.Hour:: .rmb 1 ; Hour (0-23) | |
58 D.Min:: .rmb 1 ; Minute (0-59) | |
59 D.Sec:: .rmb 1 ; Second (0-59) | |
60 D.Tick:: .rmb 1 ; Current tick | |
61 D.TSec:: .rmb 1 ; Ticks per second | |
62 D.TSlice:: .rmb 1 ; Ticks per time-slice | |
63 D.IOML:: .rmb 2 ; I/O mgr free memory low bound | |
64 D.IOMH:: .rmb 2 ; I/O mgr free memory hi bound | |
65 D.DevTbl:: .rmb 2 ; Device driver table addr | |
66 D.PolTbl:: .rmb 2 ; Irq polling table addr | |
67 D.PthDBT:: .rmb 2 ; Path descriptor block table addr | |
68 D.BTLO:: .rmb 2 ; Bootstrap low address | |
69 D.BTHI:: .rmb 2 ; Bootstrap hi address | |
70 D.DMAReq:: .rmb 1 ; DMA in use flag | |
71 D.AltIRQ:: .rmb 2 ; Alternate IRQ vector (CC) | |
72 D.KbdSta:: .rmb 2 ; Keyboard scanner static storage (CC) | |
73 D.DskTmr:: .rmb 2 ; Disk Motor Timer (CC) | |
1626 | 74 D.CBStrt:: .rmb 16 ; reserved for CC warmstart ($71) |
1627 | 75 D.Clock:: .rmb 2 ; Address of Clock Tick Routine (CC) |
1626 | 76 D.Boot:: .rmb 1 ; Bootstrap attempted flag |
1627 | 77 D.URtoSs:: .rmb 2 ; address of user to system routine (VIRQ) |
78 D.CLTb:: .rmb 2 ; Pointer to clock interrupt table (VIRQ) | |
79 D.MDREG:: .rmb 1 ; 6309 MD (mode) shadow register (added in V2.01.00) | |
80 D.CRC:: .rmb 1 ; CRC checking mode flag (added in V2.01.00) | |
1626 | 81 D.Clock2:: .rmb 2 ; CC Clock2 entry address |
82 | |
83 .org 0h100 | |
84 D.XSWI3:: .rmb 3 | |
85 D.XSWI2:: .rmb 3 | |
86 D.XSWI:: .rmb 3 | |
87 D.XNMI:: .rmb 3 | |
88 D.XIRQ:: .rmb 3 | |
89 D.XFIRQ:: .rmb 3 | |
90 | |
91 ; Table Sizes | |
92 BMAPSZ == 32 ; Bitmap table size | |
93 SVCTNM == 2 ; Number of service request tables | |
94 SVCTSZ == (256-BMAPSZ)/SVCTNM-2 ; Service request table size | |
95 | |
96 .else | |
97 | |
98 ; Level 2 DP vars | |
99 .org 0 | |
100 D.WDAddr:: .rmb 2 ; FHL/Isted WD1002-05 interface base address | |
101 D.WDBtDr:: .rmb 1 ; FHL/Isted WD1002-05 boot physical device drive num. | |
102 .rmb 5 | |
103 D.COCOXT:: .rmb 1 ; Busy flag for CoCo-XT driver (one drive at a time) | |
104 | |
105 .org 0h20 | |
106 D.Tasks:: .rmb 2 ; Task User Table | |
107 D.TmpDAT:: .rmb 2 ; Temporary DAT Image stack | |
108 D.Init:: .rmb 2 ; Initialization Module ptr | |
109 D.Poll:: .rmb 2 ; Interrupt Polling Routine ptr | |
110 D.Time == . ; System Time | |
111 D.Year:: .rmb 1 | |
112 D.Month:: .rmb 1 | |
113 D.Day:: .rmb 1 | |
114 D.Hour:: .rmb 1 | |
115 D.Min:: .rmb 1 | |
116 D.Sec:: .rmb 1 | |
117 D.Tick:: .rmb 1 | |
118 D.Slice:: .rmb 1 ; current slice remaining | |
119 D.TSlice:: .rmb 1 ; Ticks per Slice | |
120 D.Boot:: .rmb 1 ; Bootstrap attempted flag | |
121 D.MotOn:: .rmb 1 ; Floppy Disk Motor-On time out | |
122 D.ErrCod:: .rmb 1 ; Reset Error Code | |
123 D.Daywk:: .rmb 1 ; day of week, com-trol clock | |
124 D.TkCnt:: .rmb 1 ; Tick Counter | |
125 D.BtPtr:: .rmb 2 ; Address of Boot in System Address space | |
126 D.BtSz:: .rmb 2 ; Size of Boot | |
127 .ifdef H6309 | |
128 D.MDREG:: .rmb 1 ; 6309 MD (mode) shadow register | |
129 .else | |
130 .rmb 1 ; Currently unused in NitrOS-9/6809 | |
131 .endif | |
132 D.CRC:: .rmb 1 ; CRC checking mode flag | |
133 D.Tenths:: .rmb 1 ; Tenths and hundredths of second for F$Xtime | |
134 D.Task1N:: .rmb 1 ; Map type 1 task number*2 - offset into [D.TskIPt] | |
135 D.Quick:: .rmb 1 ; Quick system call return flag - 0 =stack is at $FEE1 | |
136 D.QIRQ:: .rmb 1 ; Quick IRQ flag - 0 =IRQ wasn't clock, so quick return | |
137 | |
138 .org 0h40 | |
139 D.BlkMap:: .rmb 4 ; Memory Block Map ptr | |
140 D.ModDir:: .rmb 4 ; Module Directory ptrs | |
141 D.PrcDBT:: .rmb 2 ; Process Descriptor Block Table ptr | |
142 D.SysPrc:: .rmb 2 ; System Process Descriptor ptr | |
143 D.SysDAT:: .rmb 2 ; System DAT Image ptr | |
144 D.SysMem:: .rmb 2 ; System Memory Map ptr | |
145 D.Proc:: .rmb 2 ; Current Process ptr | |
146 D.AProcQ:: .rmb 2 ; Active Process Queue | |
147 D.WProcQ:: .rmb 2 ; Waiting Process Queue | |
148 D.SProcQ:: .rmb 2 ; Sleeping Process Queue | |
149 D.ModEnd:: .rmb 2 ; Module Directory end ptr | |
150 D.ModDAT:: .rmb 2 ; Module Dir DAT image end ptr | |
151 D.CldRes:: .rmb 2 ; Cold Restart vector | |
152 D.BtBug:: .rmb 3 ; Boot debug information | |
153 D.Pipe:: .rmb 2 | |
154 | |
155 .org 0h6B | |
156 D.Crash:: .rmb 6 ; Pointer to CC Crash Routine | |
157 D.CBStrt:: .rmb 0hB ; Reserved for CC warmstart ($71) | |
158 D.QCnt:: .rmb 1 ; Count of number of quick system calls performed | |
159 | |
160 .org 0h80 | |
161 D.DevTbl:: .rmb 2 ; I/O Device Table | |
162 D.PolTbl:: .rmb 2 ; I/O Polling Table | |
163 .rmb 4 ; reserved | |
164 D.PthDBT:: .rmb 2 ; Path Descriptor Block Table ptr | |
165 D.DMAReq:: .rmb 1 ; DMA Request flag | |
166 | |
167 ; CoCo 3 STUFF COMES NEXT | |
168 ; This area is used for the CoCo Hardware Registers | |
169 ; | |
170 .org 0h90 | |
171 D.HINIT:: .rmb 1 ; GIME INIT0 register (hardware setup $FF90) | |
172 D.TINIT:: .rmb 1 ; GIME INIT1 register (timer/task register $FF91) | |
173 D.IRQER:: .rmb 1 ; Interrupt enable regsiter ($FF92) | |
174 D.FRQER:: .rmb 1 ; Fast Interrupt enable register ($FF93) | |
175 D.TIMMS:: .rmb 1 ; Timer most significant nibble ($FF94) | |
176 D.TIMLS:: .rmb 1 ; Timer least significant byte ($FF95) | |
177 D.RESV1:: .rmb 1 ; reserved register ($FF96) | |
178 D.RESV2:: .rmb 1 ; reserved register ($FF97) | |
179 D.VIDMD:: .rmb 1 ; video mode register ($FF98) | |
180 D.VIDRS:: .rmb 1 ; video resolution register ($FF99) | |
181 D.BORDR:: .rmb 1 ; border register ($FF9A) | |
182 D.RESV3:: .rmb 1 ; reserved register ($FF9B) | |
183 D.VOFF2:: .rmb 1 ; vertical scroll/offset 2 register ($FF9C) | |
184 D.VOFF1:: .rmb 1 ; vertical offset 1 register ($FF9D) | |
185 D.VOFF0:: .rmb 1 ; vertical offset 0 register ($FF9E) | |
186 D.HOFF0:: .rmb 1 ; horizontal offset 0 register ($FF9F) | |
187 D.Speed:: .rmb 1 ; Speed of COCO CPU 0=slow,1=fast ($A0) | |
188 D.TskIPt:: .rmb 2 ; Task image Pointer table (CC) ($A1) | |
189 D.MemSz:: .rmb 1 ; 128/512K memory flag (CC) ($A3) | |
190 D.SSTskN:: .rmb 1 ; System State Task Number (COCO) ($A4) | |
191 D.CCMem:: .rmb 2 ; Pointer to beginning of CC Memory ($A5) | |
192 D.CCStk:: .rmb 2 ; Pointer to top of CC Memory ($A7) | |
193 D.Flip0:: .rmb 2 ; Change to Task 0 ($A9) | |
194 D.Flip1:: .rmb 2 ; Change to reserved Task 1 ($AB) | |
195 D.VIRQ:: .rmb 2 ; VIRQ Polling routine ($AD) | |
196 D.IRQS:: .rmb 1 ; IRQ shadow register (CC Temporary) ($AF) | |
197 D.CLTb:: .rmb 2 ; VIRQ Table address ($B0) | |
198 D.AltIRQ:: .rmb 2 ; Alternate IRQ Vector (CC) ($B2) | |
199 D.GPoll:: .rmb 2 ; CC GIME IRQ enable/disable toggle | |
200 D.Clock2:: .rmb 2 ; CC Clock2 entry address | |
201 .org 0hC0 | |
202 D.SysSvc:: .rmb 2 ; System Service Routine entry | |
203 D.SysDis:: .rmb 2 ; System Service Dispatch Table ptr | |
204 D.SysIRQ:: .rmb 2 ; System IRQ Routine entry | |
205 D.UsrSvc:: .rmb 2 ; User Service Routine entry | |
206 D.UsrDis:: .rmb 2 ; User Service Dispatch Table ptr | |
207 D.UsrIRQ:: .rmb 2 ; User IRQ Routine entry | |
208 D.SysStk:: .rmb 2 ; System stack | |
209 D.SvcIRQ:: .rmb 2 ; In-System IRQ service | |
210 D.SysTsk:: .rmb 1 ; System Task number | |
211 .org 0hE0 | |
212 D.Clock:: .rmb 2 | |
213 D.XSWI3:: .rmb 2 | |
214 D.XSWI2:: .rmb 2 | |
215 D.XFIRQ:: .rmb 2 | |
216 D.XIRQ:: .rmb 2 | |
217 D.XSWI:: .rmb 2 | |
218 D.XNMI:: .rmb 2 | |
219 D.ErrRst:: .rmb 2 | |
220 D.SysVec:: .rmb 2 ; F$xxx system call vector for NitrOS-9 Level 3 | |
221 D.SWI3:: .rmb 2 | |
222 D.SWI2:: .rmb 2 | |
223 D.FIRQ:: .rmb 2 | |
224 D.IRQ:: .rmb 2 | |
225 D.SWI:: .rmb 2 | |
226 D.NMI:: .rmb 2 | |
227 | |
228 ; | |
229 ; Level 2 Block Map flags | |
230 ; | |
231 NotRAM == 0b10000000 ; Block Not RAM flag | |
232 VidRAM == 0b00000100 ; Block is being used as Video RAM | |
233 ModBlock == 0b00000010 ; Module in Block | |
234 RAMinUse == 0b00000001 ; RAM Block in use flag | |
235 | |
236 ; | |
237 ; Service Dispatch Table special entries | |
238 ; | |
239 IOEntry == 254 | |
240 | |
241 .endif |