Add static file name feature by special request

Move compass count ram init to compasses.asm
Rename WRAMEquipment and SRAMEquipment to EquipmentWRAM/SRAM
This commit is contained in:
cassidoxa
2022-02-02 16:51:50 -05:00
parent b91ac58b47
commit c048589c02
10 changed files with 124 additions and 81 deletions

View File

@@ -580,6 +580,13 @@ OverworldMap_DarkWorldTilemap:
org $0ABAB9 org $0ABAB9
OverworldMap_LoadSprGfx: OverworldMap_LoadSprGfx:
org $0CD7D1
NameFile_MakeScreenVisible:
org $0CDB3E
InitializeSaveFile:
org $0CDB3E
InitializeSaveFile_build_checksum:
org $0DBA71 org $0DBA71
GetRandomInt: GetRandomInt:

View File

@@ -63,7 +63,7 @@ RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
;ReadInventoryPond: ;ReadInventoryPond:
; CPX.b #$1B : BNE + : LDA.b #$01 : RTL : + ; CPX.b #$1B : BNE + : LDA.b #$01 : RTL : +
; LDA WRAMEquipment, X ; LDA EquipmentWRAM, X
;RTL ;RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

View File

@@ -55,7 +55,15 @@ RTL
DungeonItemMasks: ; these are dungeon correlations to $7EF364 - $7EF369 so it knows where to store compasses, etc DungeonItemMasks: ; these are dungeon correlations to $7EF364 - $7EF369 so it knows where to store compasses, etc
dw $8000, $4000, $2000, $1000, $0800, $0400, $0200, $0100 dw $8000, $4000, $2000, $1000, $0800, $0400, $0200, $0100
dw $0080, $0040, $0020, $0010, $0008, $0004 dw $0080, $0040, $0020, $0010, $0008, $0004
;--------------------------------------------------------------------------------
InitCompassTotalsRAM:
LDX #$00
-
LDA CompassTotalsROM, X : STA CompassTotalsWRAM, X
INX
CPX #$0F : !BLT -
RTL
;CompassCountDungeonHandlers: ; pointers to functions that handle dungeon-specific code ;CompassCountDungeonHandlers: ; pointers to functions that handle dungeon-specific code
; dw CompassCount_Escape, CompassCount_Escape ; (hyrule castle, sewers) ; dw CompassCount_Escape, CompassCount_Escape ; (hyrule castle, sewers)
; dw CompassCount_Eastern, CompassCount_Desert, CompassCount_Agah ; dw CompassCount_Eastern, CompassCount_Desert, CompassCount_Agah

View File

@@ -86,8 +86,8 @@ OnAga2Defeated:
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
OnFileCreation: OnFileCreation:
TAX ; what we wrote over TAX ; what we wrote over
LDA StartingEquipment+$4C : STA SRAMEquipment+$4C ; copy starting equipment swaps to file select screen LDA StartingEquipment+$4C : STA EquipmentSRAM+$4C ; copy starting equipment swaps to file select screen
LDA StartingEquipment+$4E : STA SRAMEquipment+$4E LDA StartingEquipment+$4E : STA EquipmentSRAM+$4E
RTL RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
!RNG_ITEM_LOCK_IN = "$7F5090" !RNG_ITEM_LOCK_IN = "$7F5090"
@@ -132,7 +132,7 @@ OnNewFile:
LDA.l StartingTime+2 : STA ChallengeTimer+2 LDA.l StartingTime+2 : STA ChallengeTimer+2
LDX.w #$004E : - ; copy over starting equipment LDX.w #$004E : - ; copy over starting equipment
LDA StartingEquipment, X : STA WRAMEquipment, X LDA StartingEquipment, X : STA EquipmentWRAM, X
DEX : DEX DEX : DEX
BPL - BPL -

View File

@@ -153,15 +153,15 @@ DrawPlayerFileShared:
JSR FileSelectDrawHudBar JSR FileSelectDrawHudBar
; Bow ; Bow
LDA.l BowTracking : AND.w #$0040 : BEQ + LDA.l BowTrackingSRAM : AND.w #$0040 : BEQ +
LDA SRAMEquipment : AND.w #$00FF : BEQ ++ LDA EquipmentSRAM+$00 : AND.w #$00FF : BEQ ++
%fs_drawItem(3,12,FileSelectItems_silver_bow) %fs_drawItem(3,12,FileSelectItems_silver_bow)
BRA .bow_end BRA .bow_end
++ ++
%fs_drawItem(3,12,FileSelectItems_silver_arrow) %fs_drawItem(3,12,FileSelectItems_silver_arrow)
BRA .bow_end BRA .bow_end
+ +
LDA.l SRAMEquipment : AND.w #$00FF : BEQ + LDA.l EquipmentSRAM : AND.w #$00FF : BEQ +
%fs_drawItem(3,12,FileSelectItems_bow) %fs_drawItem(3,12,FileSelectItems_bow)
BRA .bow_end BRA .bow_end
+ +
@@ -169,15 +169,15 @@ DrawPlayerFileShared:
.bow_end .bow_end
; Boomerang ; Boomerang
LDA.l InventoryTracking : AND.w #$00C0 : CMP.w #$00C0 : BNE + LDA.l InventoryTrackingSRAM : AND.w #$00C0 : CMP.w #$00C0 : BNE +
%fs_drawItem(3,14,FileSelectItems_both_boomerang) %fs_drawItem(3,14,FileSelectItems_both_boomerang)
BRA .boomerang_end BRA .boomerang_end
+ +
LDA.l InventoryTracking : AND.w #$0040 : BEQ + LDA.l InventoryTrackingSRAM : AND.w #$0040 : BEQ +
%fs_drawItem(3,14,FileSelectItems_red_boomerang) %fs_drawItem(3,14,FileSelectItems_red_boomerang)
BRA .boomerang_end BRA .boomerang_end
+ +
LDA.l InventoryTracking : AND.w #$0080 : BEQ + LDA.l InventoryTrackingSRAM : AND.w #$0080 : BEQ +
%fs_drawItem(3,14,FileSelectItems_blue_boomerang) %fs_drawItem(3,14,FileSelectItems_blue_boomerang)
BRA .boomerang_end BRA .boomerang_end
+ +
@@ -185,13 +185,13 @@ DrawPlayerFileShared:
.boomerang_end .boomerang_end
; Hookshot ; Hookshot
%fs_drawItemBasic(SRAMEquipment+$02,3,16,FileSelectItems_hookshot) %fs_drawItemBasic(EquipmentSRAM+$02,3,16,FileSelectItems_hookshot)
; Bombs ; Bombs
; %fs_drawItemBasic(SRAMEquipment+$03,3,18,FileSelectItems_bombs) ; %fs_drawItemBasic(EquipmentSRAM+$03,3,18,FileSelectItems_bombs)
; Powder ; Powder
LDA.l InventoryTracking : AND.w #$0010 : BEQ + LDA.l InventoryTrackingSRAM : AND.w #$0010 : BEQ +
%fs_drawItem(3,20,FileSelectItems_powder) %fs_drawItem(3,20,FileSelectItems_powder)
BRA ++ BRA ++
+ +
@@ -199,7 +199,7 @@ DrawPlayerFileShared:
++ ++
; Mushroom ; Mushroom
LDA.l InventoryTracking : AND.w #$0008 : BEQ + LDA.l InventoryTrackingSRAM : AND.w #$0008 : BEQ +
%fs_drawItem(3,18,FileSelectItems_mushroom) %fs_drawItem(3,18,FileSelectItems_mushroom)
BRA ++ BRA ++
+ +
@@ -207,7 +207,7 @@ DrawPlayerFileShared:
++ ++
; Flute ; Flute
LDA.l InventoryTracking : AND.w #$0003 : BEQ + LDA.l InventoryTrackingSRAM : AND.w #$0003 : BEQ +
%fs_drawItem(7,16,FileSelectItems_flute) %fs_drawItem(7,16,FileSelectItems_flute)
BRA ++ BRA ++
+ +
@@ -215,7 +215,7 @@ DrawPlayerFileShared:
++ ++
; Shovel ; Shovel
LDA.l InventoryTracking : AND.w #$0004 : BEQ + LDA.l InventoryTrackingSRAM : AND.w #$0004 : BEQ +
%fs_drawItem(9,12,FileSelectItems_shovel) %fs_drawItem(9,12,FileSelectItems_shovel)
BRA ++ BRA ++
+ +
@@ -223,52 +223,52 @@ DrawPlayerFileShared:
++ ++
; Fire Rod ; Fire Rod
%fs_drawItemBasic(SRAMEquipment+$05,5,12,FileSelectItems_fire_rod) %fs_drawItemBasic(EquipmentSRAM+$05,5,12,FileSelectItems_fire_rod)
; Ice Rod ; Ice Rod
%fs_drawItemBasic(SRAMEquipment+$06,5,14,FileSelectItems_ice_rod) %fs_drawItemBasic(EquipmentSRAM+$06,5,14,FileSelectItems_ice_rod)
; Bombos Medallion ; Bombos Medallion
%fs_drawItemBasic(SRAMEquipment+$07,5,16,FileSelectItems_bombos) %fs_drawItemBasic(EquipmentSRAM+$07,5,16,FileSelectItems_bombos)
; Ether Medallion ; Ether Medallion
%fs_drawItemBasic(SRAMEquipment+$08,5,18,FileSelectItems_ether) %fs_drawItemBasic(EquipmentSRAM+$08,5,18,FileSelectItems_ether)
; Quake Medallion ; Quake Medallion
%fs_drawItemBasic(SRAMEquipment+$09,5,20,FileSelectItems_quake) %fs_drawItemBasic(EquipmentSRAM+$09,5,20,FileSelectItems_quake)
; Lamp ; Lamp
%fs_drawItemBasic(SRAMEquipment+$0A,7,12,FileSelectItems_lamp) %fs_drawItemBasic(EquipmentSRAM+$0A,7,12,FileSelectItems_lamp)
; Hammer ; Hammer
%fs_drawItemBasic(SRAMEquipment+$0B,7,14,FileSelectItems_hammer) %fs_drawItemBasic(EquipmentSRAM+$0B,7,14,FileSelectItems_hammer)
; Bug Net ; Bug Net
%fs_drawItemBasic(SRAMEquipment+$0D,7,18,FileSelectItems_bugnet) %fs_drawItemBasic(EquipmentSRAM+$0D,7,18,FileSelectItems_bugnet)
; Book of Mudora ; Book of Mudora
%fs_drawItemBasic(SRAMEquipment+$0E,7,20,FileSelectItems_book) %fs_drawItemBasic(EquipmentSRAM+$0E,7,20,FileSelectItems_book)
; Red Cane ; Red Cane
%fs_drawItemBasic(SRAMEquipment+$10,9,14,FileSelectItems_redcane) %fs_drawItemBasic(EquipmentSRAM+$10,9,14,FileSelectItems_redcane)
; Blue Cane ; Blue Cane
%fs_drawItemBasic(SRAMEquipment+$11,9,16,FileSelectItems_bluecane) %fs_drawItemBasic(EquipmentSRAM+$11,9,16,FileSelectItems_bluecane)
; Cape ; Cape
%fs_drawItemBasic(SRAMEquipment+$12,9,18,FileSelectItems_cape) %fs_drawItemBasic(EquipmentSRAM+$12,9,18,FileSelectItems_cape)
; Mirror ; Mirror
%fs_drawItemBasic(SRAMEquipment+$13,9,20,FileSelectItems_mirror) %fs_drawItemBasic(EquipmentSRAM+$13,9,20,FileSelectItems_mirror)
; Bottles ; Bottles
%fs_drawBottle(SRAMEquipment+$1C,3,23) %fs_drawBottle(EquipmentSRAM+$1C,3,23)
%fs_drawBottle(SRAMEquipment+$1D,5,23) %fs_drawBottle(EquipmentSRAM+$1D,5,23)
%fs_drawBottle(SRAMEquipment+$1E,7,23) %fs_drawBottle(EquipmentSRAM+$1E,7,23)
%fs_drawBottle(SRAMEquipment+$1F,9,23) %fs_drawBottle(EquipmentSRAM+$1F,9,23)
; Sword ; Sword
LDA.l SRAMEquipment+$19 : AND.w #$00FF : BNE + LDA.l EquipmentSRAM+$19 : AND.w #$00FF : BNE +
%fs_drawItemGray(3,26,FileSelectItems_fighters_sword) %fs_drawItemGray(3,26,FileSelectItems_fighters_sword)
BRA ++ BRA ++
+ : DEC : BNE + + : DEC : BNE +
@@ -289,7 +289,7 @@ DrawPlayerFileShared:
++ ++
; Shield ; Shield
LDA.l SRAMEquipment+$1A : AND.w #$00FF : BNE + LDA.l EquipmentSRAM+$1A : AND.w #$00FF : BNE +
%fs_drawItemGray(5,26,FileSelectItems_fighters_shield) %fs_drawItemGray(5,26,FileSelectItems_fighters_shield)
BRA ++ BRA ++
+ : DEC : BNE + + : DEC : BNE +
@@ -303,7 +303,7 @@ DrawPlayerFileShared:
++ ++
; Mail ; Mail
LDA.l SRAMEquipment+$1B : AND.w #$00FF : BNE + LDA.l EquipmentSRAM+$1B : AND.w #$00FF : BNE +
%fs_drawItem(7,26,FileSelectItems_green_mail) %fs_drawItem(7,26,FileSelectItems_green_mail)
BRA ++ BRA ++
+ : DEC : BNE + + : DEC : BNE +
@@ -314,7 +314,7 @@ DrawPlayerFileShared:
++ ++
; Heart Pieces ; Heart Pieces
LDA.l SRAMEquipment+$2B : AND.w #$00FF : BNE + LDA.l EquipmentSRAM+$2B : AND.w #$00FF : BNE +
%fs_drawItem(9,26,FileSelectItems_heart_piece_0_of_4) %fs_drawItem(9,26,FileSelectItems_heart_piece_0_of_4)
BRA ++ BRA ++
+ : DEC : BNE + + : DEC : BNE +
@@ -327,16 +327,16 @@ DrawPlayerFileShared:
%fs_drawItem(9,26,FileSelectItems_heart_piece_3_of_4) %fs_drawItem(9,26,FileSelectItems_heart_piece_3_of_4)
++ ++
LDA SRAMEquipment+$0108 : AND.w #$00FF LDA EquipmentSRAM+$0108 : AND.w #$00FF
JSL.l HexToDec JSL.l HexToDec
LDA $7F5006 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(11,26) LDA $7F5006 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(11,26)
LDA $7F5007 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(11,27) LDA $7F5007 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(11,27)
; Boots ; Boots
%fs_drawItemBasic(SRAMEquipment+$15,3,28,FileSelectItems_boots) %fs_drawItemBasic(EquipmentSRAM+$15,3,28,FileSelectItems_boots)
; Gloves ; Gloves
LDA.l SRAMEquipment+$14 : AND.w #$00FF : BNE + LDA.l EquipmentSRAM+$14 : AND.w #$00FF : BNE +
%fs_drawItemGray(5,28,FileSelectItems_gloves) %fs_drawItemGray(5,28,FileSelectItems_gloves)
BRA ++ BRA ++
+ : DEC : BNE + + : DEC : BNE +
@@ -347,27 +347,27 @@ DrawPlayerFileShared:
++ ++
; Flippers ; Flippers
%fs_drawItemBasic(SRAMEquipment+$16,7,28,FileSelectItems_flippers) %fs_drawItemBasic(EquipmentSRAM+$16,7,28,FileSelectItems_flippers)
; Moon Pearl ; Moon Pearl
%fs_drawItemBasic(SRAMEquipment+$17,9,28,FileSelectItems_pearl) %fs_drawItemBasic(EquipmentSRAM+$17,9,28,FileSelectItems_pearl)
; Pendants ; Pendants
LDA SRAMEquipment+$34 : AND.w #$0004 : BEQ + LDA EquipmentSRAM+$34 : AND.w #$0004 : BEQ +
%fs_drawItem(12,12,FileSelectItems_green_pendant) %fs_drawItem(12,12,FileSelectItems_green_pendant)
BRA ++ BRA ++
+ +
%fs_drawItem(12,12,FileSelectItems_no_pendant) %fs_drawItem(12,12,FileSelectItems_no_pendant)
++ ++
LDA SRAMEquipment+$34 : AND.w #$0002 : BEQ + LDA EquipmentSRAM+$34 : AND.w #$0002 : BEQ +
%fs_drawItem(12,14,FileSelectItems_blue_pendant) %fs_drawItem(12,14,FileSelectItems_blue_pendant)
BRA ++ BRA ++
+ +
%fs_drawItem(12,14,FileSelectItems_no_pendant) %fs_drawItem(12,14,FileSelectItems_no_pendant)
++ ++
LDA SRAMEquipment+$34 : AND.w #$0001 : BEQ + LDA EquipmentSRAM+$34 : AND.w #$0001 : BEQ +
%fs_drawItem(12,16,FileSelectItems_red_pendant) %fs_drawItem(12,16,FileSelectItems_red_pendant)
BRA ++ BRA ++
+ +
@@ -375,49 +375,49 @@ DrawPlayerFileShared:
++ ++
; Crystals ; Crystals
LDA SRAMEquipment+$3A : AND.w #$0002 : BEQ + LDA EquipmentSRAM+$3A : AND.w #$0002 : BEQ +
LDA.w #$0297|!FS_COLOR_BLUE LDA.w #$0297|!FS_COLOR_BLUE
BRA ++ BRA ++
+ +
LDA.w #$0287|!FS_COLOR_GRAY LDA.w #$0287|!FS_COLOR_GRAY
++ : %fs_draw16x8(13,18) ++ : %fs_draw16x8(13,18)
LDA SRAMEquipment+$3A : AND.w #$0010 : BEQ + LDA EquipmentSRAM+$3A : AND.w #$0010 : BEQ +
LDA.w #$0297|!FS_COLOR_BLUE LDA.w #$0297|!FS_COLOR_BLUE
BRA ++ BRA ++
+ +
LDA.w #$0287|!FS_COLOR_GRAY LDA.w #$0287|!FS_COLOR_GRAY
++ : %fs_draw16x8(12,19) ++ : %fs_draw16x8(12,19)
LDA SRAMEquipment+$3A : AND.w #$0040 : BEQ + LDA EquipmentSRAM+$3A : AND.w #$0040 : BEQ +
LDA.w #$0297|!FS_COLOR_BLUE LDA.w #$0297|!FS_COLOR_BLUE
BRA ++ BRA ++
+ +
LDA.w #$0287|!FS_COLOR_GRAY LDA.w #$0287|!FS_COLOR_GRAY
++ : %fs_draw16x8(13,20) ++ : %fs_draw16x8(13,20)
LDA SRAMEquipment+$3A : AND.w #$0020 : BEQ + LDA EquipmentSRAM+$3A : AND.w #$0020 : BEQ +
LDA.w #$0297|!FS_COLOR_BLUE LDA.w #$0297|!FS_COLOR_BLUE
BRA ++ BRA ++
+ +
LDA.w #$0287|!FS_COLOR_GRAY LDA.w #$0287|!FS_COLOR_GRAY
++ : %fs_draw16x8(12,21) ++ : %fs_draw16x8(12,21)
LDA SRAMEquipment+$3A : AND.w #$0004 : BEQ + LDA EquipmentSRAM+$3A : AND.w #$0004 : BEQ +
LDA.w #$0297|!FS_COLOR_RED LDA.w #$0297|!FS_COLOR_RED
BRA ++ BRA ++
+ +
LDA.w #$0287|!FS_COLOR_GRAY LDA.w #$0287|!FS_COLOR_GRAY
++ : %fs_draw16x8(13,22) ++ : %fs_draw16x8(13,22)
LDA SRAMEquipment+$3A : AND.w #$0001 : BEQ + LDA EquipmentSRAM+$3A : AND.w #$0001 : BEQ +
LDA.w #$0297|!FS_COLOR_RED LDA.w #$0297|!FS_COLOR_RED
BRA ++ BRA ++
+ +
LDA.w #$0287|!FS_COLOR_GRAY LDA.w #$0287|!FS_COLOR_GRAY
++ : %fs_draw16x8(12,23) ++ : %fs_draw16x8(12,23)
LDA SRAMEquipment+$3A : AND.w #$0008 : BEQ + LDA EquipmentSRAM+$3A : AND.w #$0008 : BEQ +
LDA.w #$0297|!FS_COLOR_BLUE LDA.w #$0297|!FS_COLOR_BLUE
BRA ++ BRA ++
+ +
@@ -559,7 +559,7 @@ FileSelectItems:
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
FileSelectDrawHudBar: FileSelectDrawHudBar:
LDA #$029B|!FS_COLOR_GREEN : %fs_draw16x8(0,10) LDA #$029B|!FS_COLOR_GREEN : %fs_draw16x8(0,10)
LDA SRAMEquipment+$22 LDA EquipmentSRAM+$22
JSL.l HexToDec JSL.l HexToDec
LDA $7F5004 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,9) LDA $7F5004 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,9)
LDA $7F5005 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,10) LDA $7F5005 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,10)
@@ -567,18 +567,18 @@ FileSelectDrawHudBar:
LDA $7F5007 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,12) LDA $7F5007 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,12)
LDA #$028B|!FS_COLOR_BLUE : %fs_draw16x8(0,14) LDA #$028B|!FS_COLOR_BLUE : %fs_draw16x8(0,14)
LDA SRAMEquipment+$03 : AND.w #$00FF LDA EquipmentSRAM+$03 : AND.w #$00FF
JSL.l HexToDec JSL.l HexToDec
LDA $7F5006 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,14) LDA $7F5006 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,14)
LDA $7F5007 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,15) LDA $7F5007 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,15)
LDA.l BowTracking : AND.w #$0040 : BEQ + LDA.l BowTrackingSRAM : AND.w #$0040 : BEQ +
LDA #$0299|!FS_COLOR_RED : %fs_draw16x8(0,17) LDA #$0299|!FS_COLOR_RED : %fs_draw16x8(0,17)
BRA ++ BRA ++
+ +
LDA #$0289|!FS_COLOR_BROWN : %fs_draw16x8(0,17) LDA #$0289|!FS_COLOR_BROWN : %fs_draw16x8(0,17)
++ ++
LDA SRAMEquipment+$37 : AND.w #$00FF LDA EquipmentSRAM+$37 : AND.w #$00FF
JSL.l HexToDec JSL.l HexToDec
LDA $7F5006 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,17) LDA $7F5006 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,17)
LDA $7F5007 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,18) LDA $7F5007 : AND.w #$00FF : !ADD.w #$210+!FS_COLOR_BW : %fs_draw8x8(1,18)
@@ -787,16 +787,16 @@ DrawPlayerFile_credits:
; see $6563C for drawing first file name and hearts ; see $6563C for drawing first file name and hearts
REP #$20 ; set 16 bit accumulator REP #$20 ; set 16 bit accumulator
LDA SRAMEquipment+$99 : ORA.w #!FS_COLOR_BW LDA EquipmentSRAM+$99 : ORA.w #!FS_COLOR_BW
%fs_draw8x16(3,5) %fs_draw8x16(3,5)
LDA SRAMEquipment+$9B : ORA.w #!FS_COLOR_BW LDA EquipmentSRAM+$9B : ORA.w #!FS_COLOR_BW
%fs_draw8x16(3,6) %fs_draw8x16(3,6)
LDA SRAMEquipment+$9D : ORA.w #!FS_COLOR_BW LDA EquipmentSRAM+$9D : ORA.w #!FS_COLOR_BW
%fs_draw8x16(3,7) %fs_draw8x16(3,7)
LDA SRAMEquipment+$9F : ORA.w #!FS_COLOR_BW LDA EquipmentSRAM+$9F : ORA.w #!FS_COLOR_BW
%fs_draw8x16(3,8) %fs_draw8x16(3,8)
LDA SRAMEquipment+$2C : AND.w #$00FF : LSR #3 : STA $02 LDA EquipmentSRAM+$2C : AND.w #$00FF : LSR #3 : STA $02
%fs_LDY_screenpos(0,20) %fs_LDY_screenpos(0,20)
LDA.w #$028F|!FS_COLOR_RED LDA.w #$028F|!FS_COLOR_RED
LDX.w #$000A LDX.w #$000A
@@ -866,3 +866,21 @@ JML FSSelectFile_continue
LDA.b #$3C : STA $012E ; play error sound LDA.b #$3C : STA $012E ; play error sound
JML FSSelectFile_return JML FSSelectFile_return
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
MaybeForceFileName:
LDA.l ForceFileName : BEQ +
REP #$20
LDX.b #$FE
-
INX : INX
LDA.l StaticFileName, X : STA.l ExtendedFileNameSRAM, X
CPX #$16 : BEQ .done
CPX #$08 : BCS -
STA.l FileNameVanillaSRAM, X
BRA -
.done
SEP #$20
JML.l InitializeSaveFile
+
JML.l NameFile_MakeScreenVisible
;--------------------------------------------------------------------------------

View File

@@ -214,6 +214,8 @@ LDA.l HeartCursorPositions, X
org $0CDAEB ; <- 65AEB : Bank0C.asm : 3571-3575,3581-3587 (...) [LDA $0B12 : AND #$03] org $0CDAEB ; <- 65AEB : Bank0C.asm : 3571-3575,3581-3587 (...) [LDA $0B12 : AND #$03]
; JP here is different. Indicated line number implement the US version of the same functionality ; JP here is different. Indicated line number implement the US version of the same functionality
JSL.l WrapCharacterPosition : NOP JSL.l WrapCharacterPosition : NOP
org $0CD75E ; bank_0C.asm (dl NameFile_MakeScreenVisible)
dl MaybeForceFileName
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $0CE43A ; No assembly source. Makes name entry box wider org $0CE43A ; No assembly source. Makes name entry box wider
db $2C db $2C

View File

@@ -67,15 +67,6 @@ Init_PostRAMClear:
JSL MSUInit JSL MSUInit
JSL InitRNGPointerTable JSL InitRNGPointerTable
JSR InitCompassTotalsRAM JSL InitCompassTotalsRAM
JML $00D463 ; The original target of the jump table that we hijacked JML $00D463 ; The original target of the jump table that we hijacked
;--------------------------------------------------------------------------------
InitCompassTotalsRAM:
LDX #$00
-
LDA CompassTotalsROM, X : STA CompassTotalsWRAM, X
INX
CPX #$0F : !BLT -
RTS

View File

@@ -5,7 +5,7 @@ IsItemAvailable:
CPX.b #$04 : BNE .finite CPX.b #$04 : BNE .finite
LDA.b #$01 : RTL LDA.b #$01 : RTL
.finite .finite
LDA WRAMEquipment-1, X LDA EquipmentWRAM-1, X
RTL RTL
LoadBombCount: LoadBombCount:
LDA !INFINITE_BOMBS : BNE .infinite LDA !INFINITE_BOMBS : BNE .infinite

View File

@@ -71,7 +71,7 @@ OverworldEventData = $7EF280
; $00 = None ; $00 = None
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
base $7EF340 base $7EF340
WRAMEquipment: ; EquipmentWRAM: ;
BowEquipment: skip 1 ; $01 = Bow | $02 = Bow & Arrows BowEquipment: skip 1 ; $01 = Bow | $02 = Bow & Arrows
; $03 = Silver Arrow Bow | $04 = Bow & Silver Arrows ; $03 = Silver Arrow Bow | $04 = Bow & Silver Arrows
BoomerangEquipment: skip 1 ; $01 = Blue | $02 = Red BoomerangEquipment: skip 1 ; $01 = Blue | $02 = Red
@@ -208,7 +208,7 @@ DroppedFollowerLayer: skip 1 ; $00 = Upper layer | $01 =.lower layer
FollowerDropped: skip 1 ; Set to $80 when a follower exists and has been dropped somewhere FollowerDropped: skip 1 ; Set to $80 when a follower exists and has been dropped somewhere
; $00 otherwise ; $00 otherwise
skip 5 ; Unused skip 5 ; Unused
skip 8 ; Unused FileNameVanillaWRAM: skip 8 ; First four characters of file name
FileValidity: skip 2 ; Always $55AA. Don't write. FileValidity: skip 2 ; Always $55AA. Don't write.
;================================================================================ ;================================================================================
@@ -388,11 +388,14 @@ DummyValue: skip 1 ; $01 if you're a real dummy
; a small amount of data which is not currently in the WRAM mirror. ; a small amount of data which is not currently in the WRAM mirror.
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
base $700000 ; base $700000 ;
CartridgeSRAM: ;
skip $0340 ; skip $0340 ;
SRAMEquipment: skip 76 ; EquipmentSRAM: skip 76 ;
InventoryTrackingSRAM: skip 2 ; InventoryTrackingSRAM: skip 2 ;
BowTrackingSRAM: skip 2 ; BowTrackingSRAM: skip 2 ;
skip 368 ; skip 73 ;
FileNameVanillaSRAM: skip 8 ; First four characters of file name
skip 287
ExtendedFileNameSRAM: skip 24 ; We read and write the file name directly from and to SRAM (24 bytes) ExtendedFileNameSRAM: skip 24 ; We read and write the file name directly from and to SRAM (24 bytes)
skip $1AE4 ; skip $1AE4 ;
RomVersionSRAM: skip 4 ; ALTTPR ROM version. Low byte is the version, high byte writes RomVersionSRAM: skip 4 ; ALTTPR ROM version. Low byte is the version, high byte writes
@@ -417,7 +420,7 @@ endmacro
; All of these need to pass for the base rom to build or something is probably ; All of these need to pass for the base rom to build or something is probably
; very wrong. ; very wrong.
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
%assertSRAM(WRAMEquipment, $7EF340) %assertSRAM(EquipmentWRAM, $7EF340)
%assertSRAM(BowEquipment, $7EF340) %assertSRAM(BowEquipment, $7EF340)
%assertSRAM(BoomerangEquipment, $7EF341) %assertSRAM(BoomerangEquipment, $7EF341)
%assertSRAM(HookshotEquipment, $7EF342) %assertSRAM(HookshotEquipment, $7EF342)
@@ -502,6 +505,7 @@ endmacro
%assertSRAM(DroppedFollowerIndoors, $7EF3D1) %assertSRAM(DroppedFollowerIndoors, $7EF3D1)
%assertSRAM(DroppedFollowerLayer, $7EF3D2) %assertSRAM(DroppedFollowerLayer, $7EF3D2)
%assertSRAM(FollowerDropped, $7EF3D3) %assertSRAM(FollowerDropped, $7EF3D3)
%assertSRAM(FileNameVanillaWRAM, $7EF3D9)
%assertSRAM(FileValidity, $7EF3E1) %assertSRAM(FileValidity, $7EF3E1)
%assertSRAM(InverseChecksum, $7EF4FE) %assertSRAM(InverseChecksum, $7EF4FE)
@@ -632,9 +636,11 @@ endmacro
;================================================================================ ;================================================================================
; Direct SRAM Assertions ; Direct SRAM Assertions
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
%assertSRAM(SRAMEquipment, $700340) %assertSRAM(CartridgeSRAM, $700000)
%assertSRAM(EquipmentSRAM, $700340)
%assertSRAM(InventoryTrackingSRAM, $70038C) %assertSRAM(InventoryTrackingSRAM, $70038C)
%assertSRAM(BowTrackingSRAM, $70038E) %assertSRAM(BowTrackingSRAM, $70038E)
%assertSRAM(FileNameVanillaSRAM, $7003D9)
%assertSRAM(ExtendedFileNameSRAM, $700500) %assertSRAM(ExtendedFileNameSRAM, $700500)
%assertSRAM(RomNameSRAM, $702000) %assertSRAM(RomNameSRAM, $702000)
%assertSRAM(RomVersionSRAM, $701FFC) %assertSRAM(RomVersionSRAM, $701FFC)

View File

@@ -1618,15 +1618,26 @@ dw $0000, $0000
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
; 0x183055 - 183FFF (unused) ; 0x183055 - 183FFF (unused)
;================================================================================ ;================================================================================
org $30C000 ; PC 0x184000 - 0x184007 org $30C000 ; PC 0x184000 - 0x184040
ItemSubstitutionRules: ItemSubstitutionRules:
;db [item][quantity][substitution][pad] - CURRENT LIMIT 16 ENTRIES ;db [item][quantity][substitution][pad] - CURRENT LIMIT 16 ENTRIES
db $12, $01, $35, $FF db $12, $01, $35, $FF
db $51, $06, $52, $FF db $51, $06, $52, $FF
db $53, $06, $54, $FF db $53, $06, $54, $FF
db $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF
org $30C041 ; PC 0x184041
ForceFileName:
db $00 ; $00 = Player picks name (default) - $01 = Use StaticFileName
org $30C042 ; PC 0x184042 - 0x18405A
StaticFileName:
dw $0181, $0162, $0168, $018C
dw $0166, $014E, $0162, $018C
dw $0165, $0162, $0167, $018C
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
; 0x184008 - 0x1847FF (unused) ; 0x18405B - 0x1847FF (unused)
;================================================================================ ;================================================================================
;shop_config - tdav --qq ;shop_config - tdav --qq
; t - 0=Shop - 1=TakeAny ; t - 0=Shop - 1=TakeAny