# 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" 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: "Disable 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" patches: - 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] - name: "Force 120Hz check" tooltip: "Check to make the 120Hz check always pass (do not use with CVT mode)" signature: "50 56 6A 00 FF D7 ?? ?? 74 3F" patches: - 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]