Ultra 2.3|R2

This commit is contained in:
redraz 2024-11-15 12:49:24 +03:00
parent 73b0904544
commit e1812455bb
74 changed files with 1252 additions and 55 deletions

View File

@ -74,7 +74,7 @@
* [ThemezerNX](https://github.com/suchmememanyskill/themezer-nx) + [NXThemes Installer](https://github.com/exelix11/SwitchThemeInjector) + [Theme Patches](https://github.com/exelix11/theme-patches) - Поиск и установка тем на свитч.
* [ReverseNX Tool](https://github.com/masagrator/ReverseNX-Tool) - Программа для управления ReverseNX.
* [Battery Desync Fix](https://github.com/CTCaer/battery_desync_fix_nx) - Программа для сброса контроллера батареи. Не используйте просто так!
* **`MemToolkitNX`** - Бенчмарк и Тестер памяти. Результат сильно зависит от разгона CPU.
* [MemToolkitNX](https://discord.com/channels/854839758815363072/1173171845139288114/1276196700750479480) - Бенчмарк и Тестер памяти. Результат сильно зависит от разгона CPU.
* Overlays:
* [Tetris](https://github.com/ppkantorski/Tetris-Overlay) - Та самая игра в виде оверлея. Работает только на последних версиях Ultrahand.
* [BT Audio](https://github.com/masagrator/BT_Audio-ovl) - Оверлей, позволяющий быстро отключаться/подключаться к bluetooth-гарнитуре.
@ -106,12 +106,12 @@
## Благодарности
* Meha
* B3711
* ppkantorski
* Cooler3D
* rashevskyv
* Meha
* duckbill
* snupt
* Cooler3D
* 4PDA
#### А так же - отдельная благодарность администрации и участникам Ultra Group
@ -120,15 +120,17 @@
## Поддержка
Если вам нравится проект, и у вас появилось желание поддержать меня копеечкой - я буду очень благодарен.
У меня в данный момент нет других заработков, так что любая денежная помощь очень ценна для меня.
### Tinkoff QR
![](https://github.com/Ultra-NX/Ultra-Resources/raw/main/Tinkoff%20small.png)
У меня в данный момент нет других заработков, так что любая денежная помощь очень ценна для меня.
```
TON: UQDioCnnPI5sk4KvxWzfPWsWbAyWCkzwhaYjy8Qpg2QwWMiL
BTC: 1HsC4z8X1YkZzcSKZz1t7MXRa7rPi8qChV
USDT: TQi3qLVrNGcr6avfVQBXRjpPTyvp5JZ7i2
Сбербанк: 2202200513345833
Tinkoff: 2200700170486970
```
СБП : +79168089980
Альфа : 2200152336577997
Tinkoff : 2200700170486970
```
### Tinkoff QR
![](https://github.com/Ultra-NX/Ultra-Resources/raw/main/Tinkoff%20small.png)

View File

@ -102,12 +102,12 @@ Listed below are the licenses of those programs that have been modified specific
## Credits
* Meha
* B3711
* ppkantorski
* Cooler3D
* rashevskyv
* Meha
* duckbill
* snupt
* Cooler3D
* 4PDA
#### And also - a special thanks to the administration and members of Ultra Group

View File

@ -14,10 +14,6 @@ X01003A400C3DA000
;1.1_46609 - 1.1.4_60709 crash on first loading
010075D00E8BA000
;Grandia Collection
;Only launcher is 64-bit, games are 32-bit
0100E0600BBC8000
;Immortals Fenyx Rising
;1.0.3, 1.3.4 crash
01004A600EC0A000

View File

@ -0,0 +1,27 @@
# Gori: Cuddly Carnage 1.0.6
# BID: 1146A5AA87A93969
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x6A02E68, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x6A3C938, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x6245AA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,30 @@
# S.T.A.L.K.E.R.: Call of Prypiat 1.0.1
# BID: 823FE359B4A99A4D
unsafeCheck: true
ALL_FPS:
# psLoadedFrameLimitFps
-
type: evaluate_write
address: [MAIN, 0x17DD77C]
value_type: float
value: FPS_LOCK_TARGET
# psCurrentFrameLimitFps
-
type: evaluate_write
address: [MAIN, 0x17FA8A0]
value_type: float
value: FPS_LOCK_TARGET
# psCurrentFrameLimitMs
-
type: evaluate_write
address: [MAIN, 0x1A6490C]
value_type: float
value: "1000 / FPS_LOCK_TARGET"
# ResolutionInfo::sDynresGPUBudgetMs
-
type: evaluate_write
address: [MAIN, 0x17DD758]
value_type: float
value: "0.99 * FRAMETIME_TARGET"

View File

@ -1,5 +1,5 @@
# The Witcher 3: Wild Hund - Complete Edition 4.04b
# BID: D27FD8A515077F34
# BID: 4BC4A8A814FD46A4
unsafeCheck: true

View File

@ -0,0 +1,13 @@
# Cel Damage HD 1.0.0
# BID: 03B058B1F6BE7195
# Credit to Hazerou for finding offset
# His note: 60 FPS may cause some Graphical Glitches like huge shadow and flashing light/colors appearing out of nowhere.
unsafeCheck: true
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x32EE1C]
value_type: float
value: ["1/FPS_TARGET", "FPS_TARGET"]

View File

@ -1,5 +1,5 @@
# The Witcher 3: Wild Hund - Complete Edition 4.04b
# BID: D27FD8A515077F34
# BID: 4BC4A8A814FD46A4
unsafeCheck: true

View File

@ -0,0 +1,27 @@
# HOT WHEELS UNLEASHED 2 1.0.11
# BID: FE78C7B94C4E791A
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0xAD73888, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0xB58D090, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0xB631E08, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -0,0 +1,27 @@
# GUNDAM BREAKER 4 1.6.0
# BID: EA4853C29547CBBC
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x9F97D48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9FC57E8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x97C9DA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,30 @@
# S.T.A.L.K.E.R.: Clear Sky 1.0.1
# BID: 38171F8A5687B940
unsafeCheck: true
ALL_FPS:
# psLoadedFrameLimitFps
-
type: evaluate_write
address: [MAIN, 0x17BD76C]
value_type: float
value: FPS_LOCK_TARGET
# psCurrentFrameLimitFps
-
type: evaluate_write
address: [MAIN, 0x17DA8E8]
value_type: float
value: FPS_LOCK_TARGET
# psCurrentFrameLimitMs
-
type: evaluate_write
address: [MAIN, 0x1A4436C]
value_type: float
value: "1000 / FPS_LOCK_TARGET"
# ResolutionInfo::sDynresGPUBudgetMs
-
type: evaluate_write
address: [MAIN, 0x17BD748]
value_type: float
value: "0.99 * FRAMETIME_TARGET"

View File

@ -0,0 +1,12 @@
# Shadows of the Damned: Hella Remastered 1.0.1
# BID: 5B863A6EFCE084B0
unsafeCheck: true
ALL_FPS:
# Bool Lock FPS, ref: LDR S0, [X0,#0x694]
-
type: write
address: [MAIN, 0x3A8A2F8]
value_type: uint32
value: 0

View File

@ -0,0 +1,27 @@
# DRAGON QUEST III HD-2D Remake 1.0.1
# BID: 6F49452BD0B343B1
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x5A9D3E8, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x6289E28, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x62B7B68, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -0,0 +1,30 @@
# S.T.A.L.K.E.R.: Shadow Of Chornobyl 1.0.1
# BID: 0214CA2211DE8313
unsafeCheck: true
ALL_FPS:
# psLoadedFrameLimitFps
-
type: evaluate_write
address: [MAIN, 0x16494EC]
value_type: float
value: FPS_LOCK_TARGET
# psCurrentFrameLimitFps
-
type: evaluate_write
address: [MAIN, 0x16659F0]
value_type: float
value: FPS_LOCK_TARGET
# psCurrentFrameLimitMs
-
type: evaluate_write
address: [MAIN, 0x18CDACC]
value_type: float
value: "1000 / FPS_LOCK_TARGET"
# ResolutionInfo::sDynresGPUBudgetMs
-
type: evaluate_write
address: [MAIN, 0x16492F0]
value_type: float
value: "0.99 * FRAMETIME_TARGET"

View File

@ -0,0 +1,12 @@
# EA SPORTS FC 25 1.74.9f94
# BID: 0181E008CA25A289
unsafeCheck: true
ALL_FPS:
# Internal FPS Lock
-
type: evaluate_write
address: [MAIN, 0xCDFCA68, 8]
value_type: double
value: FPS_TARGET

View File

@ -0,0 +1,27 @@
# Ghostbusters: Spirits Unleashed Ecto Edition 1.10.0
# BID: 090A100AA49CE00F
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0xBBFBF70, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0xBC21B48, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0xB42B9B8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,31 @@
# SHIN MEGAMI TENSEI V: Vengeance 1.0.3 US/EUR
# BID: 0A4F14A5C12F470A
unsafeCheck: true
MASTER_WRITE:
# Block from reapplying t.MaxFPS by game, REF: 01 E4 00 2F 00 AC 21 1E 08 00 40 F9 08 75 41 F9, nop BLR X8 after LDR X8, [X8,#0x2E8]
-
type: bytes
main_offset: 0x3780DD0
value_type: uint32
value: 0xD503201F
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x7AAFBB8, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# r.VSync
-
type: write
address: [MAIN, 0x7273AD0, 0]
value_type: uint32
value: [0, 0]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x7AD5858, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]

View File

@ -0,0 +1,27 @@
# The Plucky Squire 1.0.5
# BID: 0A1AC10CCFE46061
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x63A30F8, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal
-
type: evaluate_write
address: [MAIN, 0x6B72668, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x6BA0328, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -0,0 +1,27 @@
# Mario & Luigi: Brothership 1.0.0
# BID: 59874C9B530095AC
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x651F708, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x6CEC8C8, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x6D1A498, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -1,5 +1,5 @@
# The Witcher 3: Wild Hund - Complete Edition 4.04b
# BID: D27FD8A515077F34
# BID: 4BC4A8A814FD46A4
unsafeCheck: true

View File

@ -0,0 +1,27 @@
# LEGO Horizon Adventures 1.1.0
# BID: 2D99FA4793E426C3
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x90FC980, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0xA0CA138, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0xA104AE0, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -1,5 +1,5 @@
# The Witcher 3: Wild Hund - Complete Edition 4.04b
# BID: D27FD8A515077F34
# BID: 4BC4A8A814FD46A4
unsafeCheck: true

View File

@ -0,0 +1,11 @@
# Monster Hunter Generations Ultimate 1.4.0
# BID: FB08F1D20FD1204F
unsafeCheck: true
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x18A6210, 0x243C]
value_type: float
value: FPS_LOCK_TARGET

View File

@ -0,0 +1,32 @@
# No Man's Sky 5.2.2
# BID: 9AA64F897E1D50BA
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x4962F00
-
type: bytes
main_offset: 0x1F9B6B8
value_type: uint32
value: 0xD503201F
-
type: bytes
main_offset: 0x1F9B6C4
value_type: uint32
value:
- 0xF0014E32
- 0xB9400408
- 0xBD4F0240
# default value
-
type: bytes
main_offset: 0x4962F00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x4962F00]
value_type: float
value: FRAMETIME_TARGET

View File

@ -0,0 +1,17 @@
# LEGO City Undercover 1.0.3
# BID: 32C590B064956546
unsafeCheck: true
ALL_FPS:
# Block to 30 FPS when prerendered cutscene is played
# REF: LegoCutscenes::s_fmvCutsceneAudioInstance
-
type: compare
compare_address: [MAIN, 0x2590998]
compare_type: "!="
compare_value_type: uint64
compare_value: 0
address: [MAIN]
value_type: refresh_rate
value: 30

View File

@ -0,0 +1,27 @@
# The Smurfs - Dreams 1.0.1
# BID: C124FFD193F533B4
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x831F958, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x92DCDE8, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9317260, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -0,0 +1,27 @@
# The Smurfs - Dreams 1.0.2
# BID: E08769D5B56A5A25
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x8321958, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x92DEDE8, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9319260, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -0,0 +1,12 @@
# PowerWash Simulator 1.9.1
# BID: 7FF42DE6AA57290B
unsafeCheck: false
ALL_FPS:
# FuturLab.SingletonMonoBehaviour<FrameRateLimiter>_TypeInfo (don't block FPSlocker internal lock because game's lock is kinda shit)
-
type: evaluate_write
address: [MAIN, 0x5FA0BD8, 0xB8, 0, 0x28]
value_type: int32
value: FPS_LOCK_TARGET

View File

@ -0,0 +1,12 @@
# DAVE THE DIVER 1.0.3.938
# BID: 54300203FF8ABCC6
unsafeCheck: true
ALL_FPS:
# UnityEngine.Time::fixedDeltaTime
-
type: evaluate_write
address: [MAIN, 0x97BB3C0, 0x48]
value_type: float
value: "1 / FPS_TARGET"

View File

@ -0,0 +1,77 @@
# Tokyo Mirage Sessions #FE Encore 1.0.0
# BID: 33463E11899166BB
# What is still not adjusted: movement speed in cutscenes, 2D animations speed (it includes UI and 2D effects on 3D objects), none of them uses 1/30 nor 1/60 float
unsafeCheck: true
MASTER_WRITE:
# Triple buffer
-
type: bytes
main_offset: 0x2F3CD8
value_type: uint32
value: 0xE3A01003
-
type: bytes
main_offset: 0x35C218
value_type: uint32
value: 0xE3A00003
-
type: bytes
main_offset: 0x35C2C0
value_type: uint32
value: 0xE3A02003
-
type: bytes
main_offset: 0x35C2D0
value_type: uint32
value: 0xE3A02003
# Code Cave, read speed from MAIN + 0x1B1CF00
# Animation speed
# Jump to MAIN + 0x4EFBE0
-
type: bytes
main_offset: 0x1CE4B4
value_type: uint32
value: 0xEA0C85C9
-
type: bytes
main_offset: 0x4EFBE0
value_type: uint32
value:
- 0xE28F0616
- 0xE30D1318
- 0xE0800001
- 0xE3A01802
- 0xE0800001
- 0xED909A00
- 0xEAF37A2E
# Movement speed
# Jump to MAIN + 0x4EFBFC
-
type: bytes
main_offset: 0x20B750
value_type: uint32
value: 0xEA0B9129
-
type: bytes
main_offset: 0x4EFBFC
value_type: uint32
value:
- 0xE28F0616
- 0xE30D62FC
- 0xE0800006
- 0xE3A06802
- 0xE0800006
- 0xED901A00
- 0xEAF46ECE
type: bytes
main_offset: 0x1B1CF00
value_type: float
value: 0.0333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x1B1CF00]
value_type: float
value: 1 / FPS_TARGET

View File

@ -0,0 +1,22 @@
# Pikmin 1 1.1.0
# BID: C32B29CB5FBA96D9
# Credits to Hazerou for discovering offsets
unsafeCheck: true
ALL_FPS:
# Block cutscenes to 30 FPS
-
type: compare
compare_address: [MAIN, 0x749A3C]
compare_type: "!="
compare_value_type: uint32
compare_value: 0
address: [MAIN]
value_type: refresh_rate
value: 30
-
type: evaluate_write
address: [MAIN, 0x7606A0]
value_type: uint32
value: VSYNC_TARGET

View File

@ -0,0 +1,12 @@
# Good Job! 1.0.0
# BID: 951D09EECE122A47
unsafeCheck: true
ALL_FPS:
# fixedDeltaTime
-
type: evaluate_write
address: [MAIN, 0x4D38EF8, 0x48]
value_type: float
value: 1 / FPS_TARGET

View File

@ -0,0 +1,34 @@
# Bloodstained: Ritual of the Night 1.60
# BID: 461B14E505AB9555
unsafeCheck: true
MASTER_WRITE:
# Disable double buffer
-
type: bytes
main_offset: 0xB080C02
value_type: int8
value: 0x53
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0xCC20CC8, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0xD450E90, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0xD477F10, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -0,0 +1,27 @@
# The Witcher 3: Wild Hund - Complete Edition 4.04b
# BID: 4BC4A8A814FD46A4
unsafeCheck: true
ALL_FPS:
# DRGameTargetFrameTimeInMs
-
type: evaluate_write
address: [MAIN, 0x41312B4]
value_type: float
value: "0.945 * FRAMETIME_TARGET"
# DRCinematicTargetFrameTimeInMs
-
type: evaluate_write
address: [MAIN, 0x41312E4]
value_type: float
value: "0.945 * FRAMETIME_TARGET"
# LimitFPS
-
type: evaluate_write
address: [MAIN, 0x411DCFC]
value_type: int32
value: FPS_LOCK_TARGET
-
type: block
what: timing

View File

@ -1,27 +0,0 @@
# The Witcher 3: Wild Hund - Complete Edition 4.04b
# BID: D27FD8A515077F34
unsafeCheck: true
ALL_FPS:
# DRGameTargetFrameTimeInMs
-
type: evaluate_write
address: [MAIN, 0x41312B4]
value_type: float
value: "0.945 * FRAMETIME_TARGET"
# DRCinematicTargetFrameTimeInMs
-
type: evaluate_write
address: [MAIN, 0x41312E4]
value_type: float
value: "0.945 * FRAMETIME_TARGET"
# LimitFPS
-
type: evaluate_write
address: [MAIN, 0x411DCFC]
value_type: int32
value: FPS_LOCK_TARGET
-
type: block
what: timing

View File

@ -0,0 +1,11 @@
# Monster Hunter XX Nintendo Switch Ver. 1.5.1
# BID: 9D4C86E6EF74504A
unsafeCheck: true
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x214B898, 0x484C]
value_type: float
value: FPS_LOCK_TARGET

View File

@ -0,0 +1,16 @@
# Yakuza Kiwami 1.00
# BID: 53F407A2CFBF5202
unsafeCheck: true
ALL_FPS:
# Block cutscenes to 30 FPS to fix glitches, experimental
-
type: compare
compare_type: "!="
compare_value_type: uint64
compare_address: [MAIN, 0x2596E00]
compare_value: 0
address: [MAIN]
value_type: refresh_rate
value: 30

View File

@ -0,0 +1,13 @@
# Valkyria Chronicles 1.0.0
# BID: FE77FFB8CBFB3A5C
# 2D Animations speed is still tied to framerate
unsafeCheck: true
ALL_FPS:
# 3D Game Speed
-
type: evaluate_write
address: [MAIN, 0x95CA9C]
value_type: float
value: "60 / FPS_TARGET"

View File

@ -0,0 +1,27 @@
# SOUTH PARK: SNOW DAY! 1.0.10
# BID: 9A2DB2F402A31811
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x7E96DB8, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal
-
type: evaluate_write
address: [MAIN, 0x8662488, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x8687EF8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -0,0 +1,27 @@
# Poppy Playtime: Chapter 2 1.1
# BID: E3A3FC8EEC76A4FB
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x640E6A8, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x73F4290, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x742E790, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -0,0 +1,67 @@
# Pikmin 2 1.1.0
# BID: 9A257FAB83444214
# Credits to Hazerou for finding offsets
unsafeCheck: true
ALL_FPS:
-
type: write
address: [MAIN, 0xC104B0, 0x28]
value_type: uint32
value: 1
# Block cutscenes to 30 FPS
-
type: evaluate_compare
compare_address: [MAIN, 0xC18080]
compare_type: "<="
compare_value_type: uint32
compare_value: 0x4B
address: [MAIN, 0xC0C040, 0xE0]
value_type: float
value: "1 / 30"
-
type: compare
compare_address: [MAIN, 0xC18080]
compare_type: "<="
compare_value_type: uint32
compare_value: 0x4B
address: [MAIN, 0xC0C040, 0x100]
value_type: float
value: 2
-
type: compare
compare_address: [MAIN, 0xC18080]
compare_type: "<="
compare_value_type: uint32
compare_value: 0x4B
address: [MAIN]
value_type: refresh_rate
value: 30
-
type: evaluate_compare
compare_address: [MAIN, 0xC18080]
compare_type: "<"
compare_value_type: uint32
compare_value: 0x49
address: [MAIN, 0xC0C040, 0xE0]
value_type: float
value: "1 / FPS_TARGET"
-
type: evaluate_compare
compare_address: [MAIN, 0xC18080]
compare_type: "<"
compare_value_type: uint32
compare_value: 0x49
address: [MAIN, 0xC0C040, 0x100]
value_type: float
value: "60 / FPS_TARGET"
-
type: compare
compare_address: [MAIN, 0xC18080]
compare_type: "<"
compare_value_type: uint32
compare_value: 0x49
address: [MAIN]
value_type: refresh_rate
value: 0

View File

@ -0,0 +1,35 @@
# Disney Epic Mickey: Rebrushed 1.0.3
# BID: EE2CAB96FB6BEDA9
unsafeCheck: true
MASTER_WRITE:
# Don't lock prerendered cutscenes to 30 FPS
# REF: C1 02 40 FD 29 08 60 1E 61 1E 40 FD / second result, search for LDRB W8, [X19,#0x30] above it
-
type: bytes
main_offset: 0xF6E9E8
value_type: uint32
value: 0x2A1F03E8
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x6E34A58, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x6E626F8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x6665658, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,22 @@
# Ni no Kuni: Wrath of the White Witch 1.0.2
# BID: C32B29CB5FBA96D9
unsafeCheck: true
ALL_FPS:
# Game speed value
-
type: evaluate_write
address: [MAIN, 0x2218B44, 0x20]
value_type: float
value: "1 / FPS_TARGET"
# Play prerendered cutscenes only at 60 FPS
-
type: evaluate_compare
compare_address: [MAIN, 0x1728B58]
compare_type: "!="
compare_value_type: uint32
compare_value: 0
address: [MAIN]
value_type: refresh_rate
value: 60

View File

@ -0,0 +1,14 @@
# 戦場のヴァルキュリア for Nintendo Switch 1.0.1
# BID: A184B59D5091B68A
# Main 2D Animations speed is still tied to framerate
# Thanks to ~Arch for offset
unsafeCheck: true
ALL_FPS:
# 3D Game Speed
-
type: evaluate_write
address: [MAIN, 0x957E1C]
value_type: float
value: "60 / FPS_TARGET"

View File

@ -0,0 +1,13 @@
# Card-en-Ciel 1.0.4
# BID: 393323C7FBCBD72D
unsafeCheck: true
ALL_FPS:
# Internal FPS Lock
# REF: look at nn::os::SleepThread() called in nnMain()
-
type: evaluate_write
address: [MAIN, 0x2055248, 0x5C]
value_type: float
value: 1 / FPS_LOCK_TARGET

View File

@ -0,0 +1,27 @@
# TinTin Reporter - Cigars of the Pharaoh 1.4.0
# BID: ACBD89C999804FD2
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (default is 50 ms xD)
-
type: evaluate_write
address: [MAIN, 0x7868B48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x78964B8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x709A278, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,127 @@
# Xenoblade Chronicles 2 2.1.0
# BID: F77F1559371C0EC6
unsafeCheck: true
MASTER_WRITE:
# Dynamic speed
# Jump before pushing frame to the end of .plt, which is 0x8B3900 (backup: MOV W8, #0x21A0)
-
type: bytes
main_offset: 0x700164
value_type: uint32
value: 0x1406CDE7
# Game speed math, write data to unused .bss, tick at 0x15ECF00, game speed at tick at 0x15ECF08, take min delta from 0x15ECF10
-
type: bytes
main_offset: 0x8B3900
value_type: uint32
value:
- 0x97FFFB80
- 0xB00069C2
- 0xF9478041
- 0xF9078040
- 0xB5000061
- 0x52843408
- 0x17F93214
- 0xCB010000
- 0x97FFFB7C
- 0x1E25D002
- 0x52807D01
- 0x9AC10800
- 0x9E220000
- 0x52848001
- 0x72A92E81
- 0x1E270021
- 0x14000018
- 0x900016E0
- 0xF9406800
- 0xB4FFFE40
- 0xBD007800
- 0xBD007C00
- 0xF0001B60
- 0xF9416400
- 0xBD008000
- 0xB00069C0
- 0xBD0F0800
- 0x17FFFFEA
- 0x1E2E1001
- 0x1E221822
- 0x1E222000
- 0x5400006B
- 0x1E204040
- 0x17FFFFF0
- 0xB00069C0
- 0xBD4F1002
- 0x1E222000
- 0x54FFFD88
- 0x1E204040
- 0x17FFFFEA
- 0x1E211800
- 0x17FFFFF3
# Patch wind speed to take game speed from MAIN + 0x15ECF08
-
type: bytes
main_offset: 0x747DD8
value_type: uint32
value:
- 0xB0007528
- 0xBD4F0906
# Redirect DR timing to MAIN + 0x15ECF18
-
type: bytes
main_offset: 0x6AA14C
value_type: uint32
value:
- 0xD0007A08
- 0xBD4F1900
# Default values
-
type: bytes
main_offset: 0x15ECF08
value_type: float
value: [0.0333333333, 0.0333333333, 0.0333333333, 0.0166666666]
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0xB74BF0]
value_type: uint32
value: ["VSYNC_TARGET", "VSYNC_TARGET"]
-
type: evaluate_write
address: [MAIN, 0x15ECF10]
value_type: float
value: "1 / FPS_TARGET"
-
type: evaluate_write
address: [MAIN, 0x15ECF18]
value_type: float
value: "(1 / FPS_TARGET) / VSYNC_TARGET"
# Cutscenes in 30 FPS
-
type: compare
compare_type: "=="
compare_value_type: uint8
compare_value: 1
compare_address: [MAIN, 0xBD7F40]
address: [MAIN]
value_type: refresh_rate
value: 30
-
type: compare
compare_type: "=="
compare_value_type: uint8
compare_value: 1
compare_address: [MAIN, 0xBD7F40]
address: [MAIN, 0x15ECF10]
value_type: float
value: 0.0333333333
-
type: compare
compare_type: "=="
compare_value_type: uint8
compare_value: 1
compare_address: [MAIN, 0xBD7F40]
address: [MAIN, 0x15ECF18]
value_type: float
value: 0.0333333333

View File

@ -0,0 +1,127 @@
# Xenoblade2 2.0.2
# BID: E3938FA78579C1CA
unsafeCheck: true
MASTER_WRITE:
# Dynamic speed
# Jump before pushing frame to the end of .plt, which is 0x8B3448 (backup: MOV W8, #0x21A0)
-
type: bytes
main_offset: 0x700050
value_type: uint32
value: 0x1406CCFE
# Game speed math, write data to unused .bss, tick at 0x15ECF00, game speed at 0x15ECF08, take min delta from 0x15ECF10
-
type: bytes
main_offset: 0x8B3448
value_type: uint32
value:
- 0x97FFFB84
- 0xB00069C2
- 0xF9478041
- 0xF9078040
- 0xB5000061
- 0x52843408
- 0x17F932FD
- 0xCB010000
- 0x97FFFB80
- 0x1E25D002
- 0x52807D01
- 0x9AC10800
- 0x9E220000
- 0x52848001
- 0x72A92E81
- 0x1E270021
- 0x14000018
- 0x900016E0
- 0xF9406800
- 0xB4FFFE40
- 0xBD007800
- 0xBD007C00
- 0xF0001B60
- 0xF9416400
- 0xBD008000
- 0xB00069C0
- 0xBD0F0800
- 0x17FFFFEA
- 0x1E2E1001
- 0x1E221822
- 0x1E222000
- 0x5400006B
- 0x1E204040
- 0x17FFFFF0
- 0xB00069C0
- 0xBD4F1002
- 0x1E222000
- 0x54FFFD88
- 0x1E204040
- 0x17FFFFEA
- 0x1E211800
- 0x17FFFFF3
# Patch wind speed to take game speed from MAIN + 0x15ECF08
-
type: bytes
main_offset: 0x747CC4
value_type: uint32
value:
- 0xB0007528
- 0xBD4F0906
# Redirect DR timing to MAIN + 0x15ECF18
-
type: bytes
main_offset: 0x6AA038
value_type: uint32
value:
- 0xD0007A08
- 0xBD4F1900
# Default values
-
type: bytes
main_offset: 0x15ECF08
value_type: float
value: [0.0333333333, 0.0333333333, 0.0333333333, 0.0166666666, 0.0333333333]
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0xB74BC0]
value_type: uint32
value: ["VSYNC_TARGET", "VSYNC_TARGET"]
-
type: evaluate_write
address: [MAIN, 0x15ECF10]
value_type: float
value: "1 / FPS_TARGET"
-
type: evaluate_write
address: [MAIN, 0x15ECF18]
value_type: float
value: "(1 / FPS_TARGET) / VSYNC_TARGET"
# Cutscenes in 30 FPS
-
type: compare
compare_type: "=="
compare_value_type: uint8
compare_value: 1
compare_address: [MAIN, 0xBD7F40]
address: [MAIN]
value_type: refresh_rate
value: 30
-
type: compare
compare_type: "=="
compare_value_type: uint8
compare_value: 1
compare_address: [MAIN, 0xBD7F40]
address: [MAIN, 0x15ECF10]
value_type: float
value: 0.0333333333
-
type: compare
compare_type: "=="
compare_value_type: uint8
compare_value: 1
compare_address: [MAIN, 0xBD7F40]
address: [MAIN, 0x15ECF18]
value_type: float
value: 0.0333333333

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
SaltySD/saltysd_core32.elf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2,6 +2,7 @@
ultra=Ultra
battery_avg_iir_filter=false
battery_time_left_refreshrate=60
average_gpu_load=true
[full]
refresh_rate=1

View File

@ -57,7 +57,7 @@
"STORAGE": "Speicherplatz",
"NOTICE": "Hinweis",
"UTILIZES": "Verwendet",
"FREE": "vrij",
"FREE": "frei",
"MEMORY_EXPANSION": "Speichererweiterung",
"REBOOT_REQUIRED": "*Neustart erforderlich.",
"LOCAL_IP": "Lokale IP",
@ -72,18 +72,19 @@
"OVERLAY_VERSIONS": "Overlay Versionsnr.",
"PACKAGE_VERSIONS": "Paket Versionsnr.",
"OPAQUE_SCREENSHOTS": "Undurchsichtige Screenshots",
"PAGE_SWAP": "Seitenwechsel",
"ON": "AN",
"OFF": "AUS",
"PACKAGE_INFO": "Paket-Info",
"VERSION": "Version",
"CREATOR": "Schöpfer",
"CREATOR": "Ersteller",
"ABOUT": "Über",
"CREDITS": "Credits",
"OK": "OK",
"BACK": "Zurück",
"REBOOT_TO": "Neustart zu",
"REBOOT": "Neustart",
"SHUTDOWN": "Abschalten",
"SHUTDOWN": "Ausschalten",
"BOOT_ENTRY": "Start Eintrag",
"GAP_1": " ",
"GAP_2": " ",
@ -96,8 +97,8 @@
"ON_A_COMMAND": "Auf einem Befehl",
"ON_OVERLAY_PACKAGE": "Auf einem OVL/PKT",
"EFFECTS": "Effekte",
"SWIPE_TO_OPEN": "Swipe to Open",
"RIGHT_SIDE_MODE": "Right-side Mode",
"SWIPE_TO_OPEN": "Zum Öffnen wischen",
"RIGHT_SIDE_MODE": "Rechtsmodus",
"PROGRESS_ANIMATION": "Fortschrittsanimation",
"EMPTY": "Leer",
"SUNDAY": "Sonntag",

View File

@ -71,6 +71,7 @@
"OVERLAY_VERSIONS": "Overlay Versions",
"PACKAGE_VERSIONS": "Package Versions",
"OPAQUE_SCREENSHOTS": "Opaque Screenshots",
"PAGE_SWAP": "Page Swap",
"ON": "On",
"OFF": "Off",
"PACKAGE_INFO": "Package Info",
@ -87,7 +88,7 @@
"BOOT_ENTRY": "Boot Entry",
"GAP_1": " ",
"GAP_2": " ",
"USERGUIDE_OFFSET": "173",
"USERGUIDE_OFFSET": "175",
"SETTINGS_MENU": "Settings Menu",
"SCRIPT_OVERLAY": "Script Overlay",
"STAR_FAVORITE": "Star/Favorite",

View File

@ -71,6 +71,7 @@
"OVERLAY_VERSIONS": "Etiquetas de Superposición",
"PACKAGE_VERSIONS": "Etiquetas de Paquete",
"OPAQUE_SCREENSHOTS": "Capturas de Pantalla Opacas",
"PAGE_SWAP": "Page Swap",
"ON": "Encendido",
"OFF": "Apagado",
"PACKAGE_INFO": "Información del Paquete",

View File

@ -71,6 +71,7 @@
"OVERLAY_VERSIONS": "Étiquettes de superposition",
"PACKAGE_VERSIONS": "Étiquettes de paquet",
"OPAQUE_SCREENSHOTS": "Captures Décran Opaques",
"PAGE_SWAP": "Page Swap",
"ON": "Activer",
"OFF": "Désactiver",
"PACKAGE_INFO": "Informations sur le paquet",

View File

@ -71,6 +71,7 @@
"OVERLAY_VERSIONS": "Etichette Sovrapposte",
"PACKAGE_VERSIONS": "Etichette Pacchetto",
"OPAQUE_SCREENSHOTS": "Screenshot Opachi",
"PAGE_SWAP": "Page Swap",
"ON": "Acceso",
"OFF": "Spento",
"PACKAGE_INFO": "Informazioni Pacchetto",

View File

@ -71,6 +71,7 @@
"OVERLAY_VERSIONS": "オーバーレイバージョン",
"PACKAGE_VERSIONS": "パッケージバージョン",
"OPAQUE_SCREENSHOTS": "不透明なスクリーンショット",
"PAGE_SWAP": "Page Swap",
"ON": "オン",
"OFF": "オフ",
"PACKAGE_INFO": "パッケージ情報",

View File

@ -71,6 +71,7 @@
"OVERLAY_VERSIONS": "오버레이 라벨",
"PACKAGE_VERSIONS": "패키지 라벨",
"OPAQUE_SCREENSHOTS": "불투명한 스크린샷",
"PAGE_SWAP": "Page Swap",
"ON": "켜기",
"OFF": "끄기",
"PACKAGE_INFO": "패키지 정보",

View File

@ -71,6 +71,7 @@
"OVERLAY_VERSIONS": "Overlay Labels",
"PACKAGE_VERSIONS": "Pakket Labels",
"OPAQUE_SCREENSHOTS": "Ondoorzichtige Screenshots",
"PAGE_SWAP": "Page Swap",
"ON": "Aan",
"OFF": "Uit",
"PACKAGE_INFO": "Pakketinformatie",

View File

@ -71,6 +71,7 @@
"OVERLAY_VERSIONS": "Wersje Nakładek",
"PACKAGE_VERSIONS": "Wersje Paczek",
"OPAQUE_SCREENSHOTS": "Nieprzezroczyste zrzuty ekranu",
"PAGE_SWAP": "Page Swap",
"ON": "Włącz",
"OFF": "Wyłącz",
"PACKAGE_INFO": "Informacje o Paczce",

View File

@ -71,6 +71,7 @@
"OVERLAY_VERSIONS": "Rótulos de Sobreposição",
"PACKAGE_VERSIONS": "Rótulos de Pacote",
"OPAQUE_SCREENSHOTS": "Capturas de Tela Opaques",
"PAGE_SWAP": "Page Swap",
"ON": "Ligado",
"OFF": "Desligado",
"PACKAGE_INFO": "Informações do Pacote",

View File

@ -71,6 +71,7 @@
"OVERLAY_VERSIONS": "Версии Оверлеев",
"PACKAGE_VERSIONS": "Версии Пакетов",
"OPAQUE_SCREENSHOTS": "Непрозрачные Скриншоты",
"PAGE_SWAP": "Page Swap",
"ON": "Вкл",
"OFF": "Выкл",
"PACKAGE_INFO": "Информация",

View File

@ -71,6 +71,7 @@
"OVERLAY_VERSIONS": "插件版本显示",
"PACKAGE_VERSIONS": "插件包版本显示",
"OPAQUE_SCREENSHOTS": "不透明的截图”",
"PAGE_SWAP": "Page Swap",
"ON": "开启",
"OFF": "关闭",
"PACKAGE_INFO": "插件包信息",

View File

@ -71,6 +71,7 @@
"OVERLAY_VERSIONS": "插件的標簽",
"PACKAGE_VERSIONS": "插件包的標簽",
"OPAQUE_SCREENSHOTS": "不透明的截圖",
"PAGE_SWAP": "Page Swap",
"ON": "啟用",
"OFF": "停用",
"PACKAGE_INFO": "插件包信息",

Binary file not shown.

View File

@ -1,6 +1,8 @@
[boot]
clear hex_sum_cache
hex-by-swap /atmosphere/kips/loader.kip 016B89FB 006B29FA
del '/atmosphere/config_templates/'
del '/atmosphere/contents/00FF0000636C6BFF/toolbox.json'
del '/atmosphere/flags/'