2025-09-05 17:12:01 +03:00

96 lines
2.0 KiB
YAML

# Kirby and the Forgotten Land 1.0.0
# BID: D9BA7DB72FFAFECD
# Thanks to Hazerou for finding interval offsets
unsafeCheck: false
MASTER_WRITE:
# Remove double buffer
-
type: asm_a64
main_offset: 0x745E94
instructions: [
[mov, w9, 3]
]
# Fix helper functions to not corrupt stack
-
type: asm_a64
main_offset: 0x745F70
instructions: [
[mov, w2, 3]
]
-
type: asm_a64
main_offset: 0x75908C
instructions: [
[mov, w2, 3]
]
-
type: asm_a64
main_offset: 0x675198
instructions: [
[sub, sp, sp, 0x50],
[stp, x22, x21, [sp, 0x20]],
[stp, x20, x19, [sp, 0x30]],
[stp, x29, x30, [sp, 0x40]],
[add, x29, sp, 0x40]
]
-
type: asm_a64
main_offset: 0x6751EC
instructions: [
[mov, w2, 3]
]
-
type: asm_a64
main_offset: 0x675210
instructions: [
[ldp, x29, x30, [sp, 0x40]],
[ldp, x20, x19, [sp, 0x30]],
[ldp, x22, x21, [sp, 0x20]],
[add, sp, sp, 0x50]
]
-
type: asm_a64
main_offset: 0x74A510
instructions: [
[mov, w2, 3]
]
-
type: asm_a64
main_offset: 0x7590F8
instructions: [
[mov, w2, 3]
]
-
type: asm_a64
main_offset: 0x7BDCD4
instructions: [
[mov, w2, 3]
]
# Block transparency in some 2D elements to avoid issue with flickering at triple buffer
-
type: asm_a64
main_offset: 0x6A58C8
instructions: [
[mov, x9, 0x102],
[ldr, w10, [x10, 0x840]],
[add, x20, x8, 0x820],
[lsl, x12, x10, 3],
[str, x9, [x20]]
]
ALL_FPS:
# Interval (Setting it to 0 unlocks framerate and sets dynamic game speed)
-
type: write
address: [MAIN, 0xA72628, 0x50]
value_type: int32
value: 0
# Dynamic Resolution GPU Frametiming Max / Min (Max = 1.95 * (30/FPS), Min = 1.7 * (30/FPS))
-
type: evaluate_write
address: [MAIN, 0xA726B0, 0x140, 0x1B0, 0x20, 0x34]
value_type: float
value: ["(30 / FPS_TARGET) * 1.95", "(30 / FPS_TARGET) * 1.7"]