Difference between revisions of "Code Types"

From Wiki - GameHacking.org
Jump to: navigation, search
('''Action Replay''')
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Explanation of what a code type is, and what they're used for here..
+
'''Code Types''' are used by [[Game Enhancer]]'s to determine how to use/execute codes. They also allow users to add some degree of sophistication for the codes they make.
  
 +
Types you will commonly see available for most Game Enhancers are 8-bit/16-bit/32-bit Writes, Conditional types (If - Equal To, Greater Than, Less Than, etc.) and Master Codes.
  
= <font color="blue">Playstation Systems</font> =
+
Some devices don't have any Code Types at all, and just perform a preset bit write to the address you define. Such devices are the older models of the Pro Action Replay for [[Pro_Action_Replay_(SNES)|Super Nintendo]] and [[Pro_Action_Replay_(Genesis)|Sega Genesis]].
  
  
== Playstation 2 ==
 
  
==='''Code Breaker'''===
 
----
 
  
 
+
{{Code Types}}
==='''GameShark (Interact)'''===
+
[[Category:Code Types]]
----
+
[[Category:Hacking and Game Info]]
 
 
 
 
 
 
==='''GameShark (Mad Catz)'''===
 
----
 
 
 
 
 
==='''Xploder'''===
 
----
 
 
 
== Playstation ==
 
 
 
==='''Gameshark'''===
 
----
 
{| style="border:1px solid #000000; margin: 0; padding:0;" width="100%" cellspacing="0" cellpadding="5""
 
! Type !! Description !! Example !! Other
 
 
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! 30
 
| 8-bit constant write || 3XXXXXXX 00YY <br> Writes YY to Address XXXXXXX || NA
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! 80
 
| 16-bit constant write || 8XXXXXXX ZZYY <br> Writes ZZYY to Address XXXXXXX || NA
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! 50
 
| serial repeater || 5000XXYY 00ZZ <br> 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
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! E0
 
| 8-bit equal-to trigger || E0XXXXXX 00YY <br> Activates next code if address 80XXXXXX is equal to YY ||  Gameshark 2.2 and higher.
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! E1
 
| 8-bit different-from trigger || E1XXXXXX 00YY <br> Activates next code if address 80XXXXXX is different from YY ||  Gameshark 2.2(?) and higher.
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! E2
 
| 8-bit less-than trigger || E2XXXXXX 00YY <br> Activates next code if address 80XXXXXX is less than YY ||  Gameshark 2.2 and higher.
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! E3
 
| 8-bit greater-than trigger || E3XXXXXX 00YY <br> Activates next code if address 80XXXXXX is greater than YY || Gameshark 2.2 and higher.
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! D0
 
| 16-bit equal-to trigger || D0XXXXXX YYYY <br> Activates next code if address 80XXXXXX is equal to YYYY || N/A
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! D1
 
| 16-bit different-from trigger || D1XXXXXX YYYY <br> Activates next code if address 80XXXXXX is different from YYYY ||  Gameshark 2.2 and higher.
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! D2
 
| 16-bit less-than trigger || D2XXXXXX YYYY <br> Activates next code if address 80XXXXXX is less than YYYY ||  Gameshark 2.2 and higher.
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! D3
 
| 16-bit greater-than trigger || D3XXXXXX YYYY <br> Activates next code if address 80XXXXXX is greater than YYYY ||  Gameshark 2.2 and higher.
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! D4
 
| 16-bit universal joker || D4000000 YYYY <br> Activates next code if the button presses equate to YYYY || Gameshark 2.41 and higher. Needs a button chart
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! D5
 
| 16-bit codes-on trigger || D5000000 YYYY <br> Activates all codes if buton presses equate to YYYY || Gameshark 2.41 and higher. Needs a button chart
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! D6
 
| 16-bit codes-off trigger || D6000000 YYYY <br> Activates all codes if buton presses equate to YYYY || Gameshark 2.41 and higher. Needs a button chart
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! 10
 
| 16-bit incrementer || 10XXXXXX YYYY <br> Increments value at address 80XXXXXX by YYYY || Gameshark 2.2 and higher. Use with a joker
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! 11
 
| 16-bit decrementer || 11XXXXXX YYYY <br> Decrements value at address 80XXXXXX by YYYY || Gameshark 2.2 and higher. Use with a joker
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! 20
 
| 8-bit incrementer || 20XXXXXX 00YY <br> Increments value at address 80XXXXXX by YY || Gameshark 2.2 and higher. Use with a joker
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! 21
 
| 8-bit decrementer || 21XXXXXX 00YY <br> Decrements value at address 80XXXXXX by YY || Gameshark 2.2 and higher. Use with a joker
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! C0
 
| enable all codes trigger || C0XXXXXX YYYY <br> 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.
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! C1
 
| codes-on delay || C1000000 YYYY <br> Delays codes from being on by YYYY time when game starts. 4000-5000 should give 20-30 seconds. || NA
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! C2
 
| copy memory || C2XXXXXX YYYY <br> 80ZZZZZZ 0000 <br> 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 || NA
 
 
 
|}
 
 
 
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.
 
 
 
==='''Xploder/Codebreaker'''===
 
----
 
{| style="border:1px solid #000000; margin: 0; padding:0;" width="100%" cellspacing="0" cellpadding="5""
 
! Type !! Description !! Example !! Other
 
 
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! 30
 
| 8-bit constant write || 3XXXXXXX 00YY <br> Writes YY to Address XXXXXXX || NA
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! 80
 
| 16-bit constant write || 8XXXXXXX ZZYY <br> Writes ZZYY to Address XXXXXXX || NA
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! 70
 
| 16-bit equal-to trigger || 70XXXXXX YYYY <br> Activates next code if address 80XXXXXX is equal to YYYY || NA
 
 
 
|}
 
 
 
==='''Action Replay'''===
 
----
 
For all intents and purposes, PlayStation Action Replay code types are identical to the GameShark ones. Only the device version numbers vary.
 
 
 
==='''Gold Finger'''===
 
----
 
 
 
 
 
==='''Caetla'''===
 
----
 
 
 
= <font color="blue">Nintendo Systems</font> =
 
 
 
 
 
== GameCube ==
 
 
 
 
 
==='''Action Replay'''===
 
----
 
 
 
== Nintendo 64 ==
 
 
 
 
 
==='''GameShark'''===
 
----
 
 
 
== GameBoy Advance ==
 
 
 
 
 
 
 
==='''Codebreaker Advance'''===
 
----
 
{| style="border:1px solid #000000; margin: 0; padding:0;" width="100%" cellspacing="0" cellpadding="5""
 
! Type !! Description !! Example !! Other
 
 
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! 0
 
| Master Code 1 || 0000XXXX YYYY <br> 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 || NA
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! 1
 
| Master Code 2 || 1XXXXXXX YYYZ <br> '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 = ? || NA
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! 2
 
| 16-bit bitwise OR || 2XXXXXXX YYYY <br> XXXXXXX = Address <br> YYYY = Value to OR with || Tested on VBA, not tested on hardware
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! 3
 
| 8-bit RAM Write || 3XXXXXXX 00YY <br> XXXXXXX = Address <br> YY = Value to write || NA
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! 4
 
| serial repeater || 4qqqqqqq xxyy <br> XXYY#### ++++ <br> qqqqqqq=Address to Start At <br> xxyy = Start Value <br> XXYY = Add To Value <br> #### = Number of Address Iterations <br> ++++ = Amount Added to each Address Iteration || XXYY portion tested in VBA, not tested on hardware
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! 5
 
| Unknown || Unknown || NA
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! 6
 
| 16-bit bitwise AND || 6XXXXXXX YYYY <br> XXXXXXX = Address <br> YYYY = Value to AND with || NA
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! 7
 
| 16-bit equal-to trigger || 7XXXXXXX YYYY <br> Activates next code if address XXXXXXX is equal to YYYY ||  NA
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! 8
 
| 16-bit RAM Write || 8XXXXXXX YYYY <br> XXXXXXX = Address <br> YYYY = Value to write || NA
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! 9
 
| Change Encryption Seeds (if used as first code) || 9YYYYYYY YYYY <br> Details not researched || NA
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! A
 
| 16-bit not-equal-to trigger || AXXXXXXX YYYY <br> Activates next code if address XXXXXXX is not equal to YYYY || NA
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! B
 
| Unknown || Unknown || NA
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! C
 
| Unknown || Unknown || NA
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! D
 
| Unknown || Unknown || NA
 
|- align="center" style="font-size: 105%; background-color:#cedff2; text-align: center; padding:0;"
 
! E
 
| Unknown || Unknown || NA
 
|- align="center" style="font-size: 105%; background-color:#d0d8e0; text-align: center; padding:0;"
 
! F
 
| Unknown || Unknown || NA
 
 
 
|}
 
 
 
==='''GameShark Advance (Interact)'''===
 
----
 
 
 
 
 
==='''GameShark Advance (Mad Catz)'''===
 
----
 
 
 
 
 
==='''Action Replay'''===
 
----
 
 
 
 
 
== Nintendo DS ==
 
 
 
==='''Codebreaker Advance'''===
 
----
 
 
 
 
 
= <font color="blue">Sega Systems</font> =
 
 
 
 
 
 
 
== Dreamcast ==
 
 
 
==='''GameShark CDX'''===
 
----
 
 
 
 
 
==='''Codebreaker'''===
 
----
 
 
 
== Saturn ==
 
 
 
==='''GameShark'''===
 
----
 

Latest revision as of 17:24, 24 November 2008

Code Types are used by Game Enhancer's to determine how to use/execute codes. They also allow users to add some degree of sophistication for the codes they make.

Types you will commonly see available for most Game Enhancers are 8-bit/16-bit/32-bit Writes, Conditional types (If - Equal To, Greater Than, Less Than, etc.) and Master Codes.

Some devices don't have any Code Types at all, and just perform a preset bit write to the address you define. Such devices are the older models of the Pro Action Replay for Super Nintendo and Sega Genesis.



Code Types
Consoles
Playstation - Sega Saturn - Dreamcast - Playstation 2 - Game Cube
Portables
Game Boy Advance - Nintendo DS