Created
February 22, 2020 17:55
-
-
Save HS39/d40f9b436009665ce53f4fb8b4064ba1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import asm65816 | |
import ASMRef | |
define Battle_Swirl_Flag = 0x3FE | |
//Stops music from changing during battle swirl | |
ROM[0xC22FA9] = JSL (Battle_Swirl) | |
ROM[0xC0D28B] = JSL (Battle_Swirl) | |
//C2E8E0 | |
Battle_Swirl: { | |
REP (0x31) | |
PHD | |
TDC | |
ADC_i (0xFFE8) | |
TCD | |
LDA_i (0x0001) | |
STA_d (0x16) | |
LDA_i (0x0004) | |
STA_d (0x14) | |
STA_d (0x04) | |
LDY_i (0x0000) | |
STY_d (0x12) | |
LDA_a (0x4DBC) | |
BEQ_a (Battle_Swirl_Normal_1) | |
CMP_i (0x0001) | |
BEQ_a (Battle_Swirl_Normal_2) | |
CMP_i (0x0002) | |
BEQ_a (Battle_Swirl_Ambush) | |
BRA_a (Battle_Swirl_Boss) | |
Battle_Swirl_Normal_1: | |
LDX_i (0x00B0) //Song 0xB0, normal battle swirl | |
STX_d (0x10) | |
LDA_i (0x000E) | |
STA_d (0x02) | |
STA_d (0x0E) | |
BRA_a (Battle_Swirl_Boss) | |
Battle_Swirl_Normal_2: | |
LDX_i (0x00B0) //Song 0xB0, normal battle swirl | |
STX_d (0x10) | |
LDA_i (0x001C) | |
STA_d (0x14) | |
LDA_i (0x0005) | |
STA_d (0x04) | |
LDY_i (0x000C) | |
STY_d (0x12) | |
LDA_i (0x0006) | |
STA_d (0x02) | |
STA_d (0x0E) | |
BRA_a (Battle_Swirl_Boss) | |
Battle_Swirl_Ambush: | |
LDX_i (0x0009) //Song 0x09, ambushed battle swirl | |
STX_d (0x10) | |
STZ_d (0x14) | |
LDA_i (0x001F) | |
STA_d (0x04) | |
TAY | |
STY_d (0x12) | |
LDA_i (0x0006) | |
STA_d (0x02) | |
STA_d (0x0E) | |
Battle_Swirl_Boss: | |
LDA_a (0x4A8C) | |
CMP_i (0x01C0) //If enemy group number is less than 0x1C0 | |
BCC_a (Battle_Swirl_Music) //Jump to next part | |
LDA_i (0x0003) | |
STA_d (0x16) | |
LDA_i (0x000E) | |
STA_d (0x02) | |
STA_d (0x0E) | |
LDX_i (0x0008) //Song 0x08, boss battle swirl | |
STX_d (0x10) | |
Battle_Swirl_Music: | |
LDA_i (Battle_Swirl_Flag) | |
JSL (0xC21628) | |
CMP_i (0x0001) //Checks if flag is set | |
BEQ_a (Battle_Swirl_NoMusic) //If flag is set, skips muting the music | |
LDX_d (0x10) | |
TXA | |
JSL (0xC4FBBD) //Changes music | |
Battle_Swirl_NoMusic: | |
JSL (0xC04F47) | |
LDA_d (0x0E) | |
STA_d (0x02) | |
AND_i (0x0004) | |
BEQ_a (Battle_Swirl_1) | |
LDY_d (0x12) | |
LDX_d (0x04) | |
LDA_d (0x14) | |
JSL (0xC0B01A) | |
LDA_d (0x02) | |
AND_i (0x0008) | |
BEQ_a (Battle_Swirl_Colors) | |
//Setup colors 1 | |
LDX_i (0x00FF) | |
LDA_i (0x0010) | |
JSL (0xC0B039) | |
BRA_a (Battle_Swirl_1) | |
//Setup colors 2 | |
Battle_Swirl_Colors: | |
LDX_i (0x00BF) | |
LDA_i (0x0010) | |
JSL (0xC0B039) | |
Battle_Swirl_1: | |
LDY_i (0x001E) | |
LDX_d (0x02) | |
LDA_d (0x16) | |
JSL (0xC2E8C4) | |
LDA_d (0x02) | |
AND_i (0x0004) | |
BEQ_a (Battle_Swirl_2) | |
SEP (0x20) | |
LDA_8 (0x20) | |
STA_a (0xAEC8) | |
BRA_a (Battle_Swirl_Return) | |
Battle_Swirl_2: | |
SEP (0x20) | |
LDA_8 (0x0F) | |
STA_a (0xAEC8) | |
Battle_Swirl_Return: | |
STZ_a (0xAECB) | |
REP (0x20) | |
PLD | |
RTL | |
} | |
//Battle Swirl Mute | |
ROM[0xC0D6A4] = JSL (Battle_Swirl_Mute) | |
//C04A88 | |
Battle_Swirl_Mute: { | |
REP (0x31) | |
LDA_i (Battle_Swirl_Flag) | |
JSL (0xC21628) | |
CMP_i (0x0001) //Checks if flag is set | |
BNE_a (Battle_Mute_Orig) //If flag is set, skips muting the music | |
Battle_Mute_Skip: | |
LDA_i (0x000C) | |
STA_a (0x5D7C) | |
LDX_i (0x98A5) | |
LDA_x (0x0000) | |
STA_a (0x5D7A) | |
LDA_i (0x0003) | |
STA_x (0x0000) | |
LDA_i (0x0002) | |
BRA_a (Battle_Mute_End) | |
Battle_Mute_Orig: | |
LDA_i (0x000C) | |
STA_a (0x5D7C) | |
LDX_i (0x98A5) | |
LDA_x (0x0000) | |
STA_a (0x5D7A) | |
LDA_i (0x0003) | |
STA_x (0x0000) | |
LDA_i (0x0002) | |
JSL (0xC0AC0C) //Mutes music | |
Battle_Mute_End: | |
LDA_i (0x0001) | |
STA_a (0x5D98) | |
RTL | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment