1; Lynx system hardware includes
2; Shawn Jefferson
3; June 18th, 2004
4;
5; Reference:
6;  Bastian Schick's Lynx Documentation
7;  http://www.geocities.ws/SiliconValley/Byte/4242/lynx/
8;
9
10; ***
11; *** Suzy Addresses
12; ***
13
14; Sprite Control Block
15
16TMPADRL     = $FC00
17TMPADRH     = $FC01
18TILTACUML   = $FC02
19TILTACUMH   = $FC03
20HOFFL       = $FC04
21HOFFH       = $FC05
22VOFFL       = $FC06
23VOFFH       = $FC07
24VIDBASL     = $FC08
25VIDBASH     = $FC09
26COLLBASL    = $FC0A
27COLLBASH    = $FC0B
28VIDADRL     = $FC0C
29VIDADRH     = $FC0D
30COLLADRL    = $FC0E
31COLLADRH    = $FC0F
32SCBNEXTL    = $FC10
33SCBNEXTH    = $FC11
34SPRDLINEL   = $FC12
35SPRDLINEH   = $FC13
36HPOSSTRTL   = $FC14
37HPOSSTRTH   = $FC15
38VPOSSTRTL   = $FC16
39VPOSSTRTH   = $FC17
40SPRHSIZL    = $FC18
41SPRHSIZH    = $FC19
42SPRVSIZL    = $FC1A
43SPRVSIZH    = $FC1B
44STRETCHL    = $FC1C
45STRETCHH    = $FC1D
46TILTL       = $FC1E
47TILTH       = $FC1F
48SPRDOFFL    = $FC20
49SPRDOFFH    = $FC21
50SPRVPOSL    = $FC22
51SPRVPOSH    = $FC23
52COLLOFFL    = $FC24
53COLLOFFH    = $FC25
54VSIZACUML   = $FC26
55VSIZACUMH   = $FC27
56HSIZOFFL    = $FC28
57HSIZOFFH    = $FC29
58VSIZOFFL    = $FC2A
59VSIZOFFH    = $FC2B
60SCBADRL     = $FC2C
61SCBADRH     = $FC2D
62PROCADRL    = $FC2E
63PROCADRH    = $FC2F
64
65; Suzy Math
66
67MATHD       = $FC52
68MATHC       = $FC53
69MATHB       = $FC54
70MATHA       = $FC55
71MATHP       = $FC56
72MATHN       = $FC57
73MATHH       = $FC60
74MATHG       = $FC61
75MATHF       = $FC62
76MATHE       = $FC63
77MATHM       = $FC6C
78MATHL       = $FC6D
79MATHK       = $FC6E
80MATHJ       = $FC6F
81
82; Suzy Misc
83
84SPRCTL0     = $FC80
85SPRCTL1     = $FC81
86SPRCOLL     = $FC82
87SPRINIT     = $FC83
88SUZYHREV    = $FC88
89SUZYSREV    = $FC89
90SUZYBUSEN   = $FC90
91SPRGO       = $FC91
92SPRSYS      = $FC92
93JOYSTICK    = $FCB0
94SWITCHES    = $FCB1
95RCART0      = $FCB2
96RCART1      = $FCB3
97LEDS        = $FCC0
98PARSTATUS   = $FCC2
99PARDATA     = $FCC3
100HOWIE       = $FCC4
101
102
103; ***
104; *** Mikey Addresses
105; ***
106
107; Mikey Timers
108
109TIMER0      = $FD00
110TIMER1      = $FD04
111TIMER2      = $FD08
112TIMER3      = $FD0C
113TIMER4      = $FD10
114TIMER5      = $FD14
115TIMER6      = $FD18
116TIMER7      = $FD1C
117HTIMER      = $FD00             ; horizontal line timer (timer 0)
118VTIMER      = $FD08             ; vertical blank timer (timer 2)
119STIMER      = $FD1C             ; sound timer (timer 7)
120
121HTIMBKUP    = $FD00             ; horizontal line timer (timer 0)
122HTIMCTLA    = $FD01
123HTIMCNT     = $FD02
124HTIMCTLB    = $FD03
125VTIMBKUP    = $FD08             ; vertical blank timer (timer 2)
126VTIMCTLA    = $FD09
127VTIMCNT     = $FD0A
128VTIMCTLB    = $FD0B
129BAUDBKUP    = $FD10             ; serial timer (timer 4)
130STIMBKUP    = $FD1C             ; sound timer (timer 7)
131STIMCTLA    = $FD1D
132STIMCNT     = $FD1E
133STIMCTLB    = $FD1F
134
135TIM0BKUP    = $FD00
136TIM0CTLA    = $FD01
137TIM0CNT     = $FD02
138TIM0CTLB    = $FD03
139TIM1BKUP    = $FD04
140TIM1CTLA    = $FD05
141TIM1CNT     = $FD06
142TIM1CTLB    = $FD07
143TIM2BKUP    = $FD08
144TIM2CTLA    = $FD09
145TIM2CNT     = $FD0A
146TIM2CTLB    = $FD0B
147TIM3BKUP    = $FD0C
148TIM3CTLA    = $FD0D
149TIM3CNT     = $FD0E
150TIM3CTLB    = $FD0F
151TIM4BKUP    = $FD10
152TIM4CTLA    = $FD11
153TIM4CNT     = $FD12
154TIM4CTLB    = $FD13
155TIM5BKUP    = $FD14
156TIM5CTLA    = $FD15
157TIM5CNT     = $FD16
158TIM5CTLB    = $FD17
159TIM6BKUP    = $FD18
160TIM6CTLA    = $FD19
161TIM6CNT     = $FD1A
162TIM6CTLB    = $FD1B
163TIM7BKUP    = $FD1C
164TIM7CTLA    = $FD1D
165TIM7CNT     = $FD1E
166TIM7CTLB    = $FD1F
167
168; Mikey Audio
169
170AUDIO0      = $FD20             ; audio channel 0
171AUDIO1      = $FD28             ; audio channel 1
172AUDIO2      = $FD30             ; audio channel 2
173AUDIO3      = $FD38             ; audio channel 3
174
175AUD0VOL     = $FD20
176AUD0FEED    = $FD21
177AUD0OUT     = $FD22
178AUD0SHIFT   = $FD23
179AUD0BKUP    = $FD24
180AUD0CTLA    = $FD25
181AUD0CNT     = $FD26
182AUD0CTLB    = $FD27
183AUD1VOL     = $FD28
184AUD1FEED    = $FD29
185AUD1OUT     = $FD2A
186AUD1SHIFT   = $FD2B
187AUD1BKUP    = $FD2C
188AUD1CTLA    = $FD2D
189AUD1CNT     = $FD2E
190AUD1CTLB    = $FD2F
191AUD2VOL     = $FD30
192AUD2FEED    = $FD31
193AUD2OUT     = $FD32
194AUD2SHIFT   = $FD33
195AUD2BKUP    = $FD34
196AUD2CTLA    = $FD35
197AUD2CNT     = $FD36
198AUD2CTLB    = $FD37
199AUD3VOL     = $FD38
200AUD3FEED    = $FD39
201AUD3OUT     = $FD3A
202AUD3SHIFT   = $FD3B
203AUD3BKUP    = $FD3C
204AUD3CTLA    = $FD3D
205AUD3CNT     = $FD3E
206AUD3CTLB    = $FD3F
207MSTEREO     = $FD50
208
209; Mikey Misc
210
211; Interrupt bits in INTRST and INTSET
212TIMER0_INTERRUPT = $01
213TIMER1_INTERRUPT = $02
214TIMER2_INTERRUPT = $04
215TIMER3_INTERRUPT = $08
216TIMER4_INTERRUPT = $10
217TIMER5_INTERRUPT = $20
218TIMER6_INTERRUPT = $40
219TIMER7_INTERRUPT = $80
220
221HBL_INTERRUPT = TIMER0_INTERRUPT
222VBL_INTERRUPT = TIMER2_INTERRUPT
223SERIAL_INTERRUPT = TIMER4_INTERRUPT
224SND_INTERRUPT = TIMER7_INTERRUPT
225
226INTRST      = $FD80
227INTSET      = $FD81
228MAGRDY0     = $FD84
229MAGRDY1     = $FD85
230AUDIN       = $FD86
231SYSCTL1     = $FD87
232MIKEYHREV   = $FD88
233MIKEYSREV   = $FD89
234IODIR       = $FD8A
235IODAT       = $FD8B
236TxIntEnable = %10000000
237RxIntEnable = %01000000
238TxParEnable = %00010000
239ResetErr    = %00001000
240TxOpenColl  = %00000100
241TxBreak     = %00000010
242ParEven     = %00000001
243TxReady     = %10000000
244RxReady     = %01000000
245TxEmpty     = %00100000
246RxParityErr = %00010000
247RxOverrun   = %00001000
248RxFrameErr  = %00000100
249RxBreak     = %00000010
250ParityBit   = %00000001
251SERCTL      = $FD8C
252SERDAT      = $FD8D
253SDONEACK    = $FD90
254CPUSLEEP    = $FD91
255DISPCTL     = $FD92
256PBKUP       = $FD93
257DISPADRL    = $FD94
258DISPADRH    = $FD95
259MTEST0      = $FD9C
260MTEST1      = $FD9D
261MTEST2      = $FD9E
262PALETTE     = $FDA0                 ; hardware rgb palette
263GCOLMAP     = $FDA0                 ; hardware rgb palette (green)
264RBCOLMAP    = $FDB0                 ; hardware rgb palette (red-blue)
265
266
267; ***
268; *** Misc Hardware + 6502 vectors
269; ***
270
271MAPCTL      = $FFF9
272VECTORS     = $FFFB
273INTVECTL    = $FFFE
274INTVECTH    = $FFFF
275RSTVECTL    = $FFFC
276RSTVECTH    = $FFFD
277NMIVECTL    = $FFFA
278NMIVECTH    = $FFFB
279
280