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