mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 13:27:45 -07:00
Linted markdown
parent
37db204639
commit
1a3733e03e
@ -11,14 +11,12 @@ The GameCube has a memory range of 80000000 - 817FFFFF (cached), or C0000000 - C
|
||||
In order to conserve space and simplicity, only the 8-bit code type identifier and particulars of the second half of the code will be explained below, as the method for procuring the first half has already been described above ;)
|
||||
|
||||
## Terms
|
||||
---
|
||||
|
||||
- 8-bit - Byte - 0x12
|
||||
- 16-bit - Halfword - 0x1234
|
||||
- 32-bit - Word - 0x12345678
|
||||
|
||||
## Writes
|
||||
---
|
||||
|
||||
- (00) NNNNNNXX
|
||||
- 8-bit write. X is the value, N is the number of times to repeat.
|
||||
@ -36,9 +34,7 @@ In order to conserve space and simplicity, only the 8-bit code type identifier a
|
||||
- 05006500 12345678
|
||||
- Will write word 0x12345678 to 81006500.
|
||||
|
||||
|
||||
## Addition
|
||||
---
|
||||
|
||||
- (80) 000000XX
|
||||
- 8-bit Addition. Load the byte at the address, add X to it, and save resulting byte.
|
||||
@ -48,9 +44,9 @@ In order to conserve space and simplicity, only the 8-bit code type identifier a
|
||||
- 32-bit Addition. Load the word at the address, add X to it, and save resulting word.
|
||||
|
||||
## Single Line Activators
|
||||
---
|
||||
|
||||
### Equal
|
||||
|
||||
- (08) 000000XX
|
||||
- 8-bit Equal activator.
|
||||
- (0A) 0000XXXX
|
||||
@ -61,6 +57,7 @@ In order to conserve space and simplicity, only the 8-bit code type identifier a
|
||||
X is the value the address must equal to activate the next line of code.
|
||||
|
||||
### NOT Equal
|
||||
|
||||
- (10) 000000XX
|
||||
- 8-bit NOT Equal activator.
|
||||
- (12) 0000XXXX
|
||||
@ -71,6 +68,7 @@ X is the value the address must equal to activate the next line of code.
|
||||
If the value stored at the address is not equal to X, activate the next line of code.
|
||||
|
||||
### If Lower (signed)
|
||||
|
||||
- (18) 000000XX
|
||||
- 8-bit If Lower (signed) activator.
|
||||
- (1A) 0000XXXX
|
||||
@ -81,6 +79,7 @@ If the value stored at the address is not equal to X, activate the next line of
|
||||
If the value stored at the address is lower than X, activate the next line of code.
|
||||
|
||||
### If Higher (signed)
|
||||
|
||||
- (20) 000000XX
|
||||
- 8-bit If Higher (signed) activator.
|
||||
- (22) 0000XXXX
|
||||
@ -91,6 +90,7 @@ If the value stored at the address is lower than X, activate the next line of co
|
||||
If the value stored at the address is higher than X, activate the next line of code.
|
||||
|
||||
### If Lower (unsigned)
|
||||
|
||||
- (28) 000000XX
|
||||
- 8-bit If Lower (unsigned) activator.
|
||||
- (2A) 0000XXXX
|
||||
@ -101,6 +101,7 @@ If the value stored at the address is higher than X, activate the next line of c
|
||||
If the value stored at the address is lower than X, activate the next line of code.
|
||||
|
||||
### If Higher (unsigned)
|
||||
|
||||
- (30) 000000XX
|
||||
- 8-bit If Higher (unsigned) activator.
|
||||
- (32) 0000XXXX
|
||||
@ -111,9 +112,9 @@ If the value stored at the address is lower than X, activate the next line of co
|
||||
If the value stored at the address is higher than X, activate the next line of code.
|
||||
|
||||
## Double Line Activators
|
||||
---
|
||||
|
||||
### Equal
|
||||
|
||||
- (48) 000000XX
|
||||
- 8-bit activator.
|
||||
- (4A) 0000XXXX
|
||||
@ -124,6 +125,7 @@ If the value stored at the address is higher than X, activate the next line of c
|
||||
X is the value the address must equal to activate the next two lines of code.
|
||||
|
||||
### NOT Equal
|
||||
|
||||
- (50) 000000XX
|
||||
- 8-bit NOT Equal activator.
|
||||
- (52) 0000XXXX
|
||||
@ -134,6 +136,7 @@ X is the value the address must equal to activate the next two lines of code.
|
||||
If the value stored at the address is not equal to X, activate the next two lines of code.
|
||||
|
||||
### If Lower (signed)
|
||||
|
||||
- (58) 000000XX
|
||||
- 8-bit If Lower (signed) activator.
|
||||
- (5A) 0000XXXX
|
||||
@ -144,6 +147,7 @@ If the value stored at the address is not equal to X, activate the next two line
|
||||
If the value stored at the address is lower than X, activate the next two lines of code.
|
||||
|
||||
### If Higher (signed)
|
||||
|
||||
- (60) 000000XX
|
||||
- 8-bit If Higher (signed) activator.
|
||||
- (62) 0000XXXX
|
||||
@ -154,6 +158,7 @@ If the value stored at the address is lower than X, activate the next two lines
|
||||
If the value stored at the address is higher than X, activate the next two lines of code.
|
||||
|
||||
### If Lower (unsigned)
|
||||
|
||||
- (68) 000000XX
|
||||
- 8-bit If Lower (unsigned) activator.
|
||||
- (6A) 0000XXXX
|
||||
@ -164,6 +169,7 @@ If the value stored at the address is higher than X, activate the next two lines
|
||||
If the value stored at the address is lower than X, activate the next two lines of code.
|
||||
|
||||
### If Higher (unsigned)
|
||||
|
||||
- (70) 000000XX
|
||||
- 8-bit If Higher (unsigned) activator.
|
||||
- (72) 0000XXXX
|
||||
@ -174,11 +180,11 @@ If the value stored at the address is lower than X, activate the next two lines
|
||||
If the value stored at the address is higher than X, activate the next two lines of code.
|
||||
|
||||
## Multi-Line Activators
|
||||
---
|
||||
|
||||
Note that all multi-line codes must end with the line 00000000 40000000.
|
||||
|
||||
### Equal
|
||||
|
||||
- (88) 000000XX
|
||||
- 8-bit activator.
|
||||
- (8A) 0000XXXX
|
||||
@ -189,6 +195,7 @@ Note that all multi-line codes must end with the line 00000000 40000000.
|
||||
X is the value the address must equal to activate the next lines of code.
|
||||
|
||||
### NOT Equal
|
||||
|
||||
- (90) 000000XX
|
||||
- 8-bit NOT Equal activator.
|
||||
- (92) 0000XXXX
|
||||
@ -199,6 +206,7 @@ X is the value the address must equal to activate the next lines of code.
|
||||
If the value stored at the address is not equal to X, activate the next lines of code.
|
||||
|
||||
### If Lower (signed)
|
||||
|
||||
- (98) 000000XX
|
||||
- 8-bit If Lower (signed) activator.
|
||||
- (9A) 0000XXXX
|
||||
@ -209,6 +217,7 @@ If the value stored at the address is not equal to X, activate the next lines of
|
||||
If the value stored at the address is lower than X, activate the next lines of code.
|
||||
|
||||
### If Higher (signed)
|
||||
|
||||
- (A0) 000000XX
|
||||
- 8-bit If Higher (signed) activator.
|
||||
- (A2) 0000XXXX
|
||||
@ -219,6 +228,7 @@ If the value stored at the address is lower than X, activate the next lines of c
|
||||
If the value stored at the address is higher than X, activate the next lines of code.
|
||||
|
||||
### If Lower (unsigned)
|
||||
|
||||
- (A8) 000000XX
|
||||
- 8-bit If Lower (unsigned) activator.
|
||||
- (AA) 0000XXXX
|
||||
@ -229,6 +239,7 @@ If the value stored at the address is higher than X, activate the next lines of
|
||||
If the value stored at the address is lower than X, activate the next lines of code.
|
||||
|
||||
### If Higher (unsigned)
|
||||
|
||||
- (B0) 000000XX
|
||||
- 8-bit If Higher (unsigned) activator.
|
||||
- (B2) 0000XXXX
|
||||
@ -239,9 +250,9 @@ If the value stored at the address is lower than X, activate the next lines of c
|
||||
If the value stored at the address is higher than X, activate the next lines of code.
|
||||
|
||||
## Alignment
|
||||
---
|
||||
|
||||
Codes must be properly aligned depending on the type of code.
|
||||
|
||||
- 8-bit codes can be used on ANY address.
|
||||
- 16-bit codes must have an address that is a multiple of 2: 0,2,4,6,8,A,C,E.
|
||||
- 32-bit codes must have an address that is a multiple of 4:0,4,8,C.
|
||||
@ -249,17 +260,18 @@ Codes must be properly aligned depending on the type of code.
|
||||
If codes aren't aligned, they may not work, or may cause your AR to spaz out.
|
||||
|
||||
## Signed & Unsigned Numbers
|
||||
---
|
||||
|
||||
Unsigned means:
|
||||
|
||||
- For 8-bits: 0x00 -> 0xFF = 0 to 255.
|
||||
- For 16-bits: 0x0000 -> 0xFFFF = 0 to 65535.
|
||||
- For 32-bits: 0x00000000 -> 0xFFFFFFFF = 0 to 4294967295.
|
||||
|
||||
Signed means:
|
||||
|
||||
- For 8-bits: 0x00 -> 0x7F = 0 to 127.
|
||||
- 0x80 -> 0xFF = -127 to -1.
|
||||
- For 16-bits: 0x0000 -> 0x7FFF = 0 to 32767.
|
||||
- 0x8000 -> 0xFFFF = -32768 to -1.
|
||||
- For 32-bits: 0x00000000 -> 0x7FFFFFFF = 0 to 2147483647.
|
||||
- 0x80000000 -> 0xFFFFFFFF = -2147483648 to -1.
|
||||
- 0x80000000 -> 0xFFFFFFFF = -2147483648 to -1.
|
Loading…
Reference in New Issue
Block a user