diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index e5851e2..fdc3988 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -580,6 +580,13 @@ OverworldMap_DarkWorldTilemap: org $0ABAB9 OverworldMap_LoadSprGfx: +org $0CD7D1 +NameFile_MakeScreenVisible: +org $0CDB3E +InitializeSaveFile: +org $0CDB3E +InitializeSaveFile_build_checksum: + org $0DBA71 GetRandomInt: diff --git a/bugfixes.asm b/bugfixes.asm index a3ffcc7..85ff9d6 100644 --- a/bugfixes.asm +++ b/bugfixes.asm @@ -63,7 +63,7 @@ RTL ;-------------------------------------------------------------------------------- ;ReadInventoryPond: ; CPX.b #$1B : BNE + : LDA.b #$01 : RTL : + -; LDA WRAMEquipment, X +; LDA EquipmentWRAM, X ;RTL ;-------------------------------------------------------------------------------- diff --git a/compasses.asm b/compasses.asm index a903d48..7482f77 100644 --- a/compasses.asm +++ b/compasses.asm @@ -55,7 +55,15 @@ RTL 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 $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 ; dw CompassCount_Escape, CompassCount_Escape ; (hyrule castle, sewers) ; dw CompassCount_Eastern, CompassCount_Desert, CompassCount_Agah diff --git a/events.asm b/events.asm index 0c65d5d..e94082d 100644 --- a/events.asm +++ b/events.asm @@ -86,8 +86,8 @@ OnAga2Defeated: ;-------------------------------------------------------------------------------- OnFileCreation: TAX ; what we wrote over - LDA StartingEquipment+$4C : STA SRAMEquipment+$4C ; copy starting equipment swaps to file select screen - LDA StartingEquipment+$4E : STA SRAMEquipment+$4E + LDA StartingEquipment+$4C : STA EquipmentSRAM+$4C ; copy starting equipment swaps to file select screen + LDA StartingEquipment+$4E : STA EquipmentSRAM+$4E RTL ;-------------------------------------------------------------------------------- !RNG_ITEM_LOCK_IN = "$7F5090" @@ -132,7 +132,7 @@ OnNewFile: LDA.l StartingTime+2 : STA ChallengeTimer+2 LDX.w #$004E : - ; copy over starting equipment - LDA StartingEquipment, X : STA WRAMEquipment, X + LDA StartingEquipment, X : STA EquipmentWRAM, X DEX : DEX BPL - diff --git a/fileselect.asm b/fileselect.asm index 4fb082e..4494ffc 100644 --- a/fileselect.asm +++ b/fileselect.asm @@ -153,15 +153,15 @@ DrawPlayerFileShared: JSR FileSelectDrawHudBar ; Bow - LDA.l BowTracking : AND.w #$0040 : BEQ + - LDA SRAMEquipment : AND.w #$00FF : BEQ ++ + LDA.l BowTrackingSRAM : AND.w #$0040 : BEQ + + LDA EquipmentSRAM+$00 : AND.w #$00FF : BEQ ++ %fs_drawItem(3,12,FileSelectItems_silver_bow) BRA .bow_end ++ %fs_drawItem(3,12,FileSelectItems_silver_arrow) BRA .bow_end + - LDA.l SRAMEquipment : AND.w #$00FF : BEQ + + LDA.l EquipmentSRAM : AND.w #$00FF : BEQ + %fs_drawItem(3,12,FileSelectItems_bow) BRA .bow_end + @@ -169,15 +169,15 @@ DrawPlayerFileShared: .bow_end ; 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) BRA .boomerang_end + - LDA.l InventoryTracking : AND.w #$0040 : BEQ + + LDA.l InventoryTrackingSRAM : AND.w #$0040 : BEQ + %fs_drawItem(3,14,FileSelectItems_red_boomerang) BRA .boomerang_end + - LDA.l InventoryTracking : AND.w #$0080 : BEQ + + LDA.l InventoryTrackingSRAM : AND.w #$0080 : BEQ + %fs_drawItem(3,14,FileSelectItems_blue_boomerang) BRA .boomerang_end + @@ -185,13 +185,13 @@ DrawPlayerFileShared: .boomerang_end ; Hookshot - %fs_drawItemBasic(SRAMEquipment+$02,3,16,FileSelectItems_hookshot) + %fs_drawItemBasic(EquipmentSRAM+$02,3,16,FileSelectItems_hookshot) ; Bombs - ; %fs_drawItemBasic(SRAMEquipment+$03,3,18,FileSelectItems_bombs) + ; %fs_drawItemBasic(EquipmentSRAM+$03,3,18,FileSelectItems_bombs) ; Powder - LDA.l InventoryTracking : AND.w #$0010 : BEQ + + LDA.l InventoryTrackingSRAM : AND.w #$0010 : BEQ + %fs_drawItem(3,20,FileSelectItems_powder) BRA ++ + @@ -199,7 +199,7 @@ DrawPlayerFileShared: ++ ; Mushroom - LDA.l InventoryTracking : AND.w #$0008 : BEQ + + LDA.l InventoryTrackingSRAM : AND.w #$0008 : BEQ + %fs_drawItem(3,18,FileSelectItems_mushroom) BRA ++ + @@ -207,7 +207,7 @@ DrawPlayerFileShared: ++ ; Flute - LDA.l InventoryTracking : AND.w #$0003 : BEQ + + LDA.l InventoryTrackingSRAM : AND.w #$0003 : BEQ + %fs_drawItem(7,16,FileSelectItems_flute) BRA ++ + @@ -215,7 +215,7 @@ DrawPlayerFileShared: ++ ; Shovel - LDA.l InventoryTracking : AND.w #$0004 : BEQ + + LDA.l InventoryTrackingSRAM : AND.w #$0004 : BEQ + %fs_drawItem(9,12,FileSelectItems_shovel) BRA ++ + @@ -223,52 +223,52 @@ DrawPlayerFileShared: ++ ; Fire Rod - %fs_drawItemBasic(SRAMEquipment+$05,5,12,FileSelectItems_fire_rod) + %fs_drawItemBasic(EquipmentSRAM+$05,5,12,FileSelectItems_fire_rod) ; Ice Rod - %fs_drawItemBasic(SRAMEquipment+$06,5,14,FileSelectItems_ice_rod) + %fs_drawItemBasic(EquipmentSRAM+$06,5,14,FileSelectItems_ice_rod) ; Bombos Medallion - %fs_drawItemBasic(SRAMEquipment+$07,5,16,FileSelectItems_bombos) + %fs_drawItemBasic(EquipmentSRAM+$07,5,16,FileSelectItems_bombos) ; Ether Medallion - %fs_drawItemBasic(SRAMEquipment+$08,5,18,FileSelectItems_ether) + %fs_drawItemBasic(EquipmentSRAM+$08,5,18,FileSelectItems_ether) ; Quake Medallion - %fs_drawItemBasic(SRAMEquipment+$09,5,20,FileSelectItems_quake) + %fs_drawItemBasic(EquipmentSRAM+$09,5,20,FileSelectItems_quake) ; Lamp - %fs_drawItemBasic(SRAMEquipment+$0A,7,12,FileSelectItems_lamp) + %fs_drawItemBasic(EquipmentSRAM+$0A,7,12,FileSelectItems_lamp) ; Hammer - %fs_drawItemBasic(SRAMEquipment+$0B,7,14,FileSelectItems_hammer) + %fs_drawItemBasic(EquipmentSRAM+$0B,7,14,FileSelectItems_hammer) ; Bug Net - %fs_drawItemBasic(SRAMEquipment+$0D,7,18,FileSelectItems_bugnet) + %fs_drawItemBasic(EquipmentSRAM+$0D,7,18,FileSelectItems_bugnet) ; Book of Mudora - %fs_drawItemBasic(SRAMEquipment+$0E,7,20,FileSelectItems_book) + %fs_drawItemBasic(EquipmentSRAM+$0E,7,20,FileSelectItems_book) ; Red Cane - %fs_drawItemBasic(SRAMEquipment+$10,9,14,FileSelectItems_redcane) + %fs_drawItemBasic(EquipmentSRAM+$10,9,14,FileSelectItems_redcane) ; Blue Cane - %fs_drawItemBasic(SRAMEquipment+$11,9,16,FileSelectItems_bluecane) + %fs_drawItemBasic(EquipmentSRAM+$11,9,16,FileSelectItems_bluecane) ; Cape - %fs_drawItemBasic(SRAMEquipment+$12,9,18,FileSelectItems_cape) + %fs_drawItemBasic(EquipmentSRAM+$12,9,18,FileSelectItems_cape) ; Mirror - %fs_drawItemBasic(SRAMEquipment+$13,9,20,FileSelectItems_mirror) + %fs_drawItemBasic(EquipmentSRAM+$13,9,20,FileSelectItems_mirror) ; Bottles - %fs_drawBottle(SRAMEquipment+$1C,3,23) - %fs_drawBottle(SRAMEquipment+$1D,5,23) - %fs_drawBottle(SRAMEquipment+$1E,7,23) - %fs_drawBottle(SRAMEquipment+$1F,9,23) + %fs_drawBottle(EquipmentSRAM+$1C,3,23) + %fs_drawBottle(EquipmentSRAM+$1D,5,23) + %fs_drawBottle(EquipmentSRAM+$1E,7,23) + %fs_drawBottle(EquipmentSRAM+$1F,9,23) ; Sword - LDA.l SRAMEquipment+$19 : AND.w #$00FF : BNE + + LDA.l EquipmentSRAM+$19 : AND.w #$00FF : BNE + %fs_drawItemGray(3,26,FileSelectItems_fighters_sword) BRA ++ + : DEC : BNE + @@ -289,7 +289,7 @@ DrawPlayerFileShared: ++ ; Shield - LDA.l SRAMEquipment+$1A : AND.w #$00FF : BNE + + LDA.l EquipmentSRAM+$1A : AND.w #$00FF : BNE + %fs_drawItemGray(5,26,FileSelectItems_fighters_shield) BRA ++ + : DEC : BNE + @@ -303,7 +303,7 @@ DrawPlayerFileShared: ++ ; Mail - LDA.l SRAMEquipment+$1B : AND.w #$00FF : BNE + + LDA.l EquipmentSRAM+$1B : AND.w #$00FF : BNE + %fs_drawItem(7,26,FileSelectItems_green_mail) BRA ++ + : DEC : BNE + @@ -314,7 +314,7 @@ DrawPlayerFileShared: ++ ; 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) BRA ++ + : DEC : BNE + @@ -327,16 +327,16 @@ DrawPlayerFileShared: %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 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) ; Boots - %fs_drawItemBasic(SRAMEquipment+$15,3,28,FileSelectItems_boots) + %fs_drawItemBasic(EquipmentSRAM+$15,3,28,FileSelectItems_boots) ; Gloves - LDA.l SRAMEquipment+$14 : AND.w #$00FF : BNE + + LDA.l EquipmentSRAM+$14 : AND.w #$00FF : BNE + %fs_drawItemGray(5,28,FileSelectItems_gloves) BRA ++ + : DEC : BNE + @@ -347,27 +347,27 @@ DrawPlayerFileShared: ++ ; Flippers - %fs_drawItemBasic(SRAMEquipment+$16,7,28,FileSelectItems_flippers) + %fs_drawItemBasic(EquipmentSRAM+$16,7,28,FileSelectItems_flippers) ; Moon Pearl - %fs_drawItemBasic(SRAMEquipment+$17,9,28,FileSelectItems_pearl) + %fs_drawItemBasic(EquipmentSRAM+$17,9,28,FileSelectItems_pearl) ; Pendants - LDA SRAMEquipment+$34 : AND.w #$0004 : BEQ + + LDA EquipmentSRAM+$34 : AND.w #$0004 : BEQ + %fs_drawItem(12,12,FileSelectItems_green_pendant) BRA ++ + %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) BRA ++ + %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) BRA ++ + @@ -375,49 +375,49 @@ DrawPlayerFileShared: ++ ; Crystals - LDA SRAMEquipment+$3A : AND.w #$0002 : BEQ + + LDA EquipmentSRAM+$3A : AND.w #$0002 : BEQ + LDA.w #$0297|!FS_COLOR_BLUE BRA ++ + LDA.w #$0287|!FS_COLOR_GRAY ++ : %fs_draw16x8(13,18) - LDA SRAMEquipment+$3A : AND.w #$0010 : BEQ + + LDA EquipmentSRAM+$3A : AND.w #$0010 : BEQ + LDA.w #$0297|!FS_COLOR_BLUE BRA ++ + LDA.w #$0287|!FS_COLOR_GRAY ++ : %fs_draw16x8(12,19) - LDA SRAMEquipment+$3A : AND.w #$0040 : BEQ + + LDA EquipmentSRAM+$3A : AND.w #$0040 : BEQ + LDA.w #$0297|!FS_COLOR_BLUE BRA ++ + LDA.w #$0287|!FS_COLOR_GRAY ++ : %fs_draw16x8(13,20) - LDA SRAMEquipment+$3A : AND.w #$0020 : BEQ + + LDA EquipmentSRAM+$3A : AND.w #$0020 : BEQ + LDA.w #$0297|!FS_COLOR_BLUE BRA ++ + LDA.w #$0287|!FS_COLOR_GRAY ++ : %fs_draw16x8(12,21) - LDA SRAMEquipment+$3A : AND.w #$0004 : BEQ + + LDA EquipmentSRAM+$3A : AND.w #$0004 : BEQ + LDA.w #$0297|!FS_COLOR_RED BRA ++ + LDA.w #$0287|!FS_COLOR_GRAY ++ : %fs_draw16x8(13,22) - LDA SRAMEquipment+$3A : AND.w #$0001 : BEQ + + LDA EquipmentSRAM+$3A : AND.w #$0001 : BEQ + LDA.w #$0297|!FS_COLOR_RED BRA ++ + LDA.w #$0287|!FS_COLOR_GRAY ++ : %fs_draw16x8(12,23) - LDA SRAMEquipment+$3A : AND.w #$0008 : BEQ + + LDA EquipmentSRAM+$3A : AND.w #$0008 : BEQ + LDA.w #$0297|!FS_COLOR_BLUE BRA ++ + @@ -559,7 +559,7 @@ FileSelectItems: ;-------------------------------------------------------------------------------- FileSelectDrawHudBar: LDA #$029B|!FS_COLOR_GREEN : %fs_draw16x8(0,10) - LDA SRAMEquipment+$22 + LDA EquipmentSRAM+$22 JSL.l HexToDec 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) @@ -567,18 +567,18 @@ FileSelectDrawHudBar: 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 SRAMEquipment+$03 : AND.w #$00FF + LDA EquipmentSRAM+$03 : AND.w #$00FF JSL.l HexToDec 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.l BowTracking : AND.w #$0040 : BEQ + + LDA.l BowTrackingSRAM : AND.w #$0040 : BEQ + LDA #$0299|!FS_COLOR_RED : %fs_draw16x8(0,17) BRA ++ + LDA #$0289|!FS_COLOR_BROWN : %fs_draw16x8(0,17) ++ - LDA SRAMEquipment+$37 : AND.w #$00FF + LDA EquipmentSRAM+$37 : AND.w #$00FF JSL.l HexToDec 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) @@ -787,16 +787,16 @@ DrawPlayerFile_credits: ; see $6563C for drawing first file name and hearts 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) - LDA SRAMEquipment+$9B : ORA.w #!FS_COLOR_BW + LDA EquipmentSRAM+$9B : ORA.w #!FS_COLOR_BW %fs_draw8x16(3,6) - LDA SRAMEquipment+$9D : ORA.w #!FS_COLOR_BW + LDA EquipmentSRAM+$9D : ORA.w #!FS_COLOR_BW %fs_draw8x16(3,7) - LDA SRAMEquipment+$9F : ORA.w #!FS_COLOR_BW + LDA EquipmentSRAM+$9F : ORA.w #!FS_COLOR_BW %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) LDA.w #$028F|!FS_COLOR_RED LDX.w #$000A @@ -866,3 +866,21 @@ JML FSSelectFile_continue LDA.b #$3C : STA $012E ; play error sound 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 +;-------------------------------------------------------------------------------- diff --git a/hooks.asm b/hooks.asm index 557e9b9..493fc3a 100755 --- a/hooks.asm +++ b/hooks.asm @@ -214,6 +214,8 @@ LDA.l HeartCursorPositions, X 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 JSL.l WrapCharacterPosition : NOP +org $0CD75E ; bank_0C.asm (dl NameFile_MakeScreenVisible) +dl MaybeForceFileName ;-------------------------------------------------------------------------------- org $0CE43A ; No assembly source. Makes name entry box wider db $2C diff --git a/init.asm b/init.asm index fd7e598..36bb4b5 100644 --- a/init.asm +++ b/init.asm @@ -67,15 +67,6 @@ Init_PostRAMClear: JSL MSUInit JSL InitRNGPointerTable - JSR InitCompassTotalsRAM + JSL InitCompassTotalsRAM 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 diff --git a/retro.asm b/retro.asm index 8ccbac0..aa9d772 100644 --- a/retro.asm +++ b/retro.asm @@ -5,7 +5,7 @@ IsItemAvailable: CPX.b #$04 : BNE .finite LDA.b #$01 : RTL .finite - LDA WRAMEquipment-1, X + LDA EquipmentWRAM-1, X RTL LoadBombCount: LDA !INFINITE_BOMBS : BNE .infinite diff --git a/sram.asm b/sram.asm index c170586..5b4ce1e 100644 --- a/sram.asm +++ b/sram.asm @@ -71,7 +71,7 @@ OverworldEventData = $7EF280 ; $00 = None ;-------------------------------------------------------------------------------- base $7EF340 -WRAMEquipment: ; +EquipmentWRAM: ; BowEquipment: skip 1 ; $01 = Bow | $02 = Bow & Arrows ; $03 = Silver Arrow Bow | $04 = Bow & Silver Arrows 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 ; $00 otherwise skip 5 ; Unused -skip 8 ; Unused +FileNameVanillaWRAM: skip 8 ; First four characters of file name 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. ;-------------------------------------------------------------------------------- base $700000 ; +CartridgeSRAM: ; skip $0340 ; -SRAMEquipment: skip 76 ; +EquipmentSRAM: skip 76 ; InventoryTrackingSRAM: 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) skip $1AE4 ; 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 ; very wrong. ;-------------------------------------------------------------------------------- -%assertSRAM(WRAMEquipment, $7EF340) +%assertSRAM(EquipmentWRAM, $7EF340) %assertSRAM(BowEquipment, $7EF340) %assertSRAM(BoomerangEquipment, $7EF341) %assertSRAM(HookshotEquipment, $7EF342) @@ -502,6 +505,7 @@ endmacro %assertSRAM(DroppedFollowerIndoors, $7EF3D1) %assertSRAM(DroppedFollowerLayer, $7EF3D2) %assertSRAM(FollowerDropped, $7EF3D3) +%assertSRAM(FileNameVanillaWRAM, $7EF3D9) %assertSRAM(FileValidity, $7EF3E1) %assertSRAM(InverseChecksum, $7EF4FE) @@ -632,9 +636,11 @@ endmacro ;================================================================================ ; Direct SRAM Assertions ;-------------------------------------------------------------------------------- -%assertSRAM(SRAMEquipment, $700340) +%assertSRAM(CartridgeSRAM, $700000) +%assertSRAM(EquipmentSRAM, $700340) %assertSRAM(InventoryTrackingSRAM, $70038C) %assertSRAM(BowTrackingSRAM, $70038E) +%assertSRAM(FileNameVanillaSRAM, $7003D9) %assertSRAM(ExtendedFileNameSRAM, $700500) %assertSRAM(RomNameSRAM, $702000) %assertSRAM(RomVersionSRAM, $701FFC) diff --git a/tables.asm b/tables.asm index bf69cc2..d9c76a9 100644 --- a/tables.asm +++ b/tables.asm @@ -1618,15 +1618,26 @@ dw $0000, $0000 ;-------------------------------------------------------------------------------- ; 0x183055 - 183FFF (unused) ;================================================================================ -org $30C000 ; PC 0x184000 - 0x184007 +org $30C000 ; PC 0x184000 - 0x184040 ItemSubstitutionRules: ;db [item][quantity][substitution][pad] - CURRENT LIMIT 16 ENTRIES db $12, $01, $35, $FF db $51, $06, $52, $FF db $53, $06, $54, $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 ; t - 0=Shop - 1=TakeAny