Fixed Apple GFX by using other VRAM slots in the rotation
This commit is contained in:
@@ -982,6 +982,9 @@ JSL.l ChestPrep
|
|||||||
NOP #3
|
NOP #3
|
||||||
db $90 ; !BCC .cantOpen
|
db $90 ; !BCC .cantOpen
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
org $008A9D
|
||||||
|
JSL ConditionalPushBlockTransfer : NOP
|
||||||
|
|
||||||
org $00D531 ; 5531 - Bank00.asm:3451 (LDY.b #$5D)
|
org $00D531 ; 5531 - Bank00.asm:3451 (LDY.b #$5D)
|
||||||
JML.l GetAnimatedSpriteGfxFile
|
JML.l GetAnimatedSpriteGfxFile
|
||||||
|
|
||||||
|
|||||||
@@ -71,6 +71,13 @@ RequestSlottedTile:
|
|||||||
++ LDA.b #!DynamicDropGFXSlotCount_OW
|
++ LDA.b #!DynamicDropGFXSlotCount_OW
|
||||||
+++ STA.w SprItemGFX,X
|
+++ STA.w SprItemGFX,X
|
||||||
JMP .success
|
JMP .success
|
||||||
|
+ CMP.b #$B1 : BNE + ; if apple, use apple OAM slot
|
||||||
|
LDA.b $1B : BEQ ++
|
||||||
|
LDA.b #!DynamicDropGFXSlotCount_UW
|
||||||
|
BRA +++
|
||||||
|
++ LDA.b #!DynamicDropGFXSlotCount_OW
|
||||||
|
+++ INC : STA.w SprItemGFX,X
|
||||||
|
JMP .success
|
||||||
+
|
+
|
||||||
|
|
||||||
PHA : PHX
|
PHA : PHX
|
||||||
@@ -194,16 +201,17 @@ FreeUWGraphics:
|
|||||||
dw $8840>>1
|
dw $8840>>1
|
||||||
dw $8980>>1
|
dw $8980>>1
|
||||||
; dw $9960>>1 ; Arghuss Splash apparently
|
; dw $9960>>1 ; Arghuss Splash apparently
|
||||||
; dw $9C00>>1
|
dw $9C00>>1
|
||||||
dw $9CA0>>1
|
; dw $9CA0>>1
|
||||||
dw $9DC0>>1
|
dw $9DC0>>1
|
||||||
.end
|
.end
|
||||||
|
|
||||||
FreeOWGraphics:
|
FreeOWGraphics:
|
||||||
|
dw $8180>>1 ; Push Block
|
||||||
;dw $8800>>1 ; Shovel Dirt
|
;dw $8800>>1 ; Shovel Dirt
|
||||||
dw $9960>>1 ; Arghuss/Zora Splash
|
dw $9960>>1 ; Arghuss/Zora Splash
|
||||||
dw $9C00>>1 ; Heart Piece
|
dw $9C00>>1 ; Heart Piece
|
||||||
dw $9CA0>>1 ; Apple
|
;dw $9CA0>>1 ; Apple
|
||||||
;dw $9DC0>>1 ; Whirlpool
|
;dw $9DC0>>1 ; Whirlpool
|
||||||
.end
|
.end
|
||||||
|
|
||||||
@@ -313,8 +321,8 @@ DynamicOAMTileUW_thin:
|
|||||||
dw 0, 0 : db $4C, $00, $20, $00
|
dw 0, 0 : db $4C, $00, $20, $00
|
||||||
dw 0, 8 : db $5C, $00, $20, $00
|
dw 0, 8 : db $5C, $00, $20, $00
|
||||||
|
|
||||||
dw 0, 0 : db $E5, $00, $20, $00
|
dw 0, 0 : db $E0, $00, $20, $00
|
||||||
dw 0, 8 : db $F5, $00, $20, $00
|
dw 0, 8 : db $F0, $00, $20, $00
|
||||||
|
|
||||||
dw 0, 0 : db $EE, $00, $20, $00
|
dw 0, 0 : db $EE, $00, $20, $00
|
||||||
dw 0, 8 : db $FE, $00, $20, $00
|
dw 0, 8 : db $FE, $00, $20, $00
|
||||||
@@ -340,7 +348,7 @@ DynamicOAMTileUW_full:
|
|||||||
dw -4, -1 : db $4C, $00, $20, $02
|
dw -4, -1 : db $4C, $00, $20, $02
|
||||||
dd 0, 0
|
dd 0, 0
|
||||||
|
|
||||||
dw -4, -1 : db $E5, $00, $20, $02
|
dw -4, -1 : db $E0, $00, $20, $02
|
||||||
dd 0, 0
|
dd 0, 0
|
||||||
|
|
||||||
dw -4, -1 : db $EE, $00, $20, $02
|
dw -4, -1 : db $EE, $00, $20, $02
|
||||||
@@ -351,7 +359,13 @@ DynamicOAMTileUW_full:
|
|||||||
dw -4, -1 : db $EA, $00, $20, $02 ; fairy
|
dw -4, -1 : db $EA, $00, $20, $02 ; fairy
|
||||||
dd 0, 0
|
dd 0, 0
|
||||||
|
|
||||||
|
dw -4, -1 : db $E5, $00, $20, $02 ; apple
|
||||||
|
dd 0, 0
|
||||||
|
|
||||||
DynamicOAMTileOW_thin:
|
DynamicOAMTileOW_thin:
|
||||||
|
dw 0, 0 : db $0C, $00, $20, $00
|
||||||
|
dw 0, 8 : db $1C, $00, $20, $00
|
||||||
|
|
||||||
; dw 0, 0 : db $40, $00, $20, $00
|
; dw 0, 0 : db $40, $00, $20, $00
|
||||||
; dw 0, 8 : db $50, $00, $20, $00
|
; dw 0, 8 : db $50, $00, $20, $00
|
||||||
|
|
||||||
@@ -361,8 +375,8 @@ DynamicOAMTileOW_thin:
|
|||||||
dw 0, 0 : db $E0, $00, $20, $00
|
dw 0, 0 : db $E0, $00, $20, $00
|
||||||
dw 0, 8 : db $F0, $00, $20, $00
|
dw 0, 8 : db $F0, $00, $20, $00
|
||||||
|
|
||||||
dw 0, 0 : db $E5, $00, $20, $00
|
;dw 0, 0 : db $E5, $00, $20, $00
|
||||||
dw 0, 8 : db $F5, $00, $20, $00
|
;dw 0, 8 : db $F5, $00, $20, $00
|
||||||
|
|
||||||
;dw 0, 0 : db $EE, $00, $20, $00
|
;dw 0, 0 : db $EE, $00, $20, $00
|
||||||
;dw 0, 8 : db $FE, $00, $20, $00
|
;dw 0, 8 : db $FE, $00, $20, $00
|
||||||
@@ -379,6 +393,9 @@ DynamicOAMTileOW_thin:
|
|||||||
dw 0, 8 : db $F4, $00, $20, $00
|
dw 0, 8 : db $F4, $00, $20, $00
|
||||||
|
|
||||||
DynamicOAMTileOW_full:
|
DynamicOAMTileOW_full:
|
||||||
|
dw 0, 0 : db $0C, $00, $20, $02
|
||||||
|
dd 0, 0
|
||||||
|
|
||||||
; dw 0, 0 : db $40, $00, $20, $02
|
; dw 0, 0 : db $40, $00, $20, $02
|
||||||
; dd 0, 0
|
; dd 0, 0
|
||||||
|
|
||||||
@@ -388,8 +405,8 @@ DynamicOAMTileOW_full:
|
|||||||
dw 0, 0 : db $E0, $00, $20, $02
|
dw 0, 0 : db $E0, $00, $20, $02
|
||||||
dd 0, 0
|
dd 0, 0
|
||||||
|
|
||||||
dw 0, 0 : db $E5, $00, $20, $02
|
;dw 0, 0 : db $E5, $00, $20, $02
|
||||||
dd 0, 0
|
;dd 0, 0
|
||||||
|
|
||||||
;dw 0, 0 : db $EE, $00, $20, $02
|
;dw 0, 0 : db $EE, $00, $20, $02
|
||||||
;dd 0, 0
|
;dd 0, 0
|
||||||
@@ -399,3 +416,15 @@ DynamicOAMTileOW_full:
|
|||||||
dw 0, 0 : db $EA, $00, $20, $02 ; fairy
|
dw 0, 0 : db $EA, $00, $20, $02 ; fairy
|
||||||
dd 0, 0
|
dd 0, 0
|
||||||
|
|
||||||
|
dw 0, 0 : db $E5, $00, $20, $02 ; apple
|
||||||
|
dd 0, 0
|
||||||
|
|
||||||
|
ConditionalPushBlockTransfer:
|
||||||
|
LDA.b $1B : BNE +
|
||||||
|
LDA.b #$0F ; don't transfer push block when on the OW
|
||||||
|
BRA .return-3
|
||||||
|
+
|
||||||
|
LDA.b #$1F : STA.w $420B ; what we wrote over
|
||||||
|
.return
|
||||||
|
RTL
|
||||||
|
|
||||||
|
|||||||
@@ -87,6 +87,9 @@ GetAnimatedSpriteGfxFile:
|
|||||||
CMP.b #$4B : BNE +
|
CMP.b #$4B : BNE +
|
||||||
LDY.b #$50 : JML GetAnimatedSpriteGfxFile_return
|
LDY.b #$50 : JML GetAnimatedSpriteGfxFile_return
|
||||||
+
|
+
|
||||||
|
CMP.b #$4C : BNE +
|
||||||
|
LDY.b #$5E : JML GetAnimatedSpriteGfxFile_return
|
||||||
|
+
|
||||||
|
|
||||||
CMP.b #$24 : !BGE +
|
CMP.b #$24 : !BGE +
|
||||||
LDY.b #$5B : JML GetAnimatedSpriteGfxFile_return
|
LDY.b #$5B : JML GetAnimatedSpriteGfxFile_return
|
||||||
@@ -127,6 +130,8 @@ dw $09C0 ; Clock
|
|||||||
dw $0A20 ; Triforce
|
dw $0A20 ; Triforce
|
||||||
dw $0A50 ; Power Star
|
dw $0A50 ; Power Star
|
||||||
dw $09F0 ; Chicken
|
dw $09F0 ; Chicken
|
||||||
|
dw $09C0 ; Fairy ($09F0 if using uncompressed version)
|
||||||
|
dw $0988 ; Apple
|
||||||
|
|
||||||
GetAnimatedSpriteBufferPointer:
|
GetAnimatedSpriteBufferPointer:
|
||||||
;PHB : PHK : PLB
|
;PHB : PHK : PLB
|
||||||
|
|||||||
@@ -816,6 +816,7 @@ Shopkeeper_DrawNextItem:
|
|||||||
CMP.b #$2E : BNE + : JMP .potion
|
CMP.b #$2E : BNE + : JMP .potion
|
||||||
+ CMP.b #$2F : BNE + : JMP .potion
|
+ CMP.b #$2F : BNE + : JMP .potion
|
||||||
+ CMP.b #$30 : BNE + : JMP .potion
|
+ CMP.b #$30 : BNE + : JMP .potion
|
||||||
|
+ CMP.b #$B1 : BNE + : BRA .apple
|
||||||
+ CMP.b #$B2 : BNE + : BRA .fairy
|
+ CMP.b #$B2 : BNE + : BRA .fairy
|
||||||
+ CMP.b #$B5 : BNE + : BRA .goodbee
|
+ CMP.b #$B5 : BNE + : BRA .goodbee
|
||||||
+ CMP.b #$34 : BCC + : CMP.b #$36+1 : BCS +
|
+ CMP.b #$34 : BCC + : CMP.b #$36+1 : BCS +
|
||||||
@@ -857,6 +858,10 @@ Shopkeeper_DrawNextItem:
|
|||||||
LDA.b #$E4 ; good bee is #$E4/D4 because it's already there in VRAM
|
LDA.b #$E4 ; good bee is #$E4/D4 because it's already there in VRAM
|
||||||
STA.b $0E
|
STA.b $0E
|
||||||
BRA .vramLoc
|
BRA .vramLoc
|
||||||
|
.apple
|
||||||
|
LDA.b #$E5 ; apple is #$E5 because it's already there in VRAM
|
||||||
|
STA.b $0E
|
||||||
|
BRA .vramLoc
|
||||||
.potion
|
.potion
|
||||||
LDA.b #$C0 ; potion is #$C0 because it's already there in VRAM
|
LDA.b #$C0 ; potion is #$C0 because it's already there in VRAM
|
||||||
+
|
+
|
||||||
|
|||||||
@@ -155,8 +155,8 @@ RTL
|
|||||||
|
|
||||||
;Bx
|
;Bx
|
||||||
db $2C ; Bee Trap
|
db $2C ; Bee Trap
|
||||||
db $4A ; Apples
|
db $4D ; Apples
|
||||||
db $4A ; Fairy
|
db $4C ; Fairy
|
||||||
db $4B ; Chicken
|
db $4B ; Chicken
|
||||||
db $3B ; Big Magic
|
db $3B ; Big Magic
|
||||||
db $4A ; Good Bee
|
db $4A ; Good Bee
|
||||||
@@ -291,7 +291,7 @@ RTL
|
|||||||
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Big Key
|
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Big Key
|
||||||
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Small Key
|
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Small Key
|
||||||
db $04 ; Bee Trap
|
db $04 ; Bee Trap
|
||||||
db $08 ; Apples
|
db $02 ; Apples
|
||||||
db $08 ; Fairy
|
db $08 ; Fairy
|
||||||
db $02 ; Chicken
|
db $02 ; Chicken
|
||||||
db $08 ; Big Magic
|
db $08 ; Big Magic
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ ZoraSplashGfxFix:
|
|||||||
; below should be set to the index used for Arrghus/Zora Splash
|
; below should be set to the index used for Arrghus/Zora Splash
|
||||||
; FreeOWGraphics in dynamic_si_vram.asm, whatever index is $9960
|
; FreeOWGraphics in dynamic_si_vram.asm, whatever index is $9960
|
||||||
; this makes it so the first gfx that is loading is AFTER the splash
|
; this makes it so the first gfx that is loading is AFTER the splash
|
||||||
LDA.b #$00 : STA.w DynamicDropGFXIndex
|
LDA.b #$01 : STA.w DynamicDropGFXIndex
|
||||||
JSL LoadCommonSprites_long
|
JSL LoadCommonSprites_long
|
||||||
REP #$30 : PLY : PLX : PLA
|
REP #$30 : PLY : PLX : PLA
|
||||||
RTL
|
RTL
|
||||||
|
|||||||
Reference in New Issue
Block a user