UltraNX 3.1|RC1

This commit is contained in:
redraz 2026-09-28 08:00:37 +03:00
parent 7d746c2240
commit a4b56c45d4
31 changed files with 150 additions and 13 deletions

View File

@ -8,7 +8,7 @@
### Ultra - это функциональная кастомная прошивка для Nintendo Switch, с упором в разгон и улучшенный пользовательский опыт. ### Ultra - это функциональная кастомная прошивка для Nintendo Switch, с упором в разгон и улучшенный пользовательский опыт.
### [UltraNX 3.0|R4+](https://github.com/Ultra-NX/UltraNX/releases/tag/3.0-R4) Поддерживает все HOS до 22.5.0 включительно ### [UltraNX 3.1|RC1](https://github.com/Ultra-NX/UltraNX/releases/tag/3.1-R1) Поддерживает все HOS до 23.0.0 включительно

View File

@ -6,7 +6,7 @@
# #
### Ultra is a functional custom firmware for Nintendo Switch, with a focus on overclocking and an improved user experience. ### Ultra is a functional custom firmware for Nintendo Switch, with a focus on overclocking and an improved user experience.
### [UltraNX 3.0|R4+](https://github.com/Ultra-NX/UltraNX/releases/tag/3.0-R4) Supports all HOS up to and including 22.5.0 ### [UltraNX 3.1|RC1](https://github.com/Ultra-NX/UltraNX/releases/tag/3.1-R1) Supports all HOS up to and including 23.0.0

Binary file not shown.

Binary file not shown.

View File

@ -2,5 +2,5 @@
"name": "SaltyNX", "name": "SaltyNX",
"tid": "0000000000534C56", "tid": "0000000000534C56",
"requires_reboot": true, "requires_reboot": true,
"version": "1.9.3" "version": "2.0.0"
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,7 @@
{ {
"ams": { "ams": {
"[PACK] UltraNX 3.0|R4": "https://github.com/Ultra-NX/UltraNX/releases/latest/download/Ultra.zip" "[PACK] UltraNX 3.1|RC1 Prerelease HOS ≤23.0.0": "https://github.com/Ultra-NX/UltraNX/releases/latest/download/Ultra.zip",
"[PACK] UltraNX 3.0|R4+ Stable HOS ≤22.5.0": "https://github.com/Ultra-NX/UltraNX/releases/download/3.0-R4/Ultra.zip"
}, },
"misc": { "misc": {
"Refresh AIO": "https://github.com/Ultra-NX/Ultra-Resources/releases/download/Homebrews/AIO.zip" "Refresh AIO": "https://github.com/Ultra-NX/Ultra-Resources/releases/download/Homebrews/AIO.zip"

View File

@ -23,10 +23,10 @@
"Load": "Нагрузка", "Load": "Нагрузка",
"Total\nApplication\nApplet\nSystem\nSystem Unsafe": "Общая\nПриложение\nАпплет\nСистема\nСистем. (небез.)", "Total\nApplication\nApplet\nSystem\nSystem Unsafe": "Общая\nПриложение\nАпплет\nСистема\nСистем. (небез.)",
"Board": "Плата", "Board": "Плата",
"Battery Power Flow": "Мощность аккумулятора", "Battery Power Flow": "Расход/зарядка",
"\nTemperatures": "\nТемпературы", "\nTemperatures": "\nТемпературы",
"SoC\nPCB\nSkin": "SoC\nPCB\nSkin", "SoC\nPCB\nSkin": "SoC\nPCB\nSkin",
"Fan Rotation Level": "Скорость вентилятора", "Fan Rotation Level": "Скорость кулера",
"Game": "Игра", "Game": "Игра",
"PFPS ": "PFPS ", "PFPS ": "PFPS ",
"FPS ": "FPS ", "FPS ": "FPS ",
@ -45,7 +45,7 @@
"Age": "Износ", "Age": "Износ",
"Voltage": "Напряжение", "Voltage": "Напряжение",
"Current Flow": "Сила тока", "Current Flow": "Сила тока",
"Power Flow": "Мощность", "Power Flow": "Расход/зарядка",
"Remaining Time": "Оставшееся время", "Remaining Time": "Оставшееся время",
"Charger Stats": "Состояние зарядки", "Charger Stats": "Состояние зарядки",
"Input Current Limit": "Лимит входного тока", "Input Current Limit": "Лимит входного тока",
@ -106,7 +106,7 @@
"Stacked VDD2/VDDQ": "VDD2/VDDQ (стек)", "Stacked VDD2/VDDQ": "VDD2/VDDQ (стек)",
"Full Resolution": "Полное разрешение", "Full Resolution": "Полное разрешение",
"SOC Voltage": "Напряжение SOC", "SOC Voltage": "Напряжение SOC",
"Stacked Fan/SOC": "Вентилятор/SOC (стек)", "Stacked Fan/SOC": "Кулер/SOC (стек)",
"RAM Load CPU/GPU": "Загрузка RAM CPU/GPU", "RAM Load CPU/GPU": "Загрузка RAM CPU/GPU",
"Stacked RAM Load CPU/GPU": "Загрузка RAM CPU/GPU (стек)", "Stacked RAM Load CPU/GPU": "Загрузка RAM CPU/GPU (стек)",
"Use DTC Symbol": "Исп. символ DTC", "Use DTC Symbol": "Исп. символ DTC",
@ -200,7 +200,7 @@
"Skin": "Skin", "Skin": "Skin",
"CPU ": "CPU ", "CPU ": "CPU ",
"GPU ": "GPU ", "GPU ": "GPU ",
"MEM ": "MEM ", "MEM ": "RAM ",
"SOC ": "SOC ", "SOC ": "SOC ",
"PCB ": "PCB ", "PCB ": "PCB ",
"Skin ": "Skin ", "Skin ": "Skin ",

View File

@ -4,6 +4,13 @@
;Loaded once during startup, if you change it you need to restart the console ;Loaded once during startup, if you change it you need to restart the console
[global] [global]
;How USB controllers are published to the console as virtual pads:
; hiddbg: attach virtual devices through hiddbg/HDLS (default, most compatible)
; mitm: man-in-the-middle the 'hid' service and feed each game a fake HID shared memory
; disabled: completely disable sys-con (Similar to remove boot2.flag)
;Both are available on either build; requires Atmosphere at runtime.
mode=hiddbg
; polling_timeout_ms determines how long (in ms) the polling_thread waits for data from the controller before retrying to poll it. ; 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 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. ; For all other controllers, this value doesn't really impact controller responsiveness, so keep it high to avoid high CPU usage.
@ -34,6 +41,15 @@ discovery_vidpid=054c-*,0f0d-0088
;1: Enabled ;1: Enabled
auto_add_controller=1 auto_add_controller=1
;Network controller driven over UDP, for scripted input during testing (see tools/networkpad.py).
;When enabled, sys-con listens on the port below and turns each datagram into a virtual pad,
;which appears alongside any real USB controllers. The console must already be on the network.
;Leave this disabled unless you are testing: anyone on the same network can press buttons.
;0: Disabled
;1: Enabled
network_controller=0
network_controller_port=56789
; *************************************** ; ***************************************
; Controller configuration ; Controller configuration
; *************************************** ; ***************************************
@ -41,7 +57,7 @@ auto_add_controller=1
; Default configuration is used as base of configuration for all controller (Do not change it) ; Default configuration is used as base of configuration for all controller (Do not change it)
; If you want to change the default configuration, it's better to change the configuration of the controller you want to use ; If you want to change the default configuration, it's better to change the configuration of the controller you want to use
;controller_type might be one of these ones: prowithbattery, tarragon, snes, pokeballplus, gamecube (Not supported since 19.0.1), pro, 3rdpartypro, n64, sega, nes, famicom ;controller_type might be one of these ones: prowithbattery, tarragon, snes, pokeballplus, gamecube, pro, 3rdpartypro, n64, sega, nes, famicom
[default] [default]
driver= driver=
@ -97,6 +113,19 @@ home=0
simulate_capture=minus+dpad_up simulate_capture=minus+dpad_up
simulate_home=minus+dpad_down simulate_home=minus+dpad_down
;Rumble for controllers sys-con has no dedicated driver for (driver= empty, so generic HID).
;Write the output report the pad expects in hex and leave the amplitudes as placeholders:
; LL low frequency (heavy) motor, one byte
; RR high frequency (light) motor, one byte
; LLLL / RRRR two bytes, most significant first
; llll / rrrr two bytes, least significant first
; 00*26 repeats the byte before it, so trailing padding stays readable
;Spaces are ignored, everything else is sent as written, and the report goes to the pad's
;output endpoint. Drivers with their own rumble (xbox*, switch, dualshock3, sinput, ...)
;ignore this key. Capture a rumble report with Wireshark to find the right bytes
;(see doc/WiresharkCapture.md). Example for a pad taking an Xbox 360 style report:
;vibration=00 08 00 LL RR 00 00 00
; *************************************** ; ***************************************
; Profiles ; Profiles
; *************************************** ; ***************************************
@ -197,6 +226,7 @@ home=13
capture=14 capture=14
lstick_click=11 lstick_click=11
rstick_click=12 rstick_click=12
vibration=02 03 00 RR LL 00*58
[dualshock4] [dualshock4]
color_body = #1c1c1c color_body = #1c1c1c
@ -290,6 +320,27 @@ factor_rz=125
factor_rx=125 factor_rx=125
factor_ry=125 factor_ry=125
[sinput]
driver=sinput
color_body = #1c1c1c
color_buttons = #515050
color_leftGrip = #1c1c1c
color_rightGrip = #1c1c1c
B=1
A=2
Y=3
X=4
lstick_click=5
rstick_click=6
L=7
R=8
ZL=9,+Rx
ZR=10,+Ry
plus=13
minus=14
home=15
capture=16
[steam2026] [steam2026]
driver=steam2026 driver=steam2026
color_body = #1c1c1c color_body = #1c1c1c
@ -311,6 +362,46 @@ rstick_click=14
home=12 home=12
capture=11 capture=11
;Profile for the network controller driven over UDP (network_controller=1 above).
;Unlike a real controller, its pin numbers are not dictated by hardware, so they are simply
;the button numbering itself: bit N of the UDP packet is pin N. The mapping is written out in
;full rather than left implicit, and you can remap it here like any other controller.
;The deadzones and factors are reset because the sender already says exactly where the
;sticks are - [default] would otherwise clamp the first 20% of every axis to zero.
[network]
driver=network
;Debugger blue: the UDP pad is a testing tool, so it should never be mistaken for a real one.
color_body = #2d7dff
color_buttons = #0a3d91
color_leftGrip = #1a5fd0
color_rightGrip = #1a5fd0
X=1
A=2
B=3
Y=4
lstick_click=5
rstick_click=10
L=15
R=16
ZL=17
ZR=18
minus=19
plus=20
dpad_up=21
dpad_right=22
dpad_down=23
dpad_left=24
capture=25
home=26
deadzone_x=0
deadzone_y=0
deadzone_z=0
deadzone_rz=0
factor_x=100
factor_y=100
factor_z=100
factor_rz=100
; *************************************** ; ***************************************
; Controllers VID/PID configuration ; Controllers VID/PID configuration
; *************************************** ; ***************************************
@ -724,12 +815,22 @@ dpad_up=3
dpad_down=4 dpad_down=4
a=11 a=11
[04d9-0008] ;Saulabi 4K Arcade Stick
b=2
a=3
x=4
y=1
l=5
r=6
minus=9
plus=10
; *************************************** ; ***************************************
; N64 / GC adapter ; N64 / GC adapter
; *************************************** ; ***************************************
[0601-0101] ;GC controller adapter HS-WU025 (pc mode) [0601-0101] ;GC controller adapter HS-WU025 (pc mode)
;controller_type=gamecube ;Not supported since 19.0.1 controller_type=gamecube
b=3 b=3
a=2 a=2
x=1 x=1
@ -742,7 +843,7 @@ dpad_up=13
dpad_right=14 dpad_right=14
[0079-1846] ;GC controller adapter BX-W201C (pc mode) [0079-1846] ;GC controller adapter BX-W201C (pc mode)
;controller_type=gamecube ;Not supported since 19.0.1 controller_type=gamecube
b=3 b=3
a=2 a=2
x=1 x=1
@ -755,6 +856,7 @@ dpad_up=13
dpad_right=14 dpad_right=14
factor_x=150 factor_x=150
factor_y=150 factor_y=150
vibration=RR LL
[0e8f-3013] ;N64 PC adapter [0e8f-3013] ;N64 PC adapter
controller_type=n64 controller_type=n64
@ -816,6 +918,7 @@ capture=17
home=18 home=18
lstick_click=14 lstick_click=14
rstick_click=15 rstick_click=15
vibration=05 llll rrrr
[2dc8-301c] ;8bitdo Ultimate 2C Wireless Dongle [2dc8-301c] ;8bitdo Ultimate 2C Wireless Dongle
A=1 A=1
@ -846,9 +949,31 @@ profile=switch
[057e-0337] ;Wii Controller BX-W201 (USB) or WUP-028 [057e-0337] ;Wii Controller BX-W201 (USB) or WUP-028
profile=wii profile=wii
;controller_type=gamecube controller_type=gamecube
; ***************************************
; SInput controllers
; ***************************************
[2e8a-10c6] ;Generic SInput gamepad (reference firmware)
profile=sinput
[2e8a-10df] ;Hand Held Legend ProGCC (SInput mode)
profile=sinput
[2e8a-10dd] ;Hand Held Legend GC Ultimate (SInput mode)
profile=sinput
[2e8a-10e0] ;Bonziri FireBird (SInput mode)
profile=sinput
[2e8a-10e5] ;Void Gaming PS4 FireBird (SInput mode)
profile=sinput
[38d2-1014] ;Void Gaming GENESIS (SInput mode)
profile=sinput
; *************************************** ; ***************************************
; Steam controllers ; Steam controllers
; *************************************** ; ***************************************
@ -859,6 +984,9 @@ profile=steam2026
[28de-1304] ;Steam Controller (2026) Wireless (Puck) [28de-1304] ;Steam Controller (2026) Wireless (Puck)
profile=steam2026 profile=steam2026
[28de-1305] ;Steam Controller (2026) Wireless (Nereid dongle)
profile=steam2026
; *************************************** ; ***************************************
; Dualshock 3 controllers ; Dualshock 3 controllers
; *************************************** ; ***************************************
@ -900,12 +1028,15 @@ profile=dualsense5
[054c-05c4]; DS4 v1 [054c-05c4]; DS4 v1
profile=dualshock4 profile=dualshock4
vibration=05 01 00 00 RR LL 00*26
[054c-09cc]; DS4 v2 [054c-09cc]; DS4 v2
profile=dualshock4 profile=dualshock4
vibration=05 01 00 00 RR LL 00*26
[054c-0ba0]; PS4 wireless Adapter [054c-0ba0]; PS4 wireless Adapter
profile=dualshock4 profile=dualshock4
vibration=05 01 00 00 RR LL 00*26
[0c12-0c30]; Brooks Universal Fighting Board (PS4 mode) [0c12-0c30]; Brooks Universal Fighting Board (PS4 mode)
profile=dualshock4 profile=dualshock4
@ -1611,3 +1742,8 @@ profile=xbox360
[2f24-0050] [2f24-0050]
profile=xbox360 profile=xbox360
; The network controller driven over UDP. Not a real device: sys-con creates it itself when
; network_controller=1, and this VID/PID only exists so it picks up a profile like anything else.
[ffff-0001] ;Network controller (UDP)
profile=network

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.