Compare commits

..

No commits in common. "main" and "2.2-R3" have entirely different histories.
main ... 2.2-R3

570 changed files with 1837 additions and 12805 deletions

104
README.md
View File

@ -1,33 +1,25 @@
# UltraNX by **[redraz](https://github.com/redraz)**
# Ultra-NX by **[redraz](https://github.com/redraz)**
![](https://github.com/Ultra-NX/Ultra-Resources/raw/main/Ultra.png)
# [English Readme](README_ENG.md)
### [Группа в телеграме](https://t.me/UltraNX) | [Wiki](https://github.com/Ultra-NX/Ultra/wiki)
### [English Readme](README_ENG.md) | [Группа в телеграме](https://t.me/UltraNX) | [Wiki](https://github.com/Ultra-NX/Ultra/wiki)
### Ultra - это функциональная кастомная прошивка для Nintendo Switch, с упором в разгон и улучшенный пользовательский опыт.
### [Ultra 2.4|R2.1](https://github.com/Ultra-NX/UltraNX/releases) Поддерживает HOS 20.1.5 и все ревизии консолей
### [Ultra 2.2](https://github.com/Ultra-NX/Ultra/releases/latest) Поддерживает HOS 18.1.0 и все ревизии консолей
## Особенности Ultra
* Предварительно настроенный OC Switchcraft (Преемник OC-Suite) с пресетами.
* По умолчанию уже есть андервольт, который заметно снижает потребление консоли, и небольшой разгон памяти, который сделает игры плавнее.
* Лучший кастомизатор разгона для Свитч - [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).
* Модульная конструкция. В составе минимум приложений/плагинов/оверлеев, но вы всегда можете поставить еще через комплектный [Updater](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater).
* Кастомная настройка работы системы охлаждения, и пресеты на выбор.
* Кастомный Status Monitor c FPS и системными метриками.
* Регулярные обновления, и активное комьюнити.
* 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.
@ -36,66 +28,65 @@
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-Switchcraft-EOS/releases)**, форк **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - Лоадер атмосферы с разгоном от B3711, позволяет выжать из N.Switch мощность Xbox One. Вовремя обновляется для поддержки новых возможностей Атмосферы.
1. **[OC-Switchcraft](https://discord.com/channels/854839758815363072/1173171845139288114/1253645315429371978)**, форк **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - Лоадер атмосферы с разгоном от B3711, позволяет выжать из N.Switch мощность Xbox One. Вовремя обновляется для поддержки новых возможностей Атмосферы.
1. **Установленные пейлоады**:
* [Lockpick RCM](https://github.com/impeeza/Lockpick_RCMDecScots) - Программа для снятия ключей консоли.
* [Lockpick_RCM](https://sigmapatches.su) - Программа для снятия ключей консоли.
* [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer) - Низкоуровневый файловый менеджер для работы с системой.
1. **Установленные Homebrew**
* [Sphaira](https://github.com/ITotalJustice/sphaira) - Современное Хоумбрю Меню, аналог nx-hbmenu
* [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=1100#entry86288632) - Лучший файловый менеджер, менеджер сохранений и установщик программ на консоль.
* [Daybreak](https://github.com/rashevskyv/kefir/releases/latest) - Программа для обновления системного ПО.
* [DBI](https://github.com/rashevskyv/dbi) - Лучший файловый менеджер, менеджер сохранений и установщик программ на консоль. Если вам нужна другая локализация - в [Updater](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater) есть выбор из EN-RU-PTBR-ZHCN.
1. **Установленные модули**
* [SaltyNX](https://github.com/masagrator/SaltyNX) - Фоновый модуль, позволяющий модифицировать файлы\процессы в консоли, поддерживает плагины. Не совместим с 32-х битными играми (список на гитхабе проекта).
* [sys-clk](https://github.com/halop/OC_Toolkit_SC_EOS) - Модуль отвечающий за разгон процессора, памяти и видеочипа - для лучшей производительности. Периодически меняю версии от разных авторов. Оригинальные авторы: Meha/hanai3Bi, lineon, p-sam.
* [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.
* [sys-clk](https://github.com/hanai3Bi/Switch-OC-Suite) - Модуль отвечающий за разгон процессора, памяти и видеочипа - для лучшей производительности. Периодически меняю версии от разных авторов. Оригинальные авторы: Meha/hanai3Bi, lineon, p-sam.
* [nx-ovlloader](https://github.com/zdm65477730/nx-ovlloader/) - С помощью этого модуля осуществляется переключение установленных модулей.
* [sys-patch](https://sigmapatches.su) - Патчит систему на работу неподписанного софта вместо сигпатчей.
* [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. Немного изменен мной, но без копания в исходниках (Так как они закрыты).
- **`Ultra-Overlay`**, мод [sys-clk](https://github.com/hanai3Bi/Switch-OC-Suite) - Оверлей для управления модулем sys-clk. Немного изменен мной, но без копания в исходниках.
- [Status Monitor](https://github.com/Ultra-NX/Status-Monitor-Overlay), форк [Status Monitor](https://github.com/hanai3Bi/Status-Monitor-Overlay) - Оверлей позволяющий следить за параметрами консоли в реальном времени. Может выступать в качестве счетчика FPS. Сменить пресет Micro-оверлея можно в Updater.
- [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/ppkantorski/ovl-sysmodules) - Оверлей для включения и отключения установленных системных модулей.
- [Sysmodules](https://github.com/WerWolv/ovl-sysmodules/) - Оверлей для включения и отключения установленных системных модулей.
1. **Доступные для скачивания через [Ultra Tuner](https://github.com/Ultra-NX/UltraNX/wiki/Tuner-RU#ultra-tuner)**
1. **Доступные для скачивания через [Updater](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater)**
* Homebrews:
* [DBI](https://4pda.to/forum/index.php?showtopic=939714&st=1100#entry86288632) - Здесь можно скачать DBI или обновить имеющийся.
* [Linkalho](https://gbatemp.net/download/linkalho.38822) - Программа для привязки аккаунта.
* [Linkalho](https://www.gamebrew.org/wiki/Linkalho_Switch) - Программа для привязки аккаунта.
* [Tinfoil](https://tinfoil.io) - Установщик и каталог игр.
* [HB App Store](https://github.com/fortheusers/hb-appstore) - Бесплатный магазин для скачивания Homebrew приложений.
* [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](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, что позволяет быстро узнать результат после изменения таймингов.
* **`MemToolkitNX`** - Бенчмарк и Тестер памяти. Результат сильно зависит от разгона CPU.
* Overlays:
* [Status Monitor Ultra](https://github.com/Ultra-NX/Status-Monitor-Overlay) - Форк Status Monitor для UltraNX, поддерживает много пресетов Micro-оверлея, и обладает рядом уникальных фишек.
* [Tetris](https://github.com/ppkantorski/Tetris-Overlay) - Та самая игра в виде оверлея. Работает только на последних версиях Ultrahand.
* [MasterVolume](https://github.com/averne/MasterVolume) - Регулировка глобальной громкости, позволяет поднять громкость выше максимума. Использовать аккуратно!
* [NX-FanControl](https://github.com/Zathawo/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, что бы не качать отдельно патч для каждой игры через оверлей.
* [DVR Patches](https://github.com/exelix11/dvr-patches) - Патчи SysDVR, работают и без системного модуля, активируя фоновую запись в играх, где это изначально запрещено.
* [Mod Alchemist](https://github.com/ppkantorski/Mod-Alchemist) - Пакет для скачивания, установки и управления модами для игр.
* [TriPlayer](https://github.com/DefenderOfHyrule/TriPlayer) - Хоумбрю-музыкальный плеер, который работает через системный модуль, и может сворачиваться, работая в фоне.
* [Mission Control](https://github.com/ndeadly/MissionControl) - Модуль, позволяющий подключать практически любые геймпады к консоли по Bluetooth.
* [sys-con](https://github.com/o0Zz/sys-con) - Модуль, позволяющий подключать практически любые геймпады к консоли по USB.
* [sys-ftpd](https://github.com/tomvita/sys-ftpd-light) - FTP сервер, работающий на фоне.
1. **Содержимое [Homebrews Pack](https://github.com/Ultra-NX/Ultra/releases/latest)**
*
* [HB App Store](https://github.com/fortheusers/hb-appstore) - Бесплатный магазин для скачивания Homebrew приложений.
* [Tinfoil](https://tinfoil.io) - Установщик и каталог игр.
* [ThemezerNX](https://github.com/suchmememanyskill/themezer-nx) + [NXThemes Installer](https://github.com/exelix11/SwitchThemeInjector) + [Theme Patches](https://github.com/exelix11/theme-patches) - Поиск и установка тем на свитч.
* [Mission Control](https://github.com/ndeadly/MissionControl) - Модуль, позволяющий подключать практически любые геймпады к консоли по Bluetooth.
* [sys-con](https://github.com/o0Zz/sys-con) - Модуль, позволяющий подключать практически любые геймпады к консоли по USB.
## Лицензии
@ -106,19 +97,21 @@
* [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)
[CC-BY-NC-4.0 License](https://github.com/ppkantorski/Ultrahand-Overlay/blob/main/LICENSE)
* [Ultrahand-Overlay](https://github.com/ppkantorski/Ultrahand-Overlay)
## Благодарности
* Meha
* B3711
* ppkantorski
* Meha
* duckbill
* Cooler3D
* rashevskyv
* snupt
* 4PDA
#### А так же - отдельная благодарность администрации и участникам Ultra Group
@ -126,18 +119,15 @@
## Поддержка
Если вам нравится проект, и у вас появилось желание поддержать меня копеечкой - я буду очень благодарен.
У меня в данный момент нет других заработков, так что любая денежная помощь очень ценна для меня.
```
СБП : +79168089980
Альфа : 2200152336577997
Tinkoff : 2200700170486970
Сбер : 2202200513345833
TON: UQA9My51bkGZHbYhbdRZfp6B60N7VJfsnKl0sakgw9YhAPct
BTC: 18K6NN8NEavvMJL5Do3VTyJbL8NeZPHo93
USDT TRC20: TUZ5szAmRsnvBuC4rFB8RaAoCbN6Ucy4sL
```
У меня в данный момент нет других заработков, так что любая денежная помощь очень ценна для меня.
### Tinkoff QR
![](https://github.com/Ultra-NX/Ultra-Resources/raw/main/Tinkoff%20small.png)
![](https://github.com/Ultra-NX/Ultra-Resources/raw/main/Tinkoff%20small.png)
```
TON: UQDioCnnPI5sk4KvxWzfPWsWbAyWCkzwhaYjy8Qpg2QwWMiL
BTC: 1HsC4z8X1YkZzcSKZz1t7MXRa7rPi8qChV
USDT: TQi3qLVrNGcr6avfVQBXRjpPTyvp5JZ7i2
Сбербанк: 2202200513345833
Tinkoff: 2200700170486970
```

View File

@ -1,95 +1,91 @@
# UltraNX by **[redraz](https://github.com/redraz)**
# Ultra-NX by **[redraz](https://github.com/redraz)**
![](https://github.com/Ultra-NX/Ultra-Resources/raw/main/Ultra.png)
### [Telegram group](https://t.me/UltraNX) - Don't be afraid to write in English, we will understand everything and answer you!
#
### [Russian Readme](README.md) | [Telegram group](https://t.me/UltraNX)
### Ultra is a functional custom firmware for Nintendo Switch, with a focus on overclocking and an improved user experience.
### [Ultra 2.4|R2.1](https://github.com/Ultra-NX/UltraNX/releases) Supports HOS 20.1.5 and all console revisions
### [Ultra 2.2](https://github.com/Ultra-NX/Ultra/releases/latest) Supports HOS 18.1.0 and all console revisions
## 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.
* Modular design. A minimum of applications/plugins/overlays are included, but you can always add more via the bundled Updater.
* Manual adjustment of cooling system curves, and presets.
* Custom Status Monitor with FPS and system metrics.
* 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.
## Content of Ultra
## Composition of Ultra
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-Switchcraft-EOS/releases)**, 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://discord.com/channels/854839758815363072/1173171845139288114/1253645315429371978)**, a fork of **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - The overclocked atmosphere loader by B3711, allows you to squeeze the power of the Xbox One out of the N.Switch. Updated in time to support new Atmosphere features.
1. **Installed Payloads**:
* [Lockpick RCM](https://github.com/impeeza/Lockpick_RCMDecScots) - Program for dumping console keys.
* [Lockpick_RCM](https://sigmapatches.su) - Program for dumping console keys.
* [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer) - A low-level file manager for working with the system.
1. **Installed Homebrew**
* [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.
* [Daybreak](https://github.com/Atmosphere-NX/Atmosphere) - A program for updating OS.
* [DBI](https://4pda.to/forum/index.php?showtopic=939714&st=1100#entry86288632) - The best file manager, save manager and program installer on the console.
* [Daybreak](https://github.com/rashevskyv/kefir/releases/latest) - 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.
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.
* [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.
* [sys-clk](https://github.com/hanai3Bi/Switch-OC-Suite) - 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.
* [nx-ovlloader](https://github.com/zdm65477730/nx-ovlloader/) - This module is used to switch the installed modules.
* [sys-patch](https://sigmapatches.su) - Patches the system to run unsigned software instead of sigpatches.
* [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).
- **`Ultra-Overlay`**, a mod of [sys-clk](https://github.com/hanai3Bi/Switch-OC-Suite) - Overlay for controlling sys-clk module. Slightly modified by me, but without digging into sources.
- [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.
- [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/ppkantorski/ovl-sysmodules) - Overlay for enabling and disabling installed system modules.
- [Sysmodules](https://github.com/WerWolv/ovl-sysmodules/) - Overlay for enabling and disabling installed system modules.
1. **Available for download via [Updater](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater)**
* Homebrews:
* [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.
* [Linkalho](https://www.gamebrew.org/wiki/Linkalho_Switch) - 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.
* [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](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.
* **`MemToolkitNX`** - Benchmark and Memory Tester. The result is highly dependent on CPU overclocking.
* Overlays:
* [Status Monitor Ultra](https://github.com/Ultra-NX/Status-Monitor-Overlay) - Status Monitor fork for UltraNX, supports many Micro-overlay presets, and has a number of unique features.
* [Tetris](https://github.com/ppkantorski/Tetris-Overlay/) - "That" game in the form of an overlay. Works only on the latest versions of Ultrahand.
* [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/Zathawo/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.
* [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.
* [Mod Alchemist](https://github.com/ppkantorski/Mod-Alchemist) - A package for downloading, installing, and managing mods for games.
* [sys-ftpd](https://github.com/cathery/sys-ftpd) - FTP server running in background.
* [TriPlayer](https://github.com/DefenderOfHyrule/TriPlayer) - A homebrew music player that runs through the system module, and can minimize while running in the background.
* [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.
* [sys-ftpd](https://github.com/tomvita/sys-ftpd-light) - FTP server running in background.
1. **Contents of the [Homebrews Pack](https://github.com/Ultra-NX/Ultra/releases/latest)**
*
* [HB App Store](https://github.com/fortheusers/hb-appstore) - A free store for downloading Homebrew apps.
* [Tinfoil](https://tinfoil.io) - Installer and game store.
* [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.
* [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.
@ -101,18 +97,20 @@ Listed below are the licenses of those programs that have been modified specific
* [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)
[CC-BY-NC-4.0 License](https://github.com/ppkantorski/Ultrahand-Overlay/blob/main/LICENSE)
* [Ultrahand-Overlay](https://github.com/ppkantorski/Ultrahand-Overlay)
## Credits
* Meha
* B3711
* ppkantorski
* Meha
* duckbill
* Cooler3D
* rashevskyv
* snupt
* 4PDA
#### And also - a special thanks to the administration and members of Ultra Group
@ -122,7 +120,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: UQA9My51bkGZHbYhbdRZfp6B60N7VJfsnKl0sakgw9YhAPct
BTC: 18K6NN8NEavvMJL5Do3VTyJbL8NeZPHo93
USDT TRC20: TUZ5szAmRsnvBuC4rFB8RaAoCbN6Ucy4sL
TON: UQDioCnnPI5sk4KvxWzfPWsWbAyWCkzwhaYjy8Qpg2QwWMiL
BTC: 1HsC4z8X1YkZzcSKZz1t7MXRa7rPi8qChV
USDT: TQi3qLVrNGcr6avfVQBXRjpPTyvp5JZ7i2
```

View File

@ -14,6 +14,10 @@ X01003A400C3DA000
;1.1_46609 - 1.1.4_60709 crash on first loading
010075D00E8BA000
;Grandia Collection
;Only launcher is 64-bit, games are 32-bit
0100E0600BBC8000
;Immortals Fenyx Rising
;1.0.3, 1.3.4 crash
01004A600EC0A000
@ -49,8 +53,4 @@ X0100964012528000
;Donkey Kong Country: Tropical Freeze
;Crash at second level
X0100C1F0051B6000
;Death Road to Canada
;1.0.8 crash
X0100423009358000
X0100C1F0051B6000

View File

@ -1,27 +0,0 @@
# Horizon Chase 2 1.6.6
# BID: D60A7F43A98034BE
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x833A760, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x8B27A30, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x8B02598, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
-
type: block
what: timing

View File

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

@ -1,27 +0,0 @@
# Gori: Cuddly Carnage 1.0.7
# BID: A21FFE97D09DCE4E
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

@ -1,27 +0,0 @@
# Gori: Cuddly Carnage 1.0.5
# BID: EEE598377C0A5966
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x69FDE68, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x6A37938, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x6240AA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,33 +0,0 @@
# Jujutsu Kaisen Cursed Clash US 1.3.0
# BID: 2E7487767D0CA0EE
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x81A5A48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x81E8F50, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x752A248, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x81E87A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing

View File

@ -1,33 +0,0 @@
# Jujutsu Kaisen Cursed Clash US 1.2.0
# BID: 2F33996FD9C81253
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x8069A48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x80ACF50, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x73EE7C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80AC7A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing

View File

@ -1,33 +0,0 @@
# Jujutsu Kaisen Cursed Clash US 1.4.0
# BID: 7C724F497564C027
unsafeCheck: true
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]
value_type: uint32
value: 7
-
type: block
what: timing

View File

@ -1,22 +0,0 @@
# Gal*Gun Returns 1.0.4
# BID: 7E65E5BC3564BE46
# Buffers are hardcoded into fixed size class, so it's hard to get triple buffer
unsafeCheck: true
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

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

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

View File

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

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

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

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

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

@ -1,27 +0,0 @@
# SWORD ART ONLINE Fractured Daydream 1.1.1
# BID: 3AAA28C9CB8367B9
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x8E90728, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x8ECB1F0, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x86CAEC8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

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

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

@ -1,27 +0,0 @@
# SWORD ART ONLINE Fractured Daydream JAP 1.3.0
# BID: C2F2C4B700B30598
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x8FD6748, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9011290, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x8810F08, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,27 +0,0 @@
# Breathedge 1.0.2
# BID: B26DE1669B729335
unsafeCheck: false
ALL_FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x55CB668, 0x7F0]
value_type: uint32
value: 7
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x55CBDE0, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x4E6A7B8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

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

@ -1,24 +0,0 @@
# Chernobylite 1.2
# BID: 657F40EEBD955F31
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

@ -1,12 +0,0 @@
# DreadOut Remastered Collection 1.0.2
# BID: 725731C74E4CA6A9
unsafeCheck: false
ALL_FPS:
# REF: DynamicResolution::.cctor
-
type: evaluate_write
address: [MAIN, 0x3E01640, 0, 0xB8, 8]
value_type: double
value: [FPS_TARGET, FRAMETIME_TARGET]

View File

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

View File

@ -12,7 +12,7 @@ ALL_FPS:
value: [FPS_TARGET, FPS_TARGET]
# t.MaxFPS
-
type: evaluate_write
type: write
address: [MAIN, 0x71B2BD0, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]

View File

@ -1,17 +0,0 @@
# 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
-
type: compare
compare_address: [MAIN, 0x44C3468]
compare_type: "!="
compare_value_type: uint64
compare_value: 0
address: [MAIN]
value_type: refresh_rate
value: 30

View File

@ -1,6 +1,7 @@
# 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
@ -11,27 +12,10 @@ MASTER_WRITE:
main_offset: 0xAD40FC
value_type: uint32
value: 0x52800068
# Block switching back to 30 FPS mode on loading screens
-
type: bytes
main_offset: 0x6173B0
value_type: uint32
value: 0xD503201F
ALL_FPS:
# Switch to 60 FPS Mode
-
type: write
address: [MAIN, 0x1CAC518, 0x28, 0x20, 0x14]
value_type: uint32
value: 1
# FPS target
# FPS target (FPS * 2)
-
type: evaluate_write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: FPS_TARGET
-
type: evaluate_write
address: [MAIN, 0x1C38C28, 0x14C]
value_type: float
value: FPS_TARGET
value: "FPS_TARGET * 2"

View File

@ -1,6 +1,7 @@
# 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
@ -11,27 +12,10 @@ MASTER_WRITE:
main_offset: 0xAD40FC
value_type: uint32
value: 0x52800068
# Block switching back to 30 FPS mode on loading screens
-
type: bytes
main_offset: 0x6173B0
value_type: uint32
value: 0xD503201F
ALL_FPS:
# Switch to 60 FPS Mode
-
type: write
address: [MAIN, 0x1CAC518, 0x28, 0x20, 0x14]
value_type: uint32
value: 1
# FPS target
# FPS target (FPS * 2)
-
type: evaluate_write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: FPS_TARGET
-
type: evaluate_write
address: [MAIN, 0x1C38C28, 0x14C]
value_type: float
value: FPS_TARGET
value: "FPS_TARGET * 2"

View File

@ -19,7 +19,7 @@ ALL_FPS:
value: VSYNC_TARGET
# UI Speed
-
type: evaluate_write
type: write
address: [MAIN, 0x2AEF6D0, 2554]
value_type: uint8
value: FPS_TARGET

View File

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

View File

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

View File

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

View File

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

View File

@ -8,17 +8,17 @@ ALL_FPS:
type: evaluate_write
address: [MAIN, 0x1D15228]
value_type: int32
value: [FPS_LOCK_TARGET, VSYNC_TARGET]
value: [FPS_LOCK_TARGET, "1"]
-
type: evaluate_write
address: [MAIN, 0x1D28CB8]
value_type: float
value: FPS_TARGET
-
type: evaluate_write
type: write
address: [MAIN, 0x2A88DC0]
value_type: int32
value: "VSYNC_TARGET - 1"
value: 0
-
type: block
what: timing

View File

@ -1,27 +0,0 @@
# Goat Simulator 3 1.0.7.1
# BID: 0DE3020411F4232B
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x934C2F8, 0]
value_type: float
value: ["0.81 * FRAMETIME_TARGET", "0.81 * FRAMETIME_TARGET"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9371F70, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x8B7C198, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,27 +0,0 @@
# Goat Simulator 3 1.0.7.3
# BID: 26AB1CB54DD4508D
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x934D2F8, 0]
value_type: float
value: ["0.81 * FRAMETIME_TARGET", "0.81 * FRAMETIME_TARGET"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9372F70, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x8B7D1C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

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

View File

@ -1,27 +0,0 @@
# Goat Simulator 3 1.0.7.6
# BID: 8D4FD57DB7D63120
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x99DD468, 0]
value_type: float
value: ["0.81 * FRAMETIME_TARGET", "0.81 * FRAMETIME_TARGET"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9A03290, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x920DB48, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,27 +0,0 @@
# Goat Simulator 3 1.0.7.4
# BID: A5DA93E6537350D8
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x92FE2F8, 0]
value_type: float
value: ["0.81 * FRAMETIME_TARGET", "0.81 * FRAMETIME_TARGET"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9323F60, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x8B2E1E8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,27 +0,0 @@
# Goat Simulator 3 1.0.7.5
# BID: C606C7DC1C0EC88F
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x954E2F8, 0]
value_type: float
value: ["0.81 * FRAMETIME_TARGET", "0.81 * FRAMETIME_TARGET"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9573F60, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x8D7E218, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,27 +0,0 @@
# Astor: Blade of the Monolith 1.0.2
# BID: 6133D5CC14F51B7A
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x61F0828, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x69BEAD8, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x69EC478, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -1,4 +1,4 @@
# Astor: Blade of the Monolith 1.0.0 / 1.0.1
# Astor: Blade of the Monolith 1.0.0
# BID: C26E93197DEB4004
unsafeCheck: true

View File

@ -1,27 +0,0 @@
# Astor: Blade of the Monolith 1.0.3
# BID: E2AFE5A73F5C0803
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x61F0828, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x69BEAD8, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x69EC478, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -1,4 +1,4 @@
# Farming Simulator 23 Nintendo Switch Edition 1.6.0.0/1.7.0.0
# Farming Simulator 23 Nintendo Switch Edition 1.5.0.0
# BID: 17F37A56B17DD9CC
unsafeCheck: true

View File

@ -1,67 +0,0 @@
# Sherlock Holmes: The Devil's Daughter 1.0.0
# BID: 2B37ED2A971948F3
unsafeCheck: true
MASTER_WRITE:
# Redirect Dynamic Resolution timings to MAIN + 0x3189F00
# 38.0
-
type: bytes
main_offset: 0xFFEAFC
value_type: uint32
value:
- 0xF0010C4A
- 0xBD4F0141
# 22.0
-
type: bytes
main_offset: 0xFFEB0C
value_type: uint32
value:
- 0xBD4F0541
# 43.5
-
type: bytes
main_offset: 0xFFEAD4
value_type: uint32
value:
- 0xF0010C4A
- 0xBD4F0941
# 58.0
-
type: bytes
main_offset: 0xFFEAE4
value_type: uint32
value:
- 0xF0010C4A
- 0xBD4F0D41
# 47.0 | 34.0
-
type: bytes
main_offset: 0xFFEB20
value_type: uint32
value:
- 0xF0010C4B
- 0xBD4F1161
- 0xB94F156C
# Default values:
-
type: bytes
main_offset: 0x3189F00
value_type: float
value: [38.0, 22.0, 43.5, 58.0, 47.0, 34.0]
ALL_FPS:
# UGameEngine::GetMaxTickRate()
# Bool Lock FPS
-
type: write
address: [MAIN, 0x30D1B7C]
value_type: uint8
value: 0
# Dynamic Resolution
-
type: evaluate_write
address: [MAIN, 0x3189F00]
value_type: float
value: ["(38.0 / (1000/30)) * FRAMETIME_TARGET", "(22.0 / (1000/30)) * FRAMETIME_TARGET", "(43.5 / (1000/30)) * FRAMETIME_TARGET", "(58.0 / (1000/30)) * FRAMETIME_TARGET", "(47.0 / (1000/30)) * FRAMETIME_TARGET", "(34.0 / (1000/30)) * FRAMETIME_TARGET"]

View File

@ -1,51 +0,0 @@
# Momotaro Dentetsu: Showa, Heisei, Reiwa mo Teiban! Asia Edition 1.0.1
# BID: B2D4462B71536EC6
unsafeCheck: true
MASTER_WRITE:
# Remove double buffer
-
type: bytes
main_offset: 0x1B630
value_type: uint32
value: 0x52800061
-
type: bytes
main_offset: 0x5774C
value_type: uint32
value: 0x52800061
ALL_FPS:
# REF: 20 59 60 BC
# Internal FPS Lock
-
type: evaluate_write
address: [MAIN, 0xFF7090]
value_type: float
value: [FPS_TARGET, "60 / FPS_TARGET"]
# Blocking game to max 60 FPS because setting game speed ratio below 1 causes glitches
-
type: evaluate_compare
compare_address: [MAIN, 0xFF7090]
compare_type: ">"
compare_value_type: float
compare_value: 60
address: [MAIN, 0xFF7090]
value_type: float
value: 60
-
type: evaluate_compare
compare_address: [MAIN, 0xFF7090]
compare_type: "=="
compare_value_type: float
compare_value: 60
address: [MAIN, 0xFF7094]
value_type: float
value: 1
# Unknown value that is set based on FPS Lock function argument, 0 = 60 FPS, 1 = 30 FPS, 2 = 20 FPS, 3 = 15 FPS
# According to IDA is not used at all, but writing this anyway
-
type: evaluate_write
address: [MAIN, 0x10D8028]
value_type: uint32
value: "VSYNC_TARGET - 1"

View File

@ -1,27 +0,0 @@
# Session: Skate Sim 1.1.4
# BID: F327FFD8C2E85895
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x7247868, 0]
value_type: float
value: ["FRAMETIME_TARGET", "FRAMETIME_TARGET"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x7275438, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x6A7A668, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,27 +0,0 @@
# Gal*Gun 2 1.0.4
# BID: 9CDFB0CD24CAE030
unsafeCheck: false
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x4346990, 0]
value_type: uint32
value: [0, 0]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x44E6DA8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# Disable custom FPS Lock
-
type: write
address: [MAIN, 0x44E6030, 0x764]
value_type: float
value: 0
-
type: block
what: timing

View File

@ -1,27 +0,0 @@
# GUNDAM BREAKER 4 1.9.0
# BID: 0CC82881FF112C6D
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x9F98D48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9FC67E8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x97CADA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,27 +0,0 @@
# GUNDAM BREAKER 4 1.5.0
# BID: F898CCE9C3A291AF
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x9F64D48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9F927E8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x9796F88, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,18 +0,0 @@
# Airhead 1.0.0
# BID: D1D421137AAE1A5E
unsafeCheck: true
ALL_FPS:
# maxFixedDeltaTime, ref: UnityEngine.Time::get_timeScale
-
type: write
address: [MAIN, 0x49617C0, 0x100]
value_type: float
value: 0.0666666666
# fixedDeltaTime
-
type: evaluate_write
address: [MAIN, 0x49617C0, 0x48]
value_type: float
value: "1 / FPS_TARGET"

View File

@ -1,30 +0,0 @@
# S.T.A.L.K.E.R.: Clear Sky 1.0.2
# BID: 227837B490A51033
unsafeCheck: true
ALL_FPS:
# psLoadedFrameLimitFps
-
type: evaluate_write
address: [MAIN, 0x17D4774]
value_type: float
value: FPS_LOCK_TARGET
# psCurrentFrameLimitFps
-
type: evaluate_write
address: [MAIN, 0x17F18E8]
value_type: float
value: FPS_LOCK_TARGET
# psCurrentFrameLimitMs
-
type: evaluate_write
address: [MAIN, 0x1A5F36C]
value_type: float
value: "1000 / FPS_LOCK_TARGET"
# ResolutionInfo::sDynresGPUBudgetMs
-
type: evaluate_write
address: [MAIN, 0x17D4750]
value_type: float
value: "0.99 * FRAMETIME_TARGET"

View File

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

View File

@ -1,30 +0,0 @@
# S.T.A.L.K.E.R.: Clear Sky 1.0.3
# BID: C7E4E6F4167C8E3A
unsafeCheck: true
ALL_FPS:
# psLoadedFrameLimitFps
-
type: evaluate_write
address: [MAIN, 0x17D4774]
value_type: float
value: FPS_LOCK_TARGET
# psCurrentFrameLimitFps
-
type: evaluate_write
address: [MAIN, 0x17F18E8]
value_type: float
value: FPS_LOCK_TARGET
# psCurrentFrameLimitMs
-
type: evaluate_write
address: [MAIN, 0x1A5F36C]
value_type: float
value: "1000 / FPS_LOCK_TARGET"
# ResolutionInfo::sDynresGPUBudgetMs
-
type: evaluate_write
address: [MAIN, 0x17D4750]
value_type: float
value: "FRAMETIME_TARGET - (1/30)"

View File

@ -4,40 +4,25 @@
unsafeCheck: true
MASTER_WRITE:
# Remove FPS Lock
-
type: bytes
main_offset: 0x4835A4
value_type: uint32
value: 0xD503201F
ALL_FPS:
# Switch game to 60 FPS mode
-
type: write
address: [MAIN, 0xF0043C]
value_type: uint32
value: 1
# FPS Target
-
type: evaluate_write
address: [MAIN, 0xED96A8, 0x30]
value_type: uint32
value: "19200000 / FPS_TARGET"
-
type: evaluate_write
address: [MAIN, 0xED96A8, 0x28]
value_type: uint32
value: "1920000 / FPS_TARGET"
value_type: uint64
value: "(FRAMETIME_TARGET / 2) * 19200"
# FPS 2D Game Speed Target
-
type: evaluate_write
address: [MAIN, 0xEFFC60, 0x30]
value_type: float
value: "1 / FPS_TARGET"
value: "0.5 / FPS_TARGET"
# FPS 3D Game Speed Target
-
type: evaluate_write
address: [MAIN, 0xEFFC60, 0x50]
value_type: float
value: "1 / FPS_TARGET"
value: "0.5 / FPS_TARGET"
-
type: block
what: timing

View File

@ -1,27 +0,0 @@
# Expeditions: A Mudrunner Game 1.14.0.0
# BID: 08C88691FFA5407C
# REF: 01 04 0C 5E 00 10 2E 1E
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x36AEF00
-
type: bytes
main_offset: 0x1718A64
value_type: uint32
value:
- 0xD000FCAC # adrp x12, #0x36AE000
- 0xBD4F0182 # ldr s2, [x12, #0xf00]
# default value
-
type: bytes
main_offset: 0x36AEF00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x36AEF00]
value_type: float
value: FRAMETIME_TARGET

View File

@ -1,27 +0,0 @@
# Expeditions: A Mudrunner Game 1.12.0.0
# BID: 225B47BDEC7C2D4E
# REF: 01 04 0C 5E 00 10 2E 1E
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x3623F00
-
type: bytes
main_offset: 0x16AB5C0
value_type: uint32
value:
- 0x9000FBCC
- 0xBD4F0182
# default value
-
type: bytes
main_offset: 0x3623F00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x3623F00]
value_type: float
value: FRAMETIME_TARGET

View File

@ -1,27 +0,0 @@
# Expeditions: A Mudrunner Game 1.16.0.0
# BID: 3DCE80782561A0CA
# REF: 01 04 0C 5E 00 10 2E 1E
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x36B4F00
-
type: bytes
main_offset: 0x171E454
value_type: uint32
value:
- 0xD000FCAC # adrp x12, #0x36B4000
- 0xBD4F0182 # ldr s2, [x12, #0xf00]
# default value
-
type: bytes
main_offset: 0x36B4F00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x36B4F00]
value_type: float
value: FRAMETIME_TARGET

View File

@ -1,27 +0,0 @@
# Expeditions: A Mudrunner Game 1.8.0.0
# BID: A995EDA18F71EA37
# REF: 01 04 0C 5E 00 10 2E 1E
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x3622A00
-
type: bytes
main_offset: 0x16AA1D0
value_type: uint32
value:
- 0x9000FBCC
- 0xB94A018C
# default value
-
type: bytes
main_offset: 0x3622A00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x3622A00]
value_type: float
value: FRAMETIME_TARGET

View File

@ -1,27 +0,0 @@
# Expeditions: A Mudrunner Game 1.10.0.0
# BID: E1426CF1C30E7CC7
# REF: 01 04 0C 5E 00 10 2E 1E
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x3622A00
-
type: bytes
main_offset: 0x16AA560
value_type: uint32
value:
- 0x9000FBCC
- 0xB94A018C
# default value
-
type: bytes
main_offset: 0x3622A00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x3622A00]
value_type: float
value: FRAMETIME_TARGET

View File

@ -1,27 +0,0 @@
# Expeditions: A Mudrunner Game 1.11.0.0
# BID: E28441A322FE29BF
# REF: 01 04 0C 5E 00 10 2E 1E
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x3622F00
-
type: bytes
main_offset: 0x16AA530
value_type: uint32
value:
- 0x9000FBCC
- 0xBD4F0182
# default value
-
type: bytes
main_offset: 0x3622F00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x3622F00]
value_type: float
value: FRAMETIME_TARGET

View File

@ -1,27 +0,0 @@
# Expeditions: A Mudrunner Game 1.13.0.0
# BID: ED20E42E41B58D88
# REF: 01 04 0C 5E 00 10 2E 1E
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x3628F00
-
type: bytes
main_offset: 0x16AFA80
value_type: uint32
value:
- 0xB000FBCC # adrp x12, #0x3628000
- 0xBD4F0182 # ldr s2, [x12, #0xf00]
# default value
-
type: bytes
main_offset: 0x3628F00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x3628F00]
value_type: float
value: FRAMETIME_TARGET

View File

@ -1,33 +0,0 @@
# Jujutsu Kaisen Cursed Clash JP 1.3.0
# BID: 2E7487767D0CA0EE
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x81A5A48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x81E8F50, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x752A248, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x81E87A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing

View File

@ -1,33 +0,0 @@
# Jujutsu Kaisen Cursed Clash JP 1.2.0
# BID: 2F33996FD9C81253
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x8069A48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x80ACF50, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x73EE7C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80AC7A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing

View File

@ -1,33 +0,0 @@
# Jujutsu Kaisen Cursed Clash JP 1.4.0
# BID: 7C724F497564C027
unsafeCheck: true
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]
value_type: uint32
value: 7
-
type: block
what: timing

View File

@ -1,27 +0,0 @@
# DreadOut 2 0.7
# BID: FEEA420683820CD5
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to one decimal
-
type: evaluate_write
address: [MAIN, 0x6C69668, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x6C96FF8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x649B0C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,21 +0,0 @@
# The Bridge Curse 2: The Extrication 1.0.1
# BID: B7F344920B6D140E
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x5DB8968, 0]
value_type: uint32
value: [0, 0]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x65B48B8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

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

View File

@ -1,12 +0,0 @@
# ABYSS SEEKER――What Do You See Deep in Abyss 1.1.0.012
# BID: C17F9C48EEFAB9DF
unsafeCheck: true
ALL_FPS:
# UnityEngine.Time::fixedDeltaTime
-
type: evaluate_write
address: [MAIN, 0x7B48F40, 0x48]
value_type: float
value: "1 / FPS_TARGET"

View File

@ -1,12 +0,0 @@
# ABYSS SEEKER――What Do You See Deep in Abyss 1.2.0.020
# BID: FE67FB035271B5E4
unsafeCheck: true
ALL_FPS:
# UnityEngine.Time::fixedDeltaTime
-
type: evaluate_write
address: [MAIN, 0x7B62100, 0x48]
value_type: float
value: "1 / FPS_TARGET"

View File

@ -1,19 +0,0 @@
# Fate/Samurai Remnant 1.3.2
# BID: 6C46135714ABB870
unsafeCheck: true
# Disable setting double buffer, REF: 28 63 A8 9B B8 5F 6E 29 2B F7 01 51 B9 83 57 B8
MASTER_WRITE:
-
type: bytes
main_offset: 0x5DB12C
value_type: uint32
value: 0x52800079
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

@ -1,12 +0,0 @@
# Shadowverse: Champion's Battle 1.3.0
# BID: 1F936E043FB8C349
unsafeCheck: true
ALL_FPS:
# UnityEngine.Time::fixedDeltaTime
-
type: evaluate_write
address: [MAIN, 0x64DB5C0, 0x48]
value_type: float
value: "1 / FPS_TARGET"

View File

@ -1,60 +0,0 @@
# Amnesia Collection 1.3.0
# BID: F6FB99E54347E740
# Double buffer is hardcoded line by line, it's hard to make it triple
unsafeCheck: true
MASTER_WRITE:
# Redirect FPS Lock and Dynamic Resolution target values to MAIN + 0x21036F00
-
type: bytes
main_offset: 0x13281C
value_type: uint32
value:
- 0x90107828 # ADRP X8, 0x21036000
- 0xF9478108 # LDR X8, [X8, 0xF00]
-
type: bytes
main_offset: 0x3E324C
value_type: uint32
value:
- 0xF0106288 # ADRP X8, 0x21036000
- 0xF9478108 # LDR X8, [X8, 0xF00]
# NOP updating Dynamic Resolution target value
-
type: bytes
main_offset: 0x2D94E8
value_type: uint32
value:
- 0xB0106AE9 # ADRP X9, 0x21036000
- 0xB94F0929 # LDR W9, [X9, 0xF08]
-
type: bytes
main_offset: 0x597C5C
value_type: uint32
value:
- 0xF01054E9 # ADRP X9, 0x21036000
- 0xB94F0929 # LDR W9, [X9, 0xF08]
# Default values
-
type: bytes
main_offset: 0x21036F00
value_type: double
value: 0.03333333333333333
-
type: bytes
main_offset: 0x21036F08
value_type: float
value: 33.333333333333
ALL_FPS:
# FPS Lock
-
type: evaluate_write
address: [MAIN, 0x21036F00]
value_type: double
value: "1 / FPS_TARGET"
-
type: evaluate_write
address: [MAIN, 0x21036F08]
value_type: float
value: FRAMETIME_TARGET

View File

@ -1,27 +0,0 @@
# DRAGON QUEST III HD-2D Remake 1.1.0
# BID: 4F41309B39EEBE5E
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x5AB93E8, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget
-
type: evaluate_write
address: [MAIN, 0x62A5E28, 0]
value_type: float
value: [FRAMETIME_TARGET, FRAMETIME_TARGET]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x62D3B68, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

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

View File

@ -3,6 +3,22 @@
unsafeCheck: true
MASTER_WRITE:
# Redirect reading DR timing in DynamicResolution::UpdateResolution() to MAIN + 0xC88AF00
# only for handheld (default handheld: 31.25 ms, docked: 46.875 ms - probably to block DR from working without disabling it)
-
type: bytes
main_offset: 0x74F5118
value_type: uint32
value:
- 0xB0029CA8
- 0xB94F0108
# Default handheld value
-
type: bytes
main_offset: 0xC88AF00
value_type: uint32
value: 600000
ALL_FPS:
# fixedDeltaTime = 1/FPS
-
@ -15,3 +31,9 @@ ALL_FPS:
address: [MAIN, 0xC809DA0, 0x100]
value_type: float
value: 0.0666666666
# Dynamic Resolution Timing = (0.9375/FPS) * 19200000
-
type: evaluate_write
address: [MAIN, 0xC88AF00]
value_type: uint32
value: "(0.9375 / FPS_TARGET) * 19200000"

View File

@ -1,17 +0,0 @@
# MEGATON MUSASHI W: WIRED 3.2.2
# BID: 1EC3E6373D7DA9A6
unsafeCheck: true
ALL_FPS:
# fixedDeltaTime = 1/FPS
-
type: evaluate_write
address: [MAIN, 0xCAC9F20, 0x48]
value_type: float
value: "1 / FPS_TARGET"
- # maximumDeltaTime = 1/15 (with this setting game will slow down below 15 FPS instead of 30 FPS)
type: write
address: [MAIN, 0xCAC9F20, 0x100]
value_type: float
value: 0.0666666666

View File

@ -3,6 +3,22 @@
unsafeCheck: true
MASTER_WRITE:
# Redirect reading DR timing in DynamicResolution::UpdateResolution() to MAIN + 0xC8C2F00
# only for handheld (default handheld: 31.25 ms, docked: 46.875 ms - probably to block DR from working without disabling it)
-
type: bytes
main_offset: 0x74BF438
value_type: uint32
value:
- 0xF002A008
- 0xB94F0108
# Default handheld value
-
type: bytes
main_offset: 0xC8C2F00
value_type: uint32
value: 600000
ALL_FPS:
# fixedDeltaTime = 1/FPS
-
@ -15,3 +31,9 @@ ALL_FPS:
address: [MAIN, 0xC841820, 0x100]
value_type: float
value: 0.0666666666
# Dynamic Resolution Timing = (0.9375/FPS) * 19200000
-
type: evaluate_write
address: [MAIN, 0xC8C2F00]
value_type: uint32
value: "(0.9375 / FPS_TARGET) * 19200000"

View File

@ -1,17 +0,0 @@
# MEGATON MUSASHI W: WIRED 3.1.2
# BID: 452F9C150D1D17B7
unsafeCheck: true
ALL_FPS:
# fixedDeltaTime = 1/FPS
-
type: evaluate_write
address: [MAIN, 0xc84AD60, 0x48]
value_type: float
value: "1 / FPS_TARGET"
- # maximumDeltaTime = 1/15 (with this setting game will slow down below 15 FPS instead of 30 FPS)
type: write
address: [MAIN, 0xC84AD60, 0x100]
value_type: float
value: 0.0666666666

View File

@ -1,17 +0,0 @@
# MEGATON MUSASHI W: WIRED 3.2.0
# BID: 8286C091117CAECF
unsafeCheck: true
ALL_FPS:
# fixedDeltaTime = 1/FPS
-
type: evaluate_write
address: [MAIN, 0xCAA1720, 0x48]
value_type: float
value: "1 / FPS_TARGET"
- # maximumDeltaTime = 1/15 (with this setting game will slow down below 15 FPS instead of 30 FPS)
type: write
address: [MAIN, 0xCAA1720, 0x100]
value_type: float
value: 0.0666666666

View File

@ -1,12 +0,0 @@
# MEGATON MUSASHI W: WIRED 3.2.3
# BID: D152798E91A87AE7
unsafeCheck: true
ALL_FPS:
# fixedDeltaTime = 1/FPS
-
type: evaluate_write
address: [MAIN, 0xCAC9F20, 0x48]
value_type: float
value: "1 / FPS_TARGET"

View File

@ -1,17 +0,0 @@
# MEGATON MUSASHI W: WIRED 3.1.1
# BID: F1E096F78DFB8263
unsafeCheck: true
ALL_FPS:
# fixedDeltaTime = 1/FPS
-
type: evaluate_write
address: [MAIN, 0xC84AD20, 0x48]
value_type: float
value: "1 / FPS_TARGET"
- # maximumDeltaTime = 1/15 (with this setting game will slow down below 15 FPS instead of 30 FPS)
type: write
address: [MAIN, 0xC84AD20, 0x100]
value_type: float
value: 0.0666666666

View File

@ -1,17 +0,0 @@
# MEGATON MUSASHI W: WIRED 3.1.3
# BID: FF46A0C56BAD0A32
unsafeCheck: true
ALL_FPS:
# fixedDeltaTime = 1/FPS
-
type: evaluate_write
address: [MAIN, 0xC84AD60, 0x48]
value_type: float
value: "1 / FPS_TARGET"
- # maximumDeltaTime = 1/15 (with this setting game will slow down below 15 FPS instead of 30 FPS)
type: write
address: [MAIN, 0xC84AD60, 0x100]
value_type: float
value: 0.0666666666

View File

@ -1,27 +0,0 @@
# MotoGP 24 1.0.5
# BID: 1053EA8AD2A50F15
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x93E6288, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9414770, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x8C137F8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,13 +0,0 @@
# The Legend of Heroes: Trails through Daybreak 1.0.1
# BID: 43D0D0D68A22E370
# Thanks to Stevens for figuring out how FPS Lock is applied
unsafeCheck: true
ALL_FPS:
# REF: 68 EA 50 B9 E0 03 1F 2A 7F B2 00 F9
-
type: evaluate_write
address: [MAIN, 0x548B80, 0x34]
value_type: uint32
value: FPS_LOCK_TARGET

View File

@ -1,36 +0,0 @@
# DOOM 1.4
# BID: 2847991952B3D7AB
unsafeCheck: true
ALL_FPS:
# rs_460Threshold (default is 0.285)
-
type: write
address: [MAIN, 0x594152C]
value_type: float
value: 1
# rs_raiseMilliseconds
-
type: evaluate_write
address: [MAIN, 0x59419EC]
value_type: float
value: "0.966 * FRAMETIME_TARGET"
# rs_dropMilliseconds
-
type: evaluate_write
address: [MAIN, 0x5941954]
value_type: float
value: "0.99 * FRAMETIME_TARGET"
# com_adaptiveTickMaxHz (default is 30)
-
type: evaluate_write
address: [MAIN, 0x66BAF50]
value_type: int32
value: FPS_TARGET
# com_adaptiveTickMinHz (default is 30)
-
type: write
address: [MAIN, 0x66BAEB8]
value_type: int32
value: 15

View File

@ -1,21 +0,0 @@
# Big Helmet Heroes 1.0.3
# BID: 2CF926BBD5D1AB4D
unsafeCheck: true
ALL_FPS:
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x7012260, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x5BB0718, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,356 +0,0 @@
# Xenoblade Chronicles X: Definitive Edition 1.0.2
# BID: 2A720C7CE5C84905
unsafeCheck: true
MASTER_WRITE:
# Dynamic speed mod for stuff like UI, lipsync, grass and rain
## Redirect nvnQueuePresentTexture call to code cave at MAIN+0x1735050
-
type: bytes
main_offset: 0x95EED8
value_type: uint32
value: 0x1437585E
## Code Cave (save floats for speed factor to MAIN+0x47BE268, frametime as FPS in MAIN+0x47BE26C, frametime in s in MAIN+0x47BE270)
-
type: bytes
main_offset: 0x1735050
value_type: uint32
value:
- 0xD63F0100
- 0x97FFF52B
- 0xB0018448
- 0xF9413107
- 0xF9013100
- 0xB5000047
- 0x17C8A79D
- 0xCB070000
- 0x97FFF528
- 0xB0018448
- 0xB9430101
- 0xEB00003F
- 0x5400004B
- 0xAA0103E0
- 0xD2881541
- 0xF2A07F21
- 0xEB00003F
- 0x5400004C
- 0xAA0103E0
- 0x9E630000
- 0xD00005A0
- 0xFD46AC01
- 0x1E611800
- 0xD2807D00
- 0x9E630001
- 0x1E601821
- 0xB0018440
- 0x1E624021
- 0xBD026C01
- 0x1E27D002
- 0x1E211842
- 0xBD026802
- 0xD2807D01
- 0x9E630021
- 0x1E611801
- 0x1E624021
- 0xBD027001
- 0x17C8A77E
## Default values for code cave
-
type: bytes
main_offset: 0x47BE268
value_type: float
value: [1.0, 30.0, 0.033333333333]
-
type: bytes
main_offset: 0x47BE300
value_type: uint32
value: 33333333
## Function 1 to speed factor // Usage unknown
-
type: bytes
main_offset: 0x286968
value_type: uint32
value:
- 0x900229D5
- 0xF9470D00
- 0xBD426AAA
## Function 3 to speed factor // Usage unknown
-
type: bytes
main_offset: 0xA16F00
value_type: uint32
value:
- 0x9001ED40
- 0xBD426808
## Function 4 to FPS // UI Speed
-
type: bytes
main_offset: 0xA1F060
value_type: uint32
value:
- 0xF001ECE0
- 0x1E270100
- 0xBD426C00
## Function 5 to FPS // Usage unknown
-
type: bytes
main_offset: 0x2672DC
value_type: uint32
value:
- 0xF0022A20
- 0x1E270100
- 0x7940D268
- 0xBD426C05
## Function 6 to FPS
-
type: bytes
main_offset: 0x26DB70
value_type: uint32
value:
- 0xB0022A80
- 0xBD426C00
- 0x1E390000
- 0x528000C9
- 0x1AC90808
## Function 7 to Frametime in s // Gameplay + cutscene speed
-
type: bytes
main_offset: 0x1E2924
value_type: uint32
value: 0x90022EE9
-
type: bytes
main_offset: 0x1E2938
value_type: uint32
value: 0xBD427120
# Adjust various elements related to fighting
-
type: bytes
main_offset: 0x1E8F48
value_type: uint32
value: 0x1455308B
## Code cave
-
type: bytes
main_offset: 0x1735174
value_type: uint32
value:
- 0xB0018449
- 0xBD426920
- 0x17AACF74
## Fix gun speed
-
type: bytes
main_offset: 0x30FACC
value_type: uint32
value: 0xD503201F
# Redirect DR Target to MAIN+0x47BEF00
-
type: bytes
main_offset: 0x13A90B4
value_type: uint32
value:
- 0xB001A0A8
- 0xBD4F0100
## Default value
-
type: bytes
main_offset: 0x47BEF00
value_type: float
value: 0.01666666666
# Adjust camera speed rotation dynamically
## Code cave
-
type: bytes
main_offset: 0x1735108
value_type: uint32
value:
- 0xB0018448
- 0xBD426908
- 0x1E200900
- 0x1E202008
- 0x540000AA
- 0x1E214000
- 0x1E21C000
- 0x1E214000
- 0xD65F03C0
- 0x1E21C000
- 0xD65F03C0
## Connect function 1
-
type: bytes
main_offset: 0x1E17A0
value_type: uint32
value: 0x94554E5A
## Connect function 2
-
type: bytes
main_offset: 0x1E17B0
value_type: uint32
value: 0xAD7D03A1
-
type: bytes
main_offset: 0x1E17BC
value_type: uint32
value: 0x94554E53
# Force 1s sleep to synchronize audio if cutscene detected
## Use function responsible for writing type 4 of cutscene
-
type: bytes
main_offset: 0x2FB0D8
value_type: uint32
value: 0x1450E820
### Code cave
-
type: bytes
main_offset: 0x1735158
value_type: uint32
value:
- 0x52800094
- 0xD00045C0
- 0xB90AF414
- 0xD2994000
- 0xF2A77340
- 0x97FFF3D9
- 0x17AF17DB
# Adjust Field Action gauge bar speed
-
type: bytes
main_offset: 0xE5E00
value_type: uint32
value:
- 0xB00236C0
- 0xF000E369
- 0xBD426808
## Fix for FN Site
-
type: bytes
main_offset: 0xE5858
value_type: uint32
value: 0x14593E24
### Code cave
-
type: bytes
main_offset: 0x17350E8
value_type: uint32
value:
- 0xBD40D260
- 0xB0018440
- 0xBD426801
- 0x1E210800
- 0x17A6C1D9
# Fix long jump when not running
-
type: bytes
main_offset: 0x23EF70
value_type: uint32
value: 0x1453D863
## Code cave
-
type: bytes
main_offset: 0x17350FC
value_type: uint32
value:
- 0x1E27D00B
- 0x1E2B296B
- 0x17AC279C
# Adjust QTE Speed
## Code cave
-
type: bytes
main_offset: 0x1735134
value_type: uint32
value:
- 0xB0018454
- 0xBD426A81
- 0x1400001B
-
type: bytes
main_offset: 0x17351A8
value_type: uint32
value:
- 0xBD412262
- 0x1E210841
- 0x17BA4435
## Connect function
-
type: bytes
main_offset: 0x5C6280
value_type: uint32
value: 0x1445BBAD
# Adjust Overdrive counter, Follow Ball speed
## Code cave
-
type: bytes
main_offset: 0x1735180
value_type: uint32
value:
- 0xB0018440
- 0xBD427000
- 0xD65F03C0
## Connect function
-
type: bytes
main_offset: 0x67354
value_type: uint32
value: 0x945B36AB
# Fix fog speed
-
type: bytes
main_offset: 0x296AE0
value_type: uint32
value:
- 0x90022948
- 0xBD426902
- 0x945279B3
## Code cave
-
type: bytes
main_offset: 0x17351B4
value_type: uint32
value:
- 0x1E21C042
- 0x1F020020
- 0xD65F03C0
ALL_FPS:
# FPS Target
-
type: evaluate_write
address: [MAIN, 0x47BE300]
value_type: uint32
value: "FRAMETIME_TARGET * 1000000"
# FPS Lock
# ref: 00 01 00 b9 2a 01 00 b9 c0 03 5f d6
-
type: write
address: [MAIN, 0x1D943A0]
value_type: int32
value: [1, 1]
# DR Target
-
type: evaluate_write
address: [MAIN, 0x47BEF00]
value_type: float
value: "1 / FPS_TARGET"
# Lock game to 30 FPS when complex/prerendered cutscene is played
## Adjusts DR target
-
type: compare
compare_address: [MAIN, 0x1FEFAF4]
compare_value_type: uint32
compare_type: ">"
compare_value: 2
address: [MAIN, 0x47BEF00]
value_type: float
value: 0.03333333333
## Force OS to run at 60 Hz with interval 2
-
type: compare
compare_address: [MAIN, 0x1FEFAF4]
compare_value_type: uint32
compare_type: ">"
compare_value: 2
address: [MAIN]
value_type: refresh_rate
value: 30

View File

@ -1,356 +0,0 @@
# Xenoblade Chronicles X: Definitive Edition 1.0.1
# BID: 3F2425864CF22684
unsafeCheck: true
MASTER_WRITE:
# Dynamic speed mod for stuff like UI, lipsync, grass and rain
## Redirect nvnQueuePresentTexture call to code cave at MAIN+0x1744D90
-
type: bytes
main_offset: 0x96ECD8
value_type: uint32
value: 0x1437582E
## Code Cave (save floats for speed factor to MAIN+0x47CD268, frametime as FPS in MAIN+0x47CD26C, frametime in s in MAIN+0x47CD270)
-
type: bytes
main_offset: 0x1744D90
value_type: uint32
value:
- 0xD63F0100
- 0x97FFF52B
- 0xB0018448
- 0xF9413107
- 0xF9013100
- 0xB5000047
- 0x17C8A7CD
- 0xCB070000
- 0x97FFF528
- 0xB0018448
- 0xB9430101
- 0xEB00003F
- 0x5400004B
- 0xAA0103E0
- 0xD2881541
- 0xF2A07F21
- 0xEB00003F
- 0x5400004C
- 0xAA0103E0
- 0x9E630000
- 0xD00005A0
- 0xFD469C01
- 0x1E611800
- 0xD2807D00
- 0x9E630001
- 0x1E601821
- 0xB0018440
- 0x1E624021
- 0xBD026C01
- 0x1E27D002
- 0x1E211842
- 0xBD026802
- 0xD2807D01
- 0x9E630021
- 0x1E611801
- 0x1E624021
- 0xBD027001
- 0x17C8A7AE
## Default values for code cave
-
type: bytes
main_offset: 0x47CD268
value_type: float
value: [1.0, 30.0, 0.033333333333]
-
type: bytes
main_offset: 0x47CD300
value_type: uint32
value: 33333333
## Function 1 to speed factor // Usage unknown
-
type: bytes
main_offset: 0x2864C8
value_type: uint32
value:
- 0xF0022A35
- 0xF9470D00
- 0xBD426AAA
## Function 3 to speed factor // Usage unknown
-
type: bytes
main_offset: 0xA26D00
value_type: uint32
value:
- 0xF001ED20
- 0xBD426808
## Function 4 to FPS // UI Speed
-
type: bytes
main_offset: 0xA2EE60
value_type: uint32
value:
- 0xF001ECE0
- 0x1E270100
- 0xBD426C00
## Function 5 to FPS // Usage unknown
-
type: bytes
main_offset: 0x266E3C
value_type: uint32
value:
- 0xF0022B20
- 0x1E270100
- 0x7940D268
- 0xBD426C05
## Function 6 to FPS
-
type: bytes
main_offset: 0x26D6D0
value_type: uint32
value:
- 0x90022B00
- 0xBD426C00
- 0x1E390000
- 0x528000C9
- 0x1AC90808
## Function 7 to Frametime in s // Gameplay + cutscene speed
-
type: bytes
main_offset: 0x1E24E4
value_type: uint32
value: 0xF0022F49
-
type: bytes
main_offset: 0x1E24F8
value_type: uint32
value: 0xBD427120
# Adjust various elements related to fighting
-
type: bytes
main_offset: 0x1E8B08
value_type: uint32
value: 0x145570EB
## Code cave
-
type: bytes
main_offset: 0x1744EB4
value_type: uint32
value:
- 0xB0018449
- 0xBD426920
- 0x17AA8F14
## Fix gun speed
-
type: bytes
main_offset: 0x30F62C
value_type: uint32
value: 0xD503201F
# Redirect DR Target to MAIN+0x47CDF00
-
type: bytes
main_offset: 0x13B8DF4
value_type: uint32
value:
- 0xB001A0A8
- 0xBD4F0100
## Default value
-
type: bytes
main_offset: 0x47CDF00
value_type: float
value: 0.01666666666
# Adjust camera speed rotation dynamically
## Code cave
-
type: bytes
main_offset: 0x1744E48
value_type: uint32
value:
- 0xB0018448
- 0xBD426908
- 0x1E200900
- 0x1E202008
- 0x540000AA
- 0x1E214000
- 0x1E21C000
- 0x1E214000
- 0xD65F03C0
- 0x1E21C000
- 0xD65F03C0
## Connect function 1
-
type: bytes
main_offset: 0x1E1360
value_type: uint32
value: 0x94558EBA
## Connect function 2
-
type: bytes
main_offset: 0x1E1370
value_type: uint32
value: 0xAD7D03A1
-
type: bytes
main_offset: 0x1E137C
value_type: uint32
value: 0x94558EB3
# Force 1s sleep to synchronize audio if cutscene detected
## Use function responsible for writing type of cutscene to write its ID if it's 8 or 16 (or 0 for any other) to MAIN+0x47CDFFF
-
type: bytes
main_offset: 0x2FAC38
value_type: uint32
value: 0x14512898
### Code cave
-
type: bytes
main_offset: 0x1744E98
value_type: uint32
value:
- 0x52800094
- 0xD00045C0
- 0xB90AF414
- 0xD2994000
- 0xF2A77340
- 0x97FFF3D9
- 0x17AED763
# Adjust Field Action gauge bar speed
-
type: bytes
main_offset: 0xE5B00
value_type: uint32
value:
- 0x90023740
- 0xD000E3E9
- 0xBD426808
## Fix for FN Site
-
type: bytes
main_offset: 0xE5558
value_type: uint32
value: 0x14597E34
### Code cave
-
type: bytes
main_offset: 0x1744E28
value_type: uint32
value:
- 0xBD40D260
- 0xB0018440
- 0xBD426801
- 0x1E210800
- 0x17A681C9
# Fix long jump when not running
-
type: bytes
main_offset: 0x23EAD0
value_type: uint32
value: 0x145418DB
## Code cave
-
type: bytes
main_offset: 0x1744E3C
value_type: uint32
value:
- 0x1E27D00B
- 0x1E2B296B
- 0x17ABE724
# Adjust QTE Speed
## Code cave
-
type: bytes
main_offset: 0x1744E74
value_type: uint32
value:
- 0xB0018454
- 0xBD426A81
- 0x1400001B
-
type: bytes
main_offset: 0x1744EE8
value_type: uint32
value:
- 0xBD412262
- 0x1E210841
- 0x17BA0261
## Connect function
-
type: bytes
main_offset: 0x5C5870
value_type: uint32
value: 0x1445FD81
# Adjust Overdrive counter, Follow Ball speed
## Code cave
-
type: bytes
main_offset: 0x1744EC0
value_type: uint32
value:
- 0xB0018440
- 0xBD427000
- 0xD65F03C0
## Connect function
-
type: bytes
main_offset: 0x67354
value_type: uint32
value: 0x945B76DB
# Fix fog speed
-
type: bytes
main_offset: 0x296640
value_type: uint32
value:
- 0xF00229A8
- 0xBD426902
- 0x9452BA2B
## Code cave
-
type: bytes
main_offset: 0x1744EF4
value_type: uint32
value:
- 0x1E21C042
- 0x1F020020
- 0xD65F03C0
ALL_FPS:
# FPS Target
-
type: evaluate_write
address: [MAIN, 0x47CD300]
value_type: uint32
value: "FRAMETIME_TARGET * 1000000"
# FPS Lock
# ref: 00 01 00 b9 2a 01 00 b9 c0 03 5f d6
-
type: write
address: [MAIN, 0x1DA33A0]
value_type: int32
value: [1, 1]
# DR Target
-
type: evaluate_write
address: [MAIN, 0x47CDF00]
value_type: float
value: "1 / FPS_TARGET"
# Lock game to 30 FPS when complex/prerendered cutscene is played
## Adjusts DR target
-
type: compare
compare_address: [MAIN, 0x1FFEAF4]
compare_value_type: uint32
compare_type: ">"
compare_value: 1
address: [MAIN, 0x47CDF00]
value_type: float
value: 0.03333333333
## Force OS to run at 60 Hz with interval 2
-
type: compare
compare_address: [MAIN, 0x1FFEAF4]
compare_value_type: uint32
compare_type: ">"
compare_value: 1
address: [MAIN]
value_type: refresh_rate
value: 30

View File

@ -1,27 +0,0 @@
# Romancing SaGa 2: Revenge of the Seven 1.0.2
# BID: 1933FBAFE977FA75
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6D1EA80, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x7BFAC70, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x7C534C0, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

Some files were not shown because too many files have changed in this diff Show More