Initial Commit
parent
f7a088c3f2
commit
79c3020704
|
@ -0,0 +1,149 @@
|
|||
###############################
|
||||
# Action Replay #
|
||||
# Code Types supported by #
|
||||
# CTRPluginFramework #
|
||||
###############################
|
||||
|
||||
==============
|
||||
INFO
|
||||
==============
|
||||
|
||||
You have access to:
|
||||
- 2 offset registers (not persistent)
|
||||
- 2 data registers (not persistent)
|
||||
- 2 storage registers (persistent)
|
||||
|
||||
persistent = register's value is kept between code execution
|
||||
not persistent = register's value is set to default value when the code starts
|
||||
|
||||
Default value of offset (#1 and #2), data (#1 and #2) and storage (#1 and #2) registers is zero.
|
||||
|
||||
The active offset and data register is set to #1 when the code starts.
|
||||
When a register index (#1 or #2) is not precised in the description, the active register is used.
|
||||
|
||||
==============
|
||||
CODE TYPES
|
||||
==============
|
||||
|
||||
Memory Writes:
|
||||
---------------
|
||||
0XXXXXXX YYYYYYYY – 32bit write to [XXXXXXX + offset]
|
||||
1XXXXXXX 0000YYYY – 16bit write to [XXXXXXX + offset]
|
||||
2XXXXXXX 000000YY – 8bit write to [XXXXXXX + offset]
|
||||
|
||||
Conditional 32bit codes:
|
||||
-------------------------
|
||||
3XXXXXXX YYYYYYYY – Greater Than (YYYYYYYY > [XXXXXXX + offset])
|
||||
4XXXXXXX YYYYYYYY – Less Than (YYYYYYYY < [XXXXXXX + offset])
|
||||
5XXXXXXX YYYYYYYY – Equal To (YYYYYYYY == [XXXXXXX + offset])
|
||||
6XXXXXXX YYYYYYYY – Not Equal To (YYYYYYYY != [XXXXXXX + offset])
|
||||
|
||||
Conditional 16bit codes:
|
||||
-------------------------
|
||||
7XXXXXXX ZZZZYYYY – Greater Than (YYYY > [XXXXXXX + offset] & ~ZZZZ)
|
||||
8XXXXXXX ZZZZYYYY – Less Than (YYYY < [XXXXXXX + offset] & ~ZZZZ)
|
||||
9XXXXXXX ZZZZYYYY – Equal To (YYYY == [XXXXXXX + offset] & ~ZZZZ)
|
||||
AXXXXXXX ZZZZYYYY – Not Equal To (YYYY != [XXXXXXX + offset] & ~ZZZZ)
|
||||
|
||||
Offset Codes:
|
||||
--------------
|
||||
BXXXXXXX 00000000 – offset = *(XXXXXXX + offset)
|
||||
D3000000 XXXXXXXX – set offset to immediate value
|
||||
DC000000 XXXXXXXX – Adds an value to the current offset
|
||||
|
||||
Loop Codes:
|
||||
------------
|
||||
CX000000 YYYYYYYY – Sets the repeat value to: YYYYYYYY (immediate value) if X == 0, data #1 if X == 1 or data #2 if X == 2
|
||||
D2000000 0000000X - Full terminator (0: legacy one, 1: exit code directly)
|
||||
D1000000 00000000 – Loop execute
|
||||
D0000000 00000000 – Terminator code
|
||||
|
||||
Data Register Codes:
|
||||
---------------------
|
||||
D4000000 XXXXXXXX – Adds XXXXXXXX to the data register
|
||||
D500000Z XXXXXXXX – Sets the data register #Z (0: data#1, 1: data#2) to XXXXXXXX
|
||||
D6000000 XXXXXXXX – (32bit) [XXXXXXXX+offset] = data ; offset += 4
|
||||
D7000000 XXXXXXXX – (16bit) [XXXXXXXX+offset] = data & 0xffff ; offset += 2
|
||||
D8000000 XXXXXXXX – (8bit) [XXXXXXXX+offset] = data & 0xff ; offset++
|
||||
D9000000 XXXXXXXX – (32bit) sets data to [XXXXXXXX+offset]
|
||||
DA000000 XXXXXXXX – (16bit) sets data to [XXXXXXXX+offset] & 0xFFFF
|
||||
DB000000 XXXXXXXX – (8bit) sets data to [XXXXXXXX+offset] & 0xFF
|
||||
|
||||
Patch Code:
|
||||
--------------
|
||||
EXXXXXXX YYYYYYYY - Copy Y bytes (Z) to [XXXXXXX + offset]
|
||||
ZZZZZZZZ ZZZZZZZZ
|
||||
|
||||
Input Codes:
|
||||
----------------
|
||||
DD000000 XXXXXXXX – if KEYPAD has value XXXXXXXX execute next block (see SPECIAL KEY CODE for values)
|
||||
DE000000 WWXXYYZZ - if touchpos is between WW <= posX <= XX and YY <= posY <= ZZ execute next block
|
||||
|
||||
Registers operations:
|
||||
-----------------------
|
||||
DFFFFFFF 00000000 - Conditional codes are compared to YYYY (immediate value)
|
||||
DFFFFFFF 00000001 - Conditional codes are compared to active data register
|
||||
|
||||
DF00XXXX YYYYZZZZ - Operations:
|
||||
-------------------------------
|
||||
DF000000 00000000 - Set offset register #1 as active (default)
|
||||
DF000000 00000001 - Set offset register #2 as active
|
||||
DF000001 00000000 - Set data register #1 as active (default)
|
||||
DF000001 00000001 - Set data register #2 as active
|
||||
|
||||
DF000000 00010000 - Copy offset #1 to offset #2
|
||||
DF000000 00010001 - Copy offset #2 to offset #1
|
||||
DF000001 00010000 - Copy data #1 to data #2
|
||||
DF000001 00010001 - Copy data #2 to data #1
|
||||
DF000002 00010000 - Copy storage #1 to data #1
|
||||
DF000002 00010001 - Copy storage #2 to data #2
|
||||
|
||||
DF000000 00020000 - Copy offset #1 to data #1
|
||||
DF000000 00020001 - Copy offset #2 to data #2
|
||||
DF000001 00020000 - Copy data #1 to offset #1
|
||||
DF000001 00020001 - Copy data #2 to offset #2
|
||||
DF000002 00020000 - Copy data #1 to storage #1
|
||||
DF000002 00020001 - Copy data #2 to storage #2
|
||||
|
||||
Custom Codes:
|
||||
---------------
|
||||
F1XXXXXX YYYYYYYY - *(XXXXXX + offset) += YYYYYYYY
|
||||
F2XXXXXX YYYYYYYY - *(XXXXXX + offset) *= YYYYYYYY
|
||||
F3XXXXXX YYYYYYYY - *(XXXXXX + offset) /= YYYYYYYY
|
||||
F4000000 YYYYYYYY - MUL - data *= YYYYYYYY
|
||||
F5000000 YYYYYYYY - DIV - data /= YYYYYYYY
|
||||
F6000000 YYYYYYYY - AND - data &= YYYYYYYY
|
||||
F7000000 YYYYYYYY - OR - data |= YYYYYYYY
|
||||
F8000000 YYYYYYYY - XOR - data ^= YYYYYYYY
|
||||
F9000000 00000000 - NOT - data = ~data
|
||||
FA000000 YYYYYYYY - Left shift - data <<= YYYYYYYY
|
||||
FB000000 YYYYYYYY - Right shift - data >>= YYYYYYYY
|
||||
FC000000 YYYYYYYY - Copy YYYYYYYY bytes from [offset#2] to [offset#1]
|
||||
FF000000 00000000 - Generate a random number, min/max can be respectively set in data#1, data#2
|
||||
|
||||
===================
|
||||
SPECIAL KEYPAD CODE
|
||||
===================
|
||||
0x1 A
|
||||
0x2 B
|
||||
0x4 Select
|
||||
0x8 Start
|
||||
0x10 Right
|
||||
0x20 Left
|
||||
0x40 Up
|
||||
0x80 Down
|
||||
0x100 R
|
||||
0x200 L
|
||||
0x400 X
|
||||
0x800 Y
|
||||
0x4000 ZL (N3DS Only)
|
||||
0x8000 ZR (N3DS Only)
|
||||
0x100000 Touchpad (any position)
|
||||
0x1000000 CStick-Right (N3DS Only)
|
||||
0x2000000 CStick-Left (N3DS Only)
|
||||
0x4000000 CStick-Up (N3DS Only)
|
||||
0x8000000 CStick-Down (N3DS Only)
|
||||
0x10000000 CPad-Right
|
||||
0x20000000 CPad-Left
|
||||
0x40000000 CPad-Up
|
||||
0x80000000 CPad-Down
|
11
README.md
11
README.md
|
@ -1,2 +1,11 @@
|
|||
# CTRPF-AR-CHEAT-CODES
|
||||
[Database] CTRPF AR CHEAT CODES TO BE USED WITH CTRPF WITH ACTION REPLAY SUPPORT
|
||||
|
||||
Repository will not be ready for several hours! You are free to send pull requests to help out. Readme will be updated on how to use once everything is setup!
|
||||
|
||||
Format should go as such for pull requests If people want to go and ahead and send pull requests my way then I request that layout looks like so
|
||||
|
||||
`Cheats/<gamename (region)>/<tid>.txt`
|
||||
so for example for
|
||||
`Mario and Luigi: Dream Team Bros. Update 1.1 (EUR)`
|
||||
the layout would be
|
||||
`Cheats\Mario and Luigi Dream Team Bros. Update 1.1 (EUR)/0004000E000D9000.txt`
|
||||
|
|
Loading…
Reference in New Issue