趣味工房 HIRO-G
< TK80BS LEVEL−2 BASIC移植その2 >
今回は、F000H〜FFFFHのROMに書き込まれている、BSのBASICモニタプログラムの解析を実施しました。
写真1のように解析を進め、ザックリですが、モニタプログラムの流れが分かりましたので、更にキー入力部分を重点的に調査しました。
結果、キー入力に関係するメイン部分は、写真2のようにモニタプログラムの「RMF94F」と「RMF961」の部分です。 ここで、面白い部分を発見しました。 以前、「BASIC No9」に記載しましたように、BS付属のキーボードの「復改」のアスキーコードは「0A」であり、リターンコードの「0D」ではないのはなぜかなあと思っていました。
その謎が写真2の部分で解けました。 F95AH番地でキー入力の値が「0A」かどうかをチェックして、「0A」であれば、F95FH番地で「0D」に変換されています。
NECがBASIC導入時に変更したと思いますが、理由は何であれ、BSのBASIC内では、「復改」はリターンキーとして認識されていることになりますので、当方の改造フル・キーボードを使用する時は、この部分は削除する必要があります。
その他のキー入力が関係する部分は、今後の解析でどうなるか分かりませんが、今のところ分かっているのは、 写真3と写真4の部分と合わせて、キー入力@、A、Bの計3箇所です。
解析できた内容を踏まえて、ND80Z3モニタを立上、3EE0HからBASICに入るテスト用のROMを作成しました。 写真5がND80Z3モニタを立上、BASICへ入る前の状態です。
写真6がBASICの入口であるオープニング・メッセージが表示された状態です。 キー入力関係のプログラムの改造が出来ていませんので、BASICインタープリタの中には入れませんが、取敢えず、ここまでは巧くいっていると思われます。
写真5 ND80Z3モニタ立上画面
写真6 BS/BASICオープニング・メッセージ表示
< 今後の予定 >
@ TK80BS LEVEL−2 BASICの移植その2: 完了
A TK80BS LEVEL−2 BASICの移植まとめ
B TK80(E)とトラ技ボードによるLEVEL−2 BASIC:
C FDDコントローラの製作?:
D CP/Mシステム復元の可能性の検討?:
E グラフィック・ボードの製作?:
BASICマシン復元進捗 ・K80BS LEVEL−2 BASIC移植その2 |
2015年4月3日 |
写真1 BS/BASICモニタの解析
写真2 キー入力@:モニタ部のキー入力サブ・ルーチン
写真3 キー入力A:拡張作業領域の入力サブ・ルーチン1
写真4 キー入力B:拡張作業領域の入力サブ・ルーチン2
|