From b2810ca793fb0ecdfe718fc4cd2bb78af735c778 Mon Sep 17 00:00:00 2001 From: clue cat Date: Thu, 11 Sep 2025 15:21:08 -0400 Subject: [PATCH 1/2] Remove stereo-default IPS patch and update patcher to write the appropriate new flag value in ROM. --- CHANGELOG.md | 3 +++ src/mars_patcher/mf/constants/reserved_space.py | 1 + .../mf/data/patches/mf_u/free_space.txt | 3 --- .../mf/data/patches/mf_u/stereo_default.ips | Bin 69 -> 0 bytes src/mars_patcher/mf/misc_patches.py | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) delete mode 100644 src/mars_patcher/mf/data/patches/mf_u/free_space.txt delete mode 100644 src/mars_patcher/mf/data/patches/mf_u/stereo_default.ips diff --git a/CHANGELOG.md b/CHANGELOG.md index 73f7dbb..6de1c45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## Unreleased - 2025-??-?? +- Changed: Metroid Fusion Stereo default IPS patch has been ported into ASM. Instead a flag in ROM will set the default speaker setup to stereo. + ## 0.7.0 - 2025-08-25 - Added: Ability to write text to the title screen. - Removed: Anti-Softlock option. diff --git a/src/mars_patcher/mf/constants/reserved_space.py b/src/mars_patcher/mf/constants/reserved_space.py index d1f7aa9..7de4b34 100644 --- a/src/mars_patcher/mf/constants/reserved_space.py +++ b/src/mars_patcher/mf/constants/reserved_space.py @@ -28,3 +28,4 @@ class ReservedConstantsMF: ROOM_NAMES_TABLE_ADDR = 0x7FF028 REVEAL_HIDDEN_TILES_ADDR = 0x7FF02C TITLESCREEN_TEXT_POINTERS_POINTER_ADDR = 0x7FF030 + DEFAULT_STEREO_FLAG_POINTER_ADDR = 0x7FF034 diff --git a/src/mars_patcher/mf/data/patches/mf_u/free_space.txt b/src/mars_patcher/mf/data/patches/mf_u/free_space.txt deleted file mode 100644 index b85845b..0000000 --- a/src/mars_patcher/mf/data/patches/mf_u/free_space.txt +++ /dev/null @@ -1,3 +0,0 @@ -Address Name -80F9A28 stereo_default -80F9A4C diff --git a/src/mars_patcher/mf/data/patches/mf_u/stereo_default.ips b/src/mars_patcher/mf/data/patches/mf_u/stereo_default.ips deleted file mode 100644 index a41a7dde24728858f52ca64376afb12e3b44c155..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69 zcmWG=3~~10e6fdtaTVu_dkiem9~S@M{MNw0_++k0KCmP-tM`_#W|h Y`S&Nk8TT-_zYt?!W)Wv#cJ+4y0E&MYzW@LL diff --git a/src/mars_patcher/mf/misc_patches.py b/src/mars_patcher/mf/misc_patches.py index d50aa6f..9ea6513 100644 --- a/src/mars_patcher/mf/misc_patches.py +++ b/src/mars_patcher/mf/misc_patches.py @@ -43,7 +43,7 @@ def skip_door_transitions(rom: Rom) -> None: def stereo_default(rom: Rom) -> None: - apply_patch_in_data_path(rom, "stereo_default.ips") + rom.write_8(rom.read_ptr(ReservedConstantsMF.DEFAULT_STEREO_FLAG_POINTER_ADDR), 1) def disable_sounds(rom: Rom, start: int, end: int, exclude: set[int] = set()) -> None: From 1be80a7a8d1398625e199e97b2d3f3f70f165775 Mon Sep 17 00:00:00 2001 From: clue cat Date: Thu, 11 Sep 2025 15:46:59 -0400 Subject: [PATCH 2/2] Remove todo from HINT_SECURITY_LEVELS_ADDR --- src/mars_patcher/mf/constants/reserved_space.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mars_patcher/mf/constants/reserved_space.py b/src/mars_patcher/mf/constants/reserved_space.py index 7de4b34..fdc0007 100644 --- a/src/mars_patcher/mf/constants/reserved_space.py +++ b/src/mars_patcher/mf/constants/reserved_space.py @@ -22,7 +22,7 @@ class ReservedConstantsMF: STARTING_LOCATION_ADDR = 0x7FF014 CREDITS_END_DELAY_ADDR = 0x7FF018 # TODO: Is this meant to be changed? CREDITS_SCROLL_SPEED_ADDR = 0x7FF018 # + 2 TODO: Ditto - HINT_SECURITY_LEVELS_ADDR = 0x7FF01C # TODO: ??? + HINT_SECURITY_LEVELS_ADDR = 0x7FF01C ENVIRONMENTAL_HARZARD_DAMAGE_ADDR = 0x7FF020 # TODO: Implement this MISSILE_LIMIT_ADDR = 0x7FF024 ROOM_NAMES_TABLE_ADDR = 0x7FF028