]> git.sur5r.net Git - cc65/blob - asminc/lynx.inc
Added prototypes for C callable multiplication routines.
[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.com/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
120 HTIMBKUP    = $FD00             ; horizontal line timer (timer 0)
121 HTIMCTLA    = $FD01
122 HTIMCNT     = $FD02
123 HTIMCTLB    = $FD03
124 VTIMBKUP    = $FD08             ; vertical blank timer (timer 2)
125 VTIMCTLA    = $FD09
126 VTIMCNT     = $FD0A
127 VTIMCTLB    = $FD0B
128 BAUDBKUP    = $FD10             ; serial timer (timer 4)
129
130 TIM0BKUP    = $FD00
131 TIM0CTLA    = $FD01
132 TIM0CNT     = $FD02
133 TIM0CTLB    = $FD03 
134 TIM1BKUP    = $FD04
135 TIM1CTLA    = $FD05
136 TIM1CNT     = $FD06
137 TIM1CTLB    = $FD07 
138 TIM2BKUP    = $FD08
139 TIM2CTLA    = $FD09
140 TIM2CNT     = $FD0A
141 TIM2CTLB    = $FD0B 
142 TIM3BKUP    = $FD0C
143 TIM3CTLA    = $FD0D
144 TIM3CNT     = $FD0E
145 TIM3CTLB    = $FD0F 
146 TIM4BKUP    = $FD10
147 TIM4CTLA    = $FD11
148 TIM4CNT     = $FD12
149 TIM4CTLB    = $FD13 
150 TIM5BKUP    = $FD14
151 TIM5CTLA    = $FD15
152 TIM5CNT     = $FD16
153 TIM5CTLB    = $FD17 
154 TIM6BKUP    = $FD18
155 TIM6CTLA    = $FD19
156 TIM6CNT     = $FD1A
157 TIM6CTLB    = $FD1B 
158 TIM7BKUP    = $FD1C
159 TIM7CTLA    = $FD1D
160 TIM7CNT     = $FD1E
161 TIM7CTLB    = $FD1F 
162
163 ; Mikey Audio
164
165 AUDIO0      = $FD20             ; audio channel 0
166 AUDIO1      = $FD28             ; audio channel 1
167 AUDIO2      = $FD30             ; audio channel 2
168 AUDIO3      = $FD38             ; audio channel 3
169
170 AUD0VOL     = $FD20
171 AUD0FEED    = $FD21
172 AUD0OUT     = $FD22
173 AUD0SHIFT   = $FD23
174 AUD0BKUP    = $FD24
175 AUD0CTLA    = $FD25
176 AUD0CNT     = $FD26
177 AUD0CTLB    = $FD27
178 AUD1VOL     = $FD28
179 AUD1FEED    = $FD29
180 AUD1OUT     = $FD2A
181 AUD1SHIFT   = $FD2B
182 AUD1BKUP    = $FD2C
183 AUD1CTLA    = $FD2D
184 AUD1CNT     = $FD2E
185 AUD1CTLB    = $FD2F
186 AUD2VOL     = $FD30
187 AUD2FEED    = $FD31
188 AUD2OUT     = $FD32
189 AUD2SHIFT   = $FD33
190 AUD2BKUP    = $FD34
191 AUD2CTLA    = $FD35
192 AUD2CNT     = $FD36
193 AUD2CTLB    = $FD37
194 AUD3VOL     = $FD38
195 AUD3FEED    = $FD39
196 AUD3OUT     = $FD3A
197 AUD3SHIFT   = $FD3B
198 AUD3BKUP    = $FD3C
199 AUD3CTLA    = $FD3D
200 AUD3CNT     = $FD3E
201 AUD3CTLB    = $FD3F
202 MSTEREO     = $FD50
203
204 ; Mikey Misc
205
206 ; Interrupt bits in INTRST and INTSET
207 TIMER0_INTERRUPT = $01
208 TIMER1_INTERRUPT = $02
209 TIMER2_INTERRUPT = $04
210 TIMER3_INTERRUPT = $08
211 TIMER4_INTERRUPT = $10
212 TIMER5_INTERRUPT = $20
213 TIMER6_INTERRUPT = $40
214 TIMER7_INTERRUPT = $80
215
216 HBL_INTERRUPT = TIMER0_INTERRUPT
217 VBL_INTERRUPT = TIMER2_INTERRUPT
218 SERIAL_INTERRUPT = TIMER4_INTERRUPT
219
220 INTRST      = $FD80
221 INTSET      = $FD81
222 MAGRDY0     = $FD84
223 MAGRDY1     = $FD85
224 AUDIN       = $FD86
225 SYSCTL1     = $FD87
226 MIKEYHREV   = $FD88
227 MIKEYSREV   = $FD89
228 IODIR       = $FD8A
229 IODAT       = $FD8B
230 TxIntEnable = %10000000
231 RxIntEnable = %01000000
232 TxParEnable = %00010000
233 ResetErr    = %00001000
234 TxOpenColl  = %00000100
235 TxBreak     = %00000010
236 ParEven     = %00000001
237 TxReady     = %10000000
238 RxReady     = %01000000
239 TxEmpty     = %00100000
240 RxParityErr = %00010000
241 RxOverrun   = %00001000
242 RxFrameErr  = %00000100
243 RxBreak     = %00000010
244 ParityBit   = %00000001
245 SERCTL      = $FD8C
246 SERDAT      = $FD8D
247 SDONEACK    = $FD90
248 CPUSLEEP    = $FD91
249 DISPCTL     = $FD92
250 PBKUP       = $FD93
251 DISPADRL    = $FD94
252 DISPADRH    = $FD95
253 MTEST0      = $FD9C
254 MTEST1      = $FD9D
255 MTEST2      = $FD9E
256 PALETTE     = $FDA0                 ; hardware rgb palette
257 GCOLMAP     = $FDA0                 ; hardware rgb palette (green)
258 RBCOLMAP    = $FDB0                 ; hardware rgb palette (red-blue)
259
260
261 ; ***
262 ; *** Misc Hardware + 6502 vectors
263 ; ***
264
265 MAPCTL      = $FFF9
266 VECTORS     = $FFFB
267 INTVECTL    = $FFFE
268 INTVECTH    = $FFFF
269 RSTVECTL    = $FFFC
270 RSTVECTH    = $FFFD
271 NMIVECTL    = $FFFA
272 NMIVECTH    = $FFFB
273