mirror of
https://github.com/Ultra-NX/UltraNX.git
synced 2025-11-09 15:47:15 +00:00
Ultra 2.6|R3
This commit is contained in:
parent
fe39bfad97
commit
6224f511c8
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,8 +1,6 @@
|
||||
# Agatha Christie - Hercule Poirot: The First Cases 1.0.3
|
||||
# Agatha Christie - Hercule Poirot: The First Cases 1.0.3/1.0.3.1
|
||||
# BID: 1570FE23108B93C4
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# fixedDeltaTime
|
||||
-
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
# Tiebreak+: Official Game of the ATP and WTA 1.4.0
|
||||
# BID: 612E3D607D2A13BB
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: dr_target
|
||||
value_type: float
|
||||
default_value: 0.03333333333
|
||||
evaluate: "0.8 / FPS_TARGET" # we are using this trick because function is overengineered and it's not easy to just use standard 1 / FPS_TARGET
|
||||
MASTER_WRITE:
|
||||
# Triple buffer
|
||||
# REF: 00 40 00 00 00 04 00 00 00 88 00 00 02 00 00 00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1A8B39C
|
||||
value_type: uint32
|
||||
value: 3
|
||||
# Redirect Dynamic Resolution target reading to MAIN + 0x30C3F00
|
||||
# REF: 28 11 91 52 08 A1 A7 72 03 01 27 1E
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x1483084
|
||||
instructions: [
|
||||
[adrp, x8, $dr_target],
|
||||
[ldr, s3, [x8, $dr_target]],
|
||||
[nop]
|
||||
]
|
||||
@ -0,0 +1,25 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.5.0.0
|
||||
# BID: CA61076D0CE6670D
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x866F768, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x86AA2E0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x7EA9F88, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,11 @@
|
||||
# Atelier Resleriana: The Red Alchemist & the White Guardian 1.2a
|
||||
# BID: 6ACDAEE7DDC5E503
|
||||
|
||||
ALL_FPS:
|
||||
# MagicaCloth2.MagicaManager_TypeInfo
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x777A550, 0xB8, 0, 0x10, 0x20, 0x10]
|
||||
address_unsafe: true
|
||||
value_type: uint32
|
||||
value: "FPS_TARGET + 5"
|
||||
@ -0,0 +1,58 @@
|
||||
# 삼국지8 REMAKE 1.0.8
|
||||
# BID: 3BA6C7665F67A711
|
||||
# Cursor speed is tied to framerate
|
||||
|
||||
DECLARATIONS:
|
||||
# DON'T PUT ANYTHING BETWEEN - START
|
||||
-
|
||||
type: variable
|
||||
name: fps_lock
|
||||
value_type: uint32
|
||||
default_value: 30
|
||||
evaluate: FPS_LOCK_TARGET
|
||||
-
|
||||
type: variable
|
||||
name: fps_lock2
|
||||
value_type: uint32
|
||||
default_value: 60
|
||||
evaluate: FPS_LOCK_TARGET
|
||||
-
|
||||
type: variable
|
||||
name: game_speed
|
||||
value_type: float
|
||||
default_value: 0.0333333333
|
||||
evaluate: "1/FPS_TARGET"
|
||||
-
|
||||
type: variable
|
||||
name: game_speed2
|
||||
value_type: float
|
||||
default_value: 0.0166666666
|
||||
# DON'T PUT ANYTHING BETWEEN - END
|
||||
-
|
||||
type: code
|
||||
name: fpsLock
|
||||
instructions: [
|
||||
[adrp, x8, $fps_lock],
|
||||
[ldr, w8, [x8, $fps_lock]],
|
||||
[ret]
|
||||
]
|
||||
MASTER_WRITE:
|
||||
# Redirect FPS Lock, REF: A8 EA 00 B9 08 00 40 B9, LDR W8, [X0]
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x1F902CC
|
||||
instructions: [
|
||||
[bl, _fpsLock()]
|
||||
]
|
||||
# Redirect game speed, REF: 08 31 9F 9A 20 79 68 BC 68 6E 41 B9
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x88B320
|
||||
instructions: [
|
||||
[adrp, x8, $game_speed],
|
||||
[ldr, s0, [x8, $game_speed]]
|
||||
]
|
||||
ALL_FPS:
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -1,8 +1,6 @@
|
||||
# Momotaro Dentetsu: Showa, Heisei, Reiwa mo Teiban! Asia Edition 1.0.1
|
||||
# BID: B2D4462B71536EC6
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Remove double buffer
|
||||
-
|
||||
@ -27,7 +25,7 @@ ALL_FPS:
|
||||
value: [FPS_TARGET, "60 / FPS_TARGET"]
|
||||
# Blocking game to max 60 FPS because setting game speed ratio below 1 causes glitches
|
||||
-
|
||||
type: evaluate_compare
|
||||
type: compare
|
||||
compare_address: [MAIN, 0xFF7090]
|
||||
compare_type: ">"
|
||||
compare_value_type: float
|
||||
@ -36,7 +34,7 @@ ALL_FPS:
|
||||
value_type: float
|
||||
value: 60
|
||||
-
|
||||
type: evaluate_compare
|
||||
type: compare
|
||||
compare_address: [MAIN, 0xFF7090]
|
||||
compare_type: "=="
|
||||
compare_value_type: float
|
||||
@ -50,5 +48,4 @@ ALL_FPS:
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x10D8028]
|
||||
value_type: uint32
|
||||
|
||||
value: "VSYNC_TARGET - 1"
|
||||
|
||||
@ -0,0 +1,43 @@
|
||||
# Trails in the Sky 1st Chapter 1.0.5
|
||||
# BID: E5F70FFCBD0DD378
|
||||
|
||||
DECLARATIONS:
|
||||
# Lock Max Handheld Resolution to 720p instead of 900p
|
||||
-
|
||||
type: code
|
||||
name: adjustDrResToNativeInHH
|
||||
instructions: [
|
||||
[cmp, w10, 1280],
|
||||
[b.le, :goto1],
|
||||
[adrp, x21, 0x730000],
|
||||
[ldr, w21, [x21, 0x820]], ## REF: nn::oe::GetOperationMode in nnMain
|
||||
[cbnz, w21, :goto1],
|
||||
[mov, w10, 1280],
|
||||
[mov, w8, 720],
|
||||
:goto1, [stp, w10, w8, [x19, 0x10]],
|
||||
[ret]
|
||||
]
|
||||
MASTER_WRITE:
|
||||
## REF: 88 C2 88 1A 6A 22 02 29
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x2D0444
|
||||
instructions: [
|
||||
[bl, _adjustDrResToNativeInHH()]
|
||||
]
|
||||
ALL_FPS:
|
||||
# Min Delta
|
||||
## REF: C1 03 80 52 28 4D 28 9B, first ADRP + ADD below it
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x730850, 0x2C]
|
||||
value_type: uint32
|
||||
value: FPS_TARGET
|
||||
# Dynamic Resolution
|
||||
## REF: First function in .init_array section, ADRP + ADD + 0x220 (default float: 2)
|
||||
## Adding there 0.9 by myself because game seems to have issues with reaching 60 FPS without it
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x7303D0]
|
||||
value_type: float
|
||||
value: 0.95
|
||||
@ -0,0 +1,10 @@
|
||||
# 英雄傳說 黎之軌跡Ⅱ for Nintendo Switch 1.0.1
|
||||
# BID: 503ACC27B3F97603
|
||||
|
||||
ALL_FPS:
|
||||
# REF: 88 01 80 52 C1 03 80 52 28 4D 28 9B 29 00 80 52, first ADRP + ADD below it
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6ECEB8, 0x34]
|
||||
value_type: uint32
|
||||
value: FPS_TARGET
|
||||
@ -0,0 +1,25 @@
|
||||
# Rune Factory: Guardians of Azuma 1.1.0
|
||||
# BID: 742CA53262A767AE
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F66D40, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8FA0470, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x7F7F6E8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,53 @@
|
||||
# 모모타로전철 ~쇼와 헤이세이 레이와에서도 국룰!~ Korea Edition 1.0.1
|
||||
# BID: A4A3B5A20B03B2A7
|
||||
|
||||
MASTER_WRITE:
|
||||
# Remove double buffer
|
||||
## REF: E1 80 82 52 E0 03 13 AA, MOV W1, #2 below it
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x1B410
|
||||
instructions: [
|
||||
[mov, w1, 3]
|
||||
]
|
||||
## REF: Use xref of function where is passed w1 in patch above
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x5752C
|
||||
instructions: [
|
||||
[mov, w1, 3]
|
||||
]
|
||||
ALL_FPS:
|
||||
# REF: 20 59 60 BC
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xFF6098]
|
||||
value_type: float
|
||||
value: [FPS_TARGET, "60 / FPS_TARGET"]
|
||||
# Blocking game to max 60 FPS because setting game speed ratio below 1 causes glitches
|
||||
-
|
||||
type: compare
|
||||
compare_address: [MAIN, 0xFF6098]
|
||||
compare_type: ">"
|
||||
compare_value_type: float
|
||||
compare_value: 60
|
||||
address: [MAIN, 0xFF6098]
|
||||
value_type: float
|
||||
value: 60
|
||||
-
|
||||
type: compare
|
||||
compare_address: [MAIN, 0xFF6098]
|
||||
compare_type: "=="
|
||||
compare_value_type: float
|
||||
compare_value: 60
|
||||
address: [MAIN, 0xFF609C]
|
||||
value_type: float
|
||||
value: 1
|
||||
# Unknown value that is set based on FPS Lock function argument, 0 = 60 FPS, 1 = 30 FPS, 2 = 20 FPS, 3 = 15 FPS
|
||||
# According to IDA is not used at all, but writing this anyway
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x10D7028]
|
||||
value_type: uint32
|
||||
value: "VSYNC_TARGET - 1"
|
||||
@ -0,0 +1,43 @@
|
||||
# 空の軌跡 the 1st 1.0.5
|
||||
# BID: 555E8872455F107E
|
||||
|
||||
DECLARATIONS:
|
||||
# Lock Max Handheld Resolution to 720p instead of 900p
|
||||
-
|
||||
type: code
|
||||
name: adjustDrResToNativeInHH
|
||||
instructions: [
|
||||
[cmp, w10, 1280],
|
||||
[b.le, :goto1],
|
||||
[adrp, x21, 0x72F000],
|
||||
[ldr, w21, [x21, 0x820]], ## REF: nn::oe::GetOperationMode in nnMain
|
||||
[cbnz, w21, :goto1],
|
||||
[mov, w10, 1280],
|
||||
[mov, w8, 720],
|
||||
:goto1, [stp, w10, w8, [x19, 0x10]],
|
||||
[ret]
|
||||
]
|
||||
MASTER_WRITE:
|
||||
## REF: 6A 22 02 29
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x2CF374
|
||||
instructions: [
|
||||
[bl, _adjustDrResToNativeInHH()]
|
||||
]
|
||||
ALL_FPS:
|
||||
# Min Delta
|
||||
## REF: C1 03 80 52 28 4D 28 9B, first ADRP + ADD below it
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x72F850, 0x2C]
|
||||
value_type: uint32
|
||||
value: FPS_TARGET
|
||||
# Dynamic Resolution
|
||||
## REF: First function in .init_array section, ADRP + ADD + 0x220 (default float: 2)
|
||||
## Adding there 0.9 by myself because game seems to have issues with reaching 60 FPS without it
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x72F3D0]
|
||||
value_type: float
|
||||
value: 0.95
|
||||
@ -103,4 +103,4 @@ ALL_FPS:
|
||||
address: [MAIN, 0xA767B0, 0x140, 0x1B0, 0x20, 0x34]
|
||||
address_unsafe: true
|
||||
value_type: float
|
||||
value: ["(30 / FPS_TARGET) * 1.95", "(30 / FPS_TARGET) * 1.7"]
|
||||
value: ["(30 / FPS_TARGET) * 1.95", "(30 / FPS_TARGET) * 1.7"]
|
||||
|
||||
@ -92,5 +92,3 @@ ALL_FPS:
|
||||
address_unsafe: true
|
||||
value_type: float
|
||||
value: ["(30 / FPS_TARGET) * 1.95", "(30 / FPS_TARGET) * 1.7"]
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
# EA SPORTS FC 26 1.80.73bf
|
||||
# BID: 4EAC4BED64458C8C
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xC5D1448, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -7,4 +7,7 @@ ALL_FPS:
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xC5CC448, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
# EA SPORTS FC 26 1.80.43d0
|
||||
# BID: DF48D885EB914AC7
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xC5CB448, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,10 @@
|
||||
# 英雄伝説 創の軌跡 1.0.6
|
||||
# BID: 086367BD573D1899
|
||||
|
||||
ALL_FPS:
|
||||
# Set game to 60 FPS mode
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x4FBEA80, 0x20A4]
|
||||
value_type: uint32
|
||||
value: 0
|
||||
@ -0,0 +1,30 @@
|
||||
# Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.5.1
|
||||
# BID: 540477886936CDC5
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: dr_target
|
||||
value_type: float
|
||||
default_value: 0.035714287 # Basically = 1/28
|
||||
evaluate: "1.01 / FPS_TARGET"
|
||||
MASTER_WRITE:
|
||||
# Redirect DR
|
||||
# REF: A9 24 89 52 49 A2 A7 72, second REF
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x10F7B74
|
||||
instructions: [
|
||||
[adrp, x9, $dr_target],
|
||||
[ldr, s1, [x9, $dr_target]],
|
||||
[nop]
|
||||
]
|
||||
ALL_FPS:
|
||||
# Disable FPS Lock
|
||||
# REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x2FEACB0, 0xE0, 0x294]
|
||||
address_unsafe: true
|
||||
value_type: uint8
|
||||
value: 0
|
||||
@ -0,0 +1,30 @@
|
||||
# 優米雅的鍊金工房 ~追憶之鍊金術士與幻創之地~ 1.5.1
|
||||
# BID: FB3497202E5934FB
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: dr_target
|
||||
value_type: float
|
||||
default_value: 0.035714287 # Basically = 1/28
|
||||
evaluate: "1.01 / FPS_TARGET"
|
||||
MASTER_WRITE:
|
||||
# Redirect DR
|
||||
# REF: A9 24 89 52 49 A2 A7 72, second REF
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x10F7B74
|
||||
instructions: [
|
||||
[adrp, x9, $dr_target],
|
||||
[ldr, s1, [x9, $dr_target]],
|
||||
[nop]
|
||||
]
|
||||
ALL_FPS:
|
||||
# Disable FPS Lock
|
||||
# REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x2FEACB0, 0xE0, 0x294]
|
||||
address_unsafe: true
|
||||
value_type: uint8
|
||||
value: 0
|
||||
@ -1,8 +1,6 @@
|
||||
# EA SPORTS FC 25 1.7e.e73a
|
||||
# BID: 39296BB1FD4A3F20
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
@ -10,3 +8,6 @@ ALL_FPS:
|
||||
address: [MAIN, 0xCEEFA88, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
# 碧藍航線 Crosswave 1.0.1
|
||||
# BID: 1A876E8881CEFBE3
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bUseFixedFrameRate and bSmoothFrameRate
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6BE5318, 0x778]
|
||||
address_unsafe: true
|
||||
value_type: uint32
|
||||
value: 7
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6BE5DE8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6394958, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,54 @@
|
||||
# 英雄伝説 閃の軌跡Ⅳ 1.0.2
|
||||
# BID: 652D04C4BD51AE83
|
||||
# Button polling is 2x more sensitive to holding any button
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: fps_lock
|
||||
value_type: uint32
|
||||
default_value: 33333333
|
||||
evaluate: "FRAMETIME_TARGET * 930000"
|
||||
-
|
||||
type: variable
|
||||
name: frame_time
|
||||
value_type: float
|
||||
default_value: 0.0333333333
|
||||
-
|
||||
type: code
|
||||
name: dynamicSpeed
|
||||
instructions: [
|
||||
[str, x0, [x19, 8]],
|
||||
[fcvt, s4, d0],
|
||||
[adrp, x8, $frame_time],
|
||||
[str, s4, [x8, $frame_time]],
|
||||
[ret]
|
||||
]
|
||||
MASTER_WRITE:
|
||||
# Move loading FPS lock time
|
||||
## REF: MOV with 0x1FCA055
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x60A998
|
||||
instructions: [
|
||||
[adrp, x9, $fps_lock],
|
||||
[ldr, w9, [x9, $fps_lock]]
|
||||
]
|
||||
# Write game's loop time as float
|
||||
## REF: 1F 01 09 EB 00 08 61 1E, replace STR X0, [X19,#8] below it
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x60A9E8
|
||||
instructions: [
|
||||
[bl, _dynamicSpeed()]
|
||||
]
|
||||
# Read lowest timing float factor
|
||||
## REF: E8 03 1F 2A 00 20 22 1E 60 5E 1A BD, ADRP + FMINM + LDR above it
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x65518
|
||||
instructions: [
|
||||
[adrp, x8, $frame_time],
|
||||
[fminnm, s0, s0, s2],
|
||||
[ldr, s2, [x8, $frame_time]]
|
||||
]
|
||||
@ -0,0 +1,26 @@
|
||||
# Azur Lane: Crosswave 1.0.1
|
||||
# BID: C403B87FCDAD7604
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bUseFixedFrameRate and bSmoothFrameRate
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6BE6318, 0x778]
|
||||
address_unsafe: true
|
||||
value_type: uint32
|
||||
value: 7
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6BE6DE8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6395A88, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,19 @@
|
||||
# Little Nightmares III 1.0.2
|
||||
# BID: 338C569A607B7C30
|
||||
|
||||
ALL_FPS:
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7CACDF8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x74B8210, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,25 @@
|
||||
# Formula Legends 1.0.4
|
||||
# BID: 8FDB10262446CB3D
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x73BBEE8, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x839FF68, 0]
|
||||
value_type: float
|
||||
value: [FRAMETIME_TARGET, FRAMETIME_TARGET]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x83DB780, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,25 @@
|
||||
# MotoGP 25 1.0.4
|
||||
# BID: 499A85D046C70186
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xA060518, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xA09BDD0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x907CC00, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,25 @@
|
||||
# Lynked: Banner of the Spark 1.2.1
|
||||
# BID: 15AFE82282E0EF30
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7EA5348, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7ED3028, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x76D62F8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -18,9 +18,9 @@ DECLARATIONS:
|
||||
type: code
|
||||
name: getVsyncTarget
|
||||
instructions: [
|
||||
[adrp, x1, $vsync_target],
|
||||
[ldr, w1, [x1, $vsync_target]],
|
||||
[mov, w19, w1],
|
||||
[adrp, x0, $vsync_target],
|
||||
[ldr, w0, [x0, $vsync_target]],
|
||||
[mov, w19, w0],
|
||||
[ret]
|
||||
]
|
||||
-
|
||||
@ -72,3 +72,5 @@ MASTER_WRITE:
|
||||
instructions: [
|
||||
[bl, _getDrTarget()]
|
||||
]
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
# NINJA GAIDEN: Ragebound 1.0.6
|
||||
# BID: 1FF44387A22D39F8
|
||||
|
||||
ALL_FPS:
|
||||
# UnityEngine.Time::fixedDeltaTime
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6126A40, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
@ -0,0 +1,10 @@
|
||||
# NINJA GAIDEN: Ragebound 1.0.5
|
||||
# BID: CEDA530B146C0260
|
||||
|
||||
ALL_FPS:
|
||||
# UnityEngine.Time::fixedDeltaTime
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6125900, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
@ -0,0 +1,21 @@
|
||||
# No Man's Sky 6.5.0
|
||||
# BID: 538D60FF5A324C92
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: dr_target
|
||||
value_type: float
|
||||
default_value: 30
|
||||
evaluate: FPS_TARGET
|
||||
MASTER_WRITE:
|
||||
# Redirect DR frametime target
|
||||
# REF: 08 4E A8 52 00 01 27 1E 48 8F A8 52, ADRP + ADD + LDR above that
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x1F9BC40
|
||||
instructions: [
|
||||
[adrp, x9, $dr_target],
|
||||
[ldr, s0, [x9, $dr_target]],
|
||||
[nop]
|
||||
]
|
||||
@ -0,0 +1,11 @@
|
||||
# 閃亂忍忍忍者大戰戰機少女-少女們的響艷- / 섬란 닌닌닌자 대전 넵튠 -소녀들의 향염- 1.0.0
|
||||
# BID: 288908CE7F6177CC
|
||||
|
||||
ALL_FPS:
|
||||
# 30FPS lock bool
|
||||
## REF: C8 01 18 37 68 0A 40 BD, check first ADRP + LDR inside first function below result
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x9F1480, 8, 0x6C]
|
||||
value_type: uint32
|
||||
value: 0
|
||||
@ -0,0 +1,10 @@
|
||||
# 英雄伝説 黎の軌跡II for Nintendo Switch 1.0.1
|
||||
# BID: 63A4CF08E30A56B1
|
||||
|
||||
ALL_FPS:
|
||||
# REF: 88 01 80 52 C1 03 80 52 28 4D 28 9B 29 00 80 52, first ADRP + ADD below it
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6E7998, 0x34]
|
||||
value_type: uint32
|
||||
value: FPS_TARGET
|
||||
@ -0,0 +1,12 @@
|
||||
# 伊蘇X -北境歷險- 1.0.5
|
||||
# BID: 7E06539B5874B9C4
|
||||
# Credits to StevensND for finding assembly instruction from which I have derived pointer address
|
||||
|
||||
ALL_FPS:
|
||||
# Used to set min delta timing for various parts of game + DR target
|
||||
# REF: 00 10 2C 1E 01 E4 00 2F 09 85 9A 52 29 00 A0 72 E1 03 1F 2A first ADRP above it
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xBDA228, 0x34]
|
||||
value_type: uint32
|
||||
value: FPS_TARGET
|
||||
@ -0,0 +1,74 @@
|
||||
# Another Crab's Treasure 1.1.100.3
|
||||
# BID: 807A2202464D445B
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: dr_target
|
||||
value_type: double
|
||||
default_value: 28.57142857142857
|
||||
evaluate: "1000 / (FPS_TARGET + 5)"
|
||||
MASTER_WRITE:
|
||||
# Redirect updating various deltas to read frametime target from UnityEngine.Application::targetFrameRate, REF: 08 10 91 52 08 A1 A7 72
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x18AE7B8
|
||||
instructions: [
|
||||
[adrp, x8, 0x565A000],
|
||||
[ldr, w8, [x8, 0x78]],
|
||||
[ucvtf, s1, w8],
|
||||
[fmov, s0, 1.0],
|
||||
[fdiv, s0, s0, s1]
|
||||
]
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x18B2570
|
||||
instructions: [
|
||||
[adrp, x8, 0x565A000],
|
||||
[ldr, w8, [x8, 0x78]],
|
||||
[ucvtf, s1, w8],
|
||||
[fmov, s0, 1.0],
|
||||
[fdiv, s0, s0, s1]
|
||||
]
|
||||
# Default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x565A078
|
||||
value_type: uint32
|
||||
value: 30
|
||||
# Redirect Dynamic Resolution GPU Timing target in DynamicResolutionScaler::Update
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x1A0E404
|
||||
instructions: [
|
||||
[adrp, x8, $dr_target],
|
||||
[ldr, x8, [x8, $dr_target]],
|
||||
[nop],
|
||||
[nop]
|
||||
]
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x1A0E484
|
||||
instructions: [
|
||||
[adrp, x8, $dr_target],
|
||||
[ldr, x8, [x8, $dr_target]],
|
||||
[ldr, s0, [x19, 0x28]],
|
||||
[nop],
|
||||
[nop]
|
||||
]
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x1A0E4F8
|
||||
instructions: [
|
||||
[adrp, x8, $dr_target],
|
||||
[ldr, x8, [x8, $dr_target]],
|
||||
[nop],
|
||||
[nop]
|
||||
]
|
||||
ALL_FPS:
|
||||
# UnityEngine.Application::targetFrameRate
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x565A078]
|
||||
value_type: uint32
|
||||
value: FPS_TARGET
|
||||
@ -0,0 +1,25 @@
|
||||
# Poppy Playtime: Chapter 4 1.3
|
||||
# BID: 779FC981128BA290
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x7F28990, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8EE4E30, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F20150, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,32 @@
|
||||
# Poppy Playtime: Chapter 3 1.2
|
||||
# BID: 3F1843C4FE400063
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bUseFixedFrameRate
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x778C438, 0xAA4]
|
||||
address_unsafe: true
|
||||
value_type: int32
|
||||
value: 6
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x676D6E8, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7754230, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x778D990, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -1,8 +1,6 @@
|
||||
# EA SPORTS FC 24 1.5a.9115
|
||||
# BID: 217A5C011269C81E
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
@ -10,3 +8,6 @@ ALL_FPS:
|
||||
address: [MAIN, 0xCDF1E20, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
|
||||
@ -1,15 +0,0 @@
|
||||
# Yokai Watch 1 / Yo-kai Watch 1
|
||||
# 妖怪ウォッチ 1.3.0
|
||||
# BID: B6E172353E696E65
|
||||
|
||||
# Bugs: Camera movement is jaggy
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Interval
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8C4534]
|
||||
value_type: int32
|
||||
value: VSYNC_TARGET
|
||||
@ -1,4 +1,4 @@
|
||||
# High On Life 1.0.3/1.0.4
|
||||
# High On Life 1.0.3-1.0.5
|
||||
# BID: 950FB0C3D58D6A7B
|
||||
|
||||
ALL_FPS:
|
||||
|
||||
@ -0,0 +1,58 @@
|
||||
# ROMANCE OF THE THREE KINGDOMS 8 REMAKE 1.0.8
|
||||
# BID: 9F7C33E21279D3E6
|
||||
# Cursor speed is tied to framerate
|
||||
|
||||
DECLARATIONS:
|
||||
# DON'T PUT ANYTHING BETWEEN - START
|
||||
-
|
||||
type: variable
|
||||
name: fps_lock
|
||||
value_type: uint32
|
||||
default_value: 30
|
||||
evaluate: FPS_LOCK_TARGET
|
||||
-
|
||||
type: variable
|
||||
name: fps_lock2
|
||||
value_type: uint32
|
||||
default_value: 60
|
||||
evaluate: FPS_LOCK_TARGET
|
||||
-
|
||||
type: variable
|
||||
name: game_speed
|
||||
value_type: float
|
||||
default_value: 0.0333333333
|
||||
evaluate: "1/FPS_TARGET"
|
||||
-
|
||||
type: variable
|
||||
name: game_speed2
|
||||
value_type: float
|
||||
default_value: 0.0166666666
|
||||
# DON'T PUT ANYTHING BETWEEN - END
|
||||
-
|
||||
type: code
|
||||
name: fpsLock
|
||||
instructions: [
|
||||
[adrp, x8, $fps_lock],
|
||||
[ldr, w8, [x8, $fps_lock]],
|
||||
[ret]
|
||||
]
|
||||
MASTER_WRITE:
|
||||
# Redirect FPS Lock, REF: A8 EA 00 B9 08 00 40 B9, LDR W8, [X0]
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x1F900BC
|
||||
instructions: [
|
||||
[bl, _fpsLock()]
|
||||
]
|
||||
# Redirect game speed, REF: 08 31 9F 9A 20 79 68 BC 68 6E 41 B9
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x88B230
|
||||
instructions: [
|
||||
[adrp, x8, $game_speed],
|
||||
[ldr, s0, [x8, $game_speed]]
|
||||
]
|
||||
ALL_FPS:
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,11 @@
|
||||
# Plants vs. Zombies Battle for Neighborville 1.0.4
|
||||
# BID: 5AD255D6667B6EB5
|
||||
|
||||
ALL_FPS:
|
||||
# fb::Settings<fb::GameRenderSettings>::s_settings + 0x20
|
||||
# Dynamic Resolution frametime target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9ED3AA0, 0x20]
|
||||
value_type: float
|
||||
value: "0.93 * FRAMETIME_TARGET"
|
||||
@ -0,0 +1,12 @@
|
||||
# イースX -NORDICS- 1.0.4
|
||||
# BID: ACF8E5931E38EAA0
|
||||
# Credits to StevensND for finding assembly instruction from which I have derived pointer address
|
||||
|
||||
ALL_FPS:
|
||||
# Used to set min delta timing for various parts of game + DR target
|
||||
# REF: C9 03 80 52 C1 03 80 52 first ADRP above it
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xD87CB8, 0x34]
|
||||
value_type: uint32
|
||||
value: FPS_TARGET
|
||||
@ -0,0 +1,25 @@
|
||||
# Poppy Playtime: Chapter 2 1.4
|
||||
# BID: ACCFF102CED838CE
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x640D6A8, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x73F3290, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x742D7F0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,19 @@
|
||||
# ARK: Survival Evolved 2.0.15
|
||||
# BID: 2B70B1A7B478FCA3
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to one decimal
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7ACB1B8, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7AF93E8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,26 @@
|
||||
# 光明之響 龍奏回音 1.0.0
|
||||
# BID: 069E3EFC16365FFD
|
||||
|
||||
MASTER_WRITE:
|
||||
# Triple buffer
|
||||
# REF: 28 60 81 52 E8 37 00 B9 E8 03 1F 32
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x3AD308
|
||||
instructions: [
|
||||
[mov, w8, 3]
|
||||
]
|
||||
ALL_FPS:
|
||||
# Disable FPS Lock
|
||||
# REF: C8 46 90 52 first ADRP + LDR + LDR above it
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0xFBEDA8]
|
||||
value_type: uint32
|
||||
value: 0
|
||||
# Lipsync fix
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xFBEDBC]
|
||||
value_type: float
|
||||
value: "30.0 / FPS_TARGET"
|
||||
@ -0,0 +1,36 @@
|
||||
# Twilight Monk 1.4.1
|
||||
# BID: 23E85FEDEC96439C
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5E0A268, 0x7A4]
|
||||
address_unsafe: true
|
||||
value_type: uint32
|
||||
# Default is 0x46, bUseFixedFrameRate |= 0x40
|
||||
# By writing 6 we are making sure that other flags are maintained:
|
||||
# bAllowMultiThreadedAnimationUpdate |= 4
|
||||
# bOptimizeAnimBlueprintMemberVariableAccess |= 2
|
||||
value: 6
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x5DDCEC8, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x5E0AB88, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x560EA78, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
@ -0,0 +1,55 @@
|
||||
# 영웅전설 섬의 궤적 IV -THE END OF SAGA- 1.0.0
|
||||
# BID: 0BBD86F62F380844
|
||||
# Button polling is 2x more sensitive to holding any button
|
||||
|
||||
DECLARATIONS:
|
||||
-
|
||||
type: variable
|
||||
name: fps_lock
|
||||
value_type: uint32
|
||||
default_value: 33333333
|
||||
evaluate: "FRAMETIME_TARGET * 930000"
|
||||
-
|
||||
type: variable
|
||||
name: frame_time
|
||||
value_type: float
|
||||
default_value: 0.0333333333
|
||||
-
|
||||
type: code
|
||||
name: dynamicSpeed
|
||||
instructions: [
|
||||
[str, x0, [x19, 8]],
|
||||
[fcvt, s4, d0],
|
||||
[adrp, x8, $frame_time],
|
||||
[str, s4, [x8, $frame_time]],
|
||||
[ret]
|
||||
]
|
||||
MASTER_WRITE:
|
||||
# Move loading FPS lock time
|
||||
## REF: MOV with 0x1FC7945
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x5B22F8
|
||||
instructions: [
|
||||
[adrp, x20, $fps_lock],
|
||||
[ldr, w20, [x20, $fps_lock]]
|
||||
]
|
||||
# Write game's loop time as float
|
||||
## REF: 1F 01 09 EB 00 08 61 1E, replace STR X0, [X19,#8] below it
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x5B2358
|
||||
instructions: [
|
||||
[bl, _dynamicSpeed()]
|
||||
]
|
||||
# Read lowest timing float factor
|
||||
## REF: E8 03 1F 2A 00 20 22 1E 60 5E 1A BD, MOV with 0x3D088889 + FMINM + FMOV above it
|
||||
-
|
||||
type: asm_a64
|
||||
main_offset: 0x5F8E0
|
||||
instructions: [
|
||||
[adrp, x8, $frame_time],
|
||||
[fminnm, s0, s0, s2],
|
||||
[ldr, s2, [x8, $frame_time]],
|
||||
[nop]
|
||||
]
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,5 +1,6 @@
|
||||
{
|
||||
"name": "SaltyNX",
|
||||
"tid": "0000000000534C56",
|
||||
"requires_reboot": true
|
||||
}
|
||||
"requires_reboot": true,
|
||||
"version": "1.5.4"
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -3,19 +3,19 @@
|
||||
"Advanced": "Erweitert",
|
||||
"Edit Global Profile": "Globales Profil bearbeiten",
|
||||
"Temporary Overrides": "Temporäre Überschreibungen",
|
||||
"Temporary Overrides Reset": "Temporäre Überschreibungen Reset",
|
||||
"Temporary Overrides Reset": "Temporäre Überschreibungen Zurücksetzen",
|
||||
"Settings": "Einstellungen",
|
||||
"Enable": "Aktivieren",
|
||||
"Uncapped Clocks": "Unbegrenzte Taktraten",
|
||||
"Override Boost Mode": "Boost Modus überschreiben",
|
||||
"Boost GPU Override": "GPU-Boost Überschreiben",
|
||||
"Auto CPU Boost": "Auto CPU Boost",
|
||||
"Sync ReverseNX": "ReverseNX synchronisieren",
|
||||
"Auto GPU Vmin": "Auto GPU Vmin",
|
||||
"Off": "Aus",
|
||||
"Official Service": "Offizieller Dienst",
|
||||
"Hijack": "Hijack",
|
||||
"GPU Vmin Offset": "GPU Vmin Offset",
|
||||
"App ID": "App ID",
|
||||
"Hijack": "Entführen",
|
||||
"GPU Vmin Offset": "GPU Vmin Versatz",
|
||||
"App ID": "App-ID",
|
||||
"EOS mode": "EOS Modus",
|
||||
"Skin": "Skin",
|
||||
"Now": "Jetzt",
|
||||
@ -25,12 +25,16 @@
|
||||
"Charging": "Lädt",
|
||||
"Official Charger": "Offizielles Ladegerät",
|
||||
"USB Charger": "USB Ladegerät",
|
||||
"Docked Reset": "Gedockt Reset",
|
||||
"Handheld Reset": "Handheld Reset",
|
||||
"Charging Reset": "Lädt Reset",
|
||||
"Official Charger Reset": "Offizielles Ladegerät Reset",
|
||||
"USB Charger Reset": "USB Ladegerät Reset",
|
||||
"Docked Reset": "Gedockt Zurücksetzen",
|
||||
"Handheld Reset": "Handheld Zurücksetzen",
|
||||
"Charging Reset": "Lädt Zurücksetzen",
|
||||
"Official Charger Reset": "Offizielles Ladegerät Zurücksetzen",
|
||||
"USB Charger Reset": "USB Ladegerät Zurücksetzen",
|
||||
"Memory": "Speicher",
|
||||
"Do not override": "Nicht überschreiben",
|
||||
"Profile": "Profil"
|
||||
"Profile": "Profil",
|
||||
"Fatal error": "Schwerwiegender Fehler",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Keine Verbindung zu sys-clk.\n\n\nBitte prüfen Sie die Installation\n\nund Aktivierung.",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk läuft nicht.\n\n\nBitte prüfen Sie die Installation\n\nund Aktivierung.",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Keine Verbindung zu sys-clk.\n\n\nBitte prüfen Sie die Installation\n\nund Aktivierung."
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
"Settings": "Settings",
|
||||
"Enable": "Enable",
|
||||
"Uncapped Clocks": "Uncapped Clocks",
|
||||
"Override Boost Mode": "Override Boost Mode",
|
||||
"Boost GPU Override": "Boost GPU Override",
|
||||
"Auto CPU Boost": "Auto CPU Boost",
|
||||
"Sync ReverseNX": "Sync ReverseNX",
|
||||
"Auto GPU Vmin": "Auto GPU Vmin",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "USB Charger Reset",
|
||||
"Memory": "Memory",
|
||||
"Do not override": "Do not overrride",
|
||||
"Profile": "Profile"
|
||||
"Profile": "Profile",
|
||||
"Fatal error": "Fatal error",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "Could not connect to sys-clk.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled."
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
"Settings": "Configuración",
|
||||
"Enable": "Habilitar",
|
||||
"Uncapped Clocks": "Relojes sin límite",
|
||||
"Override Boost Mode": "Sobrescribir modo Boost",
|
||||
"Boost GPU Override": "GPU Boost Sobrescribir",
|
||||
"Auto CPU Boost": "Auto CPU Boost",
|
||||
"Sync ReverseNX": "Sincronizar con ReverseNX",
|
||||
"Auto GPU Vmin": "Auto GPU Vmin",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "Cargador USB Reiniciar",
|
||||
"Memory": "Memoria",
|
||||
"Do not override": "No sobrescribir",
|
||||
"Profile": "Perfil"
|
||||
"Profile": "Perfil",
|
||||
"Fatal error": "Error fatal",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "No se conectó a sys-clk.\n\n\nVerifica que todo esté\n\ninstalado y habilitado.",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk no está activo.\n\n\nVerifica que esté\n\ninstalado y habilitado.",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "No se conectó a sys-clk.\n\n\nVerifica que todo esté\n\ninstalado y habilitado."
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
"Settings": "Paramètres",
|
||||
"Enable": "Activer",
|
||||
"Uncapped Clocks": "Horloges sans limite",
|
||||
"Override Boost Mode": "Forcer mode Boost",
|
||||
"Boost GPU Override": "Boost GPU Remplacer",
|
||||
"Auto CPU Boost": "Boost CPU auto",
|
||||
"Sync ReverseNX": "Synchroniser ReverseNX",
|
||||
"Auto GPU Vmin": "Auto GPU Vmin",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "Chargeur USB Réinitialiser",
|
||||
"Memory": "Mémoire",
|
||||
"Do not override": "Ne pas remplacer",
|
||||
"Profile": "Profil"
|
||||
"Profile": "Profil",
|
||||
"Fatal error": "Erreur fatale",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Connexion à sys-clk échouée.\n\n\nVérifiez l’installation\n\net l’activation.",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk non actif.\n\n\nVérifiez l’installation\n\net l’activation.",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Connexion à sys-clk échouée.\n\n\nVérifiez l’installation\n\net l’activation."
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
"Settings": "Impostazioni",
|
||||
"Enable": "Abilita",
|
||||
"Uncapped Clocks": "Clock senza limiti",
|
||||
"Override Boost Mode": "Forza modalità Boost",
|
||||
"Boost GPU Override": "Boost GPU Sovrascrivere",
|
||||
"Auto CPU Boost": "Boost CPU automatico",
|
||||
"Sync ReverseNX": "Sincronizza con ReverseNX",
|
||||
"Auto GPU Vmin": "Auto GPU Vmin",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "Caricatore USB Reimposta",
|
||||
"Memory": "Memoria",
|
||||
"Do not override": "Non sovrascrivere",
|
||||
"Profile": "Profilo"
|
||||
"Profile": "Profilo",
|
||||
"Fatal error": "Errore fatale",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Connessione a sys-clk fallita.\n\n\nVerifica installazione\n\ne attivazione.",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk non attivo.\n\n\nVerifica installazione\n\ne attivazione.",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Connessione a sys-clk fallita.\n\n\nVerifica installazione\n\ne attivazione."
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
"Settings": "設定",
|
||||
"Enable": "有効化",
|
||||
"Uncapped Clocks": "クロック制限解除",
|
||||
"Override Boost Mode": "ブーストモードをオーバーライド",
|
||||
"Boost GPU Override": "Boost GPU 上書き",
|
||||
"Auto CPU Boost": "自動CPUブースト",
|
||||
"Sync ReverseNX": "ReverseNXと同期",
|
||||
"Auto GPU Vmin": "自動GPU Vmin",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "USB充電器 リセット",
|
||||
"Memory": "メモリ",
|
||||
"Do not override": "オーバーライドしない",
|
||||
"Profile": "プロフィール"
|
||||
"Profile": "プロフィール",
|
||||
"Fatal error": "致命的エラー",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "sys-clkに接続できません。\n\n\nインストールと有効化を\n\n確認してください。",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clkが動作していません。\n\n\nインストールと有効化を\n\n確認してください。",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "sys-clkに接続できません。\n\n\nインストールと有効化を\n\n確認してください。"
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
"Settings": "설정",
|
||||
"Enable": "활성화",
|
||||
"Uncapped Clocks": "클럭 제한 해제",
|
||||
"Override Boost Mode": "부스트 모드 오버라이드",
|
||||
"Boost GPU Override": "Boost GPU 덮어쓰기",
|
||||
"Auto CPU Boost": "자동 CPU 부스트",
|
||||
"Sync ReverseNX": "ReverseNX 동기화",
|
||||
"Auto GPU Vmin": "자동 GPU Vmin",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "USB 충전기 리셋",
|
||||
"Memory": "메모리",
|
||||
"Do not override": "오버라이드 안 함",
|
||||
"Profile": "프로필"
|
||||
"Profile": "프로필",
|
||||
"Fatal error": "치명적 오류",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "sys-clk에 연결 실패.\n\n\n설치 및 활성화를\n\n확인하세요.",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk이 실행 안 됨.\n\n\n설치 및 활성화를\n\n확인하세요.",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "sys-clk에 연결 실패.\n\n\n설치 및 활성화를\n\n확인하세요."
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
"Settings": "Instellingen",
|
||||
"Enable": "Inschakelen",
|
||||
"Uncapped Clocks": "Ongelimiteerde kloksnelheden",
|
||||
"Override Boost Mode": "Boostmodus overschrijven",
|
||||
"Boost GPU Override": "Boost GPU Overschrijven",
|
||||
"Auto CPU Boost": "Automatische CPU-boost",
|
||||
"Sync ReverseNX": "ReverseNX synchroniseren",
|
||||
"Auto GPU Vmin": "Automatische GPU Vmin",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "USB-oplader Resetten",
|
||||
"Memory": "Geheugen",
|
||||
"Do not override": "Niet overschrijven",
|
||||
"Profile": "Profiel"
|
||||
"Profile": "Profiel",
|
||||
"Fatal error": "Fatale fout",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Geen verbinding met sys-clk.\n\n\nControleer installatie\n\nen activering.",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk draait niet.\n\n\nControleer installatie\n\nen activering.",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Geen verbinding met sys-clk.\n\n\nControleer installatie\n\nen activering."
|
||||
}
|
||||
|
||||
@ -7,14 +7,14 @@
|
||||
"Settings": "Ustawienia",
|
||||
"Enable": "Włącz",
|
||||
"Uncapped Clocks": "Nieograniczone taktowanie",
|
||||
"Override Boost Mode": "Nadpisz tryb Boost",
|
||||
"Boost GPU Override": "Boost GPU Nadpisz",
|
||||
"Auto CPU Boost": "Automatyczny Boost CPU",
|
||||
"Sync ReverseNX": "Synchronizuj z ReverseNX",
|
||||
"Auto GPU Vmin": "Automatyczny GPU Vmin",
|
||||
"Off": "Wył.",
|
||||
"Official Service": "Oficjalna usługa",
|
||||
"Hijack": "Przejęcie",
|
||||
"GPU Vmin Offset": "GPU Vmin Offset",
|
||||
"GPU Vmin Offset": "Przesunięcie Vmin GPU",
|
||||
"App ID": "ID app",
|
||||
"EOS mode": "Tryb EOS",
|
||||
"Skin": "Motyw",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "Ładowarka USB Resetuj",
|
||||
"Memory": "Pamięć",
|
||||
"Do not override": "Nie nadpisuj",
|
||||
"Profile": "Profil"
|
||||
"Profile": "Profil",
|
||||
"Fatal error": "Błąd krytyczny",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Brak połączenia z sys-clk.\n\n\nSprawdź instalację\n\ni aktywację.",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk nie działa.\n\n\nSprawdź instalację\n\ni aktywację.",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Brak połączenia z sys-clk.\n\n\nSprawdź instalację\n\ni aktywację."
|
||||
}
|
||||
|
||||
@ -7,14 +7,14 @@
|
||||
"Settings": "Configurações",
|
||||
"Enable": "Ativar",
|
||||
"Uncapped Clocks": "Clock ilimitado",
|
||||
"Override Boost Mode": "Substituir modo Boost",
|
||||
"Boost GPU Override": "Boost GPU Substituir",
|
||||
"Auto CPU Boost": "Boost automático CPU",
|
||||
"Sync ReverseNX": "Sync ReverseNX",
|
||||
"Auto GPU Vmin": "Automático GPU Vmin",
|
||||
"Off": "Desligado",
|
||||
"Official Service": "Serviço oficial",
|
||||
"Hijack": "Sequestro",
|
||||
"GPU Vmin Offset": "GPU Vmin Offset",
|
||||
"GPU Vmin Offset": "Deslocamento Vmin GPU",
|
||||
"App ID": "ID app",
|
||||
"EOS mode": "Modo EOS",
|
||||
"Skin": "Tema",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "Carregador USB Reiniciar",
|
||||
"Memory": "Memória",
|
||||
"Do not override": "Não substituir",
|
||||
"Profile": "Perfil"
|
||||
"Profile": "Perfil",
|
||||
"Fatal error": "Erro fatal",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Não conectou ao sys-clk.\n\n\nVerifique a instalação\n\ne ativação.",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk não está ativo.\n\n\nVerifique a instalação\n\ne ativação.",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Não conectou ao sys-clk.\n\n\nVerifique a instalação\n\ne ativação."
|
||||
}
|
||||
|
||||
@ -7,14 +7,14 @@
|
||||
"Settings": "Настройки",
|
||||
"Enable": "sys-clk",
|
||||
"Uncapped Clocks": "Не ограничивать MHz",
|
||||
"Override Boost Mode": "Замещать Boost",
|
||||
"Boost GPU Override": "Boost GPU Перезапись",
|
||||
"Auto CPU Boost": "Авто Boost CPU",
|
||||
"Sync ReverseNX": "Синхр. с ReverseNX",
|
||||
"Auto GPU Vmin": "Авто GPU Vmin",
|
||||
"Off": "Отключен",
|
||||
"Official Service": "Официальный сервис",
|
||||
"Hijack": "Перехват",
|
||||
"GPU Vmin Offset": "GPU Vmin Offset",
|
||||
"GPU Vmin Offset": "GPU Vmin Смещение",
|
||||
"App ID": "App ID",
|
||||
"EOS mode": "Режим EOS",
|
||||
"Skin": "Плата",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "USB зарядка Сброс",
|
||||
"Memory": "RAM",
|
||||
"Do not override": "По умолчанию",
|
||||
"Profile": "Профиль"
|
||||
"Profile": "Профиль",
|
||||
"Fatal error": "Критическая ошибка",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Не удалось подключить sys-clk.\n\n\nПроверьте установку\n\nи активацию.",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk не запущен.\n\n\nПроверьте установку\n\nи активацию.",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Не удалось подключить sys-clk.\n\n\nПроверьте установку\n\nи активацию."
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
"Settings": "Налаштування",
|
||||
"Enable": "Увімкнути",
|
||||
"Uncapped Clocks": "Без обмежень",
|
||||
"Override Boost Mode": "Перезапис Boost",
|
||||
"Boost GPU Override": "Boost GPU Override",
|
||||
"Auto CPU Boost": "Авто Boost CPU",
|
||||
"Sync ReverseNX": "Синхр. ReverseNX",
|
||||
"Auto GPU Vmin": "Авто GPU Vmin",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "USB зарядка Скидання",
|
||||
"Memory": "Пам’ять",
|
||||
"Do not override": "Не змінювати",
|
||||
"Profile": "Профіль"
|
||||
"Profile": "Профіль",
|
||||
"Fatal error": "Fatal error",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Не вдалося підключити sys-clk.\n\n\nПеревірте, чи все\n\nвстановлено й увімкнено.",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk не запущено.\n\n\nПеревірте, чи його\n\nвстановлено й увімкнено.",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "Не вдалося підключити sys-clk.\n\n\nПеревірте, чи все\n\nвстановлено й увімкнено."
|
||||
}
|
||||
|
||||
@ -7,17 +7,17 @@
|
||||
"Settings": "高级设置",
|
||||
"Enable": "启用调频",
|
||||
"Uncapped Clocks": "解锁频率",
|
||||
"Override Boost Mode": "升压模式",
|
||||
"Boost GPU Override": "GPU加速覆盖",
|
||||
"Auto CPU Boost": "自动CPU",
|
||||
"Sync ReverseNX": "同步ReverseNX",
|
||||
"Auto GPU Vmin": "自动GPU Vmin",
|
||||
"Auto GPU Vmin": "自动GPU电压",
|
||||
"Off": "关闭",
|
||||
"Official Service": "官方服务",
|
||||
"Hijack": "劫持",
|
||||
"GPU Vmin Offset": "GPU Vmin偏移",
|
||||
"App ID": "程序ID",
|
||||
"EOS mode": "EOS",
|
||||
"Skin": "Skin",
|
||||
"Skin": "皮肤",
|
||||
"Now": "当前",
|
||||
"Avg": "平均",
|
||||
"Docked": "底座模式",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "USB充电器 重置",
|
||||
"Memory": "内存",
|
||||
"Do not override": "默认",
|
||||
"Profile": "配置"
|
||||
"Profile": "配置",
|
||||
"Fatal error": "致命错误",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "无法连接sys-clk。\n\n\n请确认一切\n\n已正确安装和启用。",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk未运行。\n\n\n请确认其\n\n已正确安装和启用。",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "无法连接sys-clk。\n\n\n请确认一切\n\n已正确安装和启用。"
|
||||
}
|
||||
|
||||
@ -7,17 +7,17 @@
|
||||
"Settings": "高階設定",
|
||||
"Enable": "啟用調頻",
|
||||
"Uncapped Clocks": "解鎖頻率",
|
||||
"Override Boost Mode": "升壓模式",
|
||||
"Boost GPU Override": "GPU加速覆蓋",
|
||||
"Auto CPU Boost": "自動CPU",
|
||||
"Sync ReverseNX": "同步ReverseNX",
|
||||
"Auto GPU Vmin": "自動GPU Vmin",
|
||||
"Auto GPU Vmin": "自動GPU電壓",
|
||||
"Off": "關閉",
|
||||
"Official Service": "官方服務",
|
||||
"Hijack": "劫持",
|
||||
"GPU Vmin Offset": "GPU Vmin偏移",
|
||||
"App ID": "程式ID",
|
||||
"EOS mode": "EOS",
|
||||
"Skin": "Skin",
|
||||
"Skin": "外觀",
|
||||
"Now": "當前",
|
||||
"Avg": "平均",
|
||||
"Docked": "底座模式",
|
||||
@ -32,5 +32,9 @@
|
||||
"USB Charger Reset": "USB充電器 重置",
|
||||
"Memory": "記憶體",
|
||||
"Do not override": "預設",
|
||||
"Profile": "配置"
|
||||
"Profile": "配置",
|
||||
"Fatal error": "致命錯誤",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "無法連線sys-clk。\n\n\n請確認一切\n\n已正確安裝與啟用。",
|
||||
"sys-clk is not running.\n\n\nPlease make sure it is correctly\n\ninstalled and enabled.": "sys-clk未運行。\n\n\n請確認其\n\n已正確安裝與啟用。",
|
||||
"Could not connect to sys-clk.\n\n\nPlease make sure everything is\n\ncorrectly installed and enabled.": "無法連線sys-clk。\n\n\n請確認一切\n\n已正確安裝與啟用。"
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user