[PR #1736] Added new cheat cheat types: C3, C4, C5, C6, D7&52 #678

Closed
opened 2026-01-29 19:09:05 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/stenzek/duckstation/pull/1736

State: closed
Merged: Yes


C3-C7 are variants of C0
D7 is a BIT based joker to rule them all. It includes the analog sticks (@ggrtk thanks for adding the analog reading capability). Also added the facility of making dual single key joker by varying the amount of time a button is held down.
51 is a complicated beast that I still need to document

  • C3XXXXXX 00YY - 8-Bit Master Code, if ($XXXXXX) is less than 0xYY poke all
    00000000 FFFF following codes for rest of the cheat or until it reaches the
    00000000 FFFF line.
  • C4XXXXXX 00YY - 8-Bit Master Code, if ($XXXXXX) is greater than 0xYY poke all
    00000000 FFFF following codes for rest of the cheat or until it reaches the
    00000000 FFFF line.
  • C5XXXXXX YYYY - 16-Bit Master Code, if ($XXXXXX) is less than 0xYYYY poke all
    00000000 FFFF following codes for rest of the cheat or until it reaches the
    00000000 FFFF line.
  • C6XXXXXX YYYY - 16-Bit Master Code, if ($XXXXXX) is greater than 0xYYYY poke all
    00000000 FFFF following codes for rest of the cheat or until it reaches the
    00000000 FFFF line.
  • D7PQRRRR TTYYYYYY - 24-Bit Universal BIT Joker, OR the hex values to
    combine into a multi-button joker. Because it is BIT
    based it is better than D4, D5, D6 or using a D0 joker as you
    do not need to worry about any other buttons being
    pressed at the same time and you get both analog
    sticks for extra functionality. Note if you want to use it
    just as a enhanced joker just use D7000000 00YYYYYY when
    the buttons/directions are pressed or D7100000 00YYYYYY
    when you want to ensure they are not all pressed.
    QRRRR TT provides the capability of only activating the
    following codes after the keys have been held in for a set
    amount of frames. 003C = 60 Frames = 1 Second at 100% Speed
    YYYYYY = 000001 L2 Button
    YYYYYY = 000002 R2 Button
    YYYYYY = 000004 L1 Button
    YYYYYY = 000008 R1 Button
    YYYYYY = 000010 Triangle Button
    YYYYYY = 000020 Circle Button
    YYYYYY = 000040 X Button
    YYYYYY = 000080 Square Button
    YYYYYY = 000100 Select Button
    YYYYYY = 000200 L3 Button
    YYYYYY = 000400 R3 Button
    YYYYYY = 000800 Start Button
    YYYYYY = 001000 Up (Digital)
    YYYYYY = 002000 Right (Digital)
    YYYYYY = 004000 Down (Digital)
    YYYYYY = 008000 Left (Digital)
    YYYYYY = 010000 Up (Right Thumb)
    YYYYYY = 020000 Right (Right Thumb)
    YYYYYY = 040000 Down (Right Thumb)
    YYYYYY = 080000 Left (Right Thumb)
    YYYYYY = 100000 Up (Left Thumb)
    YYYYYY = 200000 Right (Left Thumb)
    YYYYYY = 400000 Down (Left Thumb)
    YYYYYY = 800000 Left (Left Thumb)
    NOTE: The 0s in the code are reserved for possible
    future use.
    TT=Temp Internal Variable 00-FF, 00 will mean it wont be
    used, if it's not 00 do not use the same value for
    jokers using different keypress combinations for
    the same game.
    P = 0 or 1. 0 = Check ALL YYYYYY Bits are ON
    1 = Check ALL YYYYYY Bits are OFF
    Q = Frame Comparison 0 = Dont do any comparison
    1 = Check that the button combination
    has been held down for exactly
    RRRR frames.
    2 = Check that the button combination
    has been held down for more than
    RRRR frames.
    3 = Check that the button combination
    has been held down for less than
    RRRR frames.
    4 = Check that the button combination
    has been held down for anything
    but RRRR frames.
    RRRR = 0000 to FFFF, Frame Comparison Value
    It will then poke all following codes for rest of cheat
    00000000 FFFF or until it reaches the 00000000 FFFF line.
**Original Pull Request:** https://github.com/stenzek/duckstation/pull/1736 **State:** closed **Merged:** Yes --- C3-C7 are variants of C0 D7 is a BIT based joker to rule them all. It includes the analog sticks (@ggrtk thanks for adding the analog reading capability). Also added the facility of making dual single key joker by varying the amount of time a button is held down. 51 is a complicated beast that I still need to document * C3XXXXXX 00YY - 8-Bit Master Code, if ($XXXXXX) is less than 0xYY poke all 00000000 FFFF following codes for rest of the cheat or until it reaches the 00000000 FFFF line. * C4XXXXXX 00YY - 8-Bit Master Code, if ($XXXXXX) is greater than 0xYY poke all 00000000 FFFF following codes for rest of the cheat or until it reaches the 00000000 FFFF line. * C5XXXXXX YYYY - 16-Bit Master Code, if ($XXXXXX) is less than 0xYYYY poke all 00000000 FFFF following codes for rest of the cheat or until it reaches the 00000000 FFFF line. * C6XXXXXX YYYY - 16-Bit Master Code, if ($XXXXXX) is greater than 0xYYYY poke all 00000000 FFFF following codes for rest of the cheat or until it reaches the 00000000 FFFF line. * D7PQRRRR TTYYYYYY - 24-Bit Universal BIT Joker, OR the hex values to combine into a multi-button joker. Because it is BIT based it is better than D4, D5, D6 or using a D0 joker as you do not need to worry about any other buttons being pressed at the same time and you get both analog sticks for extra functionality. Note if you want to use it just as a enhanced joker just use D7000000 00YYYYYY when the buttons/directions are pressed or D7100000 00YYYYYY when you want to ensure they are not all pressed. QRRRR TT provides the capability of only activating the following codes after the keys have been held in for a set amount of frames. 003C = 60 Frames = 1 Second at 100% Speed YYYYYY = 000001 L2 Button YYYYYY = 000002 R2 Button YYYYYY = 000004 L1 Button YYYYYY = 000008 R1 Button YYYYYY = 000010 Triangle Button YYYYYY = 000020 Circle Button YYYYYY = 000040 X Button YYYYYY = 000080 Square Button YYYYYY = 000100 Select Button YYYYYY = 000200 L3 Button YYYYYY = 000400 R3 Button YYYYYY = 000800 Start Button YYYYYY = 001000 Up (Digital) YYYYYY = 002000 Right (Digital) YYYYYY = 004000 Down (Digital) YYYYYY = 008000 Left (Digital) YYYYYY = 010000 Up (Right Thumb) YYYYYY = 020000 Right (Right Thumb) YYYYYY = 040000 Down (Right Thumb) YYYYYY = 080000 Left (Right Thumb) YYYYYY = 100000 Up (Left Thumb) YYYYYY = 200000 Right (Left Thumb) YYYYYY = 400000 Down (Left Thumb) YYYYYY = 800000 Left (Left Thumb) NOTE: The 0s in the code are reserved for possible future use. TT=Temp Internal Variable 00-FF, 00 will mean it wont be used, if it's not 00 do not use the same value for jokers using different keypress combinations for the same game. P = 0 or 1. 0 = Check ALL YYYYYY Bits are ON 1 = Check ALL YYYYYY Bits are OFF Q = Frame Comparison 0 = Dont do any comparison 1 = Check that the button combination has been held down for exactly RRRR frames. 2 = Check that the button combination has been held down for more than RRRR frames. 3 = Check that the button combination has been held down for less than RRRR frames. 4 = Check that the button combination has been held down for anything but RRRR frames. RRRR = 0000 to FFFF, Frame Comparison Value It will then poke all following codes for rest of cheat 00000000 FFFF or until it reaches the 00000000 FFFF line.
claunia added the pull-request label 2026-01-29 19:09:05 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/duckstation#678