If Size = 2 (0.3.2) : Master Code (C4XXXXXX Y1Y2Y3Y4)
-----------------------------------------------------
Y4 = Master Code Number.
0x00 : executed only once, just before the game bootup.
Only one (m) code can have the '00' number (the others will be skipped),
and it must be the very one in the (m) code list (else it'll be skipped).
0x01~0x0F : executed continuously during the game execution.
(2 (or more) master codes that have the same Master Code Number can't
be executed correctly if they are put one just after another.
Only the first one will be executed, the other(s) will be skipped).
Y3 = number of codes to execute each time the AR "has the hand".
Y2 AND 0x03 = Master Code Type :
Type 0 : create a branch to SUBROUTINE 1.
(Save : R0 R3 R28 R29 R30 R31)
Type 1 : backup 4 asm lines from the game, and write a Branch to MAIN ROUTINE.
(Save : R3 R28 R29 R30 R31, Destroys : R0?)
Type 2 : create a branch to 1 copy of SUBROUTINE 1.
(Save : R0 R3 R28 R29 R30 R31)
Type 3 : create a branch to MAIN ROUTINE START (will execute the 4 asm lines backed up
in Type 1, if any).
(Save : R0 R3 R28 R29 R30 R31)
Note : Putting random numbers in Y1 should change the encryption, thus "signing" your
code (untested).
Note : Don't use the Type 1 alone with a Master Code Number >0, else the AR will backup its own
hook, and enter an infinite loop. So put a conditional code type make that this code isn't
executed more than once.
Bookmarks