Code Types: Difference between revisions

From Wiki - GameHacking.org
No edit summary
 
(23 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 ||  NA
|- 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
 
|}
 
==='''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'''===
----
 
 
==='''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 21: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