アプリケーションのソースを書き終えたら“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] | [→] |
(C)SEGA ENTERPRISES, LTD., 1998