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();
|
||||
AckSetupTimer();
|
||||
|
||||
//StartBGmusic();
|
||||
StartBGmusic();
|
||||
|
||||
// Switch to mode 13
|
||||
AckSetVGAmode();
|
||||
|
@ -2063,7 +2063,7 @@ while (!done)
|
|||
}
|
||||
}
|
||||
|
||||
//EndBGmusic();
|
||||
EndBGmusic();
|
||||
ShutDownFlag = 1;
|
||||
AckWrapUp(ae);
|
||||
AckSetTextmode();
|
||||
|
|
|
@ -21,6 +21,7 @@ global MODPlayVoice:near
|
|||
global MODStopVoice:near
|
||||
global MODSetPeriod:near
|
||||
global MODSetVolume:near
|
||||
global _GETDS:near
|
||||
|
||||
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
||||
; EQUATES
|
||||
|
@ -1132,6 +1133,10 @@ IRQSetVect:
|
|||
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
|
||||
IRQHandler:
|
||||
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
|
||||
add dx,0Eh
|
||||
in al,dx
|
||||
|
@ -1150,6 +1155,7 @@ IRQHandler:
|
|||
out 0A0h,al
|
||||
IRQAckPIC:
|
||||
out 20h,al
|
||||
pop ds
|
||||
popad ; restores all the registers
|
||||
iretd
|
||||
|
||||
|
|
Loading…
Reference in a new issue