Duckstation is an emulator for the PSX that has some nice features including upscaling the image to HD and it has an entire custom cheat program with new custom code types which are documented below.
- Duckstation Cheat File
- To edit this file I recommend Notepad++ and set up a user defined language
- for the cheat File as it helps readability.
- 1. Start any comment lines with a semi-colon, this can be useful to split up
- sections of cheats to improve readability as well as adding comments to
- aid in understanding of the cheats. These comments do not appear in
- Duckstation so remember to keep explanations in cheats for users. Try to
- keep comment lines under 80 characters
- 2. Cheat Naming conventions for multiplayer games is 'Px Cheat Description'
- where x is the player number. Eg. P1 Infinite Lives. If the cheat is for all
- players or you have only tested it for P1 then don't mention P1 eg
- 'Infinite Lives'
- 3. Try to order cheats in a logical order if possible, like so
- * Cheats for all Players for all levels
- * Cheats for P1 for all levels
- * Cheats for P2 for all levels
- * Cheats for P3 for all levels
- * Cheats for P4 for all levels
- * Cheats for all Players for level 1
- * Cheats for P1 for level 1
- * Cheats for P2 for level 1
- * Cheats for P3 for level 1
- * Cheats for P4 for level 1
- * Cheats for all Players for level 2
- * Cheats for P1 for level 2
- * Cheats for P2 for level 2
- * Cheats for P3 for level 2
- * Cheats for P4 for level 2
- repeat for other levels
- * Cheats that you don't want to appear in the above list, I think this
- should be kept for Debug Mode Cheats, 60FPS Cheats and the like.
- 4. Cheats should be grouped if possible and worthwhile using the backslash '\'
- character. Especially true for cheats that poke the same address(es) with
- different value(s). This will make the cheat menus easier to skip long
- option lists when you only need to enable one option.
- 5. Header format
- ; [ Game Name (Region) (Year) (Publisher) {GAME_ID Numbers} <mameshortname> ]
- GAME_ID1
- GAME_ID2 <--repeat as necessary
- Well that's the plan anyway....let's see how it tracks out Pugsy, 04 DEC 2020
- CODE FORMAT INFORMATION
- ***********************
- (address) = the current value stored in the address
- NOTE
- Codes will only ever contain hexadecimal characters (0-F) any other
- characters (like WXYZ) in the following descriptions are for
- documentation purposes only.
- 8 Char by 8 Char Code Types (includes 32 bit codes)
- ***************************************************
- 90XXXXXX YYYYYYYY - 32-Bit Constant Write, Poke $80XXXXXX with 0xYYYYYYYY
- 91XXXXXX YYYYYYYY - 32-Bit Constant Bit Set, OR ($80XXXXXX) with 0xYYYYYYYY and Poke
- 92XXXXXX YYYYYYYY - 32-Bit Constant Bit Clear, AND ($80XXXXXX) with ~0xYYYYYYYY and Poke
- A0XXXXXX YYYYYYYY - 32-Bit If Equal To, activate next code if (80XXXXXX)==0xYYYYYYYY
- A1XXXXXX YYYYYYYY - 32-Bit If Not Equal To, activate next code if (80XXXXXX)!=0xYYYYYYYY
- A2XXXXXX YYYYYYYY - 32-Bit If Less Than, activate next code if (80XXXXXX)<0xYYYYYYYY
- A3XXXXXX YYYYYYYY - 32-Bit If Greater Than, activate next code if (80XXXXXX)>0xYYYYYYYY
- 60XXXXXX YYYYYYYY - 32-Bit Increment Once, Poke $80XXXXXX with ($80XXXXXX)+0xYYYYYYYY
- 61XXXXXX YYYYYYYY - 32-Bit Decrement Once, Poke $80XXXXXX with ($80XXXXXX)-0xYYYYYYYY
- A5000XXX YYYYYYYY - 32-Bit Scratchpad Constant Write, Poke $1F800XXX with
- YYYYYYYY, where XXX is between 000 & 3FF.
- A6XXXXXX YYYYZZZZ - 16-Bit If Equal To Write, if (80XXXXXX)==0xYYYY, Poke
- $80XXXXXX with 0xZZZZ. Single line alternative to a D0,80
- code which use the same address.
- A7XXXXXX YYYYZZZZ - 16-Bit If Equal To Write with Restore, if
- (80XXXXXX)==0xYYYY, Poke $80XXXXXX with 0xZZZZ. On
- disabling the cheat if (80XXXXXX)==0xZZZZ, Poke $80XXXXXX
- with 0xYYYY. This can be used for a ASM cheat that has
- poked dynamic memory with less danger of crashing the
- game or for 16
- 9 cheats to go back to 4:3 when disabled
- F0XXXXXX HHSSULLL - 8-Bit Force Range, if (80XXXXXX)<0xLL, Poke $80XXXXXX with
- 0xSS. If (80XXXXXX)>0xUL, Poke $80XXXXXX with 0xHH.
- F1XXXXXX ULULLLLL - 16-Bit Force Range to Limit, if (80XXXXXX)<0xLLLL, Poke
- $80XXXXXX with 0xLLLL. If (80XXXXXX)>0xULUL, Poke
- $80XXXXXX with 0xULUL.
- F2XXXXXX ULULLLLL - 16-Bit Force Range to Opposite Limit, if
- (80XXXXXX)<0xLLLL, Poke $80XXXXXX with 0xULUL. If
- (80XXXXXX)>0xULUL, Poke $80XXXXXX with 0xLLLL.
- F3XXXXXX ULULLLLL - 16-Bit Force Range, if (80XXXXXX)<0xLLLL, Poke $80XXXXXX
- F3000000 HHHHSSSS with 0xSSSS. If (80XXXXXX)>0xULUL, Poke $80XXXXXX with
- 0xHHHH.
- F4XXXXXY 00WWSIZE - 8-Bit Find and Replace, Find and Replace for 16 bytes.
- aabbccdd eeffgghh WW = Wildcard Byte, SIZE = Size of Area to Search/4 so FFFF=256K,
- iijjkkll mmnnoopp XXXXXY = Address @ centre of Search Area (Y must be even 0/2/4/6/8/A/C/E)
- AABBCCDD EEFFGGHH Find aa,bb,cc,dd,ee,ff,gg,hh,ii,jj,kk,ll,mm,nn,oo,pp and
- IIJJKKLL MMNNOOPP replace with AA,BB,CC,DD,EE,FF,GG,HH,II,JJ,KK,LL,MM,NN,OO,PP.
- Any byte matching the WW character in the find bytes will
- be ignored. Any byte matching the WW character in the
- replace bytes will be ignored, ideally all bytes in the
- replace line should be WW with the exception of where
- an actual replacement is required.
- F5XXXXXX YYYYZZZZ - 16-Bit Toggle, if (80XXXXXX)=0xYYYY, Poke $80XXXXXX
- with 0xZZZZ. if (80XXXXXX)=0xZZZZ, Poke $80XXXXXX with
- 0xYYYY.
- 16 Bit Code Types
- *****************
- 80XXXXXX YYYY - 16-Bit Constant Write, Poke $80XXXXXX with 0xYYYY **COMMON**
- 81XXXXXX YYYY - 16-Bit Constant Bit Set, OR ($80XXXXXX) with 0xYYYY and Poke
- 82XXXXXX YYYY - 16-Bit Constant Bit Clear, AND ($80XXXXXX) with ~0xYYYY and Poke
- D0XXXXXX YYYY - 16-Bit If Equal To, activate next code if (80XXXXXX)==0xYYYY
- D1XXXXXX YYYY - 16-Bit If Not Equal To, activate next code if (80XXXXXX)!=0xYYYY
- D2XXXXXX YYYY - 16-Bit If Less Than, activate next code if (80XXXXXX)<0xYYYY
- D3XXXXXX YYYY - 16-Bit If Greater Than, activate next code if (80XXXXXX)>0xYYYY
- D4000000 YYYY - 16-Bit Universal Joker, add up the hex values to combine into
- a multi-button joker.
- 0000 Nothing
- 0001 L2 Button
- 0002 R2 Button
- 0004 L1 Button
- 0008 R1 Button
- 0010 Triangle Button
- 0020 Circle Button
- 0040 X Button
- 0080 Square Button
- 0100 Select Button
- 0200 L3 Button
- 0400 R3 Button
- 0800 Start Button
- 1000 Up Direction
- 2000 Right Direction
- 4000 Down Direction
- 8000 Left Direction
- 10XXXXXX YYYY - 16-Bit Increment Once, Poke $80XXXXXX with ($80XXXXXX)+0xYYYY
- 11XXXXXX YYYY - 16-Bit Decrement Once, Poke $80XXXXXX with ($80XXXXXX)-0xYYYY
- 1F000XXX YYYY - 16-Bit Scratchpad Constant Write, Poke $1F800XXX with YYYY,
- where XXX is between 000 & 3FF.
- 8 Bit Code Types
- ****************
- 30XXXXXX 00YY - 8-Bit Constant Write, Poke $80XXXXXX with 0xYY **COMMON**
- 31XXXXXX 00YY - 8-Bit Constant Bit Set, OR ($80XXXXXX) with 0xYY and Poke
- 32XXXXXX 00YY - 8-Bit Constant Bit Clear, AND ($80XXXXXX) with ~0xYY and Poke
- E0XXXXXX 00YY - 8-Bit If Equal To, activate next code if (80XXXXXX)==0xYY
- E1XXXXXX 00YY - 8-Bit If Not Equal To, activate next code if (80XXXXXX)!=0xYY
- E2XXXXXX 00YY - 8-Bit If Less Than, activate next code if (80XXXXXX)<0xYY
- E3XXXXXX 00YY - 8-Bit If Greater Than, activate next code if (80XXXXXX)>0xYY
- 20XXXXXX 00YY - 8-Bit Increment Once, Poke $80XXXXXX with ($80XXXXXX)+0xYY
- 21XXXXXX 00YY - 8-Bit Decrement Once ,Poke $80XXXXXX with ($80XXXXXX)-0xYY
- Copy Data Code Types
- ********************
- C2XXXXXX YYYY - Copy Memory, copy memory between $80XXXXXX and $80XXXXXX+0xYYYY
- 80ZZZZZZ 0000 to $80ZZZZZZ
- 5000PPQQ TTTT - Serial Repeater/Slide, pokes multiple serially increasing
- X0YYYYYY ZZZZ addresses with a possible increasing value.
- poke_size = X0 (30 for byte or 80 for word)
- start_address = YYYYYY
- start_value = ZZZZ
- number_of_addresses = PP (needs to be >02 to be worthwhile)
- address_step = QQ (commonly 01 for type 30, 02 for type 80)
- value_step = TTTT (most commonly 0000)
- 53WVPPPP QQQQTTTT - Improved Serial Repeater/Slide, pokes multiple serially changing
- X0YYYYYY ZZZZZZZZ addresses with a possible changing value.
- address_change = W ( 0 = increasing, 1 = decreasing)
- value_change = V ( 0 = increasing, 1 = decreasing)
- poke_size = X0 (30 for byte, 80 for word or 90 for longword)
- start_address = YYYYYY
- start_value = ZZZZZZZZ
- number_of_addresses = PPPP (needs to be >02 to be worthwhile)
- address_step = QQQQ (commonly 01 for type 30, 02 for
- type 80, 04 for type 90)
- value_step = TTTT (most commonly 0000)
- Block Conditionals
- ******************
- If the condition is met these will execute all the following codes to either
- a 000000000 FFFF line is reached or it reaches the end of that cheat. You
- should always use a 00000000 FFFF line though (dont be lazy!).
- A4XXXXXX YYYYYYYY - 32-Bit Master Code, if ($XXXXXX) contains 0xYYYYYYYY poke
- 00000000 FFFF all following codes for rest of the cheat or until it reaches
- the 00000000 FFFF line.
- C0XXXXXX YYYY - 16-Bit Master Code, if ($XXXXXX) contains 0xYYYY poke all
- 00000000 FFFF following codes for rest of the cheat or until it reaches the
- 00000000 FFFF line.
- 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.
- D5000000 YYYY - 16-Bit All Codes On
- D6000000 YYYY - 16-Bit All Codes Off
- 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.
- 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)
- P = 0 or 1. 0 = Check ALL YYYYYY Bits are ON
- 1 = Check ALL YYYYYY Bits are OFF
- 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.
- 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 at least
- 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.
- TT=Temp Register 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.
- RRRR = 0000 to FFFF, Frame Comparison Value
- NOTE
- If you have multiple D7 lines using frame counting
- and the same register, the temp register will be
- out by that factor. Eg. If you have 2 D7 lines
- accessing register 05, then after 60 frames -
- register 05 will contain 120 (0x78)
- It will then poke all following codes for rest of cheat
- 00000000 FFFF or until it reaches the 00000000 FFFF line.
- 52XXXXXX YYYYYYYY - Register Master Code, if ($XXXXXX) contains 0xYYYYYYYY poke
- 00000000 FFFF all following codes for rest of the cheat or until it reaches
- the 00000000 FFFF line.
- Other Code Types
- ****************
- These are only needed on hardware when you can't enable & disable codes after
- the game has started without the use of delays or global jokers. They are
- supported by Duckstation but ideally dont use them if you can help it.
- C1XXXXXX YYYY - Activate Codes On Delay
- Register Code Types
- *******************
- These codes utilise the internal global 256 32-bit cheat registers. As they
- are global they will work across all cheats for a game so be careful not
- to re-use registers unintendingly. Type 51 codes can be used to copy and
- manipulate register contents between registers and memory. Type 52 codes are
- block conditionals that you can test the registers with and branch accordingly.
- These code types will only need to be used with very advanced cheats, only
- use them if you need them as they may blow your mind....
- General Notes
- ==============
- RegXX or RegYY means the immediate value of the register
- (RegXX) or (RegYY) means the indirect value of the register = contents of the
- address held in RegXX or RegYY
- TTTTTTTT = Write to Address TTTTTTTT
- (TTTTTTTT) = Read from Address TTTTTTTT
- ZZ,ZZZZ,ZZZZZZZ = Value
- Note RegXX, RegYY, RegWW can be the same register
- 8 BIT operations
- =================
- 510000XX TTTTTTTT - 8-Bit Address Write from Register, Poke address TTTTTTTT
- with the 8-bit contents of Register XX.
- u8Poke TTTTTTTT, RegXX
- 510100XX TTTTTTTT - 8-Bit Address Read to Register, Peek the 8-bit contents of
- address TTTTTTTT and store it in Register XX.
- u8Poke RegXX, (TTTTTTTT)
- 510200XX 000000ZZ - 8-Bit Indirect Register Write, poke ZZ to the 32-Bit
- address stored in Register XX.
- u8Poke (RegXX), ZZ
- 5103YYXX 000000ZZ - 8-Bit Register Addition, add ZZ and the 8-bit contents
- of Register YY together and write it to Register XX.
- u8Poke RegXX, RegYY + ZZ
- 5104YYXX 000000ZZ - 8-Bit Indirect Register Write with addition, add ZZ and
- the 8-bit contents of Register YY together and write it
- to the 32-Bit address stored in Register XX.
- u8Poke (RegXX), RegYY + ZZ
- 510500XX 000000ZZ - 8-Bit Direct Register Write, poke ZZ to Register XX.
- u8Poke RegXX, ZZ
- 5106YYXX ZZZZZZZZ - 8-Bit Indirect Register Read, Peek the 8-bit contents
- of (32-Bit address in Register YY + ZZZZZZZZ) and write it
- to Register XX.
- u8Poke RegXX, (RegYY + ZZZZZZZZ)
- 16 BIT operations
- ==================
- 514000XX TTTTTTTT - 16-Bit Address Write from Register, Poke address TTTTTTTT
- with the 16-bit contents of Register XX.
- u16Poke TTTTTTTT, RegXX
- 514100XX TTTTTTTT - 16-Bit Address Read to Register, Peek the 16-bit contents
- of address TTTTTTTT and store it in Register XX.
- u16Poke RegXX, (TTTTTTTT)
- 514200XX 0000ZZZZ - 16-Bit Indirect Register Write, poke ZZZZ to the 32-Bit
- address stored in Register XX.
- u16Poke (RegXX), ZZZZ
- 5143YYXX 0000ZZZZ - 16-Bit Register Addition, add ZZZZ and the 16 bit contents
- of Register YY together and write it to Register XX.
- u16Poke RegXX, RegYY + ZZZZ
- 5144YYXX 0000ZZZZ - 16-Bit Indirect Register Write with addition, add ZZZZ
- and the 16 bit contents of Register YY together and write
- it to the 32-Bit address stored in Register XX.
- u16Poke (RegXX), RegYY + ZZZZ
- 514500XX 0000ZZZZ - 16-Bit Direct Register Write, poke ZZZZ to Register XX.
- u16Poke RegXX, ZZZZ
- 5146YYXX ZZZZZZZZ - 16-Bit Indirect Register Read, Peek the 16-bit contents
- of (32-Bit address in Register YY + ZZZZZZZZ) and write it
- to Register XX.
- u16Poke RegXX, (RegYY + ZZZZZZZZ)
- 32 BIT operations
- ==================
- 518000XX TTTTTTTT - 32-Bit Address Write from Register, Poke address TTTTTTTT
- with the 32-bit contents of Register XX.
- u32Poke TTTTTTTT, RegXX
- 518100XX TTTTTTTT - 32-Bit Address Read to Register, Peek the 32-bit contents
- of address TTTTTTTT and store it in Register XX.
- u32Poke RegXX, (TTTTTTTT)
- 518200XX ZZZZZZZZ - 32-Bit Indirect Register Write, poke ZZZZZZZZ to the
- 32-Bit address stored in Register XX.
- u32Poke (RegXX), ZZZZZZZZ
- 5183YYXX ZZZZZZZZ - 32-Bit Register Addition, add ZZZZZZZZ and the 32 bit
- contents of Register YY together and write it to
- Register XX.
- u32Poke RegXX, RegYY + ZZZZZZZZ
- 5184YYXX 0000ZZZZ - 32-Bit Indirect Register Write with addition, add
- ZZZZZZZZ and the 32 bit contents of Register YY together
- and write it to the 32-Bit address stored in Register XX.
- u32Poke (RegXX), RegYY + ZZZZZZZZ
- 518500XX ZZZZZZZZ - 32-Bit Direct Register Write, poke ZZZZZZZZ to Register XX.
- u32Poke RegXX, ZZZZZZZZ. Note
- This is useful to write
- the actual address to a register.
- 5186YYXX ZZZZZZZZ - 32-Bit Indirect Register Read, Peek the 32-bit contents
- of (32-Bit address in Register YY + ZZZZZZZZ) and write it
- to Register XX.
- u32Poke RegXX, (RegYY + ZZZZZZZZ)
- Generic Register Operations
- ============================
- All these generic register only codes are 32 Bit, but you can read any register
- register as a u8, u16 or a u32.
- 51C0YYXX 000000RR - Add Register YY to Register XX and store result in
- Register RR.
- u32Poke RegRR, RegYY + RegXX
- 51C1YYXX 000000RR - Subtract Register XX from Register YY and store result in
- Register RR.
- u32Poke RegRR, RegYY - RegXX
- 51C2YYXX 000000RR - Multiply Register YY by Register XX and store result in
- Register RR.
- u32Poke RegRR, RegYY * RegXX
- 51C3YYXX 000000RR - Divide Register YY by Register XX and store result in
- Register RR. Note
- If Register XX contains 0, RR will be
- set to 0.
- u32Poke RegRR, RegYY / RegXX
- 51C4YYXX 000000RR - Divide Register YY by Register XX and store remainder in
- Register RR. Note
- If Register XX contains 0, RR will be
- set to RegYY.
- u32Poke RegRR, RegYY % RegXX
- 51C5YYXX 000000RR - Bitwise AND Register YY and Register XX and store result
- in Register RR.
- u32Poke RegRR, RegYY & RegXX
- 51C6YYXX 000000RR - Bitwise OR Register YY and Register XX and store result
- in Register RR.
- u32Poke RegRR, RegYY | RegXX
- 51C7YYXX 000000RR - Bitwise XOR Register YY and Register XX and store result
- in Register RR.
- u32Poke RegRR, RegYY ^ RegXX
- 51C800XX 000000RR - Bitwise NOT Register XX and store result in Register RR.
- aka One's Complement
- u32Poke RegRR, ~RegXX
- 51C9TTXX 000000RR - Bitwise LSHIFT Register XX by TT and store result in
- Register RR.
- u32Poke RegRR, RegXX << TT
- 51CATTXX 000000RR - Bitwise RSHIFT Register XX by TT and store result in
- Register RR.
- u32Poke RegRR, RegXX >> TT
- NEW TO BE ADDED*********************************
- 51D0YYXX ZZZZZZZZ - Bitwise AND Register YY with ZZZZZZZZ and store result
- in Register XX.
- u32Poke RegXX, RegYY & ZZZZZZZZ
- 51D1YYXX ZZZZZZZZ - Bitwise OR Register YY with ZZZZZZZZ and store result
- in Register XX.
- u32Poke RegXX, RegYY | ZZZZZZZZ
- 51D2YYXX ZZZZZZZZ - Bitwise XOR Register YY with ZZZZZZZZ and store result
- in Register XX.
- u32Poke RegXX, RegYY ^ ZZZZZZZZ
- Register Block Conditionals
- ============================
- 5200YYXX 00000000 - If u8RegYY == u8RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5201YYXX 00000000 - If u8RegYY != u8RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5202YYXX 00000000 - If u8RegYY > u8RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5203YYXX 00000000 - If u8RegYY => u8RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5204YYXX 00000000 - If u8RegYY < u8RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5205YYXX 00000000 - If u8RegYY =< u8RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5206YYXX 00000000 - If u8RegYY & u8RegXX = u8RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5207YYXX 00000000 - If u8RegYY & u8RegXX != u8RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 520AYYXX 00000000 - If u8RegYY & u8RegXX = u8RegYY poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 520BYYXX 00000000 - If u8RegYY & u8RegXX != u8RegYY poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 521000XX 000000ZZ - If u8RegXX == ZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 521100XX 000000ZZ - If u8RegXX != ZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 521200XX 000000ZZ - If u8RegXX > ZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 521300XX 000000ZZ - If u8RegXX => ZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 521400XX 000000ZZ - If u8RegXX < ZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 521500XX 000000ZZ - If u8RegXX =< ZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 521600XX 000000ZZ - If u8RegXX & ZZ = ZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 521700XX 000000ZZ - If u8RegXX & ZZ != ZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 521800XX 00TT00ZZ - If u8RegXX > ZZ && u8RegXX < TT poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 521900XX 00TT00ZZ - If u8RegXX => ZZ && u8RegXX <= TT poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 521A00XX 000000ZZ - If u8RegXX & ZZ = u8RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 521B00XX 000000ZZ - If u8RegXX & ZZ != u8RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5220YYXX 00000000 - If u8(RegYY) == u8(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5221YYXX 00000000 - If u8(RegYY) != u8(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5222YYXX 00000000 - If u8(RegYY) > u8(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5223YYXX 00000000 - If u8(RegYY) => u8(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5224YYXX 00000000 - If u8(RegYY) < u8(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5225YYXX 00000000 - If u8(RegYY) =< u8(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line
- 522600XX 000000ZZ - If u8(RegXX) & ZZ = ZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 522700XX 000000ZZ - If u8(RegXX) & ZZ != ZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 522800XX 00TT00ZZ - If u8(RegXX) > ZZ && u8(RegXX) < TT poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 522900XX 00TT00ZZ - If u8(RegXX) => ZZ && u8(RegXX) <= TT poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 522A00XX 000000ZZ - If u8(RegXX) & ZZ = u8(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 522B00XX 000000ZZ - If u8(RegXX) & ZZ != u8(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 523000XX TTTTTTTT - If u8RegXX == (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 523100XX TTTTTTTT - If u8RegXX != (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 523200XX TTTTTTTT - If u8RegXX > (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 523300XX TTTTTTTT - If u8RegXX => (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 523400XX TTTTTTTT - If u8RegXX < (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 523600XX TTTTTTTT - If u8RegXX & (TTTTTTTT) = (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 523700XX TTTTTTTT - If u8RegXX & (TTTTTTTT) != (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 523A00XX TTTTTTTT - If u8RegXX & (TTTTTTTT) = u8RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 523B00XX TTTTTTTT - If u8RegXX & (TTTTTTTT) != u8RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5240YYXX 00000000 - If u16RegYY == u16RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5241YYXX 00000000 - If u16RegYY != u16RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5242YYXX 00000000 - If u16RegYY > u16RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5243YYXX 00000000 - If u16RegYY => u16RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5244YYXX 00000000 - If u16RegYY < u16RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5245YYXX 00000000 - If u16RegYY =< u16RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5246YYXX 00000000 - If u16RegYY & u16RegXX = u16RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5247YYXX 00000000 - If u16RegYY & u16RegXX != u16RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 524AYYXX 00000000 - If u16RegYY & u16RegXX = u16RegYY poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 524BYYXX 00000000 - If u16RegYY & u16RegXX != u16RegYY poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 525000XX 0000ZZZZ - If u16RegXX == ZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 525100XX 0000ZZZZ - If u16RegXX != ZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 525200XX 0000ZZZZ - If u16RegXX > ZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 525300XX 0000ZZZZ - If u16RegXX => ZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 525400XX 0000ZZZZ - If u16RegXX < ZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 525500XX 0000ZZZZ - If u16RegXX =< ZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 525600XX 0000ZZZZ - If u16RegXX & ZZZZ = ZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 525700XX 0000ZZZZ - If u16RegXX & ZZZZ != ZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 525800XX TTTTZZZZ - If u16RegXX > ZZZZ && u16RegXX < TTTT poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 525900XX TTTTZZZZ - If u16RegXX => ZZZZ && u16RegXX <= TTTT poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 525A00XX 0000ZZZZ - If u16RegXX & ZZZZ = u16RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 525B00XX 0000ZZZZ - If u16RegXX & ZZZZ != u16RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5260YYXX 00000000 - If u16(RegYY) == u16(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5261YYXX 00000000 - If u16(RegYY) != u16(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5262YYXX 00000000 - If u16(RegYY) > u16(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5263YYXX 00000000 - If u16(RegYY) => u16(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5264YYXX 00000000 - If u16(RegYY) < u16(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5265YYXX 00000000 - If u16(RegYY) =< u16(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line
- 526600XX 0000ZZZZ - If u16(RegXX) & ZZZZ = ZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 526700XX 0000ZZZZ - If u16(RegXX) & ZZZZ != ZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 526800XX TTTTZZZZ - If u16(RegXX) > ZZZZ && u16(RegXX) < TTTT poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 526900XX TTTTZZZZ - If u16(RegXX) => ZZZZ && u16(RegXX) <= TTTT poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 526A00XX 0000ZZZZ - If u16(RegXX) & ZZZZ = u16(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 526B00XX 0000ZZZZ - If u16(RegXX) & ZZZZ != u16(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 527000XX TTTTTTTT - If u16RegXX == (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 527100XX TTTTTTTT - If u16RegXX != (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 527200XX TTTTTTTT - If u16RegXX > (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 527300XX TTTTTTTT - If u16RegXX => (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 527400XX TTTTTTTT - If u16RegXX < (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 527600XX TTTTTTTT - If u16RegXX & (TTTTTTTT) = (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 527700XX TTTTTTTT - If u16RegXX & (TTTTTTTT) != (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 527A00XX TTTTTTTT - If u16RegXX & (TTTTTTTT) = u16RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 527B00XX TTTTTTTT - If u16RegXX & (TTTTTTTT) != u16RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5280YYXX 00000000 - If u32RegYY == u32RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5281YYXX 00000000 - If u32RegYY != u32RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5282YYXX 00000000 - If u32RegYY > u32RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5283YYXX 00000000 - If u32RegYY => u32RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5284YYXX 00000000 - If u32RegYY < u32RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5285YYXX 00000000 - If u32RegYY =< u32RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5286YYXX 00000000 - If u32RegYY & u32RegXX = u32RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 5287YYXX 00000000 - If u32RegYY & u32RegXX != u32RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 528AYYXX 00000000 - If u32RegYY & u32RegXX = u32RegYY poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 528BYYXX 00000000 - If u32RegYY & u32RegXX != u32RegYY poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 529000XX ZZZZZZZZ - If u32RegXX == ZZZZZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 529100XX ZZZZZZZZ - If u32RegXX != ZZZZZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 529200XX ZZZZZZZZ - If u32RegXX > ZZZZZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 529300XX ZZZZZZZZ - If u32RegXX => ZZZZZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 529400XX ZZZZZZZZ - If u32RegXX < ZZZZZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 529500XX ZZZZZZZZ - If u32RegXX =< ZZZZZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 529600XX ZZZZZZZZ - If u32RegXX & ZZZZZZZZ = ZZZZZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 529700XX ZZZZZZZZ - If u32RegXX & ZZZZZZZZ != ZZZZZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 529A00XX ZZZZZZZZ - If u32RegXX & ZZZZZZZZ = u32RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 529B00XX ZZZZZZZZ - If u32RegXX & ZZZZZZZZ != u32RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52A0YYXX 00000000 - If u32(RegYY) == u32(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52A1YYXX 00000000 - If u32(RegYY) != u32(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52A2YYXX 00000000 - If u32(RegYY) > u32(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52A3YYXX 00000000 - If u32(RegYY) => u32(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52A4YYXX 00000000 - If u32(RegYY) < u32(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52A5YYXX 00000000 - If u32(RegYY) =< u32(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line
- 52A600XX ZZZZZZZZ - If u32(RegXX) & ZZZZZZZZ = ZZZZZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52A700XX ZZZZZZZZ - If u32(RegXX) & ZZZZZZZZ != ZZZZZZZZ poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52AA00XX ZZZZZZZZ - If u32(RegXX) & ZZZZZZZZ = u32(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52AB00XX ZZZZZZZZ - If u32(RegXX) & ZZZZZZZZ != u32(RegXX) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52B000XX TTTTTTTT - If u32RegXX == (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52B100XX TTTTTTTT - If u32RegXX != (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52B200XX TTTTTTTT - If u32RegXX > (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52B300XX TTTTTTTT - If u32RegXX => (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52B400XX TTTTTTTT - If u32RegXX < (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52B600XX TTTTTTTT - If u32RegXX & (TTTTTTTT) = (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52B700XX TTTTTTTT - If u32RegXX & (TTTTTTTT) != (TTTTTTTT) poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52BA00XX TTTTTTTT - If u32RegXX & (TTTTTTTT) = u32RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.
- 52BB00XX TTTTTTTT - If u32RegXX & (TTTTTTTT) != u32RegXX poke all following codes for rest
- 00000000 FFFF of the cheat or until it reaches the 00000000 FFFF line.