mirror of
https://github.com/Ultra-NX/UltraNX.git
synced 2025-05-11 23:02:46 +00:00
Ultra 2.4|RC1
This commit is contained in:
parent
4e42f73191
commit
985a53995a
@ -8,7 +8,7 @@
|
||||
|
||||
### Ultra - это функциональная кастомная прошивка для Nintendo Switch, с упором в разгон и улучшенный пользовательский опыт.
|
||||
|
||||
### [Ultra 2.3](https://github.com/Ultra-NX/Ultra/releases/latest/) Поддерживает HOS 19.0.1 и все ревизии консолей
|
||||
### [Ultra 2.4](https://github.com/Ultra-NX/Ultra/releases/latest/) Поддерживает HOS 20.0.1 и все ревизии консолей
|
||||
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
* DBI с встроенным notUltraNX репозиторием игр, больше не нужно каждый раз искать новый шоп Тинфоила.
|
||||
* Подробная [Wiki](https://github.com/Ultra-NX/Ultra/wiki) в которой есть ответы почти на все вопросы.
|
||||
* [Форки](https://github.com/Ultra-NX/Ultra-Resources/tree/main/patches) (свои модификации) программ и компонентов, нужные для удобства, безопасности и расширения возможностей:
|
||||
* Форк Атмосферы с прописанной версией Ультры в информации о системе, и отключенными репортами, обычно засоряющими сд карту, тратящими ее ресурс и ломающими файловю систему.
|
||||
* Форк Атмосферы с прописанной версией Ультры в информации о системе, и отключенными репортами, обычно засоряющими сд карту, тратящими ее ресурс и ломающими файловую систему. Так же исправлена работа старых форвардеров (важно для хоумбрю игр/эмуляторов).
|
||||
* Форки SaltyNX и FPSLocker, с поддержкой изменения частоты обновления экрана и с поддержкой OLED.
|
||||
* Форк Mission Control, с вырезанной "пасхалкой", делающей джойконы жовто-блакитными.
|
||||
* Форк Status Monitor с отображением текущих вольтажей и уникальными модулями Микро Оверлея, пресеты которых можно менять через Ultra Tuner.
|
||||
@ -40,7 +40,7 @@
|
||||
|
||||
|
||||
1. **Установленные пейлоады**:
|
||||
* [Lockpick_RCM](https://gbatemp.net/download/lockpick_rcm-1-9-13-fw-19-zoria-source.38837) - Программа для снятия ключей консоли.
|
||||
* [Lockpick RCM](https://github.com/impeeza/Lockpick_RCMDecScots) - Программа для снятия ключей консоли.
|
||||
* [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer) - Низкоуровневый файловый менеджер для работы с системой.
|
||||
|
||||
|
||||
|
@ -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.3](https://github.com/Ultra-NX/Ultra/releases/latest/) Supports HOS 19.0.1 and all console revisions
|
||||
### [Ultra 2.4](https://github.com/Ultra-NX/Ultra/releases/latest/) Supports HOS 20.0.1 and all console revisions
|
||||
|
||||
|
||||
|
||||
@ -36,7 +36,7 @@
|
||||
|
||||
|
||||
1. **Installed Payloads**:
|
||||
* [Lockpick_RCM](https://gbatemp.net/download/lockpick_rcm-1-9-13-fw-19-zoria-source.38837/) - Program for dumping console keys.
|
||||
* [Lockpick RCM](https://github.com/impeeza/Lockpick_RCMDecScots) - Program for dumping console keys.
|
||||
* [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer) - A low-level file manager for working with the system.
|
||||
|
||||
|
||||
|
@ -49,4 +49,8 @@ X0100964012528000
|
||||
|
||||
;Donkey Kong Country: Tropical Freeze
|
||||
;Crash at second level
|
||||
X0100C1F0051B6000
|
||||
X0100C1F0051B6000
|
||||
|
||||
;Death Road to Canada
|
||||
;1.0.8 crash
|
||||
X0100423009358000
|
||||
|
@ -0,0 +1,27 @@
|
||||
# Horizon Chase 2 1.6.9
|
||||
# BID: E13F632FC2A66EEB
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x8349850, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8B36A30, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8B11598, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -0,0 +1,30 @@
|
||||
# S.T.A.L.K.E.R.: Call of Prypiat 1.0.3
|
||||
# BID: AD4CBC4878008E1E
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# psLoadedFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17F9784]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x18168A0]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1A8490C]
|
||||
value_type: float
|
||||
value: "1000 / FPS_LOCK_TARGET"
|
||||
# ResolutionInfo::sDynresGPUBudgetMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17F9760]
|
||||
value_type: float
|
||||
value: "FRAMETIME_TARGET - (1/30)"
|
@ -0,0 +1,27 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.3.0
|
||||
# BID: C2F2C4B700B30598
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8FD6748, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9011290, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x8810F08, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -0,0 +1,27 @@
|
||||
# Breathedge 1.0.2
|
||||
# BID: B26DE1669B729335
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bUseFixedFrameRate
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x55CB668, 0x7F0]
|
||||
value_type: uint32
|
||||
value: 7
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x55CBDE0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x4E6A7B8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,7 +1,6 @@
|
||||
# SONIC FORCES 1.1.0
|
||||
# BID: 6D9EA94F8AAC00A8
|
||||
# Game speed is tied to framerate
|
||||
# Above 30 FPS level 8 is harder to beat and level 20 impossible to beat
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
@ -12,10 +11,27 @@ MASTER_WRITE:
|
||||
main_offset: 0xAD40FC
|
||||
value_type: uint32
|
||||
value: 0x52800068
|
||||
# Block switching back to 30 FPS mode on loading screens
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6173B0
|
||||
value_type: uint32
|
||||
value: 0xD503201F
|
||||
ALL_FPS:
|
||||
# FPS target (FPS * 2)
|
||||
# Switch to 60 FPS Mode
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x1CAC518, 0x28, 0x20, 0x14]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# FPS target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1C38C28, 0x1C]
|
||||
value_type: float
|
||||
value: "FPS_TARGET * 2"
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1C38C28, 0x14C]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
@ -1,7 +1,6 @@
|
||||
# SONIC FORCES 1.1.0
|
||||
# BID: 6D9EA94F8AAC00A8
|
||||
# Game speed is tied to framerate
|
||||
# Above 30 FPS level 8 is harder to beat and level 20 impossible to beat
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
@ -12,10 +11,27 @@ MASTER_WRITE:
|
||||
main_offset: 0xAD40FC
|
||||
value_type: uint32
|
||||
value: 0x52800068
|
||||
# Block switching back to 30 FPS mode on loading screens
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6173B0
|
||||
value_type: uint32
|
||||
value: 0xD503201F
|
||||
ALL_FPS:
|
||||
# FPS target (FPS * 2)
|
||||
# Switch to 60 FPS Mode
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x1CAC518, 0x28, 0x20, 0x14]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# FPS target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1C38C28, 0x1C]
|
||||
value_type: float
|
||||
value: "FPS_TARGET * 2"
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1C38C28, 0x14C]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
@ -0,0 +1,27 @@
|
||||
# Goat Simulator 3 1.0.7.6
|
||||
# BID: 8D4FD57DB7D63120
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x99DD468, 0]
|
||||
value_type: float
|
||||
value: ["0.81 * FRAMETIME_TARGET", "0.81 * FRAMETIME_TARGET"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9A03290, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x920DB48, 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.3
|
||||
# BID: C7E4E6F4167C8E3A
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# psLoadedFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17D4774]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17F18E8]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1A5F36C]
|
||||
value_type: float
|
||||
value: "1000 / FPS_LOCK_TARGET"
|
||||
# ResolutionInfo::sDynresGPUBudgetMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17D4750]
|
||||
value_type: float
|
||||
value: "FRAMETIME_TARGET - (1/30)"
|
@ -4,25 +4,40 @@
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Remove FPS Lock
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x4835A4
|
||||
value_type: uint32
|
||||
value: 0xD503201F
|
||||
ALL_FPS:
|
||||
# Switch game to 60 FPS mode
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0xF0043C]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# FPS Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xED96A8, 0x30]
|
||||
value_type: uint64
|
||||
value: "(FRAMETIME_TARGET / 2) * 19200"
|
||||
value_type: uint32
|
||||
value: "19200000 / FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xED96A8, 0x28]
|
||||
value_type: uint32
|
||||
value: "1920000 / FPS_TARGET"
|
||||
# FPS 2D Game Speed Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xEFFC60, 0x30]
|
||||
value_type: float
|
||||
value: "0.5 / FPS_TARGET"
|
||||
value: "1 / FPS_TARGET"
|
||||
# FPS 3D Game Speed Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xEFFC60, 0x50]
|
||||
value_type: float
|
||||
value: "0.5 / FPS_TARGET"
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
value: "1 / FPS_TARGET"
|
||||
|
@ -0,0 +1,27 @@
|
||||
# Expeditions: A Mudrunner Game 1.16.0.0
|
||||
# BID: 3DCE80782561A0CA
|
||||
# REF: 01 04 0C 5E 00 10 2E 1E
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect DR frametime target to MAIN+0x36B4F00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x171E454
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xD000FCAC # adrp x12, #0x36B4000
|
||||
- 0xBD4F0182 # ldr s2, [x12, #0xf00]
|
||||
# default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x36B4F00
|
||||
value_type: float
|
||||
value: 33.3333333333
|
||||
ALL_FPS:
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x36B4F00]
|
||||
value_type: float
|
||||
value: FRAMETIME_TARGET
|
@ -0,0 +1,356 @@
|
||||
# Xenoblade Chronicles X: Definitive Edition 1.0.2
|
||||
# BID: 2A720C7CE5C84905
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Dynamic speed mod for stuff like UI, lipsync, grass and rain
|
||||
## Redirect nvnQueuePresentTexture call to code cave at MAIN+0x1735050
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x95EED8
|
||||
value_type: uint32
|
||||
value: 0x1437585E
|
||||
## Code Cave (save floats for speed factor to MAIN+0x47BE268, frametime as FPS in MAIN+0x47BE26C, frametime in s in MAIN+0x47BE270)
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1735050
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xD63F0100
|
||||
- 0x97FFF52B
|
||||
- 0xB0018448
|
||||
- 0xF9413107
|
||||
- 0xF9013100
|
||||
- 0xB5000047
|
||||
- 0x17C8A79D
|
||||
- 0xCB070000
|
||||
- 0x97FFF528
|
||||
- 0xB0018448
|
||||
- 0xB9430101
|
||||
- 0xEB00003F
|
||||
- 0x5400004B
|
||||
- 0xAA0103E0
|
||||
- 0xD2881541
|
||||
- 0xF2A07F21
|
||||
- 0xEB00003F
|
||||
- 0x5400004C
|
||||
- 0xAA0103E0
|
||||
- 0x9E630000
|
||||
- 0xD00005A0
|
||||
- 0xFD46AC01
|
||||
- 0x1E611800
|
||||
- 0xD2807D00
|
||||
- 0x9E630001
|
||||
- 0x1E601821
|
||||
- 0xB0018440
|
||||
- 0x1E624021
|
||||
- 0xBD026C01
|
||||
- 0x1E27D002
|
||||
- 0x1E211842
|
||||
- 0xBD026802
|
||||
- 0xD2807D01
|
||||
- 0x9E630021
|
||||
- 0x1E611801
|
||||
- 0x1E624021
|
||||
- 0xBD027001
|
||||
- 0x17C8A77E
|
||||
## Default values for code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x47BE268
|
||||
value_type: float
|
||||
value: [1.0, 30.0, 0.033333333333]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x47BE300
|
||||
value_type: uint32
|
||||
value: 33333333
|
||||
## Function 1 to speed factor // Usage unknown
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x286968
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x900229D5
|
||||
- 0xF9470D00
|
||||
- 0xBD426AAA
|
||||
## Function 3 to speed factor // Usage unknown
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xA16F00
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x9001ED40
|
||||
- 0xBD426808
|
||||
## Function 4 to FPS // UI Speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xA1F060
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF001ECE0
|
||||
- 0x1E270100
|
||||
- 0xBD426C00
|
||||
## Function 5 to FPS // Usage unknown
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2672DC
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF0022A20
|
||||
- 0x1E270100
|
||||
- 0x7940D268
|
||||
- 0xBD426C05
|
||||
## Function 6 to FPS
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x26DB70
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0022A80
|
||||
- 0xBD426C00
|
||||
- 0x1E390000
|
||||
- 0x528000C9
|
||||
- 0x1AC90808
|
||||
## Function 7 to Frametime in s // Gameplay + cutscene speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E2924
|
||||
value_type: uint32
|
||||
value: 0x90022EE9
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E2938
|
||||
value_type: uint32
|
||||
value: 0xBD427120
|
||||
# Adjust various elements related to fighting
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E8F48
|
||||
value_type: uint32
|
||||
value: 0x1455308B
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1735174
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0018449
|
||||
- 0xBD426920
|
||||
- 0x17AACF74
|
||||
## Fix gun speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x30FACC
|
||||
value_type: uint32
|
||||
value: 0xD503201F
|
||||
# Redirect DR Target to MAIN+0x47BEF00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x13A90B4
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB001A0A8
|
||||
- 0xBD4F0100
|
||||
## Default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x47BEF00
|
||||
value_type: float
|
||||
value: 0.01666666666
|
||||
# Adjust camera speed rotation dynamically
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1735108
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0018448
|
||||
- 0xBD426908
|
||||
- 0x1E200900
|
||||
- 0x1E202008
|
||||
- 0x540000AA
|
||||
- 0x1E214000
|
||||
- 0x1E21C000
|
||||
- 0x1E214000
|
||||
- 0xD65F03C0
|
||||
- 0x1E21C000
|
||||
- 0xD65F03C0
|
||||
## Connect function 1
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E17A0
|
||||
value_type: uint32
|
||||
value: 0x94554E5A
|
||||
## Connect function 2
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E17B0
|
||||
value_type: uint32
|
||||
value: 0xAD7D03A1
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E17BC
|
||||
value_type: uint32
|
||||
value: 0x94554E53
|
||||
# Force 1s sleep to synchronize audio if cutscene detected
|
||||
## Use function responsible for writing type 4 of cutscene
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2FB0D8
|
||||
value_type: uint32
|
||||
value: 0x1450E820
|
||||
### Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1735158
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x52800094
|
||||
- 0xD00045C0
|
||||
- 0xB90AF414
|
||||
- 0xD2994000
|
||||
- 0xF2A77340
|
||||
- 0x97FFF3D9
|
||||
- 0x17AF17DB
|
||||
# Adjust Field Action gauge bar speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xE5E00
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB00236C0
|
||||
- 0xF000E369
|
||||
- 0xBD426808
|
||||
## Fix for FN Site
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xE5858
|
||||
value_type: uint32
|
||||
value: 0x14593E24
|
||||
### Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x17350E8
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xBD40D260
|
||||
- 0xB0018440
|
||||
- 0xBD426801
|
||||
- 0x1E210800
|
||||
- 0x17A6C1D9
|
||||
# Fix long jump when not running
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x23EF70
|
||||
value_type: uint32
|
||||
value: 0x1453D863
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x17350FC
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x1E27D00B
|
||||
- 0x1E2B296B
|
||||
- 0x17AC279C
|
||||
# Adjust QTE Speed
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1735134
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0018454
|
||||
- 0xBD426A81
|
||||
- 0x1400001B
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x17351A8
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xBD412262
|
||||
- 0x1E210841
|
||||
- 0x17BA4435
|
||||
## Connect function
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x5C6280
|
||||
value_type: uint32
|
||||
value: 0x1445BBAD
|
||||
# Adjust Overdrive counter, Follow Ball speed
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1735180
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0018440
|
||||
- 0xBD427000
|
||||
- 0xD65F03C0
|
||||
## Connect function
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x67354
|
||||
value_type: uint32
|
||||
value: 0x945B36AB
|
||||
# Fix fog speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x296AE0
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x90022948
|
||||
- 0xBD426902
|
||||
- 0x945279B3
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x17351B4
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x1E21C042
|
||||
- 0x1F020020
|
||||
- 0xD65F03C0
|
||||
ALL_FPS:
|
||||
# FPS Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x47BE300]
|
||||
value_type: uint32
|
||||
value: "FRAMETIME_TARGET * 1000000"
|
||||
# FPS Lock
|
||||
# ref: 00 01 00 b9 2a 01 00 b9 c0 03 5f d6
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x1D943A0]
|
||||
value_type: int32
|
||||
value: [1, 1]
|
||||
# DR Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x47BEF00]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
# Lock game to 30 FPS when complex/prerendered cutscene is played
|
||||
## Adjusts DR target
|
||||
-
|
||||
type: compare
|
||||
compare_address: [MAIN, 0x1FEFAF4]
|
||||
compare_value_type: uint32
|
||||
compare_type: ">"
|
||||
compare_value: 2
|
||||
address: [MAIN, 0x47BEF00]
|
||||
value_type: float
|
||||
value: 0.03333333333
|
||||
## Force OS to run at 60 Hz with interval 2
|
||||
-
|
||||
type: compare
|
||||
compare_address: [MAIN, 0x1FEFAF4]
|
||||
compare_value_type: uint32
|
||||
compare_type: ">"
|
||||
compare_value: 2
|
||||
address: [MAIN]
|
||||
value_type: refresh_rate
|
||||
value: 30
|
@ -75,15 +75,6 @@ MASTER_WRITE:
|
||||
- 0xF0022A35
|
||||
- 0xF9470D00
|
||||
- 0xBD426AAA
|
||||
## Function 2 to speed factor // Weather effects (rain, fog)
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2892AC
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x90022A20
|
||||
- 0xF000D828
|
||||
- 0xBD426801
|
||||
## Function 3 to speed factor // Usage unknown
|
||||
-
|
||||
type: bytes
|
||||
@ -207,57 +198,22 @@ MASTER_WRITE:
|
||||
## Use function responsible for writing type of cutscene to write its ID if it's 8 or 16 (or 0 for any other) to MAIN+0x47CDFFF
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2CFEB4
|
||||
main_offset: 0x2FAC38
|
||||
value_type: uint32
|
||||
value: 0x1451D3F7
|
||||
value: 0x14512898
|
||||
### Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744E90
|
||||
main_offset: 0x1744E98
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB9002279
|
||||
- 0x121D0720
|
||||
- 0xB0018448
|
||||
- 0x340000A0
|
||||
- 0x393FFD00
|
||||
- 0x52800094
|
||||
- 0xD00045C0
|
||||
- 0xB90AF414
|
||||
- 0xD2994000
|
||||
- 0xF2A77340
|
||||
- 0x97FFF3D9
|
||||
- 0x17AE2C02
|
||||
## "startEvent" to write uint8 1 to MAIN+0x47CDFFF
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x3ECFD8
|
||||
value_type: uint32
|
||||
value: 0x144D5FBF
|
||||
### Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744ED4
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x910003FD
|
||||
- 0xB0018448
|
||||
- 0x52800020
|
||||
- 0x393FFD00
|
||||
- 0x17B2A03E
|
||||
## "endEvent" to write uint8 0 to MAIN+0x47CDFFF
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x3ED178
|
||||
value_type: uint32
|
||||
value: 0x144D5F42
|
||||
### Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744E80
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x910003FD
|
||||
- 0xB0018448
|
||||
- 0x393FFD1F
|
||||
- 0x17B2A0BC
|
||||
- 0x17AED763
|
||||
# Adjust Field Action gauge bar speed
|
||||
-
|
||||
type: bytes
|
||||
@ -308,7 +264,15 @@ MASTER_WRITE:
|
||||
value:
|
||||
- 0xB0018454
|
||||
- 0xBD426A81
|
||||
- 0x17BA027E
|
||||
- 0x1400001B
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744EE8
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xBD412262
|
||||
- 0x1E210841
|
||||
- 0x17BA0261
|
||||
## Connect function
|
||||
-
|
||||
type: bytes
|
||||
@ -331,6 +295,24 @@ MASTER_WRITE:
|
||||
main_offset: 0x67354
|
||||
value_type: uint32
|
||||
value: 0x945B76DB
|
||||
# Fix fog speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x296640
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF00229A8
|
||||
- 0xBD426902
|
||||
- 0x9452BA2B
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744EF4
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x1E21C042
|
||||
- 0x1F020020
|
||||
- 0xD65F03C0
|
||||
ALL_FPS:
|
||||
# FPS Target
|
||||
-
|
||||
@ -355,20 +337,20 @@ ALL_FPS:
|
||||
## Adjusts DR target
|
||||
-
|
||||
type: compare
|
||||
compare_address: [MAIN, 0x47CDFFF]
|
||||
compare_value_type: uint8
|
||||
compare_type: "!="
|
||||
compare_value: 0
|
||||
compare_address: [MAIN, 0x1FFEAF4]
|
||||
compare_value_type: uint32
|
||||
compare_type: ">"
|
||||
compare_value: 1
|
||||
address: [MAIN, 0x47CDF00]
|
||||
value_type: float
|
||||
value: 0.03333333333
|
||||
## Force OS to run at 60 Hz with interval 2
|
||||
-
|
||||
type: compare
|
||||
compare_address: [MAIN, 0x47CDFFF]
|
||||
compare_value_type: uint8
|
||||
compare_type: "!="
|
||||
compare_value: 0
|
||||
compare_address: [MAIN, 0x1FFEAF4]
|
||||
compare_value_type: uint32
|
||||
compare_type: ">"
|
||||
compare_value: 1
|
||||
address: [MAIN]
|
||||
value_type: refresh_rate
|
||||
value: 30
|
@ -0,0 +1,27 @@
|
||||
# Star Overdrive 1.0.5
|
||||
# BID: C0D9B410A09A4ADD
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x674B6E8, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x77312F0, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x776B850, 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.3
|
||||
# BID: F7D1E815E44D0A56
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# psLoadedFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x165F4EC]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x167B9F0]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x18E7ACC]
|
||||
value_type: float
|
||||
value: "1000 / FPS_LOCK_TARGET"
|
||||
# ResolutionInfo::sDynresGPUBudgetMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x165F2F0]
|
||||
value_type: float
|
||||
value: "FRAMETIME_TARGET - (1/30)"
|
@ -0,0 +1,38 @@
|
||||
# REYNATIS (US/EU) 1.0.10
|
||||
# BID: 5F765D2CC4CDEF1C
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect reading DR timing in DynamicResolution::LowerResSW() to MAIN + 0x7C22F00
|
||||
# REF: 01 f0 67 1e
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x38E7ECC
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF00219D4 # adrp x20, #0x7c22000
|
||||
- 0xFD478281 # ldr d1, [x20, #0xf00]
|
||||
- 0x1E612010 # fcmpe d0, d1
|
||||
- 0x2D482269 # ldp s9, s8, [x19, #0x40]
|
||||
- 0x540002CD # b.le #0x38e7f34
|
||||
- 0xBD40626A # ldr s10, [x19, #0x60]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x38E7F34
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xFD478681 # ldr d1, [x20, #0xf08]
|
||||
# Default handheld value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x7C22F00
|
||||
value_type: double
|
||||
value: [31, 29]
|
||||
ALL_FPS:
|
||||
# Dynamic Resolution Timing
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7C22F00]
|
||||
value_type: double
|
||||
value: ["0.93 * FRAMETIME_TARGET", "(0.93 * FRAMETIME_TARGET) - 2"]
|
@ -0,0 +1,36 @@
|
||||
# Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.1.0
|
||||
# BID: 153DB27728D41305
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect DR to MAIN + 0x2F11FF0
|
||||
# REF: A9 24 89 52 49 A2 A7 72
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x10B09B4
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB000F309 # adrp x9, 0x2f11000
|
||||
- 0xBD4FF121 # ldr s1, [x9, 0xff0]
|
||||
- 0xD503201F # nop
|
||||
## Default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2F11FF0
|
||||
value_type: float
|
||||
value: 0.035714
|
||||
ALL_FPS:
|
||||
# Disable FPS Lock
|
||||
# REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x2ED8D10, 0xE0, 0x284]
|
||||
value_type: uint8
|
||||
value: 0
|
||||
# DR Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x2F11FF0]
|
||||
value_type: float
|
||||
value: "1.01 / FPS_TARGET"
|
@ -0,0 +1,13 @@
|
||||
# Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.0.2
|
||||
# BID: 5E43788065113530
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# Disable FPS Lock
|
||||
# REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x2E8DCF0, 0xE0, 0x284]
|
||||
value_type: uint8
|
||||
value: 0
|
@ -0,0 +1,12 @@
|
||||
# EA SPORTS FC 25 1.79.b056
|
||||
# BID: EB8D70AB59D8A4C2
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE71A68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -0,0 +1,12 @@
|
||||
# EA SPORTS FC 25 1.78.f2e9
|
||||
# BID: F51888C0188BFA18
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE6FA68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -0,0 +1,27 @@
|
||||
# Bravely Default II Asia 1.0.0
|
||||
# BID: B5B9C7BB8D9716F6
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x72AEE90, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x73050F0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x69AA5C0, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -0,0 +1,75 @@
|
||||
# WARRIORS: Abyss 1.2.1
|
||||
# BID: 293D73083149473E
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# REF: 09 49 A8 52 21 01 27 1E 00 20 21 1E
|
||||
# Use FPS Target instead of vsync value for Dynamic Resolution max delta
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6BD270
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0004521 # ADRP X1, 0xF62000
|
||||
- 0xBD44D821 # LDR S1, [X1, 0x4D8]
|
||||
# Redirect DR Targets to MAIN+0x13F3F00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6BD314
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xD00069A9 # ADRP X9, 0x13F3000
|
||||
- 0xBD4F0121 # LDR S1, [X9, 0xF00]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6BD324
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xD00069A9 # ADRP X9, 0x13F3000
|
||||
- 0xBD4F0521 # LDR S1, [X9, 0xF04]
|
||||
# Default values
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x13F3F00
|
||||
value_type: float
|
||||
value: [50, 40]
|
||||
ALL_FPS:
|
||||
# REF: 00 00 F0 42 78 00 00 00 00 00 F0 42 04 00 00 00
|
||||
# FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xF624E4]
|
||||
value_type: uint32
|
||||
value: "120 / FPS_LOCK_TARGET"
|
||||
# Prevent from setting it as 0, otherwise game crashes
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_address: [MAIN, 0xF624E4]
|
||||
compare_type: "=="
|
||||
compare_value_type: uint32
|
||||
compare_value: 0
|
||||
address: [MAIN, 0xF624E4]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# Others
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xF624D8]
|
||||
value_type: float
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xF624DC]
|
||||
value_type: uint32
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xF624E0]
|
||||
value_type: float
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x13F3F00]
|
||||
value_type: float
|
||||
value: ["1.5 * FRAMETIME_TARGET", "1.2 * FRAMETIME_TARGET"]
|
@ -0,0 +1,21 @@
|
||||
# Cassette Beasts 1.8.0
|
||||
# BID: B5DCAAA828DA5034
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# physics/common/physics_fps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x30AAAE0, 0x24]
|
||||
value_type: int32
|
||||
value: FPS_TARGET
|
||||
# debug/settings/fps/force_fps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x30AAAE0, 0x30]
|
||||
value_type: int32
|
||||
value: FPS_LOCK_TARGET
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -0,0 +1,27 @@
|
||||
# The Plucky Squire 1.0.8
|
||||
# BID: 892E6C4FE0D850B5
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6C06668, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6C34348, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6436CE8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -16,6 +16,12 @@ ALL_FPS:
|
||||
address: [MAIN, 0x73050F0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x69AA5C0, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
|
@ -0,0 +1,21 @@
|
||||
# Grounded 1.12
|
||||
# BID: F50C38B64DE532F7
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8E50418, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8E76560, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -0,0 +1,28 @@
|
||||
# No Man's Sky 5.6.0
|
||||
# BID: 252A2FD2AD6A13FE
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect DR frametime target to MAIN+0x4722FF0
|
||||
# REF: 08 4E A8 52 00 01 27 1E 48 8F A8 52, ADRP + ADD + LDR above that
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1F3A018
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x90013F49 # adrp x9, #0x4722000
|
||||
- 0xBD4FF120 # ldr s0, [x9, #0xff0]
|
||||
- 0xD503201F # NOP
|
||||
# default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x4722FF0
|
||||
value_type: float
|
||||
value: 30
|
||||
ALL_FPS:
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x4722FF0]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
@ -0,0 +1,28 @@
|
||||
# No Man's Sky 5.6.4
|
||||
# BID: E152A4B27D349B17
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect DR frametime target to MAIN+0x4728FF0
|
||||
# REF: 08 4E A8 52 00 01 27 1E 48 8F A8 52, ADRP + ADD + LDR above that
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1F3FD58
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0013F49 # adrp x9, #0x4728000
|
||||
- 0xBD4FF120 # ldr s0, [x9, #0xff0]
|
||||
- 0xD503201F # NOP
|
||||
# default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x4728FF0
|
||||
value_type: float
|
||||
value: 30
|
||||
ALL_FPS:
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x4728FF0]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
@ -0,0 +1,12 @@
|
||||
# PowerWash Simulator 1.10.0
|
||||
# BID: 30997D8F7566EBB5
|
||||
|
||||
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, 0x6043ED0, 0xB8, 0, 0x28]
|
||||
value_type: int32
|
||||
value: FPS_LOCK_TARGET
|
@ -0,0 +1,21 @@
|
||||
# The Hundred Line -Last Defense Academy- 1.0.3
|
||||
# BID: 7816CA5FECA60315
|
||||
# Last found function with REF: FD 7B BE A9 F3 0B 00 F9 FD 03 00 91 E0 03 01 2A stores some code related to playing above 60 FPS. Look at it if someone will have an issue playing above 60 FPS.
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# FPS Lock
|
||||
# REF: 1B 41 00 00
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xC8BC78]
|
||||
value_type: uint32
|
||||
value: FRAMETIME_TARGET * 1000
|
||||
# Unknown value, but set in the same function as FPS lock, so it may be important
|
||||
# REF: 3C 00 00 00 01 00 00 00 00 00 00 00
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xC8BC44]
|
||||
value_type: uint32
|
||||
value: FPS_TARGET
|
@ -0,0 +1,12 @@
|
||||
# DAVE THE DIVER 1.0.4.1034
|
||||
# BID: 456BDB6160D317A3
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# UnityEngine.Time::fixedDeltaTime
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x98DF500, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
@ -0,0 +1,12 @@
|
||||
# DAVE THE DIVER 1.0.4.1029
|
||||
# BID: 757760621154BA5A
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# UnityEngine.Time::fixedDeltaTime
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x98E8280, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
@ -0,0 +1,28 @@
|
||||
# Shining Resonance Refrain 1.0.1
|
||||
# BID: 069E3EFC16365FFD
|
||||
# Possible values to tweak if something happens: 0xFC0DE0 = 1.0, 0xFC0DD4 = 1.0, 0xFC0DD0 = 1.0, 0xFC0DCC = 1.0, 0xFC0DD8 - UI speed factor, don't change because it's dynamic
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Triple buffer
|
||||
# REF: 28 60 81 52 E8 37 00 B9 E8 03 1F 32
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x3AE35C
|
||||
value_type: uint32
|
||||
value: 0x52800068
|
||||
ALL_FPS:
|
||||
# Disable FPS Lock
|
||||
# REF: C8 46 90 52 first ADRP + LDR + LDR above it
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0xFC0DC8]
|
||||
value_type: uint32
|
||||
value: 0
|
||||
# Lipsync fix
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xFC0DDC]
|
||||
value_type: float
|
||||
value: "30.0 / FPS_TARGET"
|
@ -0,0 +1,27 @@
|
||||
# Nikoderiko: The Magical World 1.0.3
|
||||
# BID: 1218D04A7C77F2DA
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x64F6968, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6524628, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5D25C08, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -0,0 +1,80 @@
|
||||
# Another Crab's Treasure 1.1.100.1
|
||||
# BID: B24C86A2B02DE960
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect updating various deltas to read frametime target from UnityEngine.Application::targetFrameRate, REF: 08 10 91 52 08 A1 A7 72
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x18B2F18
|
||||
value_type: uint32
|
||||
value: # 08 EA 01 D0 08 39 4B B9 01 01 23 1E 00 10 2e 1e 00 18 21 1e
|
||||
- 0xF001EF48 # adrp x8, 0x569d000
|
||||
- 0xB94BF908 # ldr w8, [x8, #0xbf8]
|
||||
- 0x1E230101 # ucvtf s1, w8
|
||||
- 0x1E2E1000 # fmov s0, #1.00000000
|
||||
- 0x1E211800 # fdiv s0, s0, s1
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x18B6C30
|
||||
value_type: uint32
|
||||
value: # E8 E9 01 D0 08 39 4B B9 01 01 23 1E 00 10 2e 1e 00 18 21 1e
|
||||
- 0xF001EF28 # adrp x8, 0x569d000
|
||||
- 0xB94BF908 # ldr w8, [x8, #0xbf8]
|
||||
- 0x1E230101 # ucvtf s1, w8
|
||||
- 0x1E2E1000 # fmov s0, #1.00000000
|
||||
- 0x1E211800 # fdiv s0, s0, s1
|
||||
# Redirect Dynamic Resolution GPU Timing target in DynamicResolutionScaler::Update to MAIN+0x5B14F08
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1B018E4
|
||||
value_type: uint32
|
||||
value: # 08 11 01 B0 08 85 47 F9 1F 20 03 D5 1F 20 03 D5
|
||||
- 0xF0020088 # adrp x8, #0x5b14000
|
||||
- 0xF9478508 # ldr x8, [x8, #0xf08]
|
||||
- 0xD503201F # nop
|
||||
- 0xD503201F # nop
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1B01964
|
||||
value_type: uint32
|
||||
value: # 08 11 01 B0 08 85 47 F9 60 2A 40 BD 1F 20 03 D5 1F 20 03 D5
|
||||
- 0xF0020088 # adrp x8, #0x5b14000
|
||||
- 0xF9478508 # ldr x8, [x8, #0xf08]
|
||||
- 0xBD402A60 # ldr s0, [x19, #0x28]
|
||||
- 0xD503201F # nop
|
||||
- 0xD503201F # nop
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1B019D8
|
||||
value_type: uint32
|
||||
value: # 08 11 01 B0 08 85 47 F9 1F 20 03 D5 1F 20 03 D5
|
||||
- 0xF0020088 # adrp x8, #0x5b14000
|
||||
- 0xF9478508 # ldr x8, [x8, #0xf08]
|
||||
- 0xD503201F # nop
|
||||
- 0xD503201F # nop
|
||||
# Default values
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x569DBF8
|
||||
value_type: uint32
|
||||
value: 30
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x5B14F08
|
||||
value_type: double
|
||||
value: 28.57142857142857
|
||||
ALL_FPS:
|
||||
# UnityEngine.Application::targetFrameRate
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x569DBF8]
|
||||
value_type: uint32
|
||||
value: FPS_TARGET
|
||||
# GPU Timing Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x5B14F08]
|
||||
value_type: double
|
||||
value: "1000 / (FPS_TARGET + 5)"
|
@ -0,0 +1,27 @@
|
||||
# Boti: Byteland Overclocked 1.0.3
|
||||
# BID: 8A942A9E838E5083
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x72D4718, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8291E38, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x82CB9E0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -0,0 +1,43 @@
|
||||
# FAIRY TAIL 2 1.4.2
|
||||
# BID: 007EA5E2E2541C6F
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect Dynamic Resolution target to MAIN+0x2C53F00
|
||||
# REF: 6A C8 82 52
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x138238C
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB000C68A # ADRP X10, 0x2c53000
|
||||
- 0xB94F014A # LDR W10, [X10, 0xF00]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x13823A8
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB000C68A # ADRP X10, 0x2c53000
|
||||
- 0xB94F054A # LDR W10, [X10, 0xF04]
|
||||
# Default values
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2C53F00
|
||||
value_type: float
|
||||
value: [0.043478, 0.037037]
|
||||
ALL_FPS:
|
||||
# FPS Lock
|
||||
# REF: 1F 00 00 71 C8 03 80 52, first ADRP+ADD above it
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x2C0B558, 0x170, 0x18C]
|
||||
value_type: int32
|
||||
value: FPS_LOCK_TARGET
|
||||
# Dynamic Resolution Target
|
||||
# Game proritizes resolution over framerate, I changed it to prefer framerate
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x2C53F00]
|
||||
value_type: float
|
||||
value: ["1 / FPS_TARGET", "1 / (FPS_TARGET + 5)"]
|
@ -0,0 +1,54 @@
|
||||
# PROJECT ZERO: MAIDEN OF BLACK WATER 1.0.4
|
||||
# FATAL FRAME: MAIDEN OF BLACK WATER 1.0.4
|
||||
# BID: B38D51E0391187EC
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect min delta to MAIN + 0x1BC4FF0
|
||||
# REF: 00 D9 21 7E 28 19 20 1E
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x39ABF8
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xD000C15B # ADRP X27, 0x1BC4000
|
||||
- 0xBD4FF368 # LDR S8, [X27, 0xFF0]
|
||||
# Redirect FPS Lock to MAIN + 0x1BC4FF4
|
||||
# REF: 69 AA 40 B9 0A 40 99 52
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x39B2D8
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB000C149 # ADRP X9, 0x1BC4000
|
||||
- 0xB94FF529 # LDR W9, [X9, 0xFF4]
|
||||
- 0xD503201F # NOP
|
||||
- 0xD503201F # NOP
|
||||
# Default values
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1BC4FF0
|
||||
value_type: float
|
||||
value: 0.0333333333
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1BC4FF4
|
||||
value_type: uint32
|
||||
value: 33333333
|
||||
ALL_FPS:
|
||||
# Min delta
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1BC4FF0]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
# FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1BC4FF4]
|
||||
value_type: uint32
|
||||
value: "1000000000 / FPS_TARGET"
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -0,0 +1,37 @@
|
||||
# Twilight Monk 1.0.0
|
||||
# BID: 5D63D46226DB106F
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5DBD688, 0x7A4]
|
||||
value_type: uint32
|
||||
# Default is 0x46, bUseFixedFrameRate |= 0x40
|
||||
# By writing 7 we are making sure that other flags are maintained:
|
||||
# bAllowMultiThreadedAnimationUpdate |= 4
|
||||
# bOptimizeAnimBlueprintMemberVariableAccess |= 2
|
||||
value: 6
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x5D902E8, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x5DBDFA8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x55C1348, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -12,7 +12,7 @@ ALL_FPS:
|
||||
value: "1 / FPS_TARGET"
|
||||
# Play prerendered cutscenes only at 60 FPS
|
||||
-
|
||||
type: evaluate_compare
|
||||
type: compare
|
||||
compare_address: [MAIN, 0x1728B58]
|
||||
compare_type: "!="
|
||||
compare_value_type: uint32
|
||||
|
@ -0,0 +1,14 @@
|
||||
# Card-en-Ciel 1.5.1
|
||||
# BID: 0B00B4DFAE47EBA3
|
||||
# Buffers are hardcoded line by line and put into fixed size heap allocation, so getting triple buffer requires effort
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
# REF: look at nn::os::SleepThread() called in nnMain()
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x21C9248, 0x5C]
|
||||
value_type: float
|
||||
value: 1 / FPS_LOCK_TARGET
|
@ -0,0 +1,27 @@
|
||||
# SnowRunner 1.0.39
|
||||
# BID: 3E9AC9266BB21FC4
|
||||
# Just search for 0x42055555
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect DR frametime target to MAIN+0x309AF00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1933834
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF000BB2A # adrp x10, #0x309A000
|
||||
- 0xBD4F0142 # ldr s2, [x10, #0xf00]
|
||||
# default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x309AF00
|
||||
value_type: float
|
||||
value: 33.3333333333
|
||||
ALL_FPS:
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x309AF00]
|
||||
value_type: float
|
||||
value: FRAMETIME_TARGET
|
@ -0,0 +1,27 @@
|
||||
# SnowRunner 1.0.38
|
||||
# BID: 53531030A4199B74
|
||||
# Just search for 0x42055555
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect DR frametime target to MAIN+0x309FF00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1936124
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB000BB4A # adrp x10, #0x309F000
|
||||
- 0xBD4F0142 # ldr s2, [x10, #0xf00]
|
||||
# default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x309FF00
|
||||
value_type: float
|
||||
value: 33.3333333333
|
||||
ALL_FPS:
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x309FF00]
|
||||
value_type: float
|
||||
value: FRAMETIME_TARGET
|
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.
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.
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.
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.
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.
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.
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.
@ -1,2 +0,0 @@
|
||||
# Nintendo telemetry servers
|
||||
127.0.0.1 receive-%.dg.srv.nintendo.net receive-%.er.srv.nintendo.net
|
@ -1,40 +0,0 @@
|
||||
127.0.0.1 *nintendo*
|
||||
127.0.0.1 ads.doubleclick.net
|
||||
127.0.0.1 clients1.google.com
|
||||
127.0.0.1 dts.innovid.com
|
||||
127.0.0.1 googleads4.g.doubleclick.net
|
||||
127.0.0.1 pagead2.googlesyndication.com
|
||||
127.0.0.1 pixel.moatads.com
|
||||
127.0.0.1 rtd.tubemogul.com
|
||||
127.0.0.1 s.innovid.com
|
||||
127.0.0.1 pubads.g.doubleclick.net
|
||||
127.0.0.1 ssl.google-analytics.com
|
||||
127.0.0.1 www-google-analytics.l.google.com
|
||||
127.0.0.1 stats.g.doubleclick.net
|
||||
127.0.0.1 clients.l.google.com
|
||||
127.0.0.1 pagead.l.doubleclick.net
|
||||
127.0.0.1 www-googletagmanager.l.google.com
|
||||
127.0.0.1 googleadapis.l.google.com
|
||||
127.0.0.1 s0.2mdn.net
|
||||
127.0.0.1 googleads.g.doubleclick.net
|
||||
127.0.0.1 files.adform.net
|
||||
127.0.0.1 secure-ds.serving-sys.com
|
||||
127.0.0.1 securepubads.g.doubleclick.net
|
||||
127.0.0.1 2975c.v.fwmrm.net
|
||||
127.0.0.1 static.doubleclick.net
|
||||
127.0.0.1 googleadservices.com
|
||||
127.0.0.1 ad-g.doubleclick.net
|
||||
127.0.0.1 ad.doubleclick.net
|
||||
127.0.0.1 ad.mo.doubleclick.net
|
||||
127.0.0.1 doubleclick.net
|
||||
127.0.0.1 pagead.googlesyndication.com
|
||||
127.0.0.1 pagead1.googlesyndication.com
|
||||
127.0.0.1 www.googleadservices.com
|
||||
127.0.0.1 analytic-google.com
|
||||
127.0.0.1 www.analytic-google.com
|
||||
127.0.0.1 www.googletagservices.com
|
||||
127.0.0.1 fwmrm.net
|
||||
127.0.0.1 innovid.com
|
||||
127.0.0.1 2mdn.net
|
||||
95.216.149.205 *conntest.nintendowifi.net
|
||||
95.216.149.205 *ctest.cdn.nintendo.net
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user