diff options
Diffstat (limited to 'src-z80')
| -rw-r--r-- | src-z80/core/bgm.z80 | 3 | ||||
| -rw-r--r-- | src-z80/core/sfx.z80 | 3 | ||||
| -rw-r--r-- | src-z80/player/misc.z80 | 17 |
3 files changed, 22 insertions, 1 deletions
diff --git a/src-z80/core/bgm.z80 b/src-z80/core/bgm.z80 index 2ef3aad..2f57a73 100644 --- a/src-z80/core/bgm.z80 +++ b/src-z80/core/bgm.z80 @@ -187,6 +187,9 @@ ProcessBGMSkip: PollPCM ld a, b + cp $E0 ; Events $D0-$DF: short set delay + jp c, SetDelayBGMShort + cp $F8 ; Events $F0-$F7: set FM parameters jp c, SetFMParamBGM diff --git a/src-z80/core/sfx.z80 b/src-z80/core/sfx.z80 index fc636e9..1c62873 100644 --- a/src-z80/core/sfx.z80 +++ b/src-z80/core/sfx.z80 @@ -133,6 +133,9 @@ ProcessSFXRun: PollPCM ld a, b + cp $E0 ; Events $D0-$DF: short set delay + jp c, SetDelaySFXShort + cp $E8 jp c, LockChannelFM ; Events $E0-$E7: lock FM channel cp $EC diff --git a/src-z80/player/misc.z80 b/src-z80/player/misc.z80 index 6373ab0..36be250 100644 --- a/src-z80/player/misc.z80 +++ b/src-z80/player/misc.z80 @@ -1,5 +1,5 @@ ;**************************************************************************** -; SetDelay* [event $FE] +; SetDelay* [event $FE, events $D0-$DF] ; Adds a delay in playback ;**************************************************************************** @@ -11,11 +11,26 @@ SetDelayBGM: call SetDelay ; We're just a wrapper jp DoTick_BGMSkip ; End of subroutine +SetDelaySFXShort: + and $0F + inc a + ld b, a + call SetDelayShort ; We're just a wrapper + jp DoTick_SFXSkip ; End of subroutine + +SetDelayBGMShort: + and $0F + inc a + ld b, a + call SetDelayShort ; We're just a wrapper + jp DoTick_BGMSkip ; End of subroutine + SetDelay: PollPCM call GetParam ; Get delay PollPCM +SetDelayShort: ex de, hl ld (hl), d ; Store new address dec l |
