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:
Gered 2019-11-02 16:40:51 -04:00
parent 1b11c42c1d
commit 080fb9ae68
2 changed files with 8 additions and 2 deletions

View file

@ -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();

View file

@ -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