mirror of
https://github.com/Ultra-NX/UltraNX.git
synced 2026-01-23 06:23:17 +00:00
Compare commits
50 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b00854da6 | ||
|
|
a270126d52 | ||
|
|
5a107e599e | ||
|
|
a7853bf3ac | ||
|
|
164babb735 | ||
|
|
aaa9c7c28d | ||
|
|
2e2398427c | ||
|
|
ef2146f5c4 | ||
|
|
f44fffe49a | ||
|
|
c37dd270f8 | ||
|
|
589be70874 | ||
|
|
baccea8d38 | ||
|
|
6224f511c8 | ||
|
|
fe39bfad97 | ||
|
|
acd5202a1c | ||
|
|
4f1528875e | ||
|
|
70c5ad578b | ||
|
|
1111230682 | ||
|
|
2aa89c39cd | ||
|
|
6d87b67c86 | ||
|
|
90908e1cf4 | ||
|
|
844a878bfe | ||
|
|
2cf10aa059 | ||
|
|
85ffded054 | ||
|
|
7d6a8eb2b1 | ||
|
|
69db804029 | ||
|
|
d18b6d94c4 | ||
|
|
6c1c55d929 | ||
|
|
220ef77d17 | ||
|
|
ece8bc4858 | ||
|
|
081eaa7c7d | ||
|
|
eda99e7881 | ||
|
|
d28855fd34 | ||
|
|
d0b97525a8 | ||
|
|
bf48033941 | ||
|
|
9adc60b135 | ||
|
|
5153b2d17a | ||
|
|
9d661b1d18 | ||
|
|
1fc80bcbdb | ||
|
|
985a53995a | ||
|
|
4e42f73191 | ||
|
|
b144b70918 | ||
|
|
b546edec8f | ||
|
|
aacfd99915 | ||
|
|
da2cbbb2f6 | ||
|
|
9c3765e08c | ||
|
|
65461efd23 | ||
|
|
b9b4dd45c0 | ||
|
|
e1812455bb | ||
|
|
73b0904544 |
97
README.md
97
README.md
@ -1,4 +1,4 @@
|
||||
# Ultra-NX by **[redraz](https://github.com/redraz)**
|
||||
# UltraNX by **[redraz](https://github.com/redraz)**
|
||||
|
||||

|
||||
|
||||
@ -8,13 +8,14 @@
|
||||
|
||||
### Ultra - это функциональная кастомная прошивка для Nintendo Switch, с упором в разгон и улучшенный пользовательский опыт.
|
||||
|
||||
### [Ultra 2.3](https://github.com/Ultra-NX/UltraNX/releases/tag/2.3-RC1) Поддерживает HOS 19.0.0 и все ревизии консолей
|
||||
### [UltraNX 2.7|R3](https://github.com/Ultra-NX/UltraNX/releases/tag/2.7-R3) Поддерживает все HOS до 21.2.0 включительно (21.2.0 в Safe Mode)
|
||||
|
||||
|
||||
|
||||
## Особенности Ultra
|
||||
|
||||
* Предварительно настроенный OC Switchcraft (Преемник OC-Suite) с пресетами.
|
||||
* Предварительно настроенный OC Switchcraft (Преемник OC-Suite, аналог 4IFIR) с пресетами.
|
||||
* Небольшой андервольт (сниженные вольтажи) в стоке, что заметно снижает потребление консоли, и заметный разгон памяти, который сделает игры плавнее.
|
||||
* Лучший кастомизатор разгона для Свитч - [Ultra-Tuner](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Ultra-Tuner), позволяющий настраивать разгон прямо с консоли. Был первым, и остается неповторимым.
|
||||
* Сборка максимально легкая и не нагруженная. В ней нет лишнего, минимум необходимый для разгона и комфортного использования.
|
||||
* Модульная конструкция. В составе минимум приложений/плагинов/оверлеев, но вы всегда можете поставить еще через [Ultra Tuner](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater).
|
||||
@ -23,10 +24,8 @@
|
||||
* 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.
|
||||
|
||||
|
||||
|
||||
@ -35,57 +34,64 @@
|
||||
1. **[Atmosphere](https://github.com/Atmosphere-NX/Atmosphere)** - Atmosphère, кастомная прошивка для Nintendo Switch.
|
||||
1. **[Hekate](https://github.com/CTCaer/hekate)** - Пользовательский графический загрузчик Nintendo Switch, патчер прошивки, инструментарий и многое другое.
|
||||
1. **[Ultra Tuner](https://github.com/Ultra-NX/Ultra-Tuner)** - Пакет для Ultrahand, позволяющий произвести тонкую настройку параметров под свою консоль. В случае нестабильной работы разгона, или при желании увеличить производительность консоли, Ultra Tuner - Ваш незаменимый помощник.
|
||||
1. **[OC-Switchcraft](https://github.com/halop/OC_Toolkit_SC_EOS)**, форк **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - Лоадер атмосферы с разгоном от B3711, позволяет выжать из N.Switch мощность Xbox One. Вовремя обновляется для поддержки новых возможностей Атмосферы.
|
||||
1. **[OC-Switchcraft](https://github.com/halop/OC-Switchcraft-EOS/releases)**, форк **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - Загрузчик Атмосферы с разгоном от B3711 и Meha, позволяет выжать из N.Switch мощность Xbox One. Вовремя обновляется для поддержки новых возможностей Атмосферы.
|
||||
|
||||
|
||||
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) - Низкоуровневый файловый менеджер для работы с системой.
|
||||
|
||||
|
||||
1. **Установленные Homebrew**
|
||||
* [AiO Switch Updater](https://github.com/HamletDuFromage/aio-switch-updater) - Программа для обновления Ultra до актуальной версии, а так же для скачивания читов.
|
||||
* [Daybreak](https://github.com/Atmosphere-NX/Atmosphere) - Программа для обновления системного ПО.
|
||||
* [DBI](https://4pda.to/forum/index.php?showtopic=939714&st=1120#entry86288632) - Лучший файловый менеджер, менеджер сохранений и установщик программ на консоль. Если вам нужна другая локализация - в [Updater](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater) есть выбор из EN-RU-PTBR-ZHCN.
|
||||
* [Sphaira](https://github.com/ITotalJustice/sphaira) - Современное Хоумбрю Меню, аналог nx-hbmenu
|
||||
* [AiO Switch Updater](https://github.com/HamletDuFromage/aio-switch-updater) - Программа для обновления UltraNX до актуальной версии, а так же для скачивания читов и HOS.
|
||||
* [Daybreak](https://github.com/Atmosphere-NX/Atmosphere) - Программа для обновления HOS (системного ПО).
|
||||
* [DBI](https://4pda.to/forum/index.php?showtopic=939714&st=1100#entry86288632) - Лучший файловый менеджер, менеджер сохранений и установщик программ на консоль.
|
||||
|
||||
|
||||
1. **Установленные модули**
|
||||
* [SaltyNX](https://github.com/masagrator/SaltyNX) - Фоновый модуль, позволяющий модифицировать файлы\процессы в консоли, поддерживает плагины. Не совместим с 32-х битными играми (список на гитхабе проекта).
|
||||
* [sys-clk](https://github.com/halop/OC_Toolkit_SC_EOS) - Модуль отвечающий за разгон процессора, памяти и видеочипа - для лучшей производительности. Периодически меняю версии от разных авторов. Оригинальные авторы: Meha/hanai3Bi, lineon, p-sam.
|
||||
* [SaltyNX](https://github.com/masagrator/SaltyNX) - Фоновый модуль, позволяющий модифицировать файлы\процессы в консоли, поддерживает плагины.
|
||||
* [sys-clk](https://github.com/ppkantorski/sys-clk) - Модуль отвечающий за разгон процессора, памяти и видеочипа - для лучшей производительности.
|
||||
* [nx-ovlloader](https://github.com/ppkantorski/nx-ovlloader) - С помощью этого модуля осуществляется переключение установленных модулей.
|
||||
* [sys-patch](https://github.com/impeeza/sys-patch) - Патчит систему на работу неподписанного софта вместо сигпатчей.
|
||||
* [Mission Control](https://github.com/ndeadly/MissionControl) - Модуль, позволяющий подключать практически любые геймпады к консоли по Bluetooth.
|
||||
* [sys-con](https://github.com/o0Zz/sys-con) - Модуль, позволяющий подключать практически любые геймпады к консоли по USB.
|
||||
* [Ultrahand Overlay](https://github.com/ppkantorski/Ultrahand-Overlay) - Специальное оверлей-меню для взаимодействия с системой: разгон, управление режимами через ReverseNX, включение читов, прочее. Так же позволяет использовать самописные пакеты, например - Ultra Tuner.
|
||||
- **`Ultra OC (sys-clk)`**, мод [sys-clk](https://github.com/halop/OC_Toolkit_SC_EOS) - Оверлей для управления модулем sys-clk. Немного изменен мной, но без копания в исходниках (Так как они закрыты).
|
||||
- [Status Monitor](https://github.com/Ultra-NX/Status-Monitor-Overlay), форк [Status Monitor](https://github.com/hanai3Bi/Status-Monitor-Overlay) - Оверлей позволяющий следить за параметрами консоли в реальном времени. Может выступать в качестве счетчика FPS. Сменить пресет Micro-оверлея можно в Updater.
|
||||
* [Ultrahand Overlay](https://github.com/ppkantorski/Ultrahand-Overlay) - Специальное оверлей-меню для взаимодействия с системой: разгон, управление режимами через ReverseNX, включение читов, прочее. Также позволяет использовать самописные пакеты, например - Ultra Tuner.
|
||||
- **`Ultra OC (sys-clk)`**, мод [sys-clk](https://github.com/ppkantorski/sys-clk) - Оверлей для управления модулем sys-clk. Немного изменен мной, но без копания в исходниках (Так как они закрыты).
|
||||
- [Status Monitor](https://github.com/ppkantorski/Status-Monitor-Overlay), форк [Status Monitor](https://github.com/hanai3Bi/Status-Monitor-Overlay) - Оверлей позволяющий следить за параметрами консоли в реальном времени. Может выступать в качестве счетчика FPS. Сменить пресет Micro-оверлея можно в Tuner.
|
||||
- [FPSLocker](https://github.com/masagrator/FPSLocker) - Оверлей, позволяющий разблокировать 60 FPS в играх.
|
||||
- [EdiZon](https://github.com/proferabg/EdiZon-Overlay) - Оверлей для использования читов.
|
||||
- [ReverseNX-RT](https://github.com/masagrator/ReverseNX-RT) - Оверлей для управления ReverseNX.
|
||||
- [Sysmodules](https://github.com/WerWolv/ovl-sysmodules/) - Оверлей для включения и отключения установленных системных модулей.
|
||||
- [EdiZon](https://github.com/ppkantorski/EdiZon-Overlay) - Оверлей для использования читов, включая графические.
|
||||
- [ReverseNX-RT](https://github.com/masagrator/ReverseNX-RT) - Оверлей для переключения запущенной игры в портатив\док, меняет настройки графики\разрешения в играх.
|
||||
- [Sysmodules](https://github.com/ppkantorski/ovl-sysmodules) - Оверлей для включения\отключения установленных системных модулей.
|
||||
|
||||
|
||||
1. **Доступные для скачивания через [Updater](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater)**
|
||||
1. **Доступные для скачивания через [Ultra Tuner](https://github.com/Ultra-NX/UltraNX/wiki/Tuner-RU#ultra-tuner)**
|
||||
* Homebrews:
|
||||
* [Linkalho](https://gbatemp.net/download/linkalho.38822) - Программа для привязки аккаунта.
|
||||
* [Tinfoil](https://tinfoil.io) - Установщик и каталог игр.
|
||||
* [HB App Store](https://github.com/fortheusers/hb-appstore) - Бесплатный магазин для скачивания Homebrew приложений.
|
||||
* [DBI](https://4pda.to/forum/index.php?showtopic=939714&st=1100#entry86288632) - Здесь можно скачать DBI или обновить имеющийся.
|
||||
* [Linkalho](https://gbatemp.net/download/linkalho.38822) - Программа для привязки аккаунта. Без привязки не будут работать некоторые игры.
|
||||
* [Sphaira](https://github.com/ITotalJustice/sphaira) - Здесь можно обновить Sphaira\обновить ее конфиг.
|
||||
* [PPSSPP](https://gbatemp.net/threads/ppsspp-switch-standalone-beta.544071/post-10492671) - Эмулятор PSP.
|
||||
* [Moonlight](https://github.com/XITRIX/Moonlight-Switch) - Клиент Moonlight, позволяет транслировать на консоль игры с PC.
|
||||
* [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/1324099100202766408) - Бенчмарк и Тестер памяти. Результат сильно зависит от разгона CPU.
|
||||
* [MemToolkitNX OLD](https://discord.com/channels/854839758815363072/1173171845139288114/1276196700750479480) - Бенчмарк и Тестер памяти. Результат сильно зависит от разгона CPU. Старая версия, которая многим нравится больше новой.
|
||||
* [MicroMemBench](https://github.com/rashevskyv/4IFIR) - Бенчмарк. Результат сильно зависит от разгона CPU. Версия из Чифира которая в реальном времени тестирует CPU Copy, что позволяет быстро узнать результат после изменения таймингов.
|
||||
|
||||
* Overlays:
|
||||
* [Status Monitor](https://github.com/ppkantorski/Status-Monitor-Overlay) - Форк Status Monitor от kantorski.
|
||||
* [Tetris](https://github.com/ppkantorski/Tetris-Overlay) - Та самая игра в виде оверлея. Работает только на последних версиях Ultrahand.
|
||||
* [BT Audio](https://github.com/masagrator/BT_Audio-ovl) - Оверлей, позволяющий быстро отключаться/подключаться к bluetooth-гарнитуре.
|
||||
* [MasterVolume](https://github.com/averne/MasterVolume) - Регулировка глобальной громкости, позволяет поднять громкость выше максимума. Использовать аккуратно!
|
||||
* [NX-FanControl](https://github.com/Insektaure/NX-FanControl) - Модуль для ручной регулировки оборотов кулера. Изменения применяются сразу, модуль смотрит на температуру SOC а не Skin, как Атмосфера.
|
||||
* [BT Audio](https://github.com/masagrator/BT_Audio-ovl) - Оверлей, позволяющий быстро отключаться\подключаться к bluetooth-гарнитуре.
|
||||
* [Fizeau](https://github.com/averne/Fizeau) - Модуль для изменения цветового профиля экрана.
|
||||
* [sys-tune](https://github.com/HookedBehemoth/sys-tune) - Оверлей-музыкальный плеер, работает в фоне.
|
||||
|
||||
* Other:
|
||||
* [FPSLocker Patches](https://github.com/masagrator/FPSLocker-Warehouse) - Патчи для FPSLocker, что бы не качать отдельно патч для каждой игры через оверлей.
|
||||
* [FPSLocker Patches](https://github.com/masagrator/FPSLocker-Warehouse) - Пакет патчей для FPSLocker, позволяет обновить все патчи сразу, вместо скачивания по одному через оверлей FPSLocker'а. В Ультре по умолчанию всегда последние патчи, так что достаточно своевременно обновлять сборку.
|
||||
* [DVR Patches](https://github.com/exelix11/dvr-patches) - Патчи SysDVR, работают и без системного модуля, активируя фоновую запись в играх, где это изначально запрещено.
|
||||
* [TriPlayer](https://github.com/DefenderOfHyrule/TriPlayer) - Хоумбрю-музыкальный плеер, который работает через системный модуль, и может сворачиваться, работая в фоне.
|
||||
* [sys-ftpd](https://github.com/tomvita/sys-ftpd-light) - FTP сервер, работающий на фоне.
|
||||
* [Mod Alchemist](https://github.com/ppkantorski/Mod-Alchemist) - Пакет для скачивания, установки и управления модами для игр.
|
||||
* [sys-ftpd](https://github.com/ELY3M/sys-ftpd) - FTP сервер, работающий на фоне.
|
||||
|
||||
|
||||
|
||||
@ -96,23 +102,17 @@
|
||||
|
||||
[GPL 2.0](https://github.com/Atmosphere-NX/Atmosphere/blob/master/LICENSE):
|
||||
* [Atmosphere](https://github.com/Atmosphere-NX/Atmosphere)
|
||||
* [Status-Monitor-Overlay](https://github.com/masagrator/Status-Monitor-Overlay)
|
||||
|
||||
[MIT License](https://github.com/masagrator/FPSLocker/blob/main/LICENSE)
|
||||
* [FPSLocker](https://github.com/masagrator/FPSLocker)
|
||||
|
||||
|
||||
|
||||
|
||||
## Благодарности
|
||||
|
||||
* Meha
|
||||
* B3711
|
||||
* ppkantorski
|
||||
* Cooler3D
|
||||
* rashevskyv
|
||||
* Meha
|
||||
* duckbill
|
||||
* snupt
|
||||
* 4PDA
|
||||
#### А так же - отдельная благодарность администрации и участникам Ultra Group
|
||||
|
||||
|
||||
@ -120,15 +120,18 @@
|
||||
## Поддержка
|
||||
|
||||
Если вам нравится проект, и у вас появилось желание поддержать меня копеечкой - я буду очень благодарен.
|
||||
У меня в данный момент нет других заработков, так что любая денежная помощь очень ценна для меня.
|
||||
|
||||
### Tinkoff QR
|
||||

|
||||
У меня в данный момент нет других заработков, так что любая денежная помощь очень ценна для меня.
|
||||
```
|
||||
TON: UQDioCnnPI5sk4KvxWzfPWsWbAyWCkzwhaYjy8Qpg2QwWMiL
|
||||
BTC: 1HsC4z8X1YkZzcSKZz1t7MXRa7rPi8qChV
|
||||
USDT: TQi3qLVrNGcr6avfVQBXRjpPTyvp5JZ7i2
|
||||
СБП (Т-Банк): +79168089980
|
||||
|
||||
Сбербанк: 2202200513345833
|
||||
Tinkoff: 2200700170486970
|
||||
```
|
||||
Альфа : 2200152336577997
|
||||
Т-Банк : 2200700170486970
|
||||
Сбер : 2202200513345833
|
||||
|
||||
TON: UQA9My51bkGZHbYhbdRZfp6B60N7VJfsnKl0sakgw9YhAPct
|
||||
BTC: 18K6NN8NEavvMJL5Do3VTyJbL8NeZPHo93
|
||||
USDT TRC20: TUZ5szAmRsnvBuC4rFB8RaAoCbN6Ucy4sL
|
||||
```
|
||||
|
||||
### Т-Банк QR
|
||||

|
||||
@ -1,4 +1,4 @@
|
||||
# Ultra-NX by **[redraz](https://github.com/redraz)**
|
||||
# UltraNX by **[redraz](https://github.com/redraz)**
|
||||
|
||||

|
||||
|
||||
@ -6,13 +6,14 @@
|
||||
#
|
||||
### 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/UltraNX/releases/tag/2.3-RC1) Supports HOS 19.0.0 and all console revisions
|
||||
### [UltraNX 2.7|R3](https://github.com/Ultra-NX/UltraNX/releases/tag/2.7-R3) Supports all HOS up to and including 21.2.0 (21.2.0 in Safe Mode)
|
||||
|
||||
|
||||
|
||||
## Features of Ultra
|
||||
|
||||
* Pre-configured OC Switchcraft (Successor to OC-Suite) with presets.
|
||||
* By default, there's already an undervolt that noticeably reduces the console's consumption, and a slight memory overclock that will make games smoother.
|
||||
* The best overclocking customizer for Switch - Ultra-Tuner, that allows you to customize overclocking right from the console. It was the first, and remains unique.
|
||||
* The CFW is as light as possible. There are no unnecessary things in it, only minimum necessary for overclocking and comfortable use.
|
||||
* Modular design. A minimum of applications/plugins/overlays are included, but you can always add more via the Ultra Tuner.
|
||||
@ -20,9 +21,7 @@
|
||||
* Regular updates, and an active community.
|
||||
* [Forks](https://github.com/Ultra-NX/Ultra-Resources/tree/main/patches) (own modifications) of programs and components needed for convenience, security and empowerment:
|
||||
* Atmosphere fork with Ultra version in system information, and disabled reports, which usually clogs up the SD card, wastes its resource and breaks the file system.
|
||||
* SaltyNX and FPSLocker forks, with support for changing screen refresh rate and with OLED support.
|
||||
* Mission Control fork, with the “easter egg” cut out, making the joycons yellow-blue.
|
||||
* Status Monitor fork with display of current voltages and unique Micro Overlay modules, whose presets can be changed via Ultra Tuner.
|
||||
|
||||
|
||||
|
||||
@ -31,59 +30,64 @@
|
||||
1. **[Atmosphere](https://github.com/Atmosphere-NX/Atmosphere)** - Atmosphère, custom firmware for the Nintendo Switch.
|
||||
1. **[Hekate](https://github.com/CTCaer/hekate)** - Custom Nintendo Switch graphical bootloader, firmware patcher, toolkit and more.
|
||||
1. **[Ultra Tuner](https://github.com/Ultra-NX/Ultra-Tuner)** - Package for Ultrahand, which allows you to fine-tune the OC parameters for your console. In case of unstable overclocking, or if you want to increase the performance of your console, Ultra Tuner is your indispensable assistant.
|
||||
1. **[OC-Switchcraft](https://github.com/halop/OC_Toolkit_SC_EOS)**, a fork of **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - Atmosphere Loader with overclocking from B3711, allows you to reach from N.Switch power Xbox One. Updated in time to support new Atmosphere features.
|
||||
1. **[OC-Switchcraft](https://github.com/halop/OC-Switchcraft-EOS/releases)**, a fork of **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - Atmosphere Loader with overclocking from B3711 & Meha, allows you to reach from N.Switch power Xbox One. Updated in time to support new Atmosphere features.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
1. **Installed Homebrew**
|
||||
* [AiO Switch Updater](https://github.com/HamletDuFromage/aio-switch-updater) - Program to update Ultra to the current version, as well as to download cheats.
|
||||
* [Daybreak](https://github.com/Atmosphere-NX/Atmosphere) - A program for updating OS.
|
||||
* [DBI](https://github.com/rashevskyv/dbi) - The best file manager, save manager and program installer on the console. If you need a different localization - Updater has a choice of EN-RU-PTBR-ZHCN.
|
||||
* [Sphaira](https://github.com/ITotalJustice/sphaira) - Modern Homebrew Menu, analogous to nx-hbmenu
|
||||
* [AiO Switch Updater](https://github.com/HamletDuFromage/aio-switch-updater) - Program to update Ultra to the current version, as well as to download cheats & HOS.
|
||||
* [Daybreak](https://github.com/Atmosphere-NX/Atmosphere) - A program for updating HOS.
|
||||
* [DBI](https://4pda.to/forum/index.php?showtopic=939714&st=1100#entry86288632) - The best file manager, save manager and program installer on the console.
|
||||
|
||||
|
||||
1. **Installed Modules**
|
||||
* [SaltyNX](https://github.com/masagrator/SaltyNX) - Background module allowing to modify files/processes in console, supports plugins. Not compatible with 32-bit games (list on the project's github).
|
||||
* [sys-clk](https://github.com/halop/OC_Toolkit_SC_EOS) - Module responsible for overclocking CPU, memory and GPU - for better performance. I change versions from different authors from time to time. Original authors: Meha/hanai3Bi, lineon, p-sam.
|
||||
* [SaltyNX](https://github.com/masagrator/SaltyNX) - Background module allowing to modify files/processes in console, supports plugins.
|
||||
* [sys-clk](https://github.com/ppkantorski/sys-clk) - Module responsible for overclocking CPU, memory and GPU - for better performance.
|
||||
* [nx-ovlloader](https://github.com/ppkantorski/nx-ovlloader) - This module is used to switch the installed modules.
|
||||
* [sys-patch](https://github.com/impeeza/sys-patch) - Patches the system to run unsigned software instead of sigpatches.
|
||||
* [Mission Control](https://github.com/ndeadly/MissionControl) - A module that allows you to connect almost any gamepads to the console via bluetooth.
|
||||
* [sys-con](https://github.com/o0Zz/sys-con) - A module that allows you to connect almost any gamepads to the console via USB.
|
||||
* [Ultrahand Overlay](https://github.com/ppkantorski/Ultrahand-Overlay) - Special overlay-menu for interacting with the system: overclocking, controlling modes via ReverseNX, enabling cheats, etc. Also allows to use your own packages, for example, Ultra Tuner.
|
||||
- **`Ultra OC (sys-clk)`**, a mod of [sys-clk](https://github.com/halop/OC_Toolkit_SC_EOS) - Overlay for controlling sys-clk module. Slightly modified by me, but without digging into sources (Since they're closed).
|
||||
- [Status Monitor](https://github.com/Ultra-NX/Status-Monitor-Overlay), a fork of [Status Monitor](https://github.com/masagrator/Status-Monitor-Overlay) - Overlay that allows you to monitor console parameters in real time. It can act as an FPS counter. You change preset of Micro-overlay appearance in Updater.
|
||||
- **`Ultra OC (sys-clk)`**, a mod of [sys-clk](https://github.com/ppkantorski/sys-clk) - Overlay for controlling sys-clk module. Slightly modified by me, but without digging into sources (Since they're closed).
|
||||
- [Status Monitor](https://github.com/ppkantorski/Status-Monitor-Overlay), a fork of [Status Monitor](https://github.com/masagrator/Status-Monitor-Overlay) - Overlay that allows you to monitor console parameters in real time. It can act as an FPS counter. You change preset of Micro-overlay appearance in Tuner.
|
||||
- [FPSLocker](https://github.com/masagrator/FPSLocker) - An overlay that allows you to unlock 60 FPS in games.
|
||||
- [EdiZon](https://github.com/proferabg/EdiZon-Overlay) - An overlay for using cheats.
|
||||
- [ReverseNX-RT](https://github.com/masagrator/ReverseNX-RT) - ReverseNX control overlay.
|
||||
- [Sysmodules](https://github.com/WerWolv/ovl-sysmodules/) - Overlay for enabling and disabling installed system modules.
|
||||
- [EdiZon](https://github.com/ppkantorski/EdiZon-Overlay) - An overlay for using cheats.
|
||||
- [ReverseNX-RT](https://github.com/masagrator/ReverseNX-RT) - An overlay for switching a running game to a handheld\dock mode, which changes the graphics and resolution settings in games.
|
||||
- [Sysmodules](https://github.com/ppkantorski/ovl-sysmodules) - Overlay for enabling\disabling installed system modules.
|
||||
|
||||
|
||||
1. **Available for download via [Updater](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater)**
|
||||
* Homebrews:
|
||||
* [Linkalho](https://gbatemp.net/download/linkalho.38822/) - Account linking program.
|
||||
* [Tinfoil](https://tinfoil.io) - Installer and game store.
|
||||
* [HB App Store](https://github.com/fortheusers/hb-appstore) - A free store for downloading Homebrew apps.
|
||||
* [DBI](https://4pda.to/forum/index.php?showtopic=939714&st=1100#entry86288632) - Here you can download a DBI or update an existing one.
|
||||
* [Linkalho](https://gbatemp.net/download/linkalho.38822/) - Account linking program. Some games won't work without the link.
|
||||
* [Sphaira](https://github.com/ITotalJustice/sphaira) - Here you can update Sphaira\update its config.
|
||||
* [PPSSPP](https://gbatemp.net/threads/ppsspp-switch-standalone-beta.544071/post-10492671) - PSP emulator.
|
||||
* [Moonlight](https://github.com/XITRIX/Moonlight-Switch) - Moonlight client, allows to stream games from PC.
|
||||
* [ThemezerNX](https://github.com/suchmememanyskill/themezer-nx) + [NXThemes Installer](https://github.com/exelix11/SwitchThemeInjector) + [Theme Patches](https://github.com/exelix11/theme-patches) - Searching and installing themes on Switch.
|
||||
* [ReverseNX Tool](https://github.com/masagrator/ReverseNX-Tool) - ReverseNX control program.
|
||||
* [Battery Desync Fix](https://github.com/CTCaer/battery_desync_fix_nx) - Program to reset the battery controller. Do not use unnecessarily!
|
||||
* **`MemToolkitNX`** - Benchmark and Memory Tester. The result is highly dependent on CPU overclocking.
|
||||
* [MemToolkitNX](https://discord.com/channels/854839758815363072/1173171845139288114/1324099100202766408) - Benchmark and Memory Tester. The result is highly dependent on CPU overclocking.
|
||||
* [MemToolkitNX OLD](https://discord.com/channels/854839758815363072/1173171845139288114/1276196700750479480) - Benchmark and Memory Tester. The result is highly dependent on CPU overclocking. The old version, which many people like better than the new one.
|
||||
* [MicroMemBench](https://github.com/rashevskyv/4IFIR) - Benchmark. The result is highly dependent on CPU overclocking. A version from 4ifir that tests CPU Copy in real time, which allows you to quickly find out the result after changing timings.
|
||||
|
||||
* Overlays:
|
||||
* [Status Monitor](https://github.com/ppkantorski/Status-Monitor-Overlay) - Status Monitor fork from kantorski.
|
||||
* [Tetris](https://github.com/ppkantorski/Tetris-Overlay/) - "That" game in the form of an overlay. Works only on the latest versions of Ultrahand.
|
||||
* [BT Audio](https://github.com/masagrator/BT_Audio-ovl) - An overlay that allows you to quickly disconnect/connect to a bluetooth headset.
|
||||
* [MasterVolume](https://github.com/averne/MasterVolume) - Global volume control, allows you to raise the volume above the maximum. Use with care!
|
||||
* [NX-FanControl](https://github.com/Insektaure/NX-FanControl) - Module for manually adjusting the speed of the cooler. The changes are applied immediately, the module works from SOC temperature and not Skin temperature like Atmosphere.
|
||||
* [BT Audio](https://github.com/masagrator/BT_Audio-ovl) - An overlay that allows you to quickly disconnect\connect to a bluetooth headset.
|
||||
* [Fizeau](https://github.com/averne/Fizeau) - Module for changing the screen color profile.
|
||||
* [sys-tune](https://github.com/HookedBehemoth/sys-tune) - Overlay music player, works in background.
|
||||
|
||||
* Other:
|
||||
* [FPSLocker Patches](https://github.com/masagrator/FPSLocker-Warehouse) - Patches for FPSLocker, so you don't have to download a separate patch for each game through the overlay.
|
||||
* [FPSLocker Patches](https://github.com/masagrator/FPSLocker-Warehouse) - The patch package for FPSLocker allows you to update all patches at once, instead of downloading one at a time through the FPSLocker overlay. UltraNX always has the latest patches by default, so it's enough to update the CFW in a timely manner.
|
||||
* [DVR Patches](https://github.com/exelix11/dvr-patches) - SysDVR patches, work without the system module, activating background recording in games where it is initially prohibited.
|
||||
* [TriPlayer](https://github.com/DefenderOfHyrule/TriPlayer) - A homebrew music player that runs through the system module, and can minimize while running in the background.
|
||||
* [sys-ftpd](https://github.com/tomvita/sys-ftpd-light) - FTP server running in background.
|
||||
* [Mod Alchemist](https://github.com/ppkantorski/Mod-Alchemist) - A package for downloading, installing, and managing mods for games.
|
||||
* [sys-ftpd](https://github.com/ELY3M/sys-ftpd) - FTP server running in background.
|
||||
|
||||
|
||||
|
||||
@ -93,22 +97,16 @@ Listed below are the licenses of those programs that have been modified specific
|
||||
|
||||
[GPL 2.0](https://github.com/Atmosphere-NX/Atmosphere/blob/master/LICENSE):
|
||||
* [Atmosphere](https://github.com/Atmosphere-NX/Atmosphere)
|
||||
* [Status-Monitor-Overlay](https://github.com/masagrator/Status-Monitor-Overlay)
|
||||
|
||||
[MIT License](https://github.com/masagrator/FPSLocker/blob/main/LICENSE)
|
||||
* [FPSLocker](https://github.com/masagrator/FPSLocker)
|
||||
|
||||
|
||||
|
||||
## Credits
|
||||
|
||||
* Meha
|
||||
* B3711
|
||||
* ppkantorski
|
||||
* Cooler3D
|
||||
* rashevskyv
|
||||
* Meha
|
||||
* duckbill
|
||||
* snupt
|
||||
* 4PDA
|
||||
#### And also - a special thanks to the administration and members of Ultra Group
|
||||
|
||||
|
||||
@ -118,7 +116,7 @@ Listed below are the licenses of those programs that have been modified specific
|
||||
If you like the project and you have a desire to support me with a penny - I will be very grateful.
|
||||
I have no other income at the moment, so any monetary help is very valuable to me.
|
||||
```
|
||||
TON: UQDioCnnPI5sk4KvxWzfPWsWbAyWCkzwhaYjy8Qpg2QwWMiL
|
||||
BTC: 1HsC4z8X1YkZzcSKZz1t7MXRa7rPi8qChV
|
||||
USDT: TQi3qLVrNGcr6avfVQBXRjpPTyvp5JZ7i2
|
||||
TON: UQA9My51bkGZHbYhbdRZfp6B60N7VJfsnKl0sakgw9YhAPct
|
||||
BTC: 18K6NN8NEavvMJL5Do3VTyJbL8NeZPHo93
|
||||
USDT TRC20: TUZ5szAmRsnvBuC4rFB8RaAoCbN6Ucy4sL
|
||||
```
|
||||
@ -1,56 +1,3 @@
|
||||
;GRID: Autosport
|
||||
;1.4.0RC9, 1.5_46790, 1.8_49215 and 1.8.3_61741 crash, 1.4.1_45339 stucks in infinite loop
|
||||
0100DC800A602000
|
||||
|
||||
;Luigi's Mansion 3
|
||||
;1.0.0-1.4.0 crash
|
||||
0100DCA0064A6000
|
||||
|
||||
;YouTube
|
||||
;Stucks in infinite loop
|
||||
X01003A400C3DA000
|
||||
|
||||
;Alien: Isolation
|
||||
;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
|
||||
|
||||
;Stubbs the Zombie in Rebel Without a Pulse
|
||||
;1.0.0 - 1.0.2 crash on boot
|
||||
X0100964012528000
|
||||
|
||||
;Olympic Games Tokyo 2020 – The Official Video Game
|
||||
;1.0.0 crash on boot
|
||||
010034B00E14C000
|
||||
|
||||
;Mario Strikers: Battle League
|
||||
;1.0.0 crash on boot
|
||||
010019401051C000
|
||||
|
||||
;The Lara Croft Collection
|
||||
;1.0.0 - Games in collection are crashing on boot, only launcher doesn't
|
||||
010079C017F5E001
|
||||
010079C017F5E002
|
||||
|
||||
;Plants vs. Zombies: Battle for Neighborville
|
||||
;1.0.3 crash on boot
|
||||
0100C56010FD8000
|
||||
|
||||
;EA SPORTS FC 24
|
||||
;1.0.0 - v1.55.bc14 crash
|
||||
0100BDB01A0E6000
|
||||
|
||||
;Company of Heroes Collection
|
||||
;1.5_66915 crashes
|
||||
0100ABD0156F8000
|
||||
|
||||
;Donkey Kong Country: Tropical Freeze
|
||||
;Crash at second level
|
||||
X0100C1F0051B6000
|
||||
01003A400C3DA000
|
||||
|
||||
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.
@ -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
|
||||
@ -1,4 +1,4 @@
|
||||
# Rad Rogers: Radical Edition 1.2.0
|
||||
# Rad Rodgers: Radical Edition 1.2.0
|
||||
# BID: 78885A1CA987C04C
|
||||
|
||||
unsafeCheck: true
|
||||
@ -13,3 +13,4 @@ ALL_FPS:
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
|
||||
|
||||
@ -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,25 @@
|
||||
# Gori: Cuddly Carnage 1.0.7
|
||||
# BID: A21FFE97D09DCE4E
|
||||
|
||||
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,33 @@
|
||||
# Jujutsu Kaisen Cursed Clash US 1.4.0
|
||||
# BID: 7C724F497564C027
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8458A48, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x849BF50, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x77DD548, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
# Disable bUseFixedFrameRate
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x849B7A8, 0x9C4]
|
||||
address_unsafe: true
|
||||
value_type: uint32
|
||||
value: 7
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
# Agatha Christie - Hercule Poirot: The First Cases 1.0.3
|
||||
# Agatha Christie - Hercule Poirot: The First Cases 1.0.3/1.0.3.1
|
||||
# BID: 1570FE23108B93C4
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# fixedDeltaTime
|
||||
-
|
||||
|
||||
@ -1,17 +1,62 @@
|
||||
# Batman - The Telltale Series 1.0.4
|
||||
# BID: A3A998AF3252D110
|
||||
|
||||
unsafeCheck: true
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: code
|
||||
name: tripleBuffer
|
||||
instructions: [
|
||||
[stp, x29, x30, [sp, -16], "!"],
|
||||
[mov, x29, sp],
|
||||
[ldr, x0, [x26, 0x10]],
|
||||
[cbz, x0, :goto1],
|
||||
[adrp, x8, 0x1758000],
|
||||
[ldr, x8, [x8, 0x90]],
|
||||
[ldr, x8, [x8]],
|
||||
[blr, x8],
|
||||
[b, :goto2],
|
||||
:goto1, [mov, w0, 0xc0],
|
||||
[bl, 0x735480],
|
||||
[str, x0, [x26, 0x10]],
|
||||
:goto2, [ldr, x22, [x27]],
|
||||
[adrp, x27, 0x1757000],
|
||||
[ldr, x21, [x25]],
|
||||
[ldr, x27, [x27, 0xf38]],
|
||||
[adrp, x23, 0x1758000],
|
||||
[ldr, x8, [x27]],
|
||||
[ldr, x23, [x23, 0xa70]],
|
||||
[mov, x0, x23],
|
||||
[blr, x8],
|
||||
[mov, x2, x0],
|
||||
[mov, x0, x21],
|
||||
[mov, x1, x22],
|
||||
[bl, 0x1a90],
|
||||
[mov, x21, x0],
|
||||
[ldr, x0, [x25]],
|
||||
[bl, 0x1ad0],
|
||||
[ldr, x8, [x28]],
|
||||
[mov, x1, x0],
|
||||
[mov, x0, x23],
|
||||
[mov, x2, x21],
|
||||
[blr, x8],
|
||||
[ldr, x0, [x26, 0x10]],
|
||||
[ldr, x8, [x24]],
|
||||
[mov, x1, x23],
|
||||
[blr, x8],
|
||||
[adrp, x22, 0x1758000],
|
||||
[ldp, x29, x30, [sp], 16],
|
||||
[ret]
|
||||
]
|
||||
|
||||
MASTER_WRITE:
|
||||
# Remove double buffer
|
||||
-
|
||||
type: bytes
|
||||
type: asm_a64
|
||||
main_offset: 0x6440
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x52800062
|
||||
- 0x9B022501
|
||||
instructions: [
|
||||
[mov, w2, 3],
|
||||
[madd, x1, x8, x2, x9]
|
||||
]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xC5A6D8
|
||||
@ -23,66 +68,21 @@ MASTER_WRITE:
|
||||
value_type: uint32
|
||||
value: 0x188CC50
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xC56550
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF9400B40
|
||||
- 0xB40000C0
|
||||
- 0xD0005808
|
||||
- 0xF9404908
|
||||
- 0xF9400108
|
||||
- 0xD63F0100
|
||||
- 0x14000004
|
||||
- 0x321A07E0
|
||||
- 0x97EB7BC4
|
||||
- 0xF9000B40
|
||||
- 0xF9400376
|
||||
- 0xB000581B
|
||||
- 0xF9400335
|
||||
- 0xF9479F7B
|
||||
- 0xD0005817
|
||||
- 0xF9400368
|
||||
- 0xF9453AF7
|
||||
- 0xAA1703E0
|
||||
- 0xD63F0100
|
||||
- 0xAA0003E2
|
||||
- 0xAA1503E0
|
||||
- 0xAA1603E1
|
||||
- 0x97CEAD3A
|
||||
- 0xAA0003F5
|
||||
- 0xF9400320
|
||||
- 0x97CEAD47
|
||||
- 0xF9400388
|
||||
- 0xAA0003E1
|
||||
- 0xAA1703E0
|
||||
- 0xAA1503E2
|
||||
- 0xD63F0100
|
||||
- 0xF9400B40
|
||||
- 0xF9400308
|
||||
- 0xAA1703E1
|
||||
- 0xD63F0100
|
||||
- 0xD0005816
|
||||
- 0x17CEBE43
|
||||
-
|
||||
type: bytes
|
||||
type: asm_a64
|
||||
main_offset: 0x5EE8
|
||||
value_type: uint32
|
||||
value: 0x1431419A
|
||||
instructions: [
|
||||
[bl, _tripleBuffer()]
|
||||
]
|
||||
-
|
||||
type: bytes
|
||||
type: asm_a64
|
||||
main_offset: 0x5FC0
|
||||
value_type: uint32
|
||||
value: 0x52800061
|
||||
instructions: [
|
||||
[mov, w1, 3]
|
||||
]
|
||||
-
|
||||
type: bytes
|
||||
type: asm_a64
|
||||
main_offset: 0x5F8C
|
||||
value_type: uint32
|
||||
value: 0xD2A032A2
|
||||
ALL_FPS:
|
||||
# dummy
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x188CF00]
|
||||
value_type: uint8
|
||||
value: 0
|
||||
instructions: [
|
||||
[mov, x2, 0x1950000]
|
||||
]
|
||||
|
||||
|
||||
@ -0,0 +1,75 @@
|
||||
# 無双アビス 1.4.2
|
||||
# BID: 2D22A87AE49C75AA
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: dr_target1
|
||||
value_type: float
|
||||
default_value: 50
|
||||
evaluate: "1.5 * FRAMETIME_TARGET"
|
||||
-
|
||||
type: variable
|
||||
name: dr_target2
|
||||
value_type: float
|
||||
default_value: 40
|
||||
evaluate: "1.2 * FRAMETIME_TARGET"
|
||||
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: asm_a64
|
||||
main_offset: 0x6E3B50
|
||||
instructions: [
|
||||
[adrp, x1, 0x1021000],
|
||||
[ldr, s1, [x1, 0xe10]]
|
||||
]
|
||||
# Redirect DR Targets
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x6E3BF4
|
||||
instructions: [
|
||||
[adrp, x9, $dr_target1],
|
||||
[ldr, s1, [x9, $dr_target1]]
|
||||
]
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x6E3C04
|
||||
instructions: [
|
||||
[adrp, x9, $dr_target2],
|
||||
[ldr, s1, [x9, $dr_target2]]
|
||||
]
|
||||
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, 0x1021E1C]
|
||||
value_type: uint32
|
||||
value: "120 / FPS_LOCK_TARGET"
|
||||
# Prevent from setting it as 0, otherwise game crashes
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_address: [MAIN, 0x1021E1C]
|
||||
compare_type: "=="
|
||||
compare_value_type: uint32
|
||||
compare_value: 0
|
||||
address: [MAIN, 0x1021E1C]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# Others
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1021E10]
|
||||
value_type: float
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1021E14]
|
||||
value_type: uint32
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1021E18]
|
||||
value_type: float
|
||||
value: "FPS_TARGET"
|
||||
@ -0,0 +1,75 @@
|
||||
# 無双アビス 1.5.0
|
||||
# BID: A9DEA3043D6E0060
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: dr_target1
|
||||
value_type: float
|
||||
default_value: 50
|
||||
evaluate: "1.5 * FRAMETIME_TARGET"
|
||||
-
|
||||
type: variable
|
||||
name: dr_target2
|
||||
value_type: float
|
||||
default_value: 40
|
||||
evaluate: "1.2 * FRAMETIME_TARGET"
|
||||
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: asm_a64
|
||||
main_offset: 0x8B69C0
|
||||
instructions: [
|
||||
[adrp, x1, 0x11F3000],
|
||||
[ldr, s1, [x1, 0xE10]]
|
||||
]
|
||||
# Redirect DR Targets
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x8B6A64
|
||||
instructions: [
|
||||
[adrp, x9, $dr_target1],
|
||||
[ldr, s1, [x9, $dr_target1]]
|
||||
]
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x8B6A74
|
||||
instructions: [
|
||||
[adrp, x9, $dr_target2],
|
||||
[ldr, s1, [x9, $dr_target2]]
|
||||
]
|
||||
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, 0x11F3E1C]
|
||||
value_type: uint32
|
||||
value: "120 / FPS_LOCK_TARGET"
|
||||
# Prevent from setting it as 0, otherwise game crashes
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_address: [MAIN, 0x11F3E1C]
|
||||
compare_type: "=="
|
||||
compare_value_type: uint32
|
||||
compare_value: 0
|
||||
address: [MAIN, 0x11F3E1C]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# Others
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x11F3E10]
|
||||
value_type: float
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x11F3E14]
|
||||
value_type: uint32
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x11F3E18]
|
||||
value_type: float
|
||||
value: "FPS_TARGET"
|
||||
@ -1,8 +1,6 @@
|
||||
# WRC Generations 1.2.2
|
||||
# BID: B8BE1CFAE53CAEBE
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30)
|
||||
-
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
# ぎゃる☆がん りたーんず 1.0.4
|
||||
# BID: 7E65E5BC3564BE46
|
||||
# Buffers are hardcoded into fixed size class, so it's hard to get triple buffer
|
||||
|
||||
ALL_FPS:
|
||||
# FPS Target + FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x16CE8A8, 0x20]
|
||||
value_type: float
|
||||
value: "60 / FPS_TARGET"
|
||||
# Lipsync fix
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1BA0A1C]
|
||||
value_type: uint32
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,26 @@
|
||||
# Borderlands: The Pre-Sequel Ultimate Edition 1.0.1
|
||||
# BID: 090B1F7F7AF35D00
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: dr_frametime_max
|
||||
value_type: float
|
||||
default_value: 33.3
|
||||
evaluate: "0.999 * FRAMETIME_TARGET"
|
||||
-
|
||||
type: variable
|
||||
name: dr_frametime_min
|
||||
value_type: float
|
||||
default_value: 29.97
|
||||
evaluate: "0.8991 * FRAMETIME_TARGET"
|
||||
MASTER_WRITE:
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0xEA60B8
|
||||
instructions: [
|
||||
[adrp, x9, $dr_frametime_max],
|
||||
[ldr, s11, [x9, $dr_frametime_max]],
|
||||
[adrp, x9, $dr_frametime_min],
|
||||
[ldr, s12, [x9, $dr_frametime_min]]
|
||||
]
|
||||
@ -1,8 +1,6 @@
|
||||
# Sniper Elite 4 1.0.3
|
||||
# BID: 4EEA2970DF38ECE1
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Dynamic Resolution frame time target
|
||||
-
|
||||
|
||||
@ -0,0 +1,36 @@
|
||||
# Tiebreak+: Official Game of the ATP and WTA 1.1.0
|
||||
# BID: 2A5244CCB17B44AC
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Triple buffer
|
||||
# REF: 00 40 00 00 00 04 00 00 00 88 00 00 02 00 00 00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1A81E6C
|
||||
value_type: uint32
|
||||
value: 3
|
||||
# Redirect Dynamic Resolution target reading to MAIN + 0x30C2F00
|
||||
# REF: 0C 9A 88 52 0C 6B A7 72
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x147AA94
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x9000E248 # ADRP X8, 0x30C2000
|
||||
- 0xBD4F0103 # LDR S3, [X8, 0xF00]
|
||||
- 0xD503201F # NOP
|
||||
## Default values
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x30C2F00
|
||||
value_type: float
|
||||
value: 0.03333333333
|
||||
ALL_FPS:
|
||||
# Adjust Dynamic Resolution target, we are using this trick because function is overengineered and it's not easy to just use standard 1 / FPS_TARGET
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x30C2F00]
|
||||
value_type: float
|
||||
value: "0.8 / FPS_TARGET"
|
||||
@ -0,0 +1,36 @@
|
||||
# Tiebreak+: Official Game of the ATP and WTA 1.2.0
|
||||
# BID: 5BCA5C20C8F8A9B4
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Triple buffer
|
||||
# REF: 00 40 00 00 00 04 00 00 00 88 00 00 02 00 00 00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1A82EAC
|
||||
value_type: uint32
|
||||
value: 3
|
||||
# Redirect Dynamic Resolution target reading to MAIN + 0x30C3F00
|
||||
# REF: 28 11 91 52 08 A1 A7 72 03 01 27 1E
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x147B474
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x9000E248 # ADRP X8, 0x30C3000
|
||||
- 0xBD4F0103 # LDR S3, [X8, 0xF00]
|
||||
- 0xD503201F # NOP
|
||||
## Default values
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x30C3F00
|
||||
value_type: float
|
||||
value: 0.03333333333
|
||||
ALL_FPS:
|
||||
# Adjust Dynamic Resolution target, we are using this trick because function is overengineered and it's not easy to just use standard 1 / FPS_TARGET
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x30C3F00]
|
||||
value_type: float
|
||||
value: "0.8 / FPS_TARGET"
|
||||
@ -0,0 +1,28 @@
|
||||
# Tiebreak+: Official Game of the ATP and WTA 1.4.0
|
||||
# BID: 612E3D607D2A13BB
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: dr_target
|
||||
value_type: float
|
||||
default_value: 0.03333333333
|
||||
evaluate: "0.8 / FPS_TARGET" # we are using this trick because function is overengineered and it's not easy to just use standard 1 / FPS_TARGET
|
||||
MASTER_WRITE:
|
||||
# Triple buffer
|
||||
# REF: 00 40 00 00 00 04 00 00 00 88 00 00 02 00 00 00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1A8B39C
|
||||
value_type: uint32
|
||||
value: 3
|
||||
# Redirect Dynamic Resolution target reading to MAIN + 0x30C3F00
|
||||
# REF: 28 11 91 52 08 A1 A7 72 03 01 27 1E
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x1483084
|
||||
instructions: [
|
||||
[adrp, x8, $dr_target],
|
||||
[ldr, s3, [x8, $dr_target]],
|
||||
[nop]
|
||||
]
|
||||
@ -0,0 +1,28 @@
|
||||
# Tiebreak+: Official Game of the ATP and WTA 1.3.0
|
||||
# BID: 88CC45A195E0BDA8
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: dr_target
|
||||
value_type: float
|
||||
default_value: 0.03333333333
|
||||
evaluate: "0.8 / FPS_TARGET" # we are using this trick because function is overengineered and it's not easy to just use standard 1 / FPS_TARGET
|
||||
MASTER_WRITE:
|
||||
# Triple buffer
|
||||
# REF: 00 40 00 00 00 04 00 00 00 88 00 00 02 00 00 00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1A82F0C
|
||||
value_type: uint32
|
||||
value: 3
|
||||
# Redirect Dynamic Resolution target reading to MAIN + 0x30C3F00
|
||||
# REF: 28 11 91 52 08 A1 A7 72 03 01 27 1E
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x147BE04
|
||||
instructions: [
|
||||
[adrp, x8, $dr_target],
|
||||
[ldr, s3, [x8, $dr_target]],
|
||||
[nop]
|
||||
]
|
||||
@ -0,0 +1,46 @@
|
||||
# Life is Strange: Before the Storm Remastered 1.0
|
||||
# BID: 30B812AB1BA3D447
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: dr_frametime_max
|
||||
value_type: float
|
||||
default_value: 30
|
||||
evaluate: "0.9 * FRAMETIME_TARGET"
|
||||
-
|
||||
type: variable
|
||||
name: dr_frametime_min
|
||||
value_type: float
|
||||
default_value: 25
|
||||
evaluate: "0.75 * FRAMETIME_TARGET"
|
||||
-
|
||||
type: code
|
||||
name: getDrFrametimeMax
|
||||
instructions: [
|
||||
[adrp, x8, $dr_frametime_max],
|
||||
[ldr, s1, [x8, $dr_frametime_max]],
|
||||
[ret]
|
||||
]
|
||||
-
|
||||
type: code
|
||||
name: getDrFrametimeMin
|
||||
instructions: [
|
||||
[adrp, x8, $dr_frametime_min],
|
||||
[ldr, s1, [x8, $dr_frametime_min]],
|
||||
[ret]
|
||||
]
|
||||
MASTER_WRITE:
|
||||
# REF: 60 2e 40 bd 01 d0 27 1e 00 20 21 1e
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x14FD210
|
||||
instructions: [
|
||||
[bl, _getDrFrametimeMax()]
|
||||
]
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x14FD23C
|
||||
instructions: [
|
||||
[bl, _getDrFrametimeMin()]
|
||||
]
|
||||
@ -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"
|
||||
@ -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,30 @@
|
||||
# S.T.A.L.K.E.R.: Call of Prypiat 1.0.2
|
||||
# BID: BBA39C65C1CC6463
|
||||
|
||||
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: "0.99 * FRAMETIME_TARGET"
|
||||
@ -0,0 +1,11 @@
|
||||
# Tomb Raider: Definitive Edition 1.0.1
|
||||
# BID: 2A4A71E176DAA356
|
||||
|
||||
ALL_FPS:
|
||||
# Dynamic Resolution Frametime Target
|
||||
# REF: E9 F3 00 B2 A9 40 A8 F2 A9 40 E8 F2
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1C2BB00]
|
||||
value_type: float
|
||||
value: FRAMETIME_TARGET
|
||||
@ -0,0 +1,27 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.2.2
|
||||
# BID: 012A8C2C413E79B8
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F57748, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F92210, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x8791EC8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,27 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.2.1
|
||||
# BID: 26C1E658E9B5B612
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F41748, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F7C210, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x877BEC8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,25 @@
|
||||
# ソードアート・オンライン フラクチュアード デイドリーム 1.5.2.0
|
||||
# BID: 2EEE840599DC7021
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8676768, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x86B12E0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x7EB0F88, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,25 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.4.1.1
|
||||
# BID: 33614E4F6B3267B3
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x90A0758, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x90DB2B0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x88DAF88, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,27 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.1.3
|
||||
# BID: 3889588A60E1F399
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8EA4728, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8EDF1F0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x86DEEC8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,27 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.2.0
|
||||
# BID: 46094C03E2EC668B
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F3C748, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F77210, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x8776EC8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,27 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.1.2
|
||||
# BID: 520620FBA0B196A3
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8E95728, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8ED01F0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x86CFEC8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,25 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.3.0
|
||||
# BID: C2F2C4B700B30598
|
||||
|
||||
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,25 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.5.0.0
|
||||
# BID: CA61076D0CE6670D
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x866F768, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x86AA2E0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x7EA9F88, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,18 @@
|
||||
# The Elder Scrolls V: Skyrim 1.1.404.0
|
||||
# BID: 0C0CAC3FCF0F0BEB
|
||||
|
||||
ALL_FPS:
|
||||
# Dynamic Resolution Frame Time Max = 0.99 * (1000/FPS)
|
||||
# REF: 21 0C 02 1F 01 FC 00 BD, third ldr below
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x3357FB0]
|
||||
value_type: float
|
||||
value: "0.99 * FRAMETIME_TARGET"
|
||||
# Dynamic Resolution Frame Time Min = 0.9 * (1000/FPS)
|
||||
# REF: 21 0C 02 1F 01 FC 00 BD, first ldr below
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x3357FC8]
|
||||
value_type: float
|
||||
value: "0.9 * FRAMETIME_TARGET"
|
||||
@ -1,8 +1,6 @@
|
||||
# The Elder Scrolls V: Skyrim 1.1.392.3925134
|
||||
# BID: 4F7995092FAA5DC0
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Dynamic Resolution Frame Time Min = 0.9 * (1000/FPS)
|
||||
-
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
# Breathedge 1.0.2
|
||||
# BID: B26DE1669B729335
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bUseFixedFrameRate
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x55CB668, 0x7F0]
|
||||
address_unsafe: true
|
||||
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
|
||||
@ -0,0 +1,24 @@
|
||||
# Chernobylite 1.1
|
||||
# BID: 2D2065AEBF94F9AE
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x641EAB8, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x644C838, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5C83700, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
@ -0,0 +1,25 @@
|
||||
# Chernobylite 1.2
|
||||
# BID: 657F40EEBD955F31
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x641EAB8, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x644C838, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5C83700, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,25 @@
|
||||
# Tony Hawk's Pro Skater 3 + 4 1.06
|
||||
# BID: 505069EBC0B82A6F
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x77EC4B8, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x781A6A0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x7014598, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,25 @@
|
||||
# Tony Hawk's Pro Skater 3 + 4 1.07
|
||||
# BID: 52DA46C0166A8643
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x77F8148, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7826330, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x7020598, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,27 @@
|
||||
# Tony Hawk's Pro Skater 3 + 4 1.05
|
||||
# BID: 65A9705A4BB35AA2
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x77DD4B8, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x780B6A0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x7006068, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,27 @@
|
||||
# Tony Hawk's Pro Skater 3 + 4 1.0.3
|
||||
# BID: A31FE9B8AF1156D4
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x77CF4B8, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x77FD6A0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6FF83C8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,11 @@
|
||||
# DreadOut Remastered Collection 1.0.2
|
||||
# BID: 725731C74E4CA6A9
|
||||
|
||||
ALL_FPS:
|
||||
# REF: DynamicResolution::.cctor
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x3E01640, 0, 0xB8, 8]
|
||||
address_unsafe: true
|
||||
value_type: double
|
||||
value: [FPS_TARGET, FRAMETIME_TARGET]
|
||||
@ -0,0 +1,25 @@
|
||||
# ウィッチャー3 ワイルドハント コンプリートエディション 4.04b
|
||||
# BID: 4BC4A8A814FD46A4
|
||||
|
||||
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
|
||||
@ -12,7 +12,7 @@ ALL_FPS:
|
||||
value: [FPS_TARGET, FPS_TARGET]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: write
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x71B2BD0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
# Zombie Army 4: Dead War 1.1.1
|
||||
# BID: 12024D08CCFD25EB
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Dynamic Resolution FPS Target
|
||||
-
|
||||
|
||||
@ -0,0 +1,16 @@
|
||||
# Lumo 2 1.0.0.0
|
||||
# BID: 5C2942CCDF0AA6EA
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6BB0EE8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7BC68D0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
@ -1,8 +1,6 @@
|
||||
# The LEGO NINJAGO Movie Video Game 1.0.3
|
||||
# BID: 346959B36CD9F14D
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Block to 30 FPS when prerendered cutscene is played
|
||||
# REF: LegoCutscenes::s_fmvCutsceneAudioInstance
|
||||
@ -12,6 +10,5 @@ ALL_FPS:
|
||||
compare_type: "!="
|
||||
compare_value_type: uint64
|
||||
compare_value: 0
|
||||
address: [MAIN]
|
||||
value_type: refresh_rate
|
||||
value: 30
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
# Five Nights at Freddy's: Secret of the Mimic 1.0.0
|
||||
# BID: 196339C0BADE07C3
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x64D8628, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x64FE0E8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5D0C1D0, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,18 @@
|
||||
# Fate/Samurai Remnant `JPN` 1.3.2
|
||||
# BID: 6C46135714ABB870
|
||||
|
||||
# Disable setting double buffer, REF: 28 63 A8 9B B8 5F 6E 29 2B F7 01 51 B9 83 57 B8
|
||||
MASTER_WRITE:
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x5DB12C
|
||||
instructions: [
|
||||
[mov, w25, 3]
|
||||
]
|
||||
ALL_FPS:
|
||||
# interval, REF: 29 00 80 52 16 00 08 8B 08 A0 8C 52 28 00 A0 72
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x3412388]
|
||||
value_type: int32
|
||||
value: VSYNC_TARGET
|
||||
@ -0,0 +1,10 @@
|
||||
# Beholder 2 1.0.3
|
||||
# BID: 5D3FE9C0FAA44B4C
|
||||
|
||||
ALL_FPS:
|
||||
# UnityEngine.Time::fixedDeltaTime
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x4275238, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
@ -0,0 +1,25 @@
|
||||
# リマザード:ブロークン ポーセリン 2.0.0
|
||||
# BID: 5EFAB20F5C1F0F68
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimals
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x58210E8, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x584D710, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x4CB8880, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,25 @@
|
||||
# Remothered: Broken Porcelain 修道院:破碎的瓷器 2.0.0
|
||||
# BID: 5EFAB20F5C1F0F68
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimals
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x58210E8, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x584D710, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x4CB8880, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,15 @@
|
||||
# OCTOPATH TRAVELER 歧路旅人 1.0.5
|
||||
# BID: 9E6B0D0023F9DB3B
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x50B5698, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,19 @@
|
||||
# PROGRESS ORDERS 1.0.3
|
||||
# BID: 33E7D684796F363B
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x7B26958, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8B1E280, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,11 @@
|
||||
# Atelier Resleriana: The Red Alchemist & the White Guardian 1.2a
|
||||
# BID: 6ACDAEE7DDC5E503
|
||||
|
||||
ALL_FPS:
|
||||
# MagicaCloth2.MagicaManager_TypeInfo
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x777A550, 0xB8, 0, 0x10, 0x20, 0x10]
|
||||
address_unsafe: true
|
||||
value_type: uint32
|
||||
value: "FPS_TARGET + 5"
|
||||
@ -0,0 +1,11 @@
|
||||
# Atelier Resleriana: The Red Alchemist & the White Guardian 1.4
|
||||
# BID: 8593E6008F5A883D
|
||||
|
||||
ALL_FPS:
|
||||
# MagicaCloth2.MagicaManager_TypeInfo
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x778EF80, 0xB8, 0, 0x10, 0x20, 0x10]
|
||||
address_unsafe: true
|
||||
value_type: uint32
|
||||
value: "FPS_TARGET + 5"
|
||||
@ -0,0 +1,11 @@
|
||||
# Atelier Resleriana: The Red Alchemist & the White Guardian 1.3
|
||||
# BID: F140F141FDC4C331
|
||||
|
||||
ALL_FPS:
|
||||
# MagicaCloth2.MagicaManager_TypeInfo
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7760D60, 0xB8, 0, 0x10, 0x20, 0x10]
|
||||
address_unsafe: true
|
||||
value_type: uint32
|
||||
value: "FPS_TARGET + 5"
|
||||
@ -0,0 +1,10 @@
|
||||
# 60 Parsecs! 1.0.10
|
||||
# BID: 12F93E2DBBCFA54F
|
||||
|
||||
ALL_FPS:
|
||||
# UnityEngine.Time::fixedDeltaTime
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x393D5F8, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
@ -0,0 +1,19 @@
|
||||
# Troublemaker 1.0.2
|
||||
# BID: 336E56D09501A52E
|
||||
|
||||
ALL_FPS:
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x5E26958, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x562A778, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,10 @@
|
||||
# The Walking Dead: Destinies 1.3.0.8
|
||||
# BID: 3D3FEFC161B49AB8
|
||||
|
||||
ALL_FPS:
|
||||
# UnityEngine.Time::fixedDeltaTime
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x666C420, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
@ -1,12 +1,11 @@
|
||||
# The Forest Quartet 4.0.2
|
||||
# BID: 47A022F858BA09B1
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# DynamicResolution_TypeInfo
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x4B320A0, 0xB8, 0]
|
||||
address_unsafe: true
|
||||
value_type: double
|
||||
value: ["0.96 * FRAMETIME_TARGET", "(0.96 * FRAMETIME_TARGET) - 0.75"]
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
# Remnant: From The Ashes 1.0.1
|
||||
# BID: 49CF6B0B0A62F9E2
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.MaxGPUTime ((1000/FPS) * 0.93)
|
||||
-
|
||||
|
||||
@ -1,21 +1,39 @@
|
||||
# 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
|
||||
|
||||
MASTER_WRITE:
|
||||
# Remove double buffer
|
||||
-
|
||||
type: bytes
|
||||
type: asm_a64
|
||||
main_offset: 0xAD40FC
|
||||
value_type: uint32
|
||||
value: 0x52800068
|
||||
instructions: [
|
||||
[mov, w8, 3]
|
||||
]
|
||||
# Block switching back to 30 FPS mode on loading screens
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x6173B0
|
||||
instructions: [
|
||||
[nop]
|
||||
]
|
||||
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,10 @@
|
||||
# Figment 1.6.0
|
||||
# BID: 6401F57C7D6D3728
|
||||
|
||||
ALL_FPS:
|
||||
# UnityEngine.Time::fixedDeltaTime
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x450C7C0, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
@ -0,0 +1,31 @@
|
||||
# Dusk Diver 酉閃町 -ダスクダイバー ユウセンチョウ- 1.0.6
|
||||
# BID: FAD1AF4EDC6DB267
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bSmoothFrameRate and bUseFixedFrameRate to untie game speed from framerate and unlock FPS
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5379338, 0x780]
|
||||
address_unsafe: true
|
||||
value_type: uint32
|
||||
# Default is 0x67, bSmoothFrameRate |= 0x20, bUseFixedFrameRate |= 0x40
|
||||
# By writing 7 we are making sure that other flags are maintained:
|
||||
# bAllowMultiThreadedAnimationUpdate |= 4
|
||||
# bOptimizeAnimBlueprintMemberVariableAccess |= 2
|
||||
# bCanBlueprintsTickByDefault |= 1
|
||||
value: 7
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x5354210, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x537A880, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -1,21 +1,41 @@
|
||||
# SONIC FORCES 1.1.0
|
||||
# SONIC FORCES 1.1.0/1.2.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
|
||||
|
||||
MASTER_WRITE:
|
||||
# Remove double buffer
|
||||
## REF: E8 37 00 B9 E8 03 1F 32
|
||||
-
|
||||
type: bytes
|
||||
type: asm_a64
|
||||
main_offset: 0xAD40FC
|
||||
value_type: uint32
|
||||
value: 0x52800068
|
||||
instructions: [
|
||||
[mov, w8, 3]
|
||||
]
|
||||
# Block switching back to 30 FPS mode on loading screens
|
||||
## REF: 08 10 40 F9 48 00 00 B4, replace STR
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x6173B0
|
||||
instructions: [
|
||||
[nop]
|
||||
]
|
||||
ALL_FPS:
|
||||
# FPS target (FPS * 2)
|
||||
# Switch to 60 FPS Mode
|
||||
## REF: 7F 7E 07 A9 6A A2 01 A9, ADRP + LDR below
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x1CAC518, 0x28, 0x20, 0x14]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# FPS target
|
||||
## REF: 00 1D 40 BD 01 D0 37 1E, ADRP + LDR above it
|
||||
-
|
||||
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,19 @@
|
||||
# 옥토패스 트래블러 0 1.0.2
|
||||
# BID: 6070FC72448EE560
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6C5C6E8, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7C7E8E0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,19 @@
|
||||
# Combat Forces 1.0.0
|
||||
# BID: 81C9C793B5370E9B
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x604AC78, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6843A78, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,10 @@
|
||||
# V-Rally 4 JPN 1.2.0
|
||||
# BID: EB8A679B5DDD0060
|
||||
|
||||
ALL_FPS:
|
||||
# OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30)
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x20A0E44]
|
||||
value_type: float
|
||||
value: "FRAMETIME_TARGET - (0.07 * (1000/30))"
|
||||
@ -1,12 +1,83 @@
|
||||
# WARRIORS OROCHI 4 1.0.13
|
||||
# BID: 5C9CCD358BE85FC9
|
||||
# Credits to Hazerou for figuring out the offset
|
||||
# Main offset stores address to start of .bss of NRO
|
||||
## REF: 02 00 00 00 3C 00 00 00
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Without DLC Ultimate Edition installed
|
||||
-
|
||||
type: write
|
||||
type: evaluate_compare
|
||||
compare_value_type: uint64
|
||||
compare_type: "=="
|
||||
compare_value: 0xE2CFDAC9EAC20398
|
||||
compare_address: [MAIN, 0x3AF80, -0x1A92FC0]
|
||||
address: [MAIN, 0x3AF80, -0x934A8]
|
||||
value_type: uint32
|
||||
value: [VSYNC_TARGET, FPS_TARGET]
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_value_type: uint64
|
||||
compare_type: "=="
|
||||
compare_value: 0xE2CFDAC9EAC20398
|
||||
compare_address: [MAIN, 0x3AF80, -0x1A92FC0]
|
||||
address: [MAIN, 0x3AF80, -0x934A0]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_value_type: uint64
|
||||
compare_type: "=="
|
||||
compare_value: 0xE2CFDAC9EAC20398
|
||||
compare_address: [MAIN, 0x3AF80, -0x1A92FC0]
|
||||
address: [MAIN, 0x3AF80, -0x9349C]
|
||||
value_type: uint32
|
||||
value: [VSYNC_TARGET, FPS_TARGET]
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_value_type: uint64
|
||||
compare_type: "=="
|
||||
compare_value: 0xE2CFDAC9EAC20398
|
||||
compare_address: [MAIN, 0x3AF80, -0x1A92FC0]
|
||||
address: [MAIN, 0x3AF80, -0x93494]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
||||
# With DLC Ultimate Edition installed
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_value_type: uint64
|
||||
compare_type: "!="
|
||||
compare_value: 0xE2CFDAC9EAC20398
|
||||
compare_address: [MAIN, 0x3AF80, -0x1A92FC0]
|
||||
address: [MAIN, 0x3AF80, -0x93200]
|
||||
value_type: uint32
|
||||
value: [VSYNC_TARGET, FPS_TARGET]
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_value_type: uint64
|
||||
compare_type: "!="
|
||||
compare_value: 0xE2CFDAC9EAC20398
|
||||
compare_address: [MAIN, 0x3AF80, -0x1A92FC0]
|
||||
address: [MAIN, 0x3AF80, -0x931F8]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_value_type: uint64
|
||||
compare_type: "!="
|
||||
compare_value: 0xE2CFDAC9EAC20398
|
||||
compare_address: [MAIN, 0x3AF80, -0x1A92FC0]
|
||||
address: [MAIN, 0x3AF80, -0x931F4]
|
||||
value_type: int32
|
||||
value: 1
|
||||
value_type: uint32
|
||||
value: [VSYNC_TARGET, FPS_TARGET]
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_value_type: uint64
|
||||
compare_type: "!="
|
||||
compare_value: 0xE2CFDAC9EAC20398
|
||||
compare_address: [MAIN, 0x3AF80, -0x1A92FC0]
|
||||
address: [MAIN, 0x3AF80, -0x931EC]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
# The Witcher 3: Wild Hunt - The Complete Edition `Cartridge only 2` 4.04a-4.04b
|
||||
# BID: 4BC4A8A814FD46A4
|
||||
|
||||
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
|
||||
@ -2,8 +2,6 @@
|
||||
# BID: 3D4E3A9252AA6C63
|
||||
# There are small issues with animations in cutscenes at higher framerates
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock, pointer ref: 00 01 40 F9 E5 03 04 2A
|
||||
-
|
||||
@ -23,6 +21,3 @@ ALL_FPS:
|
||||
address: [MAIN, 0x2AEF6D0, 2554]
|
||||
value_type: uint8
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
|
||||
@ -0,0 +1,27 @@
|
||||
# Grand Theft Auto: Vice City - Definitive Edition 1.0.8
|
||||
# BID: 9151E53EE514B03A
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget (Default is 36.5 ms)
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7608988, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x762D640, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6E7AA00, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -1,13 +1,12 @@
|
||||
# Bakery Simulator 1.1.0
|
||||
# BID: 31A37D73E22F1059
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5F9B6A8, 0x7A4]
|
||||
address_unsafe: true
|
||||
value_type: uint32
|
||||
# Default is 0x47, bUseFixedFrameRate |= 0x40
|
||||
# By writing 7 we are making sure that other flags are maintained:
|
||||
|
||||
@ -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,7 +1,5 @@
|
||||
# The Witcher 3: Wild Hund - Complete Edition 4.04b
|
||||
# BID: D27FD8A515077F34
|
||||
|
||||
unsafeCheck: true
|
||||
# 《巫師 3:狂獵》-完全版 4.04b
|
||||
# BID: 4BC4A8A814FD46A4
|
||||
|
||||
ALL_FPS:
|
||||
# DRGameTargetFrameTimeInMs
|
||||
@ -0,0 +1,58 @@
|
||||
# 삼국지8 REMAKE 1.0.8
|
||||
# BID: 3BA6C7665F67A711
|
||||
# Cursor speed is tied to framerate
|
||||
|
||||
DECLARATIONS:
|
||||
# DON'T PUT ANYTHING BETWEEN - START
|
||||
-
|
||||
type: variable
|
||||
name: fps_lock
|
||||
value_type: uint32
|
||||
default_value: 30
|
||||
evaluate: FPS_LOCK_TARGET
|
||||
-
|
||||
type: variable
|
||||
name: fps_lock2
|
||||
value_type: uint32
|
||||
default_value: 60
|
||||
evaluate: FPS_LOCK_TARGET
|
||||
-
|
||||
type: variable
|
||||
name: game_speed
|
||||
value_type: float
|
||||
default_value: 0.0333333333
|
||||
evaluate: "1/FPS_TARGET"
|
||||
-
|
||||
type: variable
|
||||
name: game_speed2
|
||||
value_type: float
|
||||
default_value: 0.0166666666
|
||||
# DON'T PUT ANYTHING BETWEEN - END
|
||||
-
|
||||
type: code
|
||||
name: fpsLock
|
||||
instructions: [
|
||||
[adrp, x8, $fps_lock],
|
||||
[ldr, w8, [x8, $fps_lock]],
|
||||
[ret]
|
||||
]
|
||||
MASTER_WRITE:
|
||||
# Redirect FPS Lock, REF: A8 EA 00 B9 08 00 40 B9, LDR W8, [X0]
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x1F902CC
|
||||
instructions: [
|
||||
[bl, _fpsLock()]
|
||||
]
|
||||
# Redirect game speed, REF: 08 31 9F 9A 20 79 68 BC 68 6E 41 B9
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x88B320
|
||||
instructions: [
|
||||
[adrp, x8, $game_speed],
|
||||
[ldr, s0, [x8, $game_speed]]
|
||||
]
|
||||
ALL_FPS:
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -1,19 +1,11 @@
|
||||
# Fate/EXTELLA LINK 1.0.2
|
||||
# BID: 97FC79E063E26C9B
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Remove double buffer
|
||||
-
|
||||
type: bytes
|
||||
type: asm_a64
|
||||
main_offset: 0x6B41E4
|
||||
value_type: uint32
|
||||
value: 0xB20007E8
|
||||
ALL_FPS:
|
||||
# DUMMY
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x4740500]
|
||||
value_type: uint8
|
||||
value: 0
|
||||
instructions: [
|
||||
[mov, x8, 0x300000003]
|
||||
]
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
# CRYMACHINA 慟哭奇機 / 크라이마키나 1.2.0
|
||||
# BID: E196E389FD9E0364
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x7538918, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7D33D38, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,10 @@
|
||||
# Escape Academy: The Complete Edition 3.0.6.2
|
||||
# BID: 9E365FE9EC3A52D3
|
||||
|
||||
ALL_FPS:
|
||||
# UnityEngine.Time::fixedDeltaTime
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x54AFB80, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
@ -0,0 +1,25 @@
|
||||
# HOT WHEELS UNLEASHED 2 1.0.11
|
||||
# BID: FE78C7B94C4E791A
|
||||
|
||||
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,25 @@
|
||||
# Anime vs Evil: Apocalypse 1.0
|
||||
# BID: D2EADA78AA71283E
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8DA64D0, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x7DE4978, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8DE1840, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -8,17 +8,17 @@ ALL_FPS:
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1D15228]
|
||||
value_type: int32
|
||||
value: [FPS_LOCK_TARGET, "1"]
|
||||
value: [FPS_LOCK_TARGET, VSYNC_TARGET]
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1D28CB8]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: write
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x2A88DC0]
|
||||
value_type: int32
|
||||
value: 0
|
||||
value: "VSYNC_TARGET - 1"
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
|
||||
@ -1,19 +1,11 @@
|
||||
# GOD EATER 3 2.5.1
|
||||
# BID: C0F144F5139F542E
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Remove double buffer
|
||||
-
|
||||
type: bytes
|
||||
type: asm_a64
|
||||
main_offset: 0xEA22EC
|
||||
value_type: uint32
|
||||
value: 0xB20007E8
|
||||
ALL_FPS:
|
||||
# DUMMY
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0xA7FA900]
|
||||
value_type: uint8
|
||||
value: 0
|
||||
instructions: [
|
||||
[mov, x8, 0x300000003]
|
||||
]
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
# Goat Simulator 3 1.0.7.3
|
||||
# BID: 26AB1CB54DD4508D
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
|
||||
@ -0,0 +1,27 @@
|
||||
# Goat Simulator 3 1.0.7.7
|
||||
# BID: 504EBEAB62E802AD
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x99DC468, 0]
|
||||
value_type: float
|
||||
value: ["0.81 * FRAMETIME_TARGET", "0.81 * FRAMETIME_TARGET"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9A02290, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x920CBF8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
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