ドラクエ風RPGファミコンプログラム
*まずは、TESTプログラムを実行出来る様にしたいのでプログラムの入力を
優先させますので、理解できなくとも問題ありません。
【NESヘッダーと疑似命令】
*ヘッダーは16byteの大きさで、エミュレーターにカセットの情報を提供するもので、実機ではありません。
*ヘッダーは、プログラム先頭に記述します、 . SPEACEを開けて記述してください。
[ヘッダーの意味]
≪.inesprg 1≫ :プログラミングのバンク数でマッパーに関係しています。
≪.ineschr 1 ≫ :キャラクターデーターのバンク数でマッパーに関係している。
≪.inesmir 1≫ :ミラーリング 0.水平 1.垂直
≪.inesmap 0≫ :マッパーナンバー
*下記の様に入力する。
【画像1】
☆疑似命令 .BANK 1 メインメモリーのバンクの指定 $c000 以降は bank 1
☆疑似命令 .org はアドレスの開始位置を宣言する命令です。
.org $FFFA は FFFA番地から開始するということ。
☆疑似命令 .dw は2byteのDATA領域の確保する。
【CPU.割り込みベクター】
*割り込みベクターとは、電源投入時やリセットボタンが押されたとにジャンプ
するアドレスを設定するところで、6BYTE(3か所)あります。
上から、VBlank割り込み用・起動時やリセット用・BRAK/IRQ用となっています。
【画像2】
【メインプログラム】
*割り込みベクターに設定したアドレス(ラベル)から開始されます。
Start: がラベルといってアドレス($8000)の代わりになるものです。
一番下のloop000: jmp loop000 は無限ループでプログラムを停止させるものです。
それ以外は、ファミコンの初期設定なので今は説明しません。
これで、TESTプログラムは入力終了です。 早速コマンドプロンプトから実行
してみて下さい。このプログラムはFCEUX 以外では動きません。
実行すると、下の画像の通りなにも表示されていません。
まだ設定が不十分だからです。
いまは、コーディングからコンパイル、実行の流れを覚えるのが重要ですので、
今しばらくは、このプログラムを使用していきます。
【画像3】
【画像4】
*画像は、サクラエディタのものです。
次回は、このプログラムを使って アセンブリの命令を学んでいきます。