Post by dlevere on Aug 3, 2011 18:44:47 GMT -4
By Goldenboy
About this guide:
=================
This small guide on code types and the memory editor was created to address some things that many 'newbie' hackers have problems with. Some of this knowledge is already out there, but this was to simplify things - plus the fact that many people are too lazy too actually search for a guide.
Terms and Definitions:
======================
Code Generator (Code Gen): The basis for most hacking. Allows for finding and creation of codes. Using this you can hack your very own codes explained below.
Memory Editor (Mem Ed): Underated hacking tool (I should know, I've hacked most of my TWINE codes with the aid of it). Allows for the user to see the RAM. Great for finding good stuff. Also great for 'looking around' RAM, especially when you find a great memory block.
Key Code: Basically, it allows the game and GS to boot at all while together. *I feel a chill going down my back as I type this one*
Enable Code (M) is the proper label. Allows the Code Gen and Codes to work while in the game. If you're lucky like me, some of the supposed "(M)" games will fully function even without the (M) code.
Memory Block: Not sure where this term came from, but it refers to confined area in the RAM that holds certain information (i.e gun block, attribute block, player's location block, etc.). See Memory Editor Section.
Activator: Tells the game to activate the below code when the above code's value is matched (or not matched). See code types.
Button Activator (Joker Command): Same as previous but button address is used to turn on code below.
8bit - Uses one slot in the RAM. In the code, it uses only the last two spaces. Value goes from 0-255.
16bit - Uses two slots in the RAM. In the code, it uses all spaces of the tail of the code. Value is from 0-65535.
Code Types:
===========
80000000 00xx-Standard 8bit (0-255 or 00-FF)
81000000 xxxx-Standard 16bit (0-65535 or 0000-FFFF)
D0000000 00xx-When Equal To Activator 8bit
D1000000 xxxx-When Equal To Activator 16bit
D2000000 00xx-When Not Equal To Activator 8bit
D3000000 xxxx-When Not Equal To Activator 16bit
88000000 00xx-When GS Button Is Pressed 8bit
89000000 xxxx-When GS Button Is Pressed 16bit
50000000 00xx-Patch Code
Others - Yes, there are, but it is not necessary for me to explain them because they are practically unhackable by standard means.
Code Types Explained:
=====================
80 - Applies to just the RAM address.
D0 - Tells the game 'hey, if the end of this code (it's value) is matched, turn on (activate) the following code.
EX:
--D0123456 0000
--80123456 0064100
50 (patch code)-Shortens many repetitious lines of code. In other words, if you have many lines of codes that follow a pattern (i.e. go up a certain amount on the ram address and/or the value) the patch code can reduce many lines to two lines.
EX:
--80000003 0008
--80000005 0009
--80000007 000A
Converts to:
--50000302 0001
--80000003 0008
Breakdown: It's three lines long, so the lines 5 and 6 tell how many lines to patch the code, so '03' takes care of that. Now, more importantly, the line goes up two times each line, so the lines 7 and 8 of the '50' code covers that, so our number is '2'. The last part is rare but I've had cases where I've used this (particularly in slot mods).
88 - Sorta like a standard code and an activator put together. Put standard code, on the same line put an 8 (or 9) and the when the GS button is pressed the code will be turned on. Great code type, but since the code generator is now standard on GS, these bad-boys have faded with Mario. To add to that, people have gotten even lazier, so instead of getting up and pressing the GS button, they can now just press a button on their controller; which I can't blame them.
Requirements: The lines that you want to patch (make shorter) MUST follow a pattern in the RAM address (8000000), meaning: each line must go up an equal amount every time it goes up.
Important: Since the GameShark can only support 15 codes on w/o the RAM pack and 100 codes w/the RAM pack, it's impossible to have a 16-bit '50' code.
Counting in Hexadecimal:
========================
If you can't count, don't go any further--you need help! That is, if you can't count in Decimal, which is our basic 10 system. Hexadecimal is the language that the GameShark (and game) uses, and is the exact same thing but uses letter and a 15 system, that means, it goes to 15 before it flips. Don't be discouraged, it's very easy to learn. Some guides can be very discouraging because they stop at F.
DEC:00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18
HEX:00,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12
See how they line up? That's because they are the same until you get to 15. Hexadecimals 0F is Decimal's 15.
Memory Editor: Truly Explained:
===============================
When I first started hacking and I typed in a certain address I was taken to areas with 0's and 8's at the end. Where was MY address that I typed in?! Little did I know, I was taken to the address, but I didn't realize it. I kicked myself when I realized how easy it was. But I also wanted to kick the author of the guides that didn't explain that to me.
Here's the breakdown: (Note:you may not see the beginning 8's - the front of the code - on your TV)
Note:If you can't count in Hexadecimal, learning the memory editor will be a bit difficult, so I'd advise you to learn it (above).
80000000 |00|01|02|03|04|05|06|07|Text here!
80000008 |08|09|0A|0B|0C|0D|0E|0F|
80000010 |10|11|12|13|14|15|16|17|
The base is 80000000. See the first block? It reads '00'. The next block to the right reads '01', that's just to let you know that that is the next address in the RAM, and it is 80000001, '02' would be 80000002 and so on. The values wouldn't normally look like this, but this is to explain where the addresses are.
Why is it set up like this? Don't know, but a good guess would be that it is to save room on the screen (considering that there are millions of addresses in the RAM).
After it reaches 7 (80000007) the addresses go to the next line beginning with (8000000 .
80000000,80000001,80000002,80000003,80000004,80000005,80000006,80000007,
next line:80000008,80000009,8000000A,8000000B,8000000C,8000000D,8000000E,8000000F,
next line:80000010,etc.
To the right, it says "Text here!". All that is text that may appear in the game. I won't go in depth, but if you look in the Memory Editor you will understand how/why it's there.
About this guide:
=================
This small guide on code types and the memory editor was created to address some things that many 'newbie' hackers have problems with. Some of this knowledge is already out there, but this was to simplify things - plus the fact that many people are too lazy too actually search for a guide.
Terms and Definitions:
======================
Code Generator (Code Gen): The basis for most hacking. Allows for finding and creation of codes. Using this you can hack your very own codes explained below.
Memory Editor (Mem Ed): Underated hacking tool (I should know, I've hacked most of my TWINE codes with the aid of it). Allows for the user to see the RAM. Great for finding good stuff. Also great for 'looking around' RAM, especially when you find a great memory block.
Key Code: Basically, it allows the game and GS to boot at all while together. *I feel a chill going down my back as I type this one*
Enable Code (M) is the proper label. Allows the Code Gen and Codes to work while in the game. If you're lucky like me, some of the supposed "(M)" games will fully function even without the (M) code.
Memory Block: Not sure where this term came from, but it refers to confined area in the RAM that holds certain information (i.e gun block, attribute block, player's location block, etc.). See Memory Editor Section.
Activator: Tells the game to activate the below code when the above code's value is matched (or not matched). See code types.
Button Activator (Joker Command): Same as previous but button address is used to turn on code below.
8bit - Uses one slot in the RAM. In the code, it uses only the last two spaces. Value goes from 0-255.
16bit - Uses two slots in the RAM. In the code, it uses all spaces of the tail of the code. Value is from 0-65535.
Code Types:
===========
80000000 00xx-Standard 8bit (0-255 or 00-FF)
81000000 xxxx-Standard 16bit (0-65535 or 0000-FFFF)
D0000000 00xx-When Equal To Activator 8bit
D1000000 xxxx-When Equal To Activator 16bit
D2000000 00xx-When Not Equal To Activator 8bit
D3000000 xxxx-When Not Equal To Activator 16bit
88000000 00xx-When GS Button Is Pressed 8bit
89000000 xxxx-When GS Button Is Pressed 16bit
50000000 00xx-Patch Code
Others - Yes, there are, but it is not necessary for me to explain them because they are practically unhackable by standard means.
Code Types Explained:
=====================
80 - Applies to just the RAM address.
D0 - Tells the game 'hey, if the end of this code (it's value) is matched, turn on (activate) the following code.
EX:
--D0123456 0000
--80123456 0064100
50 (patch code)-Shortens many repetitious lines of code. In other words, if you have many lines of codes that follow a pattern (i.e. go up a certain amount on the ram address and/or the value) the patch code can reduce many lines to two lines.
EX:
--80000003 0008
--80000005 0009
--80000007 000A
Converts to:
--50000302 0001
--80000003 0008
Breakdown: It's three lines long, so the lines 5 and 6 tell how many lines to patch the code, so '03' takes care of that. Now, more importantly, the line goes up two times each line, so the lines 7 and 8 of the '50' code covers that, so our number is '2'. The last part is rare but I've had cases where I've used this (particularly in slot mods).
88 - Sorta like a standard code and an activator put together. Put standard code, on the same line put an 8 (or 9) and the when the GS button is pressed the code will be turned on. Great code type, but since the code generator is now standard on GS, these bad-boys have faded with Mario. To add to that, people have gotten even lazier, so instead of getting up and pressing the GS button, they can now just press a button on their controller; which I can't blame them.
Requirements: The lines that you want to patch (make shorter) MUST follow a pattern in the RAM address (8000000), meaning: each line must go up an equal amount every time it goes up.
Important: Since the GameShark can only support 15 codes on w/o the RAM pack and 100 codes w/the RAM pack, it's impossible to have a 16-bit '50' code.
Counting in Hexadecimal:
========================
If you can't count, don't go any further--you need help! That is, if you can't count in Decimal, which is our basic 10 system. Hexadecimal is the language that the GameShark (and game) uses, and is the exact same thing but uses letter and a 15 system, that means, it goes to 15 before it flips. Don't be discouraged, it's very easy to learn. Some guides can be very discouraging because they stop at F.
DEC:00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18
HEX:00,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12
See how they line up? That's because they are the same until you get to 15. Hexadecimals 0F is Decimal's 15.
Memory Editor: Truly Explained:
===============================
When I first started hacking and I typed in a certain address I was taken to areas with 0's and 8's at the end. Where was MY address that I typed in?! Little did I know, I was taken to the address, but I didn't realize it. I kicked myself when I realized how easy it was. But I also wanted to kick the author of the guides that didn't explain that to me.
Here's the breakdown: (Note:you may not see the beginning 8's - the front of the code - on your TV)
Note:If you can't count in Hexadecimal, learning the memory editor will be a bit difficult, so I'd advise you to learn it (above).
80000000 |00|01|02|03|04|05|06|07|Text here!
80000008 |08|09|0A|0B|0C|0D|0E|0F|
80000010 |10|11|12|13|14|15|16|17|
The base is 80000000. See the first block? It reads '00'. The next block to the right reads '01', that's just to let you know that that is the next address in the RAM, and it is 80000001, '02' would be 80000002 and so on. The values wouldn't normally look like this, but this is to explain where the addresses are.
Why is it set up like this? Don't know, but a good guess would be that it is to save room on the screen (considering that there are millions of addresses in the RAM).
After it reaches 7 (80000007) the addresses go to the next line beginning with (8000000 .
80000000,80000001,80000002,80000003,80000004,80000005,80000006,80000007,
next line:80000008,80000009,8000000A,8000000B,8000000C,8000000D,8000000E,8000000F,
next line:80000010,etc.
To the right, it says "Text here!". All that is text that may appear in the game. I won't go in depth, but if you look in the Memory Editor you will understand how/why it's there.