2025-07-18 10:24:32 +03:00

148 lines
3.0 KiB
YAML

# The Legend of Zelda: Breath of the Wild 1.8.1
# BID: A12F75F49B36F4B8
unsafeCheck: true
MASTER_WRITE:
# Remove double buffer
## REF: 61 F6 42 39
-
type: bytes
main_offset: 0xD80748
value_type: uint32
value: 0x52800021
# Change pointer of GPU time factor for DR calculations to MAIN + 0x1D36C80
## REF: XREF 0x46823555, replace loading for 0.001
-
type: bytes
main_offset: 0xE6F140
value_type: uint32
value:
- 0xF0007628
- 0xBD4FF501
# Dynamic speed
## Replace nvnQueuePresentTexture call to code cave at MAIN+0x148D964
-
type: bytes
main_offset: 0xD874FC
value_type: uint32
value: 0x141C191A
## Patch game speed function to use speed from MAIN+0x1D36FF0
-
type: bytes
main_offset: 0x14092A8
value_type: uint32
value: 0x14000003
-
type: bytes
main_offset: 0x14092CC
value_type: uint32
value:
- 0xB0004969
- 0xBD4FF121
## Patch UI speed function to use speeed from MAIN+0x1D36FF0
-
type: bytes
main_offset: 0x116D0D8
value_type: uint32
value: 0xB0005E47
-
type: bytes
main_offset: 0x116D0E4
value_type: uint32
value: 0xBD4FF0E0
## CODE CAVE
-
type: bytes
main_offset: 0x148D964
value_type: uint32
value:
- 0xD63F0100
- 0xD53BE022
- 0xB0004548
- 0xF947FD01
- 0xEB1F003F
- 0x54000061
- 0xF907FD02
- 0x17E3E6E0
- 0xCB010040
- 0x97FFFBB6 # BL nn::os::ConvertToTimeSpan(nn::os::Tick)
- 0x9E230000
- 0x52940AA0
- 0x72A03F80
- 0x1E230001
- 0x1E211800
- 0x1E201001
- 0x1E212000
- 0x5400004B
- 0x1E204020
- 0xB0004548
- 0xBD4FED01
- 0x1E212000
- 0x5400004C
- 0x1E204020
- 0xBD0FF100
- 0x17FFFFED
- 0xB0004540
- 0xB94FF000
- 0xD65F03C0
- 0xB0004547
- 0xB90FE8E1
- 0x17DDA966
# Signal Cutscenes playing
-
type: bytes
main_offset: 0xC00680
value_type: uint32
value: 0x942234D6
-
type: bytes
main_offset: 0xC00E40
value_type: uint32
value: 0x942232E6
# Default speed
-
type: bytes
main_offset: 0x1D36FF0
value_type: float
value: 1.0
-
type: bytes
main_offset: 0x1D36FEC
value_type: float
value: 1.0
# Default cutscene state
-
type: bytes
main_offset: 0x1D36FE8
value_type: uint8
value: 1
# Default DR factor
-
type: bytes
main_offset: 0x1D36FF4
value_type: float
value: 0.001
ALL_FPS:
# Min Delta
-
type: evaluate_write
address: [MAIN, 0x1D36FEC]
value_type: float
value: "30 / FPS_TARGET"
# DR factor
-
type: evaluate_write
address: [MAIN, 0x1D36FF4]
value_type: float
value: "(FPS_TARGET / 30) * 0.001"
# Prerendered cutscenes must be played at 30 FPS
-
type: compare
compare_address: [MAIN, 0x1D36FE8]
compare_type: "=="
compare_value_type: uint8
compare_value: 0
address: [MAIN]
value_type: refresh_rate
value: 30