summaryrefslogtreecommitdiff
path: root/apps/plugins/sdl/src/video/ataricommon/SDL_xbiosinterrupt.S
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/sdl/src/video/ataricommon/SDL_xbiosinterrupt.S')
-rw-r--r--apps/plugins/sdl/src/video/ataricommon/SDL_xbiosinterrupt.S212
1 files changed, 0 insertions, 212 deletions
diff --git a/apps/plugins/sdl/src/video/ataricommon/SDL_xbiosinterrupt.S b/apps/plugins/sdl/src/video/ataricommon/SDL_xbiosinterrupt.S
deleted file mode 100644
index 3fc1a60ada..0000000000
--- a/apps/plugins/sdl/src/video/ataricommon/SDL_xbiosinterrupt.S
+++ /dev/null
@@ -1,212 +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 * XBIOS mouse & joystick vectors
25 *
26 * Patrice Mandin
27 */
28
29 .text
30
31 .globl _SDL_AtariXbios_Install
32 .globl _SDL_AtariXbios_Restore
33 .globl _SDL_AtariXbios_MouseVector
34 .globl _SDL_AtariXbios_JoystickVector
35
36 .globl _SDL_AtariXbios_mouselock
37 .globl _SDL_AtariXbios_mouseb
38 .globl _SDL_AtariXbios_mousex
39 .globl _SDL_AtariXbios_mousey
40 .globl _SDL_AtariXbios_joystick
41
42/*--- Vector installer ---*/
43
44_SDL_AtariXbios_Install:
45 movel sp@(4),a0
46
47 /* Stop interrupts */
48
49 movew #0x2700,sr
50
51 /* Save old mouse vector, set our routine */
52
53 clrl oldmousevector
54 movel sp@(8),d0
55 beqs no_new_mouse_vector
56#if defined(__mcoldfire__)
57 movel a0@(16),d1
58 movel d1,oldmousevector
59#else
60 movel a0@(16),oldmousevector
61#endif
62 movel d0,a0@(16)
63no_new_mouse_vector:
64
65 /* Save old joystick vector, set our routine */
66
67 clrl oldjoystickvector
68 movel sp@(12),d0
69 beqs no_new_joystick_vector
70#if defined(__mcoldfire__)
71 movel a0@(24),d1
72 movel d1,oldjoystickvector
73#else
74 movel a0@(24),oldjoystickvector
75#endif
76 movel d0,a0@(24)
77no_new_joystick_vector:
78
79 /* Restart interrupts */
80
81 movew #0x2300,sr
82
83 rts
84
85/*--- Vector restorer ---*/
86
87_SDL_AtariXbios_Restore:
88 movel sp@(4),a0
89
90 /* Stop interrupts */
91
92 movew #0x2700,sr
93
94 /* Restore mouse vector */
95
96 movel oldmousevector,d0
97 beqs no_restore_mouse
98 movel d0,a0@(16)
99no_restore_mouse:
100
101 /* Restore joystick vector */
102
103 movel oldjoystickvector,d0
104 beqs no_restore_joystick
105 movel d0,a0@(24)
106no_restore_joystick:
107
108 /* Restart interrupts */
109
110 movew #0x2300,sr
111
112 rts
113
114/*--- Our mouse vector ---*/
115
116 .text
117 .even
118 .ascii "XBRA"
119 .ascii "LSDL"
120 .comm oldmousevector,4*1
121_SDL_AtariXbios_MouseVector:
122#if defined(__mcoldfire__)
123 lea sp@(-8),sp
124 moveml d0-d1,sp@
125#else
126 movel d0,sp@-
127#endif
128
129 /* Mouse buttons */
130 moveb (a0),d0
131#if defined(__mcoldfire__)
132 andl #3,d0
133#else
134 andw #3,d0
135#endif
136 movew d0,_SDL_AtariXbios_mouseb
137
138 /* X movement */
139 moveb a0@(1),d0
140 extw d0
141#if defined(__mcoldfire__)
142 movew _SDL_AtariXbios_mousex,d1
143 addl d1,d0
144 movew d0,_SDL_AtariXbios_mousex
145#else
146 addw d0,_SDL_AtariXbios_mousex
147#endif
148
149 /* Y movement */
150 moveb a0@(2),d0
151 extw d0
152#if defined(__mcoldfire__)
153 movew _SDL_AtariXbios_mousey,d1
154 addl d1,d0
155 movew d0,_SDL_AtariXbios_mousey
156#else
157 addw d0,_SDL_AtariXbios_mousey
158#endif
159
160 /* Lock mouse position ? */
161 tstw _SDL_AtariXbios_mouselock
162 beq.s no_mouse_lock
163 clrb a0@(1)
164 clrb a0@(2)
165no_mouse_lock:
166
167 /* Jump through old vector */
168#if defined(__mcoldfire__)
169 moveml sp@,d0-d1
170 lea sp@(8),sp
171#else
172 movel sp@+,d0
173#endif
174
175 movel oldmousevector,sp@-
176 rts
177
178 .data
179 .even
180 .comm _SDL_AtariXbios_mouselock,2*1
181 .comm _SDL_AtariXbios_mousex,2*1
182 .comm _SDL_AtariXbios_mousey,2*1
183 .comm _SDL_AtariXbios_mouseb,2*1
184
185/*--- Our joystick vector ---*/
186
187 .text
188 .even
189 .ascii "XBRA"
190 .ascii "LSDL"
191 .comm oldjoystickvector,4*1
192_SDL_AtariXbios_JoystickVector:
193 movel d0,sp@-
194
195 /* New joystick state */
196 moveb a0@(2),d0
197#if defined(__mcoldfire__)
198 andl #0x8f,d0
199#else
200 andw #0x8f,d0
201#endif
202 movew d0,_SDL_AtariXbios_joystick
203
204 /* Jump through old vector */
205 movel sp@+,d0
206
207 movel oldjoystickvector,sp@-
208 rts
209
210 .data
211 .even
212 .comm _SDL_AtariXbios_joystick,2*1