Compare commits

...

50 Commits
2.3-R1 ... main

Author SHA1 Message Date
redraz
6b00854da6 Ultra 2.7|R3 2026-01-15 02:19:18 +03:00
redraz
a270126d52 modified: README.md 2025-12-10 06:54:51 +03:00
redraz
5a107e599e Plus 2025-12-10 06:54:18 +03:00
redraz
a7853bf3ac Ultra 2.7|R2 2025-12-09 08:14:28 +03:00
redraz
164babb735 Upd 2025-12-05 08:48:58 +03:00
redraz
aaa9c7c28d Fix 2025-12-03 06:31:18 +03:00
redraz
2e2398427c Ultra 2.7|R1 2025-12-02 18:33:48 +03:00
redraz
ef2146f5c4 modified: README.md 2025-11-25 20:50:28 +03:00
redraz
f44fffe49a modified: README.md 2025-11-25 20:27:07 +03:00
redraz
c37dd270f8 modified: README.md 2025-11-18 17:16:55 +03:00
redraz
589be70874 HOS 21 FIX 2025-11-18 15:12:42 +03:00
redraz
baccea8d38 modified: README.md + some files 2025-10-18 00:57:56 +03:00
redraz
6224f511c8 Ultra 2.6|R3 2025-10-17 21:09:28 +03:00
redraz
fe39bfad97 Upd+ 2025-10-01 13:50:13 +03:00
redraz
acd5202a1c Upd 2025-10-01 03:21:47 +03:00
redraz
4f1528875e Returned 2133 MHz RAM OC 2025-09-30 09:39:21 +03:00
redraz
70c5ad578b modified: README.md 2025-09-30 09:20:15 +03:00
redraz
1111230682 Ultra 2.6|R2 2025-09-30 09:18:19 +03:00
redraz
2aa89c39cd Upd4 2025-09-16 16:50:10 +03:00
redraz
6d87b67c86 Upd2 2025-09-09 16:16:31 +03:00
redraz
90908e1cf4 Ultra 2.6|R1 2025-09-05 17:12:01 +03:00
redraz
844a878bfe modified: README.md 2025-08-08 17:35:16 +03:00
redraz
2cf10aa059 Minor edits to readme/files 2025-08-08 17:29:51 +03:00
redraz
85ffded054 Ultra 2.5|R2 2025-08-07 12:14:35 +03:00
redraz
7d6a8eb2b1 modified: README.md 2025-08-02 20:53:08 +03:00
redraz
69db804029 Ultra 2.5|Pre2 2025-08-02 20:41:35 +03:00
redraz
d18b6d94c4 Ultra 2.5|R1 2025-07-18 10:24:32 +03:00
redraz
6c1c55d929 Ultra 2.4|R2.1 UPD 2025-06-22 02:37:27 +03:00
redraz
220ef77d17 Ultra 2.4|R2.1 2025-06-12 11:07:50 +03:00
redraz
ece8bc4858 Update README 2025-06-06 10:59:10 +03:00
redraz
081eaa7c7d Ultra 2.4|R2x 2025-06-05 07:07:30 +03:00
redraz
eda99e7881 Ultra 2.4|R2 2025-06-03 05:12:58 +03:00
redraz
d28855fd34 Upd 2025-05-20 09:18:51 +03:00
redraz
d0b97525a8 Ultra 2.4|R1.1 2025-05-19 23:24:52 +03:00
redraz
bf48033941 Ultra 2.4|R1+ fix 2025-05-16 12:38:42 +03:00
redraz
9adc60b135 Ultra 2.4|R1 2025-05-13 04:27:17 +03:00
redraz
5153b2d17a modified: README.md 2025-05-10 13:01:13 +03:00
redraz
9d661b1d18 modified: README.md 2025-05-10 13:00:05 +03:00
redraz
1fc80bcbdb modified: README.md 2025-05-10 10:44:12 +03:00
redraz
985a53995a Ultra 2.4|RC1 2025-05-10 09:41:45 +03:00
redraz
4e42f73191 modified: README.md 2025-03-26 08:46:53 +03:00
redraz
b144b70918 Ultra 2.3|R4+ 2025-03-26 08:45:47 +03:00
redraz
b546edec8f Fix with old SaltyNX+FPSLocker & minvolt 550 2025-02-04 12:14:04 +03:00
redraz
aacfd99915 modified: README.md 2025-01-24 18:12:45 +03:00
redraz
da2cbbb2f6 Ultra 2.3|R3+ 2025-01-04 17:27:06 +03:00
redraz
9c3765e08c Ultra 2.3|R3 2025-01-04 11:42:49 +03:00
redraz
65461efd23 Ultra 2.3|R2+ 2024-11-22 04:38:50 +03:00
redraz
b9b4dd45c0 modified: README.md 2024-11-15 12:52:10 +03:00
redraz
e1812455bb Ultra 2.3|R2 2024-11-15 12:49:24 +03:00
redraz
73b0904544 Hotfix 2024-10-26 23:29:10 +03:00
1022 changed files with 24227 additions and 3848 deletions

View File

@ -1,4 +1,4 @@
# Ultra-NX by **[redraz](https://github.com/redraz)**
# UltraNX by **[redraz](https://github.com/redraz)**
![](https://github.com/Ultra-NX/Ultra-Resources/raw/main/Ultra.png)
@ -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
![](https://github.com/Ultra-NX/Ultra-Resources/raw/main/Tinkoff%20small.png)
У меня в данный момент нет других заработков, так что любая денежная помощь очень ценна для меня.
```
TON: UQDioCnnPI5sk4KvxWzfPWsWbAyWCkzwhaYjy8Qpg2QwWMiL
BTC: 1HsC4z8X1YkZzcSKZz1t7MXRa7rPi8qChV
USDT: TQi3qLVrNGcr6avfVQBXRjpPTyvp5JZ7i2
СБП (Т-Банк): +79168089980
Сбербанк: 2202200513345833
Tinkoff: 2200700170486970
```
Альфа : 2200152336577997
Т-Банк : 2200700170486970
Сбер : 2202200513345833
TON: UQA9My51bkGZHbYhbdRZfp6B60N7VJfsnKl0sakgw9YhAPct
BTC: 18K6NN8NEavvMJL5Do3VTyJbL8NeZPHo93
USDT TRC20: TUZ5szAmRsnvBuC4rFB8RaAoCbN6Ucy4sL
```
### Т-Банк QR
![](https://github.com/Ultra-NX/Ultra-Resources/raw/main/Tinkoff%20small.png)

View File

@ -1,4 +1,4 @@
# Ultra-NX by **[redraz](https://github.com/redraz)**
# UltraNX by **[redraz](https://github.com/redraz)**
![](https://github.com/Ultra-NX/Ultra-Resources/raw/main/Ultra.png)
@ -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
```

View File

@ -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

View File

@ -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

View File

@ -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

View File

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

View File

@ -0,0 +1,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

View File

@ -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

View File

@ -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
-

View File

@ -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]
]

View File

@ -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"

View File

@ -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"

View File

@ -1,8 +1,6 @@
# WRC Generations 1.2.2
# BID: B8BE1CFAE53CAEBE
unsafeCheck: true
ALL_FPS:
# OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30)
-

View File

@ -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

View File

@ -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]]
]

View File

@ -1,8 +1,6 @@
# Sniper Elite 4 1.0.3
# BID: 4EEA2970DF38ECE1
unsafeCheck: true
ALL_FPS:
# Dynamic Resolution frame time target
-

View File

@ -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"

View File

@ -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"

View File

@ -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]
]

View File

@ -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]
]

View File

@ -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()]
]

View File

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

View File

@ -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)"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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)
-

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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]

View File

@ -1,8 +1,6 @@
# Zombie Army 4: Dead War 1.1.1
# BID: 12024D08CCFD25EB
unsafeCheck: true
ALL_FPS:
# Dynamic Resolution FPS Target
-

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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"]

View File

@ -1,8 +1,6 @@
# Remnant: From The Ashes 1.0.1
# BID: 49CF6B0B0A62F9E2
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.MaxGPUTime ((1000/FPS) * 0.93)
-

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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))"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

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

View File

@ -1,7 +1,5 @@
# The Witcher 3: Wild Hund - Complete Edition 4.04b
# BID: D27FD8A515077F34
unsafeCheck: true
# 《巫師 3狂獵》完全版 4.04b
# BID: 4BC4A8A814FD46A4
ALL_FPS:
# DRGameTargetFrameTimeInMs

View File

@ -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

View File

@ -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]
]

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]
]

View File

@ -1,8 +1,6 @@
# Goat Simulator 3 1.0.7.3
# BID: 26AB1CB54DD4508D
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-

View File

@ -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