CodeBreaker Code Info ID: 0000xxxx 000y x: ROM CRC y: 2 disables IRQs, 8 indicates CRC Exists Hook: 1xxxxxxx 000y x: ROM offset y: Code handler store address 0-7 (0x8000100+(y<<22)) OR: 2xxxxxxx yyyy x: RAM address y: Value 8-bit: 3xxxxxxx 00yy x: RAM address y: New value Slide: 4xxxxxxx yyyy x: Starting RAM address y: New value YYYYzzzz XXXX X: Address increment Y: Value increment z: Number of writes MemWrite: 5xxxxxxx zzzz x: Starting RAM address z: Number of writes yyyyyyyy yyyy y: New 8-bit values AND: 6xxxxxxx yyyy x: RAM address y: Value If =: 7xxxxxxx yyyy x: RAM address y: Value 16-bit: 8xxxxxxx yyyy x: RAM address y: New value If !=: Axxxxxxx yyyy x: RAM address y: Value If >: Bxxxxxxx yyyy x: RAM address y: Value If <: Cxxxxxxx yyyy x: RAM address y: Value If Input: D0000020 yyyy y: Input value 0001 A 0002 B 0004 Select 0008 Start 0010 Right 0020 Left 0040 Up 0080 Down 0100 R 0200 L Plus: Exxxxxxx yyyy x: RAM address y: Signed value If AND: Fxxxxxxx yyyy x: RAM address y: Value Action Replay v1/v2 Code Info 8-bit: 0xxxxxxx 000000yy x: RAM address y: New value 16-bit: 1xxxxxxx 0000yyyy x: RAM address y: New value 32-bit: 2xxxxxxx yyyyyyyy x: RAM address y: New value ListWrite: 3000zzzz yyyyyyyy y: New value z: Number of writes xxxxxxxx xxxxxxxx x: RAM addresses ROM patch: 60xxxxxx a000yyyy x: ROM offset>>1 y: New value a: If set, patch is enabled before game starts, else code handler enables patch 8-bit AR button: 8x1xxxxx 000000yy x: RAM address y: New value 16-bit AR button: 8x2xxxxx 0000yyyy x: RAM address y: New value Slowdown: 80F00000 0000xxxx x: Number of AR loops If: Dxxxxxxx 0000yyyy x: RAM address y: Value ListIf: E0zzyyyy 0xxxxxxx x: RAM address y: Value z: Number of codes Hook: Fxxxxxxx 00000a0b x: ROM address ID: yyyyyyyy 001DC0DE y: ROM ID (AGB-xxxx in ASCII) a: If set, AR must be off when game starts b=1: Don't push r14 when BL'ing b=2: Push r14 when BL'ing b=3: Replace a 32-bit pointer Action Replay v3 Code Info EOF: 00000000 00000000 Slowdown: 00000000 0800xx00 x: Number of AR loops EndIf 00000000 40000000 Else 00000000 60000000 8-bit fill: 00xxxxxx zzzzzzyy x: Start RAM address y: New value z: Number of writes 16-bit fill: 02xxxxxx zzzzyyyy x: Start RAM address y: New value z: Number of writes 32-bit: 04xxxxxx yyyyyyyy x: RAM address y: New value Indirect 8-bit fill: 40xxxxxx zzzzzzyy x: Start RAM address y: New value z: Number of writes Indirect 16-bit fill: 42xxxxxx zzzzyyyy x: Start RAM address y: New value z: Number of writes Indirect 32-bit: 44xxxxxx yyyyyyyy x: RAM address y: New value 8-bit plus: 80xxxxxx 000000yy x: RAM address y: Value 16-bit plus: 82xxxxxx 0000yyyy x: RAM address y: Value 32-bit plus: 84xxxxxx yyyyyyyy x: RAM address y: Value Hook: C4xxxxxx 00000abc x: ROM address ID: yyyyyyyy 001DC0DE y: ROM ID (AGB-xxxx in ASCII) a: If set, AR switch must be off when game starts b: Number of codes AR processes at once c: If set, push r14 when BL'ing 16-bit I/O: C6xxxxxx 0000yyyy x: I/O offset y: New value 32-bit I/O: C7xxxxxx yyyyyyyy x: I/O offset y: New value If: zzxxxxxx yyyyyyyy x: RAM Address y: Value z: [Size]+[Operand]+[Action] [Size] [Operand] [Action] 00 8-bit 08 = 00 Execute next code 02 16-bit 10 != 40 Execute next two codes 04 32-bit 18 < signed 80 Execute following codes until Else or EndIf 06 0-bit 20 > signed C0 Execute following codes 28 < 30 > 38 AND 8-bit AR button: 00000000 10xxxxxx x: RAM address 000000yy 00000000 y: New value 16-bit AR button: 00000000 12xxxxxx x: RAM address 0000yyyy 00000000 y: New value 32-bit AR button: 00000000 14xxxxxx x: RAM address yyyyyyyy 00000000 y: New value ROM patch 0: 00000000 18xxxxxx x: ROM offset>>1 0000yyyy 00000000 y: New value ROM patch 1: 00000000 1Axxxxxx x: ROM offset>>1 0000yyyy 00000000 y: New value ROM patch 2: 00000000 1Cxxxxxx x: ROM offset>>1 0000yyyy 00000000 y: New value ROM patch 3: 00000000 1Exxxxxx x: ROM offset>>1 0000yyyy 00000000 y: New value 8-bit slide: 00000000 80xxxxxx x: Starting RAM address 000000yy YYzzXXXX X: Address increment y: New value Y: Value increment z: Number of writes 16-bit slide: 00000000 82xxxxxx x: Starting RAM address 0000yyyy YYzzXXXX X: Address increment y: New value Y: Value increment z: Number of writes 32-bit slide: 00000000 84xxxxxx x: Starting RAM address yyyyyyyy YYzzXXXX X: Address increment y: New value Y: Value increment z: Number of writes