ReC98/th02/snd/mmd_res.asm

29 lines
510 B
NASM
Raw Normal View History

; int DEFCONV snd_mmd_resident(void)
proc_defconv snd_mmd_resident
xor ax, ax
mov es, ax
les bx, dword ptr es:[61h * 4]
assume es:nothing
cmp byte ptr es:[bx+2], 'M'
jnz short @@nope
cmp byte ptr es:[bx+3], 'M'
jnz short @@nope
cmp byte ptr es:[bx+4], 'D'
jnz short @@nope
mov _snd_interrupt_if_midi, 61h
if GAME le 3
mov _snd_midi_active, 1
endif
mov _snd_midi_possible, 1
mov ax, 1
ret
@@nope:
if GAME le 3
mov _snd_midi_possible, 0
endif
xor ax, ax
ret
endp_defconv
nop ; word alignment