|
@@ -89,7 +89,12 @@ section .bss
|
89
|
89
|
; audiospec returned from SDL
|
90
|
90
|
audiospec_recv: resb 32
|
91
|
91
|
; Event receveid from SDL
|
92
|
|
- event: resb 24
|
|
92
|
+ %ifdef SDL1
|
|
93
|
+ event: resb 24
|
|
94
|
+ %endif
|
|
95
|
+ %ifdef SDL 2
|
|
96
|
+ event: resb 56
|
|
97
|
+ %endif
|
93
|
98
|
|
94
|
99
|
section .text
|
95
|
100
|
global _start
|
|
@@ -344,7 +349,7 @@ sdl_init:
|
344
|
349
|
mov rdi, audiospec_wanted
|
345
|
350
|
mov rsi, audiospec_recv
|
346
|
351
|
call SDL_OpenAudio
|
347
|
|
-
|
|
352
|
+dbginit:
|
348
|
353
|
; 256*256 window
|
349
|
354
|
;mov rdi, 256
|
350
|
355
|
;mov rsi, 255
|
|
@@ -353,10 +358,12 @@ sdl_init:
|
353
|
358
|
;xor rcx, rcx
|
354
|
359
|
;call SDL_SetVideoMode
|
355
|
360
|
|
356
|
|
-audio_start:
|
357
|
|
- ;start audio
|
358
|
|
- xor rdi, rdi
|
359
|
|
- call SDL_PauseAudio
|
|
361
|
+%ifdef SDL1
|
|
362
|
+ audio_start:
|
|
363
|
+ ;start audio
|
|
364
|
+ xor rdi, rdi
|
|
365
|
+ call SDL_PauseAudio
|
|
366
|
+%endif
|
360
|
367
|
|
361
|
368
|
loop_event:
|
362
|
369
|
xor rdi, rdi
|
|
@@ -366,19 +373,35 @@ loop_event:
|
366
|
373
|
cmp rax, 0
|
367
|
374
|
je sdl_error ; error fetching event...
|
368
|
375
|
xor rdi, rdi
|
369
|
|
- mov di, [event]
|
370
|
|
-
|
371
|
|
-dbg:
|
372
|
|
- ;mov rsi, 1
|
373
|
|
- ;push rdi
|
374
|
|
- ;call print_hnum
|
375
|
|
- ;pop rdi
|
376
|
|
-
|
377
|
|
- test di, SDL_QuitEvent
|
378
|
|
- jnz exit
|
|
376
|
+%ifdef SDL1
|
|
377
|
+ mov di, [event]
|
|
378
|
+
|
|
379
|
+ dbg:
|
|
380
|
+ ;mov rsi, 1
|
|
381
|
+ ;push rdi
|
|
382
|
+ ;call print_hnum
|
|
383
|
+ ;pop rdi
|
|
384
|
+
|
|
385
|
+ test di, SDL_QUIT
|
|
386
|
+ jnz exit
|
|
387
|
+%endif
|
|
388
|
+%ifdef SDL2
|
|
389
|
+ mov edi, [event]
|
|
390
|
+ cmp edi, SDL_AUDIODEVICEADDED
|
|
391
|
+ je sdl2_audiostart
|
|
392
|
+ cmp edi, SDL_QUIT
|
|
393
|
+ je exit
|
|
394
|
+%endif
|
379
|
395
|
|
380
|
396
|
jmp loop_event
|
381
|
397
|
|
|
398
|
+%ifdef SDL2
|
|
399
|
+ sdl2_audiostart:
|
|
400
|
+ xor rdi, rdi
|
|
401
|
+ call SDL_PauseAudio
|
|
402
|
+ jmp loop_event
|
|
403
|
+%endif
|
|
404
|
+
|
382
|
405
|
sdl_error:
|
383
|
406
|
; display error & exit
|
384
|
407
|
call SDL_GetError
|
|
@@ -596,6 +619,7 @@ audio_cllbck:
|
596
|
619
|
pop rcx
|
597
|
620
|
inc dword [t]
|
598
|
621
|
loop .loop
|
|
622
|
+dbg0:
|
599
|
623
|
ret
|
600
|
624
|
|
601
|
625
|
run_glitch:
|