### 1-2　“GHEAD.ASM”の修正

アプリケーションのソースを書き終えたら“GHEAD.ASM”を修正します。

もしアプリケーションで割り込みを利用する場合は、利用する割り込みのベクタテーブルを“GHEAD.ASM”に記述します。

割り込みを利用しない場合でも、割り込みベクタテーブルの定義が必要です。また、割り込みハンドラには、なにもしないでRETIするように記述してください。

なお、ユーザーがゲームモードを選ぶと“GHEAD.ASM”の先頭（0000H）にジャンプしてきますので、“GHEAD.ASM”の先頭にはゲームのメインルーチンへのジャンプ命令を記述します。

100H以降は、BIOS呼び出しを行う場合の処理が記述されています。この処理は、変更しないでください。ROM内BIOSが直接アドレスを指定して、フラッシュメモリへ制御を戻してくるため、アドレスが1バイトでも変更されると、正しくBIOSを呼び出せません。

特にフラッシュメモリへの書き込みを行う場合、システムクロックをRC発振の1/6分周にする必要がありますが、変更はアプリケーションプログラム内で行って、fm_wrt_ex, fm_vrf_ex, fm_prd_exを呼び出し、戻ってきたら水晶発振に切り替わるようにしてください。

フラッシュメモリの読み込みを行う場合は、RC発振であれば分周比は1/6でも1/12分周でもかまいません。

また、各BIOSのスタートアドレスを指定するorg命令も変更しないように注意してください。

[←] | [INDEX] | [→]