Mercurial > sdl-ios-xcode
comparison src/audio/mint/SDL_mintaudio_it.S @ 704:c4803992e09c
Small bugfixes
author | Patrice Mandin <patmandin@gmail.com> |
---|---|
date | Sat, 30 Aug 2003 20:00:11 +0000 |
parents | 594422ab8f9f |
children | 185acc07127a |
comparison
equal
deleted
inserted
replaced
703:ca809c1b41ca | 704:c4803992e09c |
---|---|
60 tstw _SDL_MintAudio_mutex | 60 tstw _SDL_MintAudio_mutex |
61 bnes _SDL_MintAudio_EmptyGsxbInterrupt | 61 bnes _SDL_MintAudio_EmptyGsxbInterrupt |
62 notw _SDL_MintAudio_mutex | 62 notw _SDL_MintAudio_mutex |
63 | 63 |
64 /* Swap buffers */ | 64 /* Swap buffers */ |
65 eorw #1,_SDL_MintAudio_numbuf | |
66 | |
65 moveml d0-d2/a0-a2,sp@- | 67 moveml d0-d2/a0-a2,sp@- |
66 | 68 |
67 movel _SDL_MintAudio_numbuf,d0 | 69 /* Callback */ |
68 movel _SDL_MintAudio_audiobuf,a0 | 70 jsr _SDL_MintAudio_Callback |
69 eorl #1,d0 | 71 |
70 beqs SDL_MintAudio_GsxbBuffer0 | 72 /* Set new buffer */ |
71 movel _SDL_MintAudio_audiobuf+4,a0 | 73 |
72 SDL_MintAudio_GsxbBuffer0: | 74 moveq #0,d0 |
73 movel d0,_SDL_MintAudio_numbuf | |
74 | |
75 /* Callback */ | |
76 movel a0,sp@- | |
77 jsr _SDL_MintAudio_Callback | |
78 movel sp@+,a0 | |
79 | |
80 /* Setbuffer xbios function */ | |
81 movel _SDL_MintAudio_audiosize,d1 | 75 movel _SDL_MintAudio_audiosize,d1 |
82 lea a0@(0,d1:l),a1 | 76 |
83 | 77 movew _SDL_MintAudio_numbuf,d0 |
78 lsll #2,d0 | |
79 lea _SDL_MintAudio_audiobuf,a0 | |
80 movel a0@(d0:l),a1 | |
81 | |
82 lea a1@(d1:l),a2 | |
83 | |
84 movel a2,sp@- | |
84 movel a1,sp@- | 85 movel a1,sp@- |
85 movel a0,sp@- | |
86 clrw sp@- | 86 clrw sp@- |
87 movew #131,sp@- | 87 movew #131,sp@- |
88 trap #14 | 88 trap #14 |
89 lea sp@(12),sp | 89 lea sp@(12),sp |
90 | 90 |
108 tstw _SDL_MintAudio_mutex | 108 tstw _SDL_MintAudio_mutex |
109 bnes SDL_MintAudio_XbiosEnd | 109 bnes SDL_MintAudio_XbiosEnd |
110 notw _SDL_MintAudio_mutex | 110 notw _SDL_MintAudio_mutex |
111 | 111 |
112 /* Swap buffers */ | 112 /* Swap buffers */ |
113 eorw #1,_SDL_MintAudio_numbuf | |
114 | |
113 moveml d0-d2/a0-a2,sp@- | 115 moveml d0-d2/a0-a2,sp@- |
114 | 116 |
115 movel _SDL_MintAudio_numbuf,d0 | 117 /* Callback */ |
116 movel _SDL_MintAudio_audiobuf,a0 | 118 jsr _SDL_MintAudio_Callback |
117 eorl #1,d0 | 119 |
118 beqs SDL_MintAudio_XbiosBuffer0 | 120 /* Set new buffer */ |
119 movel _SDL_MintAudio_audiobuf+4,a0 | 121 |
120 SDL_MintAudio_XbiosBuffer0: | 122 moveq #0,d0 |
121 movel d0,_SDL_MintAudio_numbuf | |
122 | |
123 /* Callback */ | |
124 movel a0,sp@- | |
125 jsr _SDL_MintAudio_Callback | |
126 movel sp@+,a0 | |
127 | |
128 /* Setbuffer xbios function */ | |
129 movel _SDL_MintAudio_audiosize,d1 | 123 movel _SDL_MintAudio_audiosize,d1 |
130 lea a0@(0,d1:l),a1 | 124 |
131 | 125 movew _SDL_MintAudio_numbuf,d0 |
126 lsll #2,d0 | |
127 lea _SDL_MintAudio_audiobuf,a0 | |
128 movel a0@(d0:l),a1 | |
129 | |
130 lea a1@(d1:l),a2 | |
131 | |
132 movel a2,sp@- | |
132 movel a1,sp@- | 133 movel a1,sp@- |
133 movel a0,sp@- | |
134 clrw sp@- | 134 clrw sp@- |
135 movew #131,sp@- | 135 movew #131,sp@- |
136 trap #14 | 136 trap #14 |
137 lea sp@(12),sp | 137 lea sp@(12),sp |
138 | 138 |
156 tstw _SDL_MintAudio_mutex | 156 tstw _SDL_MintAudio_mutex |
157 bnes SDL_MintAudio_Dma8End | 157 bnes SDL_MintAudio_Dma8End |
158 notw _SDL_MintAudio_mutex | 158 notw _SDL_MintAudio_mutex |
159 | 159 |
160 /* Swap buffers */ | 160 /* Swap buffers */ |
161 eorw #1,_SDL_MintAudio_numbuf | |
162 | |
161 moveml d0-d1/a0-a1,sp@- | 163 moveml d0-d1/a0-a1,sp@- |
162 | 164 |
163 movel _SDL_MintAudio_numbuf,d0 | 165 /* Callback */ |
164 movel _SDL_MintAudio_audiobuf,d1 | 166 jsr _SDL_MintAudio_Callback |
165 eorl #1,d0 | 167 |
166 beqs SDL_MintAudio_Dma8Buffer0 | 168 /* Set new buffer */ |
167 movel _SDL_MintAudio_audiobuf+4,d1 | 169 |
168 SDL_MintAudio_Dma8Buffer0: | 170 moveq #0,d0 |
169 movel d0,_SDL_MintAudio_numbuf | 171 |
170 | 172 movew _SDL_MintAudio_numbuf,d0 |
171 /* Callback */ | 173 lslw #2,d0 |
172 movel d1,sp@- | 174 lea _SDL_MintAudio_audiobuf,a0 |
173 jsr _SDL_MintAudio_Callback | 175 movel a0@(d0:w),d1 |
174 movel sp@+,d1 | |
175 | 176 |
176 /* Modify DMA addresses */ | 177 /* Modify DMA addresses */ |
177 lea 0xffff8900:w,a0 | 178 lea 0xffff8900:w,a0 |
178 | 179 |
179 moveb d1,a0@(0x07) /* Start address */ | 180 moveb d1,a0@(0x07) /* Start address */ |
211 tstw _SDL_MintAudio_mutex | 212 tstw _SDL_MintAudio_mutex |
212 bnes SDL_MintAudio_StfaEnd | 213 bnes SDL_MintAudio_StfaEnd |
213 notw _SDL_MintAudio_mutex | 214 notw _SDL_MintAudio_mutex |
214 | 215 |
215 /* Swap buffers */ | 216 /* Swap buffers */ |
217 eorw #1,_SDL_MintAudio_numbuf | |
218 | |
216 moveml d0-d1/a0-a1,sp@- | 219 moveml d0-d1/a0-a1,sp@- |
217 | 220 |
218 movel _SDL_MintAudio_numbuf,d0 | 221 /* Callback */ |
219 movel _SDL_MintAudio_audiobuf,d1 | 222 jsr _SDL_MintAudio_Callback |
220 eorl #1,d0 | 223 |
221 beqs SDL_MintAudio_StfaBuffer0 | 224 /* Set new buffer */ |
222 movel _SDL_MintAudio_audiobuf+4,d1 | 225 |
223 SDL_MintAudio_StfaBuffer0: | 226 moveq #0,d0 |
224 movel d0,_SDL_MintAudio_numbuf | 227 movel _SDL_MintAudio_stfa,a1 |
225 | 228 |
226 /* Callback */ | 229 movew _SDL_MintAudio_numbuf,d0 |
227 movel d1,sp@- | 230 lslw #2,d0 |
228 jsr _SDL_MintAudio_Callback | 231 lea _SDL_MintAudio_audiobuf,a0 |
229 movel sp@+,d1 | 232 movel a0@(d0:w),d1 |
230 | 233 |
231 /* Modify STFA replay buffers */ | 234 /* Modify STFA replay buffers */ |
232 movel _SDL_MintAudio_stfa,a0 | 235 movel d1,a1@(STFA_SOUND_START) |
233 movel d1,a0@(STFA_SOUND_START) | |
234 addl _SDL_MintAudio_audiosize,d1 | 236 addl _SDL_MintAudio_audiosize,d1 |
235 movel d1,a0@(STFA_SOUND_END) | 237 movel d1,a1@(STFA_SOUND_END) |
236 | 238 |
237 moveml sp@+,d0-d1/a0-a1 | 239 moveml sp@+,d0-d1/a0-a1 |
238 | 240 |
239 clrw _SDL_MintAudio_mutex | 241 clrw _SDL_MintAudio_mutex |
240 SDL_MintAudio_StfaEnd: | 242 SDL_MintAudio_StfaEnd: |
241 rte | 243 rte |
242 |