diff --git a/README.md b/README.md index 1315faf..17e9757 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ 1. **Установленные модули** * [SaltyNX](https://github.com/masagrator/SaltyNX) - Фоновый модуль, позволяющий модифицировать файлы\процессы в консоли, поддерживает плагины. * [nx-ovlloader](https://github.com/ppkantorski/nx-ovlloader) - С помощью этого модуля осуществляется переключение установленных модулей. - * [sys-patch](https://github.com/borntohonk/sys-patch) - Патчит систему на работу неподписанного софта вместо сигпатчей. + * [sys-patch](https://github.com/impeeza/sys-patch) - Патчит систему на работу неподписанного софта вместо сигпатчей. * [Mission Control](https://github.com/ndeadly/MissionControl) - Модуль, позволяющий подключать практически любые геймпады к консоли по Bluetooth. * [sys-con](https://github.com/o0Zz/sys-con) - Модуль, позволяющий подключать практически любые геймпады к консоли по USB. * [disable remap dialog](https://github.com/ndeadly/disable_remap_dialog) - Модуль, скрывающий предупреждение о переназначенных кнопках при каждом запуске игры. diff --git a/README_ENG.md b/README_ENG.md index f7fe128..bed2150 100644 --- a/README_ENG.md +++ b/README_ENG.md @@ -45,7 +45,7 @@ 1. **Installed Modules** * [SaltyNX](https://github.com/masagrator/SaltyNX) - Background module allowing to modify files/processes in console, supports plugins. * [nx-ovlloader](https://github.com/ppkantorski/nx-ovlloader) - This module lets you toggle installed modules on and off. - * [sys-patch](https://github.com/borntohonk/sys-patch) - Patches the system to run unsigned software instead of sigpatches. + * [sys-patch](https://github.com/impeeza/sys-patch) - Patches the system to run unsigned software instead of sigpatches. * [Mission Control](https://github.com/ndeadly/MissionControl) - A module that lets you connect almost any controller to the console via Bluetooth. * [sys-con](https://github.com/o0Zz/sys-con) - A module that allows you to connect almost any gamepads to the console via USB. * [disable remap dialog](https://github.com/ndeadly/disable_remap_dialog) - A module that hides the remap warning every time you launch a game. diff --git a/SaltySD/plugins/FPSLocker/patches/01007A2027548000/A4823D39BB21F39B.yaml b/SaltySD/plugins/FPSLocker/patches/01007A2027548000/A4823D39BB21F39B.yaml new file mode 100644 index 0000000..0261c48 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01007A2027548000/A4823D39BB21F39B.yaml @@ -0,0 +1,20 @@ +# Trails in the Sky 2nd Chapter 1.0.4 +# BID: A4823D39BB21F39B + +ALL_FPS: + # Min Delta + ## REF: C1 03 80 52 28 4D 28 9B, first ADRP + ADD below it + # By default 60 + - + type: evaluate_write + address: [MAIN, 0x87A890, 0x2C] + value_type: uint32 + value: FPS_TARGET + # Dynamic Resolution + ## REF: First function in .init_array section, ADRP + ADD + 0x228 (default float: 2.3) + ## Adding there 0.95 by myself because game seems to have issues with reaching 60 FPS without it + - + type: write + address: [MAIN, 0x87A3D8] + value_type: float + value: 0.95 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100853015E86000/5507E92D36CD1F9C.yaml b/SaltySD/plugins/FPSLocker/patches/0100853015E86000/5507E92D36CD1F9C.yaml new file mode 100644 index 0000000..8de675f --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100853015E86000/5507E92D36CD1F9C.yaml @@ -0,0 +1,21 @@ +# No Man's Sky 7.6.0 +# BID: 5507E92D36CD1F9C + +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 30 + evaluate: FPS_TARGET +MASTER_WRITE: + # Redirect DR frametime target + # REF: 08 4E A8 52 00 01 27 1E 48 8F A8 52, ADRP + ADD + LDR above that + - + type: asm_a64 + main_offset: 0x243D414 + instructions: [ + [adrp, x9, $dr_target], + [ldr, s0, [x9, $dr_target]], + [nop] + ] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010090100E334000/81B2ACB640D82C9E.yaml b/SaltySD/plugins/FPSLocker/patches/010090100E334000/81B2ACB640D82C9E.yaml new file mode 100644 index 0000000..94868b7 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010090100E334000/81B2ACB640D82C9E.yaml @@ -0,0 +1,12 @@ +# Don't Starve Together 1.30.0 +# BID: 81B2ACB640D82C9E + +ALL_FPS: + # FPS Lock + # REF: Find instruction 36 D9 34 F8, use X9 to find main offset + - + type: evaluate_write + address: [MAIN, 0x929448, 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/010092A0172E4000/DDD039E882DBCD1C.yaml b/SaltySD/plugins/FPSLocker/patches/010092A0172E4000/DDD039E882DBCD1C.yaml new file mode 100644 index 0000000..bc482c3 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010092A0172E4000/DDD039E882DBCD1C.yaml @@ -0,0 +1,33 @@ +# It Takes Two 1.0.4 +# BID: DDD039E882DBCD1C + +MASTER_WRITE: + # Set Triple Buffer + ## nvn.NumBufferedFrames + - + type: bytes + main_offset: 0x9739518 + value_type: int8 + value: 0x53 +ALL_FPS: + # r.DynamicRes.FrameTimeBudget = 0.87 * (1000/FPS) cutted to 2 decimals + - + type: evaluate_write + address: [MAIN, 0xBA7F3D8, 0] + value_type: float + value: ["TruncDec(0.87 * FRAMETIME_TARGET, 2)", "TruncDec(0.87 * FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0xBAAD130, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0xB2CAEC0, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100A8B00F0B4000/057269D583D882EE.yaml b/SaltySD/plugins/FPSLocker/patches/0100A8B00F0B4000/057269D583D882EE.yaml new file mode 100644 index 0000000..920f70a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A8B00F0B4000/057269D583D882EE.yaml @@ -0,0 +1,25 @@ +# HYPERCHARGE: Unboxed 0.2.4261.107 +# BID: 057269D583D882EE + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: evaluate_write + address: [MAIN, 0x7B3A998, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7B67A10, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x73A3D10, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100B6001E6D6000/BCA08580CB5D670C.yaml b/SaltySD/plugins/FPSLocker/patches/0100B6001E6D6000/BCA08580CB5D670C.yaml new file mode 100644 index 0000000..8f1c869 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B6001E6D6000/BCA08580CB5D670C.yaml @@ -0,0 +1,10 @@ +# Fabledom 1.0.8 +# BID: BCA08580CB5D670C + +ALL_FPS: + # DynamicResolution_TypeInfo + - + type: evaluate_write + address: [MAIN, 0x68243A0, 0xB8, 0] + value_type: double + value: [FPS_TARGET, FRAMETIME_TARGET] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100D5B026844000/96C4CCA112FB0B02.yaml b/SaltySD/plugins/FPSLocker/patches/0100D5B026844000/96C4CCA112FB0B02.yaml new file mode 100644 index 0000000..c4a57f5 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D5B026844000/96C4CCA112FB0B02.yaml @@ -0,0 +1,25 @@ +# Silver Pines 1.0.1 +# BID: 96C4CCA112FB0B02 + +ALL_FPS: + # Vsync + # Ref: 01 00 00 00 01 00 00 00 00 00 00 08 + - + type: evaluate_write + address: [MAIN, 0x4CDFE98] + value_type: int32 + value: VSYNC_TARGET + # FPS lock + # Ref: 89 88 88 3C 03 00 00 00 + - + type: evaluate_write + address: [MAIN, 0x4CDFEA4] + value_type: float + value: "1 / FPS_LOCK_TARGET" + # DynamicResolution_TypeInfo + - + type: evaluate_write + address: [MAIN, 0x4A89728, 0xB8, 0] + address_unsafe: true + value_type: double + value: [FPS_TARGET, FRAMETIME_TARGET] diff --git a/SaltySD/plugins/FPSLocker/patches/0100E63013E60000/B5B8DAE91A3F3638.yaml b/SaltySD/plugins/FPSLocker/patches/0100E63013E60000/B5B8DAE91A3F3638.yaml new file mode 100644 index 0000000..ee4ca0d --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100E63013E60000/B5B8DAE91A3F3638.yaml @@ -0,0 +1,25 @@ +# ASTRONEER 1.45.1.0 +# BID: B5B8DAE91A3F3638 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0xAE8A748, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0xAEB85D0, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0xA6BB4F0, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100F3E024DFC000/A24C753207095F28.yaml b/SaltySD/plugins/FPSLocker/patches/0100F3E024DFC000/A24C753207095F28.yaml new file mode 100644 index 0000000..1c0bdc0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100F3E024DFC000/A24C753207095F28.yaml @@ -0,0 +1,17 @@ +# Another Eden Begins 1.1.2 +# BID: A24C753207095F28 + +ALL_FPS: + # Vsync + # Ref: 01 00 00 00 89 88 88 3C + - + type: evaluate_write + address: [MAIN, 0xEA8AC18] + value_type: int32 + value: VSYNC_TARGET + # FPS Lock + - + type: evaluate_write + address: [MAIN, 0xEA8AC1C] + value_type: float + value: "1 / FPS_LOCK_TARGET" \ No newline at end of file diff --git a/atmosphere/contents/420000000000000B/exefs.nsp b/atmosphere/contents/420000000000000B/exefs.nsp index d3b726a..e3eb71b 100644 Binary files a/atmosphere/contents/420000000000000B/exefs.nsp and b/atmosphere/contents/420000000000000B/exefs.nsp differ diff --git a/switch/DBI/DBI.nro b/switch/DBI/DBI.nro index 26c1893..378de3c 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 3308ff0..6cb911f 100644 --- a/switch/DBI/dbi.config +++ b/switch/DBI/dbi.config @@ -63,6 +63,10 @@ Custom dns servers for http connections SmartNetworkConfig=true ; Auto save backup on DBI start interval in days. 0 - disable AutoSaveBackupInterval=0 +; Path to atmosphere contents folder +ContentsPath=/atmosphere/contents +; Path to atmosphere exefs_patches folder +ExefsPatchesPath=/atmosphere/exefs_patches ;Settings for put objects to album [Album] @@ -124,6 +128,8 @@ CheckHash=true EnableNSZ=true ; Create LFS folder in /atmosphere/contents after installation CreateLFS=false +; Patch XCI originated nca +PatchDistributionBit=true ; ; Note! Following flags can make games to crash. ; Patch restrictions for user account such as Linking (breaks signature) @@ -136,6 +142,8 @@ PatchVideoRec=false PatchMasterKeyGeneration=true ; Patch compressed names in controls nacp if HOS version less than 21 Patch21Names=false +; Patch required version in meta.nca +PatchVersionInMeta=false ; MTP options [MTP] @@ -189,6 +197,8 @@ UseWaitAll=false Port=1234 ; Data read timeout (seconds) Timeout=3 +; Max retry count ( 0 = infinite) +RetryCount=0 ; Access point options @@ -222,6 +232,17 @@ Hyphenation=true ; Default orientation Orientation=0 +; Forwarder creation params +[Forwarder] +; Address space (0 - 32Bit, 1 - 36Bit, 2 - 32Bit NooReserve, 3 - 39Bit, 4 - 42Bit) +AddressSpace=3 +; Enable usage of four CPU cores +FourCores=false +; Enable video recording +VideoCapture=true +; Enable screenshots +Screenshot=true + ; Network install sources [Network sources] ; =|