No edit summary |
No edit summary |
||
| Line 35: | Line 35: | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 30 | ! 30 | ||
| 8-bit | | 8-bit Constant Write <br><br>3XXXXXXX 00YY || Writes YY to Address XXXXXXX || -- || none | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 80 | ! 80 | ||
| 16-bit | | 16-bit Constant Write <br><br>8XXXXXXX ZZYY || Writes ZZYY to Address XXXXXXX || -- || none | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 50 | ! 50 | ||
| | | Serial Repeater <br><br>5000XXYY ZZZZ || TTTTTTTT VVVV <br> Writes XX codes, with YY added to the address for each code after TTTTTTTT, and ZZZZ added to the amount for each code after value VVVV || Gameshark 2.2 and higher. May need to seperate pairs of serial codes with a 00000000 0000 code for disk-based gamesharks || unknown | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! E0 | ! E0 | ||
| 8-bit | | 8-bit Equal-To Trigger <br><br>E0XXXXXX 00YY || Activates next code if address 80XXXXXX is equal to YY || Gameshark 2.2 and higher. || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! E1 | ! E1 | ||
| 8-bit different-from trigger | | 8-bit different-from trigger <br><br>E1XXXXXX 00YY || Activates next code if address 80XXXXXX is different from YY || Gameshark 2.2(?) and higher. || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! E2 | ! E2 | ||
| 8-bit | | 8-bit Less-Than Trigger <br><br>E2XXXXXX 00YY || Activates next code if address 80XXXXXX is less than YY || Gameshark 2.2 and higher. || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! E3 | ! E3 | ||
| 8-bit | | 8-bit Greater-Than Trigger <br><br>E3XXXXXX 00YY || Activates next code if address 80XXXXXX is greater than YY || Gameshark 2.2 and higher. || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! D0 | ! D0 | ||
| 16-bit | | 16-bit Equal-To Trigger <br><br>D0XXXXXX YYYY || Activates next code if address 80XXXXXX is equal to YYYY || -- || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! D1 | ! D1 | ||
| 16-bit | | 16-bit Different-From Trigger <br><br>D1XXXXXX YYYY || Activates next code if address 80XXXXXX is different from YYYY || Gameshark 2.2 and higher. || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! D2 | ! D2 | ||
| 16-bit | | 16-bit Less-Than Trigger <br><br>D2XXXXXX YYYY || Activates next code if address 80XXXXXX is less than YYYY || Gameshark 2.2 and higher. || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! D3 | ! D3 | ||
| 16-bit | | 16-bit Greater-Than Trigger <br><br>D3XXXXXX YYYY || Activates next code if address 80XXXXXX is greater than YYYY || Gameshark 2.2 and higher. || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! D4 | ! D4 | ||
| 16-bit | | 16-bit Universal Joker <br><br>D4000000 YYYY || Activates next code if the button presses equate to YYYY || Gameshark 2.41 and higher. Needs a button chart || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! D5 | ! D5 | ||
| 16-bit | | 16-bit Codes-on Trigger <br><br>D5000000 YYYY || Activates all codes if buton presses equate to YYYY || Gameshark 2.41 and higher. Needs a button chart || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! D6 | ! D6 | ||
| 16-bit | | 16-bit Codes-off Trigger <br><br>D6000000 YYYY || Activates all codes if buton presses equate to YYYY || Gameshark 2.41 and higher. Needs a button chart || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 10 | ! 10 | ||
| 16-bit | | 16-bit Incrementer <br><br>10XXXXXX YYYY || Increments value at address 80XXXXXX by YYYY || Gameshark 2.2 and higher. Use with a joker || 30~ including all in/decrement types | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 11 | ! 11 | ||
| 16-bit | | 16-bit Decrementer <br><br>11XXXXXX YYYY || Decrements value at address 80XXXXXX by YYYY || Gameshark 2.2 and higher. Use with a joker || 30~ including all in/decrement types | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 20 | ! 20 | ||
| 8-bit | | 8-bit Incrementer <br><br>20XXXXXX 00YY || Increments value at address 80XXXXXX by YY || Gameshark 2.2 and higher. Use with a joker || 30~ including all in/decrement types | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 21 | ! 21 | ||
| 8-bit | | 8-bit Decrementer <br><br>21XXXXXX 00YY || Decrements value at address 80XXXXXX by YY || Gameshark 2.2 and higher. Use with a joker || 30~ including all in/decrement types | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! C0 | ! C0 | ||
| | | Enable All Codes Trigger <br><br>C0XXXXXX YYYY || If value at address 80XXXXXX is equal to YYYY, enable all loaded codes in game. Affects all codes, not just the one this line is used in. || Gameshark 2.41 or higher. || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! C1 | ! C1 | ||
| | | Codes-on Delay <br><br>C1000000 YYYY || Delays codes from being on by YYYY time when game starts. 4000-5000 should give 20-30 seconds. || -- || 60~, including all Cx and comparison types | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! C2 | ! C2 | ||
| | | Copy Memory <br><br>C2XXXXXX YYYY <br> 80ZZZZZZ 0000 || Copy YYYY bytes from 80XXXXXX to 80ZZZZZZ. Could be used for copying large sets of complex character stats from one character to another, like working-magic-only, if serial repeater won't work || -- || 30? | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 1F800??? | ! 1F800??? | ||
| Special 16-bit write | | Special 16-bit write <br><br>1F800XXX YYYY || Write YYYY to address 1F800XXX in the scratch pad region. Note that the address range is only from 0x000 to 0x3FF (1024 bytes). || GameShark 2.3 and higher. || unknown | ||
|} | |} | ||
| Line 114: | Line 114: | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 3 | ! 3 | ||
| 8-bit | | 8-bit Constant Write <br><br>3TXXXXXX 00YY || Writes YY to address 80XXXXXXX || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 8 | ! 8 | ||
| 16-bit | | 16-bit Constant Write <br><br>8TXXXXXX YYYY || Writes YYYY to address 80XXXXXXX || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 00 | ! 00 | ||
| 32-bit | | 32-bit Constant Write <br><br>00XXXXXX YYYY || Writes 0000YYYY to address 80XXXXXX. || Doesn't use on/off setting. | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 5 | ! 5 | ||
| Mass | | Mass Write (Super code) <br><br>5TXXXXXX 0YYY || Writes YYY bytes (from following lines until end of YYY bytes) to address 80XXXXXX. || Exact behavior is unknown, may require even addresses only (unconfirmed). | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 7 | ! 7 | ||
| 16-bit | | 16-bit Equal-To Trigger <br><br>7TXXXXXX YYYY || Activates next code if value at address 80XXXXXX is equal to YYYY || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 9 | ! 9 | ||
| 16-bit | | 16-bit Not-Equal-To Trigger <br><br>9TXXXXXX YYYY || Activates next code if value at address 80XXXXXX is not equal to YYYY || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! F | ! F | ||
| 16-bit | | 16-bit Equal-To Global Trigger <br><br>FTXXXXXX YYYY || ??? Activates all codes if value at address 80XXXXXX is equal to YYYY || Exact behavior of this type is unconfirmed. | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! B | ! B | ||
| Serial Repeater<br>( | | Serial Repeater<br>(Slide code) <br><br>BXXXYYYY ZZZZ<br> 10TTTTTT VVVV<br> || Writes XX codes, with YY added to the address for each code after TTTTTTTT, and ZZZZ added to the amount for each code after value VVVV. | ||
10TTTTTT VVVV<br> | |||
Writes XX codes, with YY added to the address for each code after TTTTTTTT, and ZZZZ added to the amount for each code after value VVVV. | |||
|| This code is somewhat flawed, in that you must use an even address and other unremembered limitations for it to not crash the device. Converting GameShark serial repeater codes to this type is difficult and unreliable even when done correctly. | || This code is somewhat flawed, in that you must use an even address and other unremembered limitations for it to not crash the device. Converting GameShark serial repeater codes to this type is difficult and unreliable even when done correctly. | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 6 | ! 6 | ||
| | | Mega code <br><br>6T?????0 YYYY<br>AAAAAAAA CCCC<br>FFFFFFFF 0011<br>22334455 6677<br>8899 || ?=Don't care<br>AA= Break address<br>YY= Count in bytes to insert at location 40<br>CC= Coprocessor break type (upper half)<br>FF= Breakpoint mask (usually FFFFFFFF)<br>00= bytes of code in address order<br>11 | ||
AAAAAAAA CCCC<br> | |||
FFFFFFFF 0011<br> | |||
22334455 6677<br> | |||
8899 | |||
?=Don't care<br> | |||
AA= Break address<br> | |||
YY= Count in bytes to insert at location 40<br> | |||
CC= Coprocessor break type (upper half)<br> | |||
FF= Breakpoint mask (usually FFFFFFFF)<br> | |||
00= bytes of code in address order<br> | |||
11 | |||
|| General usage unknown. The document this description was originally pulled from is missing some text. | || General usage unknown. The document this description was originally pulled from is missing some text. | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 4 | ! 4 | ||
| | | Slow Motion <br><br>4T000000 XXXX || According to Nachbrenner's document: "A 4 code is a slow motion code. Its success rate is not brilliant at the moment. It is simply a loop executed (XXXX << 12) times." | ||
According to Nachbrenner's document: "A 4 code is a slow motion code. Its success rate is not brilliant at the moment. It is simply a loop executed (XXXX << 12) times." | |||
|| It's likely this causes problems if used. Exact effects are unknown. | || It's likely this causes problems if used. Exact effects are unknown. | ||
|} | |} | ||
| Line 205: | Line 190: | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0 | ! 0 | ||
| Master Code 1 | | Master Code 1 <br><br>0000XXXX YYYY || XXXX is the CRC value (the "Game ID" converted to hex) <br> Flags ("YYYY"): <br> 0008 - CRC Exists (CRC is used to autodetect the inserted game) <br> 0002 - Disable Interupts || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 1 | ! 1 | ||
| Master Code 2 | | Master Code 2 <br><br>1XXXXXXX YYYZ || 'Z' is the CBA Code Handler Store Address (0-7) [address = ((d << 0x16) + 0x08000100)] <br> YYY: <br> 100 - 32-bit Long-Branch Type (Thumb) <br> 200 - 32-bit Long-Branch Type (ARM) <br> 300 - 8-bit(?) Long-Branch Type (Thumb) <br> 400 - 8-bit(?) Long-Branch Type (ARM) <br> 002 - Unknown (Odd Effect) <br> XXXXXXX = ? || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 2 | ! 2 | ||
| 16-bit | | 16-bit OR <br><br>2XXXXXXX YYYY || OR's value at address XXXXXXX with YYYY. || Tested on VBA, not tested on hardware | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 3 | ! 3 | ||
| 8-bit RAM Write | | 8-bit RAM Write <br><br>3XXXXXXX 00YY || Writes YY to address XXXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 4 | ! 4 | ||
| | | Serial Repeater <br><br>4ZZZZZZZ YYYY<br>AAAAXXXX VVVV || ZZZZZZZ is the address to start at and YYYY is the starting value. AAAA is the value to increment with. XXXX is the number of address iterations. And finally, VVVV is the amount added to each address iteration || - | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 5 | ! 5 | ||
| | | Super Code/Memwrite <br><br>5XXXXXXX YYYY<br>ZZZZZZZZ ZZZZ<br>........<br>ZZZZZZZZ ZZZZ || XXXXXXX is the address where the writing begins, YYYY is the number of halfwords to write and ZZZZZZZZ ZZZZ are the halfwords. <br><br>'''Example'''<br><br>Say you had the following addresses and wanted to condense them in to something smaller. <br>02000000 1122<br>02000002 3344<br>02000004 5566<br>02000006 7788<br>02000008 99AA<br>0200000C BBCC<br><br>First, you must flip the bytes for each halfword. So 1122 becomes 2211, 3344 becomes 4433, etc. Being that CBA alreadly multiplies the number of halfwords to write by 2, divide the number of addresses you have by 2 and use this in place of YYYY. Now, with the Super Code this would come out as: <br>52000000 0003<br>22114433 6655<br>8877AA99 CCBB || Each address is automatically incremented by 2. (Non-changeable) | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 6 | ! 6 | ||
| 16-bit | | 16-bit AND <br><br>6XXXXXXX YYYY || AND's value at address XXXXXXX with YYYY. || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 7 | ! 7 | ||
| 16-bit | | 16-bit If Equal To <br><br>7XXXXXXX YYYY || Activates next code if value at address XXXXXXX is equal to YYYY. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 8 | ! 8 | ||
| 16-bit RAM Write | | 16-bit RAM Write <br><br>8XXXXXXX YYYY || Writes YYYY to address XXXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 9 | ! 9 | ||
| Change Encryption Seeds (if used as first code) | | Change Encryption Seeds (if used as first code) <br><br>9YYYYYYY YYYY || Details not researched. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! A | ! A | ||
| 16-bit | | 16-bit If Not Equal To <br><br>AXXXXXXX YYYY || Activates next code if value at address XXXXXXX is NOT equal to YYYY || Must be an even address. | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! B | ! B | ||
| | | If Greater Than <br><br> BXXXXXXX YYYY || If address XXXXXXX's value is Greater Than YYYY, then activate the next code. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! C | ! C | ||
| | | If Lesser Than <br><br>CXXXXXXX YYYY || If address XXXXXXX's value is Lesser Than YYYY, then activate the next code. || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! D | ! D | ||
| | | Pad Read/Button Activator <br><br>D0000020 YYYY || Activates next code if YYYY is equal to the button currently being pressed. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! E | ! E | ||
| | | Increment/Decrement <br><br>EXXXXXXX YYYY || Increase or Decrease the value of XXXXXXX by YYYY. This code type uses value ranges to determine whether to do an increment or decrement. Incremental ranges are: 0000 - 7FFF. Decremental ranges are: 8000 - FFFF. || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! F | ! F | ||
| Unknown || Unknown || | | Unknown || Unknown || -- | ||
|} | |} | ||
| Line 285: | Line 270: | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 00 | ! 00 | ||
| 8-bit Constant Write | | 8-bit Constant Write <br><br>00XXXXXX<br>000000YY || Writes YY to address XXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 01 | ! 01 | ||
| 16-bit Constant Write | | 16-bit Constant Write <br><br>01XXXXXX<br>0000YYYY || Writes YYYY to address XXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 02 | ! 02 | ||
| 32-bit Constant Write | | 32-bit Constant Write <br><br>02XXXXXX<br>YYYYYYYY || Writes YYYYYYYY to address XXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0300 | ! 0300 | ||
| 32-bit Group Write | | 32-bit Group Write <br><br>0300XXXX<br>YYYYYYYY<br>VVVVVVVV<br>........<br>VVVVVVVV || XXXX is the amount of 32-bit writes to perform, YYYYYYYY is the starting address to write to, VVVVVVVV are the values to write.<br><br>'''Example''':<br> 03000002 <- Declares two writes are to be done.<br>8CD00000 <- The address writes are to begin at.<br>11111111 <- Value to be used in write #1<br>22222222 <- Value to be used in write #2<br><br>This would write 11111111 to 8CD00000, and 22222222 to 8CD00004. || You must have values defined for each 32-bit write this code type makes. | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0301 | ! 0301 | ||
| 8-bit Incrementive Write | | 8-bit Incrementive Write <br><br>030100YY<br>XXXXXXXX || Adds YY to value at address XXXXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0302 | ! 0302 | ||
| 8-bit Decrementive Write | | 8-bit Decrementive Write <br><br>030200YY<br>XXXXXXXX || Subtracts YY from value at address XXXXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0303 | ! 0303 | ||
| 16-bit Incrementive Write | | 16-bit Incrementive Write <br><br>0303YYYY<br>XXXXXXXX || Adds YYYY to value at address XXXXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0304 | ! 0304 | ||
| 16-bit Decrementive Write | | 16-bit Decrementive Write <br><br>0304YYYY<br>XXXXXXXX || Subtracts YYYY from value at address XXXXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0305 | ! 0305 | ||
| 32-bit Incrementive Write | | 32-bit Incrementive Write <br><br>03050000<br>XXXXXXXX<br>YYYYYYYY || Adds YYYYYYYY to value at address XXXXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0306 | ! 0306 | ||
| 32-bit Decrementive Write | | 32-bit Decrementive Write <br><br>03060000<br>XXXXXXXX<br>YYYYYYYY || Subtracts YYYYYYYY from value at address XXXXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 04 | ! 04 | ||
| 32-bit Serial Repeater | | 32-bit Serial Repeater <br><br>04XXXXXX<br>WWWWZZZZ<br>YYYYYYYY || XXXXXX is the starting address, WWWW is the amount of writes, ZZZZ is the number to increment the address by (multiplied by 4 by CB/XP), and YYYYYYYY is the 32-bit value. || The address MUST end with 0, 4, 8, or C. | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 05 | ! 05 | ||
| | | Memory Copy <br><br>05XXXXXX<br>YYYYYYYY<br>ZZZZZZZZ || XXXXXX is the to copy from, YYYYYYYY is to copy to, and ZZZZZZZZ is the number of bytes to copy. || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 071 | ! 071 | ||
| Change Decryption Type | | Change Decryption Type <br><br>071000XX || XX defines the decryption type. Only 00-07 perform valid changes. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0B | ! 0B | ||
| Delay Code | | Delay Code <br><br>0B0XXXXX || Waits XXXXX cycles before enabling ANY codes. || Default wait time is 1000 (0x3E8) | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0C | ! 0C | ||
| 32-bit If Equal To - Enable ALL | | 32-bit If Equal To - Enable ALL <br><br>0C0XXXXX<br>YYYYYYYY || If value at address 8CXXXXX is equal to YYYYYYYY - then enable ALL codes. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0D | ! 0D | ||
| 16-bit Condition | | 16-bit Condition <br><br>0DXXXXXX<br>000ZYYYY || XXXXXX is the address used for the condition, Z is the condition type, YYYY is the 16-bit value used for the condition. || Z Values (Condition types): <br> 0 - Equal To <br> 1 - Not Equal To <br> 2 - Less Than <br> 3 - Greater Than | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0E | ! 0E | ||
| 16-bit Condition-Skip Multi Lines | | 16-bit Condition-Skip Multi Lines <br><br>0EWWYYYY<br>0ZXXXXXX || WW is the number of lines to skip, YYYY is the 16-bit value used for the condition, Z is the condition type, XXXXXX is the address used for the condition. || Note: Lines are only skipped if the condition returns false. <br><br>Z Values (Condition types): <br> 0 - Equal To <br> 1 - Not Equal To <br> 2 - Less Than <br> 3 - Greater Than | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0F | ! 0F | ||
| 16-bit Write Once, on Bootup. | | 16-bit Write Once, on Bootup. <br><br> 0FXXXXXX<br>0000YYYY || Writes YYYY to address XXXXXX ONCE, on bootup. || The address must be even. | ||
|} | |} | ||
| Line 351: | Line 336: | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 0 | ! 0 | ||
| 16-bit Write Once | | 16-bit Write Once <br><br>0XXXXXXX YYYY || Writes YYYY to address XXXXXXX only once upon bootup. || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 1 | ! 1 | ||
| 16-bit Constant Write | | 16-bit Constant Write <br><br>1XXXXXXX YYYY || Writes YYYY to address XXXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! 3 | ! 3 | ||
| 8-bit Constant Write | | 8-bit Constant Write <br><br>3XXXXXXX 00YY || Writes YY to address XXXXXXX. || -- | ||
|- align="center" style="font-size: 105%; background-color:# | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! D | ! D | ||
| 16-bit If Equal To | | 16-bit If Equal To <br><br>DXXXXXXX YYYY || If value at XXXXXXX is equal to YYYY, then execute the next code. || -- | ||
|- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | |- align="center" style="font-size: 105%; background-color:#aebfd2; text-align: center; padding:0;" | ||
! | ! Enable Code | ||
| Enable Code | | Enable Code <br><br>FXXXXXXX YYYY<br>BXXXXXXX YYYY || -- || -- | ||
|} | |} | ||
[[Category:Hacking and Game Info]] | [[Category:Hacking and Game Info]] | ||
Revision as of 10:21, 24 November 2008
Explanation of what a code type is, and what they're used for here..
Playstation Systems
Playstation 2
Code Breaker
GameShark (Interact)
GameShark (Mad Catz)
Xploder
Playstation
Gameshark & Action Replay
Note: For all intents and purposes, PlayStation Action Replay code types are identical to the GameShark ones. Only the device version numbers vary.
| Type | Description | Example | Other | Limitations |
|---|---|---|---|---|
| 30 | 8-bit Constant Write 3XXXXXXX 00YY |
Writes YY to Address XXXXXXX | -- | none |
| 80 | 16-bit Constant Write 8XXXXXXX ZZYY |
Writes ZZYY to Address XXXXXXX | -- | none |
| 50 | Serial Repeater 5000XXYY ZZZZ |
TTTTTTTT VVVV Writes XX codes, with YY added to the address for each code after TTTTTTTT, and ZZZZ added to the amount for each code after value VVVV |
Gameshark 2.2 and higher. May need to seperate pairs of serial codes with a 00000000 0000 code for disk-based gamesharks | unknown |
| E0 | 8-bit Equal-To Trigger E0XXXXXX 00YY |
Activates next code if address 80XXXXXX is equal to YY | Gameshark 2.2 and higher. | 60~, including all Cx and comparison types |
| E1 | 8-bit different-from trigger E1XXXXXX 00YY |
Activates next code if address 80XXXXXX is different from YY | Gameshark 2.2(?) and higher. | 60~, including all Cx and comparison types |
| E2 | 8-bit Less-Than Trigger E2XXXXXX 00YY |
Activates next code if address 80XXXXXX is less than YY | Gameshark 2.2 and higher. | 60~, including all Cx and comparison types |
| E3 | 8-bit Greater-Than Trigger E3XXXXXX 00YY |
Activates next code if address 80XXXXXX is greater than YY | Gameshark 2.2 and higher. | 60~, including all Cx and comparison types |
| D0 | 16-bit Equal-To Trigger D0XXXXXX YYYY |
Activates next code if address 80XXXXXX is equal to YYYY | -- | 60~, including all Cx and comparison types |
| D1 | 16-bit Different-From Trigger D1XXXXXX YYYY |
Activates next code if address 80XXXXXX is different from YYYY | Gameshark 2.2 and higher. | 60~, including all Cx and comparison types |
| D2 | 16-bit Less-Than Trigger D2XXXXXX YYYY |
Activates next code if address 80XXXXXX is less than YYYY | Gameshark 2.2 and higher. | 60~, including all Cx and comparison types |
| D3 | 16-bit Greater-Than Trigger D3XXXXXX YYYY |
Activates next code if address 80XXXXXX is greater than YYYY | Gameshark 2.2 and higher. | 60~, including all Cx and comparison types |
| D4 | 16-bit Universal Joker D4000000 YYYY |
Activates next code if the button presses equate to YYYY | Gameshark 2.41 and higher. Needs a button chart | 60~, including all Cx and comparison types |
| D5 | 16-bit Codes-on Trigger D5000000 YYYY |
Activates all codes if buton presses equate to YYYY | Gameshark 2.41 and higher. Needs a button chart | 60~, including all Cx and comparison types |
| D6 | 16-bit Codes-off Trigger D6000000 YYYY |
Activates all codes if buton presses equate to YYYY | Gameshark 2.41 and higher. Needs a button chart | 60~, including all Cx and comparison types |
| 10 | 16-bit Incrementer 10XXXXXX YYYY |
Increments value at address 80XXXXXX by YYYY | Gameshark 2.2 and higher. Use with a joker | 30~ including all in/decrement types |
| 11 | 16-bit Decrementer 11XXXXXX YYYY |
Decrements value at address 80XXXXXX by YYYY | Gameshark 2.2 and higher. Use with a joker | 30~ including all in/decrement types |
| 20 | 8-bit Incrementer 20XXXXXX 00YY |
Increments value at address 80XXXXXX by YY | Gameshark 2.2 and higher. Use with a joker | 30~ including all in/decrement types |
| 21 | 8-bit Decrementer 21XXXXXX 00YY |
Decrements value at address 80XXXXXX by YY | Gameshark 2.2 and higher. Use with a joker | 30~ including all in/decrement types |
| C0 | Enable All Codes Trigger C0XXXXXX YYYY |
If value at address 80XXXXXX is equal to YYYY, enable all loaded codes in game. Affects all codes, not just the one this line is used in. | Gameshark 2.41 or higher. | 60~, including all Cx and comparison types |
| C1 | Codes-on Delay C1000000 YYYY |
Delays codes from being on by YYYY time when game starts. 4000-5000 should give 20-30 seconds. | -- | 60~, including all Cx and comparison types |
| C2 | Copy Memory C2XXXXXX YYYY 80ZZZZZZ 0000 |
Copy YYYY bytes from 80XXXXXX to 80ZZZZZZ. Could be used for copying large sets of complex character stats from one character to another, like working-magic-only, if serial repeater won't work | -- | 30? |
| 1F800??? | Special 16-bit write 1F800XXX YYYY |
Write YYYY to address 1F800XXX in the scratch pad region. Note that the address range is only from 0x000 to 0x3FF (1024 bytes). | GameShark 2.3 and higher. | unknown |
All 16-bit comparison types are limited to roughly 60 lines per game. 8-bit comparison types and increment/decrement types are limited to around 30 lines per game combined.
Warning: Limitations info is incomplete. Expect exact limits eventually...
Xploder/Codebreaker/X-Terminator
Note: "T" defines the default on/off setting if this code type is the first line in a code. 0 = On, 8 = Off. This does not apply to all types.
| Type | Description | Example | Other |
|---|---|---|---|
| 3 | 8-bit Constant Write 3TXXXXXX 00YY |
Writes YY to address 80XXXXXXX | -- |
| 8 | 16-bit Constant Write 8TXXXXXX YYYY |
Writes YYYY to address 80XXXXXXX | -- |
| 00 | 32-bit Constant Write 00XXXXXX YYYY |
Writes 0000YYYY to address 80XXXXXX. | Doesn't use on/off setting. |
| 5 | Mass Write (Super code) 5TXXXXXX 0YYY |
Writes YYY bytes (from following lines until end of YYY bytes) to address 80XXXXXX. | Exact behavior is unknown, may require even addresses only (unconfirmed). |
| 7 | 16-bit Equal-To Trigger 7TXXXXXX YYYY |
Activates next code if value at address 80XXXXXX is equal to YYYY | -- |
| 9 | 16-bit Not-Equal-To Trigger 9TXXXXXX YYYY |
Activates next code if value at address 80XXXXXX is not equal to YYYY | -- |
| F | 16-bit Equal-To Global Trigger FTXXXXXX YYYY |
??? Activates all codes if value at address 80XXXXXX is equal to YYYY | Exact behavior of this type is unconfirmed. |
| B | Serial Repeater (Slide code) BXXXYYYY ZZZZ 10TTTTTT VVVV |
Writes XX codes, with YY added to the address for each code after TTTTTTTT, and ZZZZ added to the amount for each code after value VVVV. | This code is somewhat flawed, in that you must use an even address and other unremembered limitations for it to not crash the device. Converting GameShark serial repeater codes to this type is difficult and unreliable even when done correctly. |
| 6 | Mega code 6T?????0 YYYY AAAAAAAA CCCC FFFFFFFF 0011 22334455 6677 8899 |
?=Don't care AA= Break address YY= Count in bytes to insert at location 40 CC= Coprocessor break type (upper half) FF= Breakpoint mask (usually FFFFFFFF) 00= bytes of code in address order 11 |
General usage unknown. The document this description was originally pulled from is missing some text. |
| 4 | Slow Motion 4T000000 XXXX |
According to Nachbrenner's document: "A 4 code is a slow motion code. Its success rate is not brilliant at the moment. It is simply a loop executed (XXXX << 12) times." | It's likely this causes problems if used. Exact effects are unknown. |
Despite various documents claiming there is a "Datel compatibility" feature with the GS Dx and Cx codes, this has never been proven. In my own testing, in no cases did those types work. There may also be code types of 1, 2, A, and E that are completely undocumented.
Most information here is based off of Nachbrenner's Advanced Xplorer Codes document.
Gold Finger
Caetla
The only known documentation of the code types for this device are as follows:
[Caetla 0.341 Features list @ Internet Archive]
["New Revolution - Code Master - 07-13-00" @ Internet Archive]
Nintendo Systems
GameCube
Action Replay
Nintendo 64
GameShark
GameBoy Advance
Codebreaker Advance
| Type | Description | Example | Other |
|---|---|---|---|
| 0 | Master Code 1 0000XXXX YYYY |
XXXX is the CRC value (the "Game ID" converted to hex) Flags ("YYYY"): 0008 - CRC Exists (CRC is used to autodetect the inserted game) 0002 - Disable Interupts |
-- |
| 1 | Master Code 2 1XXXXXXX YYYZ |
'Z' is the CBA Code Handler Store Address (0-7) [address = ((d << 0x16) + 0x08000100)] YYY: 100 - 32-bit Long-Branch Type (Thumb) 200 - 32-bit Long-Branch Type (ARM) 300 - 8-bit(?) Long-Branch Type (Thumb) 400 - 8-bit(?) Long-Branch Type (ARM) 002 - Unknown (Odd Effect) XXXXXXX = ? |
-- |
| 2 | 16-bit OR 2XXXXXXX YYYY |
OR's value at address XXXXXXX with YYYY. | Tested on VBA, not tested on hardware |
| 3 | 8-bit RAM Write 3XXXXXXX 00YY |
Writes YY to address XXXXXXX. | -- |
| 4 | Serial Repeater 4ZZZZZZZ YYYY AAAAXXXX VVVV |
ZZZZZZZ is the address to start at and YYYY is the starting value. AAAA is the value to increment with. XXXX is the number of address iterations. And finally, VVVV is the amount added to each address iteration | - |
| 5 | Super Code/Memwrite 5XXXXXXX YYYY ZZZZZZZZ ZZZZ ........ ZZZZZZZZ ZZZZ |
XXXXXXX is the address where the writing begins, YYYY is the number of halfwords to write and ZZZZZZZZ ZZZZ are the halfwords. Example Say you had the following addresses and wanted to condense them in to something smaller. 02000000 1122 02000002 3344 02000004 5566 02000006 7788 02000008 99AA 0200000C BBCC First, you must flip the bytes for each halfword. So 1122 becomes 2211, 3344 becomes 4433, etc. Being that CBA alreadly multiplies the number of halfwords to write by 2, divide the number of addresses you have by 2 and use this in place of YYYY. Now, with the Super Code this would come out as: 52000000 0003 22114433 6655 8877AA99 CCBB |
Each address is automatically incremented by 2. (Non-changeable) |
| 6 | 16-bit AND 6XXXXXXX YYYY |
AND's value at address XXXXXXX with YYYY. | -- |
| 7 | 16-bit If Equal To 7XXXXXXX YYYY |
Activates next code if value at address XXXXXXX is equal to YYYY. | -- |
| 8 | 16-bit RAM Write 8XXXXXXX YYYY |
Writes YYYY to address XXXXXXX. | -- |
| 9 | Change Encryption Seeds (if used as first code) 9YYYYYYY YYYY |
Details not researched. | -- |
| A | 16-bit If Not Equal To AXXXXXXX YYYY |
Activates next code if value at address XXXXXXX is NOT equal to YYYY | Must be an even address. |
| B | If Greater Than BXXXXXXX YYYY |
If address XXXXXXX's value is Greater Than YYYY, then activate the next code. | -- |
| C | If Lesser Than CXXXXXXX YYYY |
If address XXXXXXX's value is Lesser Than YYYY, then activate the next code. | -- |
| D | Pad Read/Button Activator D0000020 YYYY |
Activates next code if YYYY is equal to the button currently being pressed. | -- |
| E | Increment/Decrement EXXXXXXX YYYY |
Increase or Decrease the value of XXXXXXX by YYYY. This code type uses value ranges to determine whether to do an increment or decrement. Incremental ranges are: 0000 - 7FFF. Decremental ranges are: 8000 - FFFF. | -- |
| F | Unknown | Unknown | -- |
GameShark Advance (Interact)
GameShark Advance (Mad Catz)
Action Replay
Nintendo DS
Codebreaker Advance
Sega Systems
Dreamcast
GameShark, Codebreaker and Xploder
| Type | Description | Example | Other |
|---|---|---|---|
| 00 | 8-bit Constant Write 00XXXXXX 000000YY |
Writes YY to address XXXXXX. | -- |
| 01 | 16-bit Constant Write 01XXXXXX 0000YYYY |
Writes YYYY to address XXXXXX. | -- |
| 02 | 32-bit Constant Write 02XXXXXX YYYYYYYY |
Writes YYYYYYYY to address XXXXXX. | -- |
| 0300 | 32-bit Group Write 0300XXXX YYYYYYYY VVVVVVVV ........ VVVVVVVV |
XXXX is the amount of 32-bit writes to perform, YYYYYYYY is the starting address to write to, VVVVVVVV are the values to write. Example: 03000002 <- Declares two writes are to be done. 8CD00000 <- The address writes are to begin at. 11111111 <- Value to be used in write #1 22222222 <- Value to be used in write #2 This would write 11111111 to 8CD00000, and 22222222 to 8CD00004. |
You must have values defined for each 32-bit write this code type makes. |
| 0301 | 8-bit Incrementive Write 030100YY XXXXXXXX |
Adds YY to value at address XXXXXXXX. | -- |
| 0302 | 8-bit Decrementive Write 030200YY XXXXXXXX |
Subtracts YY from value at address XXXXXXXX. | -- |
| 0303 | 16-bit Incrementive Write 0303YYYY XXXXXXXX |
Adds YYYY to value at address XXXXXXXX. | -- |
| 0304 | 16-bit Decrementive Write 0304YYYY XXXXXXXX |
Subtracts YYYY from value at address XXXXXXXX. | -- |
| 0305 | 32-bit Incrementive Write 03050000 XXXXXXXX YYYYYYYY |
Adds YYYYYYYY to value at address XXXXXXXX. | -- |
| 0306 | 32-bit Decrementive Write 03060000 XXXXXXXX YYYYYYYY |
Subtracts YYYYYYYY from value at address XXXXXXXX. | -- |
| 04 | 32-bit Serial Repeater 04XXXXXX WWWWZZZZ YYYYYYYY |
XXXXXX is the starting address, WWWW is the amount of writes, ZZZZ is the number to increment the address by (multiplied by 4 by CB/XP), and YYYYYYYY is the 32-bit value. | The address MUST end with 0, 4, 8, or C. |
| 05 | Memory Copy 05XXXXXX YYYYYYYY ZZZZZZZZ |
XXXXXX is the to copy from, YYYYYYYY is to copy to, and ZZZZZZZZ is the number of bytes to copy. | -- |
| 071 | Change Decryption Type 071000XX |
XX defines the decryption type. Only 00-07 perform valid changes. | -- |
| 0B | Delay Code 0B0XXXXX |
Waits XXXXX cycles before enabling ANY codes. | Default wait time is 1000 (0x3E8) |
| 0C | 32-bit If Equal To - Enable ALL 0C0XXXXX YYYYYYYY |
If value at address 8CXXXXX is equal to YYYYYYYY - then enable ALL codes. | -- |
| 0D | 16-bit Condition 0DXXXXXX 000ZYYYY |
XXXXXX is the address used for the condition, Z is the condition type, YYYY is the 16-bit value used for the condition. | Z Values (Condition types): 0 - Equal To 1 - Not Equal To 2 - Less Than 3 - Greater Than |
| 0E | 16-bit Condition-Skip Multi Lines 0EWWYYYY 0ZXXXXXX |
WW is the number of lines to skip, YYYY is the 16-bit value used for the condition, Z is the condition type, XXXXXX is the address used for the condition. | Note: Lines are only skipped if the condition returns false. Z Values (Condition types): 0 - Equal To 1 - Not Equal To 2 - Less Than 3 - Greater Than |
| 0F | 16-bit Write Once, on Bootup. 0FXXXXXX 0000YYYY |
Writes YYYY to address XXXXXX ONCE, on bootup. | The address must be even. |
Saturn
GameShark and Pro Action Replay
| Type | Description | Example | Other |
|---|---|---|---|
| 0 | 16-bit Write Once 0XXXXXXX YYYY |
Writes YYYY to address XXXXXXX only once upon bootup. | -- |
| 1 | 16-bit Constant Write 1XXXXXXX YYYY |
Writes YYYY to address XXXXXXX. | -- |
| 3 | 8-bit Constant Write 3XXXXXXX 00YY |
Writes YY to address XXXXXXX. | -- |
| D | 16-bit If Equal To DXXXXXXX YYYY |
If value at XXXXXXX is equal to YYYY, then execute the next code. | -- |
| Enable Code | Enable Code FXXXXXXX YYYY BXXXXXXX YYYY |
-- | -- |