CHUNITHM-Patch-Finder/patterns.yaml

99 lines
3.8 KiB
YAML

# The patches.yaml format is basically the same thing as the BemaniPatcher format, with 2 major differences:
# - There's a global, as well as patch-specific, signature for the patch.
# - The `offset` here is the offset from the start of the signature. For example, if you want to modify the 4th byte in
# `12 34 56 ??`, the offset should be 0x03.
- name: "Disable shop close lockout"
tooltip: "Disables ~12-8am lockout. Does not disable maintenance lockout from 6:30-7am JST"
signature: "56 8B CB E8 ?? ?? ?? ?? 84 C0 ?? 0E"
patches:
- offset: 0x0A
off: [0x74]
on: [0xEB]
- name: "Force shared audio mode, system audio sample rate must be 48000Hz"
tooltip: "Improves compatibility, but may increase latency"
signature: "83 3D ?? ?? ?? ?? ?? 0F 85 ?? ?? ?? ?? 6A ?? E8 ?? ?? ?? ??"
patches:
- offset: 0x0E
off: [0x01]
on: [0x00]
- name: "Force 2 channel audio output"
tooltip: "May cause bass overload"
signature: "56 E8 ?? ?? ?? ?? 83 C4 04 85 C0 ?? ?? 68 ?? ?? ?? ?? E8 ?? ?? ?? ??"
patches:
- offset: 0x0B
off: [0x75, 0x3F]
on: [0x90, 0x90]
- name: "Disable song select timer"
signature: "E8 ?? ?? ?? ?? 3C 01 74 71 8B 0D ?? ?? ?? ?? E8 ?? ?? ?? ?? 8B C8 E8 ?? ?? ?? ?? 8D 48 78 E8 ?? ?? ?? ?? 3C 01 ?? 53"
patches:
- offset: 0x25
off: [0x74]
on: [0xEB]
- name: "Set all timers to 999"
danger: "Breaks online matching functionality"
signature: "8B 44 24 04 69 C0 E8 03 00 00"
patches:
- offset: 0x00
off: [0x8B, 0x44, 0x24, 0x04, 0x69, 0xC0, 0xE8, 0x03, 0x00, 0x00]
on: [0xB8, 0x58, 0x3E, 0x0F, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90]
- name: "Unlimited maximum tracks"
tooltip: "Must check to play more than 7 tracks per credit"
signature: "B8 07 00 00 00 3B F0 0F 47 ??"
patches:
- offset: 0x09
off: [0xF0]
on: [0xC0]
- name: "No encryption"
tooltip: "Will also disable TLS"
signature: "3F 41 56 44 65 66 6C 61 74 65 40 70 72 6F 6A 43 6C 69 65 6E 74 40 40 ?? ?? ?? ?? ?? ?? ?? ??"
# 0xDC should be set to whatever the current CHUNITHM integer version is, e.g. 220
patches:
- offset: 0x1B
off: [0xDC]
on: [0x00]
- offset: 0x1E
off: [0xDC]
on: [0x00]
- name: "No TLS"
tooltip: "Title server workaround"
signature: "E8 ?? ?? ?? ?? 85 C0 75 07 BE 00 00 ?? 00"
patches:
- offset: 0x0C
off: [0x80]
on: [0x00]
- name: "Patch for head-to-head play"
tooltip: "Fix infinite sync while trying to connect to head to head play"
signature: "50 68 ?? ?? ?? ?? FF 76 1C C7 44 24 ?? ?? ?? ?? ?? FF 15 ?? ?? ?? ??"
patches:
- offset: 0x0D
off: [0x01]
on: [0x00]
- name: "Bypass 1080p/120Hz monitor check"
patches:
# 1080p check
- signature: "81 BC 24 B8 02 00 00 80 07 00 00 75 1F 81 BC 24 BC 02 00 00 38 04 00 00 75 12"
offset: 0x00
off: [0x81, 0xBC, 0x24, 0xB8, 0x02, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x75, 0x1F, 0x81, 0xBC, 0x24, 0xBC, 0x02, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x75, 0x12]
on: [0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90]
# 120Hz check
- signature: "50 56 6A 00 FF D7 ?? ?? 74 3F"
offset: 0x06
off: [0x85, 0xC0]
on: [0xEB, 0x30]
- name: "Bypass LED board check"
danger: "[DEPRECATED] Forces LED board check to good and auto continues"
signature: "E8 ?? ?? ?? ?? 39 44 24 18 7D 0C C6 86 ?? ?? ?? ?? ?? C6 44 24 ?? ??"
patches:
- offset: 0x11
off: [0x01]
on: [0x00]
- offset: 0x16
off: [0x00]
on: [0x01]
- name: "Ignore some errors from amdaemon"
danger: "[DEPRECATED] May relieve some errors like error 6401, but may also cause problems elsewhere."
signature: "8B F9 8B CE E8 ?? ?? ?? ?? 8B CE E8 ?? ?? ?? ?? 3C 01 ?? 14"
patches:
- offset: 0x12
off: [0x75]
on: [0xEB]