31 #define HW_BLACK 0x000
32 #define HW_LIGHT_RED 0xF00
33 #define HW_LIGHT_GREEN 0x0F0
34 #define HW_LIGHT_BLUE 0x00F
36 #define HW_GREEN 0x040
38 #define HW_DARK_RED 0x200
39 #define HW_DARK_GREEN 0x020
40 #define HW_DARK_BLUE 0x002
41 #define HW_YELLOW 0x0FF
42 #define HW_MAGENTA 0xF0F
44 #define HW_ORANGE 0x4F0
45 #define HW_WHITE 0xFFF
47 #define HW_YM_SEL_FREQCHA_L 0
48 #define HW_YM_SEL_FREQCHA_H 1
49 #define HW_YM_SEL_FREQCHB_L 2
50 #define HW_YM_SEL_FREQCHB_H 3
51 #define HW_YM_SEL_FREQCHC_L 4
52 #define HW_YM_SEL_FREQCHC_H 5
53 #define HW_YM_SEL_FREQNOISE 6
54 #define HW_YM_SEL_IO_AND_MIXER 7
55 #define HW_YM_SEL_LEVELCHA 8
56 #define HW_YM_SEL_LEVELCHB 9
57 #define HW_YM_SEL_LEVELCHC 10
58 #define HW_YM_SEL_FREQENVELOPE_L 11
59 #define HW_YM_SEL_FREQENVELOPE_H 12
60 #define HW_YM_SEL_ENVELOPESHAPE 13
61 #define HW_YM_SEL_IO_PORTA 14
62 #define HW_YM_SEL_IO_PORTB 15
66 #define HW_VECTOR_INIT_PC ((u32*)0x4)
67 #define HW_VECTOR_VBL ((u32*)0x70)
68 #define HW_VECTOR_HBL ((u32*)0x68)
69 #define HW_VECTOR_DMA ((u32*)0x11C)
70 #define HW_VECTOR_TIMERB ((volatile u32*)0x120)
74 #define HW_COLOR_LUT ((u16*)0xFFFF8240UL)
76 #define HW_VIDEO_MODE ((u8*)0xFFFF8260UL)
78 #define HW_VIDEO_BASE_H ((u8*)0xFFFF8201UL)
79 #define HW_VIDEO_BASE_M ((u8*)0xFFFF8203UL)
80 #define HW_VIDEO_BASE_L ((u8*)0xFFFF820DUL)
82 #define HW_VIDEO_COUNT_H ((u8*)0xFFFF8205UL)
83 #define HW_VIDEO_COUNT_M ((u8*)0xFFFF8207UL)
84 #define HW_VIDEO_COUNT_L ((u8*)0xFFFF8209UL)
86 #define HW_VIDEO_SYNC ((u8*)0xFFFF820AUL)
88 #define HW_VIDEO_OFFSET ((u8*)0xFFFF820FUL)
89 #define HW_VIDEO_PIXOFFSET ((u8*)0xFFFF8265UL)
90 #define HW_VIDEO_PIXOFFSET_HIDDEN ((u8*)0xFFFF8264UL)
92 #define HW_YM_REGSELECT ((u8*)0xFFFF8800UL)
93 #define HW_YM_REGDATA ((u8*)0xFFFF8802UL)
97 #define HW_DMASOUND_CONTROL ((u8*)0xFFFF8901UL)
99 #define HW_DMASOUND_STARTADR_H ((u8*)0xFFFF8903UL)
100 #define HW_DMASOUND_STARTADR_M ((u8*)0xFFFF8905UL)
101 #define HW_DMASOUND_STARTADR_L ((u8*)0xFFFF8907UL)
103 #define HW_DMASOUND_ENDADR_H ((u8*)0xFFFF890FUL)
104 #define HW_DMASOUND_ENDADR_M ((u8*)0xFFFF8911UL)
105 #define HW_DMASOUND_ENDADR_L ((u8*)0xFFFF8913UL)
107 #define HW_DMASOUND_COUNTER_H ((u8*)0xFFFF8909UL)
108 #define HW_DMASOUND_COUNTER_M ((u8*)0xFFFF890BUL)
109 #define HW_DMASOUND_COUNTER_L ((u8*)0xFFFF890DUL)
111 #define HW_DMASOUND_MODE ((u16*)0xFFFF8920UL)
113 #define HW_MICROWIRE_DATA ((u16*)0xFFFF8922UL)
114 #define HW_MICROWIRE_MASK ((u16*)0xFFFF8924UL)
118 #define HW_KEYBOARD_STATE ((u8*)0xFFFFFC00UL)
119 #define HW_KEYBOARD_DATA ((u8*)0xFFFFFC02UL)
123 #define HW_MFP_INTERRUPT_ENABLE_A ((u8*)0xFFFFFA07UL)
124 #define HW_MFP_INTERRUPT_ENABLE_B ((u8*)0xFFFFFA09UL)
125 #define HW_MFP_INTERRUPT_PENDING_A ((u8*)0xFFFFFA0BUL)
126 #define HW_MFP_INTERRUPT_PENDING_B ((u8*)0xFFFFFA0DUL)
127 #define HW_MFP_INTERRUPT_INSERVICE_A ((u8*)0xFFFFFA0FUL)
128 #define HW_MFP_INTERRUPT_INSERVICE_B ((u8*)0xFFFFFA11UL)
129 #define HW_MFP_INTERRUPT_MASK_A ((u8*)0xFFFFFA13UL)
130 #define HW_MFP_INTERRUPT_MASK_B ((u8*)0xFFFFFA15UL)
131 #define HW_MFP_VECTOR_BASE ((u8*)0xFFFFFA17UL)
132 #define HW_MFP_TIMER_A_CONTROL ((u8*)0xFFFFFA19UL)
133 #define HW_MFP_TIMER_B_CONTROL ((u8*)0xFFFFFA1BUL)
134 #define HW_MFP_TIMER_CD_CONTROL ((u8*)0xFFFFFA1DUL)
135 #define HW_MFP_TIMER_A_DATA ((u8*)0xFFFFFA1FUL)
136 #define HW_MFP_TIMER_B_DATA ((u8*)0xFFFFFA21UL)
137 #define HW_MFP_TIMER_C_DATA ((u8*)0xFFFFFA23UL)
138 #define HW_MFP_TIMER_D_DATA ((u8*)0xFFFFFA25UL)
140 #define OS_FLOPVBL ((u16*)0x43e)
141 #define OS_NFLOPS ((u16*)0x4a6)
171 u8 videoPixOffsetHidden;
176 u8 dmaSoundStartAdrH;
177 u8 dmaSoundStartAdrM;
178 u8 dmaSoundStartAdrL;
189 u8 mfpInterruptEnableA;
190 u8 mfpInterruptEnableB;
191 u8 mfpInterruptPendingA;
192 u8 mfpInterruptPendingB;
193 u8 mfpInterruptInServiceA;
194 u8 mfpInterruptInServiceB;
195 u8 mfpInterruptMaskA;
196 u8 mfpInterruptMaskB;
200 u8 mfpTimerCDControl;
217 # define HW_VECTOR_INIT_PC (&g_STHardware.vectorInitPC)
219 # define HW_VECTOR_VBL (&g_STHardware.vectorVBL)
220 # define HW_VECTOR_HBL (&g_STHardware.vectorHBL)
221 # define HW_VECTOR_DMA (&g_STHardware.vectorDMA)
222 # define HW_VECTOR_TIMERB (&g_STHardware.vectorTimerB)
224 # define HW_COLOR_LUT (g_STHardware.colorLUT)
225 # define HW_VIDEO_MODE (&g_STHardware.videoMode)
227 # define HW_KEYBOARD_DATA (&g_STHardware.keyboardData)
228 # define HW_KEYBOARD_STATE (&g_STHardware.keyboardState)
230 # define HW_VIDEO_BASE_H (&g_STHardware.videoBaseH)
231 # define HW_VIDEO_BASE_M (&g_STHardware.videoBaseM)
232 # define HW_VIDEO_BASE_L (&g_STHardware.videoBaseL)
234 # define HW_VIDEO_COUNT_H (&g_STHardware.videoBaseH)
235 # define HW_VIDEO_COUNT_M (&g_STHardware.videoBaseM)
236 # define HW_VIDEO_COUNT_L (&g_STHardware.videoBaseL)
238 # define HW_VIDEO_SYNC (&g_STHardware.videoSync)
240 # define HW_VIDEO_OFFSET (&g_STHardware.videoOffset)
241 # define HW_VIDEO_PIXOFFSET (&g_STHardware.videoPixOffset)
242 # define HW_VIDEO_PIXOFFSET_HIDDEN (&g_STHardware.videoPixOffsetHidden)
244 # define HW_DMASOUND_CONTROL (&g_STHardware.dmaSoundControl)
246 # define HW_DMASOUND_STARTADR_H (&g_STHardware.dmaSoundStartAdrH)
247 # define HW_DMASOUND_STARTADR_M (&g_STHardware.dmaSoundStartAdrM)
248 # define HW_DMASOUND_STARTADR_L (&g_STHardware.dmaSoundStartAdrL)
250 # define HW_DMASOUND_ENDADR_H (&g_STHardware.dmaSoundEndAdrH)
251 # define HW_DMASOUND_ENDADR_M (&g_STHardware.dmaSoundEndAdrM)
252 # define HW_DMASOUND_ENDADR_L (&g_STHardware.dmaSoundEndAdrL)
254 # define HW_DMASOUND_COUNTER_H (&g_STHardware.dmaSoundCounterH)
255 # define HW_DMASOUND_COUNTER_M (&g_STHardware.dmaSoundCounterM)
256 # define HW_DMASOUND_COUNTER_L (&g_STHardware.dmaSoundCounterL)
258 # define HW_DMASOUND_MODE (&g_STHardware.dmaSoundMode)
260 # define HW_MICROWIRE_DATA (&g_STHardware.microwireData)
261 # define HW_MICROWIRE_MASK (&g_STHardware.microwireMask)
263 # define HW_YM_REGSELECT (&g_STHardware.ymRegSelect)
264 # define HW_YM_REGDATA (&g_STHardware.ymRegData)
266 # define HW_MFP_INTERRUPT_ENABLE_A (&g_STHardware.mfpInterruptEnableA)
267 # define HW_MFP_INTERRUPT_ENABLE_B (&g_STHardware.mfpInterruptEnableB)
268 # define HW_MFP_INTERRUPT_PENDING_A (&g_STHardware.mfpInterruptPendingA)
269 # define HW_MFP_INTERRUPT_PENDING_B (&g_STHardware.mfpInterruptPendingB)
270 # define HW_MFP_INTERRUPT_INSERVICE_A (&g_STHardware.mfpInterruptInServiceA)
271 # define HW_MFP_INTERRUPT_INSERVICE_B (&g_STHardware.mfpInterruptInServiceB)
272 # define HW_MFP_INTERRUPT_MASK_A (&g_STHardware.mfpInterruptMaskA)
273 # define HW_MFP_INTERRUPT_MASK_B (&g_STHardware.mfpInterruptMaskB)
274 # define HW_MFP_VECTOR_BASE (&g_STHardware.mfpVectorBase)
275 # define HW_MFP_TIMER_A_CONTROL (&g_STHardware.mfpTimerAControl)
276 # define HW_MFP_TIMER_B_CONTROL (&g_STHardware.mfpTimerBControl)
277 # define HW_MFP_TIMER_CD_CONTROL (&g_STHardware.mfpTimerCDControl)
278 # define HW_MFP_TIMER_A_DATA (&g_STHardware.mfpTimerAData)
279 # define HW_MFP_TIMER_B_DATA (&g_STHardware.mfpTimerBData)
280 # define HW_MFP_TIMER_C_DATA (&g_STHardware.mfpTimerCData)
281 # define HW_MFP_TIMER_D_DATA (&g_STHardware.mfpTimerDData)
283 # define OS_FLOPVBL (&g_STHardware._flopvbl)
284 # define OS_NFLOPS (&g_STHardware._nflops)
288 #define HW_VIDEO_SYNC_50HZ 2
289 #define HW_VIDEO_SYNC_60HZ 0
290 #define HW_VIDEO_SYNC_EXTERN 1
292 #define HW_VIDEO_MODE_4P 0
293 #define HW_VIDEO_MODE_2P 1
294 #define HW_VIDEO_MODE_1P 2
296 #define HW_DMASOUND_CONTROL_OFF 0
297 #define HW_DMASOUND_CONTROL_PLAYONCE 1
298 #define HW_DMASOUND_CONTROL_PLAYLOOP 3
300 #define HW_DMASOUND_MODE_6258HZ 0
301 #define HW_DMASOUND_MODE_12517HZ 1
302 #define HW_DMASOUND_MODE_25033HZ 2
303 #define HW_DMASOUND_MODE_50066HZ 3
305 #define HW_DMASOUND_MODE_MONO 0x80
306 #define HW_DMASOUND_MODE_STEREO 0
308 #define HW_MICROWIRE_MASK_SOUND 0x7FF
310 #define HW_MICROWIRE_VOLUME 0x4C0
311 #define HW_MICROWIRE_VOLUME_LEFT 0x540
312 #define HW_MICROWIRE_VOLUME_RIGHT 0x500
313 #define HW_MICROWIRE_VOLUME_TREBLE 0x480
314 #define HW_MICROWIRE_VOLUME_BASS 0x440
316 #define HW_MICROWIRE_MIXER_YM_12DB 0x400
317 #define HW_MICROWIRE_MIXER_YM 0x401
318 #define HW_MICROWIRE_MIXER_NO_YM 0x402
320 #define HW_KEYBOARD_KEYRELEASE 0x80
321 #define HW_KEY_F1 0x3B
322 #define HW_KEY_F2 0x3C
323 #define HW_KEY_F3 0x3D
324 #define HW_KEY_F4 0x3E
325 #define HW_KEY_F5 0x3F
326 #define HW_KEY_F6 0x40
327 #define HW_KEY_F7 0x41
328 #define HW_KEY_F8 0x42
329 #define HW_KEY_F9 0x43
330 #define HW_KEY_F10 0x44
331 #define HW_KEY_SPACEBAR 0x39
332 #define HW_KEY_BACKSPACE 0xE
333 #define HW_KEY_TAB 0xF
334 #define HW_KEY_S 0x1F
335 #define HW_KEY_V 0x2F
337 #define HW_68KOP_RTS 0x4E75
Definition: HARDWARE.H:145