diff --git a/README.md b/README.md index cc0bb56..6b54ce2 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ### Ultra - это функциональная кастомная прошивка для Nintendo Switch, с упором в разгон и улучшенный пользовательский опыт. -### [Ultra 2.3](https://github.com/Ultra-NX/Ultra/releases/latest/) Поддерживает HOS 19.0.1 и все ревизии консолей +### [Ultra 2.4](https://github.com/Ultra-NX/Ultra/releases/latest/) Поддерживает HOS 20.0.1 и все ревизии консолей @@ -24,7 +24,7 @@ * DBI с встроенным notUltraNX репозиторием игр, больше не нужно каждый раз искать новый шоп Тинфоила. * Подробная [Wiki](https://github.com/Ultra-NX/Ultra/wiki) в которой есть ответы почти на все вопросы. * [Форки](https://github.com/Ultra-NX/Ultra-Resources/tree/main/patches) (свои модификации) программ и компонентов, нужные для удобства, безопасности и расширения возможностей: - * Форк Атмосферы с прописанной версией Ультры в информации о системе, и отключенными репортами, обычно засоряющими сд карту, тратящими ее ресурс и ломающими файловю систему. + * Форк Атмосферы с прописанной версией Ультры в информации о системе, и отключенными репортами, обычно засоряющими сд карту, тратящими ее ресурс и ломающими файловую систему. Так же исправлена работа старых форвардеров (важно для хоумбрю игр/эмуляторов). * Форки SaltyNX и FPSLocker, с поддержкой изменения частоты обновления экрана и с поддержкой OLED. * Форк Mission Control, с вырезанной "пасхалкой", делающей джойконы жовто-блакитными. * Форк Status Monitor с отображением текущих вольтажей и уникальными модулями Микро Оверлея, пресеты которых можно менять через Ultra Tuner. @@ -40,7 +40,7 @@ 1. **Установленные пейлоады**: - * [Lockpick_RCM](https://gbatemp.net/download/lockpick_rcm-1-9-13-fw-19-zoria-source.38837) - Программа для снятия ключей консоли. + * [Lockpick RCM](https://github.com/impeeza/Lockpick_RCMDecScots) - Программа для снятия ключей консоли. * [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer) - Низкоуровневый файловый менеджер для работы с системой. diff --git a/README_ENG.md b/README_ENG.md index e766ed4..7d79e98 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. -### [Ultra 2.3](https://github.com/Ultra-NX/Ultra/releases/latest/) Supports HOS 19.0.1 and all console revisions +### [Ultra 2.4](https://github.com/Ultra-NX/Ultra/releases/latest/) Supports HOS 20.0.1 and all console revisions @@ -36,7 +36,7 @@ 1. **Installed Payloads**: - * [Lockpick_RCM](https://gbatemp.net/download/lockpick_rcm-1-9-13-fw-19-zoria-source.38837/) - Program for dumping console keys. + * [Lockpick RCM](https://github.com/impeeza/Lockpick_RCMDecScots) - Program for dumping console keys. * [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer) - A low-level file manager for working with the system. diff --git a/SaltySD/exceptions.txt b/SaltySD/exceptions.txt index ca683b9..a514855 100644 --- a/SaltySD/exceptions.txt +++ b/SaltySD/exceptions.txt @@ -49,4 +49,8 @@ X0100964012528000 ;Donkey Kong Country: Tropical Freeze ;Crash at second level -X0100C1F0051B6000 \ No newline at end of file +X0100C1F0051B6000 + +;Death Road to Canada +;1.0.8 crash +X0100423009358000 diff --git a/SaltySD/plugins/FPSLocker/patches/0100001019F6E000/E13F632FC2A66EEB.yaml b/SaltySD/plugins/FPSLocker/patches/0100001019F6E000/E13F632FC2A66EEB.yaml new file mode 100644 index 0000000..1e1a41e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100001019F6E000/E13F632FC2A66EEB.yaml @@ -0,0 +1,27 @@ +# Horizon Chase 2 1.6.9 +# BID: E13F632FC2A66EEB + +unsafeCheck: true + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x8349850, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x8B36A30, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x8B11598, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010008E01E32A000/AD4CBC4878008E1E.yaml b/SaltySD/plugins/FPSLocker/patches/010008E01E32A000/AD4CBC4878008E1E.yaml new file mode 100644 index 0000000..5a393e6 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010008E01E32A000/AD4CBC4878008E1E.yaml @@ -0,0 +1,30 @@ +# S.T.A.L.K.E.R.: Call of Prypiat 1.0.3 +# BID: AD4CBC4878008E1E + +unsafeCheck: true + +ALL_FPS: + # psLoadedFrameLimitFps + - + type: evaluate_write + address: [MAIN, 0x17F9784] + value_type: float + value: FPS_LOCK_TARGET + # psCurrentFrameLimitFps + - + type: evaluate_write + address: [MAIN, 0x18168A0] + value_type: float + value: FPS_LOCK_TARGET + # psCurrentFrameLimitMs + - + type: evaluate_write + address: [MAIN, 0x1A8490C] + value_type: float + value: "1000 / FPS_LOCK_TARGET" + # ResolutionInfo::sDynresGPUBudgetMs + - + type: evaluate_write + address: [MAIN, 0x17F9760] + value_type: float + value: "FRAMETIME_TARGET - (1/30)" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010009D018A06000/C2F2C4B700B30598.yaml b/SaltySD/plugins/FPSLocker/patches/010009D018A06000/C2F2C4B700B30598.yaml new file mode 100644 index 0000000..644fe70 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010009D018A06000/C2F2C4B700B30598.yaml @@ -0,0 +1,27 @@ +# SWORD ART ONLINE Fractured Daydream JAP 1.3.0 +# BID: C2F2C4B700B30598 + +unsafeCheck: true + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x8FD6748, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x9011290, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x8810F08, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01000AA013A5E000/B26DE1669B729335.yaml b/SaltySD/plugins/FPSLocker/patches/01000AA013A5E000/B26DE1669B729335.yaml new file mode 100644 index 0000000..9105c85 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01000AA013A5E000/B26DE1669B729335.yaml @@ -0,0 +1,27 @@ +# Breathedge 1.0.2 +# BID: B26DE1669B729335 + +unsafeCheck: false + +ALL_FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x55CB668, 0x7F0] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x55CBDE0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x4E6A7B8, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100111004460000/6D9EA94F8AAC00A8.yaml b/SaltySD/plugins/FPSLocker/patches/0100111004460000/6D9EA94F8AAC00A8.yaml index 8fd1786..c44c840 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100111004460000/6D9EA94F8AAC00A8.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100111004460000/6D9EA94F8AAC00A8.yaml @@ -1,7 +1,6 @@ # SONIC FORCES 1.1.0 # BID: 6D9EA94F8AAC00A8 # Game speed is tied to framerate -# Above 30 FPS level 8 is harder to beat and level 20 impossible to beat unsafeCheck: true @@ -12,10 +11,27 @@ MASTER_WRITE: main_offset: 0xAD40FC value_type: uint32 value: 0x52800068 + # Block switching back to 30 FPS mode on loading screens + - + type: bytes + main_offset: 0x6173B0 + value_type: uint32 + value: 0xD503201F ALL_FPS: - # FPS target (FPS * 2) + # Switch to 60 FPS Mode + - + type: write + address: [MAIN, 0x1CAC518, 0x28, 0x20, 0x14] + value_type: uint32 + value: 1 + # FPS target - type: evaluate_write address: [MAIN, 0x1C38C28, 0x1C] value_type: float - value: "FPS_TARGET * 2" + value: FPS_TARGET + - + type: evaluate_write + address: [MAIN, 0x1C38C28, 0x14C] + value_type: float + value: FPS_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01001270012B6000/6D9EA94F8AAC00A8.yaml b/SaltySD/plugins/FPSLocker/patches/01001270012B6000/6D9EA94F8AAC00A8.yaml index 8fd1786..c44c840 100644 --- a/SaltySD/plugins/FPSLocker/patches/01001270012B6000/6D9EA94F8AAC00A8.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01001270012B6000/6D9EA94F8AAC00A8.yaml @@ -1,7 +1,6 @@ # SONIC FORCES 1.1.0 # BID: 6D9EA94F8AAC00A8 # Game speed is tied to framerate -# Above 30 FPS level 8 is harder to beat and level 20 impossible to beat unsafeCheck: true @@ -12,10 +11,27 @@ MASTER_WRITE: main_offset: 0xAD40FC value_type: uint32 value: 0x52800068 + # Block switching back to 30 FPS mode on loading screens + - + type: bytes + main_offset: 0x6173B0 + value_type: uint32 + value: 0xD503201F ALL_FPS: - # FPS target (FPS * 2) + # Switch to 60 FPS Mode + - + type: write + address: [MAIN, 0x1CAC518, 0x28, 0x20, 0x14] + value_type: uint32 + value: 1 + # FPS target - type: evaluate_write address: [MAIN, 0x1C38C28, 0x1C] value_type: float - value: "FPS_TARGET * 2" + value: FPS_TARGET + - + type: evaluate_write + address: [MAIN, 0x1C38C28, 0x14C] + value_type: float + value: FPS_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/8D4FD57DB7D63120.yaml b/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/8D4FD57DB7D63120.yaml new file mode 100644 index 0000000..5c17673 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001CC01B2D4000/8D4FD57DB7D63120.yaml @@ -0,0 +1,27 @@ +# Goat Simulator 3 1.0.7.6 +# BID: 8D4FD57DB7D63120 + +unsafeCheck: false + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x99DD468, 0] + value_type: float + value: ["0.81 * FRAMETIME_TARGET", "0.81 * FRAMETIME_TARGET"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x9A03290, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x920DB48, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010027B01E32C000/C7E4E6F4167C8E3A.yaml b/SaltySD/plugins/FPSLocker/patches/010027B01E32C000/C7E4E6F4167C8E3A.yaml new file mode 100644 index 0000000..7f0ad7e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010027B01E32C000/C7E4E6F4167C8E3A.yaml @@ -0,0 +1,30 @@ +# S.T.A.L.K.E.R.: Clear Sky 1.0.3 +# BID: C7E4E6F4167C8E3A + +unsafeCheck: true + +ALL_FPS: + # psLoadedFrameLimitFps + - + type: evaluate_write + address: [MAIN, 0x17D4774] + value_type: float + value: FPS_LOCK_TARGET + # psCurrentFrameLimitFps + - + type: evaluate_write + address: [MAIN, 0x17F18E8] + value_type: float + value: FPS_LOCK_TARGET + # psCurrentFrameLimitMs + - + type: evaluate_write + address: [MAIN, 0x1A5F36C] + value_type: float + value: "1000 / FPS_LOCK_TARGET" + # ResolutionInfo::sDynresGPUBudgetMs + - + type: evaluate_write + address: [MAIN, 0x17D4750] + value_type: float + value: "FRAMETIME_TARGET - (1/30)" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010029B0118E8000/799D1061182C1302.yaml b/SaltySD/plugins/FPSLocker/patches/010029B0118E8000/799D1061182C1302.yaml index f648b05..c9e1ac7 100644 --- a/SaltySD/plugins/FPSLocker/patches/010029B0118E8000/799D1061182C1302.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010029B0118E8000/799D1061182C1302.yaml @@ -4,25 +4,40 @@ unsafeCheck: true +MASTER_WRITE: + # Remove FPS Lock + - + type: bytes + main_offset: 0x4835A4 + value_type: uint32 + value: 0xD503201F ALL_FPS: + # Switch game to 60 FPS mode + - + type: write + address: [MAIN, 0xF0043C] + value_type: uint32 + value: 1 # FPS Target - type: evaluate_write address: [MAIN, 0xED96A8, 0x30] - value_type: uint64 - value: "(FRAMETIME_TARGET / 2) * 19200" + value_type: uint32 + value: "19200000 / FPS_TARGET" + - + type: evaluate_write + address: [MAIN, 0xED96A8, 0x28] + value_type: uint32 + value: "1920000 / FPS_TARGET" # FPS 2D Game Speed Target - type: evaluate_write address: [MAIN, 0xEFFC60, 0x30] value_type: float - value: "0.5 / FPS_TARGET" + value: "1 / FPS_TARGET" # FPS 3D Game Speed Target - type: evaluate_write address: [MAIN, 0xEFFC60, 0x50] value_type: float - value: "0.5 / FPS_TARGET" - - - type: block - what: timing + value: "1 / FPS_TARGET" diff --git a/SaltySD/plugins/FPSLocker/patches/01002C101C1AA000/3DCE80782561A0CA.yaml b/SaltySD/plugins/FPSLocker/patches/01002C101C1AA000/3DCE80782561A0CA.yaml new file mode 100644 index 0000000..37fc76c --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002C101C1AA000/3DCE80782561A0CA.yaml @@ -0,0 +1,27 @@ +# Expeditions: A Mudrunner Game 1.16.0.0 +# BID: 3DCE80782561A0CA +# REF: 01 04 0C 5E 00 10 2E 1E + +unsafeCheck: true + +MASTER_WRITE: +# Redirect DR frametime target to MAIN+0x36B4F00 + - + type: bytes + main_offset: 0x171E454 + value_type: uint32 + value: + - 0xD000FCAC # adrp x12, #0x36B4000 + - 0xBD4F0182 # ldr s2, [x12, #0xf00] + # default value + - + type: bytes + main_offset: 0x36B4F00 + value_type: float + value: 33.3333333333 +ALL_FPS: + - + type: evaluate_write + address: [MAIN, 0x36B4F00] + value_type: float + value: FRAMETIME_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/2A720C7CE5C84905.yaml b/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/2A720C7CE5C84905.yaml new file mode 100644 index 0000000..91f9426 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/2A720C7CE5C84905.yaml @@ -0,0 +1,356 @@ +# Xenoblade Chronicles X: Definitive Edition 1.0.2 +# BID: 2A720C7CE5C84905 + +unsafeCheck: true + +MASTER_WRITE: + # Dynamic speed mod for stuff like UI, lipsync, grass and rain + ## Redirect nvnQueuePresentTexture call to code cave at MAIN+0x1735050 + - + type: bytes + main_offset: 0x95EED8 + value_type: uint32 + value: 0x1437585E + ## Code Cave (save floats for speed factor to MAIN+0x47BE268, frametime as FPS in MAIN+0x47BE26C, frametime in s in MAIN+0x47BE270) + - + type: bytes + main_offset: 0x1735050 + value_type: uint32 + value: + - 0xD63F0100 + - 0x97FFF52B + - 0xB0018448 + - 0xF9413107 + - 0xF9013100 + - 0xB5000047 + - 0x17C8A79D + - 0xCB070000 + - 0x97FFF528 + - 0xB0018448 + - 0xB9430101 + - 0xEB00003F + - 0x5400004B + - 0xAA0103E0 + - 0xD2881541 + - 0xF2A07F21 + - 0xEB00003F + - 0x5400004C + - 0xAA0103E0 + - 0x9E630000 + - 0xD00005A0 + - 0xFD46AC01 + - 0x1E611800 + - 0xD2807D00 + - 0x9E630001 + - 0x1E601821 + - 0xB0018440 + - 0x1E624021 + - 0xBD026C01 + - 0x1E27D002 + - 0x1E211842 + - 0xBD026802 + - 0xD2807D01 + - 0x9E630021 + - 0x1E611801 + - 0x1E624021 + - 0xBD027001 + - 0x17C8A77E + ## Default values for code cave + - + type: bytes + main_offset: 0x47BE268 + value_type: float + value: [1.0, 30.0, 0.033333333333] + - + type: bytes + main_offset: 0x47BE300 + value_type: uint32 + value: 33333333 + ## Function 1 to speed factor // Usage unknown + - + type: bytes + main_offset: 0x286968 + value_type: uint32 + value: + - 0x900229D5 + - 0xF9470D00 + - 0xBD426AAA + ## Function 3 to speed factor // Usage unknown + - + type: bytes + main_offset: 0xA16F00 + value_type: uint32 + value: + - 0x9001ED40 + - 0xBD426808 + ## Function 4 to FPS // UI Speed + - + type: bytes + main_offset: 0xA1F060 + value_type: uint32 + value: + - 0xF001ECE0 + - 0x1E270100 + - 0xBD426C00 + ## Function 5 to FPS // Usage unknown + - + type: bytes + main_offset: 0x2672DC + value_type: uint32 + value: + - 0xF0022A20 + - 0x1E270100 + - 0x7940D268 + - 0xBD426C05 + ## Function 6 to FPS + - + type: bytes + main_offset: 0x26DB70 + value_type: uint32 + value: + - 0xB0022A80 + - 0xBD426C00 + - 0x1E390000 + - 0x528000C9 + - 0x1AC90808 + ## Function 7 to Frametime in s // Gameplay + cutscene speed + - + type: bytes + main_offset: 0x1E2924 + value_type: uint32 + value: 0x90022EE9 + - + type: bytes + main_offset: 0x1E2938 + value_type: uint32 + value: 0xBD427120 + # Adjust various elements related to fighting + - + type: bytes + main_offset: 0x1E8F48 + value_type: uint32 + value: 0x1455308B + ## Code cave + - + type: bytes + main_offset: 0x1735174 + value_type: uint32 + value: + - 0xB0018449 + - 0xBD426920 + - 0x17AACF74 + ## Fix gun speed + - + type: bytes + main_offset: 0x30FACC + value_type: uint32 + value: 0xD503201F + # Redirect DR Target to MAIN+0x47BEF00 + - + type: bytes + main_offset: 0x13A90B4 + value_type: uint32 + value: + - 0xB001A0A8 + - 0xBD4F0100 + ## Default value + - + type: bytes + main_offset: 0x47BEF00 + value_type: float + value: 0.01666666666 + # Adjust camera speed rotation dynamically + ## Code cave + - + type: bytes + main_offset: 0x1735108 + value_type: uint32 + value: + - 0xB0018448 + - 0xBD426908 + - 0x1E200900 + - 0x1E202008 + - 0x540000AA + - 0x1E214000 + - 0x1E21C000 + - 0x1E214000 + - 0xD65F03C0 + - 0x1E21C000 + - 0xD65F03C0 + ## Connect function 1 + - + type: bytes + main_offset: 0x1E17A0 + value_type: uint32 + value: 0x94554E5A + ## Connect function 2 + - + type: bytes + main_offset: 0x1E17B0 + value_type: uint32 + value: 0xAD7D03A1 + - + type: bytes + main_offset: 0x1E17BC + value_type: uint32 + value: 0x94554E53 + # Force 1s sleep to synchronize audio if cutscene detected + ## Use function responsible for writing type 4 of cutscene + - + type: bytes + main_offset: 0x2FB0D8 + value_type: uint32 + value: 0x1450E820 + ### Code cave + - + type: bytes + main_offset: 0x1735158 + value_type: uint32 + value: + - 0x52800094 + - 0xD00045C0 + - 0xB90AF414 + - 0xD2994000 + - 0xF2A77340 + - 0x97FFF3D9 + - 0x17AF17DB + # Adjust Field Action gauge bar speed + - + type: bytes + main_offset: 0xE5E00 + value_type: uint32 + value: + - 0xB00236C0 + - 0xF000E369 + - 0xBD426808 + ## Fix for FN Site + - + type: bytes + main_offset: 0xE5858 + value_type: uint32 + value: 0x14593E24 + ### Code cave + - + type: bytes + main_offset: 0x17350E8 + value_type: uint32 + value: + - 0xBD40D260 + - 0xB0018440 + - 0xBD426801 + - 0x1E210800 + - 0x17A6C1D9 + # Fix long jump when not running + - + type: bytes + main_offset: 0x23EF70 + value_type: uint32 + value: 0x1453D863 + ## Code cave + - + type: bytes + main_offset: 0x17350FC + value_type: uint32 + value: + - 0x1E27D00B + - 0x1E2B296B + - 0x17AC279C + # Adjust QTE Speed + ## Code cave + - + type: bytes + main_offset: 0x1735134 + value_type: uint32 + value: + - 0xB0018454 + - 0xBD426A81 + - 0x1400001B + - + type: bytes + main_offset: 0x17351A8 + value_type: uint32 + value: + - 0xBD412262 + - 0x1E210841 + - 0x17BA4435 + ## Connect function + - + type: bytes + main_offset: 0x5C6280 + value_type: uint32 + value: 0x1445BBAD + # Adjust Overdrive counter, Follow Ball speed + ## Code cave + - + type: bytes + main_offset: 0x1735180 + value_type: uint32 + value: + - 0xB0018440 + - 0xBD427000 + - 0xD65F03C0 + ## Connect function + - + type: bytes + main_offset: 0x67354 + value_type: uint32 + value: 0x945B36AB + # Fix fog speed + - + type: bytes + main_offset: 0x296AE0 + value_type: uint32 + value: + - 0x90022948 + - 0xBD426902 + - 0x945279B3 + ## Code cave + - + type: bytes + main_offset: 0x17351B4 + value_type: uint32 + value: + - 0x1E21C042 + - 0x1F020020 + - 0xD65F03C0 +ALL_FPS: + # FPS Target + - + type: evaluate_write + address: [MAIN, 0x47BE300] + value_type: uint32 + value: "FRAMETIME_TARGET * 1000000" + # FPS Lock + # ref: 00 01 00 b9 2a 01 00 b9 c0 03 5f d6 + - + type: write + address: [MAIN, 0x1D943A0] + value_type: int32 + value: [1, 1] + # DR Target + - + type: evaluate_write + address: [MAIN, 0x47BEF00] + value_type: float + value: "1 / FPS_TARGET" + # Lock game to 30 FPS when complex/prerendered cutscene is played + ## Adjusts DR target + - + type: compare + compare_address: [MAIN, 0x1FEFAF4] + compare_value_type: uint32 + compare_type: ">" + compare_value: 2 + address: [MAIN, 0x47BEF00] + value_type: float + value: 0.03333333333 + ## Force OS to run at 60 Hz with interval 2 + - + type: compare + compare_address: [MAIN, 0x1FEFAF4] + compare_value_type: uint32 + compare_type: ">" + compare_value: 2 + address: [MAIN] + value_type: refresh_rate + value: 30 diff --git a/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/3F2425864CF22684.yaml b/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/3F2425864CF22684.yaml index e4367e8..c9adfe3 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/3F2425864CF22684.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/3F2425864CF22684.yaml @@ -75,15 +75,6 @@ MASTER_WRITE: - 0xF0022A35 - 0xF9470D00 - 0xBD426AAA - ## Function 2 to speed factor // Weather effects (rain, fog) - - - type: bytes - main_offset: 0x2892AC - value_type: uint32 - value: - - 0x90022A20 - - 0xF000D828 - - 0xBD426801 ## Function 3 to speed factor // Usage unknown - type: bytes @@ -207,57 +198,22 @@ MASTER_WRITE: ## Use function responsible for writing type of cutscene to write its ID if it's 8 or 16 (or 0 for any other) to MAIN+0x47CDFFF - type: bytes - main_offset: 0x2CFEB4 + main_offset: 0x2FAC38 value_type: uint32 - value: 0x1451D3F7 + value: 0x14512898 ### Code cave - type: bytes - main_offset: 0x1744E90 + main_offset: 0x1744E98 value_type: uint32 value: - - 0xB9002279 - - 0x121D0720 - - 0xB0018448 - - 0x340000A0 - - 0x393FFD00 + - 0x52800094 + - 0xD00045C0 + - 0xB90AF414 - 0xD2994000 - 0xF2A77340 - 0x97FFF3D9 - - 0x17AE2C02 - ## "startEvent" to write uint8 1 to MAIN+0x47CDFFF - - - type: bytes - main_offset: 0x3ECFD8 - value_type: uint32 - value: 0x144D5FBF - ### Code cave - - - type: bytes - main_offset: 0x1744ED4 - value_type: uint32 - value: - - 0x910003FD - - 0xB0018448 - - 0x52800020 - - 0x393FFD00 - - 0x17B2A03E - ## "endEvent" to write uint8 0 to MAIN+0x47CDFFF - - - type: bytes - main_offset: 0x3ED178 - value_type: uint32 - value: 0x144D5F42 - ### Code cave - - - type: bytes - main_offset: 0x1744E80 - value_type: uint32 - value: - - 0x910003FD - - 0xB0018448 - - 0x393FFD1F - - 0x17B2A0BC + - 0x17AED763 # Adjust Field Action gauge bar speed - type: bytes @@ -308,7 +264,15 @@ MASTER_WRITE: value: - 0xB0018454 - 0xBD426A81 - - 0x17BA027E + - 0x1400001B + - + type: bytes + main_offset: 0x1744EE8 + value_type: uint32 + value: + - 0xBD412262 + - 0x1E210841 + - 0x17BA0261 ## Connect function - type: bytes @@ -331,6 +295,24 @@ MASTER_WRITE: main_offset: 0x67354 value_type: uint32 value: 0x945B76DB + # Fix fog speed + - + type: bytes + main_offset: 0x296640 + value_type: uint32 + value: + - 0xF00229A8 + - 0xBD426902 + - 0x9452BA2B + ## Code cave + - + type: bytes + main_offset: 0x1744EF4 + value_type: uint32 + value: + - 0x1E21C042 + - 0x1F020020 + - 0xD65F03C0 ALL_FPS: # FPS Target - @@ -355,20 +337,20 @@ ALL_FPS: ## Adjusts DR target - type: compare - compare_address: [MAIN, 0x47CDFFF] - compare_value_type: uint8 - compare_type: "!=" - compare_value: 0 + compare_address: [MAIN, 0x1FFEAF4] + compare_value_type: uint32 + compare_type: ">" + compare_value: 1 address: [MAIN, 0x47CDF00] value_type: float value: 0.03333333333 ## Force OS to run at 60 Hz with interval 2 - type: compare - compare_address: [MAIN, 0x47CDFFF] - compare_value_type: uint8 - compare_type: "!=" - compare_value: 0 + compare_address: [MAIN, 0x1FFEAF4] + compare_value_type: uint32 + compare_type: ">" + compare_value: 1 address: [MAIN] value_type: refresh_rate value: 30 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010047E01EA24000/C0D9B410A09A4ADD.yaml b/SaltySD/plugins/FPSLocker/patches/010047E01EA24000/C0D9B410A09A4ADD.yaml new file mode 100644 index 0000000..1804e92 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010047E01EA24000/C0D9B410A09A4ADD.yaml @@ -0,0 +1,27 @@ +# Star Overdrive 1.0.5 +# BID: C0D9B410A09A4ADD + +unsafeCheck: true + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x674B6E8, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: evaluate_write + address: [MAIN, 0x77312F0, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x776B850, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01004A001E32E000/F7D1E815E44D0A56.yaml b/SaltySD/plugins/FPSLocker/patches/01004A001E32E000/F7D1E815E44D0A56.yaml new file mode 100644 index 0000000..2b61317 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004A001E32E000/F7D1E815E44D0A56.yaml @@ -0,0 +1,30 @@ +# S.T.A.L.K.E.R.: Shadow Of Chornobyl 1.0.3 +# BID: F7D1E815E44D0A56 + +unsafeCheck: true + +ALL_FPS: + # psLoadedFrameLimitFps + - + type: evaluate_write + address: [MAIN, 0x165F4EC] + value_type: float + value: FPS_LOCK_TARGET + # psCurrentFrameLimitFps + - + type: evaluate_write + address: [MAIN, 0x167B9F0] + value_type: float + value: FPS_LOCK_TARGET + # psCurrentFrameLimitMs + - + type: evaluate_write + address: [MAIN, 0x18E7ACC] + value_type: float + value: "1000 / FPS_LOCK_TARGET" + # ResolutionInfo::sDynresGPUBudgetMs + - + type: evaluate_write + address: [MAIN, 0x165F2F0] + value_type: float + value: "FRAMETIME_TARGET - (1/30)" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010050F01DF9C000/5F765D2CC4CDEF1C.yaml b/SaltySD/plugins/FPSLocker/patches/010050F01DF9C000/5F765D2CC4CDEF1C.yaml new file mode 100644 index 0000000..422f47e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010050F01DF9C000/5F765D2CC4CDEF1C.yaml @@ -0,0 +1,38 @@ +# REYNATIS (US/EU) 1.0.10 +# BID: 5F765D2CC4CDEF1C + +unsafeCheck: true + +MASTER_WRITE: + # Redirect reading DR timing in DynamicResolution::LowerResSW() to MAIN + 0x7C22F00 + # REF: 01 f0 67 1e + - + type: bytes + main_offset: 0x38E7ECC + value_type: uint32 + value: + - 0xF00219D4 # adrp x20, #0x7c22000 + - 0xFD478281 # ldr d1, [x20, #0xf00] + - 0x1E612010 # fcmpe d0, d1 + - 0x2D482269 # ldp s9, s8, [x19, #0x40] + - 0x540002CD # b.le #0x38e7f34 + - 0xBD40626A # ldr s10, [x19, #0x60] + - + type: bytes + main_offset: 0x38E7F34 + value_type: uint32 + value: + - 0xFD478681 # ldr d1, [x20, #0xf08] + # Default handheld value + - + type: bytes + main_offset: 0x7C22F00 + value_type: double + value: [31, 29] +ALL_FPS: + # Dynamic Resolution Timing + - + type: evaluate_write + address: [MAIN, 0x7C22F00] + value_type: double + value: ["0.93 * FRAMETIME_TARGET", "(0.93 * FRAMETIME_TARGET) - 2"] diff --git a/SaltySD/plugins/FPSLocker/patches/0100544020572000/153DB27728D41305.yaml b/SaltySD/plugins/FPSLocker/patches/0100544020572000/153DB27728D41305.yaml new file mode 100644 index 0000000..195f410 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100544020572000/153DB27728D41305.yaml @@ -0,0 +1,36 @@ +# Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.1.0 +# BID: 153DB27728D41305 + +unsafeCheck: false + +MASTER_WRITE: + # Redirect DR to MAIN + 0x2F11FF0 + # REF: A9 24 89 52 49 A2 A7 72 + - + type: bytes + main_offset: 0x10B09B4 + value_type: uint32 + value: + - 0xB000F309 # adrp x9, 0x2f11000 + - 0xBD4FF121 # ldr s1, [x9, 0xff0] + - 0xD503201F # nop + ## Default value + - + type: bytes + main_offset: 0x2F11FF0 + value_type: float + value: 0.035714 +ALL_FPS: + # Disable FPS Lock + # REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it + - + type: write + address: [MAIN, 0x2ED8D10, 0xE0, 0x284] + value_type: uint8 + value: 0 + # DR Target + - + type: evaluate_write + address: [MAIN, 0x2F11FF0] + value_type: float + value: "1.01 / FPS_TARGET" diff --git a/SaltySD/plugins/FPSLocker/patches/0100544020572000/5E43788065113530.yaml b/SaltySD/plugins/FPSLocker/patches/0100544020572000/5E43788065113530.yaml new file mode 100644 index 0000000..32d45d0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100544020572000/5E43788065113530.yaml @@ -0,0 +1,13 @@ +# Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.0.2 +# BID: 5E43788065113530 + +unsafeCheck: false + +ALL_FPS: + # Disable FPS Lock + # REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it + - + type: write + address: [MAIN, 0x2E8DCF0, 0xE0, 0x284] + value_type: uint8 + value: 0 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010054E01D878000/EB8D70AB59D8A4C2.yaml b/SaltySD/plugins/FPSLocker/patches/010054E01D878000/EB8D70AB59D8A4C2.yaml new file mode 100644 index 0000000..89d28ee --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010054E01D878000/EB8D70AB59D8A4C2.yaml @@ -0,0 +1,12 @@ +# EA SPORTS FC 25 1.79.b056 +# BID: EB8D70AB59D8A4C2 + +unsafeCheck: true + +ALL_FPS: + # Internal FPS Lock + - + type: evaluate_write + address: [MAIN, 0xCE71A68, 8] + value_type: double + value: FPS_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010054E01D878000/F51888C0188BFA18.yaml b/SaltySD/plugins/FPSLocker/patches/010054E01D878000/F51888C0188BFA18.yaml new file mode 100644 index 0000000..1eab45a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010054E01D878000/F51888C0188BFA18.yaml @@ -0,0 +1,12 @@ +# EA SPORTS FC 25 1.78.f2e9 +# BID: F51888C0188BFA18 + +unsafeCheck: true + +ALL_FPS: + # Internal FPS Lock + - + type: evaluate_write + address: [MAIN, 0xCE6FA68, 8] + value_type: double + value: FPS_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010056F00C7B4000/B5B9C7BB8D9716F6.yaml b/SaltySD/plugins/FPSLocker/patches/010056F00C7B4000/B5B9C7BB8D9716F6.yaml new file mode 100644 index 0000000..f964240 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010056F00C7B4000/B5B9C7BB8D9716F6.yaml @@ -0,0 +1,27 @@ +# Bravely Default II Asia 1.0.0 +# BID: B5B9C7BB8D9716F6 + +unsafeCheck: true + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x72AEE90, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x73050F0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x69AA5C0, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/293D73083149473E.yaml b/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/293D73083149473E.yaml new file mode 100644 index 0000000..6d88555 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/293D73083149473E.yaml @@ -0,0 +1,75 @@ +# WARRIORS: Abyss 1.2.1 +# BID: 293D73083149473E + +unsafeCheck: true + +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: bytes + main_offset: 0x6BD270 + value_type: uint32 + value: + - 0xB0004521 # ADRP X1, 0xF62000 + - 0xBD44D821 # LDR S1, [X1, 0x4D8] + # Redirect DR Targets to MAIN+0x13F3F00 + - + type: bytes + main_offset: 0x6BD314 + value_type: uint32 + value: + - 0xD00069A9 # ADRP X9, 0x13F3000 + - 0xBD4F0121 # LDR S1, [X9, 0xF00] + - + type: bytes + main_offset: 0x6BD324 + value_type: uint32 + value: + - 0xD00069A9 # ADRP X9, 0x13F3000 + - 0xBD4F0521 # LDR S1, [X9, 0xF04] + # Default values + - + type: bytes + main_offset: 0x13F3F00 + value_type: float + value: [50, 40] +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, 0xF624E4] + value_type: uint32 + value: "120 / FPS_LOCK_TARGET" + # Prevent from setting it as 0, otherwise game crashes + - + type: evaluate_compare + compare_address: [MAIN, 0xF624E4] + compare_type: "==" + compare_value_type: uint32 + compare_value: 0 + address: [MAIN, 0xF624E4] + value_type: uint32 + value: 1 + # Others + - + type: evaluate_write + address: [MAIN, 0xF624D8] + value_type: float + value: "FPS_TARGET" + - + type: evaluate_write + address: [MAIN, 0xF624DC] + value_type: uint32 + value: "FPS_TARGET" + - + type: evaluate_write + address: [MAIN, 0xF624E0] + value_type: float + value: "FPS_TARGET" + - + type: evaluate_write + address: [MAIN, 0x13F3F00] + value_type: float + value: ["1.5 * FRAMETIME_TARGET", "1.2 * FRAMETIME_TARGET"] diff --git a/SaltySD/plugins/FPSLocker/patches/010066F01A0E0000/B5DCAAA828DA5034.yaml b/SaltySD/plugins/FPSLocker/patches/010066F01A0E0000/B5DCAAA828DA5034.yaml new file mode 100644 index 0000000..511dbe8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010066F01A0E0000/B5DCAAA828DA5034.yaml @@ -0,0 +1,21 @@ +# Cassette Beasts 1.8.0 +# BID: B5DCAAA828DA5034 + +unsafeCheck: true + +ALL_FPS: + # physics/common/physics_fps + - + type: evaluate_write + address: [MAIN, 0x30AAAE0, 0x24] + value_type: int32 + value: FPS_TARGET + # debug/settings/fps/force_fps + - + type: evaluate_write + address: [MAIN, 0x30AAAE0, 0x30] + value_type: int32 + value: FPS_LOCK_TARGET + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01006BD018B54000/892E6C4FE0D850B5.yaml b/SaltySD/plugins/FPSLocker/patches/01006BD018B54000/892E6C4FE0D850B5.yaml new file mode 100644 index 0000000..72cf73e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01006BD018B54000/892E6C4FE0D850B5.yaml @@ -0,0 +1,27 @@ +# The Plucky Squire 1.0.8 +# BID: 892E6C4FE0D850B5 + +unsafeCheck: true + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x6C06668, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x6C34348, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x6436CE8, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01006DC010326000/05DE5A7F20BD1532.yaml b/SaltySD/plugins/FPSLocker/patches/01006DC010326000/05DE5A7F20BD1532.yaml index 5839d1f..e719acd 100644 --- a/SaltySD/plugins/FPSLocker/patches/01006DC010326000/05DE5A7F20BD1532.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01006DC010326000/05DE5A7F20BD1532.yaml @@ -16,6 +16,12 @@ ALL_FPS: address: [MAIN, 0x73050F0, 0] value_type: float value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x69AA5C0, 0] + value_type: uint32 + value: [0, 0] - type: block what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01006F301AE9C000/F50C38B64DE532F7.yaml b/SaltySD/plugins/FPSLocker/patches/01006F301AE9C000/F50C38B64DE532F7.yaml new file mode 100644 index 0000000..1b99d58 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01006F301AE9C000/F50C38B64DE532F7.yaml @@ -0,0 +1,21 @@ +# Grounded 1.12 +# BID: F50C38B64DE532F7 + +unsafeCheck: true + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x8E50418, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x8E76560, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100853015E86000/252A2FD2AD6A13FE.yaml b/SaltySD/plugins/FPSLocker/patches/0100853015E86000/252A2FD2AD6A13FE.yaml new file mode 100644 index 0000000..d3dd8e0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100853015E86000/252A2FD2AD6A13FE.yaml @@ -0,0 +1,28 @@ +# No Man's Sky 5.6.0 +# BID: 252A2FD2AD6A13FE + +unsafeCheck: true + +MASTER_WRITE: + # Redirect DR frametime target to MAIN+0x4722FF0 + # REF: 08 4E A8 52 00 01 27 1E 48 8F A8 52, ADRP + ADD + LDR above that + - + type: bytes + main_offset: 0x1F3A018 + value_type: uint32 + value: + - 0x90013F49 # adrp x9, #0x4722000 + - 0xBD4FF120 # ldr s0, [x9, #0xff0] + - 0xD503201F # NOP + # default value + - + type: bytes + main_offset: 0x4722FF0 + value_type: float + value: 30 +ALL_FPS: + - + type: evaluate_write + address: [MAIN, 0x4722FF0] + value_type: float + value: FPS_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100853015E86000/E152A4B27D349B17.yaml b/SaltySD/plugins/FPSLocker/patches/0100853015E86000/E152A4B27D349B17.yaml new file mode 100644 index 0000000..61c89ed --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100853015E86000/E152A4B27D349B17.yaml @@ -0,0 +1,28 @@ +# No Man's Sky 5.6.4 +# BID: E152A4B27D349B17 + +unsafeCheck: true + +MASTER_WRITE: + # Redirect DR frametime target to MAIN+0x4728FF0 + # REF: 08 4E A8 52 00 01 27 1E 48 8F A8 52, ADRP + ADD + LDR above that + - + type: bytes + main_offset: 0x1F3FD58 + value_type: uint32 + value: + - 0xB0013F49 # adrp x9, #0x4728000 + - 0xBD4FF120 # ldr s0, [x9, #0xff0] + - 0xD503201F # NOP + # default value + - + type: bytes + main_offset: 0x4728FF0 + value_type: float + value: 30 +ALL_FPS: + - + type: evaluate_write + address: [MAIN, 0x4728FF0] + value_type: float + value: FPS_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100926016012000/30997D8F7566EBB5.yaml b/SaltySD/plugins/FPSLocker/patches/0100926016012000/30997D8F7566EBB5.yaml new file mode 100644 index 0000000..38a61b9 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100926016012000/30997D8F7566EBB5.yaml @@ -0,0 +1,12 @@ +# PowerWash Simulator 1.10.0 +# BID: 30997D8F7566EBB5 + +unsafeCheck: false + +ALL_FPS: + # FuturLab.SingletonMonoBehaviour_TypeInfo (don't block FPSlocker internal lock because game's lock is kinda shit) + - + type: evaluate_write + address: [MAIN, 0x6043ED0, 0xB8, 0, 0x28] + value_type: int32 + value: FPS_LOCK_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010093C0215B4000/7816CA5FECA60315.yaml b/SaltySD/plugins/FPSLocker/patches/010093C0215B4000/7816CA5FECA60315.yaml new file mode 100644 index 0000000..c60ad81 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010093C0215B4000/7816CA5FECA60315.yaml @@ -0,0 +1,21 @@ +# The Hundred Line -Last Defense Academy- 1.0.3 +# BID: 7816CA5FECA60315 +# Last found function with REF: FD 7B BE A9 F3 0B 00 F9 FD 03 00 91 E0 03 01 2A stores some code related to playing above 60 FPS. Look at it if someone will have an issue playing above 60 FPS. + +unsafeCheck: true + +ALL_FPS: + # FPS Lock + # REF: 1B 41 00 00 + - + type: evaluate_write + address: [MAIN, 0xC8BC78] + value_type: uint32 + value: FRAMETIME_TARGET * 1000 + # Unknown value, but set in the same function as FPS lock, so it may be important + # REF: 3C 00 00 00 01 00 00 00 00 00 00 00 + - + type: evaluate_write + address: [MAIN, 0xC8BC44] + value_type: uint32 + value: FPS_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010097F018538000/456BDB6160D317A3.yaml b/SaltySD/plugins/FPSLocker/patches/010097F018538000/456BDB6160D317A3.yaml new file mode 100644 index 0000000..cce9627 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010097F018538000/456BDB6160D317A3.yaml @@ -0,0 +1,12 @@ +# DAVE THE DIVER 1.0.4.1034 +# BID: 456BDB6160D317A3 + +unsafeCheck: true + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x98DF500, 0x48] + value_type: float + value: "1 / FPS_TARGET" diff --git a/SaltySD/plugins/FPSLocker/patches/010097F018538000/757760621154BA5A.yaml b/SaltySD/plugins/FPSLocker/patches/010097F018538000/757760621154BA5A.yaml new file mode 100644 index 0000000..c5e0d09 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010097F018538000/757760621154BA5A.yaml @@ -0,0 +1,12 @@ +# DAVE THE DIVER 1.0.4.1029 +# BID: 757760621154BA5A + +unsafeCheck: true + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x98E8280, 0x48] + value_type: float + value: "1 / FPS_TARGET" diff --git a/SaltySD/plugins/FPSLocker/patches/01009A5009A9E000/069E3EFC16365FFD.yaml b/SaltySD/plugins/FPSLocker/patches/01009A5009A9E000/069E3EFC16365FFD.yaml new file mode 100644 index 0000000..3fc0515 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01009A5009A9E000/069E3EFC16365FFD.yaml @@ -0,0 +1,28 @@ +# Shining Resonance Refrain 1.0.1 +# BID: 069E3EFC16365FFD +# Possible values to tweak if something happens: 0xFC0DE0 = 1.0, 0xFC0DD4 = 1.0, 0xFC0DD0 = 1.0, 0xFC0DCC = 1.0, 0xFC0DD8 - UI speed factor, don't change because it's dynamic + +unsafeCheck: true + +MASTER_WRITE: + # Triple buffer + # REF: 28 60 81 52 E8 37 00 B9 E8 03 1F 32 + - + type: bytes + main_offset: 0x3AE35C + value_type: uint32 + value: 0x52800068 +ALL_FPS: + # Disable FPS Lock + # REF: C8 46 90 52 first ADRP + LDR + LDR above it + - + type: write + address: [MAIN, 0xFC0DC8] + value_type: uint32 + value: 0 + # Lipsync fix + - + type: evaluate_write + address: [MAIN, 0xFC0DDC] + value_type: float + value: "30.0 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01009FA01FF6C000/1218D04A7C77F2DA.yaml b/SaltySD/plugins/FPSLocker/patches/01009FA01FF6C000/1218D04A7C77F2DA.yaml new file mode 100644 index 0000000..8becd9d --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01009FA01FF6C000/1218D04A7C77F2DA.yaml @@ -0,0 +1,27 @@ +# Nikoderiko: The Magical World 1.0.3 +# BID: 1218D04A7C77F2DA + +unsafeCheck: true + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x64F6968, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x6524628, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x5D25C08, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100A21017C42000/B24C86A2B02DE960.yaml b/SaltySD/plugins/FPSLocker/patches/0100A21017C42000/B24C86A2B02DE960.yaml new file mode 100644 index 0000000..5165fa1 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A21017C42000/B24C86A2B02DE960.yaml @@ -0,0 +1,80 @@ +# Another Crab's Treasure 1.1.100.1 +# BID: B24C86A2B02DE960 + +unsafeCheck: true + +MASTER_WRITE: + # Redirect updating various deltas to read frametime target from UnityEngine.Application::targetFrameRate, REF: 08 10 91 52 08 A1 A7 72 + - + type: bytes + main_offset: 0x18B2F18 + value_type: uint32 + value: # 08 EA 01 D0 08 39 4B B9 01 01 23 1E 00 10 2e 1e 00 18 21 1e + - 0xF001EF48 # adrp x8, 0x569d000 + - 0xB94BF908 # ldr w8, [x8, #0xbf8] + - 0x1E230101 # ucvtf s1, w8 + - 0x1E2E1000 # fmov s0, #1.00000000 + - 0x1E211800 # fdiv s0, s0, s1 + - + type: bytes + main_offset: 0x18B6C30 + value_type: uint32 + value: # E8 E9 01 D0 08 39 4B B9 01 01 23 1E 00 10 2e 1e 00 18 21 1e + - 0xF001EF28 # adrp x8, 0x569d000 + - 0xB94BF908 # ldr w8, [x8, #0xbf8] + - 0x1E230101 # ucvtf s1, w8 + - 0x1E2E1000 # fmov s0, #1.00000000 + - 0x1E211800 # fdiv s0, s0, s1 + # Redirect Dynamic Resolution GPU Timing target in DynamicResolutionScaler::Update to MAIN+0x5B14F08 + - + type: bytes + main_offset: 0x1B018E4 + value_type: uint32 + value: # 08 11 01 B0 08 85 47 F9 1F 20 03 D5 1F 20 03 D5 + - 0xF0020088 # adrp x8, #0x5b14000 + - 0xF9478508 # ldr x8, [x8, #0xf08] + - 0xD503201F # nop + - 0xD503201F # nop + - + type: bytes + main_offset: 0x1B01964 + value_type: uint32 + value: # 08 11 01 B0 08 85 47 F9 60 2A 40 BD 1F 20 03 D5 1F 20 03 D5 + - 0xF0020088 # adrp x8, #0x5b14000 + - 0xF9478508 # ldr x8, [x8, #0xf08] + - 0xBD402A60 # ldr s0, [x19, #0x28] + - 0xD503201F # nop + - 0xD503201F # nop + - + type: bytes + main_offset: 0x1B019D8 + value_type: uint32 + value: # 08 11 01 B0 08 85 47 F9 1F 20 03 D5 1F 20 03 D5 + - 0xF0020088 # adrp x8, #0x5b14000 + - 0xF9478508 # ldr x8, [x8, #0xf08] + - 0xD503201F # nop + - 0xD503201F # nop + # Default values + - + type: bytes + main_offset: 0x569DBF8 + value_type: uint32 + value: 30 + - + type: bytes + main_offset: 0x5B14F08 + value_type: double + value: 28.57142857142857 +ALL_FPS: + # UnityEngine.Application::targetFrameRate + - + type: evaluate_write + address: [MAIN, 0x569DBF8] + value_type: uint32 + value: FPS_TARGET + # GPU Timing Target + - + type: evaluate_write + address: [MAIN, 0x5B14F08] + value_type: double + value: "1000 / (FPS_TARGET + 5)" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100B7C01D480000/8A942A9E838E5083.yaml b/SaltySD/plugins/FPSLocker/patches/0100B7C01D480000/8A942A9E838E5083.yaml new file mode 100644 index 0000000..7e3bf8d --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B7C01D480000/8A942A9E838E5083.yaml @@ -0,0 +1,27 @@ +# Boti: Byteland Overclocked 1.0.3 +# BID: 8A942A9E838E5083 + +unsafeCheck: true + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x72D4718, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: evaluate_write + address: [MAIN, 0x8291E38, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x82CB9E0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100B9801F872000/007EA5E2E2541C6F.yaml b/SaltySD/plugins/FPSLocker/patches/0100B9801F872000/007EA5E2E2541C6F.yaml new file mode 100644 index 0000000..10f42e1 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B9801F872000/007EA5E2E2541C6F.yaml @@ -0,0 +1,43 @@ +# FAIRY TAIL 2 1.4.2 +# BID: 007EA5E2E2541C6F + +unsafeCheck: false + +MASTER_WRITE: + # Redirect Dynamic Resolution target to MAIN+0x2C53F00 + # REF: 6A C8 82 52 + - + type: bytes + main_offset: 0x138238C + value_type: uint32 + value: + - 0xB000C68A # ADRP X10, 0x2c53000 + - 0xB94F014A # LDR W10, [X10, 0xF00] + - + type: bytes + main_offset: 0x13823A8 + value_type: uint32 + value: + - 0xB000C68A # ADRP X10, 0x2c53000 + - 0xB94F054A # LDR W10, [X10, 0xF04] + # Default values + - + type: bytes + main_offset: 0x2C53F00 + value_type: float + value: [0.043478, 0.037037] +ALL_FPS: + # FPS Lock + # REF: 1F 00 00 71 C8 03 80 52, first ADRP+ADD above it + - + type: evaluate_write + address: [MAIN, 0x2C0B558, 0x170, 0x18C] + value_type: int32 + value: FPS_LOCK_TARGET + # Dynamic Resolution Target + # Game proritizes resolution over framerate, I changed it to prefer framerate + - + type: evaluate_write + address: [MAIN, 0x2C53F00] + value_type: float + value: ["1 / FPS_TARGET", "1 / (FPS_TARGET + 5)"] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100BEB015604000/B38D51E0391187EC.yaml b/SaltySD/plugins/FPSLocker/patches/0100BEB015604000/B38D51E0391187EC.yaml new file mode 100644 index 0000000..284da2e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100BEB015604000/B38D51E0391187EC.yaml @@ -0,0 +1,54 @@ +# PROJECT ZERO: MAIDEN OF BLACK WATER 1.0.4 +# FATAL FRAME: MAIDEN OF BLACK WATER 1.0.4 +# BID: B38D51E0391187EC + +unsafeCheck: true + +MASTER_WRITE: + # Redirect min delta to MAIN + 0x1BC4FF0 + # REF: 00 D9 21 7E 28 19 20 1E + - + type: bytes + main_offset: 0x39ABF8 + value_type: uint32 + value: + - 0xD000C15B # ADRP X27, 0x1BC4000 + - 0xBD4FF368 # LDR S8, [X27, 0xFF0] + # Redirect FPS Lock to MAIN + 0x1BC4FF4 + # REF: 69 AA 40 B9 0A 40 99 52 + - + type: bytes + main_offset: 0x39B2D8 + value_type: uint32 + value: + - 0xB000C149 # ADRP X9, 0x1BC4000 + - 0xB94FF529 # LDR W9, [X9, 0xFF4] + - 0xD503201F # NOP + - 0xD503201F # NOP + # Default values + - + type: bytes + main_offset: 0x1BC4FF0 + value_type: float + value: 0.0333333333 + - + type: bytes + main_offset: 0x1BC4FF4 + value_type: uint32 + value: 33333333 +ALL_FPS: + # Min delta + - + type: evaluate_write + address: [MAIN, 0x1BC4FF0] + value_type: float + value: "1 / FPS_TARGET" + # FPS Lock + - + type: evaluate_write + address: [MAIN, 0x1BC4FF4] + value_type: uint32 + value: "1000000000 / FPS_TARGET" + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/5D63D46226DB106F.yaml b/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/5D63D46226DB106F.yaml new file mode 100644 index 0000000..05c7754 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D7C021496000/5D63D46226DB106F.yaml @@ -0,0 +1,37 @@ +# Twilight Monk 1.0.0 +# BID: 5D63D46226DB106F + +unsafeCheck: false + +ALL_FPS: + # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS + - + type: write + address: [MAIN, 0x5DBD688, 0x7A4] + value_type: uint32 + # Default is 0x46, bUseFixedFrameRate |= 0x40 + # By writing 7 we are making sure that other flags are maintained: + # bAllowMultiThreadedAnimationUpdate |= 4 + # bOptimizeAnimBlueprintMemberVariableAccess |= 2 + value: 6 + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x5D902E8, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x5DBDFA8, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: evaluate_write + address: [MAIN, 0x55C1348, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100E5600D446000/C32B29CB5FBA96D9.yaml b/SaltySD/plugins/FPSLocker/patches/0100E5600D446000/C32B29CB5FBA96D9.yaml index c204b91..53c77a4 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100E5600D446000/C32B29CB5FBA96D9.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100E5600D446000/C32B29CB5FBA96D9.yaml @@ -12,7 +12,7 @@ ALL_FPS: value: "1 / FPS_TARGET" # Play prerendered cutscenes only at 60 FPS - - type: evaluate_compare + type: compare compare_address: [MAIN, 0x1728B58] compare_type: "!=" compare_value_type: uint32 diff --git a/SaltySD/plugins/FPSLocker/patches/0100E6B01BD3A000/0B00B4DFAE47EBA3.yaml b/SaltySD/plugins/FPSLocker/patches/0100E6B01BD3A000/0B00B4DFAE47EBA3.yaml new file mode 100644 index 0000000..7583977 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100E6B01BD3A000/0B00B4DFAE47EBA3.yaml @@ -0,0 +1,14 @@ +# Card-en-Ciel 1.5.1 +# BID: 0B00B4DFAE47EBA3 +# Buffers are hardcoded line by line and put into fixed size heap allocation, so getting triple buffer requires effort + +unsafeCheck: true + +ALL_FPS: + # Internal FPS Lock + # REF: look at nn::os::SleepThread() called in nnMain() + - + type: evaluate_write + address: [MAIN, 0x21C9248, 0x5C] + value_type: float + value: 1 / FPS_LOCK_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/3E9AC9266BB21FC4.yaml b/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/3E9AC9266BB21FC4.yaml new file mode 100644 index 0000000..f8c6a57 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/3E9AC9266BB21FC4.yaml @@ -0,0 +1,27 @@ +# SnowRunner 1.0.39 +# BID: 3E9AC9266BB21FC4 +# Just search for 0x42055555 + +unsafeCheck: true + +MASTER_WRITE: +# Redirect DR frametime target to MAIN+0x309AF00 + - + type: bytes + main_offset: 0x1933834 + value_type: uint32 + value: + - 0xF000BB2A # adrp x10, #0x309A000 + - 0xBD4F0142 # ldr s2, [x10, #0xf00] + # default value + - + type: bytes + main_offset: 0x309AF00 + value_type: float + value: 33.3333333333 +ALL_FPS: + - + type: evaluate_write + address: [MAIN, 0x309AF00] + value_type: float + value: FRAMETIME_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/53531030A4199B74.yaml b/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/53531030A4199B74.yaml new file mode 100644 index 0000000..db7e7d3 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100FBD013AB6000/53531030A4199B74.yaml @@ -0,0 +1,27 @@ +# SnowRunner 1.0.38 +# BID: 53531030A4199B74 +# Just search for 0x42055555 + +unsafeCheck: true + +MASTER_WRITE: +# Redirect DR frametime target to MAIN+0x309FF00 + - + type: bytes + main_offset: 0x1936124 + value_type: uint32 + value: + - 0xB000BB4A # adrp x10, #0x309F000 + - 0xBD4F0142 # ldr s2, [x10, #0xf00] + # default value + - + type: bytes + main_offset: 0x309FF00 + value_type: float + value: 33.3333333333 +ALL_FPS: + - + type: evaluate_write + address: [MAIN, 0x309FF00] + value_type: float + value: FRAMETIME_TARGET \ No newline at end of file diff --git a/SaltySD/saltysd_bootstrap.elf b/SaltySD/saltysd_bootstrap.elf index 27a032a..69db302 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 c23ec1b..943dd4b 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 dd57990..e16d32f 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 0bf9aa2..8e8af3d 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 83a8115..12287ec 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 3ebf1be..9f601ba 100644 Binary files a/atmosphere/contents/0000000000534C56/exefs.nsp and b/atmosphere/contents/0000000000534C56/exefs.nsp differ diff --git a/atmosphere/contents/010000000000bd00/exefs.nsp b/atmosphere/contents/010000000000bd00/exefs.nsp index dd6e355..807fd6b 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 bb00bc6..3ea20fa 100644 Binary files a/atmosphere/contents/420000000000000B/exefs.nsp and b/atmosphere/contents/420000000000000B/exefs.nsp differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/08601CC4C629F981F92CE3A53C2633FB46DDEA00.ips b/atmosphere/exefs_patches/bluetooth_patches/08601CC4C629F981F92CE3A53C2633FB46DDEA00.ips index bff7e43..c5ed1e2 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/08601CC4C629F981F92CE3A53C2633FB46DDEA00.ips and b/atmosphere/exefs_patches/bluetooth_patches/08601CC4C629F981F92CE3A53C2633FB46DDEA00.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/144B678306269E3D5245497373C09866D2BB8997.ips b/atmosphere/exefs_patches/bluetooth_patches/144B678306269E3D5245497373C09866D2BB8997.ips index a64d7e7..0297612 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/144B678306269E3D5245497373C09866D2BB8997.ips and b/atmosphere/exefs_patches/bluetooth_patches/144B678306269E3D5245497373C09866D2BB8997.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/2C0A323887EF342C448A72DDCC4CD737A298CD46.ips b/atmosphere/exefs_patches/bluetooth_patches/2C0A323887EF342C448A72DDCC4CD737A298CD46.ips index b1b8dc2..5bde848 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/2C0A323887EF342C448A72DDCC4CD737A298CD46.ips and b/atmosphere/exefs_patches/bluetooth_patches/2C0A323887EF342C448A72DDCC4CD737A298CD46.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/2CAAD3898B7B2F01DF66480EDD919C6A26735EC9.ips b/atmosphere/exefs_patches/bluetooth_patches/2CAAD3898B7B2F01DF66480EDD919C6A26735EC9.ips index 93e6d7a..08a348e 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/2CAAD3898B7B2F01DF66480EDD919C6A26735EC9.ips and b/atmosphere/exefs_patches/bluetooth_patches/2CAAD3898B7B2F01DF66480EDD919C6A26735EC9.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/3714A43B8F9608D08E15067AB1D9CE8E68FE56BC.ips b/atmosphere/exefs_patches/bluetooth_patches/3714A43B8F9608D08E15067AB1D9CE8E68FE56BC.ips index 7977771..7667e27 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/3714A43B8F9608D08E15067AB1D9CE8E68FE56BC.ips and b/atmosphere/exefs_patches/bluetooth_patches/3714A43B8F9608D08E15067AB1D9CE8E68FE56BC.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/63C4312A5D74B29DFC3DA25B6E3E4825575D23C9.ips b/atmosphere/exefs_patches/bluetooth_patches/63C4312A5D74B29DFC3DA25B6E3E4825575D23C9.ips index e0a1335..a8746fc 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/63C4312A5D74B29DFC3DA25B6E3E4825575D23C9.ips and b/atmosphere/exefs_patches/bluetooth_patches/63C4312A5D74B29DFC3DA25B6E3E4825575D23C9.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/6FCF8BF53C10AA346555D74EC602FE53BF3BD88E.ips b/atmosphere/exefs_patches/bluetooth_patches/6FCF8BF53C10AA346555D74EC602FE53BF3BD88E.ips index 5ff714e..652bbd5 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/6FCF8BF53C10AA346555D74EC602FE53BF3BD88E.ips and b/atmosphere/exefs_patches/bluetooth_patches/6FCF8BF53C10AA346555D74EC602FE53BF3BD88E.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/8C2A437B9890F6DA0FC3B17442B10E7C6FCDA6AA.ips b/atmosphere/exefs_patches/bluetooth_patches/8C2A437B9890F6DA0FC3B17442B10E7C6FCDA6AA.ips index 7ce976d..72a3a17 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/8C2A437B9890F6DA0FC3B17442B10E7C6FCDA6AA.ips and b/atmosphere/exefs_patches/bluetooth_patches/8C2A437B9890F6DA0FC3B17442B10E7C6FCDA6AA.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/935E9D4099CE74FC162915E7CA4952E64FAD6671.ips b/atmosphere/exefs_patches/bluetooth_patches/935E9D4099CE74FC162915E7CA4952E64FAD6671.ips new file mode 100644 index 0000000..ceb77e3 Binary files /dev/null and b/atmosphere/exefs_patches/bluetooth_patches/935E9D4099CE74FC162915E7CA4952E64FAD6671.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/9480B34033289645E7924E99F467CCB9B4632A5D.ips b/atmosphere/exefs_patches/bluetooth_patches/9480B34033289645E7924E99F467CCB9B4632A5D.ips index 21dbbb4..5cb4f47 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/9480B34033289645E7924E99F467CCB9B4632A5D.ips and b/atmosphere/exefs_patches/bluetooth_patches/9480B34033289645E7924E99F467CCB9B4632A5D.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/9E95C91568327AD850AC0C2246F1078DE72B28F9.ips b/atmosphere/exefs_patches/bluetooth_patches/9E95C91568327AD850AC0C2246F1078DE72B28F9.ips index 3f86565..26a7203 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/9E95C91568327AD850AC0C2246F1078DE72B28F9.ips and b/atmosphere/exefs_patches/bluetooth_patches/9E95C91568327AD850AC0C2246F1078DE72B28F9.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/A5E6C2D20334CC787617A15BFB9F53F2DABA3E41.ips b/atmosphere/exefs_patches/bluetooth_patches/A5E6C2D20334CC787617A15BFB9F53F2DABA3E41.ips index 476eea6..b1d144a 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/A5E6C2D20334CC787617A15BFB9F53F2DABA3E41.ips and b/atmosphere/exefs_patches/bluetooth_patches/A5E6C2D20334CC787617A15BFB9F53F2DABA3E41.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/B58A6445D7C724D6285EB3922FE6BBAACDA33EB3.ips b/atmosphere/exefs_patches/bluetooth_patches/B58A6445D7C724D6285EB3922FE6BBAACDA33EB3.ips index 08c5141..c75a483 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/B58A6445D7C724D6285EB3922FE6BBAACDA33EB3.ips and b/atmosphere/exefs_patches/bluetooth_patches/B58A6445D7C724D6285EB3922FE6BBAACDA33EB3.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/BF43446888D1182FF37420B6762EB1136DE45947.ips b/atmosphere/exefs_patches/bluetooth_patches/BF43446888D1182FF37420B6762EB1136DE45947.ips index 9dbadb4..b48c828 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/BF43446888D1182FF37420B6762EB1136DE45947.ips and b/atmosphere/exefs_patches/bluetooth_patches/BF43446888D1182FF37420B6762EB1136DE45947.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/CCE16D29FE9BCB44AC40BB1703D586FE467496CE.ips b/atmosphere/exefs_patches/bluetooth_patches/CCE16D29FE9BCB44AC40BB1703D586FE467496CE.ips index 900d76f..b54ae24 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/CCE16D29FE9BCB44AC40BB1703D586FE467496CE.ips and b/atmosphere/exefs_patches/bluetooth_patches/CCE16D29FE9BCB44AC40BB1703D586FE467496CE.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/CF0C34FC10F75EB2DAFB302FAA3E0C188621B2AD.ips b/atmosphere/exefs_patches/bluetooth_patches/CF0C34FC10F75EB2DAFB302FAA3E0C188621B2AD.ips index 5dbe69e..653a224 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/CF0C34FC10F75EB2DAFB302FAA3E0C188621B2AD.ips and b/atmosphere/exefs_patches/bluetooth_patches/CF0C34FC10F75EB2DAFB302FAA3E0C188621B2AD.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/DBCA0074043CA7E74E9C58A84ACD7A3058968528.ips b/atmosphere/exefs_patches/bluetooth_patches/DBCA0074043CA7E74E9C58A84ACD7A3058968528.ips index 2653e64..b076580 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/DBCA0074043CA7E74E9C58A84ACD7A3058968528.ips and b/atmosphere/exefs_patches/bluetooth_patches/DBCA0074043CA7E74E9C58A84ACD7A3058968528.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/E9A6DBF13FE4A6833606A834C7BA1B44F4DDD60F.ips b/atmosphere/exefs_patches/bluetooth_patches/E9A6DBF13FE4A6833606A834C7BA1B44F4DDD60F.ips index eae610d..75e6f97 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/E9A6DBF13FE4A6833606A834C7BA1B44F4DDD60F.ips and b/atmosphere/exefs_patches/bluetooth_patches/E9A6DBF13FE4A6833606A834C7BA1B44F4DDD60F.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/F013FF4FC88A8376A6F3C401485C0718E1B5E148.ips b/atmosphere/exefs_patches/bluetooth_patches/F013FF4FC88A8376A6F3C401485C0718E1B5E148.ips index 6f7b406..98d7049 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/F013FF4FC88A8376A6F3C401485C0718E1B5E148.ips and b/atmosphere/exefs_patches/bluetooth_patches/F013FF4FC88A8376A6F3C401485C0718E1B5E148.ips differ diff --git a/atmosphere/exefs_patches/bluetooth_patches/FEE47E024FC9C62838FF1A476DE243DCE673DA7E.ips b/atmosphere/exefs_patches/bluetooth_patches/FEE47E024FC9C62838FF1A476DE243DCE673DA7E.ips index 9bca22d..308ec99 100644 Binary files a/atmosphere/exefs_patches/bluetooth_patches/FEE47E024FC9C62838FF1A476DE243DCE673DA7E.ips and b/atmosphere/exefs_patches/bluetooth_patches/FEE47E024FC9C62838FF1A476DE243DCE673DA7E.ips differ diff --git a/atmosphere/exefs_patches/btm_patches/4BBB2B9942C1DA04BBFB4933AA2E350BB88F3C14.ips b/atmosphere/exefs_patches/btm_patches/4BBB2B9942C1DA04BBFB4933AA2E350BB88F3C14.ips new file mode 100644 index 0000000..60bbb4f Binary files /dev/null and b/atmosphere/exefs_patches/btm_patches/4BBB2B9942C1DA04BBFB4933AA2E350BB88F3C14.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/0ABCF878B3E22287ABD15F1F73B365DB26A4E124.ips b/atmosphere/exefs_patches/hid_patches/0ABCF878B3E22287ABD15F1F73B365DB26A4E124.ips new file mode 100644 index 0000000..a679eb3 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/0ABCF878B3E22287ABD15F1F73B365DB26A4E124.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/1780B569DE805B4E9AFBCC366D93BB313DCBA67E.ips b/atmosphere/exefs_patches/hid_patches/1780B569DE805B4E9AFBCC366D93BB313DCBA67E.ips new file mode 100644 index 0000000..eec46d3 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/1780B569DE805B4E9AFBCC366D93BB313DCBA67E.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/296FB63B038723955A5EEE4720C3E17BF49B5ECC.ips b/atmosphere/exefs_patches/hid_patches/296FB63B038723955A5EEE4720C3E17BF49B5ECC.ips new file mode 100644 index 0000000..1de6a62 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/296FB63B038723955A5EEE4720C3E17BF49B5ECC.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/453AF9911A69ED566732A7AF2BF54B0B50BC3255.ips b/atmosphere/exefs_patches/hid_patches/453AF9911A69ED566732A7AF2BF54B0B50BC3255.ips new file mode 100644 index 0000000..74df920 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/453AF9911A69ED566732A7AF2BF54B0B50BC3255.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/47BCA8366FC3D4C9E86592E8FC42485989E69CCB.ips b/atmosphere/exefs_patches/hid_patches/47BCA8366FC3D4C9E86592E8FC42485989E69CCB.ips new file mode 100644 index 0000000..13f85a4 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/47BCA8366FC3D4C9E86592E8FC42485989E69CCB.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/6AC68185D4597477D9AD8A2EBE014733F2BCB104.ips b/atmosphere/exefs_patches/hid_patches/6AC68185D4597477D9AD8A2EBE014733F2BCB104.ips new file mode 100644 index 0000000..eec46d3 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/6AC68185D4597477D9AD8A2EBE014733F2BCB104.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/74480E653551A0415F90CD61E4B851C60E71E674.ips b/atmosphere/exefs_patches/hid_patches/74480E653551A0415F90CD61E4B851C60E71E674.ips new file mode 100644 index 0000000..738a5ff Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/74480E653551A0415F90CD61E4B851C60E71E674.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/98EB0277ADFC171F79765FCC8A56674AE39B08FC.ips b/atmosphere/exefs_patches/hid_patches/98EB0277ADFC171F79765FCC8A56674AE39B08FC.ips new file mode 100644 index 0000000..232fea8 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/98EB0277ADFC171F79765FCC8A56674AE39B08FC.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/9A1F471859D99957A81B2FC21169EE4DBC191734.ips b/atmosphere/exefs_patches/hid_patches/9A1F471859D99957A81B2FC21169EE4DBC191734.ips new file mode 100644 index 0000000..a679eb3 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/9A1F471859D99957A81B2FC21169EE4DBC191734.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/A2F71DB9568A864B8AC81AC79E2735A53A9CD291.ips b/atmosphere/exefs_patches/hid_patches/A2F71DB9568A864B8AC81AC79E2735A53A9CD291.ips new file mode 100644 index 0000000..232fea8 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/A2F71DB9568A864B8AC81AC79E2735A53A9CD291.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/ACA9C5D9BF1A0558251E6D2FE2D0CA4DFE7B90AC.ips b/atmosphere/exefs_patches/hid_patches/ACA9C5D9BF1A0558251E6D2FE2D0CA4DFE7B90AC.ips new file mode 100644 index 0000000..a679eb3 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/ACA9C5D9BF1A0558251E6D2FE2D0CA4DFE7B90AC.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/AE8B325431ED958F335615EBA5312870A92978CB.ips b/atmosphere/exefs_patches/hid_patches/AE8B325431ED958F335615EBA5312870A92978CB.ips new file mode 100644 index 0000000..63ebb58 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/AE8B325431ED958F335615EBA5312870A92978CB.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/B5D1C5A111EB89E72F2EBF93D1343DFD7BF4E421.ips b/atmosphere/exefs_patches/hid_patches/B5D1C5A111EB89E72F2EBF93D1343DFD7BF4E421.ips new file mode 100644 index 0000000..6b96ef9 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/B5D1C5A111EB89E72F2EBF93D1343DFD7BF4E421.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/BBEE6C2C132C849BC313B0E38732D91B9C45FBFD.ips b/atmosphere/exefs_patches/hid_patches/BBEE6C2C132C849BC313B0E38732D91B9C45FBFD.ips new file mode 100644 index 0000000..e7e0ccb Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/BBEE6C2C132C849BC313B0E38732D91B9C45FBFD.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/C5FCB68A301FD160FF5209C54175AC51D69750BC.ips b/atmosphere/exefs_patches/hid_patches/C5FCB68A301FD160FF5209C54175AC51D69750BC.ips new file mode 100644 index 0000000..509e2e1 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/C5FCB68A301FD160FF5209C54175AC51D69750BC.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/CA1A12452AF8789F5D03BF2A70260CE80D7DA5C4.ips b/atmosphere/exefs_patches/hid_patches/CA1A12452AF8789F5D03BF2A70260CE80D7DA5C4.ips new file mode 100644 index 0000000..41ab718 Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/CA1A12452AF8789F5D03BF2A70260CE80D7DA5C4.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/CEE923637C0797454FBE98A64F63D2B9F39B62FC.ips b/atmosphere/exefs_patches/hid_patches/CEE923637C0797454FBE98A64F63D2B9F39B62FC.ips new file mode 100644 index 0000000..738a5ff Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/CEE923637C0797454FBE98A64F63D2B9F39B62FC.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/CFCBD39A38FC2E8FC1273B4B5BF7C619FA93579E.ips b/atmosphere/exefs_patches/hid_patches/CFCBD39A38FC2E8FC1273B4B5BF7C619FA93579E.ips new file mode 100644 index 0000000..8f97c1f Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/CFCBD39A38FC2E8FC1273B4B5BF7C619FA93579E.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/D7E71B92FAFD5E6D670F36593D98DC30AD15A24F.ips b/atmosphere/exefs_patches/hid_patches/D7E71B92FAFD5E6D670F36593D98DC30AD15A24F.ips new file mode 100644 index 0000000..2a1b28e Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/D7E71B92FAFD5E6D670F36593D98DC30AD15A24F.ips differ diff --git a/atmosphere/exefs_patches/hid_patches/E5139E8D47BE57C31DA97FCFBB66472416D60BD1.ips b/atmosphere/exefs_patches/hid_patches/E5139E8D47BE57C31DA97FCFBB66472416D60BD1.ips new file mode 100644 index 0000000..2a1b28e Binary files /dev/null and b/atmosphere/exefs_patches/hid_patches/E5139E8D47BE57C31DA97FCFBB66472416D60BD1.ips differ diff --git a/atmosphere/hosts/default.txt b/atmosphere/hosts/default.txt deleted file mode 100644 index 429346d..0000000 --- a/atmosphere/hosts/default.txt +++ /dev/null @@ -1,2 +0,0 @@ -# Nintendo telemetry servers -127.0.0.1 receive-%.dg.srv.nintendo.net receive-%.er.srv.nintendo.net diff --git a/atmosphere/hosts/emummc.txt b/atmosphere/hosts/emummc.txt deleted file mode 100644 index bbf8272..0000000 --- a/atmosphere/hosts/emummc.txt +++ /dev/null @@ -1,40 +0,0 @@ -127.0.0.1 *nintendo* -127.0.0.1 ads.doubleclick.net -127.0.0.1 clients1.google.com -127.0.0.1 dts.innovid.com -127.0.0.1 googleads4.g.doubleclick.net -127.0.0.1 pagead2.googlesyndication.com -127.0.0.1 pixel.moatads.com -127.0.0.1 rtd.tubemogul.com -127.0.0.1 s.innovid.com -127.0.0.1 pubads.g.doubleclick.net -127.0.0.1 ssl.google-analytics.com -127.0.0.1 www-google-analytics.l.google.com -127.0.0.1 stats.g.doubleclick.net -127.0.0.1 clients.l.google.com -127.0.0.1 pagead.l.doubleclick.net -127.0.0.1 www-googletagmanager.l.google.com -127.0.0.1 googleadapis.l.google.com -127.0.0.1 s0.2mdn.net -127.0.0.1 googleads.g.doubleclick.net -127.0.0.1 files.adform.net -127.0.0.1 secure-ds.serving-sys.com -127.0.0.1 securepubads.g.doubleclick.net -127.0.0.1 2975c.v.fwmrm.net -127.0.0.1 static.doubleclick.net -127.0.0.1 googleadservices.com -127.0.0.1 ad-g.doubleclick.net -127.0.0.1 ad.doubleclick.net -127.0.0.1 ad.mo.doubleclick.net -127.0.0.1 doubleclick.net -127.0.0.1 pagead.googlesyndication.com -127.0.0.1 pagead1.googlesyndication.com -127.0.0.1 www.googleadservices.com -127.0.0.1 analytic-google.com -127.0.0.1 www.analytic-google.com -127.0.0.1 www.googletagservices.com -127.0.0.1 fwmrm.net -127.0.0.1 innovid.com -127.0.0.1 2mdn.net -95.216.149.205 *conntest.nintendowifi.net -95.216.149.205 *ctest.cdn.nintendo.net \ No newline at end of file diff --git a/atmosphere/kips/loader.kip b/atmosphere/kips/loader.kip index c0be350..d1d81a8 100644 Binary files a/atmosphere/kips/loader.kip and b/atmosphere/kips/loader.kip differ diff --git a/atmosphere/package3 b/atmosphere/package3 index bdc15f1..1274dc2 100644 Binary files a/atmosphere/package3 and b/atmosphere/package3 differ diff --git a/atmosphere/reboot_payload.bin b/atmosphere/reboot_payload.bin index cb4229b..5e7392a 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 1ca29c1..e4d78b0 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 1aecdbe..039efea 100644 Binary files a/bootloader/payloads/Lockpick_RCM.bin and b/bootloader/payloads/Lockpick_RCM.bin differ diff --git a/bootloader/sys/emummc.kipm b/bootloader/sys/emummc.kipm index b8f3b63..d9760c5 100644 Binary files a/bootloader/sys/emummc.kipm and b/bootloader/sys/emummc.kipm differ diff --git a/bootloader/sys/l4t/sc7exit_b01.bin b/bootloader/sys/l4t/sc7exit_b01.bin index 2e45098..90e35e2 100644 Binary files a/bootloader/sys/l4t/sc7exit_b01.bin and b/bootloader/sys/l4t/sc7exit_b01.bin differ diff --git a/bootloader/sys/nyx.bin b/bootloader/sys/nyx.bin index 1ed46b1..d974250 100644 Binary files a/bootloader/sys/nyx.bin and b/bootloader/sys/nyx.bin differ diff --git a/bootloader/update.bin b/bootloader/update.bin index ceca7d5..5e7392a 100644 Binary files a/bootloader/update.bin and b/bootloader/update.bin differ diff --git a/config/aio-switch-updater/preserve.txt b/config/aio-switch-updater/preserve.txt index f70992d..e5de4eb 100644 --- a/config/aio-switch-updater/preserve.txt +++ b/config/aio-switch-updater/preserve.txt @@ -7,5 +7,4 @@ /config/ultrahand/config.ini /config/ultrahand/theme.ini /config/ultrahand/overlays.ini -/config/ultrahand/packages.ini -/switch/DBI/ \ No newline at end of file +/config/ultrahand/packages.ini \ No newline at end of file diff --git a/config/ultrahand/lang/de.json b/config/ultrahand/lang/de.json index 9c19950..ca2f1b7 100644 --- a/config/ultrahand/lang/de.json +++ b/config/ultrahand/lang/de.json @@ -73,6 +73,7 @@ "PACKAGE_VERSIONS": "Paket Versionsnr.", "OPAQUE_SCREENSHOTS": "Undurchsichtige Screenshots", "PAGE_SWAP": "Seitenwechsel", + "DYNAMIC_LOGO": "Dynamisches Logo", "ON": "AN", "OFF": "AUS", "PACKAGE_INFO": "Paket-Info", diff --git a/config/ultrahand/lang/en.json b/config/ultrahand/lang/en.json index 1b5275d..7b6f876 100644 --- a/config/ultrahand/lang/en.json +++ b/config/ultrahand/lang/en.json @@ -72,6 +72,7 @@ "PACKAGE_VERSIONS": "Package Versions", "OPAQUE_SCREENSHOTS": "Opaque Screenshots", "PAGE_SWAP": "Page Swap", + "DYNAMIC_LOGO": "Dynamic Logo", "ON": "On", "OFF": "Off", "PACKAGE_INFO": "Package Info", diff --git a/config/ultrahand/lang/es.json b/config/ultrahand/lang/es.json index bdcd3e3..c6387f9 100644 --- a/config/ultrahand/lang/es.json +++ b/config/ultrahand/lang/es.json @@ -71,7 +71,8 @@ "OVERLAY_VERSIONS": "Etiquetas de Superposición", "PACKAGE_VERSIONS": "Etiquetas de Paquete", "OPAQUE_SCREENSHOTS": "Capturas de Pantalla Opacas", - "PAGE_SWAP": "Page Swap", + "PAGE_SWAP": "Intercambio de Página", + "DYNAMIC_LOGO": "Logo Dinámico", "ON": "Encendido", "OFF": "Apagado", "PACKAGE_INFO": "Información del Paquete", diff --git a/config/ultrahand/lang/fr.json b/config/ultrahand/lang/fr.json index 9625664..0c52f79 100644 --- a/config/ultrahand/lang/fr.json +++ b/config/ultrahand/lang/fr.json @@ -71,7 +71,8 @@ "OVERLAY_VERSIONS": "Étiquettes de superposition", "PACKAGE_VERSIONS": "Étiquettes de paquet", "OPAQUE_SCREENSHOTS": "Captures D’écran Opaques", - "PAGE_SWAP": "Page Swap", + "PAGE_SWAP": "Échange de Page", + "DYNAMIC_LOGO": "Logo Dynamique", "ON": "Activer", "OFF": "Désactiver", "PACKAGE_INFO": "Informations sur le paquet", diff --git a/config/ultrahand/lang/it.json b/config/ultrahand/lang/it.json index f6be67f..8d4d5dc 100644 --- a/config/ultrahand/lang/it.json +++ b/config/ultrahand/lang/it.json @@ -71,7 +71,8 @@ "OVERLAY_VERSIONS": "Etichette Sovrapposte", "PACKAGE_VERSIONS": "Etichette Pacchetto", "OPAQUE_SCREENSHOTS": "Screenshot Opachi", - "PAGE_SWAP": "Page Swap", + "PAGE_SWAP": "Scambio di Pagina", + "DYNAMIC_LOGO": "Logo Dinamico", "ON": "Acceso", "OFF": "Spento", "PACKAGE_INFO": "Informazioni Pacchetto", diff --git a/config/ultrahand/lang/ja.json b/config/ultrahand/lang/ja.json index d94cd06..8ac7865 100644 --- a/config/ultrahand/lang/ja.json +++ b/config/ultrahand/lang/ja.json @@ -71,7 +71,8 @@ "OVERLAY_VERSIONS": "オーバーレイバージョン", "PACKAGE_VERSIONS": "パッケージバージョン", "OPAQUE_SCREENSHOTS": "不透明なスクリーンショット", - "PAGE_SWAP": "Page Swap", + "PAGE_SWAP": "ページ切り替え", + "DYNAMIC_LOGO": "動的ロゴ", "ON": "オン", "OFF": "オフ", "PACKAGE_INFO": "パッケージ情報", diff --git a/config/ultrahand/lang/ko.json b/config/ultrahand/lang/ko.json index 96643d9..e3db070 100644 --- a/config/ultrahand/lang/ko.json +++ b/config/ultrahand/lang/ko.json @@ -71,7 +71,8 @@ "OVERLAY_VERSIONS": "오버레이 라벨", "PACKAGE_VERSIONS": "패키지 라벨", "OPAQUE_SCREENSHOTS": "불투명한 스크린샷", - "PAGE_SWAP": "Page Swap", + "PAGE_SWAP": "페이지 전환", + "DYNAMIC_LOGO": "동적 로고", "ON": "켜기", "OFF": "끄기", "PACKAGE_INFO": "패키지 정보", diff --git a/config/ultrahand/lang/nl.json b/config/ultrahand/lang/nl.json index ff3b436..d6b7e0f 100644 --- a/config/ultrahand/lang/nl.json +++ b/config/ultrahand/lang/nl.json @@ -71,7 +71,8 @@ "OVERLAY_VERSIONS": "Overlay Labels", "PACKAGE_VERSIONS": "Pakket Labels", "OPAQUE_SCREENSHOTS": "Ondoorzichtige Screenshots", - "PAGE_SWAP": "Page Swap", + "PAGE_SWAP": "Pagina Wisselen", + "DYNAMIC_LOGO": "Dynamisch Logo", "ON": "Aan", "OFF": "Uit", "PACKAGE_INFO": "Pakketinformatie", diff --git a/config/ultrahand/lang/pl.json b/config/ultrahand/lang/pl.json index 02d75c6..4cfc45b 100644 --- a/config/ultrahand/lang/pl.json +++ b/config/ultrahand/lang/pl.json @@ -71,7 +71,8 @@ "OVERLAY_VERSIONS": "Wersje Nakładek", "PACKAGE_VERSIONS": "Wersje Paczek", "OPAQUE_SCREENSHOTS": "Nieprzezroczyste zrzuty ekranu", - "PAGE_SWAP": "Page Swap", + "PAGE_SWAP": "Zamiana Stron", + "DYNAMIC_LOGO": "Dynamiczne Logo", "ON": "Włącz", "OFF": "Wyłącz", "PACKAGE_INFO": "Informacje o Paczce", diff --git a/config/ultrahand/lang/pt.json b/config/ultrahand/lang/pt.json index e1bff92..21cc3d3 100644 --- a/config/ultrahand/lang/pt.json +++ b/config/ultrahand/lang/pt.json @@ -71,7 +71,8 @@ "OVERLAY_VERSIONS": "Rótulos de Sobreposição", "PACKAGE_VERSIONS": "Rótulos de Pacote", "OPAQUE_SCREENSHOTS": "Capturas de Tela Opaques", - "PAGE_SWAP": "Page Swap", + "PAGE_SWAP": "Troca de Página", + "DYNAMIC_LOGO": "Logo Dinâmico", "ON": "Ligado", "OFF": "Desligado", "PACKAGE_INFO": "Informações do Pacote", diff --git a/config/ultrahand/lang/ru.json b/config/ultrahand/lang/ru.json index 6984dfb..201a78b 100644 --- a/config/ultrahand/lang/ru.json +++ b/config/ultrahand/lang/ru.json @@ -71,7 +71,8 @@ "OVERLAY_VERSIONS": "Версии Оверлеев", "PACKAGE_VERSIONS": "Версии Пакетов", "OPAQUE_SCREENSHOTS": "Непрозрачные Скриншоты", - "PAGE_SWAP": "Page Swap", + "PAGE_SWAP": "Переключение страниц", + "DYNAMIC_LOGO": "Динамический логотип", "ON": "Вкл", "OFF": "Выкл", "PACKAGE_INFO": "Информация", diff --git a/config/ultrahand/lang/zh-cn.json b/config/ultrahand/lang/zh-cn.json index ad31b13..f969f1c 100644 --- a/config/ultrahand/lang/zh-cn.json +++ b/config/ultrahand/lang/zh-cn.json @@ -71,7 +71,8 @@ "OVERLAY_VERSIONS": "插件版本显示", "PACKAGE_VERSIONS": "插件包版本显示", "OPAQUE_SCREENSHOTS": "不透明的截图”", - "PAGE_SWAP": "Page Swap", + "PAGE_SWAP": "页面切换", + "DYNAMIC_LOGO": "动态徽标", "ON": "开启", "OFF": "关闭", "PACKAGE_INFO": "插件包信息", diff --git a/config/ultrahand/lang/zh-tw.json b/config/ultrahand/lang/zh-tw.json index cb77f02..cd68c75 100644 --- a/config/ultrahand/lang/zh-tw.json +++ b/config/ultrahand/lang/zh-tw.json @@ -71,7 +71,8 @@ "OVERLAY_VERSIONS": "插件的標簽", "PACKAGE_VERSIONS": "插件包的標簽", "OPAQUE_SCREENSHOTS": "不透明的截圖", - "PAGE_SWAP": "Page Swap", + "PAGE_SWAP": "頁面切換", + "DYNAMIC_LOGO": "動態徽標", "ON": "啟用", "OFF": "停用", "PACKAGE_INFO": "插件包信息", diff --git a/games/Homebrew.Menu.nsp b/games/Homebrew.Menu.nsp deleted file mode 100644 index f7b9d0f..0000000 Binary files a/games/Homebrew.Menu.nsp and /dev/null differ diff --git a/hbmenu.nro b/hbmenu.nro index 756d238..22dd6ca 100644 Binary files a/hbmenu.nro and b/hbmenu.nro differ diff --git a/payload.bin b/payload.bin index ceca7d5..5e7392a 100644 Binary files a/payload.bin and b/payload.bin differ diff --git a/switch/.overlays/FPSLocker.ovl b/switch/.overlays/FPSLocker.ovl index ebcaf97..4a0544a 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 285d8ef..8dab9e6 100644 Binary files a/switch/.overlays/Status-Monitor-Overlay.ovl and b/switch/.overlays/Status-Monitor-Overlay.ovl differ diff --git a/switch/.overlays/ovlSysmodules.ovl b/switch/.overlays/ovlSysmodules.ovl index 02d85b9..cbbc66d 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 45fb230..c1cc390 100644 Binary files a/switch/.overlays/ovlmenu.ovl and b/switch/.overlays/ovlmenu.ovl differ diff --git a/switch/DBI/DBI.nro b/switch/DBI/DBI.nro index ae1863f..78e1961 100644 Binary files a/switch/DBI/DBI.nro and b/switch/DBI/DBI.nro differ diff --git a/switch/DBI/dbi.config b/switch/DBI/dbi.config index cf5c283..72c96c4 100644 --- a/switch/DBI/dbi.config +++ b/switch/DBI/dbi.config @@ -1,7 +1,7 @@ ; General settings [General] ; Direct exit to homescreen -ExitToHomeScreen=false +ExitToHomeScreen=true ; Folder where saves backups are stored SavesFolder=sdmc:/DBIsaves/ ; Log "Install", "Check integrity" and "Cleanup" processes @@ -167,6 +167,8 @@ UseWaitAll=true Port=1234 ; Data read timeout (seconds) Timeout=3 +; Use connection pool +UseConnectionPool=false ; Access point options [Access point] @@ -202,7 +204,6 @@ Orientation=0 ; Network install sources [Network sources] ; =| -notUltraNX=ApacheHTTP|https://dbi.ultranx.ru/ ;NSP Indexer=URLList|http://192.168.1.47/nspindexer/index.php?DBI ;Home server=ApacheHTTP|http://192.168.1.47/Nintendo/Switch/ ;WebDAV test=WebDAV|http://user:password@192.168.1.47/webdav/ diff --git a/switch/daybreak/daybreak.nro b/switch/daybreak/daybreak.nro index 1b7144f..73e9fc0 100644 Binary files a/switch/daybreak/daybreak.nro and b/switch/daybreak/daybreak.nro differ diff --git a/warmboot_mariko/wb_14.bin b/warmboot_mariko/wb_14.bin deleted file mode 100644 index d40bb4f..0000000 Binary files a/warmboot_mariko/wb_14.bin and /dev/null differ diff --git a/warmboot_mariko/wb_15.bin b/warmboot_mariko/wb_15.bin new file mode 100644 index 0000000..9bf7a20 Binary files /dev/null and b/warmboot_mariko/wb_15.bin differ