diff --git a/README.md b/README.md index 5eae23d..38cdee6 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ### Ultra - это функциональная кастомная прошивка для Nintendo Switch, с упором в разгон и улучшенный пользовательский опыт. -### [UltraNX 2.7|R2](https://github.com/Ultra-NX/UltraNX/releases/tag/2.7-R2) Поддерживает все HOS до 21.1.0 включительно +### [UltraNX 2.7|R3](https://github.com/Ultra-NX/UltraNX/releases/tag/2.7-R3) Поддерживает все HOS до 21.2.0 включительно (21.2.0 в Safe Mode) diff --git a/README_ENG.md b/README_ENG.md index 5d8a53a..50e0286 100644 --- a/README_ENG.md +++ b/README_ENG.md @@ -6,7 +6,7 @@ # ### Ultra is a functional custom firmware for Nintendo Switch, with a focus on overclocking and an improved user experience. -### [UltraNX 2.7|R2](https://github.com/Ultra-NX/UltraNX/releases/tag/2.7-R2) Supports all HOS up to and including 21.1.0 +### [UltraNX 2.7|R3](https://github.com/Ultra-NX/UltraNX/releases/tag/2.7-R3) Supports all HOS up to and including 21.2.0 (21.2.0 in Safe Mode) diff --git a/SaltySD/exceptions.txt b/SaltySD/exceptions.txt index e7fa3fa..a94ebee 100644 --- a/SaltySD/exceptions.txt +++ b/SaltySD/exceptions.txt @@ -1,50 +1,3 @@ -;GRID: Autosport -;1.4.0RC9, 1.5_46790, 1.8_49215 and 1.8.3_61741 crash, 1.4.1_45339 stucks in infinite loop -0100DC800A602000 - -;Luigi's Mansion 3 -;1.0.0-1.4.0 crash -0100DCA0064A6000 - ;YouTube ;Stucks in infinite loop 01003A400C3DA000 - -;Alien: Isolation -;1.1_46609 - 1.1.4_60709 crash on first loading -010075D00E8BA000 - -;Immortals Fenyx Rising -;1.0.3, 1.3.4 crash -01004A600EC0A000 - -;Stubbs the Zombie in Rebel Without a Pulse -;1.0.0 - 1.0.3 crash on boot -0100964012528000 - -;Olympic Games Tokyo 2020 – The Official Video Game -;1.0.0-1.0.2 crash on boot -;1.0.9 crash on boot -010034B00E14C000 -01004CE00AAE2000 - -;Mario Strikers: Battle League -;1.0.0 crash on boot -010019401051C000 - -;The Lara Croft Collection -;1.0.0 - Games in collection are crashing on boot, only launcher doesn't -010079C017F5E001 -010079C017F5E002 - -;Plants vs. Zombies: Battle for Neighborville -;1.0.3 crash on boot -0100C56010FD8000 - -;EA SPORTS FC 24 -;1.0.0 - v1.55.bc14 crash -0100BDB01A0E6000 - -;Company of Heroes Collection -;1.5_66915 crashes -0100ABD0156F8000 diff --git a/SaltySD/plugins/FPSLocker/patches/01000400204FE000/A9DEA3043D6E0060.yaml b/SaltySD/plugins/FPSLocker/patches/01000400204FE000/A9DEA3043D6E0060.yaml new file mode 100644 index 0000000..f0329d2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01000400204FE000/A9DEA3043D6E0060.yaml @@ -0,0 +1,75 @@ +# 無双アビス 1.5.0 +# BID: A9DEA3043D6E0060 + +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 50 + evaluate: "1.5 * FRAMETIME_TARGET" + - + type: variable + name: dr_target2 + value_type: float + default_value: 40 + evaluate: "1.2 * FRAMETIME_TARGET" +MASTER_WRITE: + # REF: 09 49 A8 52 21 01 27 1E 00 20 21 1E + # Use FPS Target instead of vsync value for Dynamic Resolution max delta + - + type: asm_a64 + main_offset: 0x8B69C0 + instructions: [ + [adrp, x1, 0x11F3000], + [ldr, s1, [x1, 0xE10]] + ] + # Redirect DR Targets + - + type: asm_a64 + main_offset: 0x8B6A64 + instructions: [ + [adrp, x9, $dr_target1], + [ldr, s1, [x9, $dr_target1]] + ] + - + type: asm_a64 + main_offset: 0x8B6A74 + instructions: [ + [adrp, x9, $dr_target2], + [ldr, s1, [x9, $dr_target2]] + ] +ALL_FPS: + # REF: 00 00 F0 42 78 00 00 00 00 00 F0 42 04 00 00 00 + # FPS Lock + - + type: evaluate_write + address: [MAIN, 0x11F3E1C] + value_type: uint32 + value: "120 / FPS_LOCK_TARGET" + # Prevent from setting it as 0, otherwise game crashes + - + type: evaluate_compare + compare_address: [MAIN, 0x11F3E1C] + compare_type: "==" + compare_value_type: uint32 + compare_value: 0 + address: [MAIN, 0x11F3E1C] + value_type: uint32 + value: 1 + # Others + - + type: evaluate_write + address: [MAIN, 0x11F3E10] + value_type: float + value: "FPS_TARGET" + - + type: evaluate_write + address: [MAIN, 0x11F3E14] + value_type: uint32 + value: "FPS_TARGET" + - + type: evaluate_write + address: [MAIN, 0x11F3E18] + value_type: float + value: "FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01000A10041EA000/0C0CAC3FCF0F0BEB.yaml b/SaltySD/plugins/FPSLocker/patches/01000A10041EA000/0C0CAC3FCF0F0BEB.yaml new file mode 100644 index 0000000..ff8e00f --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01000A10041EA000/0C0CAC3FCF0F0BEB.yaml @@ -0,0 +1,18 @@ +# The Elder Scrolls V: Skyrim 1.1.404.0 +# BID: 0C0CAC3FCF0F0BEB + +ALL_FPS: + # Dynamic Resolution Frame Time Max = 0.99 * (1000/FPS) + # REF: 21 0C 02 1F 01 FC 00 BD, third ldr below + - + type: evaluate_write + address: [MAIN, 0x3357FB0] + value_type: float + value: "0.99 * FRAMETIME_TARGET" + # Dynamic Resolution Frame Time Min = 0.9 * (1000/FPS) + # REF: 21 0C 02 1F 01 FC 00 BD, first ldr below + - + type: evaluate_write + address: [MAIN, 0x3357FC8] + value_type: float + value: "0.9 * FRAMETIME_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01000D60248D6000/196339C0BADE07C3.yaml b/SaltySD/plugins/FPSLocker/patches/01000D60248D6000/196339C0BADE07C3.yaml new file mode 100644 index 0000000..c2272d5 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01000D60248D6000/196339C0BADE07C3.yaml @@ -0,0 +1,25 @@ +# Five Nights at Freddy's: Secret of the Mimic 1.0.0 +# BID: 196339C0BADE07C3 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x64D8628, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x64FE0E8, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x5D0C1D0, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010010901AFB0000/3D3FEFC161B49AB8.yaml b/SaltySD/plugins/FPSLocker/patches/010010901AFB0000/3D3FEFC161B49AB8.yaml new file mode 100644 index 0000000..34d8cda --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010010901AFB0000/3D3FEFC161B49AB8.yaml @@ -0,0 +1,10 @@ +# The Walking Dead: Destinies 1.3.0.8 +# BID: 3D3FEFC161B49AB8 + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x666C420, 0x48] + value_type: float + value: "1 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100118009C68000/6401F57C7D6D3728.yaml b/SaltySD/plugins/FPSLocker/patches/0100118009C68000/6401F57C7D6D3728.yaml new file mode 100644 index 0000000..f9d1312 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100118009C68000/6401F57C7D6D3728.yaml @@ -0,0 +1,10 @@ +# Figment 1.6.0 +# BID: 6401F57C7D6D3728 + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x450C7C0, 0x48] + value_type: float + value: "1 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010016C00F474000/4BC4A8A814FD46A4.yaml b/SaltySD/plugins/FPSLocker/patches/010016C00F474000/4BC4A8A814FD46A4.yaml new file mode 100644 index 0000000..6f8fc94 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010016C00F474000/4BC4A8A814FD46A4.yaml @@ -0,0 +1,25 @@ +# The Witcher 3: Wild Hunt - The Complete Edition `Cartridge only 2` 4.04a-4.04b +# BID: 4BC4A8A814FD46A4 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01001B0019F9E000/9E365FE9EC3A52D3.yaml b/SaltySD/plugins/FPSLocker/patches/01001B0019F9E000/9E365FE9EC3A52D3.yaml new file mode 100644 index 0000000..9190e9b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001B0019F9E000/9E365FE9EC3A52D3.yaml @@ -0,0 +1,10 @@ +# Escape Academy: The Complete Edition 3.0.6.2 +# BID: 9E365FE9EC3A52D3 + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x54AFB80, 0x48] + value_type: float + value: "1 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01001E400FD58000/CCEE412E679A2143.yaml b/SaltySD/plugins/FPSLocker/patches/01001E400FD58000/CCEE412E679A2143.yaml new file mode 100644 index 0000000..db9c069 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001E400FD58000/CCEE412E679A2143.yaml @@ -0,0 +1,10 @@ +# Cooking Simulator 1.0.1 +# BID: CCEE412E679A2143 + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x43E7FB8, 0x48] + value_type: float + value: "1 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01001F100E8AE000/EB57CF3434044523.yaml b/SaltySD/plugins/FPSLocker/patches/01001F100E8AE000/EB57CF3434044523.yaml new file mode 100644 index 0000000..7d93c67 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001F100E8AE000/EB57CF3434044523.yaml @@ -0,0 +1,26 @@ +# Remothered Tormented Fathers `Cartridge only` 1.2.0 +# BID: EB57CF3434044523 +# Game stores textures inside fixed size class, so it's hard to get triple buffer + +ALL_FPS: + # Disable bUseFixedFrameRate and bSmoothFrameRate + - + type: write + address: [MAIN, 0x54C75F0, 0x770] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x54C7F70, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x4C641D0, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010027400CDC6000/4979B200D53BB282.yaml b/SaltySD/plugins/FPSLocker/patches/010027400CDC6000/4979B200D53BB282.yaml index 3f9f810..1e4c227 100644 --- a/SaltySD/plugins/FPSLocker/patches/010027400CDC6000/4979B200D53BB282.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010027400CDC6000/4979B200D53BB282.yaml @@ -1,4 +1,4 @@ -# Divinity Original Sin 2 1.0.10 +# Divinity Original Sin 2 1.0.10-1.0.11 # BID: 4979B200D53BB282 # Game is using double buffer, buffers are not allocated in loop. # So it's not possible to get stable FPS lock between 30 and 60 without changing refresh rate. diff --git a/SaltySD/plugins/FPSLocker/patches/010028D005A3C000/0C0CAC3FCF0F0BEB.yaml b/SaltySD/plugins/FPSLocker/patches/010028D005A3C000/0C0CAC3FCF0F0BEB.yaml new file mode 100644 index 0000000..cb86ea0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010028D005A3C000/0C0CAC3FCF0F0BEB.yaml @@ -0,0 +1,18 @@ +# The Elder Scrolls V: Skyrim JPN 1.1.404.0 +# BID: 0C0CAC3FCF0F0BEB + +ALL_FPS: + # Dynamic Resolution Frame Time Max = 0.99 * (1000/FPS) + # REF: 21 0C 02 1F 01 FC 00 BD, third ldr below + - + type: evaluate_write + address: [MAIN, 0x3357FB0] + value_type: float + value: "0.99 * FRAMETIME_TARGET" + # Dynamic Resolution Frame Time Min = 0.9 * (1000/FPS) + # REF: 21 0C 02 1F 01 FC 00 BD, first ldr below + - + type: evaluate_write + address: [MAIN, 0x3357FC8] + value_type: float + value: "0.9 * FRAMETIME_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01002A4021B86000/E5D70A1E288F74A7.yaml b/SaltySD/plugins/FPSLocker/patches/01002A4021B86000/E5D70A1E288F74A7.yaml new file mode 100644 index 0000000..5e470f1 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002A4021B86000/E5D70A1E288F74A7.yaml @@ -0,0 +1,19 @@ +# Storm Lancers 1.1.0.5 +# BID: E5D70A1E288F74A7 + +ALL_FPS: + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7ED6D60, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x6EB8F28, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01002BD00F626000/4C277E67AB50D547.yaml b/SaltySD/plugins/FPSLocker/patches/01002BD00F626000/4C277E67AB50D547.yaml new file mode 100644 index 0000000..03a1d3e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002BD00F626000/4C277E67AB50D547.yaml @@ -0,0 +1,11 @@ +# Inertial Drift 1.2.1 +# BID: 4C277E67AB50D547 + +ALL_FPS: + # Assets.Source.Tools.CorePlugin_TypeInfo + - + type: evaluate_write + address: [MAIN, 0x577BF78, 0xB8, 0, 0xF0, 0xD8, 0x28, 0x20] + address_unsafe: true + value_type: uint32 + value: FPS_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01002D901CDB6000/A42569DBA6D326B5.yaml b/SaltySD/plugins/FPSLocker/patches/01002D901CDB6000/A42569DBA6D326B5.yaml new file mode 100644 index 0000000..15c6c0a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002D901CDB6000/A42569DBA6D326B5.yaml @@ -0,0 +1,10 @@ +# Just Crow Things 1.0.21 +# BID: A42569DBA6D326B5 + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x53B5280, 0x48] + value_type: float + value: "1 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01002E800E9D4000/B151A224A429F9A7.yaml b/SaltySD/plugins/FPSLocker/patches/01002E800E9D4000/B151A224A429F9A7.yaml new file mode 100644 index 0000000..60b48e3 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002E800E9D4000/B151A224A429F9A7.yaml @@ -0,0 +1,25 @@ +# The Witcher 3: Wild Hunt - The Complete Edition `Cartridge only` 4.04a-4.04b +# BID: B151A224A429F9A7 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010035F022078000/E363F4466EE5E8BE.yaml b/SaltySD/plugins/FPSLocker/patches/010035F022078000/E363F4466EE5E8BE.yaml new file mode 100644 index 0000000..bd70bd9 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010035F022078000/E363F4466EE5E8BE.yaml @@ -0,0 +1,31 @@ +# DRAGON BALL: Sparking! ZERO 2.0.74 +# BID: E363F4466EE5E8BE + +ALL_FPS: + # Disable bUseFixedFrameRate to unlock framerate + - + type: write + address: [MAIN, 0x9A35A20, 0x9C4] + address_unsafe: true + value_type: uint32 + # Default is 0x47, bUseFixedFrameRate |= 0x40 + # By writing 7 we are making sure that other flags are maintained: + # bAllowMultiThreadedAnimationUpdate |= 4 + # bOptimizeAnimBlueprintMemberVariableAccess |= 2 + # bCanBlueprintsTickByDefault |= 1 + value: 7 + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x9A36FF0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x923FB68, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010036E019EA2000/6895FE7D0D1B8E2F.yaml b/SaltySD/plugins/FPSLocker/patches/010036E019EA2000/6895FE7D0D1B8E2F.yaml new file mode 100644 index 0000000..1286a67 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010036E019EA2000/6895FE7D0D1B8E2F.yaml @@ -0,0 +1,22 @@ +# Little Goody Two Shoes 1.0.5 +# BID: 6895FE7D0D1B8E2F + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x70CFF00, 0x48] + value_type: float + value: "1 / FPS_TARGET" + # UnityEngine.Time::maximumDeltaTime / UnityEngine.Time::maximumParticleDeltaTime + - + type: write + address: [MAIN, 0x70CFF00, 0x100] + value_type: float + value: [0.06666666666, 0.06666666666] + # UnityEngine.Application::targetFrameRate + - + type: evaluate_write + address: [MAIN, 0x6D58DA8] + value_type: uint32 + value: FPS_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01003820186A2000/A5EC643318B3A543.yaml b/SaltySD/plugins/FPSLocker/patches/01003820186A2000/A5EC643318B3A543.yaml new file mode 100644 index 0000000..55604fd --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003820186A2000/A5EC643318B3A543.yaml @@ -0,0 +1,10 @@ +# Succubus With Guns 1.0.1 +# BID: A5EC643318B3A543 + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x4577FC0, 0x48] + value_type: float + value: "1 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100393016D7E000/DC33AFEE8682A86C.yaml b/SaltySD/plugins/FPSLocker/patches/0100393016D7E000/DC33AFEE8682A86C.yaml new file mode 100644 index 0000000..d36467c --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100393016D7E000/DC33AFEE8682A86C.yaml @@ -0,0 +1,25 @@ +# WAIFU IMPACT 1.0.2 +# BID: DC33AFEE8682A86C + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x67B78E8, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # r.VSync + - + type: write + address: [MAIN, 0x5FEB078, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x67E54B8, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010040601A9B8000/1E965D5B338E3D05.yaml b/SaltySD/plugins/FPSLocker/patches/010040601A9B8000/1E965D5B338E3D05.yaml new file mode 100644 index 0000000..754c6e2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010040601A9B8000/1E965D5B338E3D05.yaml @@ -0,0 +1,10 @@ +# たまごっちのプチプチおみせっち おまちど~さま! 1.0.6 +# BID: 1E965D5B338E3D05 + +ALL_FPS: + # UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x68B81F8, 0xB8, 0] + value_type: int32 + value: -1 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100422020BC4000/C2D14E1A5A788D6A.yaml b/SaltySD/plugins/FPSLocker/patches/0100422020BC4000/C2D14E1A5A788D6A.yaml new file mode 100644 index 0000000..09bd0eb --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100422020BC4000/C2D14E1A5A788D6A.yaml @@ -0,0 +1,37 @@ +# 모두의 골프 월드 / 全民高爾夫 環球之旅 1.1.4 +# BID: C2D14E1A5A788D6A +# Changed frametime target value math formula because default one sucks at 60 FPS target + +DECLARATIONS: + - + type: variable + name: dr_frametime_max + value_type: double + default_value: 40 + evaluate: "0.9 * FRAMETIME_TARGET" + - + type: variable + name: dr_frametime_min + value_type: double + default_value: 33.3333333333 + evaluate: "(0.9 * FRAMETIME_TARGET) - 6" +MASTER_WRITE: + # REF: 0a 00 a4 d2 8a 08 e8 f2 41 01 67 9e + - + type: asm_a64 + main_offset: 0x3936338 + instructions: [ + [adrp, x10, $dr_frametime_max], + [ldr, d1, [x10, $dr_frametime_max]], + [nop] + ] + # REF: 00 0d 40 fd 0a 00 b8 d2 + - + type: asm_a64 + main_offset: 0x393640C + instructions: [ + [adrp, x10, $dr_frametime_min], + [ldr, d1, [x10, $dr_frametime_min]], + [nop], + [nop] + ] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010042A013DB8000/8683E654CCD68852.yaml b/SaltySD/plugins/FPSLocker/patches/010042A013DB8000/8683E654CCD68852.yaml new file mode 100644 index 0000000..2124c41 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010042A013DB8000/8683E654CCD68852.yaml @@ -0,0 +1,25 @@ +# GetsuFumaDen: Undying Moon 1.1.1 +# BID: 8683E654CCD68852 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x79020E8, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # r.VSync + - + type: write + address: [MAIN, 0x7136C78, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x792F998, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100479008552000/A03FD278F67CDFD2.yaml b/SaltySD/plugins/FPSLocker/patches/0100479008552000/A03FD278F67CDFD2.yaml new file mode 100644 index 0000000..5eb96bf --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100479008552000/A03FD278F67CDFD2.yaml @@ -0,0 +1,19 @@ +# モンスターエナジースーパークロス オフィシャルビデオゲーム 1.0.1 +# BID: A03FD278F67CDFD2 + +ALL_FPS: + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x67FD408, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x6551268, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01004FF021942000/0115E50A2C326DF5.yaml b/SaltySD/plugins/FPSLocker/patches/01004FF021942000/0115E50A2C326DF5.yaml new file mode 100644 index 0000000..83007a0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004FF021942000/0115E50A2C326DF5.yaml @@ -0,0 +1,13 @@ +# EA SPORTS FC 26 1.81.7867 +# BID: 0115E50A2C326DF5 + +ALL_FPS: + # Internal FPS Lock + - + type: evaluate_write + address: [MAIN, 0xC6496F8, 8] + value_type: double + value: FPS_TARGET + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01005270232F2000/51198224D1A8F16C.yaml b/SaltySD/plugins/FPSLocker/patches/01005270232F2000/51198224D1A8F16C.yaml new file mode 100644 index 0000000..5bef57e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01005270232F2000/51198224D1A8F16C.yaml @@ -0,0 +1,19 @@ +# Octopath Traveler 0 1.0.3 +# BID: 51198224D1A8F16C + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x6C4F6E8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7C718E0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010055200E87E000/9F1B5FB4C53E321F.yaml b/SaltySD/plugins/FPSLocker/patches/010055200E87E000/9F1B5FB4C53E321F.yaml new file mode 100644 index 0000000..357bdae --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010055200E87E000/9F1B5FB4C53E321F.yaml @@ -0,0 +1,32 @@ +# Metamorphosis 1.0.1 +# BID: 9F1B5FB4C53E321F + +ALL_FPS: + # Disable SmoothFrameRate + - + type: write + address: [MAIN, 0x58C2C68, 0x7C0] + address_unsafe: true + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget (Default is 42) + - + type: evaluate_write + address: [MAIN, 0x58991A8, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # r.VSync + - + type: write + address: [MAIN, 0x4D2EFF8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x58C33A0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100567011972000/97313EA9E2BD0EC1.yaml b/SaltySD/plugins/FPSLocker/patches/0100567011972000/97313EA9E2BD0EC1.yaml new file mode 100644 index 0000000..6c0acdb --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100567011972000/97313EA9E2BD0EC1.yaml @@ -0,0 +1,19 @@ +# WRITHE 1.3.0 +# BID: 97313EA9E2BD0EC1 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x5853008, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x587FAD0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010058301BB98000/CAEAFFC2CD152394.yaml b/SaltySD/plugins/FPSLocker/patches/010058301BB98000/CAEAFFC2CD152394.yaml new file mode 100644 index 0000000..05a5bb1 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010058301BB98000/CAEAFFC2CD152394.yaml @@ -0,0 +1,74 @@ +# テイルズ オブ エクシリア リマスター 1.0.2 +# BID: CAEAFFC2CD152394 + +DECLARATIONS: + - + type: variable + name: patch_running + value_type: uint8 + default_value: 0 + - + type: code + name: applyCustomSpeed + instructions: [ + [adrp, x4, $patch_running], + [ldrb, w4, [x4, $patch_running]], + [cbnz, w4, :goto1], + [stp, s0, s1, [x8, 0x6C]], + :goto1, [ret] + ] +MASTER_WRITE: + # Block updating game speed + ## REF: 00 85 0d 2d + - + type: asm_a64 + main_offset: 0x244EF94 + instructions: [ + [bl, _applyCustomSpeed()] + ] + - + type: asm_a64 + main_offset: 0x28F36BC + instructions: [ + [bl, _applyCustomSpeed()] + ] + - + type: asm_a64 + main_offset: 0x2B2E174 + instructions: [ + [bl, _applyCustomSpeed()] + ] +ALL_FPS: + # Game Speed + ## REF: Global_TypeInfo + - + type: evaluate_write + address: [MAIN, 0x82E1310, 0xB8, 0x6C] + value_type: float + value: [FPS_TARGET, "60 / FPS_TARGET"] + # Just in case, dunno if they are used for anything, but all of them were set to target strictly 30 FPS + # UnityEngine.Time::maximumDeltaTime + - + type: write + address: [MAIN, 0x9FEC278, 0x100] + value_type: float + value: [0.066666666, 0.066666666] + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x9FEC278, 0x48] + value_type: float + value: "1 / FPS_TARGET" + # UnityEngine.Application::targetFrameRate + - + type: evaluate_write + address: [MAIN, 0x84FE4E8] + value_type: uint32 + value: FPS_TARGET + - + type: compare + compare_address: [VARIABLE, patch_running] + compare_type: "==" + compare_value: 0 + address: [VARIABLE, patch_running] + value: 1 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01005AB01DAD0000/50F47EC19A33A73E.yaml b/SaltySD/plugins/FPSLocker/patches/01005AB01DAD0000/50F47EC19A33A73E.yaml new file mode 100644 index 0000000..fa56037 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01005AB01DAD0000/50F47EC19A33A73E.yaml @@ -0,0 +1,33 @@ +# Detective - Stella Porta Case 1.0.0 +# BID: 50F47EC19A33A73E +# Game has bug that makes it work 2x slower than in other platforms, so with this patch we are also fixing the issue across all FPS ranges + +ALL_FPS: + # Disable bUseFixedFrameRagte + - + type: write + address: [MAIN, 0x73379C8, 0x9DC] + address_unsafe: true + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x7303CF0, 0] + value_type: float + value: ["0.9 * FRAMETIME_TARGET", "0.9 * FRAMETIME_TARGET"] + # r.VSync + - + type: write + address: [MAIN, 0x6B5FCB8, 0] + value_type: uint32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7338158, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/A9DEA3043D6E0060.yaml b/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/A9DEA3043D6E0060.yaml new file mode 100644 index 0000000..45d9479 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/A9DEA3043D6E0060.yaml @@ -0,0 +1,75 @@ +# WARRIORS: Abyss 1.5.0 +# BID: A9DEA3043D6E0060 + +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 50 + evaluate: "1.5 * FRAMETIME_TARGET" + - + type: variable + name: dr_target2 + value_type: float + default_value: 40 + evaluate: "1.2 * FRAMETIME_TARGET" +MASTER_WRITE: + # REF: 09 49 A8 52 21 01 27 1E 00 20 21 1E + # Use FPS Target instead of vsync value for Dynamic Resolution max delta + - + type: asm_a64 + main_offset: 0x8B69C0 + instructions: [ + [adrp, x1, 0x11F3000], + [ldr, s1, [x1, 0xE10]] + ] + # Redirect DR Targets + - + type: asm_a64 + main_offset: 0x8B6A64 + instructions: [ + [adrp, x9, $dr_target1], + [ldr, s1, [x9, $dr_target1]] + ] + - + type: asm_a64 + main_offset: 0x8B6A74 + instructions: [ + [adrp, x9, $dr_target2], + [ldr, s1, [x9, $dr_target2]] + ] +ALL_FPS: + # REF: 00 00 F0 42 78 00 00 00 00 00 F0 42 04 00 00 00 + # FPS Lock + - + type: evaluate_write + address: [MAIN, 0x11F3E1C] + value_type: uint32 + value: "120 / FPS_LOCK_TARGET" + # Prevent from setting it as 0, otherwise game crashes + - + type: evaluate_compare + compare_address: [MAIN, 0x11F3E1C] + compare_type: "==" + compare_value_type: uint32 + compare_value: 0 + address: [MAIN, 0x11F3E1C] + value_type: uint32 + value: 1 + # Others + - + type: evaluate_write + address: [MAIN, 0x11F3E10] + value_type: float + value: "FPS_TARGET" + - + type: evaluate_write + address: [MAIN, 0x11F3E14] + value_type: uint32 + value: "FPS_TARGET" + - + type: evaluate_write + address: [MAIN, 0x11F3E18] + value_type: float + value: "FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01005E101122E000/44AA379DE2A71A9F.yaml b/SaltySD/plugins/FPSLocker/patches/01005E101122E000/44AA379DE2A71A9F.yaml new file mode 100644 index 0000000..815354c --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01005E101122E000/44AA379DE2A71A9F.yaml @@ -0,0 +1,25 @@ +# Spirit of the North 1.3.1 +# BID: 44AA379DE2A71A9F + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x542D038, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # r.VSync + - + type: write + address: [MAIN, 0x4CF1AB8, 0] + value_type: uint32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x5459A90, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010063B012DC6000/68FED4970010ACF3.yaml b/SaltySD/plugins/FPSLocker/patches/010063B012DC6000/68FED4970010ACF3.yaml new file mode 100644 index 0000000..0cb76c9 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010063B012DC6000/68FED4970010ACF3.yaml @@ -0,0 +1,19 @@ +# SHIN MEGAMI TENSEI V `The Americas` 1.0.2 +# BID: 68FED4970010ACF3 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x75F81D0, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7621D70, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010065A01CFB6000/0BB69E112916D851.yaml b/SaltySD/plugins/FPSLocker/patches/010065A01CFB6000/0BB69E112916D851.yaml new file mode 100644 index 0000000..825f575 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010065A01CFB6000/0BB69E112916D851.yaml @@ -0,0 +1,10 @@ +# パックマンワールド2 リ・パック 1.0.4 +# BID: 0BB69E112916D851 + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x87DF838, 0x58] + value_type: uint32 + value: "2352000 * FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100668022DF4000/DCBCB511177F87F6.yaml b/SaltySD/plugins/FPSLocker/patches/0100668022DF4000/DCBCB511177F87F6.yaml new file mode 100644 index 0000000..7f796e7 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100668022DF4000/DCBCB511177F87F6.yaml @@ -0,0 +1,19 @@ +# Nicktoons & The Dice of Destiny 1.3.0 +# BID: DCBCB511177F87F6 + +ALL_FPS: + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7EDF380, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x6EC0EE8, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010066C024AA8000/10F5B0B223490693.yaml b/SaltySD/plugins/FPSLocker/patches/010066C024AA8000/10F5B0B223490693.yaml new file mode 100644 index 0000000..046ed6c --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010066C024AA8000/10F5B0B223490693.yaml @@ -0,0 +1,10 @@ +# Becastled 1.4 +# BID: 10F5B0B223490693 + +ALL_FPS: + # DynamicResolution_TypeInfo + - + type: evaluate_write + address: [MAIN, 0xA09DB40, 0xB8, 0, 0x58] + value_type: float + value: "0.96 * FRAMETIME_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010066C024AA8000/FBDD7ABB7B1DB6A9.yaml b/SaltySD/plugins/FPSLocker/patches/010066C024AA8000/FBDD7ABB7B1DB6A9.yaml new file mode 100644 index 0000000..a4a75fa --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010066C024AA8000/FBDD7ABB7B1DB6A9.yaml @@ -0,0 +1,10 @@ +# Becastled 1.3 +# BID: FBDD7ABB7B1DB6A9 + +ALL_FPS: + # DynamicResolution_TypeInfo + - + type: evaluate_write + address: [MAIN, 0xA04B708, 0xB8, 0, 0x58] + value_type: float + value: "0.96 * FRAMETIME_TARGET" diff --git a/SaltySD/plugins/FPSLocker/patches/0100690020FBE000/3768668BABF5F551.yaml b/SaltySD/plugins/FPSLocker/patches/0100690020FBE000/3768668BABF5F551.yaml new file mode 100644 index 0000000..4fa43dd --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100690020FBE000/3768668BABF5F551.yaml @@ -0,0 +1,25 @@ +# Formula Legends 1.0.10 +# BID: 3768668BABF5F551 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x83C9F68, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # r.VSync + - + type: write + address: [MAIN, 0x73E5EE8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x8405780, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01006AE02236C000/43B775EC81DB2B63.yaml b/SaltySD/plugins/FPSLocker/patches/01006AE02236C000/43B775EC81DB2B63.yaml new file mode 100644 index 0000000..59c32fc --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01006AE02236C000/43B775EC81DB2B63.yaml @@ -0,0 +1,25 @@ +# Double Dragon Revive N1.30 +# BID: 43B775EC81DB2B63 + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x82DBE98, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x92B9D48, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x92E7A58, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01006FC01B540000/B91475B2ADE6F74D.yaml b/SaltySD/plugins/FPSLocker/patches/01006FC01B540000/B91475B2ADE6F74D.yaml new file mode 100644 index 0000000..6eaeb00 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01006FC01B540000/B91475B2ADE6F74D.yaml @@ -0,0 +1,19 @@ +# Hot Blood 1.0.1 +# BID: B91475B2ADE6F74D + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget (Default is 36) + - + type: evaluate_write + address: [MAIN, 0x5CB4658, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x5CE23A8, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100742007266000/A03FD278F67CDFD2.yaml b/SaltySD/plugins/FPSLocker/patches/0100742007266000/A03FD278F67CDFD2.yaml new file mode 100644 index 0000000..23ca73f --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100742007266000/A03FD278F67CDFD2.yaml @@ -0,0 +1,19 @@ +# Monster Energy Supercross - The Official Videogame 1.0.2 +# BID: A03FD278F67CDFD2 + +ALL_FPS: + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x67FD408, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x6551268, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/C561C6BED2F0B348.yaml b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/C561C6BED2F0B348.yaml new file mode 100644 index 0000000..33e6eb0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100755017EE0000/C561C6BED2F0B348.yaml @@ -0,0 +1,19 @@ +# FANTASY LIFE i: The Girl Who Steals Time 2.0.0 +# BID: C561C6BED2F0B348 + +ALL_FPS: + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0xB58C938, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0xA56C728, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010078D000F88000/60EF5AF2F6E5231F.yaml b/SaltySD/plugins/FPSLocker/patches/010078D000F88000/60EF5AF2F6E5231F.yaml new file mode 100644 index 0000000..0e336f2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010078D000F88000/60EF5AF2F6E5231F.yaml @@ -0,0 +1,50 @@ +# DRAGON BALL XENOVERSE 2 FOR NINTENDO SWITCH 1.25.02 +# BID: 60EF5AF2F6E5231F +# Double buffer is hardcoded in class, getting triple buffer is hard. +# Some graphical effects like aura have wrong speed outside of 15, 20, 30 and 60 FPS + +ALL_FPS: + # Search those in Edizon by searching for 1/60 in title menu, then 1/30 when FPS lock is applied. + # FPS Lock + - + type: write + address: [MAIN, 0x4B26AD8, 0x698] + address_unsafe: true + value_type: float + value: 0.0 + # Unknown + - + type: write + address: [MAIN, 0x4B26AD8, 0x6A4] + address_unsafe: true + value_type: float + value: 0.0 + # Game Battle Speed Factor + - + type: evaluate_write + address: [MAIN, 0x4B26AD8, 0x6B0] + address_unsafe: true + value_type: uint32 + value: VSYNC_TARGET + # Cutscenes Speed Factor + - + type: evaluate_write + address: [MAIN, 0x4B26AD8, 0x6B4] + address_unsafe: true + value_type: uint32 + value: VSYNC_TARGET + # Target Speed + # REF: E9 03 00 32 09 01 00 39 C0 03 5F D6, first result, LDR instruction + - + type: evaluate_write + address: [MAIN, 0x244E090] + value_type: float + value: "(1 / FPS_TARGET) * VSYNC_TARGET" + # Dynamic Resolution FPS Target + # REF: 16 4E A8 52 F7 03 60 B2, first ADRP + LDR above it + - + type: evaluate_write + address: [MAIN, 0x242A3C8, 0x1844] + address_unsafe: true + value_type: float + value: "FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01007B301CFBE000/7E20C8548DC38F3A.yaml b/SaltySD/plugins/FPSLocker/patches/01007B301CFBE000/7E20C8548DC38F3A.yaml new file mode 100644 index 0000000..f82bbfa --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01007B301CFBE000/7E20C8548DC38F3A.yaml @@ -0,0 +1,19 @@ +# Warhammer 40,000: Dakka Squadron 1.0.2 +# BID: 7E20C8548DC38F3A + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x4C7D408, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x5810650, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01007BF01A86A000/21502D0863ED6F58.yaml b/SaltySD/plugins/FPSLocker/patches/01007BF01A86A000/21502D0863ED6F58.yaml new file mode 100644 index 0000000..f616321 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01007BF01A86A000/21502D0863ED6F58.yaml @@ -0,0 +1,33 @@ +# 真・女神転生Ⅴ Vengeance 1.0.3 +# BID: 21502D0863ED6F58 + +MASTER_WRITE: + # Block from reapplying t.MaxFPS by game, REF: 01 E4 00 2F 00 AC 21 1E 08 00 40 F9 08 75 41 F9, nop BLR X8 after LDR X8, [X8,#0x2E8] + - + type: asm_a64 + main_offset: 0x3780C20 + instructions: [ + [nop] + ] +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x7AAFBB8, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # r.VSync + - + type: write + address: [MAIN, 0x7273AD0, 0] + value_type: uint32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7AD5858, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01007D70145F4000/E8418C6B4BDCC1EE.yaml b/SaltySD/plugins/FPSLocker/patches/01007D70145F4000/E8418C6B4BDCC1EE.yaml new file mode 100644 index 0000000..2fc38c8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01007D70145F4000/E8418C6B4BDCC1EE.yaml @@ -0,0 +1,25 @@ +# Maneater `Asia` 1.02 +# BID: E8418C6B4BDCC1EE + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x6FF8FB0, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x70241F0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x6858620, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01007FB010DC8000/3C1DC69847A35C30.yaml b/SaltySD/plugins/FPSLocker/patches/01007FB010DC8000/3C1DC69847A35C30.yaml new file mode 100644 index 0000000..9683026 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01007FB010DC8000/3C1DC69847A35C30.yaml @@ -0,0 +1,25 @@ +# Paradise Killer 1.3.0 +# BID: 3C1DC69847A35C30 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: evaluate_write + address: [MAIN, 0x7D1C738, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7D41D80, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x7552E58, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100821020BBC000/D45002D206976B20.yaml b/SaltySD/plugins/FPSLocker/patches/0100821020BBC000/D45002D206976B20.yaml new file mode 100644 index 0000000..9545975 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100821020BBC000/D45002D206976B20.yaml @@ -0,0 +1,37 @@ +# EVERYBODY'S GOLF: Hot Shots US 1.1.4 +# BID: D45002D206976B20 +# Changed frametime target value math formula because default one sucks at 60 FPS target + +DECLARATIONS: + - + type: variable + name: dr_frametime_max + value_type: double + default_value: 40 + evaluate: "0.9 * FRAMETIME_TARGET" + - + type: variable + name: dr_frametime_min + value_type: double + default_value: 33.3333333333 + evaluate: "(0.9 * FRAMETIME_TARGET) - 6" +MASTER_WRITE: + # REF: 0a 00 a4 d2 8a 08 e8 f2 41 01 67 9e + - + type: asm_a64 + main_offset: 0x3936328 + instructions: [ + [adrp, x10, $dr_frametime_max], + [ldr, d1, [x10, $dr_frametime_max]], + [nop] + ] + # REF: 00 0d 40 fd 0a 00 b8 d2 + - + type: asm_a64 + main_offset: 0x39363FC + instructions: [ + [adrp, x10, $dr_frametime_min], + [ldr, d1, [x10, $dr_frametime_min]], + [nop], + [nop] + ] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010083201F234000/A6F7BF79EBCBCC70.yaml b/SaltySD/plugins/FPSLocker/patches/010083201F234000/A6F7BF79EBCBCC70.yaml new file mode 100644 index 0000000..036e26e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010083201F234000/A6F7BF79EBCBCC70.yaml @@ -0,0 +1,10 @@ +# Hollow Coccon 1.0.4 +# BID: A6F7BF79EBCBCC70 + +ALL_FPS: + # REF: OptionData::SetNewScale() + - + type: evaluate_write + address: [MAIN, 0x5E0B0F8, 0, 0xB8, 0] + value_type: double + value: [FPS_TARGET, FRAMETIME_TARGET] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010088B01572E000/E5AD28BC6E790692.yaml b/SaltySD/plugins/FPSLocker/patches/010088B01572E000/E5AD28BC6E790692.yaml new file mode 100644 index 0000000..cffdde4 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010088B01572E000/E5AD28BC6E790692.yaml @@ -0,0 +1,10 @@ +# Commandos 3 - HD Remaster 1.00.053 +# BID: E5AD28BC6E790692 + +ALL_FPS: + # REF: 0x3D042108 hardcoded in assembly + - + type: evaluate_write + address: [MAIN, 0xB282A0] + value_type: float + value: "1 / FPS_LOCK_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100890021AE2000/55E2BD1FFCD31993.yaml b/SaltySD/plugins/FPSLocker/patches/0100890021AE2000/55E2BD1FFCD31993.yaml new file mode 100644 index 0000000..761aad5 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100890021AE2000/55E2BD1FFCD31993.yaml @@ -0,0 +1,11 @@ +# 옛날 옛적에 괴혼 / 從前從前有個塊魂 1.0.3 +# BID: 55E2BD1FFCD31993 + +ALL_FPS: + # Dynamic Resolution + ## REF: App.KatamariSin.AppSupport_TypeInfo + - + type: evaluate_write + address: [MAIN, 0x8F858B8, 0xB8, 0x18] + value_type: double + value: "0.9 * FRAMETIME_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010090100E334000/CBFC09BA9105CD4D.yaml b/SaltySD/plugins/FPSLocker/patches/010090100E334000/CBFC09BA9105CD4D.yaml new file mode 100644 index 0000000..635ea3e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010090100E334000/CBFC09BA9105CD4D.yaml @@ -0,0 +1,12 @@ +# Don't Starve Together 1.24.0 +# BID: CBFC09BA9105CD4D + +ALL_FPS: + # FPS Lock + # REF: Find instruction 36 D9 34 F8, use X9 to find main offset + - + type: evaluate_write + address: [MAIN, 0x91C448, 0, 0x320] + address_unsafe: true + value_type: float + value: "1 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010093D00CB22000/E8418C6B4BDCC1EE.yaml b/SaltySD/plugins/FPSLocker/patches/010093D00CB22000/E8418C6B4BDCC1EE.yaml new file mode 100644 index 0000000..fc646f0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010093D00CB22000/E8418C6B4BDCC1EE.yaml @@ -0,0 +1,25 @@ +# Maneater 1.02 +# BID: E8418C6B4BDCC1EE + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x6FF8FB0, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x70241F0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x6858620, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01009EB00EBAA000/4BC4A8A814FD46A4.yaml b/SaltySD/plugins/FPSLocker/patches/01009EB00EBAA000/4BC4A8A814FD46A4.yaml new file mode 100644 index 0000000..ca94095 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01009EB00EBAA000/4BC4A8A814FD46A4.yaml @@ -0,0 +1,25 @@ +# ウィッチャー3 ワイルドハント コンプリートエディション `Cartridge only` 4.04a-4.04b +# BID: 4BC4A8A814FD46A4 + +ALL_FPS: + # DRGameTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312B4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # DRCinematicTargetFrameTimeInMs + - + type: evaluate_write + address: [MAIN, 0x41312E4] + value_type: float + value: "0.945 * FRAMETIME_TARGET" + # LimitFPS + - + type: evaluate_write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01009F201CFBC000/0BB69E112916D851.yaml b/SaltySD/plugins/FPSLocker/patches/01009F201CFBC000/0BB69E112916D851.yaml new file mode 100644 index 0000000..b86fceb --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01009F201CFBC000/0BB69E112916D851.yaml @@ -0,0 +1,10 @@ +# 팩맨 월드 2 리팩 / 吃豆人 吃遍世界2 1.0.4 +# BID: 0BB69E112916D851 + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x87DF838, 0x58] + value_type: uint32 + value: "2352000 * FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100A5A020D5E000/16346DDFF65961FF.yaml b/SaltySD/plugins/FPSLocker/patches/0100A5A020D5E000/16346DDFF65961FF.yaml new file mode 100644 index 0000000..3400cbe --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A5A020D5E000/16346DDFF65961FF.yaml @@ -0,0 +1,10 @@ +# Dinkum 1.0.2.47 +# BID: 16346DDFF65961FF + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x5C6C220, 0x48] + value_type: float + value: "1 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100A78021ADE000/140809A5980FB2E2.yaml b/SaltySD/plugins/FPSLocker/patches/0100A78021ADE000/140809A5980FB2E2.yaml new file mode 100644 index 0000000..708f7a1 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A78021ADE000/140809A5980FB2E2.yaml @@ -0,0 +1,11 @@ +# Once Upon A KATAMARI EUR 1.0.3 +# BID: 140809A5980FB2E2 + +ALL_FPS: + # Dynamic Resolution + ## REF: App.KatamariSin.AppSupport_TypeInfo + - + type: evaluate_write + address: [MAIN, 0x8F858B8, 0xB8, 0x18] + value_type: double + value: "0.9 * FRAMETIME_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100A9801180E000/B0ADB498E82BC644.yaml b/SaltySD/plugins/FPSLocker/patches/0100A9801180E000/B0ADB498E82BC644.yaml new file mode 100644 index 0000000..8eb7026 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A9801180E000/B0ADB498E82BC644.yaml @@ -0,0 +1,26 @@ +# KAMEN RIDER memory of heroez Premium Sound Edition 1.0.2 +# BID: B0ADB498E82BC644 + +DECLARATIONS: + - + type: variable + name: dr_target + value_type: double + default_value: 40 + evaluate: "0.96 * FRAMETIME_TARGET" + - + type: code + name: getDrTarget + instructions: [ + [adrp, x0, $dr_target], + [ldr, d1, [x0, $dr_target]], + [ret] + ] +MASTER_WRITE: + # REF: 01 8d 47 fd + - + type: asm_a64 + main_offset: 0xAC6368 + instructions: [ + [bl, _getDrTarget()] + ] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100AFE01EC6C000/635E7DB24F2BCD32.yaml b/SaltySD/plugins/FPSLocker/patches/0100AFE01EC6C000/635E7DB24F2BCD32.yaml new file mode 100644 index 0000000..69e7a2e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100AFE01EC6C000/635E7DB24F2BCD32.yaml @@ -0,0 +1,25 @@ +# KIBORG 1.0 +# BID: 635E7DB24F2BCD32 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x7EB55E0, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # r.VSync + - + type: write + address: [MAIN, 0x6EE0290, 0] + value_type: uint32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7EF6AC8, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100B36008F90000/2F0040A6AA0866EF.yaml b/SaltySD/plugins/FPSLocker/patches/0100B36008F90000/2F0040A6AA0866EF.yaml new file mode 100644 index 0000000..6b96794 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B36008F90000/2F0040A6AA0866EF.yaml @@ -0,0 +1,28 @@ +# INAZUMA ELEVEN: Victory Road 1.5.0 +# BID: 2F0040A6AA0866EF + +DECLARATIONS: + - + type: variable + name: fps_target + value_type: float + default_value: 30 + evaluate: FPS_TARGET +MASTER_WRITE: + # Dynamic Resolution FPS Target + ## REF: 62 02 23 1E 21 18 22 1E, ucvtf + fdiv + - + type: asm_a64 + main_offset: 0xC475D8 + instructions: [ + [adrp, x9, $fps_target], + [ldr, s1, [x9, $fps_target]] + ] +ALL_FPS: + # Disable FPS Lock + ## REF: 20 01 00 A9 00 01 63 9E, second LDRB below that, IDA will show address after full analyze + - + type: write + address: [MAIN, 0x37676D9] + value_type: uint8 + value: 0 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100B36008F90000/F99F0CE4FC4567ED.yaml b/SaltySD/plugins/FPSLocker/patches/0100B36008F90000/F99F0CE4FC4567ED.yaml new file mode 100644 index 0000000..e2a5b15 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B36008F90000/F99F0CE4FC4567ED.yaml @@ -0,0 +1,28 @@ +# INAZUMA ELEVEN: Victory Road 2.0.1 +# BID: F99F0CE4FC4567ED + +DECLARATIONS: + - + type: variable + name: fps_target + value_type: float + default_value: 30 + evaluate: FPS_TARGET +MASTER_WRITE: + # Dynamic Resolution FPS Target + ## REF: 62 02 23 1E 21 18 22 1E, ucvtf + fdiv + - + type: asm_a64 + main_offset: 0xC5EAA8 + instructions: [ + [adrp, x9, $fps_target], + [ldr, s1, [x9, $fps_target]] + ] +ALL_FPS: + # Disable FPS Lock + ## REF: 20 01 00 A9 00 01 63 9E, second LDRB below that, IDA will show address after full analyze + - + type: write + address: [MAIN, 0x37850BD] + value_type: uint8 + value: 0 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100B6001E6D6000/6895E4F3E01808C4.yaml b/SaltySD/plugins/FPSLocker/patches/0100B6001E6D6000/6895E4F3E01808C4.yaml new file mode 100644 index 0000000..c303f56 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B6001E6D6000/6895E4F3E01808C4.yaml @@ -0,0 +1,16 @@ +# Fabledom 1.0.7 +# BID: 6895E4F3E01808C4 + +ALL_FPS: + # DynamicResolution_TypeInfo + - + type: evaluate_write + address: [MAIN, 0x673C9A0, 0xB8, 0] + value_type: double + value: [FPS_TARGET, FRAMETIME_TARGET] + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x6BFF660, 0x48] + value_type: float + value: "1 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100BDF0197C8000/B7242BF0E5B17B6F.yaml b/SaltySD/plugins/FPSLocker/patches/0100BDF0197C8000/B7242BF0E5B17B6F.yaml new file mode 100644 index 0000000..3b14766 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100BDF0197C8000/B7242BF0E5B17B6F.yaml @@ -0,0 +1,11 @@ +# ワンス・アポン・ア・塊魂 1.0.4 +# BID: B7242BF0E5B17B6F + +ALL_FPS: + # Dynamic Resolution + ## REF: App.KatamariSin.AppSupport_TypeInfo + - + type: evaluate_write + address: [MAIN, 0x8F86948, 0xB8, 0x18] + value_type: double + value: "0.9 * FRAMETIME_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100C2801CFB8000/0BB69E112916D851.yaml b/SaltySD/plugins/FPSLocker/patches/0100C2801CFB8000/0BB69E112916D851.yaml new file mode 100644 index 0000000..c2537ca --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100C2801CFB8000/0BB69E112916D851.yaml @@ -0,0 +1,10 @@ +# PAC-MAN WORLD 2 Re-PAC 1.0.4 +# BID: 0BB69E112916D851 + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x87DF838, 0x58] + value_type: uint32 + value: "2352000 * FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100C47025F3A000/553262E59A96741B.yaml b/SaltySD/plugins/FPSLocker/patches/0100C47025F3A000/553262E59A96741B.yaml new file mode 100644 index 0000000..d62b897 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100C47025F3A000/553262E59A96741B.yaml @@ -0,0 +1,33 @@ +# Detective - Rainy Night 1.0.1-1.0.2 +# BID: 553262E59A96741B +# Game has bug that makes it work 2x slower than in other platforms, so with this patch we are also fixing the issue across all FPS ranges + +ALL_FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x7EEA3E8, 0xC34] + address_unsafe: true + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x7EA95E0, 0] + value_type: float + value: ["0.9 * FRAMETIME_TARGET", "0.9 * FRAMETIME_TARGET"] + # r.VSync + - + type: write + address: [MAIN, 0x6ED4290, 0] + value_type: uint32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7EEAAB8, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100C63021ADC000/C65BE8468BF1EC89.yaml b/SaltySD/plugins/FPSLocker/patches/0100C63021ADC000/C65BE8468BF1EC89.yaml new file mode 100644 index 0000000..06dd311 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100C63021ADC000/C65BE8468BF1EC89.yaml @@ -0,0 +1,11 @@ +# Once Upon A KATAMARI US 1.0.3 +# BID: C65BE8468BF1EC89 + +ALL_FPS: + # Dynamic Resolution + ## REF: App.KatamariSin.AppSupport_TypeInfo + - + type: evaluate_write + address: [MAIN, 0x8F858B8, 0xB8, 0x18] + value_type: double + value: "0.9 * FRAMETIME_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100C75019274000/582ADD6F24A2A6B7.yaml b/SaltySD/plugins/FPSLocker/patches/0100C75019274000/582ADD6F24A2A6B7.yaml new file mode 100644 index 0000000..7275da3 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100C75019274000/582ADD6F24A2A6B7.yaml @@ -0,0 +1,25 @@ +# TEMPUS 1.0.0 +# BID: 582ADD6F24A2A6B7 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x69881C8, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] + # r.VSync + - + type: write + address: [MAIN, 0x61BA938, 0] + value_type: uint32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x69B5D98, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100CFB01CDCE000/F678FD2BB197125B.yaml b/SaltySD/plugins/FPSLocker/patches/0100CFB01CDCE000/F678FD2BB197125B.yaml new file mode 100644 index 0000000..7c04a1b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100CFB01CDCE000/F678FD2BB197125B.yaml @@ -0,0 +1,25 @@ +# Rune Factory: Guardians of Azuma `Cartridge only` 1.1.1 +# BID: F678FD2BB197125B + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x8F68D40, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x8FA2470, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x7F816E8, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100CFD01517A000/2438B00670539268.yaml b/SaltySD/plugins/FPSLocker/patches/0100CFD01517A000/2438B00670539268.yaml new file mode 100644 index 0000000..82008c1 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100CFD01517A000/2438B00670539268.yaml @@ -0,0 +1,25 @@ +# A Juggler's Tale 1.17 +# BID: 2438B00670539268 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x65F9970, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # r.VSync + - + type: write + address: [MAIN, 0x5E59728, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x6624488, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100DC9020B30000/3F6808C5518371F9.yaml b/SaltySD/plugins/FPSLocker/patches/0100DC9020B30000/3F6808C5518371F9.yaml new file mode 100644 index 0000000..d218b8a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100DC9020B30000/3F6808C5518371F9.yaml @@ -0,0 +1,10 @@ +# Garfield Kart 2 - All You Can Drift 1.0.5 +# BID: 3F6808C5518371F9 + +ALL_FPS: + # Eden.Graphics.DynamicResolutionScaler_TypeInfo + - + type: evaluate_write + address: [MAIN, 0xF648538, 0xB8, 0x18, 0x20] + value_type: float + value: ["0.93 / FPS_TARGET", "(0.93 / FPS_TARGET) - 0.002", "(0.93 / FPS_TARGET) - 0.001"] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100E4900D266000/85BF83CDD25CC542.yaml b/SaltySD/plugins/FPSLocker/patches/0100E4900D266000/85BF83CDD25CC542.yaml new file mode 100644 index 0000000..47141bb --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100E4900D266000/85BF83CDD25CC542.yaml @@ -0,0 +1,30 @@ +# Jet Kave Adventure 1.1.0 +# BID: 85BF83CDD25CC542 + +MASTER_WRITE: + # Remove custom FPS lock + # REF: FrameLimiter.d__3::MoveNext() + - + type: asm_a64 + main_offset: 0x16CDC8C + instructions: [ + [mov, w0, wzr] + ] + # Set nvn interval to 2 to lock game back to 30 FPS + - + type: bytes + main_offset: 0x3EEDEC8 + value_type: uint32 + value: 2 + - + type: asm_a64 + main_offset: 0x1A2334C + instructions: [ + [nop] + ] + - + type: asm_a64 + main_offset: 0x1A1554C + instructions: [ + [nop] + ] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100E9400FE34000/33DBE39C8A83F1E6.yaml b/SaltySD/plugins/FPSLocker/patches/0100E9400FE34000/33DBE39C8A83F1E6.yaml index e26d937..3ac8c20 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100E9400FE34000/33DBE39C8A83F1E6.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100E9400FE34000/33DBE39C8A83F1E6.yaml @@ -1,4 +1,4 @@ -# Endling 1.3.0 +# Endling 1.3.0-1.3.1 # BID: 33DBE39C8A83F1E6 ALL_FPS: @@ -22,4 +22,4 @@ ALL_FPS: value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] - type: block - what: timing \ No newline at end of file + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100EBE020BC0000/6C434B4568552ADB.yaml b/SaltySD/plugins/FPSLocker/patches/0100EBE020BC0000/6C434B4568552ADB.yaml new file mode 100644 index 0000000..364faaf --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100EBE020BC0000/6C434B4568552ADB.yaml @@ -0,0 +1,37 @@ +# EVERYBODY'S GOLF: Hot Shots EUR 1.1.5 +# BID: 6C434B4568552ADB +# Changed frametime target value math formula because default one sucks at 60 FPS target + +DECLARATIONS: + - + type: variable + name: dr_frametime_max + value_type: double + default_value: 40 + evaluate: "0.9 * FRAMETIME_TARGET" + - + type: variable + name: dr_frametime_min + value_type: double + default_value: 33.3333333333 + evaluate: "(0.9 * FRAMETIME_TARGET) - 6" +MASTER_WRITE: + # REF: 0a 00 a4 d2 8a 08 e8 f2 41 01 67 9e + - + type: asm_a64 + main_offset: 0x3977188 + instructions: [ + [adrp, x10, $dr_frametime_max], + [ldr, d1, [x10, $dr_frametime_max]], + [nop] + ] + # REF: 00 0d 40 fd 0a 00 b8 d2 + - + type: asm_a64 + main_offset: 0x397725C + instructions: [ + [adrp, x10, $dr_frametime_min], + [ldr, d1, [x10, $dr_frametime_min]], + [nop], + [nop] + ] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100EC5013ED2000/3C1DC69847A35C30.yaml b/SaltySD/plugins/FPSLocker/patches/0100EC5013ED2000/3C1DC69847A35C30.yaml new file mode 100644 index 0000000..0c03a2e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100EC5013ED2000/3C1DC69847A35C30.yaml @@ -0,0 +1,25 @@ +# パラダイスキラー 1.3.0 +# BID: 3C1DC69847A35C30 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: evaluate_write + address: [MAIN, 0x7D1C738, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7D41D80, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x7552E58, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100F1101BB9E000/5A2EE9B7315F91E5.yaml b/SaltySD/plugins/FPSLocker/patches/0100F1101BB9E000/5A2EE9B7315F91E5.yaml new file mode 100644 index 0000000..f53cde0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100F1101BB9E000/5A2EE9B7315F91E5.yaml @@ -0,0 +1,74 @@ +# Tales of Xillia Remastered 1.0.2 +# BID: 5A2EE9B7315F91E5 + +DECLARATIONS: + - + type: variable + name: patch_running + value_type: uint8 + default_value: 0 + - + type: code + name: applyCustomSpeed + instructions: [ + [adrp, x4, $patch_running], + [ldrb, w4, [x4, $patch_running]], + [cbnz, w4, :goto1], + [stp, s0, s1, [x8, 0x6C]], + :goto1, [ret] + ] +MASTER_WRITE: + # Block updating game speed + ## REF: 00 85 0d 2d + - + type: asm_a64 + main_offset: 0x244EF94 + instructions: [ + [bl, _applyCustomSpeed()] + ] + - + type: asm_a64 + main_offset: 0x28F3A1C + instructions: [ + [bl, _applyCustomSpeed()] + ] + - + type: asm_a64 + main_offset: 0x2B2E4D4 + instructions: [ + [bl, _applyCustomSpeed()] + ] +ALL_FPS: + # Game Speed + ## REF: Global_TypeInfo + - + type: evaluate_write + address: [MAIN, 0x82E1310, 0xB8, 0x6C] + value_type: float + value: [FPS_TARGET, "60 / FPS_TARGET"] + # Just in case, dunno if they are used for anything, but all of them were set to target strictly 30 FPS + # UnityEngine.Time::maximumDeltaTime + - + type: write + address: [MAIN, 0x9FEC278, 0x100] + value_type: float + value: [0.066666666, 0.066666666] + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x9FEC278, 0x48] + value_type: float + value: "1 / FPS_TARGET" + # UnityEngine.Application::targetFrameRate + - + type: evaluate_write + address: [MAIN, 0x84FE4E8] + value_type: uint32 + value: FPS_TARGET + - + type: compare + compare_address: [VARIABLE, patch_running] + compare_type: "==" + compare_value: 0 + address: [VARIABLE, patch_running] + value: 1 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100F18023E72000/14A66A472139D638.yaml b/SaltySD/plugins/FPSLocker/patches/0100F18023E72000/14A66A472139D638.yaml new file mode 100644 index 0000000..f7c5573 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100F18023E72000/14A66A472139D638.yaml @@ -0,0 +1,25 @@ +# System Shock 2.0.3 +# BID: 14A66A472139D638 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x63C3408, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # r.VSync + - + type: write + address: [MAIN, 0x5BF4108, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x63F10C8, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100F8100B982000/3CAC2B84D43AF415.yaml b/SaltySD/plugins/FPSLocker/patches/0100F8100B982000/3CAC2B84D43AF415.yaml new file mode 100644 index 0000000..0cbac06 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100F8100B982000/3CAC2B84D43AF415.yaml @@ -0,0 +1,25 @@ +# Monster Energy Supercross - The Official Videogame 2 1.0.6 +# BID: 3CAC2B84D43AF415 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x8B1ACB0, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x8B44E30, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x82D7990, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/saltysd_bootstrap.elf b/SaltySD/saltysd_bootstrap.elf index a089f75..6f6a29d 100644 Binary files a/SaltySD/saltysd_bootstrap.elf and b/SaltySD/saltysd_bootstrap.elf differ diff --git a/SaltySD/saltysd_bootstrap32_3k.elf b/SaltySD/saltysd_bootstrap32_3k.elf index 8f888e4..a2aa088 100644 Binary files a/SaltySD/saltysd_bootstrap32_3k.elf and b/SaltySD/saltysd_bootstrap32_3k.elf differ diff --git a/SaltySD/saltysd_bootstrap32_5k.elf b/SaltySD/saltysd_bootstrap32_5k.elf index b52e489..9c27a07 100644 Binary files a/SaltySD/saltysd_bootstrap32_5k.elf and b/SaltySD/saltysd_bootstrap32_5k.elf differ diff --git a/SaltySD/saltysd_core.elf b/SaltySD/saltysd_core.elf index a5ef561..6daba36 100644 Binary files a/SaltySD/saltysd_core.elf and b/SaltySD/saltysd_core.elf differ diff --git a/SaltySD/saltysd_core32.elf b/SaltySD/saltysd_core32.elf index 8fd878d..a589e4c 100644 Binary files a/SaltySD/saltysd_core32.elf and b/SaltySD/saltysd_core32.elf differ diff --git a/atmosphere/contents/0000000000534C56/exefs.nsp b/atmosphere/contents/0000000000534C56/exefs.nsp index 7bcedb0..a70d203 100644 Binary files a/atmosphere/contents/0000000000534C56/exefs.nsp and b/atmosphere/contents/0000000000534C56/exefs.nsp differ diff --git a/atmosphere/contents/0000000000534C56/toolbox.json b/atmosphere/contents/0000000000534C56/toolbox.json index dd81b28..b4df567 100644 --- a/atmosphere/contents/0000000000534C56/toolbox.json +++ b/atmosphere/contents/0000000000534C56/toolbox.json @@ -1,6 +1,6 @@ { - "name": "SaltyNX", - "tid": "0000000000534C56", - "requires_reboot": true, - "version": "1.5.4" + "name": "SaltyNX", + "tid": "0000000000534C56", + "requires_reboot": true, + "version": "1.7.2" } diff --git a/atmosphere/contents/010000000000bd00/exefs.nsp b/atmosphere/contents/010000000000bd00/exefs.nsp index eba6ad1..e69de29 100644 Binary files a/atmosphere/contents/010000000000bd00/exefs.nsp and b/atmosphere/contents/010000000000bd00/exefs.nsp differ diff --git a/atmosphere/contents/420000000000000B/exefs.nsp b/atmosphere/contents/420000000000000B/exefs.nsp index 99c1a36..ae64ae4 100644 Binary files a/atmosphere/contents/420000000000000B/exefs.nsp and b/atmosphere/contents/420000000000000B/exefs.nsp differ diff --git a/atmosphere/contents/690000000000000D/exefs.nsp b/atmosphere/contents/690000000000000D/exefs.nsp index 4579880..e69de29 100644 Binary files a/atmosphere/contents/690000000000000D/exefs.nsp and b/atmosphere/contents/690000000000000D/exefs.nsp differ diff --git a/atmosphere/exefs_patches/SaltyNX_Fixes/IDs.txt b/atmosphere/exefs_patches/SaltyNX_Fixes/IDs.txt index 2b546d4..10b85d6 100644 --- a/atmosphere/exefs_patches/SaltyNX_Fixes/IDs.txt +++ b/atmosphere/exefs_patches/SaltyNX_Fixes/IDs.txt @@ -1,5 +1,5 @@ 10C14AD346AE02E32AA52A9030A3A87B98D89642000000000000000000000000.ips - Stubbs the Zombie in Rebel Without a Pulse 1.0.3, TID: 0100964012528000 ECF4B91AF1B669ECD92829F25E4B530EE48985FA000000000000000000000000.ips - Stubbs the Zombie in Rebel Without a Pulse 1.0.0, TID: 0100964012528000 -053ABE9494B5397AE818B3721DE50995.ips - Olympic Games Tokyo 2020 EUR/AUS 1.0.0, TID: 010034B00E14C000 -C4D1BCED9D8C5B813295345B7F9FDF97.ips - Olympic Games Tokyo 2020 EUR/AUS 1.0.2, TID: 010034B00E14C000 +053ABE9494B5397AE818B3721DE50995.ips - Olympic Games Tokyo 2020 EUR/AUS + US 1.0.0, TID: 010034B00E14C000 + 0100A8B00E14A000 +C4D1BCED9D8C5B813295345B7F9FDF97.ips - Olympic Games Tokyo 2020 EUR/AUS + US 1.0.2, TID: 010034B00E14C000 + 0100A8B00E14A000 66A8EB853DE90A1AF13D19DA575E339B.ips - Olympic Games Tokyo 2020 Asia 1.0.9, TID: 01004CE00AAE2000 diff --git a/atmosphere/exefs_patches/hid_patches/12DB6C7DF6BF40BC02695C611EC46F458504A5AD.ips b/atmosphere/exefs_patches/hid_patches/12DB6C7DF6BF40BC02695C611EC46F458504A5AD.ips new file mode 100644 index 0000000..e70e8aa Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/12DB6C7DF6BF40BC02695C611EC46F458504A5AD.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/403978CD2BC64E4ACB3BF1A5E556F582BFC3498B.ips b/atmosphere/exefs_patches/hid_patches/403978CD2BC64E4ACB3BF1A5E556F582BFC3498B.ips new file mode 100644 index 0000000..e70e8aa Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/403978CD2BC64E4ACB3BF1A5E556F582BFC3498B.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/8BDBD223E61D122E98CDBFC77C231BBB5CBE56E3.ips b/atmosphere/exefs_patches/hid_patches/8BDBD223E61D122E98CDBFC77C231BBB5CBE56E3.ips new file mode 100644 index 0000000..e70e8aa Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/8BDBD223E61D122E98CDBFC77C231BBB5CBE56E3.ips differ diff --git a/atmosphere/package3 b/atmosphere/package3 index 0f7c1b7..05bc321 100644 Binary files a/atmosphere/package3 and b/atmosphere/package3 differ diff --git a/atmosphere/reboot_payload.bin b/atmosphere/reboot_payload.bin index 2fcc8f5..6644b14 100644 Binary files a/atmosphere/reboot_payload.bin and b/atmosphere/reboot_payload.bin differ diff --git a/atmosphere/stratosphere.romfs b/atmosphere/stratosphere.romfs index f51d538..6577551 100644 Binary files a/atmosphere/stratosphere.romfs and b/atmosphere/stratosphere.romfs differ diff --git a/bootloader/payloads/Lockpick_RCM.bin b/bootloader/payloads/Lockpick_RCM.bin index 97dd6b8..f44b68a 100644 Binary files a/bootloader/payloads/Lockpick_RCM.bin and b/bootloader/payloads/Lockpick_RCM.bin differ diff --git a/bootloader/payloads/TegraExplorer.bin b/bootloader/payloads/TegraExplorer.bin index 099460d..0b4860f 100644 Binary files a/bootloader/payloads/TegraExplorer.bin and b/bootloader/payloads/TegraExplorer.bin differ diff --git a/bootloader/sys/emummc.kipm b/bootloader/sys/emummc.kipm index 277a8c7..45fa938 100644 Binary files a/bootloader/sys/emummc.kipm and b/bootloader/sys/emummc.kipm differ diff --git a/bootloader/sys/libsys_lp0.bso b/bootloader/sys/libsys_lp0.bso index 6655b28..db9a085 100644 Binary files a/bootloader/sys/libsys_lp0.bso and b/bootloader/sys/libsys_lp0.bso differ diff --git a/bootloader/sys/libsys_minerva.bso b/bootloader/sys/libsys_minerva.bso index e43cbb5..448b6a1 100644 Binary files a/bootloader/sys/libsys_minerva.bso and b/bootloader/sys/libsys_minerva.bso differ diff --git a/bootloader/sys/nyx.bin b/bootloader/sys/nyx.bin index ccc90c7..77dc864 100644 Binary files a/bootloader/sys/nyx.bin and b/bootloader/sys/nyx.bin differ diff --git a/bootloader/sys/res.pak b/bootloader/sys/res.pak index f70e950..a7b9c8c 100644 Binary files a/bootloader/sys/res.pak and b/bootloader/sys/res.pak differ diff --git a/bootloader/update.bin b/bootloader/update.bin index 2fcc8f5..6644b14 100644 Binary files a/bootloader/update.bin and b/bootloader/update.bin differ diff --git a/config/sys-patch/config.ini b/config/sys-patch/config.ini index 294de37..5687f83 100644 --- a/config/sys-patch/config.ini +++ b/config/sys-patch/config.ini @@ -1,27 +1,34 @@ [options] -patch_sysmmc=1 ; 1=(default) patch sysmmc, 0=don't patch sysmmc -patch_emummc=1 ; 1=(default) patch emummc, 0=don't patch emummc -enable_logging=1 ; 1=(default) output /config/sys-patch/log.ini 0=no log -version_skip=1 ; 1=(default) skips out of date patterns, 0=search all patterns +patch_sysmmc=1 +patch_emummc=1 +enable_logging=1 +version_skip=1 [fs] -noacidsigchk1=1 -noacidsigchk2=1 -noncasigchk_old=1 -noncasigchk_new=1 -nocntchk=1 -nocntchk2=1 +noacidsigchk_1.0.0-9.2.0=1 +noncasigchk_10.0.0-16.1.0=1 +noncasigchk_17.0.0+=1 +nocntchk_10.0.0-18.1.0=1 +nocntchk_19.0.0-20.5.0=1 +nocntchk_21.0.0+=1 [ldr] -noacidsigchk=1 +noacidsigchk_10.0.0+=1 +[erpt] +no_erpt=1 [es] -es1=1 -es2=1 -es3=1 +es_1.0.0-8.1.1=1 +es_9.0.0-11.0.1=1 +es_12.0.0-18.1.0=1 +es_19.0.0+=1 +[olsc] +olsc_6.0.0-14.1.2=1 +olsc_15.0.0-18.1.0=1 +olsc_19.0.0+=1 [nifm] -ctest=1 -ctest2=1 +ctest_1.0.0-19.0.1=1 +ctest_20.0.0+=1 [nim] -nim=1 -[ssl] -disablecaverification1=0 -disablecaverification2=0 -disablecaverification3=0 +blankcal0crashfix_17.0.0+=1 +blockfirmwareupdates_1.0.0-5.1.0=1 +blockfirmwareupdates_6.0.0-6.2.0=1 +blockfirmwareupdates_7.0.0-11.0.1=1 +blockfirmwareupdates_12.0.0+=1 diff --git a/config/ultrahand/lang/de.json b/config/ultrahand/lang/de.json index 1b5d540..ee9266b 100644 --- a/config/ultrahand/lang/de.json +++ b/config/ultrahand/lang/de.json @@ -94,7 +94,8 @@ "OPTIONS": "Optionen", "FAILED_TO_OPEN": "Konnte Paket nicht öffnen", "LAUNCH_COMBOS": "Start-Kombos", - "NOTIFICATIONS": "Benachrichtigungen", + "STARTUP_NOTIFICATION": "Startmitteilung", + "EXTERNAL_NOTIFICATIONS": "Externe Benachrichtigungen", "SOUND_EFFECTS": "Soundeffekte", "HAPTIC_FEEDBACK": "Haptisches Feedback", "OPAQUE_SCREENSHOTS": "Undurchsichtige Screenshots", @@ -134,7 +135,8 @@ "LIBULTRAHAND_TITLES": "libultrahand Titel", "LIBULTRAHAND_VERSIONS": "libultrahand Versionen", "PACKAGE_TITLES": "Paket-Titel", - "ULTRAHAND_HAS_STARTED": "Ultrahand wurde gestartet.", + "ULTRAHAND_HAS_STARTED": "Ultrahand gestartet.", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand hergestartet.", "NEW_UPDATE_IS_AVAILABLE": "Neues Update verfügbar!", "DELETE_PACKAGE": "Paket löschen", "DELETE_OVERLAY": "Overlay löschen", diff --git a/config/ultrahand/lang/en.json b/config/ultrahand/lang/en.json index 1cbac90..11ca642 100644 --- a/config/ultrahand/lang/en.json +++ b/config/ultrahand/lang/en.json @@ -94,7 +94,8 @@ "OPTIONS": "Options", "FAILED_TO_OPEN": "Failed to open file", "LAUNCH_COMBOS": "Launch Combos", - "NOTIFICATIONS": "Notifications", + "STARTUP_NOTIFICATION": "Startup Notification", + "EXTERNAL_NOTIFICATIONS": "External Notifications", "SOUND_EFFECTS": "Sound Effects", "HAPTIC_FEEDBACK": "Haptic Feedback", "OPAQUE_SCREENSHOTS": "Opaque Screenshots", @@ -135,6 +136,7 @@ "LIBULTRAHAND_VERSIONS": "libultrahand Versions", "PACKAGE_TITLES": "Package Titles", "ULTRAHAND_HAS_STARTED": "Ultrahand has started.", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand has restarted.", "NEW_UPDATE_IS_AVAILABLE": "New update is available!", "DELETE_PACKAGE": "Delete Package", "DELETE_OVERLAY": "Delete Overlay", diff --git a/config/ultrahand/lang/es.json b/config/ultrahand/lang/es.json index cccbb65..20f2d87 100644 --- a/config/ultrahand/lang/es.json +++ b/config/ultrahand/lang/es.json @@ -94,7 +94,8 @@ "OPTIONS": "Opciones", "FAILED_TO_OPEN": "No se pudo abrir", "LAUNCH_COMBOS": "Combos de inicio", - "NOTIFICATIONS": "Notificaciones", + "STARTUP_NOTIFICATION": "Notificación de inicio,", + "EXTERNAL_NOTIFICATIONS": "Notificaciones externas,", "SOUND_EFFECTS": "Efectos de sonido", "HAPTIC_FEEDBACK": "Vibración", "OPAQUE_SCREENSHOTS": "Capturas opacas", @@ -134,7 +135,8 @@ "LIBULTRAHAND_TITLES": "Títulos libultrahand", "LIBULTRAHAND_VERSIONS": "Versiones libultrahand", "PACKAGE_TITLES": "Títulos de paquete", - "ULTRAHAND_HAS_STARTED": "Ultrahand iniciado.", + "ULTRAHAND_HAS_STARTED": "Ultrahand iniciado,", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand reiniciado,", "NEW_UPDATE_IS_AVAILABLE": "¡Nueva actualización disponible!", "DELETE_PACKAGE": "Eliminar paquete", "DELETE_OVERLAY": "Eliminar superposición", diff --git a/config/ultrahand/lang/fr.json b/config/ultrahand/lang/fr.json index 9a759e6..f0870f6 100644 --- a/config/ultrahand/lang/fr.json +++ b/config/ultrahand/lang/fr.json @@ -94,7 +94,8 @@ "OPTIONS": "Options", "FAILED_TO_OPEN": "Échec ouverture fichier", "LAUNCH_COMBOS": "Combos lancement", - "NOTIFICATIONS": "Notifications", + "STARTUP_NOTIFICATION": "Notification au démarrage,", + "EXTERNAL_NOTIFICATIONS": "Notifications externes,", "SOUND_EFFECTS": "Effets sonores", "HAPTIC_FEEDBACK": "Retour haptique", "OPAQUE_SCREENSHOTS": "Captures opaques", @@ -135,6 +136,7 @@ "LIBULTRAHAND_VERSIONS": "Versions libultrahand", "PACKAGE_TITLES": "Titres paquet", "ULTRAHAND_HAS_STARTED": "Ultrahand démarré.", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand redémarré,", "NEW_UPDATE_IS_AVAILABLE": "Mise à jour disponible !", "DELETE_PACKAGE": "Supprimer paquet", "DELETE_OVERLAY": "Supprimer overlay", diff --git a/config/ultrahand/lang/it.json b/config/ultrahand/lang/it.json index f5ccb9c..bd2fdd2 100644 --- a/config/ultrahand/lang/it.json +++ b/config/ultrahand/lang/it.json @@ -94,7 +94,8 @@ "OPTIONS": "Opzioni", "FAILED_TO_OPEN": "Impossibile aprire", "LAUNCH_COMBOS": "Combinazioni avvio", - "NOTIFICATIONS": "Notifiche", + "STARTUP_NOTIFICATION": "Notifica di avvio,", + "EXTERNAL_NOTIFICATIONS": "Notifiche esterne,", "SOUND_EFFECTS": "Effetti sonori", "HAPTIC_FEEDBACK": "Feedback aptico", "OPAQUE_SCREENSHOTS": "Screenshot opachi", @@ -134,7 +135,8 @@ "LIBULTRAHAND_TITLES": "Titoli libultrahand", "LIBULTRAHAND_VERSIONS": "Versioni libultrahand", "PACKAGE_TITLES": "Titoli pacchetto", - "ULTRAHAND_HAS_STARTED": "Ultrahand avviato.", + "ULTRAHAND_HAS_STARTED": "Ultrahand avviato,", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand riavviato,", "NEW_UPDATE_IS_AVAILABLE": "Nuovo aggiornamento disponibile!", "DELETE_PACKAGE": "Elimina pacchetto", "DELETE_OVERLAY": "Elimina sovrapposizione", diff --git a/config/ultrahand/lang/ja.json b/config/ultrahand/lang/ja.json index 677f2ec..e4823cc 100644 --- a/config/ultrahand/lang/ja.json +++ b/config/ultrahand/lang/ja.json @@ -94,7 +94,8 @@ "OPTIONS": "オプション", "FAILED_TO_OPEN": "開けませんでした", "LAUNCH_COMBOS": "起動コンボ", - "NOTIFICATIONS": "通知", + "STARTUP_NOTIFICATION": "起動通知", + "EXTERNAL_NOTIFICATIONS": "外部通知", "SOUND_EFFECTS": "サウンド", "HAPTIC_FEEDBACK": "振動フィードバック", "OPAQUE_SCREENSHOTS": "不透明スクショ", @@ -134,12 +135,13 @@ "LIBULTRAHAND_TITLES": "libultrahandタイトル", "LIBULTRAHAND_VERSIONS": "libultrahandバージョン", "PACKAGE_TITLES": "パッケージタイトル", - "ULTRAHAND_HAS_STARTED": "Ultrahand起動完了", + "ULTRAHAND_HAS_STARTED": "Ultrahand起動完了。", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand再起動しました。", "NEW_UPDATE_IS_AVAILABLE": "更新あり!", "DELETE_PACKAGE": "パッケージ削除", "DELETE_OVERLAY": "オーバーレイ削除", "SELECTION_IS_EMPTY": "選択なし", - "FORCED_SUPPORT_WARNING": "強制対応は危険です", + "FORCED_SUPPORT_WARNING": "強制対応は危険です。", "TASK_IS_COMPLETE": "完了!", "TASK_HAS_FAILED": "失敗", "SUNDAY": "日曜日", diff --git a/config/ultrahand/lang/ko.json b/config/ultrahand/lang/ko.json index 19db15d..5296e25 100644 --- a/config/ultrahand/lang/ko.json +++ b/config/ultrahand/lang/ko.json @@ -94,7 +94,8 @@ "OPTIONS": "옵션", "FAILED_TO_OPEN": "파일 열기 실패", "LAUNCH_COMBOS": "실행 콤보", - "NOTIFICATIONS": "알림", + "STARTUP_NOTIFICATION": "시작 알림", + "EXTERNAL_NOTIFICATIONS": "외부 알림", "SOUND_EFFECTS": "사운드 효과", "HAPTIC_FEEDBACK": "진동 피드백", "OPAQUE_SCREENSHOTS": "불투명 캡처", @@ -134,12 +135,13 @@ "LIBULTRAHAND_TITLES": "libultrahand 제목", "LIBULTRAHAND_VERSIONS": "libultrahand 버전", "PACKAGE_TITLES": "패키지 제목", - "ULTRAHAND_HAS_STARTED": "Ultrahand 시작됨", + "ULTRAHAND_HAS_STARTED": "Ultrahand 시작됨。", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand 재시작됨。", "NEW_UPDATE_IS_AVAILABLE": "새 업데이트 있음!", "DELETE_PACKAGE": "패키지 삭제", "DELETE_OVERLAY": "오버레이 삭제", "SELECTION_IS_EMPTY": "선택 비어 있음!", - "FORCED_SUPPORT_WARNING": "강제 지원은 위험할 수 있음", + "FORCED_SUPPORT_WARNING": "강제 지원은 위험할 수 있음。", "TASK_IS_COMPLETE": "작업 완료!", "TASK_HAS_FAILED": "작업 실패", "SUNDAY": "일요일", diff --git a/config/ultrahand/lang/nl.json b/config/ultrahand/lang/nl.json index 21fe1b3..ad1e1b9 100644 --- a/config/ultrahand/lang/nl.json +++ b/config/ultrahand/lang/nl.json @@ -94,7 +94,8 @@ "OPTIONS": "Opties", "FAILED_TO_OPEN": "Bestand openen mislukt", "LAUNCH_COMBOS": "Startcombinaties", - "NOTIFICATIONS": "Meldingen", + "STARTUP_NOTIFICATION": "Opstartmelding", + "EXTERNAL_NOTIFICATIONS": "Externe meldingen", "SOUND_EFFECTS": "Geluidseffecten", "HAPTIC_FEEDBACK": "Haptische feedback", "OPAQUE_SCREENSHOTS": "Ondoorzichtige screenshots", @@ -135,6 +136,7 @@ "LIBULTRAHAND_VERSIONS": "libultrahand-versies", "PACKAGE_TITLES": "Pakkettitels", "ULTRAHAND_HAS_STARTED": "Ultrahand gestart.", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand herstart.", "NEW_UPDATE_IS_AVAILABLE": "Update beschikbaar!", "DELETE_PACKAGE": "Pakket verwijderen", "DELETE_OVERLAY": "Overlay verwijderen", diff --git a/config/ultrahand/lang/pl.json b/config/ultrahand/lang/pl.json index 9d1fbf9..52aef54 100644 --- a/config/ultrahand/lang/pl.json +++ b/config/ultrahand/lang/pl.json @@ -94,7 +94,8 @@ "OPTIONS": "Opcje", "FAILED_TO_OPEN": "Nie udało się otworzyć", "LAUNCH_COMBOS": "Kombinacje startowe", - "NOTIFICATIONS": "Powiadomienia", + "STARTUP_NOTIFICATION": "Powiadomienie startowe", + "EXTERNAL_NOTIFICATIONS": "Zewnętrzne powiadomienia", "SOUND_EFFECTS": "Efekty dźwiękowe", "HAPTIC_FEEDBACK": "Wibracje", "OPAQUE_SCREENSHOTS": "Nieprzezroczyste zrzuty", @@ -135,6 +136,7 @@ "LIBULTRAHAND_VERSIONS": "Wersje libultrahand", "PACKAGE_TITLES": "Tytuły paczek", "ULTRAHAND_HAS_STARTED": "Ultrahand uruchomiony.", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand zrestartowany.", "NEW_UPDATE_IS_AVAILABLE": "Dostępna aktualizacja!", "DELETE_PACKAGE": "Usuń paczkę", "DELETE_OVERLAY": "Usuń nakładkę", diff --git a/config/ultrahand/lang/pt.json b/config/ultrahand/lang/pt.json index c06a259..2bd2493 100644 --- a/config/ultrahand/lang/pt.json +++ b/config/ultrahand/lang/pt.json @@ -94,7 +94,8 @@ "OPTIONS": "Opções", "FAILED_TO_OPEN": "Falha ao abrir", "LAUNCH_COMBOS": "Combinações de inicialização", - "NOTIFICATIONS": "Notificações", + "STARTUP_NOTIFICATION": "Notificação ao iniciar", + "EXTERNAL_NOTIFICATIONS": "Notificações externas", "SOUND_EFFECTS": "Efeitos sonoros", "HAPTIC_FEEDBACK": "Vibração", "OPAQUE_SCREENSHOTS": "Capturas opacas", @@ -135,6 +136,7 @@ "LIBULTRAHAND_VERSIONS": "Versões libultrahand", "PACKAGE_TITLES": "Títulos de pacote", "ULTRAHAND_HAS_STARTED": "Ultrahand iniciado.", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand reiniciado.", "NEW_UPDATE_IS_AVAILABLE": "Nova atualização disponível!", "DELETE_PACKAGE": "Excluir pacote", "DELETE_OVERLAY": "Excluir sobreposição", diff --git a/config/ultrahand/lang/ru.json b/config/ultrahand/lang/ru.json index 3133bc5..d15dbca 100644 --- a/config/ultrahand/lang/ru.json +++ b/config/ultrahand/lang/ru.json @@ -94,7 +94,8 @@ "OPTIONS": "Опции", "FAILED_TO_OPEN": "Не удалось открыть", "LAUNCH_COMBOS": "Комбо запуска", - "NOTIFICATIONS": "Уведомления", + "STARTUP_NOTIFICATION": "Уведомление при запуске", + "EXTERNAL_NOTIFICATIONS": "Внешние уведомления", "SOUND_EFFECTS": "Звуковые эффекты", "HAPTIC_FEEDBACK": "Виброотклик", "OPAQUE_SCREENSHOTS": "Непрозрачные скриншоты", @@ -134,7 +135,8 @@ "LIBULTRAHAND_TITLES": "Заголовки libultrahand", "LIBULTRAHAND_VERSIONS": "Версии libultrahand", "PACKAGE_TITLES": "Заголовки пакетов", - "ULTRAHAND_HAS_STARTED": "Ultrahand запущен", + "ULTRAHAND_HAS_STARTED": "Ultrahand запущен.", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand перезапущен.", "NEW_UPDATE_IS_AVAILABLE": "Доступно обновление!", "DELETE_PACKAGE": "Удалить пакет", "DELETE_OVERLAY": "Удалить оверлей", diff --git a/config/ultrahand/lang/uk.json b/config/ultrahand/lang/uk.json index 19596d4..4eb6a01 100644 --- a/config/ultrahand/lang/uk.json +++ b/config/ultrahand/lang/uk.json @@ -94,7 +94,8 @@ "OPTIONS": "Опції", "FAILED_TO_OPEN": "Не вдалося відкрити", "LAUNCH_COMBOS": "Комбо запуску", - "NOTIFICATIONS": "Сповіщення", + "STARTUP_NOTIFICATION": "Сповіщення при запуску", + "EXTERNAL_NOTIFICATIONS": "Зовнішні сповіщення", "SOUND_EFFECTS": "Звукові ефекти", "HAPTIC_FEEDBACK": "Вібровідгук", "OPAQUE_SCREENSHOTS": "Непрозорі скріншоти", @@ -134,7 +135,8 @@ "LIBULTRAHAND_TITLES": "Заголовки libultrahand", "LIBULTRAHAND_VERSIONS": "Версії libultrahand", "PACKAGE_TITLES": "Заголовки пакетів", - "ULTRAHAND_HAS_STARTED": "Ultrahand запущено", + "ULTRAHAND_HAS_STARTED": "Ultrahand запущено.", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand перезапущено.", "NEW_UPDATE_IS_AVAILABLE": "Доступне оновлення!", "DELETE_PACKAGE": "Видалити пакет", "DELETE_OVERLAY": "Видалити оверлей", diff --git a/config/ultrahand/lang/zh-cn.json b/config/ultrahand/lang/zh-cn.json index 597a057..cc612dd 100644 --- a/config/ultrahand/lang/zh-cn.json +++ b/config/ultrahand/lang/zh-cn.json @@ -94,7 +94,8 @@ "OPTIONS": "选项", "FAILED_TO_OPEN": "打开失败", "LAUNCH_COMBOS": "启动组合键", - "NOTIFICATIONS": "通知", + "STARTUP_NOTIFICATION": "启动通知", + "EXTERNAL_NOTIFICATIONS": "外部通知", "SOUND_EFFECTS": "音效", "HAPTIC_FEEDBACK": "震动反馈", "OPAQUE_SCREENSHOTS": "不透明截图", @@ -134,12 +135,13 @@ "LIBULTRAHAND_TITLES": "libultrahand 标题", "LIBULTRAHAND_VERSIONS": "libultrahand 版本", "PACKAGE_TITLES": "插件包标题", - "ULTRAHAND_HAS_STARTED": "Ultrahand 已启动", + "ULTRAHAND_HAS_STARTED": "Ultrahand 已启动。", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand 已重启。", "NEW_UPDATE_IS_AVAILABLE": "有新版本!", "DELETE_PACKAGE": "删除插件包", "DELETE_OVERLAY": "删除插件", "SELECTION_IS_EMPTY": "未选中任何项!", - "FORCED_SUPPORT_WARNING": "强制支持可能有风险", + "FORCED_SUPPORT_WARNING": "强制支持可能有风险。", "TASK_IS_COMPLETE": "任务完成!", "TASK_HAS_FAILED": "任务失败", "SUNDAY": "星期日", diff --git a/config/ultrahand/lang/zh-tw.json b/config/ultrahand/lang/zh-tw.json index 9cf2796..1d52713 100644 --- a/config/ultrahand/lang/zh-tw.json +++ b/config/ultrahand/lang/zh-tw.json @@ -94,7 +94,8 @@ "OPTIONS": "選項", "FAILED_TO_OPEN": "開啟失敗", "LAUNCH_COMBOS": "啟動組合鍵", - "NOTIFICATIONS": "通知", + "STARTUP_NOTIFICATION": "啟動通知", + "EXTERNAL_NOTIFICATIONS": "外部通知", "SOUND_EFFECTS": "音效", "HAPTIC_FEEDBACK": "震動回饋", "OPAQUE_SCREENSHOTS": "不透明截圖", @@ -134,12 +135,13 @@ "LIBULTRAHAND_TITLES": "libultrahand 標題", "LIBULTRAHAND_VERSIONS": "libultrahand 版本", "PACKAGE_TITLES": "外掛包標題", - "ULTRAHAND_HAS_STARTED": "Ultrahand 已啟動", + "ULTRAHAND_HAS_STARTED": "Ultrahand 已啟動。", + "ULTRAHAND_HAS_RESTARTED": "Ultrahand 已重啟。", "NEW_UPDATE_IS_AVAILABLE": "有新版本!", "DELETE_PACKAGE": "刪除外掛包", "DELETE_OVERLAY": "刪除外掛", "SELECTION_IS_EMPTY": "未選中任何項目!", - "FORCED_SUPPORT_WARNING": "強制支援可能有風險", + "FORCED_SUPPORT_WARNING": "強制支援可能有風險。", "TASK_IS_COMPLETE": "任務完成!", "TASK_HAS_FAILED": "任務失敗", "SUNDAY": "星期日", diff --git a/payload.bin b/payload.bin index 2fcc8f5..6644b14 100644 Binary files a/payload.bin and b/payload.bin differ diff --git a/switch/.overlays/FPSLocker.ovl b/switch/.overlays/FPSLocker.ovl index 0f48393..d2ee10e 100644 Binary files a/switch/.overlays/FPSLocker.ovl and b/switch/.overlays/FPSLocker.ovl differ diff --git a/switch/.overlays/Status-Monitor-Overlay.ovl b/switch/.overlays/Status-Monitor-Overlay.ovl index faf4232..8277319 100644 Binary files a/switch/.overlays/Status-Monitor-Overlay.ovl and b/switch/.overlays/Status-Monitor-Overlay.ovl differ diff --git a/switch/.overlays/ovlEdiZon.ovl b/switch/.overlays/ovlEdiZon.ovl index c983e23..fe0c552 100644 Binary files a/switch/.overlays/ovlEdiZon.ovl and b/switch/.overlays/ovlEdiZon.ovl differ diff --git a/switch/.overlays/ovlSysmodules.ovl b/switch/.overlays/ovlSysmodules.ovl index f9cf282..01ccfd8 100644 Binary files a/switch/.overlays/ovlSysmodules.ovl and b/switch/.overlays/ovlSysmodules.ovl differ diff --git a/switch/.overlays/ovlmenu.ovl b/switch/.overlays/ovlmenu.ovl index 4bce1a7..dd7d728 100644 Binary files a/switch/.overlays/ovlmenu.ovl and b/switch/.overlays/ovlmenu.ovl differ diff --git a/switch/.overlays/sys-clk-overlay.ovl b/switch/.overlays/sys-clk-overlay.ovl index 3df8ffd..b09bc89 100644 Binary files a/switch/.overlays/sys-clk-overlay.ovl and b/switch/.overlays/sys-clk-overlay.ovl differ diff --git a/switch/DBI/DBI.nro b/switch/DBI/DBI.nro index e1d6cef..e0349c9 100644 Binary files a/switch/DBI/DBI.nro and b/switch/DBI/DBI.nro differ