fix modplay.asm and re-enable bg music. it actually works now!
i didn't recognize _getds from anywhere so assumed it was something commented out for a reason, but turns out that it was part of the original modplayer code (which was originally written for watcom anyway). _getds is an internal function from the watcom standard libraries.
This commit is contained in:
parent
1b11c42c1d
commit
080fb9ae68
|
@ -1587,7 +1587,7 @@ StrAmount = MAX_STR_AMOUNT;
|
||||||
AckSetupKeyboard();
|
AckSetupKeyboard();
|
||||||
AckSetupTimer();
|
AckSetupTimer();
|
||||||
|
|
||||||
//StartBGmusic();
|
StartBGmusic();
|
||||||
|
|
||||||
// Switch to mode 13
|
// Switch to mode 13
|
||||||
AckSetVGAmode();
|
AckSetVGAmode();
|
||||||
|
@ -2063,7 +2063,7 @@ while (!done)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//EndBGmusic();
|
EndBGmusic();
|
||||||
ShutDownFlag = 1;
|
ShutDownFlag = 1;
|
||||||
AckWrapUp(ae);
|
AckWrapUp(ae);
|
||||||
AckSetTextmode();
|
AckSetTextmode();
|
||||||
|
|
|
@ -21,6 +21,7 @@ global MODPlayVoice:near
|
||||||
global MODStopVoice:near
|
global MODStopVoice:near
|
||||||
global MODSetPeriod:near
|
global MODSetPeriod:near
|
||||||
global MODSetVolume:near
|
global MODSetVolume:near
|
||||||
|
global _GETDS:near
|
||||||
|
|
||||||
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||||
; EQUATES
|
; EQUATES
|
||||||
|
@ -1132,6 +1133,10 @@ IRQSetVect:
|
||||||
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
|
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
|
||||||
IRQHandler:
|
IRQHandler:
|
||||||
pushad ; pushes all the registers
|
pushad ; pushes all the registers
|
||||||
|
push ds
|
||||||
|
mov ax,DGROUP ; load the DS selector
|
||||||
|
mov ds,ax
|
||||||
|
call _GETDS
|
||||||
mov dx,[IOAddr] ; send ack to the SB DSP chip
|
mov dx,[IOAddr] ; send ack to the SB DSP chip
|
||||||
add dx,0Eh
|
add dx,0Eh
|
||||||
in al,dx
|
in al,dx
|
||||||
|
@ -1150,6 +1155,7 @@ IRQHandler:
|
||||||
out 0A0h,al
|
out 0A0h,al
|
||||||
IRQAckPIC:
|
IRQAckPIC:
|
||||||
out 20h,al
|
out 20h,al
|
||||||
|
pop ds
|
||||||
popad ; restores all the registers
|
popad ; restores all the registers
|
||||||
iretd
|
iretd
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue