From b77580b2da3a4c0de3815b14d44938a658f693bf Mon Sep 17 00:00:00 2001 From: Randy Thiemann Date: Fri, 20 Oct 2023 11:45:41 +0200 Subject: [PATCH] IHS sound --- src/include/globals.asm | 1 + src/res/sources/sfxparse.py | 1 + src/res/sources/sfxregs.txt | 550 +++++++++++++++++------------------- src/sfx.asm | 97 ++++++- src/state_gameplay.asm | 2 + tools/Emulicious.ini | 2 +- 6 files changed, 357 insertions(+), 296 deletions(-) diff --git a/src/include/globals.asm b/src/include/globals.asm index fde2665..b58fbba 100644 --- a/src/include/globals.asm +++ b/src/include/globals.asm @@ -121,6 +121,7 @@ DEF SFX_BELL EQU 10 DEF SFX_MOVE EQU 11 DEF SFX_RANK_UP EQU 12 DEF SFX_LEVEL_UP EQU 13 +DEF SFX_IHS EQU 14 DEF STACK_SIZE EQU 64 diff --git a/src/res/sources/sfxparse.py b/src/res/sources/sfxparse.py index c6bc82d..a051701 100644 --- a/src/res/sources/sfxparse.py +++ b/src/res/sources/sfxparse.py @@ -163,6 +163,7 @@ sfx_names = [ "sSFXMove", "sSFXRankUp", "sSFXLevelUp", + "sSFXIHS", ] def chunks(lst, n): diff --git a/src/res/sources/sfxregs.txt b/src/res/sources/sfxregs.txt index 12131e0..3d6c3d2 100644 --- a/src/res/sources/sfxregs.txt +++ b/src/res/sources/sfxregs.txt @@ -181,15 +181,7 @@ sSFXPieceI:: db REG_NR12_CH1_VOLEV, $F0, REG_NR22_CH2_VOLEV, $F0, REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $6B db REG_NR14_CH1_FRQHI, $87, REG_NR22_CH2_VOLEV, $08, REG_NR23_CH2_FRQLO, $39, REG_NR24_CH2_FRQHI, $87 db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FE + db $FF, $FF, $FF, $FF, $FF, $FF, $FE sSFXPieceIEnd:: sSFXPieceZ:: @@ -298,17 +290,7 @@ sSFXPieceZ:: db REG_NR22_CH2_VOLEV, $08, REG_NR23_CH2_FRQLO, $4F, REG_NR24_CH2_FRQHI, $87, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FE + db $FF, $FF, $FE sSFXPieceZEnd:: sSFXPieceS:: @@ -361,19 +343,7 @@ sSFXPieceS:: db REG_NR14_CH1_FRQHI, $87, $FF, $FF db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $7B, REG_NR14_CH1_FRQHI, $87, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FE + db $FF, $FF, $FF, $FF, $FE sSFXPieceSEnd:: sSFXPieceJ:: @@ -410,41 +380,7 @@ sSFXPieceJ:: db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $B2, REG_NR14_CH1_FRQHI, $86, REG_NR22_CH2_VOLEV, $08 db REG_NR23_CH2_FRQLO, $14, REG_NR24_CH2_FRQHI, $87, $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FE + db $FF, $FF, $FF, $FE sSFXPieceJEnd:: sSFXPieceL:: @@ -477,34 +413,7 @@ sSFXPieceL:: db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $06, REG_NR14_CH1_FRQHI, $87, REG_NR22_CH2_VOLEV, $08 db REG_NR23_CH2_FRQLO, $4F, REG_NR24_CH2_FRQHI, $87, $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FE + db $FE sSFXPieceLEnd:: sSFXPieceO:: @@ -564,39 +473,7 @@ sSFXPieceO:: db REG_NR34_CH3_FRQHI, $06, $FF, $FF, $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FE + db $FF, $FF, $FF, $FE sSFXPieceOEnd:: sSFXPieceT:: @@ -671,17 +548,7 @@ sSFXPieceT:: db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $62, REG_NR14_CH1_FRQHI, $87, REG_NR22_CH2_VOLEV, $08 db REG_NR23_CH2_FRQLO, $8A, REG_NR24_CH2_FRQHI, $87, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FE + db $FF, $FF, $FF, $FF, $FE sSFXPieceTEnd:: sSFXIRS:: @@ -720,20 +587,7 @@ sSFXIRS:: db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $D9 db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $81 db REG_NR23_CH2_FRQLO, $DF, REG_NR24_CH2_FRQHI, $87, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FE + db $FF, $FF, $FF, $FF, $FE sSFXIRSEnd:: sSFXDrop:: @@ -780,44 +634,7 @@ sSFXDrop:: db REG_NR13_CH1_FRQLO, $01, REG_NR14_CH1_FRQHI, $00, $FF db REG_NR13_CH1_FRQLO, $01, REG_NR14_CH1_FRQHI, $00, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FE + db $FF, $FF, $FE sSFXDropEnd:: sSFXLock:: @@ -864,28 +681,7 @@ sSFXLock:: db REG_NR43_CH4_FQRND, $00, REG_NR44_CH4_CNTRL, $00, $FF db REG_NR43_CH4_FQRND, $00, REG_NR44_CH4_CNTRL, $00, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FE + db $FF, $FF, $FF, $FF, $FE sSFXLockEnd:: sSFXBell:: @@ -921,67 +717,14 @@ sSFXBell:: db REG_NR22_CH2_VOLEV, $08, REG_NR23_CH2_FRQLO, $97, REG_NR24_CH2_FRQHI, $87, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FE + db $FF, $FF, $FE sSFXBellEnd:: sSFXMove:: db REG_NR42_CH4_VOLEV, $21, REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $21, REG_NR43_CH4_FQRND, $00 db REG_NR44_CH4_CNTRL, $80, $FF, $FF, $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FE + db $FF, $FF, $FF, $FF, $FF, $FF, $FE sSFXMoveEnd:: sSFXRankUp:: @@ -989,10 +732,10 @@ sSFXRankUp:: db REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F2, REG_NR13_CH1_FRQLO, $AC, REG_NR14_CH1_FRQHI, $85 db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F2, REG_NR23_CH2_FRQLO, $72 db REG_NR24_CH2_FRQHI, $86, REG_NR30_CH3_DACEN, $00, REG_WAVE_PATTERN_0, $00, REG_WAVE_PATTERN_1, $00 - db REG_WAVE_PATTERN_2, $00, REG_WAVE_PATTERN_3, $00, REG_WAVE_PATTERN_4, $00, REG_WAVE_PATTERN_5, $00 - db REG_WAVE_PATTERN_6, $0F, REG_WAVE_PATTERN_7, $FF, REG_WAVE_PATTERN_8, $FF, REG_WAVE_PATTERN_9, $FF - db REG_WAVE_PATTERN_A, $FF, REG_WAVE_PATTERN_B, $FF, REG_WAVE_PATTERN_C, $FF, REG_WAVE_PATTERN_D, $FF - db REG_WAVE_PATTERN_E, $F0, REG_WAVE_PATTERN_F, $00, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_WAVE_PATTERN_2, $00, REG_WAVE_PATTERN_3, $0F, REG_WAVE_PATTERN_4, $FF, REG_WAVE_PATTERN_5, $FF + db REG_WAVE_PATTERN_6, $FF, REG_WAVE_PATTERN_7, $FF, REG_WAVE_PATTERN_8, $FF, REG_WAVE_PATTERN_9, $FF + db REG_WAVE_PATTERN_A, $FF, REG_WAVE_PATTERN_B, $F0, REG_WAVE_PATTERN_C, $00, REG_WAVE_PATTERN_D, $00 + db REG_WAVE_PATTERN_E, $00, REG_WAVE_PATTERN_F, $00, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $21, REG_NR34_CH3_FRQHI, $87, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF db $FF, $FF @@ -1051,30 +794,249 @@ sSFXRankUp:: db REG_NR23_CH2_FRQLO, $39, REG_NR24_CH2_FRQHI, $87, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $6B db REG_NR34_CH3_FRQHI, $07, $FF, $FF, $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF - db $FF, $FF, $FE + db $FF, $FF, $FF, $FF, $FF, $FF, $FE sSFXRankUpEnd:: sSFXLevelUp:: + db REG_NR12_CH1_VOLEV, $F0, REG_NR22_CH2_VOLEV, $F0, REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF + db REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $3B, REG_NR14_CH1_FRQHI, $85, REG_NR21_CH2_LENDT, $7F + db REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F0, REG_NR23_CH2_FRQLO, $C4, REG_NR24_CH2_FRQHI, $86 + db $FF + db REG_NR13_CH1_FRQLO, $27, REG_NR14_CH1_FRQHI, $06, REG_NR23_CH2_FRQLO, $2D, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $F7 + db REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F0 + db REG_NR23_CH2_FRQLO, $8A, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $ED, REG_NR14_CH1_FRQHI, $05, REG_NR23_CH2_FRQLO, $14, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $B2 + db REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F0 + db REG_NR23_CH2_FRQLO, $6B, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $06, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $90, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $27 + db REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F0 + db REG_NR23_CH2_FRQLO, $2D, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $C4, REG_NR14_CH1_FRQHI, $06, REG_NR23_CH2_FRQLO, $73, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $21 + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F0 + db REG_NR23_CH2_FRQLO, $9D, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $42, REG_NR14_CH1_FRQHI, $06, REG_NR23_CH2_FRQLO, $39, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $E7 + db REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F0 + db REG_NR23_CH2_FRQLO, $83, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $2D, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $A2, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $72 + db REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F0 + db REG_NR23_CH2_FRQLO, $4F, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $F7, REG_NR14_CH1_FRQHI, $06, REG_NR23_CH2_FRQLO, $8A, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $44 + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F0 + db REG_NR23_CH2_FRQLO, $AC, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $89, REG_NR14_CH1_FRQHI, $06, REG_NR23_CH2_FRQLO, $59, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $14 + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F0 + db REG_NR23_CH2_FRQLO, $97, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $4F, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $B1, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR22_CH2_VOLEV, $F0, REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $C0 + db REG_NR13_CH1_FRQLO, $B2, REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF + db REG_NR22_CH2_VOLEV, $C0, REG_NR23_CH2_FRQLO, $6B, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $21, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $9D, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $80, REG_NR13_CH1_FRQLO, $62 + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $80 + db REG_NR23_CH2_FRQLO, $BA, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $C4, REG_NR14_CH1_FRQHI, $06, REG_NR23_CH2_FRQLO, $73, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $60, REG_NR13_CH1_FRQLO, $39 + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $60 + db REG_NR23_CH2_FRQLO, $A7, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $6B, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $BE, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $40, REG_NR13_CH1_FRQLO, $9E + db REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $40 + db REG_NR23_CH2_FRQLO, $62, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $14, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $97, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $40, REG_NR13_CH1_FRQLO, $59 + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $40 + db REG_NR23_CH2_FRQLO, $B6, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $B2, REG_NR14_CH1_FRQHI, $06, REG_NR23_CH2_FRQLO, $6B, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $40, REG_NR13_CH1_FRQLO, $2D + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $40 + db REG_NR23_CH2_FRQLO, $A2, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $62, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $BA, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $40, REG_NR13_CH1_FRQLO, $D6 + db REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $40 + db REG_NR23_CH2_FRQLO, $7B, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $39, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $A7, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $20, REG_NR13_CH1_FRQLO, $4F + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $20 + db REG_NR23_CH2_FRQLO, $B1, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $9E, REG_NR14_CH1_FRQHI, $06, REG_NR23_CH2_FRQLO, $62, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $20, REG_NR13_CH1_FRQLO, $21 + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $20 + db REG_NR23_CH2_FRQLO, $9D, REG_NR24_CH2_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $59, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $B6, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR12_CH1_VOLEV, $F2, REG_NR22_CH2_VOLEV, $F2, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F + db REG_NR12_CH1_VOLEV, $22, REG_NR13_CH1_FRQLO, $C4, REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F + db REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $22, REG_NR23_CH2_FRQLO, $73, REG_NR24_CH2_FRQHI, $87 + db $FF + + db REG_NR13_CH1_FRQLO, $2D, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $A2, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR13_CH1_FRQLO, $62, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $BA, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR13_CH1_FRQLO, $C4, REG_NR14_CH1_FRQHI, $06, REG_NR23_CH2_FRQLO, $73, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR13_CH1_FRQLO, $2D, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $A2, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR13_CH1_FRQLO, $62, REG_NR14_CH1_FRQHI, $07, REG_NR23_CH2_FRQLO, $BA, REG_NR24_CH2_FRQHI, $07 + db $FF + + db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $C4, REG_NR14_CH1_FRQHI, $86, REG_NR22_CH2_VOLEV, $08 + db REG_NR23_CH2_FRQLO, $73, REG_NR24_CH2_FRQHI, $87, $FF, $FF, $FF, $FF + db $FF, $FF, $FF, $FF, $FE sSFXLevelUpEnd:: +sSFXIHS:: + db REG_NR12_CH1_VOLEV, $F0, REG_NR42_CH4_VOLEV, $52, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F + db REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $33, REG_NR14_CH1_FRQHI, $87, REG_NR41_CH4_LENGT, $3F + db REG_NR42_CH4_VOLEV, $52, REG_NR43_CH4_FQRND, $06, REG_NR44_CH4_CNTRL, $80, $FF + + db REG_NR13_CH1_FRQLO, $44, REG_NR14_CH1_FRQHI, $07, $FF + + db REG_NR13_CH1_FRQLO, $54, REG_NR14_CH1_FRQHI, $07, $FF + + db REG_NR13_CH1_FRQLO, $62, REG_NR14_CH1_FRQHI, $07, $FF + + db REG_NR22_CH2_VOLEV, $63, REG_NR13_CH1_FRQLO, $6F, REG_NR14_CH1_FRQHI, $07, REG_NR21_CH2_LENDT, $BF + db REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $63, REG_NR23_CH2_FRQLO, $2C, REG_NR24_CH2_FRQHI, $80 + db REG_NR30_CH3_DACEN, $00, REG_WAVE_PATTERN_0, $45, REG_WAVE_PATTERN_1, $67, REG_WAVE_PATTERN_2, $89 + db REG_WAVE_PATTERN_3, $AB, REG_WAVE_PATTERN_4, $CD, REG_WAVE_PATTERN_5, $EF, REG_WAVE_PATTERN_6, $FF + db REG_WAVE_PATTERN_7, $FE, REG_WAVE_PATTERN_8, $DC, REG_WAVE_PATTERN_9, $BA, REG_WAVE_PATTERN_A, $98 + db REG_WAVE_PATTERN_B, $76, REG_WAVE_PATTERN_C, $54, REG_WAVE_PATTERN_D, $32, REG_WAVE_PATTERN_E, $11 + db REG_WAVE_PATTERN_F, $23, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $16, REG_NR34_CH3_FRQHI, $84, $FF + + db REG_NR13_CH1_FRQLO, $7B, REG_NR14_CH1_FRQHI, $07, $FF + + db REG_NR13_CH1_FRQLO, $86, REG_NR14_CH1_FRQHI, $07, $FF + + db REG_NR13_CH1_FRQLO, $90, REG_NR14_CH1_FRQHI, $07, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F8, REG_NR13_CH1_FRQLO, $CE + db REG_NR14_CH1_FRQHI, $85, $FF + + db REG_NR13_CH1_FRQLO, $ED, REG_NR14_CH1_FRQHI, $05, $FF + + db REG_NR42_CH4_VOLEV, $72, REG_NR13_CH1_FRQLO, $0B, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $E8 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $72 + db REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80, $FF + + db REG_NR13_CH1_FRQLO, $27, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $D8, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $42, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $C8, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $5B, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $B8, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $72, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $A8, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $89, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $98, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $9E, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $88, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $16, REG_NR34_CH3_FRQHI, $04 + db $FF + + db REG_NR13_CH1_FRQLO, $B2, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $68, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08 + db $FF + + db REG_NR13_CH1_FRQLO, $C4, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $58, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $D6, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $48, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $E7, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $38, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $28, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $18, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, $FF, $FF + db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF + db $FF, $FE + +sSFXIHSEnd:: diff --git a/src/sfx.asm b/src/sfx.asm index 0f34019..074e4a0 100644 --- a/src/sfx.asm +++ b/src/sfx.asm @@ -919,7 +919,93 @@ sSFXLevelUp:: db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $C4, REG_NR14_CH1_FRQHI, $86, REG_NR22_CH2_VOLEV, $08 db REG_NR23_CH2_FRQLO, $73, REG_NR24_CH2_FRQHI, $87, $FE sSFXLevelUpEnd:: +sSFXIHS:: + db REG_NR12_CH1_VOLEV, $F0, REG_NR42_CH4_VOLEV, $52, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F + db REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $33, REG_NR14_CH1_FRQHI, $87, REG_NR41_CH4_LENGT, $3F + db REG_NR42_CH4_VOLEV, $52, REG_NR43_CH4_FQRND, $06, REG_NR44_CH4_CNTRL, $80, $FF + db REG_NR13_CH1_FRQLO, $44, REG_NR14_CH1_FRQHI, $07, $FF + + db REG_NR13_CH1_FRQLO, $54, REG_NR14_CH1_FRQHI, $07, $FF + + db REG_NR13_CH1_FRQLO, $62, REG_NR14_CH1_FRQHI, $07, $FF + + db REG_NR22_CH2_VOLEV, $63, REG_NR13_CH1_FRQLO, $6F, REG_NR14_CH1_FRQHI, $07, REG_NR21_CH2_LENDT, $BF + db REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $63, REG_NR23_CH2_FRQLO, $2C, REG_NR24_CH2_FRQHI, $80 + db REG_NR30_CH3_DACEN, $00, REG_WAVE_PATTERN_0, $45, REG_WAVE_PATTERN_1, $67, REG_WAVE_PATTERN_2, $89 + db REG_WAVE_PATTERN_3, $AB, REG_WAVE_PATTERN_4, $CD, REG_WAVE_PATTERN_5, $EF, REG_WAVE_PATTERN_6, $FF + db REG_WAVE_PATTERN_7, $FE, REG_WAVE_PATTERN_8, $DC, REG_WAVE_PATTERN_9, $BA, REG_WAVE_PATTERN_A, $98 + db REG_WAVE_PATTERN_B, $76, REG_WAVE_PATTERN_C, $54, REG_WAVE_PATTERN_D, $32, REG_WAVE_PATTERN_E, $11 + db REG_WAVE_PATTERN_F, $23, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $16, REG_NR34_CH3_FRQHI, $84, $FF + + db REG_NR13_CH1_FRQLO, $7B, REG_NR14_CH1_FRQHI, $07, $FF + + db REG_NR13_CH1_FRQLO, $86, REG_NR14_CH1_FRQHI, $07, $FF + + db REG_NR13_CH1_FRQLO, $90, REG_NR14_CH1_FRQHI, $07, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F8, REG_NR13_CH1_FRQLO, $CE + db REG_NR14_CH1_FRQHI, $85, $FF + + db REG_NR13_CH1_FRQLO, $ED, REG_NR14_CH1_FRQHI, $05, $FF + + db REG_NR42_CH4_VOLEV, $72, REG_NR13_CH1_FRQLO, $0B, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $E8 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $72 + db REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80, $FF + + db REG_NR13_CH1_FRQLO, $27, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $D8, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $42, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $C8, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $5B, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $B8, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $72, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $A8, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $89, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $98, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $9E, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $88, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $16, REG_NR34_CH3_FRQHI, $04 + db $FF + + db REG_NR13_CH1_FRQLO, $B2, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $68, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08 + db $FF + + db REG_NR13_CH1_FRQLO, $C4, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $58, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $D6, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $48, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $E7, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $38, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11 + db REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $28, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $18, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $08, REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, $FE +sSFXIHSEnd:: SECTION "SFX Variables", HRAM @@ -1137,7 +1223,7 @@ SFXEnqueue:: ret : cp a, SFX_LEVEL_UP - ret nz + jr nz, :+ ld a, LOW(sSFXLevelUp) ldh [hPlayhead], a ld a, HIGH(sSFXLevelUp) @@ -1145,6 +1231,15 @@ SFXEnqueue:: call SFXPlay ret +: cp a, SFX_IHS + ret nz + ld a, LOW(sSFXIHS) + ldh [hPlayhead], a + ld a, HIGH(sSFXIHS) + ldh [hPlayhead+1], a + call SFXPlay + ret + ; This play routine must be called every frame. SFXPlay:: diff --git a/src/state_gameplay.asm b/src/state_gameplay.asm index 484c0a3..f504748 100644 --- a/src/state_gameplay.asm +++ b/src/state_gameplay.asm @@ -328,6 +328,8 @@ DoHold: ; Mark hold as spent. ld a, $FF ldh [hHoldSpent], a + ld a, SFX_IHS + call SFXEnqueue ; Check if IRS is requested. ; Apply the rotation if so. diff --git a/tools/Emulicious.ini b/tools/Emulicious.ini index f8aff36..c3cba31 100644 --- a/tools/Emulicious.ini +++ b/tools/Emulicious.ini @@ -1,5 +1,5 @@ #Emulicious settings file -#Fri Oct 20 11:39:58 CEST 2023 +#Fri Oct 20 11:45:02 CEST 2023 WindowEventViewerWindowHeight=1416 WindowEventViewerWindowDivider=876 WindowMemoryTracerWindowY=631