mirror of
				https://github.com/Ultra-NX/UltraNX.git
				synced 2025-10-31 11:19:32 +00:00 
			
		
		
		
	Ultra 2.0|R3
This commit is contained in:
		
							parent
							
								
									fae194279e
								
							
						
					
					
						commit
						77387097f5
					
				| @ -44,9 +44,13 @@ X0100964012528000 | ||||
| 0100C56010FD8000 | ||||
| 
 | ||||
| ;EA SPORTS FC 24 | ||||
| ;1.0.0 - v1.53.dd6d crash | ||||
| ;1.0.0 - v1.55.bc14 crash | ||||
| 0100BDB01A0E6000 | ||||
| 
 | ||||
| ;Company of Heroes Collection | ||||
| ;1.5_66915 crashes | ||||
| 0100ABD0156F8000 | ||||
| 
 | ||||
| ;Donkey Kong Country: Tropical Freeze | ||||
| ;Crash at second level | ||||
| X0100C1F0051B6000 | ||||
| @ -0,0 +1,202 @@ | ||||
| # Jojo's Bizarre Adventure: All-Star Battle R 2.3.3 | ||||
| # BID: 3D4E3A9252AA6C63 | ||||
| # There are small issues with animations in cutscenes at higher framerates | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| 15FPS: | ||||
|   # Internal FPS Lock, pointer ref: 00 01 40 F9 E5 03 04 2A | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEDA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 4 | ||||
|   # Game Speed, pointer ref: F3 03 00 AA 20 00 80 52 F4 03 01 AA | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 4 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 15 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 20FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEDA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 3 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 3 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 20 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 25FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEDA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 2 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 2 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 25 | ||||
| 30FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEDA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 2 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 2 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 30 | ||||
| 35FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEDA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 35 | ||||
| 40FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEDA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 40 | ||||
| 45FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEDA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 45 | ||||
| 50FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEDA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 50 | ||||
| 55FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEDA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 55 | ||||
| 60FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEDA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEF6D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 60 | ||||
| @ -0,0 +1,199 @@ | ||||
| # Jojo's Bizarre Adventure: All-Star Battle R 2.3.0 | ||||
| # BID: B2FA8FF1240615F1 | ||||
| # There are small issues with animations in cutscenes at higher framerates | ||||
| # REF: 28 1C 00 12 89 07 80 52 2A 09 C8 1A | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| 15FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEEA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 4 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 4 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 15 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 20FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEEA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 3 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 3 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 20 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 25FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEEA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 2 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 2 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 25 | ||||
| 30FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEEA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 2 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 2 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 30 | ||||
| 35FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEEA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 35 | ||||
| 40FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEEA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 40 | ||||
| 45FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEEA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 45 | ||||
| 50FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEEA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 50 | ||||
| 55FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEEA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 55 | ||||
| 60FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AEEA08, 704] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # Game Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 1360] | ||||
|     value_type: uint32 | ||||
|     value: 1 | ||||
|   # UI Speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2AF06D0, 2554] | ||||
|     value_type: uint8 | ||||
|     value: 60 | ||||
| @ -0,0 +1,91 @@ | ||||
| # Farming Simulator 23 Nintendo Switch Edition 1.5.0.0 | ||||
| # BID: 17F37A56B17DD9CC | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| 15FPS: | ||||
|   # Internal FPS lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xFAD7AC] | ||||
|     value_type: float | ||||
|     value: 15 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 20FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xFAD7AC] | ||||
|     value_type: float | ||||
|     value: 20 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 25FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xFAD7AC] | ||||
|     value_type: float | ||||
|     value: 25 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 30FPS: | ||||
|   # default value | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xFAD7AC] | ||||
|     value_type: float | ||||
|     value: 30 | ||||
| 35FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xFAD7AC] | ||||
|     value_type: float | ||||
|     value: 35 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 40FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xFAD7AC] | ||||
|     value_type: float | ||||
|     value: 40 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 45FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xFAD7AC] | ||||
|     value_type: float | ||||
|     value: 45 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 50FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xFAD7AC] | ||||
|     value_type: float | ||||
|     value: 50 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 55FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xFAD7AC] | ||||
|     value_type: float | ||||
|     value: 55 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 60FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xFAD7AC] | ||||
|     value_type: float | ||||
|     value: 60 | ||||
| @ -0,0 +1,279 @@ | ||||
| # Jujutsu Kaisen Cursed Clash JP 1.0.1 | ||||
| # BID: 372BF1E32FC51836 | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| 15FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [66.66, 66.66] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [15, 15] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 20FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [50, 50] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [20, 20] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 25FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [40, 40] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [25, 25] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 30FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget (default value) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [33.33, 33.33] | ||||
|   # t.MaxFPS (default value is 60) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
|   # r.VSync (default value is 1) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
| 35FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [28.51, 28.51] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [35, 35] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 40FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [25, 25] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [40, 40] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 45FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [22.22, 22.22] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [45, 45] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 50FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [20, 20] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [50, 50] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 55FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [18.18, 18.18] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [55, 55] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 60FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [16.66, 16.66] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
| @ -0,0 +1,82 @@ | ||||
| # Fate/Samurai Remnant 1.1.3 | ||||
| # BID: 0F09DF1B3AA9E3FD | ||||
| 
 | ||||
| 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 | ||||
| 15FPS: | ||||
|   # interval, REF: 29 00 80 52 16 00 08 8B 08 A0 8C 52 28 00 A0 72 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x33B26C0] | ||||
|     value_type: int32 | ||||
|     value: 4 | ||||
| 20FPS: | ||||
|   # interval | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x33B26C0] | ||||
|     value_type: int32 | ||||
|     value: 3 | ||||
| 25FPS: | ||||
|   # interval | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x33B26C0] | ||||
|     value_type: int32 | ||||
|     value: 2 | ||||
| 30FPS: | ||||
|   # interval (default value) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x33B26C0] | ||||
|     value_type: int32 | ||||
|     value: 2 | ||||
| 35FPS: | ||||
|   # interval | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x33B26C0] | ||||
|     value_type: int32 | ||||
|     value: 1 | ||||
| 40FPS: | ||||
|   # interval | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x33B26C0] | ||||
|     value_type: int32 | ||||
|     value: 1 | ||||
| 45FPS: | ||||
|   # interval | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x33B26C0] | ||||
|     value_type: int32 | ||||
|     value: 1 | ||||
| 50FPS: | ||||
|   # interval | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x33B26C0] | ||||
|     value_type: int32 | ||||
|     value: 1 | ||||
| 55FPS: | ||||
|   # interval | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x33B26C0] | ||||
|     value_type: int32 | ||||
|     value: 1 | ||||
| 60FPS: | ||||
|   # interval | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x33B26C0] | ||||
|     value_type: int32 | ||||
|     value: 1 | ||||
| @ -1,5 +1,5 @@ | ||||
| # The Witcher 3: Wild Hund - Complete Edition 4.04b | ||||
| # BID: D27FD8A515077F34 | ||||
| # BID: 4BC4A8A814FD46A4 | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| @ -1,7 +1,7 @@ | ||||
| # Dark Souls Remastered 1.0.3 | ||||
| # BID: DF3766A2BB651A3E | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| unsafeCheck: false | ||||
| 
 | ||||
| MASTER_WRITE: | ||||
|   # Redirect FPS target to MAIN+0x55E9A00 | ||||
| @ -325,4 +325,4 @@ MASTER_WRITE: | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x55E9A08] | ||||
|     value_type: float | ||||
|     value: 0.0166666666 | ||||
|     value: 0.0166666666 | ||||
|  | ||||
| @ -0,0 +1,96 @@ | ||||
| # Monster Hunter Rise JP 16.02 | ||||
| # BID: D2FD97779381FB9A | ||||
| 
 | ||||
| unsafeCheck: false | ||||
| 
 | ||||
| # Disable NX-FPS delay function to prioritize game's own FPS lock. | ||||
| 15FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x12B2E5C8, 0x434] | ||||
|     value_type: float | ||||
|     value: 15 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 20FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x12B2E5C8, 0x434] | ||||
|     value_type: float | ||||
|     value: 20 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 25FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x12B2E5C8, 0x434] | ||||
|     value_type: float | ||||
|     value: 25 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 30FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x12B2E5C8, 0x434] | ||||
|     value_type: float | ||||
|     value: 30 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 35FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x12B2E5C8, 0x434] | ||||
|     value_type: float | ||||
|     value: 35 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 40FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x12B2E5C8, 0x434] | ||||
|     value_type: float | ||||
|     value: 40 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 45FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x12B2E5C8, 0x434] | ||||
|     value_type: float | ||||
|     value: 45 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 50FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x12B2E5C8, 0x434] | ||||
|     value_type: float | ||||
|     value: 50 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 55FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x12B2E5C8, 0x434] | ||||
|     value_type: float | ||||
|     value: 55 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 60FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x12B2E5C8, 0x434] | ||||
|     value_type: float | ||||
|     value: 60 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| @ -0,0 +1,219 @@ | ||||
| # Choo-Choo Charles 1.0.1 | ||||
| # BID: 406F004D76F961F3 | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| 15FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6DC65E8, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7594F48, 0] | ||||
|     value_type: float | ||||
|     value: [66.66, 66.66] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x75C2C08, 0] | ||||
|     value_type: float | ||||
|     value: [15, 15] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 20FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6DC65E8, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7594F48, 0] | ||||
|     value_type: float | ||||
|     value: [50, 50] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x75C2C08, 0] | ||||
|     value_type: float | ||||
|     value: [20, 20] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 25FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6DC65E8, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7594F48, 0] | ||||
|     value_type: float | ||||
|     value: [40, 40] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x75C2C08, 0] | ||||
|     value_type: float | ||||
|     value: [25, 25] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 30FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6DC65E8, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget (default value) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7594F48, 0] | ||||
|     value_type: float | ||||
|     value: [33.33, 33.33] | ||||
|   # t.MaxFPS (default is 10000) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x75C2C08, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
| 35FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6DC65E8, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7594F48, 0] | ||||
|     value_type: float | ||||
|     value: [28.51, 28.51] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x75C2C08, 0] | ||||
|     value_type: float | ||||
|     value: [35, 35] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 40FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6DC65E8, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7594F48, 0] | ||||
|     value_type: float | ||||
|     value: [25, 25] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x75C2C08, 0] | ||||
|     value_type: float | ||||
|     value: [40, 40] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 45FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6DC65E8, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7594F48, 0] | ||||
|     value_type: float | ||||
|     value: [22.22, 22.22] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x75C2C08, 0] | ||||
|     value_type: float | ||||
|     value: [45, 45] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 50FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6DC65E8, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7594F48, 0] | ||||
|     value_type: float | ||||
|     value: [20, 20] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x75C2C08, 0] | ||||
|     value_type: float | ||||
|     value: [50, 50] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 55FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6DC65E8, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7594F48, 0] | ||||
|     value_type: float | ||||
|     value: [18.18, 18.18] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x75C2C08, 0] | ||||
|     value_type: float | ||||
|     value: [55, 55] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 60FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6DC65E8, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7594F48, 0] | ||||
|     value_type: float | ||||
|     value: [16.66, 16.66] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x75C2C08, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
| @ -0,0 +1,219 @@ | ||||
| # LEGO 2K Drive 1.14 | ||||
| # BID: AA906741384B10CC | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| 15FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9516D00, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D22CE8, 0] | ||||
|     value_type: float | ||||
|     value: [66.66, 66.66] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D48E60, 0] | ||||
|     value_type: float | ||||
|     value: [15, 15] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 20FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9516D00, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D22CE8, 0] | ||||
|     value_type: float | ||||
|     value: [50, 50] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D48E60, 0] | ||||
|     value_type: float | ||||
|     value: [20, 20] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 25FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9516D00, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D22CE8, 0] | ||||
|     value_type: float | ||||
|     value: [40, 40] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D48E60, 0] | ||||
|     value_type: float | ||||
|     value: [25, 25] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 30FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9516D00, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget (default value) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D22CE8, 0] | ||||
|     value_type: float | ||||
|     value: [33.33, 33.33] | ||||
|   # t.MaxFPS (default is 30) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D48E60, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
| 35FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9516D00, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D22CE8, 0] | ||||
|     value_type: float | ||||
|     value: [28.51, 28.51] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D48E60, 0] | ||||
|     value_type: float | ||||
|     value: [35, 35] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 40FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9516D00, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D22CE8, 0] | ||||
|     value_type: float | ||||
|     value: [25, 25] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D48E60, 0] | ||||
|     value_type: float | ||||
|     value: [40, 40] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 45FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9516D00, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D22CE8, 0] | ||||
|     value_type: float | ||||
|     value: [22.22, 22.22] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D48E60, 0] | ||||
|     value_type: float | ||||
|     value: [45, 45] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 50FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9516D00, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D22CE8, 0] | ||||
|     value_type: float | ||||
|     value: [20, 20] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D48E60, 0] | ||||
|     value_type: float | ||||
|     value: [50, 50] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 55FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9516D00, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D22CE8, 0] | ||||
|     value_type: float | ||||
|     value: [18.18, 18.18] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D48E60, 0] | ||||
|     value_type: float | ||||
|     value: [55, 55] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 60FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9516D00, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D22CE8, 0] | ||||
|     value_type: float | ||||
|     value: [16.66, 16.66] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x9D48E60, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
| @ -0,0 +1,443 @@ | ||||
| # Xenoblade Chronicles 3 2.2.0 | ||||
| # BID: 82D187FE9EF9BE92 | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| MASTER_WRITE: | ||||
|   # Redirect DR frametime target reading to .bss code cave [MAIN, 0x236AB00] | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x124F518 | ||||
|     value_type: uint32 | ||||
|     value: | ||||
|       - 0xF00088C8 | ||||
|       - 0xBD4B0100 | ||||
|   # Original DR frametime target | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x236AB00 | ||||
|     value_type: float | ||||
|     value: | ||||
|       - 0.0166666666 | ||||
|   # Fix crash when gathering big amount of ether for > 30 FPS | ||||
|   - # Code cave at 0x1295DA0 | ||||
|     type: bytes | ||||
|     main_offset: 0x67360 | ||||
|     value_type: uint32 | ||||
|     value: 0x9448BA90 | ||||
|   - # Push fixed 1/30 float to game speed pointer late enough to not affect it  | ||||
|     type: bytes | ||||
|     main_offset: 0x1295DA0 | ||||
|     value_type: uint32 | ||||
|     value: | ||||
|       - 0xF9400015 | ||||
|       - 0x1E2E1001 | ||||
|       - 0x1E27D002 | ||||
|       - 0x1E221821 | ||||
|       - 0xBD0216A1 | ||||
|       - 0xD65F03C0 | ||||
| # For 15-20 FPS use internal FPS lock, for 25-30 set default value | ||||
| 15FPS: | ||||
|   # vsync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [4, 4] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.0166666666 | ||||
|   # UI speed | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.0666666666 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 20FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [3, 3] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.0166666666 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.05 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 25FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [2, 2] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.02 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.04 | ||||
| 30FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [2, 2] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.0166666666 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.0333333333 | ||||
| 
 | ||||
| # For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. | ||||
| 35FPS: | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [1, 1] | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.024 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [2, 2] | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.0166666666 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.028571 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.0333333333 | ||||
| 40FPS: | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [1, 1] | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.021 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [2, 2] | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.0166666666 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.025 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.0333333333 | ||||
| 45FPS: | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [1, 1] | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.018 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [2, 2] | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.0166666666 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.0222222222 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.0333333333 | ||||
| 50FPS: | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [1, 1] | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.016 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [2, 2] | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.0166666666 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.02 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.0333333333 | ||||
| 55FPS: | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [1, 1] | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.014 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [2, 2] | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.0166666666 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.01818181818 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.0333333333 | ||||
| 60FPS: | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [1, 1] | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x1B42DB0] | ||||
|     value_type: int32 | ||||
|     value: [2, 2] | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.013 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x236AB00] | ||||
|     value_type: float | ||||
|     value: 0.0166666666 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 1 | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.0166666666 | ||||
|   - | ||||
|     type: compare | ||||
|     compare_address: [MAIN, 0x1BA1A98] | ||||
|     compare_type: "!=" | ||||
|     compare_value_type: int8 | ||||
|     compare_value: 0 | ||||
|     address: [MAIN, 0x1BA1A90, 128] | ||||
|     value_type: float | ||||
|     value: 0.0333333333 | ||||
| @ -1,7 +1,7 @@ | ||||
| # Spyro Reignited Trilogy 1.01 | ||||
| # BID: D2775FAFCF4835CB | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| unsafeCheck: false | ||||
| 
 | ||||
| 15FPS: | ||||
|   # Disable bSmoothFrameRate and bUseFixedFrameRate to untie game speed from framerate | ||||
| @ -221,4 +221,4 @@ unsafeCheck: true | ||||
|     type: write | ||||
|     address: [MAIN, 0x69DAC78, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
|     value: [0, 0] | ||||
|  | ||||
| @ -0,0 +1,219 @@ | ||||
| # Bang-On Balls: Chronicles 1.0.4 | ||||
| # BID: 25D3C2E9040D1A9A | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| 15FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x685AE88, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x702A818, 0] | ||||
|     value_type: float | ||||
|     value: [66.66, 66.66] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7058338, 0] | ||||
|     value_type: float | ||||
|     value: [15, 15] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 20FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x685AE88, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x702A818, 0] | ||||
|     value_type: float | ||||
|     value: [50, 50] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7058338, 0] | ||||
|     value_type: float | ||||
|     value: [20, 20] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 25FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x685AE88, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x702A818, 0] | ||||
|     value_type: float | ||||
|     value: [40, 40] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7058338, 0] | ||||
|     value_type: float | ||||
|     value: [25, 25] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 30FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x685AE88, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget (default value) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x702A818, 0] | ||||
|     value_type: float | ||||
|     value: [33.33, 33.33] | ||||
|   # t.MaxFPS (default is 0) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7058338, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
| 35FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x685AE88, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x702A818, 0] | ||||
|     value_type: float | ||||
|     value: [28.51, 28.51] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7058338, 0] | ||||
|     value_type: float | ||||
|     value: [35, 35] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 40FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x685AE88, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x702A818, 0] | ||||
|     value_type: float | ||||
|     value: [25, 25] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7058338, 0] | ||||
|     value_type: float | ||||
|     value: [40, 40] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 45FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x685AE88, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x702A818, 0] | ||||
|     value_type: float | ||||
|     value: [22.22, 22.22] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7058338, 0] | ||||
|     value_type: float | ||||
|     value: [45, 45] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 50FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x685AE88, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x702A818, 0] | ||||
|     value_type: float | ||||
|     value: [20, 20] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7058338, 0] | ||||
|     value_type: float | ||||
|     value: [50, 50] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 55FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x685AE88, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x702A818, 0] | ||||
|     value_type: float | ||||
|     value: [18.18, 18.18] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7058338, 0] | ||||
|     value_type: float | ||||
|     value: [55, 55] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 60FPS: | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x685AE88, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x702A818, 0] | ||||
|     value_type: float | ||||
|     value: [16.66, 16.66] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x7058338, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
| @ -0,0 +1,201 @@ | ||||
| # Hitman: Blood Money - Reprisal 1.0_68328 | ||||
| # BID: 688C23D524730AB8 | ||||
| # Fix aiming speed by tweaking it in game settings | ||||
| # Videos / prerendered cutscenes are played at 30 FPS | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| 15FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x10] | ||||
|     value_type: uint32 | ||||
|     value: [15, 15] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x40] | ||||
|     value_type: uint32 | ||||
|     value: [15, 15] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x70] | ||||
|     value_type: uint32 | ||||
|     value: [15, 15] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 20FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x10] | ||||
|     value_type: uint32 | ||||
|     value: [20, 20] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x40] | ||||
|     value_type: uint32 | ||||
|     value: [20, 20] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x70] | ||||
|     value_type: uint32 | ||||
|     value: [20, 20] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 25FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x10] | ||||
|     value_type: uint32 | ||||
|     value: [25, 25] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x40] | ||||
|     value_type: uint32 | ||||
|     value: [25, 25] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x70] | ||||
|     value_type: uint32 | ||||
|     value: [25, 25] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 30FPS: | ||||
|   # Internal FPS Lock (default value) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x10] | ||||
|     value_type: uint32 | ||||
|     value: [30, 30] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x40] | ||||
|     value_type: uint32 | ||||
|     value: [30, 30] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x70] | ||||
|     value_type: uint32 | ||||
|     value: [30, 30] | ||||
| 35FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x10] | ||||
|     value_type: uint32 | ||||
|     value: [35, 35] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x40] | ||||
|     value_type: uint32 | ||||
|     value: [35, 35] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x70] | ||||
|     value_type: uint32 | ||||
|     value: [35, 35] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 40FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x10] | ||||
|     value_type: uint32 | ||||
|     value: [40, 40] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x40] | ||||
|     value_type: uint32 | ||||
|     value: [40, 40] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x70] | ||||
|     value_type: uint32 | ||||
|     value: [40, 40] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 45FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x10] | ||||
|     value_type: uint32 | ||||
|     value: [45, 45] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x40] | ||||
|     value_type: uint32 | ||||
|     value: [45, 45] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x70] | ||||
|     value_type: uint32 | ||||
|     value: [45, 45] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 50FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x10] | ||||
|     value_type: uint32 | ||||
|     value: [50, 50] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x40] | ||||
|     value_type: uint32 | ||||
|     value: [50, 50] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x70] | ||||
|     value_type: uint32 | ||||
|     value: [50, 50] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 55FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x10] | ||||
|     value_type: uint32 | ||||
|     value: [55, 55] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x40] | ||||
|     value_type: uint32 | ||||
|     value: [55, 55] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x70] | ||||
|     value_type: uint32 | ||||
|     value: [55, 55] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 60FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x10] | ||||
|     value_type: uint32 | ||||
|     value: [60, 60] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x40] | ||||
|     value_type: uint32 | ||||
|     value: [60, 60] | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x20AA038, 0x70] | ||||
|     value_type: uint32 | ||||
|     value: [60, 60] | ||||
| @ -0,0 +1,279 @@ | ||||
| # Jujutsu Kaisen Cursed Clash EUR 1.0.1 | ||||
| # BID: 372BF1E32FC51836 | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| 15FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [66.66, 66.66] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [15, 15] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 20FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [50, 50] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [20, 20] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 25FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [40, 40] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [25, 25] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 30FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget (default value) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [33.33, 33.33] | ||||
|   # t.MaxFPS (default value is 60) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
|   # r.VSync (default value is 1) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
| 35FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [28.51, 28.51] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [35, 35] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 40FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [25, 25] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [40, 40] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 45FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [22.22, 22.22] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [45, 45] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 50FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [20, 20] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [50, 50] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 55FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [18.18, 18.18] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [55, 55] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 60FPS: | ||||
|   # r.DynamicRes.FrameTimeBudget | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8013A48, 0] | ||||
|     value_type: float | ||||
|     value: [16.66, 16.66] | ||||
|   # t.MaxFPS | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x8056F50, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x73980C8, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   # Disable bUseFixedFrameRate | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x80567A8, 0x9C4] | ||||
|     value_type: uint32 | ||||
|     value: 7 | ||||
| @ -10,6 +10,12 @@ unsafeCheck: true | ||||
|     address: [MAIN, 0x76C9F68, 0] | ||||
|     value_type: float | ||||
|     value: [15, 15] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6ECD018, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| @ -20,6 +26,12 @@ unsafeCheck: true | ||||
|     address: [MAIN, 0x76C9F68, 0] | ||||
|     value_type: float | ||||
|     value: [20, 20] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6ECD018, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| @ -30,6 +42,12 @@ unsafeCheck: true | ||||
|     address: [MAIN, 0x76C9F68, 0] | ||||
|     value_type: float | ||||
|     value: [25, 25] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6ECD018, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| @ -40,6 +58,12 @@ unsafeCheck: true | ||||
|     address: [MAIN, 0x76C9F68, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
|   # r.VSync (default is 1) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6ECD018, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
| 35FPS: | ||||
|   # t.MaxFPS | ||||
|   - | ||||
| @ -47,6 +71,12 @@ unsafeCheck: true | ||||
|     address: [MAIN, 0x76C9F68, 0] | ||||
|     value_type: float | ||||
|     value: [35, 35] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6ECD018, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| @ -57,6 +87,12 @@ unsafeCheck: true | ||||
|     address: [MAIN, 0x76C9F68, 0] | ||||
|     value_type: float | ||||
|     value: [40, 40] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6ECD018, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| @ -67,6 +103,12 @@ unsafeCheck: true | ||||
|     address: [MAIN, 0x76C9F68, 0] | ||||
|     value_type: float | ||||
|     value: [45, 45] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6ECD018, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| @ -77,6 +119,12 @@ unsafeCheck: true | ||||
|     address: [MAIN, 0x76C9F68, 0] | ||||
|     value_type: float | ||||
|     value: [50, 50] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6ECD018, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| @ -87,6 +135,12 @@ unsafeCheck: true | ||||
|     address: [MAIN, 0x76C9F68, 0] | ||||
|     value_type: float | ||||
|     value: [55, 55] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6ECD018, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| @ -97,3 +151,9 @@ unsafeCheck: true | ||||
|     address: [MAIN, 0x76C9F68, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x6ECD018, 0] | ||||
|     value_type: uint32 | ||||
|     value: [0, 0] | ||||
| @ -0,0 +1,96 @@ | ||||
| # Monster Hunter Rise 16.0.2 | ||||
| # BID: C9A3DD7702075ECD | ||||
| 
 | ||||
| unsafeCheck: false | ||||
| 
 | ||||
| # Disable NX-FPS delay function to prioritize game's own FPS lock. | ||||
| 15FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1295B3F0, 0x434] | ||||
|     value_type: float | ||||
|     value: 15 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 20FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1295B3F0, 0x434] | ||||
|     value_type: float | ||||
|     value: 20 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 25FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1295B3F0, 0x434] | ||||
|     value_type: float | ||||
|     value: 25 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 30FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1295B3F0, 0x434] | ||||
|     value_type: float | ||||
|     value: 30 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 35FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1295B3F0, 0x434] | ||||
|     value_type: float | ||||
|     value: 35 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 40FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1295B3F0, 0x434] | ||||
|     value_type: float | ||||
|     value: 40 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 45FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1295B3F0, 0x434] | ||||
|     value_type: float | ||||
|     value: 45 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 50FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1295B3F0, 0x434] | ||||
|     value_type: float | ||||
|     value: 50 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 55FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1295B3F0, 0x434] | ||||
|     value_type: float | ||||
|     value: 55 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 60FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x1295B3F0, 0x434] | ||||
|     value_type: float | ||||
|     value: 60 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| @ -0,0 +1,93 @@ | ||||
| # EA SPORTS FC 24 1.55.6363 | ||||
| # BID: 355CD175B2498C22 | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| 15FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD65E20, 8] | ||||
|     value_type: double | ||||
|     value: 15 | ||||
| 20FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD65E20, 8] | ||||
|     value_type: double | ||||
|     value: 20 | ||||
| 25FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD65E20, 8] | ||||
|     value_type: double | ||||
|     value: 25 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 30FPS: | ||||
|   # Internal FPS Lock (default value is 30) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD65E20, 8] | ||||
|     value_type: double | ||||
|     value: 30 | ||||
| 35FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD65E20, 8] | ||||
|     value_type: double | ||||
|     value: 35 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 40FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD65E20, 8] | ||||
|     value_type: double | ||||
|     value: 40 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 45FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD65E20, 8] | ||||
|     value_type: double | ||||
|     value: 45 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 50FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD65E20, 8] | ||||
|     value_type: double | ||||
|     value: 50 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 55FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD65E20, 8] | ||||
|     value_type: double | ||||
|     value: 55 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 60FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD65E20, 8] | ||||
|     value_type: double | ||||
|     value: 60 | ||||
| @ -0,0 +1,93 @@ | ||||
| # EA SPORTS FC 24 1.55.bc14 | ||||
| # BID: 51D25A22EBBBAB37 | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| 15FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD69E20, 8] | ||||
|     value_type: double | ||||
|     value: 15 | ||||
| 20FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD69E20, 8] | ||||
|     value_type: double | ||||
|     value: 20 | ||||
| 25FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD69E20, 8] | ||||
|     value_type: double | ||||
|     value: 25 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 30FPS: | ||||
|   # Internal FPS Lock (default value is 30) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD69E20, 8] | ||||
|     value_type: double | ||||
|     value: 30 | ||||
| 35FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD69E20, 8] | ||||
|     value_type: double | ||||
|     value: 35 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 40FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD69E20, 8] | ||||
|     value_type: double | ||||
|     value: 40 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 45FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD69E20, 8] | ||||
|     value_type: double | ||||
|     value: 45 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 50FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD69E20, 8] | ||||
|     value_type: double | ||||
|     value: 50 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 55FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD69E20, 8] | ||||
|     value_type: double | ||||
|     value: 55 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 60FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD69E20, 8] | ||||
|     value_type: double | ||||
|     value: 60 | ||||
| @ -0,0 +1,93 @@ | ||||
| # EA SPORTS FC 24 1.55.7eb0 | ||||
| # BID: 538BB4DE29BF89F3 | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| 15FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD68E20, 8] | ||||
|     value_type: double | ||||
|     value: 15 | ||||
| 20FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD68E20, 8] | ||||
|     value_type: double | ||||
|     value: 20 | ||||
| 25FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD68E20, 8] | ||||
|     value_type: double | ||||
|     value: 25 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 30FPS: | ||||
|   # Internal FPS Lock (default value is 30) | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD68E20, 8] | ||||
|     value_type: double | ||||
|     value: 30 | ||||
| 35FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD68E20, 8] | ||||
|     value_type: double | ||||
|     value: 35 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 40FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD68E20, 8] | ||||
|     value_type: double | ||||
|     value: 40 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 45FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD68E20, 8] | ||||
|     value_type: double | ||||
|     value: 45 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 50FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD68E20, 8] | ||||
|     value_type: double | ||||
|     value: 50 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 55FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD68E20, 8] | ||||
|     value_type: double | ||||
|     value: 55 | ||||
|   - | ||||
|     type: block | ||||
|     what: timing | ||||
| 60FPS: | ||||
|   # Internal FPS Lock | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xCD68E20, 8] | ||||
|     value_type: double | ||||
|     value: 60 | ||||
| @ -1,5 +1,5 @@ | ||||
| # The Legend of Heroes: Trails of Cold Steel IV 1.0.3 | ||||
| # BID: 8C93B930348C9787 | ||||
| # BID: 59159483CF88330F | ||||
| # Button polling is 2x more sensitive to holding any button | ||||
| 
 | ||||
| unsafeCheck: true | ||||
|  | ||||
| @ -204,10 +204,10 @@ unsafeCheck: true | ||||
|     type: write | ||||
|     address: [MAIN, 0x59FDD30, 0] | ||||
|     value_type: float | ||||
|     value: [0, 0] | ||||
|     value: [60, 60] | ||||
|   # r.VSync | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x51A7A78, 0] | ||||
|     value_type: int32 | ||||
|     value: [0, 0] | ||||
|     value: [0, 0] | ||||
|  | ||||
| @ -0,0 +1,145 @@ | ||||
| # Contra: Rogue Corps 1.3.0 | ||||
| # BID: 4CCD2F6D331DD104 | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| MASTER_WRITE: | ||||
|   # Read FPS target from code cave at MAIN + 0xA13170 | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x2004 | ||||
|     value_type: uint32 | ||||
|     value: 0x1428445B | ||||
|   # CODE CAVE - read FPS target from MAIN + 0xD94628 | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0xA13170 | ||||
|     value_type: uint32 | ||||
|     value: | ||||
|       - 0xB0001C08 | ||||
|       - 0xB9462908 | ||||
|       - 0x17D7BBA4 | ||||
|   # Redirect DR time factor to MAIN + 0x2ECAB38 | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x2140 | ||||
|     value_type: uint32 | ||||
|     value: | ||||
|       - 0x90017648 | ||||
|       - 0xBD4B3909 | ||||
|   # Default value | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x2ECAB38 | ||||
|     value_type: float | ||||
|     value: 1000000 | ||||
| 15FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xD94628] | ||||
|     value_type: uint32 | ||||
|     value: 15 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2ECAB38] | ||||
|     value_type: float | ||||
|     value: 2000000 | ||||
| 20FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xD94628] | ||||
|     value_type: uint32 | ||||
|     value: 20 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2ECAB38] | ||||
|     value_type: float | ||||
|     value: 1500000 | ||||
| 25FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xD94628] | ||||
|     value_type: uint32 | ||||
|     value: 25 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2ECAB38] | ||||
|     value_type: float | ||||
|     value: 1200000 | ||||
| 30FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xD94628] | ||||
|     value_type: uint32 | ||||
|     value: 30 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2ECAB38] | ||||
|     value_type: float | ||||
|     value: 1000000 | ||||
| 35FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xD94628] | ||||
|     value_type: uint32 | ||||
|     value: 35 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2ECAB38] | ||||
|     value_type: float | ||||
|     value: 857142 | ||||
| 40FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xD94628] | ||||
|     value_type: uint32 | ||||
|     value: 40 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2ECAB38] | ||||
|     value_type: float | ||||
|     value: 750000 | ||||
| 45FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xD94628] | ||||
|     value_type: uint32 | ||||
|     value: 45 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2ECAB38] | ||||
|     value_type: float | ||||
|     value: 666666 | ||||
| 50FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xD94628] | ||||
|     value_type: uint32 | ||||
|     value: 50 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2ECAB38] | ||||
|     value_type: float | ||||
|     value: 600000 | ||||
| 55FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xD94628] | ||||
|     value_type: uint32 | ||||
|     value: 55 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2ECAB38] | ||||
|     value_type: float | ||||
|     value: 545454 | ||||
| 60FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0xD94628] | ||||
|     value_type: uint32 | ||||
|     value: 60 | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x2ECAB38] | ||||
|     value_type: float | ||||
|     value: 500000 | ||||
| @ -0,0 +1,275 @@ | ||||
| # The Legend of Zelda: Tears of The Kingdom 1.2.1 | ||||
| # BID: 9B4E43650501A4D4 | ||||
| 
 | ||||
| Addons: | ||||
|   - atmosphere/contents/0100F2C0115B6000/exefs/main.npdm | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| MASTER_WRITE: | ||||
|   # Remove double buffer | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x21BE6D0 | ||||
|     value_type: uint32 | ||||
|     value:  | ||||
|       - 0x52800021 | ||||
|       - 0x52800068 | ||||
|       - 0x39029661 | ||||
|   # CODE CAVE | ||||
|   -  | ||||
|     type: bytes | ||||
|     main_offset: 0x2B19A50 | ||||
|     value_type: uint32 | ||||
|     value:  | ||||
|       - 0xD63F0100 | ||||
|       - 0x97FFF72F | ||||
|       - 0xB000E081 | ||||
|       - 0xF9455828 | ||||
|       - 0xF9055820 | ||||
|       - 0xB5000048 | ||||
|       - 0x17E5BF5A | ||||
|       - 0xCB080000 | ||||
|       - 0x97FFF820 | ||||
|       - 0x528502A2 | ||||
|       - 0x72A00FE2 | ||||
|       - 0x52881541 | ||||
|       - 0x72A07F21 | ||||
|       - 0xEB01001F | ||||
|       - 0x9A80C020 | ||||
|       - 0xEB02001F | ||||
|       - 0x9A80B040 | ||||
|       - 0x1E630000 | ||||
|       - 0x52800042 | ||||
|       - 0x1AC20821 | ||||
|       - 0x1E630021 | ||||
|       - 0x1E611800 | ||||
|       - 0xB000E081 | ||||
|       - 0x1E624000 | ||||
|       - 0xBD0AB820 | ||||
|       - 0x14000008 | ||||
|       - 0xB000E081 | ||||
|       - 0xB90ABC22 | ||||
|       - 0x178E31AD | ||||
|       - 0x52800042 | ||||
|       - 0xB000E081 | ||||
|       - 0xB90ABC22 | ||||
|       - 0x17FFFF0C | ||||
|       - 0xB94ABC22 | ||||
|       - 0x34000102 | ||||
|       - 0xF85F0260 | ||||
|       - 0x7100045F | ||||
|       - 0x540000CC | ||||
|       - 0x12800021 | ||||
|       - 0xF000DAA8 | ||||
|       - 0xF9451508 | ||||
|       - 0xD63F0100 | ||||
|       - 0x17E5BF36 | ||||
|       - 0xB000E082 | ||||
|       - 0xB94AC041 | ||||
|       - 0xB90AC05F | ||||
|       - 0xF000DAA8 | ||||
|       - 0xF9451508 | ||||
|       - 0xD63F0100 | ||||
|       - 0x17E5BF2F | ||||
|       - 0x52800022 | ||||
|       - 0x17FFFFE7 | ||||
|       - 0x1E202048 | ||||
|       - 0x54000041 | ||||
|       - 0x1E2E1000 | ||||
|       - 0x1E222808 | ||||
|       - 0x1E202028 | ||||
|       - 0x1770F360 | ||||
|       - 0xB000E081 | ||||
|       - 0xBD4AB821 | ||||
|       - 0xBD4C5400 | ||||
|       - 0x1E210800 | ||||
|       - 0xD65F03C0 | ||||
|   # Connect game speed to code cave's calculation | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x24897CC | ||||
|     value_type: uint32 | ||||
|     value: 0x141A40A1 | ||||
|   # Lock prerendered cutscenes to 30 FPS and unlock after while reading expected interval from MAIN + 0x472AAC0 | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x2484F30 | ||||
|     value_type: uint32 | ||||
|     value: 0x941A52FA | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0xEA42E8 | ||||
|     value_type: uint32 | ||||
|     value: 0x1471D5F7 | ||||
|   # Adjust DR timing to FPS target by reading factor from MAIN + 0x472AAC4 | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x972C14 | ||||
|     value_type: uint32 | ||||
|     value: | ||||
|       - 0x9001EDC8 | ||||
|       - 0xBD4AC501 | ||||
|   # Read game's speed from bss caved game speed at MAIN + 0x472AAB8 | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x7EDE7C | ||||
|     value_type: uint32 | ||||
|     value:  | ||||
|       - 0xB001F9E1 | ||||
|       - 0x1E27D001 | ||||
|       - 0xBD4AB820 | ||||
|       - 0xD503201F | ||||
|       - 0xF001F228 | ||||
|       - 0xAA0003F3 | ||||
|       - 0x1E211801 | ||||
|       - 0xD503201F | ||||
|   # Fix black background for D-pad menu | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x7568B0 | ||||
|     value_type: uint32 | ||||
|     value: 0x148F0C9C | ||||
|   # Fix vertical aiming speed for Ultrahand (thanks to Last Breath for pointer) | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x1D48D40 | ||||
|     value_type: uint32 | ||||
|     value: 0x9437437E | ||||
|   # Default values | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x472AAB8 | ||||
|     value_type: float | ||||
|     value: 1.0 | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x472AAC0 | ||||
|     value_type: int32 | ||||
|     value: -2 | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x472AAC4 | ||||
|     value_type: float | ||||
|     value: 0.001 | ||||
| 15FPS: | ||||
|   # Set default interval to use by patch when exiting prerender cutscene | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC0] | ||||
|     value_type: int32 | ||||
|     value: -4 | ||||
|   # DR GPU Time Factor | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC4] | ||||
|     value_type: float | ||||
|     value: 0.0005 | ||||
| 20FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC0] | ||||
|     value_type: int32 | ||||
|     value: -3 | ||||
|   # DR GPU Time Factor | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC4] | ||||
|     value_type: float | ||||
|     value: 0.000667 | ||||
| 25FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC0] | ||||
|     value_type: int32 | ||||
|     value: -2 | ||||
|   # DR GPU Time Factor | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC4] | ||||
|     value_type: float | ||||
|     value: 0.000834 | ||||
| 30FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC0] | ||||
|     value_type: int32 | ||||
|     value: -2 | ||||
|   # DR GPU Time Factor | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC4] | ||||
|     value_type: float | ||||
|     value: 0.001 | ||||
| 35FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC0] | ||||
|     value_type: int32 | ||||
|     value: -1 | ||||
|   # DR GPU Time Factor | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC4] | ||||
|     value_type: float | ||||
|     value: 0.00117 | ||||
| 40FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC0] | ||||
|     value_type: int32 | ||||
|     value: -1 | ||||
|   # DR GPU Time Factor | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC4] | ||||
|     value_type: float | ||||
|     value: 0.00134 | ||||
| 45FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC0] | ||||
|     value_type: int32 | ||||
|     value: -1 | ||||
|   # DR GPU Time Factor | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC4] | ||||
|     value_type: float | ||||
|     value: 0.0015 | ||||
| 50FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC0] | ||||
|     value_type: int32 | ||||
|     value: -1 | ||||
|   # DR GPU Time Factor | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC4] | ||||
|     value_type: float | ||||
|     value: 0.00167 | ||||
| 55FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC0] | ||||
|     value_type: int32 | ||||
|     value: -1 | ||||
|   # DR GPU Time Factor | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC4] | ||||
|     value_type: float | ||||
|     value: 0.00184 | ||||
| 60FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC0] | ||||
|     value_type: int32 | ||||
|     value: -1 | ||||
|   # DR GPU Time Factor | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x472AAC4] | ||||
|     value_type: float | ||||
|     value: 0.002 | ||||
| @ -0,0 +1,82 @@ | ||||
| # SnowRunner 1.0.28 | ||||
| # BID: 2CD8707981B46DAF | ||||
| # Just search for 0x42055555 | ||||
| 
 | ||||
| unsafeCheck: true | ||||
| 
 | ||||
| MASTER_WRITE: | ||||
| # Redirect DR frametime target to MAIN+0x3538158 | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x187DEA4 | ||||
|     value_type: uint32 | ||||
|     value:  | ||||
|       - 0xF000E5CA | ||||
|       - 0xBD415942 | ||||
|   # default value | ||||
|   - | ||||
|     type: bytes | ||||
|     main_offset: 0x3538158 | ||||
|     value_type: float | ||||
|     value: 33.3333333333 | ||||
| 15FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x3538158] | ||||
|     value_type: float | ||||
|     value: 66.6666666666 | ||||
| 20FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x3538158] | ||||
|     value_type: float | ||||
|     value: 50 | ||||
| 25FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x3538158] | ||||
|     value_type: float | ||||
|     value: 40 | ||||
| 30FPS: | ||||
|   # default value | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x3538158] | ||||
|     value_type: float | ||||
|     value: 33.3333333333 | ||||
| 35FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x3538158] | ||||
|     value_type: float | ||||
|     value: 28.5714 | ||||
| 40FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x3538158] | ||||
|     value_type: float | ||||
|     value: 25 | ||||
| 45FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x3538158] | ||||
|     value_type: float | ||||
|     value: 22.2222222222 | ||||
| 50FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x3538158] | ||||
|     value_type: float | ||||
|     value: 20 | ||||
| 55FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x3538158] | ||||
|     value_type: float | ||||
|     value: 18.1818181818 | ||||
| 60FPS: | ||||
|   - | ||||
|     type: write | ||||
|     address: [MAIN, 0x3538158] | ||||
|     value_type: float | ||||
|     value: 16.6666666666 | ||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,5 +1,5 @@ | ||||
| { | ||||
|     "name"  : "sys-patch", | ||||
|     "tid"   : "420000000000000B", | ||||
|     "requires_reboot": true | ||||
|     "requires_reboot": false | ||||
| } | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,6 +1,14 @@ | ||||
| [boot] | ||||
| clear hex_sum_cache | ||||
| 
 | ||||
| del '/atmosphere/config_templates/' | ||||
| del '/atmosphere/contents/00FF0000636C6BFF/toolbox.json' | ||||
| del '/atmosphere/exefs_patches/logo_sloth/' | ||||
| del '/atmosphere/hosts/domains.txt' | ||||
| del '/atmosphere/kip_patches/default_nogc/' | ||||
| del '/atmosphere/kips/.bak/*.kip' | ||||
| 
 | ||||
| 
 | ||||
| del '/bootloader/ini/!kefir_updater.ini' | ||||
| del '/bootloader/ini/kefir_updater.ini' | ||||
| del '/bootloader/ini/fullstock.ini' | ||||
| @ -17,14 +25,24 @@ del '/bootloader/bootlogo_kefir.bmp' | ||||
| del '/bootloader/updating.bmp' | ||||
| del '/bootloader/4IFIR.ini' | ||||
| 
 | ||||
| del '/atmosphere/contents/00FF0000636C6BFF/toolbox.json' | ||||
| del '/SaltySD/plugins/NX-FPS.elf' | ||||
| del '/SaltySD/plugins/ReverseNX-RT.elf' | ||||
| 
 | ||||
| del '/config/kefir-helper/' | ||||
| del '/config/kefir-updater/' | ||||
| del '/config/nx-hbmenu/' | ||||
| del '/config/Ultrahand/' | ||||
| del '/config/Uberhand/' | ||||
| 
 | ||||
| 
 | ||||
| del '/games/hbmenu_[0104444444440000].nsp' | ||||
| del '/games/Homebrew.Menu.v3.5.1.nsp' | ||||
| del '/games/Homebrew.Menu.v3.6.0.nsp' | ||||
| 
 | ||||
| 
 | ||||
| del '/SaltySD/plugins/NX-FPS.elf' | ||||
| del '/SaltySD/plugins/ReverseNX-RT.elf' | ||||
| 
 | ||||
| 
 | ||||
| del '/switch/DBI/.DBI.nro.star' | ||||
| del '/switch/kefir-updater/' | ||||
| del '/switch/mhz.nro' | ||||
| del '/switch/MicroMemBench.nro' | ||||
| @ -35,16 +53,16 @@ del '/switch/.overlays/InfoNX-ovl.ovl' | ||||
| del '/switch/.overlays/Ultra-Status-Monitor.ovl' | ||||
| del '/switch/.overlays/sys-clk-overlay.ovl' | ||||
| 
 | ||||
| del '/games/hbmenu_[0104444444440000].nsp' | ||||
| del '/games/Homebrew.Menu.v3.5.1.nsp' | ||||
| del '/games/Homebrew.Menu.v3.6.0.nsp' | ||||
| del '/atmosphere/kips/.bak/*.kip' | ||||
| del '/switch/.packages/Ultra Cleaner/' | ||||
| del '/switch/.packages/4IFIR Wizard/' | ||||
| del '/switch/.packages/DBI/' | ||||
| del '/switch/.packages/Translate Interface/' | ||||
| 
 | ||||
| 
 | ||||
| del '/atmosphere/crash_reports/' | ||||
| del '/atmosphere/erpt_reports/' | ||||
| del '/atmosphere/fatal_reports/' | ||||
| 
 | ||||
| del '/switch/.packages/Ultra Cleaner/' | ||||
| del '/switch/.packages/4IFIR Wizard/' | ||||
| 
 | ||||
| 
 | ||||
| refresh | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user