diff --git a/README.md b/README.md index f36db07..3e9799a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ### Ultra - это функциональная кастомная прошивка для Nintendo Switch, с упором в разгон и улучшенный пользовательский опыт. -### [Ultra 2.4|R2](https://github.com/Ultra-NX/UltraNX/releases) Поддерживает HOS 20.1.1 и все ревизии консолей +### [Ultra 2.4|R2.1](https://github.com/Ultra-NX/UltraNX/releases) Поддерживает HOS 20.1.1 и все ревизии консолей @@ -92,6 +92,7 @@ * Other: * [FPSLocker Patches](https://github.com/masagrator/FPSLocker-Warehouse) - Патчи для FPSLocker, что бы не качать отдельно патч для каждой игры через оверлей. * [DVR Patches](https://github.com/exelix11/dvr-patches) - Патчи SysDVR, работают и без системного модуля, активируя фоновую запись в играх, где это изначально запрещено. + * [Mod Alchemist](https://github.com/ppkantorski/Mod-Alchemist) - Пакет для скачивания, установки и управления модами для игр. * [sys-ftpd](https://github.com/tomvita/sys-ftpd-light) - FTP сервер, работающий на фоне. @@ -129,14 +130,15 @@ Если вам нравится проект, и у вас появилось желание поддержать меня копеечкой - я буду очень благодарен. У меня в данный момент нет других заработков, так что любая денежная помощь очень ценна для меня. ``` -TON: UQDioCnnPI5sk4KvxWzfPWsWbAyWCkzwhaYjy8Qpg2QwWMiL -BTC: 1HsC4z8X1YkZzcSKZz1t7MXRa7rPi8qChV -USDT: TQi3qLVrNGcr6avfVQBXRjpPTyvp5JZ7i2 - СБП : +79168089980 Альфа : 2200152336577997 Tinkoff : 2200700170486970 +Сбер : 2202200513345833 + +TON: UQA9My51bkGZHbYhbdRZfp6B60N7VJfsnKl0sakgw9YhAPct +BTC: 18K6NN8NEavvMJL5Do3VTyJbL8NeZPHo93 +USDT TRC20: TUZ5szAmRsnvBuC4rFB8RaAoCbN6Ucy4sL ``` ### Tinkoff QR diff --git a/README_ENG.md b/README_ENG.md index b8fd74c..1f5451f 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.4|R2](https://github.com/Ultra-NX/UltraNX/releases) Supports HOS 20.1.1 and all console revisions +### [Ultra 2.4|R2.1](https://github.com/Ultra-NX/UltraNX/releases) Supports HOS 20.1.1 and all console revisions @@ -88,6 +88,7 @@ * Other: * [FPSLocker Patches](https://github.com/masagrator/FPSLocker-Warehouse) - Patches for FPSLocker, so you don't have to download a separate patch for each game through the overlay. * [DVR Patches](https://github.com/exelix11/dvr-patches) - SysDVR patches, work without the system module, activating background recording in games where it is initially prohibited. + * [Mod Alchemist](https://github.com/ppkantorski/Mod-Alchemist) - A package for downloading, installing, and managing mods for games. * [sys-ftpd](https://github.com/cathery/sys-ftpd) - FTP server running in background. @@ -123,7 +124,7 @@ Listed below are the licenses of those programs that have been modified specific If you like the project and you have a desire to support me with a penny - I will be very grateful. I have no other income at the moment, so any monetary help is very valuable to me. ``` -TON: UQDioCnnPI5sk4KvxWzfPWsWbAyWCkzwhaYjy8Qpg2QwWMiL -BTC: 1HsC4z8X1YkZzcSKZz1t7MXRa7rPi8qChV -USDT: TQi3qLVrNGcr6avfVQBXRjpPTyvp5JZ7i2 +TON: UQA9My51bkGZHbYhbdRZfp6B60N7VJfsnKl0sakgw9YhAPct +BTC: 18K6NN8NEavvMJL5Do3VTyJbL8NeZPHo93 +USDT TRC20: TUZ5szAmRsnvBuC4rFB8RaAoCbN6Ucy4sL ``` \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010054E01D878000/EE92CAF016873D08.yaml b/SaltySD/plugins/FPSLocker/patches/010054E01D878000/EE92CAF016873D08.yaml new file mode 100644 index 0000000..2aa832d --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010054E01D878000/EE92CAF016873D08.yaml @@ -0,0 +1,12 @@ +# EA SPORTS FC 25 1.7b.3ca3 +# BID: EE92CAF016873D08 + +unsafeCheck: true + +ALL_FPS: + # Internal FPS Lock + - + type: evaluate_write + address: [MAIN, 0xCE91A68, 8] + value_type: double + value: FPS_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/6265F94D606242CE.yaml b/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/6265F94D606242CE.yaml new file mode 100644 index 0000000..8284ca4 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/6265F94D606242CE.yaml @@ -0,0 +1,170 @@ +# The Legend of Zelda: Tears of The Kingdom 1.4.0 +# BID: 6265F94D606242CE + +Addons: + - atmosphere/contents/0100F2C0115B6000/exefs/main.npdm + +unsafeCheck: true + +MASTER_WRITE: + # Remove double buffer + ## REF: A0 2A 40 F9 61 A2 40 39 + - + type: bytes + main_offset: 0xBD1F08 + value_type: uint32 + value: 0x52800021 + # Code Injected, $x1 + 0xD8 - last frametime without compensation long ticks, $x0 + 0x50 - fps target used for calculatuon int, + # $x0 + 0x24 - our fps target used for calculation but as float, originally is stored there 30 FPS int that seems to do nothing outside of this function + ## MAIN + 0x3ACFFFC = FPS target for reference + ## REF: nvnWindowSetPresentInterval + - + type: bytes + main_offset: 0x3E0F64 + value_type: uint32 + value: + - 0xF001B762 + - 0xBD4FFC49 + - 0xAA0003F4 + - 0xAA0103F5 + - 0xF9406C20 + - 0x949F20BE + - 0xF0014902 + - 0xB9480842 + - 0x1E220042 + - 0x9E220001 + - 0x1E211841 + - 0x1E292020 + - 0x1E21CD21 + - 0x1E25D009 + - 0x1E292020 + - 0x1E21BD21 + - 0x1E390022 + - 0xB9005282 + - 0xBD002681 + - 0x1400002B + ## Use our fps target + - + type: bytes + main_offset: 0x3E082C + value_type: uint32 + value: 0xBD422660 + - + type: bytes + main_offset: 0x3E0844 + value_type: uint32 + value: 0xD503201F + - + type: bytes + main_offset: 0x4B4F8C + value_type: uint32 + value: 0xBD4226C0 + - + type: bytes + main_offset: 0x4B4F98 + value_type: uint32 + value: 0xD503201F + # When prerendered cutscene is active write flag to MAIN + 0x3ACFFFB + ## REF: 68 52 40 79 08 01 19 32 68 52 00 79 + - + type: bytes + main_offset: 0x2B2A608 + value_type: uint32 + value: 0x9762DA6E + ## REF: 68 52 40 79 08 79 18 12 68 52 00 79 + - + type: bytes + main_offset: 0x2B27E20 + value_type: uint32 + value: 0x1762E46C + ## CODE CAVE + - + type: bytes + main_offset: 0x3E0FC0 + value_type: uint32 + value: + - 0x52800022 + - 0xF001B763 + - 0x393FEC62 + - 0x14196AF3 + - + type: bytes + main_offset: 0x3E0FD0 + value_type: uint32 + value: + - 0xF001B763 + - 0x393FEC60 + - 0x149F263A + # Adjust DR timing to factor from MAIN + 0x3ACFFF4 + # REF: 0x46823555 + - + type: bytes + main_offset: 0x18CB20 + value_type: uint32 + value: + - 0xF001CA08 + - 0xBD4FF501 + # Fix black background for D-pad menu + - + type: bytes + main_offset: 0x5ECA90 + value_type: uint32 + value: + - 0x17F7D153 + - 0x1E202008 + ## CODE CAVE + - + type: bytes + main_offset: 0x3E0FDC + value_type: uint32 + value: + - 0x1E202028 + - 0x54000101 + - 0x785FA328 + - 0x7100151F + - 0x540000A1 + - 0x785F8328 + - 0x7100151F + - 0x54000041 + - 0x1E2E1008 + - 0x1F080409 + - 0x14082EA4 + # Default values + ## FPS Target + - + type: bytes + main_offset: 0x3ACFFFC + value_type: float + value: 30 + ## Cutscene flag + - + type: bytes + main_offset: 0x3ACFFFB + value_type: uint8 + value: 0 + ## Dynamic Resolution timing factor + - + type: bytes + main_offset: 0x3ACFFF4 + value_type: float + value: 0.001 +ALL_FPS: + - + type: evaluate_write + address: [MAIN, 0x3ACFFFC] + value_type: float + value: FPS_TARGET + - + type: evaluate_write + address: [MAIN, 0x3ACFFF4] + value_type: float + value: "0.001 * (FPS_TARGET / 30)" + - + type: compare + compare_address: [MAIN, 0x3ACFFFB] + compare_value_type: uint8 + compare_value: 1 + compare_type: "==" + address: [MAIN] + value_type: refresh_rate + value: 30 diff --git a/atmosphere/contents/00FF0000636C6BFF/exefs.nsp b/atmosphere/contents/00FF0000636C6BFF/exefs.nsp index 0294e6a..402f2fa 100644 Binary files a/atmosphere/contents/00FF0000636C6BFF/exefs.nsp and b/atmosphere/contents/00FF0000636C6BFF/exefs.nsp differ diff --git a/atmosphere/contents/420000000007E51A/exefs.nsp b/atmosphere/contents/420000000007E51A/exefs.nsp index 6e09b18..7e9c6ec 100644 Binary files a/atmosphere/contents/420000000007E51A/exefs.nsp and b/atmosphere/contents/420000000007E51A/exefs.nsp differ diff --git a/atmosphere/contents/690000000000000D/exefs.nsp b/atmosphere/contents/690000000000000D/exefs.nsp index afc5d48..fc43c2e 100644 Binary files a/atmosphere/contents/690000000000000D/exefs.nsp and b/atmosphere/contents/690000000000000D/exefs.nsp differ diff --git a/atmosphere/kips/loader.kip b/atmosphere/kips/loader.kip index ae5c68c..c34aec0 100644 Binary files a/atmosphere/kips/loader.kip and b/atmosphere/kips/loader.kip differ diff --git a/atmosphere/package3 b/atmosphere/package3 index 6c4bfa1..dd9e583 100644 Binary files a/atmosphere/package3 and b/atmosphere/package3 differ diff --git a/atmosphere/stratosphere.romfs b/atmosphere/stratosphere.romfs index 604b40b..288c599 100644 Binary files a/atmosphere/stratosphere.romfs and b/atmosphere/stratosphere.romfs differ diff --git a/config/sys-con/config.ini b/config/sys-con/config.ini index c02d409..6d44fbb 100644 --- a/config/sys-con/config.ini +++ b/config/sys-con/config.ini @@ -4,17 +4,19 @@ ;Loaded once during startup, if you change it you need to restart the console [global] -polling_frequency_ms=1 +; polling_timeout_ms determines how long (in ms) the polling_thread waits for data from the controller before retrying to poll it. +; For controllers with multiple interface (Like XBOX360 wireless) this value will determine how fast sys-con will read controllers. +; For all other controllers, this value doesn't really impact controller responsiveness, so keep it high to avoid high CPU usage. +polling_timeout_ms=10 ; thread_priority (0-63) ; Lower number means higher priority ; 44 is the usual priority of the main thread ; 59 is a special priority on cores 0..2 that enables preemptive multithreading ; 63 is a special priority on core 3 that enables preemptive multithreading -polling_thread_priority=48 +polling_thread_priority=30 ;log_level Trace=0, Debug=1, Performance=2, Info=3, Warning=4, Error=5 -;Important note, if you set the log level to Debug or Trace, the polling_frequency_ms will be automatically increase otherwise it will generate too many logs log_level=3 ;Discovery mode: @@ -314,6 +316,20 @@ rstick_right=+Rz rstick_up=+Z rstick_down=-Z +[1292-4647] ;USB micro-B NES controller hub +b=2 +a=1 +x=3 +y=4 +l=5 +r=6 +zl=7 +zr=8 +minus=11 +plus=12 +capture=9 +home=10 + [046d-c294]; Logitech Driving Force GT (Wheel) B=1 A=3 diff --git a/hbmenu.nro b/hbmenu.nro index e421f6f..f08ca4d 100644 Binary files a/hbmenu.nro and b/hbmenu.nro differ diff --git a/switch/.overlays/Status-Monitor-Overlay.ovl b/switch/.overlays/Status-Monitor-Overlay.ovl index 47bbb5d..39a1a24 100644 Binary files a/switch/.overlays/Status-Monitor-Overlay.ovl and b/switch/.overlays/Status-Monitor-Overlay.ovl differ diff --git a/switch/.overlays/Ultra.ovl b/switch/.overlays/Ultra.ovl index 7fa6562..f0d58e1 100644 Binary files a/switch/.overlays/Ultra.ovl and b/switch/.overlays/Ultra.ovl differ diff --git a/switch/.overlays/ovlSysmodules.ovl b/switch/.overlays/ovlSysmodules.ovl index cbbc66d..3b21d4d 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 602a613..d142164 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 ee024d7..987e411 100644 Binary files a/switch/DBI/DBI.nro and b/switch/DBI/DBI.nro differ