Repository navigation
Add experimental BOTW 1.9.0 FPS and graphics profile - #331
Open
mkaflowski wants to merge 4 commits into
Open
mkaflowski wants to merge 4 commits into
mkaflowski wants to merge 4 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add one experimental BOTW 1.9.0 profile alongside the existing 1.6.0 UltraCam profile:
Versions are selected explicitly through the existing Select Game control. Each variant has its own saved selection/options while retaining the actual game title ID for emulator paths.
The earlier redundant fixed-60 profile was consolidated into the configurable profile. Its saved selection ID is accepted as an alias; the old numeric
far clipsetting migrates to the nearest Render Distance preset without overwriting an existing preset choice. CLI export also uses the configurable profile by default.The additional emulator AA/AF controls from the initial implementation were removed. The 1.9 UI now contains only FPS, FOV, Render Distance and Resolution Scale; saved obsolete AA/AF values are ignored.
Implementation
docs/BOTW-1.9.md.Runtime patch generation adds no third-party dependencies. Local executable verification tools use
lz4/unicorn; payload rebuilding useskeystone-engine. Game dumps and keys are not included.Validation
python -m unittest discover -s tests -v— 21 tests passed.python tools/build_botw_native_payload.py --check— checked-in payload matches the assembly source.python tools/verify_botw_fps.py --main <local-exefs-main>— original instructions, format equivalence, 24 ARM64 interval cases and 3 native VFR cases.python tools/verify_botw_native.py --main <local-exefs-main>— both executable hashes, SDK interval regression, timing at 20/30/40/45/60/90/120 FPS, relocation, stalls/category multipliers, register/stack preservation and camera writes.5f142c7926: the initial interval patch at 60 FPS; configurable profile at 45 FPS with normal game speed, then visibly wider FOV 65 with continued correct operation.The tested Eden nightly logged IPS32 application but left the original instructions in guest memory. IPSwitch applied successfully. The initial configurable trial also exposed an SDK minimum-vsync clamp; the companion SDK patch resolved the remaining 30 FPS presentation limit.
Scope / remaining testing
This is intentionally marked experimental and targets the documented Switch 1.9.0 main/SDK Build IDs. Full gameplay validation across physics, menus, cutscenes, other FPS targets, Android/NCE, Ryujinx and console hardware is still needed. Isolated ARM64 tests are not a substitute for those runtime tests.
The camera setting controls far clipping, not object streaming/LOD distance. Resolution Scale is an emulator setting. Native framebuffer-resolution changes, native FXAA/DR disabling, shadows and the remaining UltraCam features are outside this port.