diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 3ed51ba..95a05ce 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -159,6 +159,7 @@ incsrc openmode.asm incsrc quickswap.asm incsrc endingsequence.asm incsrc cuccostorm.asm +incsrc compression.asm incsrc retro.asm incsrc dpadinvert.asm warnpc $A58000 diff --git a/compression.asm b/compression.asm new file mode 100644 index 0000000..454e96a --- /dev/null +++ b/compression.asm @@ -0,0 +1,29 @@ +;-------------------------------------------------------------------------------- +ParadoxCaveGfxFix: + ; Always upload line unless you're moving into paradox cave (0x0FF) from above (0x0EF) + LDA $1B : BEQ .uploadLine + LDX $A0 : CPX #$00FF : BNE .uploadLine + LDX $A2 : CPX #$00EF : BNE .uploadLine + + ;Ignore uploading four specific lines of tiles to VRAM + LDX $0118 + ; Line 1 + CPX #$1800 : BEQ .skipMostOfLine + ; Line 2 + CPX #$1A00 : BEQ .skipMostOfLine + ; Line 3 + CPX #$1C00 : BEQ .uploadLine + ; Line 4 + CPX #$1E00 : BEQ .uploadLine + +.uploadLine + LDA.b #$01 : STA $420B + +.skipLine + RTL + +.skipMostOfLine + ; Set line length to 192 bytes (the first 6 8x8 tiles in the line) + LDX.w #$00C0 : STX $4305 + BRA .uploadLine +;-------------------------------------------------------------------------------- diff --git a/hooks.asm b/hooks.asm index 48eac74..b9433ae 100644 --- a/hooks.asm +++ b/hooks.asm @@ -2152,6 +2152,6 @@ Overworld_Entrance_BRANCH_RHO: ; branch here to continue into door ;================================================================================ ; Paradox Cave Shopkeeper Fixes ;-------------------------------------------------------------------------------- -org $008C1B ; Bank00.asm@1633 (LDA.b #$01 : STA $420B) +org $008C19 ; Bank00.asm@1633 (LDA.b #$01 : STA $420B) JSL ParadoxCaveGfxFix NOP diff --git a/shopkeeper.asm b/shopkeeper.asm index 729b376..3150dfd 100644 --- a/shopkeeper.asm +++ b/shopkeeper.asm @@ -827,30 +827,3 @@ RTS ;dw 64, 56 : db $30, $02, $00, $00 ;dw 72, 56 : db $31, $02, $00, $00 ;-------------------------------------------------------------------------------- -ParadoxCaveGfxFix: - ; Always upload line unless you're moving into paradox cave (0x0FF) from above (0x0EF) - LDX $A0 : CPX #$00FF : BNE .uploadLine - LDX $A2 : CPX #$00EF : BNE .uploadLine - - ;Ignore uploading four specific lines of tiles to VRAM - LDX $0118 - ; Line 1 - CPX #$1800 : BEQ .skipMostOfLine - ; Line 2 - CPX #$1A00 : BEQ .skipMostOfLine - ; Line 3 - CPX #$1C00 : BEQ .uploadLine - ; Line 4 - CPX #$1E00 : BEQ .uploadLine - -.uploadLine - LDA.b #$01 : STA $420B - -.skipLine - RTL - -.skipMostOfLine - ; Set line length to 192 bytes (the first 6 8x8 tiles in the line) - LDX.w #$00C0 : STX $4305 - BRA .uploadLine -;--------------------------------------------------------------------------------