2015-02-23 10:47:22 +00:00
|
|
|
; int DEFCONV snd_mmd_resident(void)
|
|
|
|
proc_defconv snd_mmd_resident
|
2014-11-24 21:36:57 +00:00
|
|
|
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
|
2015-02-23 10:47:22 +00:00
|
|
|
mov _snd_interrupt_if_midi, 61h
|
2014-11-24 21:36:57 +00:00
|
|
|
if GAME le 3
|
2015-02-23 10:47:22 +00:00
|
|
|
mov _snd_midi_active, 1
|
2014-11-24 21:36:57 +00:00
|
|
|
endif
|
2015-02-23 10:47:22 +00:00
|
|
|
mov _snd_midi_possible, 1
|
2014-11-24 21:36:57 +00:00
|
|
|
mov ax, 1
|
|
|
|
ret
|
|
|
|
|
|
|
|
@@nope:
|
|
|
|
if GAME le 3
|
2015-02-23 10:47:22 +00:00
|
|
|
mov _snd_midi_possible, 0
|
2014-11-24 21:36:57 +00:00
|
|
|
endif
|
|
|
|
xor ax, ax
|
|
|
|
ret
|
2015-02-23 10:47:22 +00:00
|
|
|
endp_defconv
|
2014-11-24 21:36:57 +00:00
|
|
|
nop ; word alignment
|