Fix Graphical Corruption.
Also fix possible latent bug from lack of indoors checking.
This commit is contained in:
@@ -159,6 +159,7 @@ incsrc openmode.asm
|
|||||||
incsrc quickswap.asm
|
incsrc quickswap.asm
|
||||||
incsrc endingsequence.asm
|
incsrc endingsequence.asm
|
||||||
incsrc cuccostorm.asm
|
incsrc cuccostorm.asm
|
||||||
|
incsrc compression.asm
|
||||||
incsrc retro.asm
|
incsrc retro.asm
|
||||||
incsrc dpadinvert.asm
|
incsrc dpadinvert.asm
|
||||||
warnpc $A58000
|
warnpc $A58000
|
||||||
|
|||||||
29
compression.asm
Normal file
29
compression.asm
Normal file
@@ -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
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
@@ -2152,6 +2152,6 @@ Overworld_Entrance_BRANCH_RHO: ; branch here to continue into door
|
|||||||
;================================================================================
|
;================================================================================
|
||||||
; Paradox Cave Shopkeeper Fixes
|
; 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
|
JSL ParadoxCaveGfxFix
|
||||||
NOP
|
NOP
|
||||||
|
|||||||
@@ -827,30 +827,3 @@ RTS
|
|||||||
;dw 64, 56 : db $30, $02, $00, $00
|
;dw 64, 56 : db $30, $02, $00, $00
|
||||||
;dw 72, 56 : db $31, $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
|
|
||||||
;--------------------------------------------------------------------------------
|
|
||||||
|
|||||||
Reference in New Issue
Block a user