再利用可能なサブルーチン

基本的にインデックスレジスタ(X,Y)は16bit(2バイト)です。

MVN呼出
JSR $00AC (20 AC00)
A:転送回数(16bit) X:展開元下位アドレス Y:展開先下位アドレス
実際には
$AC:54 $AD:展開先上位アドレス(8bit) $AE:展開元上位アドレス(8bit) AF:60
をあらかじめ入れておかないと何も起きません
DBを書き換えます

初期化
JSL $809DC8 (22 C89D80)
引数 A:初期化する値(16bit) X:範囲 Y:初期化開始下位アドレス DB:初期化開始上位アドレス

確率判定
JSL $80ADC0 (22 C0AD80)
引数 A:確率値(0~100)(8bit)
戻り値 C(判定が真の場合C=0)

N*M/L
JSL $80A86F (22 6FA880)
引数 $00:N(16bit) $04:M(16bit) $08:L(16bit)
戻り値 $04(16bit)

N*M/100
JSR $EA12 (20 12EA)
引数 $00:N(16bit) $04:M(16bit)
戻り値 $00(16bit)
バンク $8D

1~100制限
JSR $EA40 (20 40EA)
引数 $00(16bit)
戻り値 $00(16bit)
バンク $8D

最大999制限
JSR $EA58 (20 58EA)
引数 $00(16bit)
戻り値 $00
バンク $8D

最小1最大999制限
JSR $EA6C (20 6CEA)
引数 $00(16bit)
戻り値 $00(16bit)
バンク $8D

相手との距離(X座標の差+Y座標の差)取得
JSL $8D9B6F (22 6F9B8D)
戻り値 A(8bit)
最終更新:2008年02月25日 00:13