diff --git a/src/constants.asm b/src/constants.asm index 2912b73..fbecfed 100644 --- a/src/constants.asm +++ b/src/constants.asm @@ -107,6 +107,9 @@ sOption3:: db "NONE" sOption4:: db "DMGT" + db "TGM1" + db "DEAT" + db "SHIR" sOption5:: db " NO" db " YES" @@ -136,6 +139,158 @@ sPieceYOffsets:: ; How to draw each piece. Y-offsets of the sprites. db 0, 7, 0, 7 ; O db 0, 0, 7, 0 ; T +sTGM1SpeedCurve:: + dw $0000, 0, $0100 + db 1, 64 + db 30, 16, 30, 41 + + dw $0030, 30, $0100 + db 1, 42 + db 30, 16, 30, 41 + + dw $0035, 35, $0100 + db 1, 32 + db 30, 16, 30, 41 + + dw $0040, 40, $0100 + db 1, 25 + db 30, 16, 30, 41 + + dw $0060, 60, $0100 + db 1, 16 + db 30, 16, 30, 41 + + dw $0070, 70, $0100 + db 1, 8 + db 30, 16, 30, 41 + + dw $0080, 80, $0100 + db 1, 5 + db 30, 16, 30, 41 + + dw $0100, 100, $0200 + db 1, 3 + db 30, 16, 30, 41 + + dw $0160, 160, $0200 + db 1, 2 + db 30, 16, 30, 41 + + dw $0200, 200, $0300 + db 1, 64 + db 30, 16, 30, 41 + + dw $0220, 220, $0300 + db 1, 8 + db 30, 16, 30, 41 + + dw $0230, 230, $0300 + db 1, 4 + db 30, 16, 30, 41 + + dw $0233, 233, $0300 + db 1, 3 + db 30, 16, 30, 41 + + dw $0236, 236, $0300 + db 1, 2 + db 30, 16, 30, 41 + + dw $0251, 251, $0300 + db 1, 1 + db 30, 16, 30, 41 + + dw $0300, 300, $0400 + db 2, 1 + db 30, 16, 30, 41 + + dw $0330, 330, $0400 + db 3, 1 + db 30, 16, 30, 41 + + dw $0360, 360, $0400 + db 4, 1 + db 30, 16, 30, 41 + + dw $0400, 400, $0500 + db 5, 1 + db 30, 16, 30, 41 + + dw $0420, 420, $0500 + db 4, 1 + db 30, 16, 30, 41 + + dw $0450, 450, $0500 + db 3, 1 + db 30, 16, 30, 41 + + dw $0500, 500, $0600 + db 20, 1 + db 30, 16, 30, 41 + +sTGM1SpeedCurveEnd:: + dw $FFFF + +sDEATSpeedCurve:: + dw $0000, 0, $0100 + db 20, 1 + db 18, 12, 30, 12 + + dw $0100, 0, $0200 + db 20, 1 + db 14, 12, 25, 6 + + dw $0200, 0, $0300 + db 20, 1 + db 14, 11, 20, 6 + + dw $0300, 0, $0400 + db 20, 1 + db 8, 10, 18, 6 + + dw $0400, 0, $0500 + db 20, 1 + db 7, 8, 14, 5 + + dw $0500, 0, $0600 + db 20, 1 + db 6, 8, 14, 4 + +sDEATSpeedCurveEnd:: + dw $FFFF + +sSHIRSpeedCurve:: + dw $0000, 0, $0100 + db 20, 1 + db 12, 10, 18, 6 + + dw $0100, 100, $0200 + db 20, 1 + db 12, 8, 18, 5 + + dw $0200, 200, $0300 + db 20, 1 + db 12, 8, 16, 4 + + dw $0300, 300, $0400 + db 20, 1 + db 6, 8, 14, 4 + + dw $0500, 500, $0600 + db 20, 1 + db 6, 6, 12, 2 + + dw $1100, 1100, $1200 + db 20, 1 + db 6, 6, 10, 2 + + dw $1200, 1200, $1300 + db 20, 1 + db 6, 6, 8, 2 + +sSHIRSpeedCurveEnd:: + dw $FFFF + sSpeedCurve:: ; Speed curve of the game. dw $0000, 0, $0100 ; Level 0000 db 1, 16 ; 1G every 16 frames diff --git a/src/field.asm b/src/field.asm index d6f942e..f164762 100644 --- a/src/field.asm +++ b/src/field.asm @@ -1255,6 +1255,9 @@ FieldProcess:: ldh [hCurrentPieceY], a xor a, a ldh [hCurrentLockDelayRemaining], a + ldh a, [hCurrentGravityPerTick] + cp a, 1 + jp nz, .draw call SFXKill ld a, SFX_LOCK call SFXEnqueue @@ -1339,8 +1342,11 @@ FieldProcess:: .playfirmdropsound ldh a, [hCurrentLockDelay] ldh [hCurrentLockDelayRemaining], a + ldh a, [hCurrentGravityPerTick] + cp a, 1 + jr nz, .postcheckforfirmdropsound call SFXKill - ld a, SFX_MOVE + ld a, SFX_LAND call SFXEnqueue ; If the down button is held, lock. @@ -1385,6 +1391,9 @@ FieldProcess:: ; Play the locking sound and draw the piece. .dolock + ldh a, [hCurrentGravityPerTick] + cp a, 1 + jr nz, .draw call SFXKill ld a, SFX_LOCK call SFXEnqueue @@ -1915,11 +1924,14 @@ FieldDelay:: ret nz call ClearLines + ldh a, [hCurrentGravityPerTick] + cp a, 1 + jr nz, :+ call SFXKill - ld a, SFX_DROP + ld a, SFX_LINE_CLEAR call SFXEnqueue - ldh a, [hCurrentARE] +: ldh a, [hCurrentARE] ldh [hRemainingDelay], a diff --git a/src/include/globals.asm b/src/include/globals.asm index f4e1406..335f80d 100644 --- a/src/include/globals.asm +++ b/src/include/globals.asm @@ -130,15 +130,15 @@ DEF PIECE_O EQU 5 DEF PIECE_T EQU 6 DEF PIECE_NONE EQU 255 -DEF SFX_IRS EQU 7 -DEF SFX_DROP EQU 8 -DEF SFX_LOCK EQU 9 -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 SFX_READY_GO EQU 15 +DEF SFX_IRS EQU $80 +DEF SFX_IHS EQU 10 +DEF SFX_LINE_CLEAR EQU 11 +DEF SFX_LAND EQU 12 +DEF SFX_LOCK EQU 13 +DEF SFX_LEVELLOCK EQU 14 +DEF SFX_LEVELUP EQU 15 +DEF SFX_RANKUP EQU 16 +DEF SFX_READYGO EQU 17 DEF STACK_SIZE EQU 64 DEF GAME_OVER_R10 EQU 133 @@ -172,7 +172,10 @@ DEF DROP_MODE_NONE EQU 2 DEF DROP_MODE_COUNT EQU 3 DEF SCURVE_DMGT EQU 0 -DEF SCURVE_COUNT EQU 1 +DEF SCURVE_TGM1 EQU 1 +DEF SCURVE_DEAT EQU 2 +DEF SCURVE_SHIR EQU 3 +DEF SCURVE_COUNT EQU 4 DEF TILE_HIG_MODE_BASE EQU 232 DEF HIG_MODE_OFF EQU 0 diff --git a/src/level.asm b/src/level.asm index 1616311..0d2a77c 100644 --- a/src/level.asm +++ b/src/level.asm @@ -192,7 +192,7 @@ LevelUp:: ldh [hCLevel+2], a ldh [hCLevel+3], a call DoSpeedUp - ld a, SFX_RANK_UP + ld a, SFX_RANKUP call SFXEnqueue ret @@ -221,7 +221,7 @@ LevelUp:: jr nz, .checkspeedup ld a, $FF ldh [hRequiresLineClear], a - ld a, SFX_BELL + ld a, SFX_LEVELLOCK call SFXEnqueue jr .leveljinglemaybe @@ -257,7 +257,7 @@ LevelUp:: jr nz, .leveljinglemaybe ld a, $FF ldh [hRequiresLineClear], a - ld a, SFX_BELL + ld a, SFX_LEVELLOCK call SFXEnqueue .leveljinglemaybe @@ -266,7 +266,7 @@ LevelUp:: ldh a, [hCLevel+1] cp a, b jr z, .checkspeedup - ld a, SFX_LEVEL_UP + ld a, SFX_LEVELUP call SFXEnqueue .checkspeedup diff --git a/src/res/sources/sfxparse.py b/src/res/sources/sfxparse.py index b2b4cba..f06125f 100644 --- a/src/res/sources/sfxparse.py +++ b/src/res/sources/sfxparse.py @@ -187,7 +187,6 @@ sfx_names = [ "sSFXLevelLock", "sSFXLevelUp", "sSFXRankUp", - "sSFXIHS", "sSFXReadyGo", ] diff --git a/src/score.asm b/src/score.asm index 1071b77..ad1d670 100644 --- a/src/score.asm +++ b/src/score.asm @@ -185,7 +185,7 @@ IncreaseScore:: ; If it has, reset the score. xor a, a ldh [hScore], a - ld a, SFX_RANK_UP + ld a, SFX_RANKUP call SFXEnqueue ret diff --git a/src/sfx.asm b/src/sfx.asm index 8117a1d..b65f009 100644 --- a/src/sfx.asm +++ b/src/sfx.asm @@ -558,47 +558,865 @@ 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, $FE sSFXPieceTEnd:: -sSFXIRS:: - db REG_NR42_CH4_VOLEV, $F2, REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $F2, REG_NR43_CH4_FQRND, $44 +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, $65, REG_WAVE_PATTERN_1, $43, REG_WAVE_PATTERN_2, $21 + db REG_WAVE_PATTERN_3, $12, REG_WAVE_PATTERN_4, $34, REG_WAVE_PATTERN_5, $56, REG_WAVE_PATTERN_6, $78 + db REG_WAVE_PATTERN_7, $9A, REG_WAVE_PATTERN_8, $BC, REG_WAVE_PATTERN_9, $DE, REG_WAVE_PATTERN_A, $FF + db REG_WAVE_PATTERN_B, $FF, REG_WAVE_PATTERN_C, $ED, REG_WAVE_PATTERN_D, $CB, REG_WAVE_PATTERN_E, $A9 + db REG_WAVE_PATTERN_F, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $60 + 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:: +sSFXPieceIRSI:: + db REG_NR12_CH1_VOLEV, $F0, REG_NR22_CH2_VOLEV, $F0, REG_NR42_CH4_VOLEV, $F2, REG_NR11_CH1_LENDT, $BF + db REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, 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, $80, REG_NR23_CH2_FRQLO, $14 + db REG_NR24_CH2_FRQHI, $87, REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $F2, REG_NR43_CH4_FQRND, $44 db REG_NR44_CH4_CNTRL, $80, $FF db REG_NR43_CH4_FQRND, $15, REG_NR44_CH4_CNTRL, $00, $FF + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $ED + db REG_NR14_CH1_FRQHI, $85, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $80 + db REG_NR23_CH2_FRQLO, $2D, REG_NR24_CH2_FRQHI, $87, REG_NR43_CH4_FQRND, $01, REG_NR44_CH4_CNTRL, $00 + db $FF + + db REG_NR22_CH2_VOLEV, $F1, REG_NR32_CH3_VOLUM, $40, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F + db REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $6B, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_WAVE_PATTERN_0, $FF, REG_WAVE_PATTERN_1, $FF, REG_WAVE_PATTERN_2, $FF, REG_WAVE_PATTERN_3, $F0 + db REG_WAVE_PATTERN_4, $00, REG_WAVE_PATTERN_5, $00, REG_WAVE_PATTERN_6, $00, REG_WAVE_PATTERN_7, $00 + db REG_WAVE_PATTERN_8, $00, REG_WAVE_PATTERN_9, $00, REG_WAVE_PATTERN_A, $00, REG_WAVE_PATTERN_B, $0F + db REG_WAVE_PATTERN_C, $FF, REG_WAVE_PATTERN_D, $FF, REG_WAVE_PATTERN_E, $FF, REG_WAVE_PATTERN_F, $FF + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $87, REG_NR42_CH4_VOLEV, $08, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80 + 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, $F1 + db REG_NR23_CH2_FRQLO, $9D, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $B6 + db REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $AC + db REG_NR14_CH1_FRQHI, $85, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1 + db REG_NR23_CH2_FRQLO, $C5, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $ED + db REG_NR14_CH1_FRQHI, $85, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1 + db REG_NR23_CH2_FRQLO, $CE, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $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, $F1 + db REG_NR23_CH2_FRQLO, $D6, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $5B + db REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1 + db REG_NR23_CH2_FRQLO, $D9, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $AC + db REG_NR14_CH1_FRQHI, $85, $FF, $FF + + db REG_NR22_CH2_VOLEV, $F0, REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0 + db REG_NR13_CH1_FRQLO, $27, REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F + db REG_NR22_CH2_VOLEV, $F0, REG_NR23_CH2_FRQLO, $44, REG_NR24_CH2_FRQHI, $87, REG_NR32_CH3_VOLUM, $00 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $07, $FF, $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, $62, REG_NR24_CH2_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $D6 + 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, $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, $A2, REG_NR24_CH2_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $39 + 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, $B1, REG_NR24_CH2_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $4F + 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, $BA, REG_NR24_CH2_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $62 + 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, $C1, REG_NR24_CH2_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F8, REG_NR13_CH1_FRQLO, $6B + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $F8 + db REG_NR23_CH2_FRQLO, $39, REG_NR24_CH2_FRQHI, $87, $FF, $FF + + db REG_NR12_CH1_VOLEV, $E8, 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, REG_NR22_CH2_VOLEV, $E8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $D8, 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, REG_NR22_CH2_VOLEV, $D8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $C8, 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, REG_NR22_CH2_VOLEV, $C8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $B8, 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, REG_NR22_CH2_VOLEV, $B8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $A8, 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, REG_NR22_CH2_VOLEV, $A8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $98, 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, REG_NR22_CH2_VOLEV, $98 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $88, 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, REG_NR22_CH2_VOLEV, $88 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $68, 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, REG_NR12_CH1_VOLEV, $09 + db REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $68, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11 + db REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08 + db $FF + + db REG_NR12_CH1_VOLEV, $58, 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, REG_NR22_CH2_VOLEV, $58 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $48, 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, REG_NR22_CH2_VOLEV, $48 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF + + db REG_NR12_CH1_VOLEV, $38, 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, REG_NR22_CH2_VOLEV, $38 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_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, REG_NR22_CH2_VOLEV, $28 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_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, REG_NR22_CH2_VOLEV, $18 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_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, REG_NR22_CH2_VOLEV, $08 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF, $FF, $FF + db $FF, $FF, $FF + + 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 $FE +sSFXPieceIRSIEnd:: +sSFXPieceIRSZ:: + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F8, REG_NR13_CH1_FRQLO, $7B + db REG_NR14_CH1_FRQHI, $87, REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $F2, REG_NR43_CH4_FQRND, $44 + db REG_NR44_CH4_CNTRL, $80, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F8, REG_NR23_CH2_FRQLO, $4F + db REG_NR24_CH2_FRQHI, $87, REG_NR43_CH4_FQRND, $15, REG_NR44_CH4_CNTRL, $00, $FF + + db REG_NR43_CH4_FQRND, $01, REG_NR44_CH4_CNTRL, $00, $FF + + db REG_NR22_CH2_VOLEV, $F1, REG_NR32_CH3_VOLUM, $40, REG_NR12_CH1_VOLEV, $E8, 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_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1 + db REG_NR23_CH2_FRQLO, $6B, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_WAVE_PATTERN_0, $FF + db REG_WAVE_PATTERN_1, $FF, REG_WAVE_PATTERN_2, $FF, REG_WAVE_PATTERN_3, $FF, REG_WAVE_PATTERN_4, $FF + db REG_WAVE_PATTERN_5, $FF, REG_WAVE_PATTERN_6, $00, REG_WAVE_PATTERN_7, $00, REG_WAVE_PATTERN_8, $00 + db REG_WAVE_PATTERN_9, $00, REG_WAVE_PATTERN_A, $00, REG_WAVE_PATTERN_B, $00, REG_WAVE_PATTERN_C, $00 + db REG_WAVE_PATTERN_D, $00, REG_WAVE_PATTERN_E, $FF, REG_WAVE_PATTERN_F, $FF, REG_NR30_CH3_DACEN, $00 + db REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87 + db REG_NR42_CH4_VOLEV, $08, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80, $FF + + db REG_NR13_CH1_FRQLO, $44, REG_NR14_CH1_FRQHI, $07, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F + db REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $9D, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87 + db $FF + + db REG_NR12_CH1_VOLEV, $D8, 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, REG_NR21_CH2_LENDT, $7F + db REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $B6, REG_NR24_CH2_FRQHI, $87 + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR12_CH1_VOLEV, $C8, 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, REG_NR21_CH2_LENDT, $7F + db REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $C5, REG_NR24_CH2_FRQHI, $87 + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $CE + db REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $F7, 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_NR12_CH1_VOLEV, $A8, 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, REG_NR21_CH2_LENDT, $7F + db REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $D6, REG_NR24_CH2_FRQHI, $87 + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR12_CH1_VOLEV, $98, 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, REG_NR21_CH2_LENDT, $7F + db REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $D9, REG_NR24_CH2_FRQHI, $87 + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $38, REG_NR13_CH1_FRQLO, $7B + db REG_NR14_CH1_FRQHI, $87, $FF, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $38, REG_NR23_CH2_FRQLO, $4F + db REG_NR24_CH2_FRQHI, $87, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $07 + db $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_NR13_CH1_FRQLO, $44, REG_NR14_CH1_FRQHI, $07, REG_NR22_CH2_VOLEV, $28, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11 + db REG_NR22_CH2_VOLEV, $08, $FF, $FF + + db REG_NR23_CH2_FRQLO, $2D, REG_NR24_CH2_FRQHI, $07, $FF + + db REG_NR22_CH2_VOLEV, $18, REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF + + db REG_NR13_CH1_FRQLO, $F7, REG_NR14_CH1_FRQHI, $06, $FF + + db REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF + + db REG_NR23_CH2_FRQLO, $D6, REG_NR24_CH2_FRQHI, $06, $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_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $28, REG_NR13_CH1_FRQLO, $7B + db REG_NR14_CH1_FRQHI, $87, $FF, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $28, REG_NR23_CH2_FRQLO, $4F + db REG_NR24_CH2_FRQHI, $87, $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_NR13_CH1_FRQLO, $44, REG_NR14_CH1_FRQHI, $07, REG_NR22_CH2_VOLEV, $18, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11 + db REG_NR22_CH2_VOLEV, $08, $FF, $FF + + db REG_NR23_CH2_FRQLO, $2D, REG_NR24_CH2_FRQHI, $07, $FF, $FF + + db REG_NR13_CH1_FRQLO, $F7, REG_NR14_CH1_FRQHI, $06, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11 + db REG_NR22_CH2_VOLEV, $08, $FF, $FF + + db REG_NR23_CH2_FRQLO, $D6, REG_NR24_CH2_FRQHI, $06, $FF, $FF + + db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $7B, REG_NR14_CH1_FRQHI, $87, $FF, $FF + + db REG_NR22_CH2_VOLEV, $08, REG_NR23_CH2_FRQLO, $4F, REG_NR24_CH2_FRQHI, $87, $FE +sSFXPieceIRSZEnd:: +sSFXPieceIRSS:: + db REG_NR12_CH1_VOLEV, $F0, REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0 + db REG_NR13_CH1_FRQLO, $6B, REG_NR14_CH1_FRQHI, $87, REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $F2 + db REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80, $FF + + db REG_NR43_CH4_FQRND, $15, REG_NR44_CH4_CNTRL, $00, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $39 + db REG_NR14_CH1_FRQHI, $87, REG_NR43_CH4_FQRND, $01, REG_NR44_CH4_CNTRL, $00, $FF + + db REG_NR22_CH2_VOLEV, $F1, REG_NR32_CH3_VOLUM, $40, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F + db REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $6B, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_WAVE_PATTERN_0, $FF, REG_WAVE_PATTERN_1, $FF, REG_WAVE_PATTERN_2, $F0, REG_WAVE_PATTERN_3, $00 + db REG_WAVE_PATTERN_4, $00, REG_WAVE_PATTERN_5, $00, REG_WAVE_PATTERN_6, $00, REG_WAVE_PATTERN_7, $00 + db REG_WAVE_PATTERN_8, $00, REG_WAVE_PATTERN_9, $00, REG_WAVE_PATTERN_A, $0F, REG_WAVE_PATTERN_B, $FF + db REG_WAVE_PATTERN_C, $FF, REG_WAVE_PATTERN_D, $FF, REG_WAVE_PATTERN_E, $FF, REG_WAVE_PATTERN_F, $FF + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $87, REG_NR42_CH4_VOLEV, $08, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80 + db $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $59 + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1 + db REG_NR23_CH2_FRQLO, $9D, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $B6 + db REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $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, $F1 + db REG_NR23_CH2_FRQLO, $C5, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $CE + db REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $39 + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1 + db REG_NR23_CH2_FRQLO, $D6, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $7B + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1 + db REG_NR23_CH2_FRQLO, $D9, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $7B, REG_NR14_CH1_FRQHI, $87, $FF, $FF + + db REG_NR22_CH2_VOLEV, $30, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $30 + db REG_NR23_CH2_FRQLO, $21, REG_NR24_CH2_FRQHI, $87, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $07, $FF, $FF + + db REG_NR12_CH1_VOLEV, $10, REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $10 + db REG_NR13_CH1_FRQLO, $6B, REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF + db REG_NR22_CH2_VOLEV, $30, REG_NR23_CH2_FRQLO, $39, REG_NR24_CH2_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $10, 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, $30 + db REG_NR23_CH2_FRQLO, $7B, REG_NR24_CH2_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $10, REG_NR13_CH1_FRQLO, $59 + db REG_NR14_CH1_FRQHI, $87, REG_NR22_CH2_VOLEV, $08, REG_NR23_CH2_FRQLO, $7B, REG_NR24_CH2_FRQHI, $87 + db $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $10, REG_NR13_CH1_FRQLO, $21 + db REG_NR14_CH1_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $10, REG_NR13_CH1_FRQLO, $39 + db REG_NR14_CH1_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $10, REG_NR13_CH1_FRQLO, $7B + db REG_NR14_CH1_FRQHI, $87, $FF, $FF + + db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $7B, REG_NR14_CH1_FRQHI, $87, $FE +sSFXPieceIRSSEnd:: +sSFXPieceIRSJ:: + db REG_NR12_CH1_VOLEV, $F0, REG_NR22_CH2_VOLEV, $F0, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F + db REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $E7, REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F + db REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F0, REG_NR23_CH2_FRQLO, $59, REG_NR24_CH2_FRQHI, $87 + db REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $F2, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80 + db $FF + + db REG_NR43_CH4_FQRND, $15, REG_NR44_CH4_CNTRL, $00, $FF + db REG_NR43_CH4_FQRND, $01, REG_NR44_CH4_CNTRL, $00, $FF - db REG_NR12_CH1_VOLEV, $F1, REG_NR22_CH2_VOLEV, $F1, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F - db REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $6B, REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $7F - db REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $81, REG_NR23_CH2_FRQLO, $DF, REG_NR24_CH2_FRQHI, $87 - db REG_NR42_CH4_VOLEV, $08, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80, $FF + db REG_NR12_CH1_VOLEV, $F1, REG_NR32_CH3_VOLUM, $40, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F + db REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $6B, REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_WAVE_PATTERN_0, $00, REG_WAVE_PATTERN_1, $00, REG_WAVE_PATTERN_2, $00, REG_WAVE_PATTERN_3, $FF + db REG_WAVE_PATTERN_4, $FF, REG_WAVE_PATTERN_5, $FF, REG_WAVE_PATTERN_6, $FF, REG_WAVE_PATTERN_7, $FF + db REG_WAVE_PATTERN_8, $FF, REG_WAVE_PATTERN_9, $FF, REG_WAVE_PATTERN_A, $FF, REG_WAVE_PATTERN_B, $00 + db REG_WAVE_PATTERN_C, $00, REG_WAVE_PATTERN_D, $00, REG_WAVE_PATTERN_E, $00, REG_WAVE_PATTERN_F, $00 + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $87, REG_NR42_CH4_VOLEV, $08, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80 + db $FF db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $9D - 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 + db REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $B6 - 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 + 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, $D6, REG_NR24_CH2_FRQHI, $86, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $C5 - 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 + db REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $CE - 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 + db REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $D6 - 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 + 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, $14, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR22_CH2_VOLEV, $30, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1 + db REG_NR13_CH1_FRQLO, $D9, REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F + db REG_NR22_CH2_VOLEV, $30, REG_NR23_CH2_FRQLO, $59, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87 + db $FF, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $30, REG_NR23_CH2_FRQLO, $D6 + db REG_NR24_CH2_FRQHI, $86, $FF, $FF, $FF, $FF, $FF + + db REG_NR12_CH1_VOLEV, $30, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $30 + db REG_NR13_CH1_FRQLO, $B2, REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F + db REG_NR22_CH2_VOLEV, $30, REG_NR23_CH2_FRQLO, $14, REG_NR24_CH2_FRQHI, $87, REG_NR32_CH3_VOLUM, $00 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $07, $FF, $FF, $FF, $FF + db $FF + + 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, $FE +sSFXPieceIRSJEnd:: +sSFXPieceIRSL:: + 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, $C4, REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $BF + db REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $F0, REG_NR23_CH2_FRQLO, $21, REG_NR24_CH2_FRQHI, $87 + db REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $F2, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80 + db $FF + + db REG_NR43_CH4_FQRND, $15, REG_NR44_CH4_CNTRL, $00, $FF + + db REG_NR43_CH4_FQRND, $01, REG_NR44_CH4_CNTRL, $00, $FF + + db REG_NR12_CH1_VOLEV, $F1, REG_NR32_CH3_VOLUM, $40, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F + db REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $6B, REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_WAVE_PATTERN_0, $00, REG_WAVE_PATTERN_1, $00, REG_WAVE_PATTERN_2, $00, REG_WAVE_PATTERN_3, $00 + db REG_WAVE_PATTERN_4, $00, REG_WAVE_PATTERN_5, $00, REG_WAVE_PATTERN_6, $00, REG_WAVE_PATTERN_7, $00 + db REG_WAVE_PATTERN_8, $FF, REG_WAVE_PATTERN_9, $FF, REG_WAVE_PATTERN_A, $FF, REG_WAVE_PATTERN_B, $FF + db REG_WAVE_PATTERN_C, $FF, REG_WAVE_PATTERN_D, $FF, REG_WAVE_PATTERN_E, $FF, REG_WAVE_PATTERN_F, $FF + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $87, REG_NR42_CH4_VOLEV, $08, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80 + db $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $9D + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $F0 + db REG_NR23_CH2_FRQLO, $39, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $B6 + db REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $C5 + db REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $CE + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $F0 + db REG_NR23_CH2_FRQLO, $4F, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $D6 + db REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR22_CH2_VOLEV, $10, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1 + db REG_NR13_CH1_FRQLO, $D9, REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF + db REG_NR22_CH2_VOLEV, $10, REG_NR23_CH2_FRQLO, $21, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87 + db $FF, $FF, $FF, $FF + + db REG_NR12_CH1_VOLEV, $10, REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $10 + db REG_NR13_CH1_FRQLO, $E7, REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF + db REG_NR22_CH2_VOLEV, $10, REG_NR23_CH2_FRQLO, $39, REG_NR24_CH2_FRQHI, $87, REG_NR32_CH3_VOLUM, $00 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $07, $FF, $FF, $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $10, REG_NR13_CH1_FRQLO, $06 + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $10 + db REG_NR23_CH2_FRQLO, $4F, REG_NR24_CH2_FRQHI, $87, $FF, $FF, $FF, $FF + + 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, $FE +sSFXPieceIRSLEnd:: +sSFXPieceIRSO:: + db REG_NR12_CH1_VOLEV, $F0, REG_NR22_CH2_VOLEV, $F0, REG_NR32_CH3_VOLUM, $60, REG_NR11_CH1_LENDT, $BF + db REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $B2, REG_NR14_CH1_FRQHI, $86 + db REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $F0, REG_NR23_CH2_FRQLO, $14 + db REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_WAVE_PATTERN_0, $ED, REG_WAVE_PATTERN_1, $CB + db REG_WAVE_PATTERN_2, $A9, REG_WAVE_PATTERN_3, $87, REG_WAVE_PATTERN_4, $65, REG_WAVE_PATTERN_5, $43 + db REG_WAVE_PATTERN_6, $21, REG_WAVE_PATTERN_7, $12, REG_WAVE_PATTERN_8, $34, REG_WAVE_PATTERN_9, $56 + db REG_WAVE_PATTERN_A, $78, REG_WAVE_PATTERN_B, $9A, REG_WAVE_PATTERN_C, $BC, REG_WAVE_PATTERN_D, $DE + db REG_WAVE_PATTERN_E, $FF, REG_WAVE_PATTERN_F, $FF, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $60, REG_NR33_CH3_FRQLO, $B2, REG_NR34_CH3_FRQHI, $86, REG_NR41_CH4_LENGT, $3F + db REG_NR42_CH4_VOLEV, $F2, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80, $FF + + db REG_NR43_CH4_FQRND, $15, REG_NR44_CH4_CNTRL, $00, $FF + + db REG_NR43_CH4_FQRND, $01, REG_NR44_CH4_CNTRL, $00, $FF + + db REG_NR12_CH1_VOLEV, $F1, REG_NR32_CH3_VOLUM, $40, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F + db REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $6B, REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_WAVE_PATTERN_0, $00, REG_WAVE_PATTERN_1, $00, REG_WAVE_PATTERN_2, $0F, REG_WAVE_PATTERN_3, $FF + db REG_WAVE_PATTERN_4, $FF, REG_WAVE_PATTERN_5, $FF, REG_WAVE_PATTERN_6, $FF, REG_WAVE_PATTERN_7, $FF + db REG_WAVE_PATTERN_8, $FF, REG_WAVE_PATTERN_9, $FF, REG_WAVE_PATTERN_A, $F0, REG_WAVE_PATTERN_B, $00 + db REG_WAVE_PATTERN_C, $00, REG_WAVE_PATTERN_D, $00, REG_WAVE_PATTERN_E, $00, REG_WAVE_PATTERN_F, $00 + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $87, REG_NR42_CH4_VOLEV, $08, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80 + db $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $9D + db REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $B6 + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $F0 + db REG_NR23_CH2_FRQLO, $F7, REG_NR24_CH2_FRQHI, $86, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $C5 + db REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $CE + db REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1, REG_NR13_CH1_FRQLO, $D6 + db REG_NR14_CH1_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF 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, $FE -sSFXIRSEnd:: -sSFXDrop:: - db REG_NR12_CH1_VOLEV, $F0, REG_NR42_CH4_VOLEV, $F1, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F - db REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $9D, REG_NR14_CH1_FRQHI, $84, REG_NR41_CH4_LENGT, $3F - db REG_NR42_CH4_VOLEV, $F1, REG_NR43_CH4_FQRND, $57, REG_NR44_CH4_CNTRL, $80, $FF + db REG_NR14_CH1_FRQHI, $87, REG_NR22_CH2_VOLEV, $08, REG_NR23_CH2_FRQLO, $F7, REG_NR24_CH2_FRQHI, $86 + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR22_CH2_VOLEV, $30, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $30 + db REG_NR23_CH2_FRQLO, $14, REG_NR24_CH2_FRQHI, $87, $FF, $FF + + db REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $07, $FF, $FF + db $FF, $FF + + db REG_NR12_CH1_VOLEV, $30, REG_NR32_CH3_VOLUM, $60, REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF + db REG_NR12_CH1_VOLEV, $30, REG_NR13_CH1_FRQLO, $89, REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $BF + db REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $30, REG_NR23_CH2_FRQLO, $F7, REG_NR24_CH2_FRQHI, $86 + db REG_NR30_CH3_DACEN, $00, REG_WAVE_PATTERN_0, $89, REG_WAVE_PATTERN_1, $AB, REG_WAVE_PATTERN_2, $CD + db REG_WAVE_PATTERN_3, $EF, REG_WAVE_PATTERN_4, $FF, REG_WAVE_PATTERN_5, $FE, REG_WAVE_PATTERN_6, $DC + db REG_WAVE_PATTERN_7, $BA, REG_WAVE_PATTERN_8, $98, REG_WAVE_PATTERN_9, $76, REG_WAVE_PATTERN_A, $54 + db REG_WAVE_PATTERN_B, $32, REG_WAVE_PATTERN_C, $11, REG_WAVE_PATTERN_D, $23, REG_WAVE_PATTERN_E, $45 + db REG_WAVE_PATTERN_F, $67, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $60 + db REG_NR33_CH3_FRQLO, $89, REG_NR34_CH3_FRQHI, $86, $FF, $FF, $FF, $FF + db $FF, $FF + + db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $89, REG_NR14_CH1_FRQHI, $86, REG_NR22_CH2_VOLEV, $08 + db REG_NR23_CH2_FRQLO, $F7, REG_NR24_CH2_FRQHI, $86, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $89 + db REG_NR34_CH3_FRQHI, $06, $FF, $FF + + db REG_NR12_CH1_VOLEV, $10, REG_NR22_CH2_VOLEV, $10, REG_NR32_CH3_VOLUM, $60, REG_NR11_CH1_LENDT, $BF + db REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $10, REG_NR13_CH1_FRQLO, $B2, REG_NR14_CH1_FRQHI, $86 + db REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $10, REG_NR23_CH2_FRQLO, $14 + db REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $60 + db REG_NR33_CH3_FRQLO, $B2, REG_NR34_CH3_FRQHI, $86, $FF, $FF, $FF, $FF + db $FF, $FF + + db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $10, REG_NR13_CH1_FRQLO, $89 + db REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $10 + db REG_NR23_CH2_FRQLO, $F7, REG_NR24_CH2_FRQHI, $86, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $60, REG_NR33_CH3_FRQLO, $89, REG_NR34_CH3_FRQHI, $86, $FF, $FF + db $FF, $FF, $FF, $FF + + db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $89, REG_NR14_CH1_FRQHI, $86, REG_NR22_CH2_VOLEV, $08 + db REG_NR23_CH2_FRQLO, $F7, REG_NR24_CH2_FRQHI, $86, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $89 + db REG_NR34_CH3_FRQHI, $06, $FE +sSFXPieceIRSOEnd:: +sSFXPieceIRST:: + db REG_NR12_CH1_VOLEV, $F0, REG_NR22_CH2_VOLEV, $F0, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F + db REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $8A, REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $7F + db REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F0, REG_NR23_CH2_FRQLO, $62, REG_NR24_CH2_FRQHI, $87 + db REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $F2, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80 + db $FF + + db REG_NR43_CH4_FQRND, $15, REG_NR44_CH4_CNTRL, $00, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $2D + db REG_NR14_CH1_FRQHI, $87, REG_NR43_CH4_FQRND, $01, REG_NR44_CH4_CNTRL, $00, $FF + + db REG_NR22_CH2_VOLEV, $F1, REG_NR32_CH3_VOLUM, $40, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F + db REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $6B, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_WAVE_PATTERN_0, $FF, REG_WAVE_PATTERN_1, $FF, REG_WAVE_PATTERN_2, $FF, REG_WAVE_PATTERN_3, $00 + db REG_WAVE_PATTERN_4, $00, REG_WAVE_PATTERN_5, $00, REG_WAVE_PATTERN_6, $00, REG_WAVE_PATTERN_7, $00 + db REG_WAVE_PATTERN_8, $00, REG_WAVE_PATTERN_9, $00, REG_WAVE_PATTERN_A, $00, REG_WAVE_PATTERN_B, $FF + db REG_WAVE_PATTERN_C, $FF, REG_WAVE_PATTERN_D, $FF, REG_WAVE_PATTERN_E, $FF, REG_WAVE_PATTERN_F, $FF + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $87, REG_NR42_CH4_VOLEV, $08, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80 + db $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $9D + db REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $D6 + db REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1 + db REG_NR23_CH2_FRQLO, $B6, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $C5 + db REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $CE + db REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, 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, $F1 + db REG_NR23_CH2_FRQLO, $D6, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $D9 + db REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40 + db REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $62 + db REG_NR14_CH1_FRQHI, $87, $FF, $FF + + db REG_NR22_CH2_VOLEV, $F0, 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, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $DF + db REG_NR34_CH3_FRQHI, $07, $FF, $FF + + db REG_NR12_CH1_VOLEV, $30, REG_NR22_CH2_VOLEV, $30, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F + db REG_NR12_CH1_VOLEV, $30, REG_NR13_CH1_FRQLO, $D6, REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F + db REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $30, REG_NR23_CH2_FRQLO, $06, REG_NR24_CH2_FRQHI, $87 + db $FF, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $30, REG_NR23_CH2_FRQLO, $F7 + db REG_NR24_CH2_FRQHI, $86, $FF, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $30, REG_NR13_CH1_FRQLO, $14 + db REG_NR14_CH1_FRQHI, $87, $FF, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $30, REG_NR23_CH2_FRQLO, $2D + db REG_NR24_CH2_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $30, REG_NR13_CH1_FRQLO, $62 + db REG_NR14_CH1_FRQHI, $87, $FF, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $30, REG_NR23_CH2_FRQLO, $8A + db REG_NR24_CH2_FRQHI, $87, $FF, $FF + + db REG_NR12_CH1_VOLEV, $10, REG_NR22_CH2_VOLEV, $10, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F + db REG_NR12_CH1_VOLEV, $10, REG_NR13_CH1_FRQLO, $D6, REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F + db REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $10, REG_NR23_CH2_FRQLO, $06, REG_NR24_CH2_FRQHI, $87 + db $FF, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $10, REG_NR23_CH2_FRQLO, $F7 + db REG_NR24_CH2_FRQHI, $86, $FF, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $10, REG_NR13_CH1_FRQLO, $14 + db REG_NR14_CH1_FRQHI, $87, $FF, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $10, REG_NR23_CH2_FRQLO, $2D + db REG_NR24_CH2_FRQHI, $87, $FF, $FF + + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $10, REG_NR13_CH1_FRQLO, $62 + db REG_NR14_CH1_FRQHI, $87, $FF, $FF + + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $10, REG_NR23_CH2_FRQLO, $8A + db REG_NR24_CH2_FRQHI, $87, $FF, $FF + + 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, $FE +sSFXPieceIRSTEnd:: +sSFXIHSIRS:: + db REG_NR12_CH1_VOLEV, $F0, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F0 + db REG_NR13_CH1_FRQLO, $33, REG_NR14_CH1_FRQHI, $87, REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $F2 + db REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80, $FF + + db REG_NR13_CH1_FRQLO, $44, REG_NR14_CH1_FRQHI, $07, REG_NR43_CH4_FQRND, $15, REG_NR44_CH4_CNTRL, $00 + db $FF + + db REG_NR22_CH2_VOLEV, $F1, REG_NR32_CH3_VOLUM, $40, REG_NR13_CH1_FRQLO, $54, REG_NR14_CH1_FRQHI, $07 + db REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $6B + db REG_NR24_CH2_FRQHI, $87, 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, $0F + 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, $FF, REG_WAVE_PATTERN_C, $FF, REG_WAVE_PATTERN_D, $F0 + 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, $DF, REG_NR34_CH3_FRQHI, $87, REG_NR43_CH4_FQRND, $01 + db REG_NR44_CH4_CNTRL, $00, $FF + + db REG_NR13_CH1_FRQLO, $62, REG_NR14_CH1_FRQHI, $07, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F + db REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $9D, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87 + db REG_NR42_CH4_VOLEV, $08, REG_NR43_CH4_FQRND, $44, REG_NR44_CH4_CNTRL, $80, $FF + + db REG_NR13_CH1_FRQLO, $6F, REG_NR14_CH1_FRQHI, $07, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F + db REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $B6, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87 + db $FF + + db REG_NR13_CH1_FRQLO, $7B, REG_NR14_CH1_FRQHI, $07, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F + db REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $C5, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87 + db $FF + + db REG_NR13_CH1_FRQLO, $86, REG_NR14_CH1_FRQHI, $07, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F + db REG_NR22_CH2_VOLEV, $F1, REG_NR23_CH2_FRQLO, $CE, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00 + db REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87 + db $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, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1 + db REG_NR23_CH2_FRQLO, $D6, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $FF + + db REG_NR13_CH1_FRQLO, $ED, REG_NR14_CH1_FRQHI, $05, $FF + + db REG_NR13_CH1_FRQLO, $0B, REG_NR14_CH1_FRQHI, $06, REG_NR12_CH1_VOLEV, $E8, 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_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F1 + db REG_NR23_CH2_FRQLO, $D9, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $87, $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, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $DF, REG_NR34_CH3_FRQHI, $07 + db $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, $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 +sSFXIHSIRSEnd:: +sSFXLineClear:: + db REG_NR12_CH1_VOLEV, $F0, REG_NR32_CH3_VOLUM, $20, REG_NR42_CH4_VOLEV, $F1, REG_NR11_CH1_LENDT, $7F + db REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F0, REG_NR13_CH1_FRQLO, $9D, REG_NR14_CH1_FRQHI, $84 + db REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $F1, REG_NR43_CH4_FQRND, $57, REG_NR44_CH4_CNTRL, $80 + db $FF db REG_NR13_CH1_FRQLO, $12, REG_NR14_CH1_FRQHI, $03, $FF @@ -639,7 +1457,11 @@ sSFXDrop:: db REG_NR13_CH1_FRQLO, $01, REG_NR14_CH1_FRQHI, $00, $FF db REG_NR13_CH1_FRQLO, $01, REG_NR14_CH1_FRQHI, $00, $FE -sSFXDropEnd:: +sSFXLineClearEnd:: +sSFXLand:: + db REG_NR42_CH4_VOLEV, $21, REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $C1, REG_NR43_CH4_FQRND, $00 + db REG_NR44_CH4_CNTRL, $80, $FE +sSFXLandEnd:: sSFXLock:: db REG_NR42_CH4_VOLEV, $F2, REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $12, REG_NR43_CH4_FQRND, $14 db REG_NR44_CH4_CNTRL, $80, $FF @@ -685,7 +1507,7 @@ sSFXLock:: db REG_NR43_CH4_FQRND, $00, REG_NR44_CH4_CNTRL, $00, $FE sSFXLockEnd:: -sSFXBell:: +sSFXLevelLock:: db REG_NR12_CH1_VOLEV, $F1, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F1 db REG_NR13_CH1_FRQLO, $A7, REG_NR14_CH1_FRQHI, $87, $FF, $FF, $FF, $FF @@ -716,78 +1538,7 @@ sSFXBell:: db $FF, $FF db REG_NR22_CH2_VOLEV, $08, REG_NR23_CH2_FRQLO, $97, REG_NR24_CH2_FRQHI, $87, $FE -sSFXBellEnd:: -sSFXMove:: - db REG_NR42_CH4_VOLEV, $21, REG_NR41_CH4_LENGT, $3F, REG_NR42_CH4_VOLEV, $C1, REG_NR43_CH4_FQRND, $00 - db REG_NR44_CH4_CNTRL, $80, $FE -sSFXMoveEnd:: -sSFXRankUp:: - db REG_NR12_CH1_VOLEV, $F2, REG_NR22_CH2_VOLEV, $F2, REG_NR32_CH3_VOLUM, $40, REG_NR11_CH1_LENDT, $7F - 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, $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 - - db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $14 - db REG_NR34_CH3_FRQHI, $87, $FF, $FF, $FF, $FF - - db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $AC, REG_NR14_CH1_FRQHI, $85, REG_NR22_CH2_VOLEV, $08 - db REG_NR23_CH2_FRQLO, $72, REG_NR24_CH2_FRQHI, $86, 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 - - db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $39 - db REG_NR34_CH3_FRQHI, $87, $FF, $FF, $FF, $FF - - db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F2, REG_NR13_CH1_FRQLO, $AC - db REG_NR14_CH1_FRQHI, $85, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F2 - db REG_NR23_CH2_FRQLO, $72, REG_NR24_CH2_FRQHI, $86, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 - db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $6B, REG_NR34_CH3_FRQHI, $87, $FF, $FF - db $FF, $FF - - db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $AC, REG_NR14_CH1_FRQHI, $85, REG_NR22_CH2_VOLEV, $08 - db REG_NR23_CH2_FRQLO, $72, REG_NR24_CH2_FRQHI, $86, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $6B - db REG_NR34_CH3_FRQHI, $07, $FF, $FF, $FF, $FF - - db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F2, 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, $F2 - db REG_NR23_CH2_FRQLO, $D6, REG_NR24_CH2_FRQHI, $86, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 - db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $6B, REG_NR34_CH3_FRQHI, $87, $FF, $FF - db $FF, $FF - - db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $27, REG_NR14_CH1_FRQHI, $86, REG_NR22_CH2_VOLEV, $08 - db REG_NR23_CH2_FRQLO, $D6, REG_NR24_CH2_FRQHI, $86, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $6B - db REG_NR34_CH3_FRQHI, $07, $FF, $FF, $FF, $FF - - db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F2, 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, $F2 - db REG_NR23_CH2_FRQLO, $14, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 - db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $6B, REG_NR34_CH3_FRQHI, $87, $FF, $FF - db $FF, $FF - - db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $72, REG_NR14_CH1_FRQHI, $86, REG_NR22_CH2_VOLEV, $08 - db REG_NR23_CH2_FRQLO, $14, 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 - - db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F2, REG_NR13_CH1_FRQLO, $D6 - db REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F2 - db REG_NR23_CH2_FRQLO, $39, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 - db REG_NR32_CH3_VOLUM, $40, REG_NR33_CH3_FRQLO, $6B, REG_NR34_CH3_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 - - db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $D6, REG_NR14_CH1_FRQHI, $86, REG_NR22_CH2_VOLEV, $08 - 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, $FE -sSFXRankUpEnd:: +sSFXLevelLockEnd:: 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 @@ -939,343 +1690,390 @@ 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 +sSFXRankUp:: + db REG_NR32_CH3_VOLUM, $20, REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F2 + db REG_NR13_CH1_FRQLO, $AC, REG_NR14_CH1_FRQHI, $85, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F + db REG_NR22_CH2_VOLEV, $F2, REG_NR23_CH2_FRQLO, $72, REG_NR24_CH2_FRQHI, $86, REG_NR30_CH3_DACEN, $00 + db REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $20, REG_NR33_CH3_FRQLO, $21, REG_NR34_CH3_FRQHI, $87 + db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF + db $FF, $FF, $FF, $FF - db REG_NR13_CH1_FRQLO, $44, REG_NR14_CH1_FRQHI, $07, $FF + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $20, REG_NR33_CH3_FRQLO, $14 + db REG_NR34_CH3_FRQHI, $87, $FF, $FF, $FF, $FF - db REG_NR13_CH1_FRQLO, $54, REG_NR14_CH1_FRQHI, $07, $FF + db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $AC, REG_NR14_CH1_FRQHI, $85, REG_NR22_CH2_VOLEV, $08 + db REG_NR23_CH2_FRQLO, $72, REG_NR24_CH2_FRQHI, $86, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $20, REG_NR33_CH3_FRQLO, $21, REG_NR34_CH3_FRQHI, $87, $FF, $FF + db $FF, $FF - db REG_NR13_CH1_FRQLO, $62, REG_NR14_CH1_FRQHI, $07, $FF + db REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80, REG_NR32_CH3_VOLUM, $20, REG_NR33_CH3_FRQLO, $39 + db REG_NR34_CH3_FRQHI, $87, $FF, $FF, $FF, $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_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F2, REG_NR13_CH1_FRQLO, $AC + db REG_NR14_CH1_FRQHI, $85, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F2 + db REG_NR23_CH2_FRQLO, $72, REG_NR24_CH2_FRQHI, $86, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $20, REG_NR33_CH3_FRQLO, $6B, REG_NR34_CH3_FRQHI, $87, $FF, $FF + db $FF, $FF - db REG_NR13_CH1_FRQLO, $7B, REG_NR14_CH1_FRQHI, $07, $FF + db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $AC, REG_NR14_CH1_FRQHI, $85, REG_NR22_CH2_VOLEV, $08 + db REG_NR23_CH2_FRQLO, $72, REG_NR24_CH2_FRQHI, $86, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $6B + db REG_NR34_CH3_FRQHI, $07, $FF, $FF, $FF, $FF - db REG_NR13_CH1_FRQLO, $86, REG_NR14_CH1_FRQHI, $07, $FF + db REG_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F2, 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, $F2 + db REG_NR23_CH2_FRQLO, $D6, REG_NR24_CH2_FRQHI, $86, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $20, REG_NR33_CH3_FRQLO, $6B, REG_NR34_CH3_FRQHI, $87, $FF, $FF + db $FF, $FF - db REG_NR13_CH1_FRQLO, $90, REG_NR14_CH1_FRQHI, $07, $FF + db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $27, REG_NR14_CH1_FRQHI, $86, REG_NR22_CH2_VOLEV, $08 + db REG_NR23_CH2_FRQLO, $D6, REG_NR24_CH2_FRQHI, $86, REG_NR32_CH3_VOLUM, $00, REG_NR33_CH3_FRQLO, $6B + db REG_NR34_CH3_FRQHI, $07, $FF, $FF, $FF, $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_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F2, 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, $F2 + db REG_NR23_CH2_FRQLO, $14, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $20, REG_NR33_CH3_FRQLO, $6B, REG_NR34_CH3_FRQHI, $87, $FF, $FF + db $FF, $FF - db REG_NR13_CH1_FRQLO, $ED, REG_NR14_CH1_FRQHI, $05, $FF + db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $72, REG_NR14_CH1_FRQHI, $86, REG_NR22_CH2_VOLEV, $08 + db REG_NR23_CH2_FRQLO, $14, 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 - 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_NR11_CH1_LENDT, $7F, REG_NR11_CH1_LENDT, $7F, REG_NR12_CH1_VOLEV, $F2, REG_NR13_CH1_FRQLO, $D6 + db REG_NR14_CH1_FRQHI, $86, REG_NR21_CH2_LENDT, $7F, REG_NR21_CH2_LENDT, $7F, REG_NR22_CH2_VOLEV, $F2 + db REG_NR23_CH2_FRQLO, $39, REG_NR24_CH2_FRQHI, $87, REG_NR30_CH3_DACEN, $00, REG_NR30_CH3_DACEN, $80 + db REG_NR32_CH3_VOLUM, $20, REG_NR33_CH3_FRQLO, $6B, REG_NR34_CH3_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 - 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:: + db REG_NR12_CH1_VOLEV, $08, REG_NR13_CH1_FRQLO, $D6, REG_NR14_CH1_FRQHI, $86, REG_NR22_CH2_VOLEV, $08 + 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, $FE +sSFXRankUpEnd:: sSFXReadyGo:: db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F8, REG_NR13_CH1_FRQLO, $16 - db REG_NR14_CH1_FRQHI, $84, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $68 + db REG_NR14_CH1_FRQHI, $84, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $F8 db REG_NR23_CH2_FRQLO, $E5, REG_NR24_CH2_FRQHI, $84, $FF, $FF, $FF db REG_NR12_CH1_VOLEV, $E8, 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, REG_NR22_CH2_VOLEV, $58 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $E8 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $D8, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $D8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $C8, 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, REG_NR22_CH2_VOLEV, $48 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $C8 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF db REG_NR12_CH1_VOLEV, $B8, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $B8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $A8, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $A8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $98, 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, REG_NR22_CH2_VOLEV, $38 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $98 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF db REG_NR12_CH1_VOLEV, $88, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $88 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $78, 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, REG_NR22_CH2_VOLEV, $28 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $78 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $68, 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 REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $68 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF db REG_NR12_CH1_VOLEV, $58, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $58 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $48, 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, REG_NR22_CH2_VOLEV, $18 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $48 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $38, 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 REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $38 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $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, REG_NR22_CH2_VOLEV, $08 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $28 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $18 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_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 REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $08 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF + db $FF, $FF, $FF, $FF, $FF, $FF, $FF db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F8, REG_NR13_CH1_FRQLO, $16 - db REG_NR14_CH1_FRQHI, $84, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $68 + db REG_NR14_CH1_FRQHI, $84, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $F8 db REG_NR23_CH2_FRQLO, $E5, REG_NR24_CH2_FRQHI, $84, $FF, $FF, $FF db REG_NR12_CH1_VOLEV, $E8, 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, REG_NR22_CH2_VOLEV, $58 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $E8 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $D8, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $D8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $C8, 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, REG_NR22_CH2_VOLEV, $48 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $C8 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF db REG_NR12_CH1_VOLEV, $B8, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $B8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $A8, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $A8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $98, 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, REG_NR22_CH2_VOLEV, $38 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $98 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF db REG_NR12_CH1_VOLEV, $88, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $88 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $78, 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, REG_NR22_CH2_VOLEV, $28 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $78 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $68, 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 REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $68 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF db REG_NR12_CH1_VOLEV, $58, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $58 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $48, 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, REG_NR22_CH2_VOLEV, $18 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $48 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $38, 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 REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $38 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $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, REG_NR22_CH2_VOLEV, $08 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $28 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $18 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_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 REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $08 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF + db $FF, $FF, $FF, $FF, $FF, $FF, $FF db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F8, REG_NR13_CH1_FRQLO, $16 - db REG_NR14_CH1_FRQHI, $84, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $68 + db REG_NR14_CH1_FRQHI, $84, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $F8 db REG_NR23_CH2_FRQLO, $E5, REG_NR24_CH2_FRQHI, $84, $FF, $FF, $FF db REG_NR12_CH1_VOLEV, $E8, 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, REG_NR22_CH2_VOLEV, $58 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $E8 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $D8, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $D8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $C8, 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, REG_NR22_CH2_VOLEV, $48 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $C8 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF db REG_NR12_CH1_VOLEV, $B8, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $B8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $A8, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $A8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $98, 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, REG_NR22_CH2_VOLEV, $38 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $98 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF db REG_NR12_CH1_VOLEV, $88, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $88 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $78, 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, REG_NR22_CH2_VOLEV, $28 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $78 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $68, 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 REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $68 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF db REG_NR12_CH1_VOLEV, $58, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $58 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $48, 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, REG_NR22_CH2_VOLEV, $18 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $48 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $38, 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 REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $38 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $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, REG_NR22_CH2_VOLEV, $08 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $28 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $18 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_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 REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $08 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF + db $FF, $FF, $FF, $FF, $FF, $FF, $FF db REG_NR11_CH1_LENDT, $BF, REG_NR11_CH1_LENDT, $BF, REG_NR12_CH1_VOLEV, $F8, 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, $68 + db REG_NR14_CH1_FRQHI, $87, REG_NR21_CH2_LENDT, $BF, REG_NR21_CH2_LENDT, $BF, REG_NR22_CH2_VOLEV, $F8 db REG_NR23_CH2_FRQLO, $6B, REG_NR24_CH2_FRQHI, $87, $FF, $FF, $FF db REG_NR12_CH1_VOLEV, $E8, 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, REG_NR22_CH2_VOLEV, $58 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $E8 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $D8, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $D8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $C8, 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, REG_NR22_CH2_VOLEV, $48 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $C8 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF db REG_NR12_CH1_VOLEV, $B8, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $B8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $A8, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $A8 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $98, 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, REG_NR22_CH2_VOLEV, $38 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $98 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF db REG_NR12_CH1_VOLEV, $88, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $88 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $78, 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, REG_NR22_CH2_VOLEV, $28 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $78 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $68, 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 REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $68 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $FF db REG_NR12_CH1_VOLEV, $58, 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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $58 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $48, 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, REG_NR22_CH2_VOLEV, $18 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $48 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF db REG_NR12_CH1_VOLEV, $38, 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 REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $38 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FF, $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, REG_NR22_CH2_VOLEV, $08 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $28 db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_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, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $18 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_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 + db REG_NR12_CH1_VOLEV, $09, REG_NR12_CH1_VOLEV, $11, REG_NR12_CH1_VOLEV, $08, REG_NR22_CH2_VOLEV, $08 + db REG_NR22_CH2_VOLEV, $09, REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, REG_NR22_CH2_VOLEV, $09 + db REG_NR22_CH2_VOLEV, $11, REG_NR22_CH2_VOLEV, $08, $FE sSFXReadyGoEnd:: @@ -1374,7 +2172,7 @@ SFXEnqueue:: call SFXPushQueue ret - ; Play the sound effect for the sfx id in A. + ; Piece jingles. : ld a, b cp a, PIECE_I jr nz, :+ @@ -1385,7 +2183,18 @@ SFXEnqueue:: call SFXPlay ret -: cp a, PIECE_S +: ld a, b + cp a, PIECE_I | SFX_IRS + jr nz, :+ + ld a, LOW(sSFXPieceIRSI) + ldh [hPlayhead], a + ld a, HIGH(sSFXPieceIRSI) + ldh [hPlayhead+1], a + call SFXPlay + ret + +: ld a, b + cp a, PIECE_S jr nz, :+ ld a, LOW(sSFXPieceS) ldh [hPlayhead], a @@ -1394,7 +2203,18 @@ SFXEnqueue:: call SFXPlay ret -: cp a, PIECE_Z +: ld a, b + cp a, PIECE_S | SFX_IRS + jr nz, :+ + ld a, LOW(sSFXPieceIRSS) + ldh [hPlayhead], a + ld a, HIGH(sSFXPieceIRSS) + ldh [hPlayhead+1], a + call SFXPlay + ret + +: ld a, b + cp a, PIECE_Z jr nz, :+ ld a, LOW(sSFXPieceZ) ldh [hPlayhead], a @@ -1403,7 +2223,18 @@ SFXEnqueue:: call SFXPlay ret -: cp a, PIECE_J +: ld a, b + cp a, PIECE_Z | SFX_IRS + jr nz, :+ + ld a, LOW(sSFXPieceIRSZ) + ldh [hPlayhead], a + ld a, HIGH(sSFXPieceIRSZ) + ldh [hPlayhead+1], a + call SFXPlay + ret + +: ld a, b + cp a, PIECE_J jr nz, :+ ld a, LOW(sSFXPieceJ) ldh [hPlayhead], a @@ -1412,7 +2243,18 @@ SFXEnqueue:: call SFXPlay ret -: cp a, PIECE_L +: ld a, b + cp a, PIECE_J | SFX_IRS + jr nz, :+ + ld a, LOW(sSFXPieceIRSJ) + ldh [hPlayhead], a + ld a, HIGH(sSFXPieceIRSJ) + ldh [hPlayhead+1], a + call SFXPlay + ret + +: ld a, b + cp a, PIECE_L jr nz, :+ ld a, LOW(sSFXPieceL) ldh [hPlayhead], a @@ -1421,7 +2263,18 @@ SFXEnqueue:: call SFXPlay ret -: cp a, PIECE_O +: ld a, b + cp a, PIECE_L | SFX_IRS + jr nz, :+ + ld a, LOW(sSFXPieceIRSL) + ldh [hPlayhead], a + ld a, HIGH(sSFXPieceIRSL) + ldh [hPlayhead+1], a + call SFXPlay + ret + +: ld a, b + cp a, PIECE_O jr nz, :+ ld a, LOW(sSFXPieceO) ldh [hPlayhead], a @@ -1430,7 +2283,18 @@ SFXEnqueue:: call SFXPlay ret -: cp a, PIECE_T +: ld a, b + cp a, PIECE_O | SFX_IRS + jr nz, :+ + ld a, LOW(sSFXPieceIRSO) + ldh [hPlayhead], a + ld a, HIGH(sSFXPieceIRSO) + ldh [hPlayhead+1], a + call SFXPlay + ret + +: ld a, b + cp a, PIECE_T jr nz, :+ ld a, LOW(sSFXPieceT) ldh [hPlayhead], a @@ -1439,20 +2303,52 @@ SFXEnqueue:: call SFXPlay ret -: cp a, SFX_IRS +: ld a, b + cp a, PIECE_T | SFX_IRS jr nz, :+ - ld a, LOW(sSFXIRS) + ld a, LOW(sSFXPieceIRST) ldh [hPlayhead], a - ld a, HIGH(sSFXIRS) + ld a, HIGH(sSFXPieceIRST) ldh [hPlayhead+1], a call SFXPlay ret -: cp a, SFX_DROP + + ; IRS +: cp a, SFX_IHS jr nz, :+ - ld a, LOW(sSFXDrop) + ld a, LOW(sSFXIHS) ldh [hPlayhead], a - ld a, HIGH(sSFXDrop) + ld a, HIGH(sSFXIHS) + ldh [hPlayhead+1], a + call SFXPlay + ret + +: cp a, SFX_IHS | SFX_IRS + jr nz, :+ + ld a, LOW(sSFXIHSIRS) + ldh [hPlayhead], a + ld a, HIGH(sSFXIHSIRS) + ldh [hPlayhead+1], a + call SFXPlay + ret + + + ; Pieces dropping +: cp a, SFX_LINE_CLEAR + jr nz, :+ + ld a, LOW(sSFXLineClear) + ldh [hPlayhead], a + ld a, HIGH(sSFXLineClear) + ldh [hPlayhead+1], a + call SFXPlay + ret + +: cp a, SFX_LAND + jr nz, :+ + ld a, LOW(sSFXLand) + ldh [hPlayhead], a + ld a, HIGH(sSFXLand) ldh [hPlayhead+1], a call SFXPlay ret @@ -1466,34 +2362,18 @@ SFXEnqueue:: call SFXPlay ret -: cp a, SFX_BELL + + ; Leveling +: cp a, SFX_LEVELLOCK jr nz, :+ - ld a, LOW(sSFXBell) + ld a, LOW(sSFXLevelLock) ldh [hPlayhead], a - ld a, HIGH(sSFXBell) + ld a, HIGH(sSFXLevelLock) ldh [hPlayhead+1], a call SFXPlay ret -: cp a, SFX_MOVE - jr nz, :+ - ld a, LOW(sSFXMove) - ldh [hPlayhead], a - ld a, HIGH(sSFXMove) - ldh [hPlayhead+1], a - call SFXPlay - ret - -: cp a, SFX_RANK_UP - jr nz, :+ - ld a, LOW(sSFXRankUp) - ldh [hPlayhead], a - ld a, HIGH(sSFXRankUp) - ldh [hPlayhead+1], a - call SFXPlay - ret - -: cp a, SFX_LEVEL_UP +: cp a, SFX_LEVELUP jr nz, :+ ld a, LOW(sSFXLevelUp) ldh [hPlayhead], a @@ -1503,17 +2383,17 @@ SFXEnqueue:: ret - -: cp a, SFX_IHS + ; Other +: cp a, SFX_RANKUP jr nz, :+ - ld a, LOW(sSFXIHS) + ld a, LOW(sSFXRankUp) ldh [hPlayhead], a - ld a, HIGH(sSFXIHS) + ld a, HIGH(sSFXRankUp) ldh [hPlayhead+1], a call SFXPlay ret -: cp a, SFX_READY_GO +: cp a, SFX_READYGO ret nz ld a, LOW(sSFXReadyGo) ldh [hPlayhead], a diff --git a/src/state_gameplay.asm b/src/state_gameplay.asm index c7b527d..f8c3c86 100644 --- a/src/state_gameplay.asm +++ b/src/state_gameplay.asm @@ -41,10 +41,10 @@ hCurrentPieceY:: ds 1 hCurrentPieceRotationState:: ds 1 hHeldPiece:: ds 1 hHoldSpent:: ds 1 -hSkipJingle: ds 1 hMode: ds 1 hModeCounter: ds 1 hPrePause: ds 1 +hRequestedJingle: ds 1 SECTION "Gameplay Functions", ROM0 @@ -158,7 +158,7 @@ leadyMode: cp a, LEADY_TIME jr nz, :+ call SFXKill - ld a, SFX_READY_GO + ld a, SFX_READYGO call SFXEnqueue ldh a, [hModeCounter] : dec a @@ -205,12 +205,13 @@ postGoMode: ; Fetch the next piece. prefetchedPieceMode: ; A piece will spawn in the middle, at the top of the screen, not rotated by default. + ld a, $FF + ldh [hRequestedJingle], a ld a, 5 ldh [hCurrentPieceX], a ld a, 3 ldh [hCurrentPieceY], a xor a, a - ldh [hSkipJingle], a ldh [hCurrentPieceRotationState], a ldh [hHoldSpent], a @@ -219,10 +220,14 @@ prefetchedPieceMode: .checkIHS ldh a, [hSelectState] cp a, 0 - jr z, .checkIRSA + jr z, .loaddefaultjingle call DoHold - ; Holding does its own IRS check. - jr .checkJingle + jr .postjingle + + ; Enqueue the jingle. +.loaddefaultjingle + ldh a, [hNextPiece] + ldh [hRequestedJingle], a ; Check if IRS is requested. ; Apply the rotation if so. @@ -246,8 +251,12 @@ prefetchedPieceMode: .cp1 ld a, 3 ldh [hCurrentPieceRotationState], a + ldh a, [hNextPiece] + ld b, a ld a, SFX_IRS - call SFXEnqueue + or a, b + ldh [hRequestedJingle], a + jr .postjingle .checkIRSB ld a, [wSwapABState] @@ -256,33 +265,27 @@ prefetchedPieceMode: .lda2 ldh a, [hAState] cp a, 0 - jr z, .checkJingle + jr z, .postjingle ld a, $FF ldh [hAState], a jr .cp2 .ldb2 ldh a, [hBState] cp a, 0 - jr z, .checkJingle + jr z, .postjingle ld a, $FF ldh [hBState], a .cp2 ld a, 1 ldh [hCurrentPieceRotationState], a - ld a, SFX_IRS - call SFXEnqueue - -.checkJingle - ldh a, [hSkipJingle] - cp a, 0 - jr nz, .skipJingle -.playNextJingle - ldh a, [hCurrentGravityPerTick] - cp a, 1 - jr nz, .skipJingle ldh a, [hNextPiece] - call SFXEnqueue -.skipJingle + ld b, a + ld a, SFX_IRS + or a, b + ldh [hRequestedJingle], a + jr .postjingle + +.postjingle ld a, MODE_SPAWN_PIECE ldh [hMode], a ; State falls through to the next. @@ -299,6 +302,15 @@ spawnPieceMode: : ld a, MODE_PIECE_IN_MOTION ldh [hMode], a + ; Play the next jingle... maybe! + ldh a, [hHoldSpent] + cp a, $FF + jr z, pieceInMotionMode + ldh a, [hRequestedJingle] + cp a, $FF + jr z, pieceInMotionMode + call SFXEnqueue + ; This mode lasts for as long as the piece is in motion. ; Field will let us know when it has locked in place. @@ -327,8 +339,6 @@ pieceInMotionMode: ldh [hCurrentPieceX], a ld a, 3 ldh [hCurrentPieceY], a - xor a, a - ldh [hSkipJingle], a ldh [hCurrentPieceRotationState], a call DoHold ld a, MODE_SPAWN_PIECE @@ -538,8 +548,6 @@ 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. @@ -563,7 +571,8 @@ DoHold: .cp3 ld a, 3 ldh [hCurrentPieceRotationState], a - ld a, SFX_IRS + call SFXKill + ld a, SFX_IRS | SFX_IHS call SFXEnqueue jr .doHoldOperation @@ -587,11 +596,15 @@ DoHold: .cp4 ld a, 1 ldh [hCurrentPieceRotationState], a - ld a, SFX_IRS + call SFXKill + ld a, SFX_IRS | SFX_IHS call SFXEnqueue jr .doHoldOperation .noRotation + call SFXKill + ld a, SFX_IHS + call SFXEnqueue ld a, 0 ldh [hCurrentPieceRotationState], a @@ -602,8 +615,6 @@ DoHold: ldh [hHeldPiece], a ld a, b ldh [hCurrentPiece], a - ld a, $FF - ldh [hSkipJingle], a ret diff --git a/src/state_title.asm b/src/state_title.asm index 9a9f304..c54d75a 100644 --- a/src/state_title.asm +++ b/src/state_title.asm @@ -114,6 +114,9 @@ SwitchToTitle:: ; GBC init call GBCTitleInit + ; Make sure the speed curve is aimed at the right place. + call InitSpeedCurve + ; Install the event loop handlers. ld a, 0 ldh [hGameState], a @@ -261,10 +264,12 @@ DecrementOption: dec a ld [wSpeedCurveState], a ld [rSpeedCurveState], a + call InitSpeedCurve jp EventLoopPostHandler : ld a, SCURVE_COUNT-1 ld [wSpeedCurveState], a ld [rSpeedCurveState], a + call InitSpeedCurve jp EventLoopPostHandler .opt5 @@ -372,10 +377,12 @@ IncrementOption: inc a ld [wSpeedCurveState], a ld [rSpeedCurveState], a + call InitSpeedCurve jp EventLoopPostHandler : xor a, a ld [wSpeedCurveState], a ld [rSpeedCurveState], a + call InitSpeedCurve jp EventLoopPostHandler .opt5 @@ -411,30 +418,96 @@ IncrementLevel: ldh [hStartSpeed+1], a jr CheckLevelRange +InitSpeedCurve: + ld a, [wSpeedCurveState] + cp a, 0 + jr nz, :+ + ld hl, sSpeedCurve + jr .set +: cp a, 1 + jr nz, :+ + ld hl, sTGM1SpeedCurve + jr .set +: cp a, 2 + jr nz, :+ + ld hl, sDEATSpeedCurve + jr .set +: ld hl, sSHIRSpeedCurve + +.set + ld a, l + ldh [hStartSpeed], a + ld a, h + ldh [hStartSpeed+1], a + ret + + + +GetEnd: + ld a, [wSpeedCurveState] + cp a, 0 + jr nz, :+ + ld bc, sSpeedCurveEnd + ret +: cp a, 1 + jr nz, :+ + ld bc, sTGM1SpeedCurveEnd + ret +: cp a, 2 + jr nz, :+ + ld bc, sDEATSpeedCurveEnd + ret +: ld bc, sSHIRSpeedCurveEnd + ret + +GetStart: + ld a, [wSpeedCurveState] + cp a, 0 + jr nz, :+ + ld hl, sSpeedCurve + ret +: cp a, 1 + jr nz, :+ + ld hl, sTGM1SpeedCurve + ret +: cp a, 2 + jr nz, :+ + ld hl, sDEATSpeedCurve + ret +: ld hl, sSHIRSpeedCurve + ret + CheckLevelRange: ; At end? - ld bc, sSpeedCurveEnd + call GetEnd ldh a, [hStartSpeed] cp a, c jr nz, .notatend ldh a, [hStartSpeed+1] cp a, b jr nz, .notatend - ld hl, sSpeedCurve + call GetStart ld a, l ldh [hStartSpeed], a ld a, h ldh [hStartSpeed+1], a .notatend - ld bc, sSpeedCurve-12 + ld de, -12 + + call GetStart + add hl, de ldh a, [hStartSpeed] - cp a, c + cp a, l jr nz, .notatstart ldh a, [hStartSpeed+1] - cp a, b + cp a, h jr nz, .notatstart - ld hl, sSpeedCurveEnd-12 + + call GetEnd + ld h, b + ld l, c + add hl, de ld a, l ldh [hStartSpeed], a ld a, h