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