mirror of
https://github.com/Ultra-NX/UltraNX.git
synced 2024-12-25 18:11:56 +00:00
Ultra 2.3|R2
This commit is contained in:
parent
73b0904544
commit
e1812455bb
24
README.md
24
README.md
@ -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)
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -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"
|
@ -1,5 +1,5 @@
|
||||
# The Witcher 3: Wild Hund - Complete Edition 4.04b
|
||||
# BID: D27FD8A515077F34
|
||||
# BID: 4BC4A8A814FD46A4
|
||||
|
||||
unsafeCheck: true
|
||||
|
@ -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"]
|
@ -1,5 +1,5 @@
|
||||
# The Witcher 3: Wild Hund - Complete Edition 4.04b
|
||||
# BID: D27FD8A515077F34
|
||||
# BID: 4BC4A8A814FD46A4
|
||||
|
||||
unsafeCheck: true
|
||||
|
@ -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
|
@ -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
|
@ -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"
|
@ -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
|
@ -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
|
@ -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"
|
@ -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
|
@ -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
|
@ -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]
|
@ -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
|
@ -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
|
@ -1,5 +1,5 @@
|
||||
# The Witcher 3: Wild Hund - Complete Edition 4.04b
|
||||
# BID: D27FD8A515077F34
|
||||
# BID: 4BC4A8A814FD46A4
|
||||
|
||||
unsafeCheck: true
|
||||
|
@ -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
|
@ -1,5 +1,5 @@
|
||||
# The Witcher 3: Wild Hund - Complete Edition 4.04b
|
||||
# BID: D27FD8A515077F34
|
||||
# BID: 4BC4A8A814FD46A4
|
||||
|
||||
unsafeCheck: true
|
||||
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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"
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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"
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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"
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
BIN
SaltySD/saltysd_bootstrap.elf
Normal file
BIN
SaltySD/saltysd_bootstrap.elf
Normal file
Binary file not shown.
BIN
SaltySD/saltysd_bootstrap32_3k.elf
Normal file
BIN
SaltySD/saltysd_bootstrap32_3k.elf
Normal file
Binary file not shown.
BIN
SaltySD/saltysd_bootstrap32_5k.elf
Normal file
BIN
SaltySD/saltysd_bootstrap32_5k.elf
Normal file
Binary file not shown.
Binary file not shown.
BIN
SaltySD/saltysd_core32.elf
Normal file
BIN
SaltySD/saltysd_core32.elf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,6 +2,7 @@
|
||||
ultra=Ultra
|
||||
battery_avg_iir_filter=false
|
||||
battery_time_left_refreshrate=60
|
||||
average_gpu_load=true
|
||||
|
||||
[full]
|
||||
refresh_rate=1
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -71,6 +71,7 @@
|
||||
"OVERLAY_VERSIONS": "オーバーレイバージョン",
|
||||
"PACKAGE_VERSIONS": "パッケージバージョン",
|
||||
"OPAQUE_SCREENSHOTS": "不透明なスクリーンショット",
|
||||
"PAGE_SWAP": "Page Swap",
|
||||
"ON": "オン",
|
||||
"OFF": "オフ",
|
||||
"PACKAGE_INFO": "パッケージ情報",
|
||||
|
@ -71,6 +71,7 @@
|
||||
"OVERLAY_VERSIONS": "오버레이 라벨",
|
||||
"PACKAGE_VERSIONS": "패키지 라벨",
|
||||
"OPAQUE_SCREENSHOTS": "불투명한 스크린샷",
|
||||
"PAGE_SWAP": "Page Swap",
|
||||
"ON": "켜기",
|
||||
"OFF": "끄기",
|
||||
"PACKAGE_INFO": "패키지 정보",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -71,6 +71,7 @@
|
||||
"OVERLAY_VERSIONS": "Версии Оверлеев",
|
||||
"PACKAGE_VERSIONS": "Версии Пакетов",
|
||||
"OPAQUE_SCREENSHOTS": "Непрозрачные Скриншоты",
|
||||
"PAGE_SWAP": "Page Swap",
|
||||
"ON": "Вкл",
|
||||
"OFF": "Выкл",
|
||||
"PACKAGE_INFO": "Информация",
|
||||
|
@ -71,6 +71,7 @@
|
||||
"OVERLAY_VERSIONS": "插件版本显示",
|
||||
"PACKAGE_VERSIONS": "插件包版本显示",
|
||||
"OPAQUE_SCREENSHOTS": "不透明的截图”",
|
||||
"PAGE_SWAP": "Page Swap",
|
||||
"ON": "开启",
|
||||
"OFF": "关闭",
|
||||
"PACKAGE_INFO": "插件包信息",
|
||||
|
@ -71,6 +71,7 @@
|
||||
"OVERLAY_VERSIONS": "插件的標簽",
|
||||
"PACKAGE_VERSIONS": "插件包的標簽",
|
||||
"OPAQUE_SCREENSHOTS": "不透明的截圖",
|
||||
"PAGE_SWAP": "Page Swap",
|
||||
"ON": "啟用",
|
||||
"OFF": "停用",
|
||||
"PACKAGE_INFO": "插件包信息",
|
||||
|
Binary file not shown.
Binary file not shown.
@ -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/'
|
||||
|
Loading…
Reference in New Issue
Block a user