Post by dlevere on Aug 3, 2011 18:38:55 GMT -4
By King Rhyono
The first step to making codes, would be knowing the code types, seeing as they will greatly help you. Not to mention they are necessary
32bits=4 bytes=8 digits=word
16bits=2 bytes=4 digits=halfword
8 bits=1 byte=2 digits=byte
X=address
Y=value
Z=number of bytes
x (before numbers/letters)=means the number is in hex.
3 type through A type are all "conditionals," or codes based on something being true.
0 Type
* Writes 32bits to the address.
* A code that is "023D6B28 3B9ACA00" will write all "x3B9ACA00" (1 billion in decimal) to the game.
* Format: 0XXXXXXX YYYYYYYY
1 Type
* Writes 16bits to the address.
* A code that is "123D6B28 3B9ACA00" will write only the "xCA00" to the game.
* Format: 1XXXXXXX 0000YYYY
2 Type
* Writes 8bits to the address.
* A code that is "223D6B28 3B9ACA00" will write only the "x00" to the game.
* Format: 2XXXXXXX 000000YY
3 Type
* 32bit "If address is less than Y"
* A line such as "32AB4400 10000000" will only allow the following lines to activate if the value at 02AB4400 is less than "x10000000."
* Format: 3XXXXXXX YYYYYYYY
4 Type
* 32bit "If address is greater than Y"
* A line such as "42AB4400 10000000" will only allow the following lines to activate if the value at 02AB4400 is greater than "x10000000."
* Format: 4XXXXXXX YYYYYYYY
5 Type
* 32bit "If address is equal to Y"
* A line such as "52AB4400 10000000" will only allow the following lines to activate if the value at 02AB4400 is exactly equal to "x10000000."
* Format: 5XXXXXXX YYYYYYYY
6 Type
* 32bit "If address is not equal to Y"
* A line such as "62AB4400 10000000" will only allow the following lines to activate if the value at 02AB4400 is not equal to "x10000000."
* Format: 6XXXXXXX YYYYYYYY
7 Type
* 16bit "If address is less than Y"
* A line such as "72AB4400 00005000" will only allow the following lines to activate if the value at 02AB4400 is less than "x5000."
* Format: 7XXXXXXX YYYYYYYY
8 Type
* 16bit "If address is greater than Y"
* A line such as "82AB4400 00005000" will only allow the following lines to activate if the value at 02AB4400 is greater than "x5000."
* Format: 8XXXXXXX YYYYYYYY
9 Type
* 16bit "If address is equal to Y"
* A line such as "92AB4400 00005000" will only allow the following lines to activate if the value at 02AB4400 is exactly equal to "x5000."
* Format: 9XXXXXXX YYYYYYYY
A Type
* 16bit "If address is not equal to Y"
* A line such as "A2AB4400 00005000" will only allow the following lines to activate if the value at 02AB4400 is not equal to "x5000."
* Format: AXXXXXXX YYYYYYYY
B Type
* Loads offset (used for pointers)
* Sets the offset, such as "B23FFE04 00000000" then lines for that game will have an offset of their own, based off of that address.
* Format: BXXXXXXX 00000000
C Type
* Repeats the lines specified beneath it Z number of times.
* A line such as "C0000000 00000005" will repeat the lines below it 5 times, at the specified intervals from the DC, D6, D7, and D8 types.
* Format: C0000000 ZZZZZZZZ
D0 Type
* Ends the most recent conditional.
* The D0 type will end the nearest 3-A type code, and all of the lines between the conditional and D0 type.
* Format: D0000000 00000000
D1 Type
* Ends a C type, and any conditionals within the C type.
* The D1 type will end the nearest C type, and all of the lines within it, including conditionals.
* Format: D1000000 00000000
D2 Type
* Ends conditionals, C types, and sets offsets and stored values to 0.
* The D2 type is used to end a code, because it ends all of the lines.
Format: D2000000 00000000
D3 Type
* Sets offset value.
* The D3 type will change the value of the offset.
* Format: D3000000 YYYYYYYY
D4 Type
* Adds to offset.
* The D4 type will add a value to the offset.
* Format: D4000000 YYYYYYYY
D5 Type
* Sets stored.
* The D5 type will write YYYYYYYY to the "stored" value.
* Format: D5000000 YYYYYYYY
D6 Type
* 32bit store and increment.
* The D6 type will save the word from stored to offset. Then will increment offsets by 4.
* Format: D6000000 XXXXXXXX
D7 Type
* 16bit store and increment.
* The D7 type will save the halfword from stored to offset. Then will increment offsets by 2.
* Format: D7000000 XXXXXXXX
D8 Type
* 8bit store and increment.
* The D8 type will save the byte from stored to offset. Then will increment offsets by 1.
* Format: D8000000 XXXXXXXX
D9 Type
* 32bit load stored from address
* The D9 type loads the word from an address.
* Format: D9000000 XXXXXXXX
DA Type
* 16bit load stored from address
* The DA type loads a halfword from an address.
* Format: DA000000 XXXXXXXX
DB Type
* 8bit load stored from address
* The DB type loads a byte from an address.
* Format: DB000000 XXXXXXXX
DC Type
* Y increment from offset
* The DC type will increment from the offset with increments of Y.
* Format: DC000000 YYYYYYYY
E Type
* Memory write
* The E type will directly write Z bytes, starting at the offset, from the lines of code proceeding the E line.
* Format:
* EXXXXXXX ZZZZZZZZ
* YYYYYYYY YYYYYYYY (and so on)
F Type
* Memory Copy
* The F type copies Z bytes starting at the offset, to X.
* Format: FXXXXXXX ZZZZZZZZ
The first step to making codes, would be knowing the code types, seeing as they will greatly help you. Not to mention they are necessary
32bits=4 bytes=8 digits=word
16bits=2 bytes=4 digits=halfword
8 bits=1 byte=2 digits=byte
X=address
Y=value
Z=number of bytes
x (before numbers/letters)=means the number is in hex.
3 type through A type are all "conditionals," or codes based on something being true.
0 Type
* Writes 32bits to the address.
* A code that is "023D6B28 3B9ACA00" will write all "x3B9ACA00" (1 billion in decimal) to the game.
* Format: 0XXXXXXX YYYYYYYY
1 Type
* Writes 16bits to the address.
* A code that is "123D6B28 3B9ACA00" will write only the "xCA00" to the game.
* Format: 1XXXXXXX 0000YYYY
2 Type
* Writes 8bits to the address.
* A code that is "223D6B28 3B9ACA00" will write only the "x00" to the game.
* Format: 2XXXXXXX 000000YY
3 Type
* 32bit "If address is less than Y"
* A line such as "32AB4400 10000000" will only allow the following lines to activate if the value at 02AB4400 is less than "x10000000."
* Format: 3XXXXXXX YYYYYYYY
4 Type
* 32bit "If address is greater than Y"
* A line such as "42AB4400 10000000" will only allow the following lines to activate if the value at 02AB4400 is greater than "x10000000."
* Format: 4XXXXXXX YYYYYYYY
5 Type
* 32bit "If address is equal to Y"
* A line such as "52AB4400 10000000" will only allow the following lines to activate if the value at 02AB4400 is exactly equal to "x10000000."
* Format: 5XXXXXXX YYYYYYYY
6 Type
* 32bit "If address is not equal to Y"
* A line such as "62AB4400 10000000" will only allow the following lines to activate if the value at 02AB4400 is not equal to "x10000000."
* Format: 6XXXXXXX YYYYYYYY
7 Type
* 16bit "If address is less than Y"
* A line such as "72AB4400 00005000" will only allow the following lines to activate if the value at 02AB4400 is less than "x5000."
* Format: 7XXXXXXX YYYYYYYY
8 Type
* 16bit "If address is greater than Y"
* A line such as "82AB4400 00005000" will only allow the following lines to activate if the value at 02AB4400 is greater than "x5000."
* Format: 8XXXXXXX YYYYYYYY
9 Type
* 16bit "If address is equal to Y"
* A line such as "92AB4400 00005000" will only allow the following lines to activate if the value at 02AB4400 is exactly equal to "x5000."
* Format: 9XXXXXXX YYYYYYYY
A Type
* 16bit "If address is not equal to Y"
* A line such as "A2AB4400 00005000" will only allow the following lines to activate if the value at 02AB4400 is not equal to "x5000."
* Format: AXXXXXXX YYYYYYYY
B Type
* Loads offset (used for pointers)
* Sets the offset, such as "B23FFE04 00000000" then lines for that game will have an offset of their own, based off of that address.
* Format: BXXXXXXX 00000000
C Type
* Repeats the lines specified beneath it Z number of times.
* A line such as "C0000000 00000005" will repeat the lines below it 5 times, at the specified intervals from the DC, D6, D7, and D8 types.
* Format: C0000000 ZZZZZZZZ
D0 Type
* Ends the most recent conditional.
* The D0 type will end the nearest 3-A type code, and all of the lines between the conditional and D0 type.
* Format: D0000000 00000000
D1 Type
* Ends a C type, and any conditionals within the C type.
* The D1 type will end the nearest C type, and all of the lines within it, including conditionals.
* Format: D1000000 00000000
D2 Type
* Ends conditionals, C types, and sets offsets and stored values to 0.
* The D2 type is used to end a code, because it ends all of the lines.
Format: D2000000 00000000
D3 Type
* Sets offset value.
* The D3 type will change the value of the offset.
* Format: D3000000 YYYYYYYY
D4 Type
* Adds to offset.
* The D4 type will add a value to the offset.
* Format: D4000000 YYYYYYYY
D5 Type
* Sets stored.
* The D5 type will write YYYYYYYY to the "stored" value.
* Format: D5000000 YYYYYYYY
D6 Type
* 32bit store and increment.
* The D6 type will save the word from stored to offset. Then will increment offsets by 4.
* Format: D6000000 XXXXXXXX
D7 Type
* 16bit store and increment.
* The D7 type will save the halfword from stored to offset. Then will increment offsets by 2.
* Format: D7000000 XXXXXXXX
D8 Type
* 8bit store and increment.
* The D8 type will save the byte from stored to offset. Then will increment offsets by 1.
* Format: D8000000 XXXXXXXX
D9 Type
* 32bit load stored from address
* The D9 type loads the word from an address.
* Format: D9000000 XXXXXXXX
DA Type
* 16bit load stored from address
* The DA type loads a halfword from an address.
* Format: DA000000 XXXXXXXX
DB Type
* 8bit load stored from address
* The DB type loads a byte from an address.
* Format: DB000000 XXXXXXXX
DC Type
* Y increment from offset
* The DC type will increment from the offset with increments of Y.
* Format: DC000000 YYYYYYYY
E Type
* Memory write
* The E type will directly write Z bytes, starting at the offset, from the lines of code proceeding the E line.
* Format:
* EXXXXXXX ZZZZZZZZ
* YYYYYYYY YYYYYYYY (and so on)
F Type
* Memory Copy
* The F type copies Z bytes starting at the offset, to X.
* Format: FXXXXXXX ZZZZZZZZ