mirror of
				https://github.com/Ultra-NX/UltraNX.git
				synced 2025-10-31 03:09:50 +00:00 
			
		
		
		
	Ultra 2.3|R3
This commit is contained in:
		
							parent
							
								
									65461efd23
								
							
						
					
					
						commit
						9c3765e08c
					
				| @ -71,8 +71,8 @@ | |||||||
|       * [Tinfoil](https://tinfoil.io) - Установщик и каталог игр. |       * [Tinfoil](https://tinfoil.io) - Установщик и каталог игр. | ||||||
|       * [HB App Store](https://github.com/fortheusers/hb-appstore) - Бесплатный магазин для скачивания Homebrew приложений. |       * [HB App Store](https://github.com/fortheusers/hb-appstore) - Бесплатный магазин для скачивания Homebrew приложений. | ||||||
|       * [PPSSPP](https://gbatemp.net/threads/ppsspp-switch-standalone-beta.544071/post-10492671) - Эмулятор PSP. |       * [PPSSPP](https://gbatemp.net/threads/ppsspp-switch-standalone-beta.544071/post-10492671) - Эмулятор PSP. | ||||||
|  |       * [Moonlight Switch](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) - Поиск и установка тем на свитч. |       * [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) - Программа для сброса контроллера батареи. Не используйте просто так! |       * [Battery Desync Fix](https://github.com/CTCaer/battery_desync_fix_nx) - Программа для сброса контроллера батареи. Не используйте просто так! | ||||||
|       * [MemToolkitNX](https://discord.com/channels/854839758815363072/1173171845139288114/1276196700750479480) - Бенчмарк и Тестер памяти. Результат сильно зависит от разгона CPU. |       * [MemToolkitNX](https://discord.com/channels/854839758815363072/1173171845139288114/1276196700750479480) - Бенчмарк и Тестер памяти. Результат сильно зависит от разгона CPU. | ||||||
|    * Overlays: |    * Overlays: | ||||||
|  | |||||||
| @ -68,7 +68,6 @@ | |||||||
|       * [HB App Store](https://github.com/fortheusers/hb-appstore) - A free store for downloading Homebrew apps. |       * [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. |       * [PPSSPP](https://gbatemp.net/threads/ppsspp-switch-standalone-beta.544071/post-10492671) - PSP emulator. | ||||||
|       * [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. |       * [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! |       * [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`** - Benchmark and Memory Tester. The result is highly dependent on CPU overclocking. | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -0,0 +1,30 @@ | |||||||
|  | # S.T.A.L.K.E.R.: Call of Prypiat 1.0.2 | ||||||
|  | # BID: BBA39C65C1CC6463 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # psLoadedFrameLimitFps | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x17F9784] | ||||||
|  |     value_type: float | ||||||
|  |     value: FPS_LOCK_TARGET | ||||||
|  |   # psCurrentFrameLimitFps | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x18168A0] | ||||||
|  |     value_type: float | ||||||
|  |     value: FPS_LOCK_TARGET | ||||||
|  |   # psCurrentFrameLimitMs | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x1A8490C] | ||||||
|  |     value_type: float | ||||||
|  |     value: "1000 / FPS_LOCK_TARGET" | ||||||
|  |   # ResolutionInfo::sDynresGPUBudgetMs | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x17F9760] | ||||||
|  |     value_type: float | ||||||
|  |     value: "0.99 * FRAMETIME_TARGET" | ||||||
| @ -0,0 +1,24 @@ | |||||||
|  | # Chernobylite 1.1 | ||||||
|  | # BID: 2D2065AEBF94F9AE | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # r.DynamicRes.FrameTimeBudget | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x641EAB8, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x644C838, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x5C83700, 0] | ||||||
|  |     value_type: int32 | ||||||
|  |     value: [0, 0] | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # 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 | ||||||
| @ -1,4 +1,4 @@ | |||||||
| # Farming Simulator 23 Nintendo Switch Edition 1.6.0.0 | # Farming Simulator 23 Nintendo Switch Edition 1.6.0.0/1.7.0.0 | ||||||
| # BID: 17F37A56B17DD9CC | # BID: 17F37A56B17DD9CC | ||||||
| 
 | 
 | ||||||
| unsafeCheck: true | unsafeCheck: true | ||||||
|  | |||||||
| @ -0,0 +1,51 @@ | |||||||
|  | # 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" | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # 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 | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # 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 | ||||||
| @ -0,0 +1,30 @@ | |||||||
|  | # 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" | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | # 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" | ||||||
| @ -0,0 +1,17 @@ | |||||||
|  | # 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 | ||||||
| @ -0,0 +1,17 @@ | |||||||
|  | # 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 | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | # 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" | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # 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 | ||||||
| @ -0,0 +1,30 @@ | |||||||
|  | # S.T.A.L.K.E.R.: Shadow Of Chornobyl 1.0.2 | ||||||
|  | # BID: 8E8BFFE66292CFF1 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # psLoadedFrameLimitFps | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x165F4EC] | ||||||
|  |     value_type: float | ||||||
|  |     value: FPS_LOCK_TARGET | ||||||
|  |   # psCurrentFrameLimitFps | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x167B9F0] | ||||||
|  |     value_type: float | ||||||
|  |     value: FPS_LOCK_TARGET | ||||||
|  |   # psCurrentFrameLimitMs | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x18E7ACC] | ||||||
|  |     value_type: float | ||||||
|  |     value: "1000 / FPS_LOCK_TARGET" | ||||||
|  |   # ResolutionInfo::sDynresGPUBudgetMs | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x165F2F0] | ||||||
|  |     value_type: float | ||||||
|  |     value: "0.99 * FRAMETIME_TARGET" | ||||||
| @ -0,0 +1,38 @@ | |||||||
|  | # REYNATIS (US/EU) 1.0.6 | ||||||
|  | # BID: 25A4C89527E7A6E6 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | MASTER_WRITE: | ||||||
|  |   # Redirect reading DR timing in DynamicResolution::LowerResSW() to MAIN + 0x7C0DF00 | ||||||
|  |   # REF: 01 f0 67 1e | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x391CEEC | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: # 941702B0 818247FD 1020611E 6922482D CD020054 6A6240BD | ||||||
|  |       - 0xB0021794 # adrp x20, #0x7c0d000 | ||||||
|  |       - 0xFD478281 # ldr d1, [x20, #0xf00] | ||||||
|  |       - 0x1E612010 # fcmpe d0, d1 | ||||||
|  |       - 0x2D482269 # ldp s9, s8, [x19, #0x40] | ||||||
|  |       - 0x540002CD # b.le #0x391cf54 | ||||||
|  |       - 0xBD40626A # ldr s10, [x19, #0x60] | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x391CF54 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value:  | ||||||
|  |       - 0xFD478681 # ldr d1, [x20, #0xf08] | ||||||
|  |   # Default handheld value | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x7C0DF00 | ||||||
|  |     value_type: double | ||||||
|  |     value: [31, 29] | ||||||
|  | ALL_FPS: | ||||||
|  |   # Dynamic Resolution Timing | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x7C0DF00] | ||||||
|  |     value_type: double | ||||||
|  |     value: ["0.93 * FRAMETIME_TARGET", "(0.93 * FRAMETIME_TARGET) - 2"] | ||||||
| @ -0,0 +1,38 @@ | |||||||
|  | # REYNATIS (US/EU) 1.0.7 | ||||||
|  | # BID: 7C8FE1FD610E1F1F | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | MASTER_WRITE: | ||||||
|  |   # Redirect reading DR timing in DynamicResolution::LowerResSW() to MAIN + 0x7C0DF00 | ||||||
|  |   # REF: 01 f0 67 1e | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x391CEEC | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: # 941702B0 818247FD 1020611E 6922482D CD020054 6A6240BD | ||||||
|  |       - 0xB0021794 # adrp x20, #0x7c0d000 | ||||||
|  |       - 0xFD478281 # ldr d1, [x20, #0xf00] | ||||||
|  |       - 0x1E612010 # fcmpe d0, d1 | ||||||
|  |       - 0x2D482269 # ldp s9, s8, [x19, #0x40] | ||||||
|  |       - 0x540002CD # b.le #0x391cf54 | ||||||
|  |       - 0xBD40626A # ldr s10, [x19, #0x60] | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x391CF54 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value:  | ||||||
|  |       - 0xFD478681 # ldr d1, [x20, #0xf08] | ||||||
|  |   # Default handheld value | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x7C0DF00 | ||||||
|  |     value_type: double | ||||||
|  |     value: [31, 29] | ||||||
|  | ALL_FPS: | ||||||
|  |   # Dynamic Resolution Timing | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x7C0DF00] | ||||||
|  |     value_type: double | ||||||
|  |     value: ["0.93 * FRAMETIME_TARGET", "(0.93 * FRAMETIME_TARGET) - 2"] | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | # EA SPORTS FC 25 1.75.9499 | ||||||
|  | # BID: 27BDC0166D5D5A1B | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # Internal FPS Lock | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0xCE1DA68, 8] | ||||||
|  |     value_type: double | ||||||
|  |     value: FPS_TARGET | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # Funko Fusion 2.3.0 | ||||||
|  | # BID: E6B427227FED8411 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |  # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x74BEA68, 0] | ||||||
|  |     value_type: int32 | ||||||
|  |     value: [0, 0] | ||||||
|  |   # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x849A078, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x84C7F60, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # Funko Fusion 2.4.0 | ||||||
|  | # BID: F0787926C4CFF8F1 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |  # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x74FBA68, 0] | ||||||
|  |     value_type: int32 | ||||||
|  |     value: [0, 0] | ||||||
|  |   # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x84D7078, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x8504F60, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,21 @@ | |||||||
|  | # Tales of Kenzera: TAU 1.5.0 | ||||||
|  | # BID: 9E7FB72540D748BA | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x6917E78, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x611ADC8, 0] | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: [0, 0] | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,28 @@ | |||||||
|  | # SONIC X SHADOW GENERATIONS Launcher / SHADOW GENERATIONS 1.1.0 | ||||||
|  | # BID: C8CDBFD621A6B29B | ||||||
|  | 
 | ||||||
|  | # FPS Lock is used to determine dynamic resolution timing too, but it doesn't work properly when setting higher FPS. | ||||||
|  | # DR Timing Fix is applied for anything above 30 FPS as it seems to fix the most notorious issue - stucking at 360p. | ||||||
|  | # Turn off Window Sync for better performance | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # Internal FPS Lock | ||||||
|  |   # REF: C8 AA 8A 52 A8 30 A8 72 first ADRP above it | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x3EAB7B8, 0x14] | ||||||
|  |     value_type: float | ||||||
|  |     value: FPS_TARGET | ||||||
|  |   # DR Timing fix, applied only for handheld | ||||||
|  |   # Ref: 00 01 3F D6 B4 02 00 F9 E0 03 13 AA 01 3E 80 52 first ADRP above it | ||||||
|  |   - | ||||||
|  |     type: evaluate_compare | ||||||
|  |     compare_address: [MAIN, 0x3EAB7E0, 0x18, 0x260, 0x24] | ||||||
|  |     compare_value_type: float | ||||||
|  |     compare_type: "==" | ||||||
|  |     compare_value: -2.8 | ||||||
|  |     address: [MAIN, 0x3EAB7E0, 0x18, 0x260, 0x24] | ||||||
|  |     value_type: float | ||||||
|  |     value: ["-1.4 * VSYNC_TARGET", "-0.6 * VSYNC_TARGET", "0.025 * VSYNC_TARGET", "0.04 * VSYNC_TARGET", "0.05 * VSYNC_TARGET", "0.15 * VSYNC_TARGET"] | ||||||
| @ -1,4 +1,4 @@ | |||||||
| # SONIC GENERATIONS 1.0.1 | # SONIC GENERATIONS 1.0.1/1.1.0 | ||||||
| # BID: D91C67509C6AED8D | # BID: D91C67509C6AED8D | ||||||
| 
 | 
 | ||||||
| unsafeCheck: true | unsafeCheck: true | ||||||
|  | |||||||
| @ -0,0 +1,21 @@ | |||||||
|  | # Cassette Beasts 1.7.2 | ||||||
|  | # BID: 153D5A2ABB9C0BA6 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # physics/common/physics_fps | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x30AAAE0, 0x24] | ||||||
|  |     value_type: int32 | ||||||
|  |     value: FPS_TARGET | ||||||
|  |   # debug/settings/fps/force_fps | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x30AAAE0, 0x30] | ||||||
|  |     value_type: int32 | ||||||
|  |     value: FPS_LOCK_TARGET | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,21 @@ | |||||||
|  | # Cassette Beasts 1.7.1 | ||||||
|  | # BID: F09EAE79357E3032 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # physics/common/physics_fps | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x30AAAE0, 0x24] | ||||||
|  |     value_type: int32 | ||||||
|  |     value: FPS_LOCK_TARGET | ||||||
|  |   # debug/settings/fps/force_fps | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x30AAAE0, 0x30] | ||||||
|  |     value_type: int32 | ||||||
|  |     value: FPS_LOCK_TARGET | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,21 @@ | |||||||
|  | # Twilight Survivors 1.0.10 | ||||||
|  | # BID: E3FBEB5A9C7788CD | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x6583898, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x5D87128, 0] | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: [0, 0] | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # F1 Manager 2024 1.10 | ||||||
|  | # BID: 8A9EBE9FC405A31C | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x7FC8A28, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x8002AA0, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x7805AA8, 0] | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: [0, 0] | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # LEGO Horizon Adventures 1.2.0 | ||||||
|  | # BID: 675538722EE1FACB | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x9134990, 0] | ||||||
|  |     value_type: int32 | ||||||
|  |     value: [0, 0] | ||||||
|  |   # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0xA103148, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0xA13DAF0, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # LEGO Horizon Adventures 1.3.0 | ||||||
|  | # BID: B3DFF885ABB66B5C | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x913A990, 0] | ||||||
|  |     value_type: int32 | ||||||
|  |     value: [0, 0] | ||||||
|  |   # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0xA109148, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0xA143AF0, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -1,7 +1,7 @@ | |||||||
| # Xenoblade Chronicles 3 2.2.0 | # Xenoblade Chronicles 3 2.2.0 | ||||||
| # BID: 82D187FE9EF9BE92 | # BID: 82D187FE9EF9BE92 | ||||||
| 
 | 
 | ||||||
| unsafeCheck: true | unsafeCheck: false | ||||||
| 
 | 
 | ||||||
| MASTER_WRITE: | MASTER_WRITE: | ||||||
|   # Redirect DR frametime target reading to .bss code cave [MAIN, 0x236AB00] |   # Redirect DR frametime target reading to .bss code cave [MAIN, 0x236AB00] | ||||||
| @ -72,35 +72,7 @@ ALL_FPS: | |||||||
|     compare_value: 0 |     compare_value: 0 | ||||||
|     address: [MAIN, 0x236AB00] |     address: [MAIN, 0x236AB00] | ||||||
|     value_type: float |     value_type: float | ||||||
|     value: "(1 / 30) / 2" |     value: "((1 / 30) / 2) * 0.78" | ||||||
|   - |  | ||||||
|     type: evaluate_compare |  | ||||||
|     compare_address: [MAIN, 0x1BA1A98] |  | ||||||
|     compare_type: "!=" |  | ||||||
|     compare_value_type: int8 |  | ||||||
|     compare_value: 0 |  | ||||||
|     address: [MAIN, 0x1BA1A90, 128] |  | ||||||
|     value_type: float |  | ||||||
|     value: "(1 / 30) / 2" |  | ||||||
| ALL_REFRESH_RATES: |  | ||||||
|   - |  | ||||||
|     type: compare |  | ||||||
|     compare_address: [MAIN, 0x1BA1A98] |  | ||||||
|     compare_type: "!=" |  | ||||||
|     compare_value_type: int8 |  | ||||||
|     compare_value: 0 |  | ||||||
|     address: [MAIN, 0x1B42DB0] |  | ||||||
|     value_type: int32 |  | ||||||
|     value: [1, 1] |  | ||||||
|   - |  | ||||||
|     type: evaluate_compare |  | ||||||
|     compare_address: [MAIN, 0x1BA1A98] |  | ||||||
|     compare_type: "!=" |  | ||||||
|     compare_value_type: int8 |  | ||||||
|     compare_value: 0 |  | ||||||
|     address: [MAIN, 0x236AB00] |  | ||||||
|     value_type: float |  | ||||||
|     value: "1 / 30" |  | ||||||
|   - |   - | ||||||
|     type: evaluate_compare |     type: evaluate_compare | ||||||
|     compare_address: [MAIN, 0x1BA1A98] |     compare_address: [MAIN, 0x1BA1A98] | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| # Stray 1.6.0 | # Stray 1.6.0 | ||||||
| # BID: 109D974E180A5AA1 | # BID: 109D974E180A5AA1 | ||||||
| 
 | 
 | ||||||
| unsafeCheck: true | unsafeCheck: false | ||||||
| 
 | 
 | ||||||
| ALL_FPS: | ALL_FPS: | ||||||
|   # Disable bUseFixedFrameRate |   # Disable bUseFixedFrameRate | ||||||
|  | |||||||
| @ -95,8 +95,8 @@ MASTER_WRITE: | |||||||
|       - 0xF9464422 |       - 0xF9464422 | ||||||
|       - 0xF9064420 |       - 0xF9064420 | ||||||
|       - 0xCB020000 |       - 0xCB020000 | ||||||
|       - 0x528502A2 |       - 0xD503201F | ||||||
|       - 0x72A00FE2 |       - 0xB94D0822 | ||||||
|       - 0x52881541 |       - 0x52881541 | ||||||
|       - 0x72A07F21 |       - 0x72A07F21 | ||||||
|       - 0xEB01001F |       - 0xEB01001F | ||||||
| @ -193,6 +193,12 @@ MASTER_WRITE: | |||||||
|     main_offset: 0x2D65C94 |     main_offset: 0x2D65C94 | ||||||
|     value_type: int32 |     value_type: int32 | ||||||
|     value: -2 |     value: -2 | ||||||
|  |   # Default min delta | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x2D65D08 | ||||||
|  |     value_type: int32 | ||||||
|  |     value: 33333333 | ||||||
| ALL_FPS: | ALL_FPS: | ||||||
|   # DR GPU Time Factor |   # DR GPU Time Factor | ||||||
|   - |   - | ||||||
| @ -200,13 +206,18 @@ ALL_FPS: | |||||||
|     address: [MAIN, 0x2D65C80] |     address: [MAIN, 0x2D65C80] | ||||||
|     value_type: float |     value_type: float | ||||||
|     value: "(FPS_TARGET / 30) * 0.001" |     value: "(FPS_TARGET / 30) * 0.001" | ||||||
|  |   # Set Min delta | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x2D65D08] | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: "FRAMETIME_TARGET * 1000000" | ||||||
|   # Default vsync |   # Default vsync | ||||||
|   - |   - | ||||||
|     type: evaluate_write |     type: evaluate_write | ||||||
|     address: [MAIN, 0x2D65C94] |     address: [MAIN, 0x2D65C94] | ||||||
|     value_type: int32 |     value_type: int32 | ||||||
|     value: "VSYNC_TARGET * -1" |     value: "VSYNC_TARGET * -1" | ||||||
| ALL_REFRESH_RATES: |  | ||||||
|   # Prerendered cutscenes must be played at 30 FPS |   # Prerendered cutscenes must be played at 30 FPS | ||||||
|   - |   - | ||||||
|     type: compare |     type: compare | ||||||
|  | |||||||
| @ -0,0 +1,34 @@ | |||||||
|  | # No Man's Sky 5.2.9 | ||||||
|  | # BID: 1FEBABDBBDE0228B | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | MASTER_WRITE: | ||||||
|  |   # REF: A8 AA 8A 52 A8 40 A8 72 | ||||||
|  |   # NOP "CMP W8, #0" before ref | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x1F9CEC8 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: 0xD503201F  | ||||||
|  |   # Redirect DR frametime target to MAIN+0x4964F00 | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x1F9CED4 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: # 52 4E 01 90 08 00 40 B9 40 02 4F BD | ||||||
|  |       - 0x90014E52 # adrp x18, #0x4964000 | ||||||
|  |       - 0xB9400008 # ldr w8, [x0] | ||||||
|  |       - 0xBD4F0240 # ldr s0, [x18, #0xf00] | ||||||
|  |   # default value | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x4964F00 | ||||||
|  |     value_type: float | ||||||
|  |     value: 33.3333333333 | ||||||
|  | ALL_FPS: | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x4964F00] | ||||||
|  |     value_type: float | ||||||
|  |     value: FRAMETIME_TARGET | ||||||
| @ -0,0 +1,32 @@ | |||||||
|  | # No Man's Sky 5.2.8 | ||||||
|  | # BID: 6488A67709988BD7 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | MASTER_WRITE: | ||||||
|  | # Redirect DR frametime target to MAIN+0x4963F00 | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x1F9D198 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: 0xD503201F | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x1F9D1A4 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value:  | ||||||
|  |       - 0xD0014E32 | ||||||
|  |       - 0xB9400408 | ||||||
|  |       - 0xBD4F0240 | ||||||
|  |   # default value | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x4963F00 | ||||||
|  |     value_type: float | ||||||
|  |     value: 33.3333333333 | ||||||
|  | ALL_FPS: | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x4963F00] | ||||||
|  |     value_type: float | ||||||
|  |     value: FRAMETIME_TARGET | ||||||
| @ -0,0 +1,32 @@ | |||||||
|  | # No Man's Sky 5.2.6 | ||||||
|  | # BID: 9761E793CBE5895F | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | MASTER_WRITE: | ||||||
|  | # Redirect DR frametime target to MAIN+0x4962F00 | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x1F9C5C8 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: 0xD503201F | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x1F9C5D4 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value:  | ||||||
|  |       - 0xD0014E32 | ||||||
|  |       - 0xB9400408 | ||||||
|  |       - 0xBD4F0240 | ||||||
|  |   # default value | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x4962F00 | ||||||
|  |     value_type: float | ||||||
|  |     value: 33.3333333333 | ||||||
|  | ALL_FPS: | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x4962F00] | ||||||
|  |     value_type: float | ||||||
|  |     value: FRAMETIME_TARGET | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | # PowerWash Simulator 1.9.2 | ||||||
|  | # BID: B2395B882C2BCB24 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: false | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # FuturLab.SingletonMonoBehaviour<FrameRateLimiter>_TypeInfo (don't block FPSlocker internal lock because game's lock is kinda shit) | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x5FA0BD8, 0xB8, 0, 0x28] | ||||||
|  |     value_type: int32 | ||||||
|  |     value: FPS_LOCK_TARGET | ||||||
| @ -3,76 +3,10 @@ | |||||||
| 
 | 
 | ||||||
| unsafeCheck: true | unsafeCheck: true | ||||||
| 
 | 
 | ||||||
| 15FPS: | #TODO: Patch DR FPS targets directly, for now -1 = 30 FPS, 0 = 60 FPS | ||||||
|   # Address that is used to determine if it should use dev's own classes to get vsync target | ALL_FPS: | ||||||
|   # If we change it to anything that is above or equal 0, it's using Unity class that always returns -1 |  | ||||||
|   # Returning from function getting vsync target anything else than 2 results in Dynamic Resolution target set to 60 FPS, otherwise it's 30 FPS |  | ||||||
|   # We cannot patch those FPS targets directly with FPSLocker as they are hardcoded |  | ||||||
|   - |   - | ||||||
|     type: write |     type: evaluate_write | ||||||
|     address: [MAIN, 0x5B18318, 0x944] |     address: [MAIN, 0x5B18318, 0x944] | ||||||
|     value_type: int32 |     value_type: int32 | ||||||
|     value: -1 |     value: "(VSYNC_TARGET * -1) + 1" | ||||||
| 20FPS: |  | ||||||
|   #Vsync target (default value) |  | ||||||
|   - |  | ||||||
|     type: write |  | ||||||
|     address: [MAIN, 0x5B18318, 0x944] |  | ||||||
|     value_type: int32 |  | ||||||
|     value: -1 |  | ||||||
| 25FPS: |  | ||||||
|   #Vsync target (default value) |  | ||||||
|   - |  | ||||||
|     type: write |  | ||||||
|     address: [MAIN, 0x5B18318, 0x944] |  | ||||||
|     value_type: int32 |  | ||||||
|     value: -1 |  | ||||||
| 30FPS: |  | ||||||
|   #Vsync target (default value) |  | ||||||
|   - |  | ||||||
|     type: write |  | ||||||
|     address: [MAIN, 0x5B18318, 0x944] |  | ||||||
|     value_type: int32 |  | ||||||
|     value: -1 |  | ||||||
| 35FPS: |  | ||||||
|   #Vsync target |  | ||||||
|   - |  | ||||||
|     type: write |  | ||||||
|     address: [MAIN, 0x5B18318, 0x944] |  | ||||||
|     value_type: int32 |  | ||||||
|     value: 0 |  | ||||||
| 40FPS: |  | ||||||
|   #Vsync target |  | ||||||
|   - |  | ||||||
|     type: write |  | ||||||
|     address: [MAIN, 0x5B18318, 0x944] |  | ||||||
|     value_type: int32 |  | ||||||
|     value: 0 |  | ||||||
| 45FPS: |  | ||||||
|   #Vsync target |  | ||||||
|   - |  | ||||||
|     type: write |  | ||||||
|     address: [MAIN, 0x5B18318, 0x944] |  | ||||||
|     value_type: int32 |  | ||||||
|     value: 0 |  | ||||||
| 50FPS: |  | ||||||
|   #Vsync target |  | ||||||
|   - |  | ||||||
|     type: write |  | ||||||
|     address: [MAIN, 0x5B18318, 0x944] |  | ||||||
|     value_type: int32 |  | ||||||
|     value: 0 |  | ||||||
| 55FPS: |  | ||||||
|   #Vsync target |  | ||||||
|   - |  | ||||||
|     type: write |  | ||||||
|     address: [MAIN, 0x5B18318, 0x944] |  | ||||||
|     value_type: int32 |  | ||||||
|     value: 0 |  | ||||||
| 60FPS: |  | ||||||
|   #Vsync target |  | ||||||
|   - |  | ||||||
|     type: write |  | ||||||
|     address: [MAIN, 0x5B18318, 0x944] |  | ||||||
|     value_type: int32 |  | ||||||
|     value: 0 |  | ||||||
|  | |||||||
| @ -0,0 +1,12 @@ | |||||||
|  | # DAVE THE DIVER 1.0.3.972 | ||||||
|  | # BID: 448820AF8E20D65D | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # UnityEngine.Time::fixedDeltaTime  | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x9735300, 0x48] | ||||||
|  |     value_type: float | ||||||
|  |     value: "1 / FPS_TARGET" | ||||||
| @ -0,0 +1,80 @@ | |||||||
|  | # Another Crab's Treasure 1.0.103.9 | ||||||
|  | # BID: 01CBDFDED43B80F5 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | MASTER_WRITE: | ||||||
|  |   # Redirect updating various deltas to read frametime target from UnityEngine.Application::targetFrameRate, REF: 08 10 91 52 08 A1 A7 72 | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x18EB7C8 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: # 08 EA 01 D0 08 39 4B B9 01 01 23 1E 00 10 2e 1e 00 18 21 1e | ||||||
|  |      - 0xD001EA08 # adrp x8, 0x562d000 | ||||||
|  |      - 0xB94B3908 # ldr w8, [x8, #0xb38] | ||||||
|  |      - 0x1E230101 # ucvtf s1, w8 | ||||||
|  |      - 0x1E2E1000 # fmov s0, #1.00000000 | ||||||
|  |      - 0x1E211800 # fdiv s0, s0, s1 | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x18EF310 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: # E8 E9 01 D0 08 39 4B B9 01 01 23 1E 00 10 2e 1e 00 18 21 1e | ||||||
|  |      - 0xD001E9E8 # adrp x8, 0x562d000 | ||||||
|  |      - 0xB94B3908 # ldr w8, [x8, #0xb38] | ||||||
|  |      - 0x1E230101 # ucvtf s1, w8 | ||||||
|  |      - 0x1E2E1000 # fmov s0, #1.00000000 | ||||||
|  |      - 0x1E211800 # fdiv s0, s0, s1 | ||||||
|  |   # Redirect Dynamic Resolution GPU Timing target in DynamicResolutionScaler::Update to MAIN+0x5AA3F08 | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x3882694 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: # 08 11 01 B0 08 85 47 F9 1F 20 03 D5 1F 20 03 D5 | ||||||
|  |      - 0xB0011108 # adrp x8, #0x5aa3000 | ||||||
|  |      - 0xF9478508 # ldr x8, [x8, #0xf08] | ||||||
|  |      - 0xD503201F # nop | ||||||
|  |      - 0xD503201F # nop | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x3882714 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: # 08 11 01 B0 08 85 47 F9 60 2A 40 BD 1F 20 03 D5 1F 20 03 D5 | ||||||
|  |      - 0xB0011108 # adrp x8, #0x5aa3000 | ||||||
|  |      - 0xF9478508 # ldr x8, [x8, #0xf08] | ||||||
|  |      - 0xBD402A60 # ldr s0, [x19, #0x28] | ||||||
|  |      - 0xD503201F # nop | ||||||
|  |      - 0xD503201F # nop | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x3882788 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: # 08 11 01 B0 08 85 47 F9 1F 20 03 D5 1F 20 03 D5 | ||||||
|  |      - 0xB0011108 # adrp x8, #0x5aa3000 | ||||||
|  |      - 0xF9478508 # ldr x8, [x8, #0xf08] | ||||||
|  |      - 0xD503201F # nop | ||||||
|  |      - 0xD503201F # nop | ||||||
|  |   # Default values | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x562DB38 | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: 30 | ||||||
|  |   - | ||||||
|  |     type: bytes | ||||||
|  |     main_offset: 0x5AA3F08 | ||||||
|  |     value_type: double | ||||||
|  |     value: 28.57142857142857 | ||||||
|  | ALL_FPS: | ||||||
|  |   # UnityEngine.Application::targetFrameRate | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x562DB38] | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: FPS_TARGET | ||||||
|  |   # GPU Timing Target | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x5AA3F08] | ||||||
|  |     value_type: double | ||||||
|  |     value: "1000 / (FPS_TARGET + 5)" | ||||||
| @ -77,4 +77,4 @@ ALL_FPS: | |||||||
|     type: evaluate_write |     type: evaluate_write | ||||||
|     address: [MAIN, 0x5A8D908] |     address: [MAIN, 0x5A8D908] | ||||||
|     value_type: double |     value_type: double | ||||||
|     value: "1 / (FPS_TARGET + 5)" |     value: "1000 / (FPS_TARGET + 5)" | ||||||
|  | |||||||
| @ -0,0 +1,21 @@ | |||||||
|  | # Life is Strange: Double Exposure 1.0.2 | ||||||
|  | # BID: FF8EFD0E0E71BB03 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x6910E90, 0] | ||||||
|  |     value_type: int32 | ||||||
|  |     value: [0, 0] | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x791E2D8, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,17 @@ | |||||||
|  | # Yakuza Kiwami 1.01 | ||||||
|  | # BID: AE90FD64E7B2FE1E | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # Block cutscenes to 30 FPS to fix glitches | ||||||
|  |   # REF 6B 01 40 F9 2A 29 42 B9 69 B9 40 F9, any result, second LDR above (LDR X9) | ||||||
|  |   - | ||||||
|  |     type: compare | ||||||
|  |     compare_type: "!=" | ||||||
|  |     compare_value_type: uint64 | ||||||
|  |     compare_address: [MAIN, 0x2597E00] | ||||||
|  |     compare_value: 0 | ||||||
|  |     address: [MAIN] | ||||||
|  |     value_type: refresh_rate | ||||||
|  |     value: 30 | ||||||
| @ -1,6 +1,7 @@ | |||||||
| # Valkyria Chronicles 1.0.0 | # Valkyria Chronicles 1.0.0/1.0.1 | ||||||
| # BID: FE77FFB8CBFB3A5C | # BID: FE77FFB8CBFB3A5C | ||||||
| # 2D Animations speed is still tied to framerate | # 2D Animations speed is still tied to framerate | ||||||
|  | # Buffers info is passed to fixed size class, making triple buffer patch requires effort | ||||||
| 
 | 
 | ||||||
| unsafeCheck: true | unsafeCheck: true | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # Monster Jam Showdown 1.0.6 | ||||||
|  | # BID: 35FC3A7D13060376 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # r.DynamicRes.FrameTimeBudget | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0xAC39688, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0xAC74030, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x9C78970, 0] | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: [0, 0] | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # Monster Jam Showdown 1.0.5 | ||||||
|  | # BID: D07D96A610514C45 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # r.DynamicRes.FrameTimeBudget | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0xAC34688, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0xAC6F030, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x9C73970, 0] | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: [0, 0] | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # SOUTH PARK: SNOW DAY! 1.0.11 | ||||||
|  | # BID: 4B7F793B8355C016 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x7E97DC8, 0] | ||||||
|  |     value_type: int32 | ||||||
|  |     value: [0, 0] | ||||||
|  |   # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x8663488, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x8688EF8, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,18 @@ | |||||||
|  | # Caravan SandWitch 1.0.5 | ||||||
|  | # BID: CE493FC8CDD3D7B2 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # r.DynamicRes.FrameTimeBudget | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x7A4A190, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x7A838A0, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
| @ -0,0 +1,27 @@ | |||||||
|  | # Disney Epic Mickey: Rebrushed 1.0.4 | ||||||
|  | # BID: 10844A7A20C5597E | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # r.DynamicRes.FrameTimeBudget | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x6E35A58, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"] | ||||||
|  |   # t.MaxFPS | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x6E636F8, 0] | ||||||
|  |     value_type: float | ||||||
|  |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x6666668, 0] | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: [0, 0] | ||||||
|  |   - | ||||||
|  |     type: block | ||||||
|  |     what: timing | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | # Card-en-Ciel 1.1.0 | ||||||
|  | # BID: 27AB93A086868C70 | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # Internal FPS Lock | ||||||
|  |   # REF: look at nn::os::SleepThread() called in nnMain() | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x207F248, 0x5C] | ||||||
|  |     value_type: float | ||||||
|  |     value: 1 / FPS_LOCK_TARGET | ||||||
| @ -0,0 +1,14 @@ | |||||||
|  | # Card-en-Ciel 1.2.0 | ||||||
|  | # BID: 59C5C45EF17ACADA | ||||||
|  | # Buffers are hardcoded line by line and put into fixed size heap allocation, so getting triple buffer requires effort | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # Internal FPS Lock | ||||||
|  |   # REF: look at nn::os::SleepThread() called in nnMain() | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x20F2248, 0x5C] | ||||||
|  |     value_type: float | ||||||
|  |     value: 1 / FPS_LOCK_TARGET | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | # HEAVEN SEEKER ――The Savior of This Cruel World 1.0.4.126 | ||||||
|  | # BID: E7011BF08747297B | ||||||
|  | 
 | ||||||
|  | unsafeCheck: true | ||||||
|  | 
 | ||||||
|  | ALL_FPS: | ||||||
|  |   # UnityEngine.Time::fixedDeltaTime (default is 0.03268) | ||||||
|  |   - | ||||||
|  |     type: evaluate_write | ||||||
|  |     address: [MAIN, 0x95672B8, 0x48] | ||||||
|  |     value_type: float | ||||||
|  |     value: "(1 / FPS_TARGET) / 1.02" | ||||||
| @ -165,7 +165,7 @@ ALL_FPS: | |||||||
|     address: [MAIN, 0x472AAC4] |     address: [MAIN, 0x472AAC4] | ||||||
|     value_type: float |     value_type: float | ||||||
|     value: "(FPS_TARGET / 30) * 0.001" |     value: "(FPS_TARGET / 30) * 0.001" | ||||||
| ALL_REFRESH_RATES: |   # cutscenes must be played at 30 FPS | ||||||
|   - |   - | ||||||
|     type: compare |     type: compare | ||||||
|     compare_address: [MAIN, 0x472AABC] |     compare_address: [MAIN, 0x472AABC] | ||||||
|  | |||||||
| @ -10,6 +10,12 @@ ALL_FPS: | |||||||
|     address: [MAIN, 0x8082C68, 0] |     address: [MAIN, 0x8082C68, 0] | ||||||
|     value_type: float |     value_type: float | ||||||
|     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] |     value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] | ||||||
|  |   # r.VSync | ||||||
|  |   - | ||||||
|  |     type: write | ||||||
|  |     address: [MAIN, 0x78412B0, 0] | ||||||
|  |     value_type: uint32 | ||||||
|  |     value: [0, 0] | ||||||
|   - |   - | ||||||
|     type: block |     type: block | ||||||
|     what: timing |     what: timing | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| # Xenoblade Chronicles 1.1.2 | # Xenoblade Chronicles 1.1.2 | ||||||
| # BID: 92C78BB3DCBBC3F7 | # BID: 92C78BB3DCBBC3F7 | ||||||
| 
 | 
 | ||||||
| unsafeCheck: true | unsafeCheck: false | ||||||
| 
 | 
 | ||||||
| ALL_FPS: | ALL_FPS: | ||||||
|   - |   - | ||||||
|  | |||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,7 +1,7 @@ | |||||||
| [atmosphere] | [atmosphere] | ||||||
| dmnt_cheats_enabled_by_default=u8!0x0 | dmnt_cheats_enabled_by_default=u8!0x0 | ||||||
| dmnt_always_save_cheat_toggles=u8!0x1 | dmnt_always_save_cheat_toggles=u8!0x1 | ||||||
| fatal_auto_reboot_interval=u64!0x0 | fatal_auto_reboot_interval=u64!0x3000 | ||||||
| enable_external_bluetooth_db=u8!0x1 | enable_external_bluetooth_db=u8!0x1 | ||||||
| 
 | 
 | ||||||
| [contents_delivery] | [contents_delivery] | ||||||
|  | |||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,8 +1,5 @@ | |||||||
| 127.0.0.1 *nintendo* | 127.0.0.1 *nintendo* | ||||||
| 127.0.0.1 ads.doubleclick.net | 127.0.0.1 ads.doubleclick.net | ||||||
| 127.0.0.1 s.ytimg.com |  | ||||||
| 127.0.0.1 ad.youtube.com |  | ||||||
| 127.0.0.1 ads.youtube.com |  | ||||||
| 127.0.0.1 clients1.google.com | 127.0.0.1 clients1.google.com | ||||||
| 127.0.0.1 dts.innovid.com | 127.0.0.1 dts.innovid.com | ||||||
| 127.0.0.1 googleads4.g.doubleclick.net | 127.0.0.1 googleads4.g.doubleclick.net | ||||||
| @ -23,7 +20,6 @@ | |||||||
| 127.0.0.1 files.adform.net | 127.0.0.1 files.adform.net | ||||||
| 127.0.0.1 secure-ds.serving-sys.com | 127.0.0.1 secure-ds.serving-sys.com | ||||||
| 127.0.0.1 securepubads.g.doubleclick.net | 127.0.0.1 securepubads.g.doubleclick.net | ||||||
| 127.0.0.1 s.youtube.com |  | ||||||
| 127.0.0.1 2975c.v.fwmrm.net | 127.0.0.1 2975c.v.fwmrm.net | ||||||
| 127.0.0.1 static.doubleclick.net | 127.0.0.1 static.doubleclick.net | ||||||
| 127.0.0.1 googleadservices.com | 127.0.0.1 googleadservices.com | ||||||
| @ -40,247 +36,5 @@ | |||||||
| 127.0.0.1 fwmrm.net | 127.0.0.1 fwmrm.net | ||||||
| 127.0.0.1 innovid.com | 127.0.0.1 innovid.com | ||||||
| 127.0.0.1 2mdn.net | 127.0.0.1 2mdn.net | ||||||
| 127.0.0.1 r8.sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r8---sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r6.sn-4g5ednll.googlevideo.com |  | ||||||
| 127.0.0.1 r6.sn-4g5edney.googlevideo.com |  | ||||||
| 127.0.0.1 r6.sn-4g5ednek.googlevideo.com |  | ||||||
| 127.0.0.1 r6.sn-4g5ednee.googlevideo.com |  | ||||||
| 127.0.0.1 r6.sn-4g5edn7e.googlevideo.com |  | ||||||
| 127.0.0.1 r6.sn-4g5e6nez.googlevideo.com |  | ||||||
| 127.0.0.1 r6---sn-4g5ednll.googlevideo.com |  | ||||||
| 127.0.0.1 r6---sn-4g5edney.googlevideo.com |  | ||||||
| 127.0.0.1 r6---sn-4g5ednek.googlevideo.com |  | ||||||
| 127.0.0.1 r6---sn-4g5ednee.googlevideo.com |  | ||||||
| 127.0.0.1 r6---sn-4g5edn7e.googlevideo.com |  | ||||||
| 127.0.0.1 r6---sn-4g5e6nez.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-h0jeenek.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5ednsz.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5ednsy.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5ednsr.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5ednsl.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5ednsd.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5edns6.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5ednly.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5edn7s.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6nzl.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6nze.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6nz7.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6nsz.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6nsy.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6nss.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6nsk.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6ns7.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6ns6.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6nls.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6ney.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6n7r.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-4g5e6n7k.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-h0jeenek.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5ednsz.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5ednsy.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5ednsr.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5ednsl.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5ednsd.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5edns6.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5ednly.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5edn7s.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6nzl.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6nze.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6nz7.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6nsz.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6nsy.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6nss.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6nsk.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6ns7.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6ns6.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6nls.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6ney.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6n7r.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-4g5e6n7k.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-4g5ednz7.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-4g5ednsy.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-4g5ednsk.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-4g5ednsd.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4g5ednz7.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4g5ednsy.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4g5ednsk.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4g5ednsd.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5ednz7.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5ednss.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5ednsd.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5ednls.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5ednll.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5ednee.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5edned.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5edne7.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5edne6.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5e6nzz.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5e6nzs.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5e6nsz.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5e6nsy.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5e6nsk.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5e6nle.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5e6nld.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5ednz7.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5ednss.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5ednsd.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5ednls.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5ednll.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5ednee.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5edned.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5edne7.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5edne6.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5e6nzz.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5e6nzs.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5e6nsz.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5e6nsy.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5e6nsk.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5e6nle.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5e6nld.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-hp57kn6e.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-h0jeln7e.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-h0jeener.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-h0jeen76.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5ednly.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5ednls.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5ednle.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5ednee.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5edned.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5edn7y.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5e6nsz.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5e6nsy.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5e6nsk.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5e6ns6.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5e6nl7.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5e6ney.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-hp57kn6e.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-h0jeln7e.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-h0jeener.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-h0jeen76.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5ednse.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5ednly.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5ednls.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5ednle.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5ednee.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5edned.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5edn7y.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5e6nsz.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5e6nsy.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5e6nsk.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5e6ns6.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5e6nl7.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5e6ney.googlevideo.com |  | ||||||
| 127.0.0.1 r15.sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r15---sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r11.sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r11---sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r10.sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r10---sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-h0jeln7e.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-h0jeened.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-h0jeen76.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5ednsd.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5ednly.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5ednll.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5edne6.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5e6nzz.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5e6nz7.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5e6nsy.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5e6nez.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-h0jeln7e.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-h0jeened.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-h0jeen76.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5ednsd.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5ednly.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5ednll.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5edne6.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5e6nzz.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5e6nz7.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5e6nsy.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5e6ns7.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5e6nez.googlevideo.com |  | ||||||
| 127.0.0.1 manifest.googlevideo.com |  | ||||||
| 127.0.0.1 r8.sn-n02xgoxufvg3-2gbs.googlevideo.com |  | ||||||
| 127.0.0.1 r8---sn-n02xgoxufvg3-2gbs.googlevideo.com |  | ||||||
| 127.0.0.1 r6.sn-4g5edne7.googlevideo.com |  | ||||||
| 127.0.0.1 r6---sn-4g5edne7.googlevideo.com |  | ||||||
| 127.0.0.1 r5.sn-hp57yn7y.googlevideo.com |  | ||||||
| 127.0.0.1 r5---sn-hp57yn7y.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-h0jeln7l.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-h0jeln7e.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-h0jeened.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-4g5edns7.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-4g5ednly.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-4g5ednld.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-4g5edney.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-4g5e6nzs.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-4g5e6ns6.googlevideo.com |  | ||||||
| 127.0.0.1 r4.sn-4g5e6nez.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-h0jeln7l.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-h0jeln7e.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-h0jeened.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4g5edns7.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4g5ednly.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4g5ednld.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4g5edney.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4g5e6nzs.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4g5e6ns6.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4g5e6nez.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5ednsz.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5edns6.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5ednld.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5e6nsr.googlevideo.com |  | ||||||
| 127.0.0.1 r3.sn-4g5e6nl7.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5ednzz.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5ednsz.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5edns6.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5ednld.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5e6nsr.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4g5e6nl7.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5ednse.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5ednld.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5e6nzl.googlevideo.com |  | ||||||
| 127.0.0.1 r2.sn-4g5e6nez.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5ednld.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5e6nzl.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-4g5e6nez.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5ednsr.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5ednsl.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5ednse.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5edned.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5e6ns7.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5e6ns6.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5e6nl6.googlevideo.com |  | ||||||
| 127.0.0.1 r1.sn-4g5e6ne6.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5ednsr.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5ednsl.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5ednse.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5edned.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5e6ns6.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5e6nl6.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4g5e6ne6.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-5hne6n7z.googlevideo.com |  | ||||||
| 127.0.0.1 r2---sn-25ge7nsd.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-25ge7nsk.googlevideo.com |  | ||||||
| 127.0.0.1 r6---sn-25ge7nsl.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-25glen7y.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-25glenez.googlevideo.com |  | ||||||
| 127.0.0.1 r10---sn-4gxx-25gel.googlevideo.com |  | ||||||
| 127.0.0.1 r11---sn-4gxx-25ge7.googlevideo.com |  | ||||||
| 127.0.0.1 r4---sn-4gxx-25gee.googlevideo.com |  | ||||||
| 127.0.0.1 r16---sn-4gxx-25ge7.googlevideo.com |  | ||||||
| 127.0.0.1 r3---sn-4gxx-25gel.googlevideo.com |  | ||||||
| 127.0.0.1 r1---sn-4gxx-25gel.googlevideo.com |  | ||||||
| 127.0.0.1 r9---sn-4gxx-25gel.googlevideo.com |  | ||||||
| 127.0.0.1 r9---sn-4gxx-25gy.googlevideo.com |  | ||||||
| 127.0.0.1 r6---sn-4g5e6nes.googlevideo.com |  | ||||||
| 95.216.149.205 *conntest.nintendowifi.net | 95.216.149.205 *conntest.nintendowifi.net | ||||||
| 95.216.149.205 *ctest.cdn.nintendo.net | 95.216.149.205 *ctest.cdn.nintendo.net | ||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,14 +1,13 @@ | |||||||
| [config] | [config] | ||||||
| autoboot=1 | autoboot=1 | ||||||
| autoboot_list=0 | autoboot_list=0 | ||||||
| bootwait=3 | bootwait=4 | ||||||
| backlight=40 | backlight=40 | ||||||
| noticker=0 | noticker=0 | ||||||
| autohosoff=2 | autohosoff=2 | ||||||
| autonogc=0 | autonogc=0 | ||||||
| updater2p=0 | updater2p=0 | ||||||
| bootprotect=0 | bootprotect=0 | ||||||
| {} |  | ||||||
| 
 | 
 | ||||||
| [Atmosphere] | [Atmosphere] | ||||||
| fss0=atmosphere/package3 | fss0=atmosphere/package3 | ||||||
| @ -16,12 +15,9 @@ cal0blank=1 | |||||||
| kip1=atmosphere/kips/* | kip1=atmosphere/kips/* | ||||||
| logopath=bootloader/res/bootscreen.bmp | logopath=bootloader/res/bootscreen.bmp | ||||||
| icon=bootloader/res/atmo_cfw.bmp | icon=bootloader/res/atmo_cfw.bmp | ||||||
| {} |  | ||||||
| 
 | 
 | ||||||
| [Safe Mode] | [Safe Mode] | ||||||
| fss0=atmosphere/package3 | fss0=atmosphere/package3 | ||||||
| cal0blank=1 | cal0blank=1 | ||||||
| logopath=bootloader/res/bootscreen.bmp | logopath=bootloader/res/bootscreen.bmp | ||||||
| icon=bootloader/res/atmo_sm.bmp | icon=bootloader/res/atmo_sm.bmp | ||||||
| {} |  | ||||||
| 
 |  | ||||||
|  | |||||||
| @ -1,4 +1,3 @@ | |||||||
| 
 |  | ||||||
| [Semi Stock] | [Semi Stock] | ||||||
| fss0=atmosphere/package3 | fss0=atmosphere/package3 | ||||||
| emummc_force_disable=1 | emummc_force_disable=1 | ||||||
| @ -6,7 +5,6 @@ cal0blank=0 | |||||||
| kip1=atmosphere/kips/* | kip1=atmosphere/kips/* | ||||||
| logopath=bootloader/res/bootscreen.bmp | logopath=bootloader/res/bootscreen.bmp | ||||||
| icon=bootloader/res/sys_cfw.bmp | icon=bootloader/res/sys_cfw.bmp | ||||||
| {} |  | ||||||
| 
 | 
 | ||||||
| [Semi Safe] | [Semi Safe] | ||||||
| fss0=atmosphere/package3 | fss0=atmosphere/package3 | ||||||
| @ -14,7 +12,6 @@ emummc_force_disable=1 | |||||||
| cal0blank=0 | cal0blank=0 | ||||||
| logopath=bootloader/res/bootscreen.bmp | logopath=bootloader/res/bootscreen.bmp | ||||||
| icon=bootloader/res/sys_sm.bmp | icon=bootloader/res/sys_sm.bmp | ||||||
| {} |  | ||||||
| 
 | 
 | ||||||
| [Full Stock] | [Full Stock] | ||||||
| fss0=atmosphere/package3 | fss0=atmosphere/package3 | ||||||
| @ -22,4 +19,3 @@ emummc_force_disable=1 | |||||||
| cal0blank=0 | cal0blank=0 | ||||||
| stock=1 | stock=1 | ||||||
| icon=bootloader/res/stock.bmp | icon=bootloader/res/stock.bmp | ||||||
| {} |  | ||||||
|  | |||||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 3.5 MiB | 
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -4,17 +4,21 @@ set-ini-val /bootloader/hekate_ipl.ini config autoboot 1 | |||||||
| set-ini-val /bootloader/hekate_ipl.ini config autoboot_list 0 | set-ini-val /bootloader/hekate_ipl.ini config autoboot_list 0 | ||||||
| reboot | reboot | ||||||
| 
 | 
 | ||||||
| [Semi-Stock    -    Forced] | [Semi Stock    -    Forced] | ||||||
| set-ini-val /bootloader/hekate_ipl.ini config autoboot 1 | set-ini-val /bootloader/hekate_ipl.ini config autoboot 1 | ||||||
| set-ini-val /bootloader/hekate_ipl.ini config autoboot_list 1 | set-ini-val /bootloader/hekate_ipl.ini config autoboot_list 1 | ||||||
| reboot | reboot | ||||||
| 
 | 
 | ||||||
|  | [Hekate    -    Bootloader] | ||||||
|  | reboot HEKATE | ||||||
|  | 
 | ||||||
| [$] | [$] | ||||||
| ;mode=table | ;mode=table | ||||||
| ;background=false | ;background=false | ||||||
| ;gap=17 | ;gap=17 | ||||||
| [Other] | [Other] | ||||||
| ;mode=table | ;mode=table | ||||||
|  | ;background=false | ||||||
| ;header_indent=true | ;header_indent=true | ||||||
| ;section_text_color=#FFFFFF | ;section_text_color=#FFFFFF | ||||||
| ;gap=20 | ;gap=20 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user