AmazonLink

MECC - コード形式

コード形式
コード形式を入力することで以降のコードを指定したコード形式で解析する
コード形式を入力しない場合、ゲームコードで指定したコード形式で解析する
1つのコードで複数のコード形式を指定することも可能
CODE
以降のコードをMECC形式で解析する
FCPAR
以降のコードをプロアクションロッキー形式で解析する
64PAR
以降のコードをN64用プロアクションリプレイ形式で解析する
GCPARRAW
以降のコードをGC用プロアクションリプレイ形式(復号化)で解析する
GBPAR
以降のコードをGB用プロアクションリプレイ形式で解析する
GBAPAR
以降のコードをGBA用プロアクションリプレイ形式(暗号化)で解析する
GBAPARRAW
以降のコードをGBA用プロアクションリプレイ形式(復号化)で解析する
NDSPAR
以降のコードをNDS用プロアクションリプレイ形式で解析する
PSPAR
以降のコードをPS用プロアクションリプレイ形式で解析する
PS2PAR
以降のコードをPS2用プロアクションリプレイ形式(暗号化)で解析する
PS2PARRAW
以降のコードをPS2用プロアクションリプレイ形式(復号化)で解析する
PSPPAR
以降のコードをPSP用プロアクションリプレイ形式で解析する
PSPCWC
以降のコードをPSP用CWCheat形式で解析する
MDPAR
以降のコードをMD用プロアクションリプレイ形式で解析する
SSPAR
以降のコードをSS用プロアクションリプレイ形式で解析する
GGPAR
以降のコードをGG用プロアクションリプレイ形式で解析する
CODE
306000 01
PSPAR
30010000 0001

#306000 01をMECC形式で解析しメモリ書き込み
#30010000 0001をPSPAR形式で解析しメモリ書き込み
コメント
行頭に #(シャープ) /(スラッシュ) ;(セミコロン) '(アポストロフィ) のいずれかを入力するとその行はコメントとして無視される
また、 //(ダブルスラッシュ) を入力するとそこから行末まではコメントとなる
明らかにコード形式と異なっている行も無視されるが、将来的にコメント行以外はエラー出力する可能性があるので、コード内の説明はコメント行とすることを推奨
#コメント1
/コメント2
;コメント3
'コメント4
306000 01 //コメント5

#コメントと記載された部分は全て無視される
※以降の説明は全てリトルエンディアン設定とする

MECC形式

書き込み
アドレスと値を指定する
値は1-4バイトで指定可能
XXXXXX YY

XXにアドレス、YYに値
7E0000 0102

#7E0000に02、7E0001に01を書き込み
7E0000 01020304

#7E0000に04、7E0001に03、7E0002に02、7E0003に01を書き込み
D:をつけると10進数で指定可能
7E0000 D:99

#7E0000に63を書き込む
計算式を入力することも可能
●四則演算(+,-,*,/)
●論理演算(&,|,^)
 &=論理積、|=論理和、^=排他的論理和
●シフト演算(<,>)
演算子の優先度は(*,/)>(+,-)>シフト演算>論理演算
()をつけることも可能
@をつけることでアドレスの値を参照することが可能
7E0000 @7E1000

#7E0000に7E1000の値を書き込み
7E0000 @7E1000+AA

#7E0000に(7E1000の値+AA)を書き込み
書き込む値のサイズは、各項のうち最も大きいサイズに設定される
即値の場合は記述した桁数でサイズが決定される
アドレスの場合は他の項で最も大きいサイズに合わせて読み込みされる
7E0000 10+A

#7E0000に1Aを書き込み
7E0000 0010+A

#7E0000に1A、7E0001に00を書き込み
7E0000 @7E0004+A

#7E0000に(7E0004の値+A)を1バイトで書き込み
7E0000 @7E0004+A+A00

#7E0000に(7E0004の値+A+A00)を2バイトで書き込み
#7E0004からは2バイトで値を読み込む
アドレスから読み込むサイズを固定したい場合はSIZEコード(後述)かサイズ指定を使う
7E0000 2@7E0004+A

#7E0000に(7E0004の値+A)を2バイトで書き込み
#7E0004からは2バイトで値を読み込む
書き込みアドレスの値を参照したい場合はVALUEを使用
7E0000 VALUE+1

#7E0000に(7E0000の値+1)を書き込み
VALUEで読み込むサイズを変更することも可能
7E0000 VALUE_2+1

#7E0000に(7E0000の値+1)を2バイトで書き込み
#7E0000からは2バイトで値を読み込む
7E0000 VALUE_2+10000000

#7E0000に(7E0000の値+10000000)を4バイトで書き込み
#7E0000からは2バイトで値を読み込む
書き込みオプション
値の後ろにコロンをつけることでオプションを指定することが可能
COUNT=
書き込みを実行する回数
ADDRUP=
COUNT指定時のアドレスの増加値
UPTO
COUNT指定時に値を増加させる
DOWNTO
COUNT指定時に値を減少させる
UPTO=
COUNT指定時の値の増加値
DOWNTO=
COUNT指定時の値の減少値
SIZE=
書き込みサイズ
MAX=
書き込みする値の最大値(変数による指定も可能)
MIN=
書き込みする値の最小値(変数による指定も可能)
7E0000 00;COUNT=100;UPTO;

#7E0000〜7E00FFに00〜FFを書き込み
7E0000 00;COUNT=80;UPTO=2;

#7E0000〜7E007Fに00,02,…,FC,FEを書き込み
7E0000 00;COUNT=100;ADDRUP=2;

#7E0000,7E0002,…,7E01FC,7E01FEに00を書き込み
ADDRUP指定しない場合は値によってバイトサイズが決定される
7E0000 0102;COUNT=10;

#7E0000に02,7E0001に01,7E0002に02,7E0003に01,…を書き込み
7E0000 10;SIZE=2;

#7E0000に10,7E0001に00を書き込み
7E0000 12345678;SIZE=2;

#7E0000に78,7E0001に56を書き込み
7E0000 70+40;MAX=80;

#7E0000に80を書き込み
7E0000 50-40;MIN=20;

#7E0000に20を書き込み
MAX/MINは最終的な結果ではなく各計算ごとに適用される
7E0000 20+20-10;MAX=30;

#7E0000に20を書き込み
#20+20=40が30になり、30-10=20となる
変数
一時的に値を保存する領域としてグローバル変数とローカル変数の2種類の変数を使用可能(一時的というのは、コードリストの最初から最後までのコードを1回実行する間を指し、次に実行するタイミングでは全ての変数が初期値となる)
コードに変数を使用すると、設定されている値に置き換えられる(初期値は0)
設定される値やifコード等で使用することができる
また、変数の値をアドレスとしてそこに値を書き込むことも可能
変数のサイズは設定した値によって変化する
サイズを固定したい場合はSIZEコード(後述)を使用する
グローバル変数
$0〜$9の10個の領域を使用できる
コードリストにある各コードで共通の変数
例えば、1つ目のコードで$0に値を設定し、2つ目のコード内で$0を使用した場合、$0の値は1つ目のコードで設定した値になる
ローカル変数
%0〜%9の10個の領域を使用できる
コードリストにある各コードで独立した変数
例えば、1つ目のコードで%0に値を設定し、2つ目のコード内で%0を使用しても%0の値は初期値のまま
変数に値を設定する場合、設定する変数と値を記述する
XX = YY

XXは変数($0-$9,%0-%9を指定)
YYは変数に設定する値(書き込みの値と同じ記述が可能)
$0 = 1000+1
7E0000 $0

#変数$0に1001が設定される
#7E0000に$0の設定値1001を書き込む
変数をアドレスとして値を書き込む場合は変数の前に@を付ける
$0 = 7E0000
@$0 = 1000 + 1

#7E0000に01、7E0001に10を書き込む
変数をアドレスとする場合、変数部分を()で囲みインデックス指定することも可能
$0 = 7E0000
@($0 + 1) = 10
@$0 = 11

#7E0001に10、7E0000に11を書き込む
アドレスとして設定する場合、変数がアドレスに置き換えられて通常の書き込み処理と同じ動作となるため、上述した書き込みオプションを指定することも可能
以降はMECC形式以外でも使用可能

ifコード
値を比較してコードを実行するかしないかを判断する
IF XX ?? YY

XX,YYに値を指定(@を付けてアドレス指定することも可能)
??に演算子を指定
指定可能な演算子を以下に示す
==
XXとYYが等しければコードを実行
!=
XXとYYが異なればコードを実行
<
XXよりYYが大きければコードを実行
>
XXよりYYが小さければコードを実行
<=
XXがYY以下であればコードを実行
>=
XXがYY以上であればコードを実行
IF @7E0000 == AA
7E0010 BB
ENDIF

#7E0000の値がAAであれば7E0010にBBを書き込む
IF @7E0000 == D:99
7E0010 BB
ENDIF

#7000の値が63であれば7E0010にBBを書き込む
ifコードのアドレスの読み込みサイズは自動で設定される
なお、サイズ指定を行った場合読み込まれる値は指定したサイズとなる
ただし、SIZEコード(後述)によるサイズ指定は無効
IF @7E0000 == @7E0001
7E0010 BB
ENDIF

#7E0000と7E0001の値が等しければ7E0010にBBを書き込む
IF @7E0000 == 00AA
7E0010 BB
ENDIF

#7E0000の値がAA,7E0001の値が00であれば7E0010にBBを書き込む
IF 2@7E0000 == @7E0002
7E0010 BB
ENDIF

#7E0000-7E0001の値が7E0002の値と等しければ、
#7E0010にBBを書き込む
XXとYYの部分は()を付けて計算式を入れることが可能
IF (4@7E0000+01) == (4@7E0004)
7E0010 BB
ENDIF

#7E0000-7E0003の値+1と7E0004-7E0007の値が等しければ、
#7E0010にBBを書き込む
elseコード
IFで条件に合わない場合の処理を実行する
IF @7E0000 == AA
7E0010 01
ELSE
7E0010 02
ENDIF

#7E0000の値がAAであれば7E0010に01を書き込み
#7E0000の値がAAでなければ7E0010に02を書き込む
whileコード
処理を繰り返し実行する
WHILE XX
YYYY
ENDWHILE

XXで指定された回数分YYYYを実行する
XXを省略した場合、BREAKコードが実行されるまで実行し続ける
XXを指定した場合でもBREAKコードは可能
※注意
無限ループになるような処理にした場合、ENDWHILE以降のコードが実行されない(コードリストにある他のコードも)
ただし、無限ループ中でもコードの適用は解除できるので、WHILEコードを使って想定した動作にならない場合、まずはBREAKコードがあるかを確認すること
WHILE 2
7E0000 VALUE+01
ENDWHILE

#7E0000の値を+2する
breakコード
whileコードを中断する
BREAK XX

XXにwhileコードを抜ける回数を指定
XXを省略すると1回分抜ける
WHILE
7E0000 01
WHILE
7E0001 02
BREAK
ENDWHILE
7E0002 03
BREAK
ENDWHILE

#7E0000に01,7E0001に02,7E0002に03を書き込み
WHILE
7E0000 01
WHILE
7E0001 02
BREAK 2
ENDWHILE
7E0002 03
BREAK
ENDWHILE

#7E0000に01,7E0001に02を書き込み
#1回目のBREAKで2回分のWHILEを抜けるので7E0002に書き込まない
copyコード
メモリをコピーする
COPY XXXX YYYY ZZ

XXXXにコピー元のアドレスを指定
YYYYにコピー先のアドレスを指定
ZZにコピーするサイズを指定
COPY 7E0000 7E0100 10

#7E0000-7E000Fの値を7E0100-7E010Fへ書き込み
randomコード
乱数の範囲の設定をして乱数を使用する
RANDOM XX YY

XXに乱数の最小値を指定
YYに乱数の最大値を指定
乱数はRANDで使用可能
RANDOM 10 20
7E0000 RAND

#7E0000に10以上20以下の値を書き込む
#RANDOMを省略した場合は00以上FF以下の値になる
waitコード
コード実行時に待ち時間を入れる
WAIT XX

XXに待ち時間をms単位で指定
WAIT 1000
7E0000 RAND

#WAITを入力した位置で1秒待ってからコードを実行
#7E0000の値が1秒間隔でランダムに変化する
sizeコード
変数、アドレスの読み出しサイズを固定化する
SIZE ?? XX

??に固定化する対象を指定
変数の場合は$0-$9,%0-%9、アドレスの場合はADDR
XXに1-4のサイズを指定(0を指定した場合は通常の可変サイズとなる)
SIZE $0 2
$0 = 10
7E0000 $0

#7E0000に10,7E0001に00を書き込み
SIZE ADDR 2
7E0000 @7E0002

#7E0000に7E0002の値を2バイトで書き込み
アドレスの場合、個別に指定するサイズのほうが優先される
SIZE ADDR 2
7E0000 1@7E0002

#7E0000に7E0002の値を1バイトで書き込み
subコード
コードの途中で別のコードを呼び出す
sub XX YY

XXに呼び出すコードの名称を指定
名称は、コードリストのコード内容欄
YYにはコードの番号を指定
同じコード名称がある場合に指定する(0で1番目、1で2番目)
同じコード名称が無い場合は省略可能
[メインコード]
$0 = 306000
sub サブコード

[サブコード]
@$0 = value+01

#306000の値を+1する
[メインコード]
$0 = 306000
sub サブコード 1

[サブコード]
@$0 = value+01

[サブコード]
@$0 = value-01

#306000の値を-1する
exitコード
コードを途中で終了する
exitコードが実行された時点で以降のコードは実行せず、コードリストの次にあるコードを実行する
7E0000 01
EXIT
7E0001 02

#7E0000に01を書き込む
#7E0001への書き込みは実行されない
stopコード
コードを途中で終了し、コード適用を解除する
stopコードが実行された時点で以降のコードは実行せず、以降のコードリストにあるコードも実行せずにコード適用を解除する
stopコードが実行された時点の変数の内容をデバッグ情報リストへ表示する
%0 = FF
STOP
7E0000 %0

#7E0000への書き込みは実行されない
#STOPの時点での変数の値を確認可能
また、STOPに値を指定することで、STOPを何回目で実行するかを指定可能
STOP XX

#XXにSTOPを実行する回数を指定
%0 = 1
WHILE
%0 = %0 + 1
STOP 2
ENDWHILE

#STOPが2回実行された時点で終了する
#上記のコードを実行すると%0の値は3となる
printコード
指定した内容をデバッグ出力に文字列として出力する
メモリの内容や文字を出力することが可能であり、自作したゲームコードのデバッグ等に使用できる
PRINT XX

#XXに文字列を指定
#指定した文字列がそのまま出力する
PRINT DEC XX YY

#XXにバイトサイズを指定
#YYにアドレスを指定
#指定したアドレスからサイズ分の内容を10進数で出力する
#5バイト以上のサイズは指定不可
PRINT HEX XX YY

#XXにバイトサイズを指定
#YYにアドレスを指定
#指定したアドレスからサイズ分の内容を16進数で出力する
PRINT SJIS XX YY

#XXにバイトサイズを指定
#YYにアドレスを指定
#指定したアドレスからサイズ分の内容をSJIS文字コードとして文字列を出力する
#ビッグエンディアンで読み込まれる
PRINT UTF8 XX YY

#XXにバイトサイズを指定
#YYにアドレスを指定
#指定したアドレスからサイズ分の内容をUTF8文字コードとして文字列を出力する
#ビッグエンディアンで読み込まれる
7E0000 82
7E0001 A0
7E0002 E3
7E0003 81
7E0004 84
PRINT DEBUG
PRINT DEC 2 7E0000
PRINT HEX 3 7E0002
PRINT SJIS 2 7E0000
PRINT UTF8 3 7E0002

#表示される内容は以下の通り
DEBUG
41090
E38184

アドレス指定には変数や式を指定することが可能
フリーメモリ領域
自由に読み書きできるメモリ領域としてF0000000-F007FFFFの512KBの領域がある
この領域は他のコードと同様の形式で使用可能
F0000000 01

#フリーメモリ領域F0000000に01を書き込み
7E0000 @F0000000

#7E0000にフリーメモリ領域F0000000の値を書き込み

FCPAR形式

XXXXYYZZ

アドレスXXXXの値がZZの場合にYYを書き込み
※注意
暗号化されたコードを入力すること
FCPAR形式を使用する際には、アドレス100000h番地以降にプログラムROMが配置されるようにアドレス設定を行う必要がある

64PAR形式

80XXXXXX 00YY

アドレスXXXXXXにYYを書き込み
81XXXXXX YYYY

アドレスXXXXXXにYYYYを書き込み
D0XXXXXX 00YY

アドレスXXXXXXの値がYYの場合に次のコードを実行
D1XXXXXX YYYY

アドレスXXXXXXの値がYYYYの場合に次のコードを実行
D2XXXXXX 00YY

アドレスXXXXXXの値がYYでない場合に次のコードを実行
D3XXXXXX YYYY

アドレスXXXXXXの値がYYYYでない場合に次のコードを実行
5000XXYY ZZZZ

次のコードのアドレスにYY,値にZZZZを加算しながらXX回書き込み

GCPARRAW形式

00XXXXXX ZZZZZZYY

アドレスXXXXXX〜XXXXXX+ZZZZZZにYYを書き込み
02XXXXXX ZZZZYYYY

アドレスXXXXXX〜XXXXXX+ZZZZ*2にYYYYを書き込み
04XXXXXX YYYYYYYY

アドレスXXXXXXにYYYYYYYYを書き込み
40XXXXXX ZZZZZZYY

(アドレスXXXXXXの値+ZZZZZZ)のアドレスにYYを書き込み
42XXXXXX ZZZZYYYY

(アドレスXXXXXXの値+ZZZZ*2)のアドレスにYYYYを書き込み
44XXXXXX YYYYYYYY

(アドレスXXXXXXの値)のアドレスにYYYYYYYYを書き込み
00000000 80XXXXXX
000000YY VVWWZZZZ

アドレスXXXXXXにZZZZ,値YYにVVを加減算しながらWW回書き込み
00000000 82XXXXXX
0000YYYY VVWWZZZZ

アドレスXXXXXXにZZZZ*2,値YYYYにVVを加減算しながらWW回書き込み
00000000 84XXXXXX
YYYYYYYY VVWWZZZZ

アドレスXXXXXXにZZZZ*4,値YYYYYYYYにVVを加減算しながら
WW回書き込み
80XXXXXX 000000YY

アドレスXXXXXXの値にYYを加減算
82XXXXXX 0000YYYY

アドレスXXXXXXの値にYYYYを加減算
84XXXXXX YYYYYYYY

アドレスXXXXXXの値にYYYYYYYYを加減算
08XXXXXX 000000YY

アドレスXXXXXXの値がYYであれば次のコードを実行
0AXXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYであれば次のコードを実行
0CXXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYであれば次のコードを実行
48XXXXXX 000000YY

アドレスXXXXXXの値がYYであれば次のコードを2つ実行
4AXXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYであれば次のコードを2つ実行
4CXXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYであれば次のコードを2つ実行
88XXXXXX 000000YY

アドレスXXXXXXの値がYYであれば終端コードまで実行
終端コードは 00000000 40000000
8AXXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYであれば終端コードまで実行
8CXXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYであれば終端コードまで実行
C8XXXXXX 000000YY

アドレスXXXXXXの値がYYであれば以降のコードを実行
CAXXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYであれば以降のコードを実行
CCXXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYであれば以降のコードを実行
10XXXXXX 000000YY

アドレスXXXXXXの値がYYでなければ次のコードを実行
12XXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYでなければ次のコードを実行
14XXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYでなければ次のコードを実行
50XXXXXX 000000YY

アドレスXXXXXXの値がYYでなければ次のコードを2つ実行
52XXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYでなければ次のコードを2つ実行
54XXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYでなければ次のコードを2つ実行
90XXXXXX 000000YY

アドレスXXXXXXの値がYYでなければ終端コードまで実行
92XXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYでなければ終端コードまで実行
94XXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYでなければ終端コードまで実行
D0XXXXXX 000000YY

アドレスXXXXXXの値がYYでなければ以降の実行
D2XXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYでなければ以降の実行
D4XXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYでなければ以降の実行
18XXXXXX 000000YY

アドレスXXXXXXの値がYYより小さければ次のコードを実行
YYは符号付き
1AXXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより小さければ次のコードを実行
YYYYは符号付き
1CXXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより小さければ次のコードを実行
YYYYYYYYは符号付き
58XXXXXX 000000YY

アドレスXXXXXXの値がYYより小さければ次のコードを2つ実行
YYは符号付き
5AXXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより小さければ次のコードを2つ実行
YYYYは符号付き
5CXXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより小さければ次のコードを2つ実行
YYYYYYYYは符号付き
98XXXXXX 000000YY

アドレスXXXXXXの値がYYより小さければ終端コードまで実行
YYは符号付き
9AXXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより小さければ終端コードまで実行
YYYYは符号付き
9CXXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより小さければ終端コードまで実行
YYYYYYYYは符号付き
D8XXXXXX 000000YY

アドレスXXXXXXの値がYYより小さければ以降のコードを実行
YYは符号付き
DAXXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより小さければ以降のコードを実行
YYYYは符号付き
DCXXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより小さければ以降のコードを実行
YYYYYYYYは符号付き
20XXXXXX 000000YY

アドレスXXXXXXの値がYYより大きければ次のコードを実行
YYは符号付き
22XXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより大きければ次のコードを実行
YYYYは符号付き
24XXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより大きければ次のコードを実行
YYYYYYYYは符号付き
60XXXXXX 000000YY

アドレスXXXXXXの値がYYより大きければ次のコードを2つ実行
YYは符号付き
62XXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより大きければ次のコードを2つ実行
YYYYは符号付き
64XXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより大きければ次のコードを2つ実行
YYYYYYYYは符号付き
A0XXXXXX 000000YY

アドレスXXXXXXの値がYYより大きければ終端コードまで実行
YYは符号付き
A2XXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより大きければ終端コードまで実行
YYYYは符号付き
A4XXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより大きければ終端コードまで実行
YYYYYYYYは符号付き
E0XXXXXX 000000YY

アドレスXXXXXXの値がYYより大きければ以降のコードを実行
YYは符号付き
E2XXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより大きければ以降のコードを実行
YYYYは符号付き
E4XXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより大きければ以降のコードを実行
YYYYYYYYは符号付き
28XXXXXX 000000YY

アドレスXXXXXXの値がYYより小さければ次のコードを実行
YYは符号無し
2AXXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより小さければ次のコードを実行
YYYYは符号無し
2CXXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより小さければ次のコードを実行
YYYYYYYYは符号無し
68XXXXXX 000000YY

アドレスXXXXXXの値がYYより小さければ次のコードを2つ実行
YYは符号無し
6AXXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより小さければ次のコードを2つ実行
YYYYは符号無し
6CXXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより小さければ次のコードを2つ実行
YYYYYYYYは符号無し
A8XXXXXX 000000YY

アドレスXXXXXXの値がYYより小さければ終端コードまで実行
YYは符号無し
AAXXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより小さければ終端コードまで実行
YYYYは符号無し
ACXXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより小さければ終端コードまで実行
YYYYYYYYは符号無し
E8XXXXXX 000000YY

アドレスXXXXXXの値がYYより小さければ以降のコードを実行
YYは符号無し
EAXXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより小さければ以降のコードを実行
YYYYは符号無し
ECXXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより小さければ以降のコードを実行
YYYYYYYYは符号無し
30XXXXXX 000000YY

アドレスXXXXXXの値がYYより大きければ次のコードを実行
YYは符号無し
32XXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより大きければ次のコードを実行
YYYYは符号無し
34XXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより大きければ次のコードを実行
YYYYYYYYは符号無し
70XXXXXX 000000YY

アドレスXXXXXXの値がYYより大きければ次のコードを2つ実行
YYは符号無し
72XXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより大きければ次のコードを2つ実行
YYYYは符号無し
74XXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより大きければ次のコードを2つ実行
YYYYYYYYは符号無し
B0XXXXXX 000000YY

アドレスXXXXXXの値がYYより大きければ終端コードまで実行
YYは符号無し
B2XXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより大きければ終端コードまで実行
YYYYは符号無し
B4XXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより大きければ終端コードまで実行
YYYYYYYYは符号無し
F0XXXXXX 000000YY

アドレスXXXXXXの値がYYより大きければ以降のコードを実行
YYは符号無し
F2XXXXXX 0000YYYY

アドレスXXXXXXの値がYYYYより大きければ以降のコードを実行
YYYYは符号無し
F4XXXXXX YYYYYYYY

アドレスXXXXXXの値がYYYYYYYYより大きければ以降のコードを実行
YYYYYYYYは符号無し
38XXXXXX 000000YY

(アドレスXXXXXXの値 and YY)が0でなければ次のコードを実行
3AXXXXXX 0000YYYY

(アドレスXXXXXXの値 and YYYY)が0でなければ次のコードを実行
3CXXXXXX YYYYYYYY

(アドレスXXXXXXの値 and YYYYYYYY)が0でなければ次のコードを実行
78XXXXXX 000000YY

(アドレスXXXXXXの値 and YY)が0でなければ次のコードを2つ実行
7AXXXXXX 0000YYYY

(アドレスXXXXXXの値 and YYYY)が0でなければ次のコードを2つ実行
7CXXXXXX YYYYYYYY

(アドレスXXXXXXの値 and YYYYYYYY)が0でなければ
次のコードを2つ実行
B8XXXXXX 000000YY

(アドレスXXXXXXの値 and YY)が0でなければ終端コードまで実行
BAXXXXXX 0000YYYY

(アドレスXXXXXXの値 and YYYY)が0でなければ終端コードまで実行
BCXXXXXX YYYYYYYY

(アドレスXXXXXXの値 and YYYYYYYY)が0でなければ
終端コードまで実行
F8XXXXXX 000000YY

(アドレスXXXXXXの値 and YY)が0でなければ以降のコードを実行
FAXXXXXX 0000YYYY

(アドレスXXXXXXの値 and YYYY)が0でなければ以降のコードを実行
FCXXXXXX YYYYYYYY

(アドレスXXXXXXの値 and YYYYYYYY)が0でなければ
以降のコードを実行

GBPAR形式

AABBCCDD

アドレスDDCCにBBを書き込み
AAにバンクを指定
バンクの値
01:GB及びGBCのC000h-CFFFhを対象
91:GBCのD000h-DFFFhのバンク1を対象
92:GBCのD000h-DFFFhのバンク2を対象
93:GBCのD000h-DFFFhのバンク3を対象
94:GBCのD000h-DFFFhのバンク4を対象
95:GBCのD000h-DFFFhのバンク5を対象
96:GBCのD000h-DFFFhのバンク6を対象
97:GBCのD000h-DFFFhのバンク7を対象
※注意
GBCでコードを使用する場合、以下のようにアドレス設定すること
MECCのアドレス:GBCのアドレス
0C000h-0CFFFh :C000h-CFFFh
1D000h-1DFFFh :D000h-DFFFh(バンク1)
2D000h-2DFFFh :D000h-DFFFh(バンク2)
3D000h-3DFFFh :D000h-DFFFh(バンク3)
4D000h-4DFFFh :D000h-DFFFh(バンク4)
5D000h-5DFFFh :D000h-DFFFh(バンク5)
6D000h-6DFFFh :D000h-DFFFh(バンク6)
7D000h-7DFFFh :D000h-DFFFh(バンク7)

GBAPARRAW形式

0XXXXXXX 000000YY

アドレスXXXXXXXにYYを書き込み
1XXXXXXX 0000YYYY

アドレスXXXXXXXにYYYYを書き込み
2XXXXXXX YYYYYYYY

アドレスXXXXXXXにYYYYYYYYを書き込み
3000XXXX YYYYYYYY
ZZZZZZZZ 00000000

アドレスZZZZZZZZに4を加算しながらXXXX回YYYYYYYYを書き込み
301000XX YYYYYYYY

アドレスYYYYYYYYにXXを加算
302000XX YYYYYYYY

アドレスYYYYYYYYにXXを減算
3030XXXX YYYYYYYY

アドレスYYYYYYYYにXXXXを加算
3040XXXX YYYYYYYY

アドレスYYYYYYYYにXXXXを減算
30500000 YYYYYYYY
XXXXXXXX 00000000

アドレスYYYYYYYYにXXXXXXXXを加算
30600000 YYYYYYYY
XXXXXXXX 00000000

アドレスYYYYYYYYにXXXXXXXXを減算
6XXXXXXX 0000YYYY

アドレス(XXXXXXX*2)にYYYYを書き込み
DXXXXXXX 0000YYYY

アドレスXXXXXXXの値がYYYYであれば次のコードを実行
DXXXXXXX 0010YYYY

アドレスXXXXXXXの値がYYYYでなければ次のコードを実行
DXXXXXXX 0020YYYY

アドレスXXXXXXXの値がYYYY以下であれば次のコードを実行
DXXXXXXX 0030YYYY

アドレスXXXXXXXの値がYYYY以上であれば次のコードを実行
E0XXYYYY 0ZZZZZZZ

アドレスZZZZZZZの値がYYYYであれば次のコードをXX個実行
E0XXYYYY 1ZZZZZZZ

アドレスZZZZZZZの値がYYYYでなければ次のコードをXX個実行
E0XXYYYY 2ZZZZZZZ

アドレスZZZZZZZの値がYYYY以下であれば次のコードをXX個実行
E0XXYYYY 3ZZZZZZZ

アドレスZZZZZZZの値がYYYY以上であれば次のコードをXX個実行

GBAPAR形式

GBAPARRAW形式を暗号化したコード

NDSPAR形式

0XXXXXXX YYYYYYYY

アドレス(XXXXXXX+offset)にYYYYYYYYを書き込み
1XXXXXXX 0000YYYY

アドレス(XXXXXXX+offset)にYYYYを書き込み
2XXXXXXX 000000YY

アドレス(XXXXXXX+offset)にYYを書き込み
3XXXXXXX YYYYYYYY

アドレスXXXXXXXの値がYYYYYYYY以下であれば以降のコードを実行
4XXXXXXX YYYYYYYY

アドレスXXXXXXXの値がYYYYYYYY以上であれば以降のコードを実行
5XXXXXXX YYYYYYYY

アドレスXXXXXXXの値がYYYYYYYYであれば以降のコードを実行
6XXXXXXX YYYYYYYY

アドレスXXXXXXXの値がYYYYYYYYでなければ以降のコードを実行
7XXXXXXX YYYYZZZZ

(アドレスXXXXXXXの値 and !YYYY)がZZZZ以下であれば
以降のコードを実行
8XXXXXXX YYYYZZZZ

(アドレスXXXXXXXの値 and !YYYY)がZZZZ以上であれば
以降のコードを実行
9XXXXXXX YYYYZZZZ

(アドレスXXXXXXXの値 and !YYYY)がZZZZであれば
以降のコードを実行
AXXXXXXX YYYYZZZZ

(アドレスXXXXXXXの値 and !YYYY)がZZZZでなければ
以降のコードを実行
BXXXXXXX YYYYYYYY

(アドレスXXXXXXXの値+offset)のアドレスの値をoffsetに設定
C0000000 XXXXXXXX

以降のコードをXXXXXXXX+1回繰り返し実行
D0000000 00000000

条件コード(3,4,5,6,7,8,9,A)の終端コード
D1000000 00000000

繰り返しコード(C)の終端コード
D2000000 00000000

条件コード、繰り返しコードの終端コード
D3000000 XXXXXXXX

offsetにXXXXXXXXを設定
D4000000 XXXXXXXX

dataにXXXXXXXXを加算
D5000000 XXXXXXXX

dataにXXXXXXXXを設定
D6000000 XXXXXXXX

dataをアドレスXXXXXXXXに書き込み(4バイト)
offsetに4を加算
D7000000 XXXXXXXX

dataをアドレスXXXXXXXXに書き込み(2バイト)
offsetに2を加算
D8000000 XXXXXXXX

dataをアドレスXXXXXXXXに書き込み(1バイト)
offsetに1を加算
D9000000 XXXXXXXX

アドレスXXXXXXXXの値をdataに設定(4バイト)
DA000000 XXXXXXXX

アドレスXXXXXXXXの値をdataに設定(2バイト)
DB000000 XXXXXXXX

アドレスXXXXXXXXの値をdataに設定(1バイト)
DC000000 XXXXXXXX

offsetにXXXXXXXXを加算
EXXXXXXX YYYYYYYY

アドレスXXXXXXXにYYYYYYYYバイト分のデータを書き込む
FXXXXXXX YYYYYYYY

アドレスoffsetからアドレスXXXXXXXへ
YYYYYYYYバイト分のデータをコピー

PSPAR形式

30XXXXXX 00YY

アドレスXXXXXXにYYを書き込み
80XXXXXX YYYY

アドレスXXXXXXにYYYYを書き込み
E0XXXXXX 00YY

アドレスXXXXXXの値がYYであれば次のコードを実行
E1XXXXXX 00YY

アドレスXXXXXXの値がYYでなければ次のコードを実行
E2XXXXXX 00YY

アドレスXXXXXXの値がYY未満であれば次のコードを実行
E3XXXXXX 00YY

アドレスXXXXXXの値がYY以上であれば次のコードを実行
D0XXXXXX YYYY

アドレスXXXXXXの値がYYYYであれば次のコードを実行
D1XXXXXX YYYY

アドレスXXXXXXの値がYYYYでなければ次のコードを実行
D2XXXXXX YYYY

アドレスXXXXXXの値がYYYY未満であれば次のコードを実行
D3XXXXXX YYYY

アドレスXXXXXXの値がYYYY以上であれば次のコードを実行
5000XXYY ZZZZ

次のコードのアドレスにYY,値にZZZZを加算しながらXX回書き込み
20XXXXXX 00YY

アドレスXXXXXXにYYを加算
21XXXXXX 00YY

アドレスXXXXXXにYYを減算
10XXXXXX YYYY

アドレスXXXXXXにYYYYを加算
11XXXXXX YYYY

アドレスXXXXXXにYYYYを減算
1FXXXXXX 00YY

アドレス1FXXXXXXにYYを書き込み
C2XXXXXX YYYY
00ZZZZZZ 0000

アドレスXXXXXXからアドレスZZZZZZにYYYYバイト分コピー

PS2PARRAW形式

0XXXXXXX 000000YY

アドレスXXXXXXXにYYを書き込み
1XXXXXXX 0000YYYY

アドレスXXXXXXXにYYYYを書き込み
2XXXXXXX YYYYYYYY

アドレスXXXXXXXにYYYYYYYYを書き込み
300100XX YYYYYYYY

アドレスYYYYYYYYにXXを減算
3002XXXX YYYYYYYY

アドレスYYYYYYYYにXXXXを減算
30030000 YYYYYYYY
XXXXXXXX 00000000

アドレスYYYYYYYYにXXXXXXXXを減算
301000XX YYYYYYYY

アドレスYYYYYYYYにXXを加算
302000XX YYYYYYYY

アドレスYYYYYYYYにXXを減算
3030XXXX YYYYYYYY

アドレスYYYYYYYYにXXXXを加算
3040XXXX YYYYYYYY

アドレスYYYYYYYYにXXXXを減算
30500000 YYYYYYYY
XXXXXXXX 00000000

アドレスYYYYYYYYにXXXXXXXXを加算
30600000 YYYYYYYY
XXXXXXXX 00000000

アドレスYYYYYYYYにXXXXXXXXを減算
4XXXXXXX YYYYZZZZ
VVVVVVVV 00000000

アドレスXXXXXXXにZZZZ*4を加算しながらYYYY回VVVVVVVVを書き込み
5XXXXXXX YYYYYYYY
ZZZZZZZZ 00000000

アドレスXXXXXXXからアドレスZZZZZZZにYYYYYYYYバイト分コピー
AXXXXXXX YYYYYYYY

アドレスXXXXXXXにYYYYYYYYを書き込み
CXXXXXXX YYYYYYYY

アドレスXXXXXXXの値がYYYYYYYYであれば以降のコードを実行
DXXXXXXX 0000YYYY

アドレスXXXXXXXの値がYYYYであれば次のコードを実行
DXXXXXXX 0010YYYY

アドレスXXXXXXXの値がYYYYでなければ次のコードを実行
DXXXXXXX 0020YYYY

アドレスXXXXXXXの値がYYYY以下であれば次のコードを実行
DXXXXXXX 0030YYYY

アドレスXXXXXXXの値がYYYY以上であれば次のコードを実行
E0XXYYYY 0ZZZZZZZ

アドレスZZZZZZZの値がYYYYであれば次のコードをXX個実行
E0XXYYYY 1ZZZZZZZ

アドレスZZZZZZZの値がYYYYでなければ次のコードをXX個実行
E0XXYYYY 2ZZZZZZZ

アドレスZZZZZZZの値がYYYY以下であれば次のコードをXX個実行
E0XXYYYY 3ZZZZZZZ

アドレスZZZZZZZの値がYYYY以上であれば次のコードをXX個実行

PS2PAR形式

PS2PARRAW形式を暗号化したコード

PSPPAR形式

0x0XXXXXXX 0xYYYYYYYY

アドレスXXXXXXX+offsetにYYYYYYYYを書き込み
0x1XXXXXXX 0x0000YYYY

アドレスXXXXXXX+offsetにYYYYを書き込み
0x2XXXXXXX 0x000000YY

アドレスXXXXXXX+offsetにYYを書き込み
0x3XXXXXXX 0xYYYYYYYY

アドレスXXXXXXX+offsetの値がYYYYYYYYより小さい場合に条件終端までのコードを実行
0x4XXXXXXX 0xYYYYYYYY

アドレスXXXXXXX+offsetの値がYYYYYYYYより大きい場合に条件終端までのコードを実行
0x5XXXXXXX 0xYYYYYYYY

アドレスXXXXXXX+offsetの値がYYYYYYYYと等しい場合に条件終端までのコードを実行
0x6XXXXXXX 0xYYYYYYYY

アドレスXXXXXXX+offsetの値がYYYYYYYYと異なる場合に条件終端までのコードを実行
0x7XXXXXXX 0xZZZZYYYY

アドレスXXXXXXX+offsetの値が(!ZZZZ & YYYY)より小さい場合に条件終端までのコードを実行
0x8XXXXXXX 0xZZZZYYYY

アドレスXXXXXXX+offsetの値が(!ZZZZ & YYYY)より大きい場合に条件終端までのコードを実行
0x9XXXXXXX 0xZZZZYYYY

アドレスXXXXXXX+offsetの値が(!ZZZZ & YYYY)と等しい場合に条件終端までのコードを実行
0xAXXXXXXX 0xZZZZYYYY

アドレスXXXXXXX+offsetの値が(!ZZZZ & YYYY)と異なる場合に条件終端までのコードを実行
0xBXXXXXXX 0x00000000

アドレスXXXXXXX+offsetの値をoffsetに設定
0xC0000000 0xYYYYYYYY

繰り返し終端までのコードをYYYYYYYY回実行
0xD0000000 0x00000000

条件終端
0xD1000000 0x00000000

繰り返し終端
0xD2000000 0x00000000

条件・繰り返し終端
終了時にoffsetに0を設定
0xD3000000 0xYYYYYYYY

offsetにYYYYYYYYを設定
0xD4000000 0xYYYYYYYY

storeにYYYYYYYYを加算
0xD5000000 0xYYYYYYYY

storeにYYYYYYYYを設定
0xD6000000 0xXXXXXXXX

アドレスXXXXXXXX+offsetにstoreを書き込み
書き込み後offsetに4を加算
0xD7000000 0xXXXXXXXX

アドレスXXXXXXXX+offsetにstoreの下位16bitを書き込み
書き込み後offsetに2を加算
0xD8000000 0xXXXXXXXX

アドレスXXXXXXXX+offsetにstoreの下位8bitを書き込み
書き込み後offsetに1を加算
0xD9000000 0xXXXXXXXX

アドレスXXXXXXXX+offsetの32bit値をstoreに設定
0xDA000000 0xXXXXXXXX

アドレスXXXXXXXX+offsetの16bit値をstoreに設定
0xDB000000 0xXXXXXXXX

アドレスXXXXXXXX+offsetの8bit値をstoreに設定
0xDC000000 0xYYYYYYYY

offsetにYYYYYYYYを加算
0xEXXXXXXX 0xYYYYYYYY
0xZZZZZZZZ 0xZZZZZZZZ
...

アドレスXXXXXXX+offsetにZZのデータをYYYYYYYYバイト分書き込み
0xFXXXXXXX 0xYYYYYYYY

アドレスoffsetからアドレスXXXXXXXにYYYYYYYYバイト分の値をコピー

PSPCWC形式

※全てのアドレスに08800000がオフセットとして足される
0x0XXXXXXX 0x000000YY

アドレスXXXXXXXにYYを書き込み
0x1XXXXXXX 0x0000YYYY

アドレスXXXXXXXにYYYYを書き込み
0x2XXXXXXX 0xYYYYYYYY

アドレスXXXXXXXにYYYYYYYYを書き込み
0x301000YY 0x0XXXXXXX

アドレスXXXXXXXにYYを加算
0x302000YY 0x0XXXXXXX

アドレスXXXXXXXからYYを減算
0x3030YYYY 0x0XXXXXXX

アドレスXXXXXXXにYYYYを加算
0x3040YYYY 0x0XXXXXXX

アドレスXXXXXXXからYYYYを減算
0x30500000 0x0XXXXXXX
0xYYYYYYYY 0x00000000

アドレスXXXXXXXにYYYYYYYYを加算
0x30600000 0x0XXXXXXX
0xYYYYYYYY 0x00000000

アドレスXXXXXXXからYYYYYYYYを減算
0x4XXXXXXX 0xVVVVWWWW
0xYYYYYYYY 0xZZZZZZZZ

アドレスXXXXXXXからWWWW*4ずつアドレスをずらしながらYYYYYYYYをVVVV回書き込む
書き込むごとにYYYYYYYYにZZZZZZZZを足す
0x5XXXXXXX 0xZZZZZZZZ
0xYYYYYYYY 0x00000000

アドレスXXXXXXXからアドレスYYYYYYYYに値をZZZZZZZZバイト分コピーする
0x6XXXXXXX 0x000000YY
0x00000001 0xZZZZZZZZ

ベースアドレス(アドレスXXXXXXXの値)にZZZZZZZZを足したアドレスにYYを書き込む
0x6XXXXXXX 0x0000YYYY
0x00010001 0xZZZZZZZZ

ベースアドレス(アドレスXXXXXXXの値)にZZZZZZZZを足したアドレスにYYYYを書き込む
0x6XXXXXXX 0xYYYYYYYY
0x00020001 0xZZZZZZZZ

ベースアドレス(アドレスXXXXXXXの値)にZZZZZZZZを足したアドレスにYYYYYYYYを書き込む
0x6XXXXXXX 0x000000YY
0x00030001 0xZZZZZZZZ

ベースアドレス(アドレスXXXXXXXの値)からZZZZZZZZを引いたアドレスにYYを書き込む
0x6XXXXXXX 0x0000YYYY
0x00040001 0xZZZZZZZZ

ベースアドレス(アドレスXXXXXXXの値)からZZZZZZZZを引いたアドレスにYYYYを書き込む
0x6XXXXXXX 0xYYYYYYYY
0x00050001 0xZZZZZZZZ

ベースアドレス(アドレスXXXXXXXの値)からZZZZZZZZを引いたアドレスにYYYYYYYYを書き込む
0x6XXXXXXX 0x000000YY
0x0000WWWW 0xZZZZZZZZ
0xUVVVVVVV 0x00000000

Uが2の場合、ベースアドレス(アドレスXXXXXXXの値)にVVVVVVVを足したアドレスの値を次のベースアドレスとする
Uが3の場合は、VVVVVVVを引いたアドレスの値を次のベースアドレスとする
上記処理をWWWW回繰り返し、最後のベースアドレスにZZZZZZZZを足したアドレスにYYを書き込む
※0xUVVVVVVVはWWWW回分記載する必要あり
※最後に0x00000000を記載する
0x6XXXXXXX 0x0000YYYY
0x0001WWWW 0xZZZZZZZZ
0xUVVVVVVV 0x00000000

Uが2の場合、ベースアドレス(アドレスXXXXXXXの値)にVVVVVVVを足したアドレスの値を次のベースアドレスとする
Uが3の場合は、VVVVVVVを引いたアドレスの値を次のベースアドレスとする
上記処理をWWWW回繰り返し、最後のベースアドレスにZZZZZZZZを足したアドレスにYYYYを書き込む
※0xUVVVVVVVはWWWW回分記載する必要あり
※最後に0x00000000を記載する
0x6XXXXXXX 0xYYYYYYYY
0x0002WWWW 0xZZZZZZZZ
0xUVVVVVVV 0x00000000

Uが2の場合、ベースアドレス(アドレスXXXXXXXの値)にVVVVVVVを足したアドレスの値を次のベースアドレスとする
Uが3の場合は、VVVVVVVを引いたアドレスの値を次のベースアドレスとする
上記処理をWWWW回繰り返し、最後のベースアドレスにZZZZZZZZを足したアドレスにYYYYYYYYを書き込む
※0xUVVVVVVVはWWWW回分記載する必要あり
※最後に0x00000000を記載する
0x6XXXXXXX 0x000000YY
0x0003WWWW 0xZZZZZZZZ
0xUVVVVVVV 0x00000000

Uが2の場合、ベースアドレス(アドレスXXXXXXXの値)にVVVVVVVを足したアドレスの値を次のベースアドレスとする
Uが3の場合は、VVVVVVVを引いたアドレスの値を次のベースアドレスとする
上記処理をWWWW回繰り返し、最後のベースアドレスからZZZZZZZZを引いたアドレスにYYを書き込む
※0xUVVVVVVVはWWWW回分記載する必要あり
※最後に0x00000000を記載する
0x6XXXXXXX 0x0000YYYY
0x0004WWWW 0xZZZZZZZZ
0xUVVVVVVV 0x00000000

Uが2の場合、ベースアドレス(アドレスXXXXXXXの値)にVVVVVVVを足したアドレスの値を次のベースアドレスとする
Uが3の場合は、VVVVVVVを引いたアドレスの値を次のベースアドレスとする
上記処理をWWWW回繰り返し、最後のベースアドレスからZZZZZZZZを引いたアドレスにYYYYを書き込む
※0xUVVVVVVVはWWWW回分記載する必要あり
※最後に0x00000000を記載する
0x6XXXXXXX 0xYYYYYYYY
0x0005WWWW 0xZZZZZZZZ
0xUVVVVVVV 0x00000000

Uが2の場合、ベースアドレス(アドレスXXXXXXXの値)にVVVVVVVを足したアドレスの値を次のベースアドレスとする
Uが3の場合は、VVVVVVVを引いたアドレスの値を次のベースアドレスとする
上記処理をWWWW回繰り返し、最後のベースアドレスからZZZZZZZZを引いたアドレスにYYYYYYYYを書き込む
※0xUVVVVVVVはWWWW回分記載する必要あり
※最後に0x00000000を記載する
0x6XXXXXXX 0xZZZZZZZZ
0xVVV00002 0xYYYYYYYY
0x1WWWWWWW 0x00000000

ベースアドレス1(アドレスXXXXXXXの値にYYYYYYYYを足したアドレス)からベースアドレス2(アドレスXXXXXXXにVVV*4を足したアドレスの値にWWWWWWWを足したアドレスの値)にZZZZZZZZバイト分コピーする
0x6XXXXXXX 0x000000YY
0xVVV0WWWW 0xZZZZZZZZ
0x9TTTTTTT 0x000000UU

ベースアドレス(アドレスXXXXXXXの値)にZZZZZZZZを足したアドレスからTTTTTTTずつアドレスをずらしながらYYをWWWW回書き込む
書き込むごとにXXXXXXXにVVV*4を足し、YYにUUを足す
0x6XXXXXXX 0x0000YYYY
0xVVV1WWWW 0xZZZZZZZZ
0x9TTTTTTT 0x0000UUUU

ベースアドレス(アドレスXXXXXXXの値)にZZZZZZZZを足したアドレスからTTTTTTT*2ずつアドレスをずらしながらYYYYをWWWW回書き込む
書き込むごとにXXXXXXXにVVV*4を足し、YYYYにUUUUを足す
0x6XXXXXXX 0xYYYYYYYY
0xVVV2WWWW 0xZZZZZZZZ
0x9TTTTTTT 0xUUUUUUUU

ベースアドレス(アドレスXXXXXXXの値)にZZZZZZZZを足したアドレスからTTTTTTT*4ずつアドレスをずらしながらYYYYYYYYをWWWW回書き込む
書き込むごとにXXXXXXXにVVV*4を足し、YYYYYYYYにUUUUUUUUを足す
0x7XXXXXXX 0x000000YY

アドレスXXXXXXXの値とYYの論理和を書き込む
0x7XXXXXXX 0x0001YYYY

アドレスXXXXXXXの値とYYYYの論理和を書き込む
0x7XXXXXXX 0x000200YY

アドレスXXXXXXXの値とYYの論理積を書き込む
0x7XXXXXXX 0x0003YYYY

アドレスXXXXXXXの値とYYYYの論理積を書き込む
0x7XXXXXXX 0x000400YY

アドレスXXXXXXXの値とYYの排他的論理和を書き込む
0x7XXXXXXX 0x0005YYYY

アドレスXXXXXXXの値とYYYYの排他的論理和を書き込む
0x8XXXXXXX 0xVVVVWWWW
0x000000YY 0x000000ZZ

アドレスXXXXXXXからWWWWずつアドレスをずらしながらYYをVVVV回書き込む
書き込むごとにYYにZZを足す
0x8XXXXXXX 0xVVVVWWWW
0x1000YYYY 0x0000ZZZZ

アドレスXXXXXXXからWWWW*2ずつアドレスをずらしながらYYYYをVVVV回書き込む
書き込むごとにYYYYにZZZZを足す
0xDXXXXXXX 0x0000YYYY

アドレスXXXXXXXの値がYYYYと等しければ次のコードを実行
0xDXXXXXXX 0x0010YYYY

アドレスXXXXXXXの値がYYYYと異なれば次のコードを実行
0xDXXXXXXX 0x0020YYYY

アドレスXXXXXXXの値がYYYYより小さければ次のコードを実行
0xDXXXXXXX 0x0030YYYY

アドレスXXXXXXXの値がYYYYより大きければ次のコードを実行
0xDXXXXXXX 0x200000YY

アドレスXXXXXXXの値がYYと等しければ次のコードを実行
0xDXXXXXXX 0x201000YY

アドレスXXXXXXXの値がYYと異なれば次のコードを実行
0xDXXXXXXX 0x202000YY

アドレスXXXXXXXの値がYYより小さければ次のコードを実行
0xDXXXXXXX 0x203000YY

アドレスXXXXXXXの値がYYより大きければ次のコードを実行
0xDXXXXXXX 0x4YYYYYYY
0xZZZZZZZZ 0x0000000W

アドレスXXXXXXXの値がアドレスYYYYYYYと等しければ次のZZZZZZZZ個のコードを実行コードを実行
Wが0の場合1バイトで比較
Wが1の場合2バイトで比較
Wが2の場合4バイトで比較
0xDXXXXXXX 0x5YYYYYYY
0xZZZZZZZZ 0x0000000W

アドレスXXXXXXXの値がアドレスYYYYYYYと異なれば次のZZZZZZZZ個のコードを実行コードを実行
Wが0の場合1バイトで比較
Wが1の場合2バイトで比較
Wが2の場合4バイトで比較
0xDXXXXXXX 0x6YYYYYYY
0xZZZZZZZZ 0x0000000W

アドレスXXXXXXXの値がアドレスYYYYYYYより小さければ次のZZZZZZZZ個のコードを実行コードを実行
Wが0の場合1バイトで比較
Wが1の場合2バイトで比較
Wが2の場合4バイトで比較
0xDXXXXXXX 0x7YYYYYYY
0xZZZZZZZZ 0x0000000W

アドレスXXXXXXXの値がアドレスYYYYYYYより大きければ次のZZZZZZZZ個のコードを実行コードを実行
Wが0の場合1バイトで比較
Wが1の場合2バイトで比較
Wが2の場合4バイトで比較
0xE0ZZYYYY 0x0XXXXXXX

アドレスXXXXXXXの値がYYYYと等しければ次のZZ個のコードを実行
0xE0ZZYYYY 0x1XXXXXXX

アドレスXXXXXXXの値がYYYYと異なれば次のZZ個のコードを実行
0xE0ZZYYYY 0x2XXXXXXX

アドレスXXXXXXXの値がYYYYより小さければ次のZZ個のコードを実行
0xE0ZZYYYY 0x3XXXXXXX

アドレスXXXXXXXの値がYYYYより大きければ次のZZ個のコードを実行
0xE1ZZ00YY 0x0XXXXXXX

アドレスXXXXXXXの値がYYと等しければ次のZZ個のコードを実行
0xE1ZZ00YY 0x1XXXXXXX

アドレスXXXXXXXの値がYYと異なれば次のZZ個のコードを実行
0xE1ZZ00YY 0x2XXXXXXX

アドレスXXXXXXXの値がYYより小さければ次のZZ個のコードを実行
0xE1ZZ00YY 0x3XXXXXXX

アドレスXXXXXXXの値がYYより大きければ次のZZ個のコードを実行

MDPAR形式

XXXXXX:00YY

アドレスXXXXXXにYYを書き込み
XXXXXX:YYYY

アドレスXXXXXXにYYYYを書き込み
アドレスが奇数の場合は下位1バイトのみ書き込まれる
※注意
KEGAFusion用のPARコードをベースとしている
gensでも適用可能
ただし、それ以外のMDエミュレータには未対応

SSPAR形式

1XXXXXXX YYYY

アドレスXXXXXXXにYYYYを書き込み
アドレスが奇数の場合はアドレスが-1される
3XXXXXXX 00YY

アドレスXXXXXXXにYYを書き込み
DXXXXXXX YYYY

アドレスXXXXXXXの値がYYYYであれば以降のコードを実行
EXXXXXXX YYYY

アドレスXXXXXXXの値がYYYYであれば次のコードを実行

GGPAR形式

XXXXXX:YY

アドレスXXXXXXにYYを書き込み


前のページへ戻る

更新履歴
サイトメニュー

人気ページ
商品リンク
管理人おすすめ
当サイトは管理人TATSU、副管理人MIA
によって運営されています。
☆メールによるお問い合わせはコチラ