趣味工房 HIRO-G
< TK80BS インベーダ・ゲーム移植 最終まとめ >
一応、今回で移植作業は終了します。 ROM上の最終のアドレスマップは次の通りです。 B、CはND80Z3モニタから、選択起動をした時点で、転送プログラムにより正規の「RAM上:( )」の番地へ転送されます。 今回、Cのインベーダ・ゲームのプログラムを整理したため、前回とはメモリマップが変更になっています。
写真1が最終版をInvbsnd6.btkの名前で、ホストPCへセーブした画面です。 ND80ZVのモニタ機能を使うことで、このようにホストPCをND80ZVのハードディスク代わりに、気軽に使えますので、大変有難い機能です。
このInvbsnd6.btkをbinファイルに変換して、ROMの900H〜15A0H番地へ貼り付けています。
@ 0000H〜03FFH番地: プチ改造ND80ZVモニタ
A 0400H〜04FFH番地: ND80ZVモニタ関連サブルーチン
B 0500H〜08FFH番地: CP/M基本モニタ
(転送先: F800H〜FB0BH番地)
C 0900H〜15A0H番地: インベーダ・ゲーム
(転送先: 8900H〜959FH番地)
このインベーダ・ゲームの出典先は次の通りです。
I/O別冊9 「マイコン・ゲーム徹底研究2」のP159〜P164に記載の「TK−80BS(マシン語) オール・マシン語 スペース・インベーダー」: 伊集由信氏の作品です。
ROM化するための、プログラム@〜Cの全ダンプ・リストは INV6.TXTの通りです。
< CP/M基本モニタの起動方法 >
トラ技ボードにあるフル・キーボード用の8255の初期化をインベーダ・ゲーム内で処理することにしましたので、ゲームをするだけであれば、Bのモニタは不要ですが、フル・キーボードのテスト用として残してあります。 Bのモニターの起動は、ND80Z3モニタが立上ってから、写真3のように500H番地をアドレスセットし、RUNキーを押せば起動します。
< ゲームの実行は手順等 >
@ ND80Z3モニタから写真4のように、9500H番地をアドレスセット し、RUNキーを押すと、写真5のようにすぐにスタートします。
A ゲーム・オーバーになり、再スタートする場合は、フル・キーボードの 「S}キーを押すことで、再スタートします。
B 操作キーは、BASIC No42と同じで、次の通り。
・ビーム砲左移動: ND80Z3の「1」キー
・ビーム砲右移動: ND80Z3の「3」キー
・ビーム砲発射: フル・キーボードの「1」
・再スタート: フル・キーボードの「S」
・ゲームを終了: ND80Z3の「RESET」キー
< ゲームの音出しの追記 >
ゲームの音だしについては、ND80ZVの取扱説明書のP8に、写真2のように記載されており、スピーカのコントロールは、ビット5となっています。
従い、ソフト的には、次のようにビット5をオン(20H)にして音を出し、オフ(00H)で消音となる。 スピーカはND80ZVの付属のスピーカを使います。 プログラム上での使い方は、次の通りです。
・3E 20
・D3 98
因みに、各音出しのサブルーチンの番地は次の通りです。
・ビーム砲命中音 : 8932H〜893CH
・ゲームスタート音 : 8A02H〜8A10H
・ゲームオーバー音 : 8D52H〜8D5CH
音出しのサブルーチンへ飛ぶと、ゲームのスピードが落ちますが、実用上はほとんど気になりません。 UFOの出現時に音がほしいところですが、現状では、かなりスピードが落ちますので、挿入したタイマールーチンを考慮に入れてソフト的に改良するか、ハードを追加して改良するかの対策が必要となります。 当方としては、サウンド用のハードを追加した方が、確実で面白みもあると思います。
以上で、一応インベーダ・ゲームの移植は終了ですが、この作業の結果から、BSのマシン語のみのゲーム等は移植可能であることが実証できました。 従い、これに準じてオリジナルのゲームを作って遊べることになります。
しかも、前述のように制作途中のプログラムは、ND80ZVのモニタ機能を使って、手軽にホストPCへセーブとロードができますので、プログラム作成のストレスが軽減できます。
写真1 最終版をホストPCへセーブした画面
写真2 音出しのための資料
< 今後の予定 >
@ TK80BS インベーダ・ゲーム移植 最終まとめ: 完了
A TK80BS BASICの移植?:
B FDDコントローラの製作?:
C CP/Mシステム復元の可能性の検討?:
D グラフィック・ボードの製作?:
BASICマシン復元進捗 ・TK80BS インベーダ・ゲーム移植 最終まとめ |
2014年10月6日 |
写真3 CP/M基本モニタの起動確認画面
写真4 インベーダ・ゲームの開始直前の画面
写真5 インベーダ・ゲームの開始直後の画面
|