ドラクエ風RPGファミコンプログラム

*まずは、TESTプログラムを実行出来る様にしたいのでプログラムの入力を

 優先させますので、理解できなくとも問題ありません。

NESヘッダーと疑似命令】

*ヘッダーは16byteの大きさで、エミュレーターにカセットの情報を提供するもので、実機ではありません。

 

*ヘッダーは、プログラム先頭に記述します、 . SPEACEを開けて記述してください。
[ヘッダーの意味]
 ≪.inesprg 1≫        :プログラミングのバンク数でマッパーに関係しています。
 ≪.ineschr 1 ≫    :キャラクターデーターのバンク数でマッパーに関係している。
 ≪.inesmir 1≫     :ミラーリング  0.水平  1.垂直
 ≪.inesmap 0≫   :マッパーナンバー

 

*下記の様に入力する。

 

f:id:chien1956:20200211162047p:plain

【画像1】

☆疑似命令 .BANK 1 メインモリーのバンクの指定 $c000 以降は bank 1

☆疑似命令 .org はアドレスの開始位置を宣言する命令です。

.org $FFFA は FFFA番地から開始するということ。 

☆疑似命令 .dw は2byteのDATA領域の確保する。

【CPU.割り込みベクター

*割り込みベクターとは、電源投入時やリセットボタンが押されたとにジャンプ

 するアドレスを設定するところで、6BYTE(3か所)あります。

 上から、VBlank割り込み用・起動時やリセット用・BRAK/IRQ用となっています。

 

f:id:chien1956:20200211174430p:plain

 【画像2】

【メインプログラム】

*割り込みベクターに設定したアドレス(ラベル)から開始されます。

 Start: がラベルといってアドレス($8000)の代わりになるものです。

 一番下のloop000:      jmp loop000 は無限ループでプログラムを停止させるものです。

 それ以外は、ファミコンの初期設定なので今は説明しません。

 これで、TESTプログラムは入力終了です。 早速コマンドプロンプトから実行

 してみて下さい。このプログラムはFCEUX 以外では動きません。

 実行すると、下の画像の通りなにも表示されていません。

 まだ設定が不十分だからです。

 いまは、コーディングからコンパイル、実行の流れを覚えるのが重要ですので、

 今しばらくは、このプログラムを使用していきます。

 

f:id:chien1956:20200211182511p:plain

【画像3】

 

f:id:chien1956:20200211180345p:plain

【画像4】

 

*画像は、サクラエディタのものです。

次回は、このプログラムを使って アセンブリの命令を学んでいきます。