summaryrefslogtreecommitdiff
path: root/apps/plugins/sdl/src/video/ataricommon/SDL_ikbdinterrupt.S
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2018-02-07 20:04:46 -0500
committerFranklin Wei <git@fwei.tk>2018-03-12 20:52:01 -0400
commit6039eb05ba6d82ef56f2868c96654c552d117bf9 (patch)
tree9db7016bcbf66cfdf7b9bc998d84c6eaff9c8378 /apps/plugins/sdl/src/video/ataricommon/SDL_ikbdinterrupt.S
parentef373c03b96b0be08babca581d9f10bccfd4931f (diff)
downloadrockbox-6039eb05ba6d82ef56f2868c96654c552d117bf9.tar.gz
rockbox-6039eb05ba6d82ef56f2868c96654c552d117bf9.zip
sdl: remove non-rockbox drivers
We never use any of these other drivers, so having them around just takes up space. Change-Id: Iced812162df1fef3fd55522b7e700acb6c3bcd41
Diffstat (limited to 'apps/plugins/sdl/src/video/ataricommon/SDL_ikbdinterrupt.S')
-rw-r--r--apps/plugins/sdl/src/video/ataricommon/SDL_ikbdinterrupt.S404
1 files changed, 0 insertions, 404 deletions
diff --git a/apps/plugins/sdl/src/video/ataricommon/SDL_ikbdinterrupt.S b/apps/plugins/sdl/src/video/ataricommon/SDL_ikbdinterrupt.S
deleted file mode 100644
index 21facc80a2..0000000000
--- a/apps/plugins/sdl/src/video/ataricommon/SDL_ikbdinterrupt.S
+++ /dev/null
@@ -1,404 +0,0 @@
1/*
2 SDL - Simple DirectMedia Layer
3 Copyright (C) 1997-2012 Sam Lantinga
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with this library; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
19 Sam Lantinga
20 slouken@libsdl.org
21*/
22
23/*
24 * IKBD 6301 interrupt routine
25 *
26 * Patrice Mandin
27 */
28
29 .text
30
31 .globl _SDL_AtariIkbdInstall
32 .globl _SDL_AtariIkbdUninstall
33
34 .globl _SDL_AtariIkbd_keyboard
35 .globl _SDL_AtariIkbd_mouseb
36 .globl _SDL_AtariIkbd_mousex
37 .globl _SDL_AtariIkbd_mousey
38 .globl _SDL_AtariIkbd_joystick
39
40 .globl _SDL_AtariIkbd_enabled
41
42/*--- Install our IKBD vector ---*/
43
44_SDL_AtariIkbdInstall:
45#if defined(__mcoldfire__)
46 lea sp@(-16),sp
47 moveml d0-d1/a0-a1,sp@
48#else
49 moveml d0-d1/a0-a1,sp@-
50#endif
51
52 | Disable interrupts
53
54 movew #0x2700,sr
55
56 | Save MFP registers used for keyboard
57
58 lea 0xfffffa00:w,a0
59 btst #6,a0@(0x09)
60#if defined(__mcoldfire__)
61 sne d0
62 move.b d0,ikbd_ierb
63#else
64 sne ikbd_ierb
65#endif
66 btst #6,a0@(0x15)
67#if defined(__mcoldfire__)
68 sne d0
69 move.b d0,ikbd_imrb
70#else
71 sne ikbd_imrb
72#endif
73
74 | Set our routine
75
76#if defined(__mcoldfire__)
77 movel 0x118:w,d0
78 movel d0,old_ikbd
79 lea ikbd,a0
80 movel a0,0x118:w
81 moveql #6,d0
82 bset d0,0xfffffa09:w | IERB
83 bset d0,0xfffffa15:w | IMRB
84#else
85 movel 0x118:w,old_ikbd
86 movel #ikbd,0x118:w
87 bset #6,0xfffffa09:w | IERB
88 bset #6,0xfffffa15:w | IMRB
89#endif
90
91 | Set mouse relative mode
92
93#if defined(__mcoldfire__)
94 moveql #8,d0
95 moveb d0,0xfffffc02:w
96#else
97 moveb #8,0xfffffc02:w
98#endif
99
100 | Reenable interrupts
101
102 movew #0x2300,sr
103
104 | Interrupts done
105
106#if defined(__mcoldfire__)
107 movel #0xffff,d0
108 movew d0,_SDL_AtariIkbd_enabled
109
110 moveml sp@,d0-d1/a0-a1
111 lea sp@(16),sp
112#else
113 movew #0xffff,_SDL_AtariIkbd_enabled
114
115 moveml sp@+,d0-d1/a0-a1
116#endif
117 rts
118
119/*--- Uninstall our IKBD vector ---*/
120
121_SDL_AtariIkbdUninstall:
122 movel a0,sp@-
123
124 | Disable interrupts
125
126 movew #0x2700,sr
127
128 | Restore previous MFP registers
129
130 lea 0xfffffa00:w,a0
131
132 bclr #6,a0@(0x09)
133 tstb ikbd_ierb
134 beqs ikbd_restoreierb
135 bset #6,a0@(0x09)
136ikbd_restoreierb:
137
138 bclr #6,a0@(0x15)
139 tstb ikbd_imrb
140 beqs ikbd_restoreimrb
141 bset #6,a0@(0x15)
142ikbd_restoreimrb:
143
144#if defined(__mcoldfire__)
145 movel old_ikbd,a0
146 movel a0,0x118:w
147#else
148 movel old_ikbd,0x118:w
149#endif
150
151 | Clear keyboard buffer
152
153 lea 0xfffffc00:w,a0
154ikbd_videbuffer:
155 btst #0,a0@
156 beqs ikbd_finbuffer
157 tstb a0@(0x02)
158 bras ikbd_videbuffer
159ikbd_finbuffer:
160
161 | Reenable interrupts
162
163 movew #0x2300,sr
164
165 movel sp@+,a0
166 rts
167
168 .bss
169
170 .even
171 .comm ikbd_ierb,1
172 .comm ikbd_imrb,1
173
174/*--- Our custom IKBD vector ---*/
175
176 .text
177 .even
178 .ascii "XBRA"
179 .ascii "LSDL"
180 .comm old_ikbd,4*1
181ikbd:
182#if defined(__mcoldfire__)
183 lea sp@(-12),sp
184 moveml d0-d1/a0,sp@
185#else
186 moveml d0-d1/a0,sp@-
187#endif
188
189 | Check if source is IKBD or MIDI
190#if defined(__mcoldfire__)
191 moveql #0,d0
192 btst d0,0xfffffc00.w
193#else
194 btst #0,0xfffffc00.w
195#endif
196 beqs ikbd_oldmidi
197
198 moveb 0xfffffc02:w,d0
199
200 | Joystick packet ?
201
202 cmpb #0xff,d0
203 beqs ikbd_yes_joystick
204
205 | Mouse packet ?
206
207 cmpb #0xf8,d0
208 bmis ikbd_no_mouse
209 cmpb #0xfc,d0
210 bpls ikbd_no_mouse
211
212 | Mouse packet, byte #1
213
214ikbd_yes_mouse:
215#if defined(__mcoldfire__)
216 andl #3,d0
217#else
218 andw #3,d0
219#endif
220 movew d0,_SDL_AtariIkbd_mouseb
221
222#if defined(__mcoldfire__)
223 movel #ikbd_mousex,d0
224 movel d0,0x118:w
225#else
226 movel #ikbd_mousex,0x118:w
227#endif
228 bras ikbd_endit_stack
229
230 | Joystick packet, byte #1
231
232ikbd_yes_joystick:
233#if defined(__mcoldfire__)
234 movel #ikbd_joystick,d0
235 movel d0,0x118:w
236#else
237 movel #ikbd_joystick,0x118:w
238#endif
239 bras ikbd_endit_stack
240
241 | Keyboard press/release
242
243ikbd_no_mouse:
244 moveb d0,d1
245 lea _SDL_AtariIkbd_keyboard,a0
246#if defined(__mcoldfire__)
247 andl #0x7f,d1
248 btst #7,d0
249 spl d0
250 moveb d0,a0@(0,d1:l)
251#else
252 andw #0x7f,d1
253 tas d0
254 spl a0@(0,d1:w)
255#endif
256
257 | End of interrupt
258
259ikbd_endit_stack:
260#if defined(__mcoldfire__)
261 moveql #6,d0
262 bclr d0,0xfffffa11:w
263
264 moveml sp@,d0-d1/a0
265 lea sp@(12),sp
266#else
267 moveml sp@+,d0-d1/a0
268
269 bclr #6,0xfffffa11:w
270#endif
271 rte
272
273 | Call old MIDI interrupt
274
275ikbd_oldmidi:
276#if defined(__mcoldfire__)
277 moveml sp@,d0-d1/a0
278 lea sp@(12),sp
279#else
280 moveml sp@+,d0-d1/a0
281#endif
282
283 movel old_ikbd,sp@-
284 rts
285
286 | Mouse packet, byte #2
287
288ikbd_mousex:
289#if defined(__mcoldfire__)
290 lea sp@(-12),sp
291 moveml d0-d1/a0,sp@
292#else
293 moveml d0-d1/a0,sp@-
294#endif
295
296 | Check if source is IKBD or MIDI
297#if defined(__mcoldfire__)
298 moveql #0,d0
299 btst d0,0xfffffc00.w
300#else
301 btst #0,0xfffffc00.w
302#endif
303 beqs ikbd_oldmidi
304
305 moveb 0xfffffc02:w,d0
306 extw d0
307#if defined(__mcoldfire__)
308 movew _SDL_AtariIkbd_mousex,d1
309 addl d1,d0
310 movew d0,_SDL_AtariIkbd_mousex
311
312 movel #ikbd_mousey,d0
313 movel d0,0x118:w
314#else
315 addw d0,_SDL_AtariIkbd_mousex
316
317 movel #ikbd_mousey,0x118:w
318#endif
319 bras ikbd_endit_stack
320
321 | Mouse packet, byte #3
322
323ikbd_mousey:
324#if defined(__mcoldfire__)
325 lea sp@(-12),sp
326 moveml d0-d1/a0,sp@
327#else
328 moveml d0-d1/a0,sp@-
329#endif
330
331 | Check if source is IKBD or MIDI
332#if defined(__mcoldfire__)
333 moveql #0,d0
334 btst d0,0xfffffc00.w
335#else
336 btst #0,0xfffffc00.w
337#endif
338 beqs ikbd_oldmidi
339
340 moveb 0xfffffc02:w,d0
341 extw d0
342#if defined(__mcoldfire__)
343 movew _SDL_AtariIkbd_mousey,d1
344 addl d1,d0
345 movew d0,_SDL_AtariIkbd_mousey
346
347 movel #ikbd,d0
348 movel d0,0x118:w
349#else
350 addw d0,_SDL_AtariIkbd_mousey
351
352 movel #ikbd,0x118:w
353#endif
354 bras ikbd_endit_stack
355
356 | Joystick packet, byte #2
357
358ikbd_joystick:
359#if defined(__mcoldfire__)
360 lea sp@(-12),sp
361 moveml d0-d1/a0,sp@
362#else
363 moveml d0-d1/a0,sp@-
364#endif
365
366 | Check if source is IKBD or MIDI
367#if defined(__mcoldfire__)
368 moveql #0,d0
369 btst d0,0xfffffc00.w
370#else
371 btst #0,0xfffffc00.w
372#endif
373 beqs ikbd_oldmidi
374
375#if defined(__mcoldfire__)
376 moveb 0xfffffc02:w,d0
377 moveb d0,_SDL_AtariIkbd_joystick+1
378
379 movel #ikbd,d0
380 movel d0,0x118:w
381
382 bra ikbd_endit_stack
383#else
384 moveb 0xfffffc02:w,_SDL_AtariIkbd_joystick+1
385
386 movel #ikbd,0x118:w
387
388 bras ikbd_endit_stack
389#endif
390
391 .data
392
393 .even
394_SDL_AtariIkbd_enabled:
395 .word 0
396
397 .bss
398
399 .even
400 .comm _SDL_AtariIkbd_keyboard,128
401 .comm _SDL_AtariIkbd_mousex,2
402 .comm _SDL_AtariIkbd_mousey,2
403 .comm _SDL_AtariIkbd_mouseb,2
404 .comm _SDL_AtariIkbd_joystick,2