趣味工房 HIRO-G
< モニタ、ハード改造とRS232Cテスト その2 >
前回の「CP/M No23」で、ND80ZVのモニタのプログラムを少し変更すればCP/M上で使えるえることを確認しましたが、ND80ZVのモニタは丁度RAM領域の真ん中である「83C7〜83FF番地」をワークエリアに使用しています。 これでは、CP/M上で100番地からデータやプログラムを連続して受信(書込む)するには、真に具合が悪いため、モニタプログラムとワークエリアをなるべく後ろへ移す作業が必要です。
という事で、モニタをCP/MのMBOOTが居座るD300番地の手前で、モニタ3CFバイトを安全に確保できるCE00番地へ移す事とし、それに伴いワークエリアもD2FF番地へ移すこととしました。 そのためのアセンブルリストの変更が、写真1です。 前回同様に中日電工さんの「TK80モニタプログラム操作説明書」P32〜P42のオリジナルのプログラムリストにCE00Hのバイアスをかけ変更しました。 ORG $0000 は $CE00 となります。以下、ORG $CE3Bを追加し、$0151、$02A0、$02DDを同様CE00Hのバイアスをかけ変更しました。 この変更したリストをファイル名「NDMONT4.txt」とし、asm80で再アセンブルしました。
>asm80 NDMONT4.txt
次にモニタをCE00番地へ移すにあたり一番の問題は、7セグLEDのDMAの処理です。 DMAの理屈が良く分かっていませんでしたが、調べた結果、HOLD時において、プルアップ「1」されているアドレスバスを、目的とする番地になるように、必要なアドレスバスをGND「0」状態にすることだと分かりました。
具体的には、HOLD状態での双方のアドレスバス状態は、
83FF番地のアドレスバス(ORG):「1000 0011 1111 1111」
D2FF番地のアドレスバス(CPM):「1101 0010 1111 1111」
となっていますので、A14、A12、A8のみ反転すれば良いことが分かります。 このバス状態の切換は、スイッチを使い写真2の様にND80ZVのハードを変更しますが、この変更はメーカ保証が受けられなくなりますので、あくまでも自己責任で行ったください。 また、当方の中日電工さんの組立説明書では、写真2のように実際の結線と違っていましたが、ND80ZVとして使う分にはこのままで何の問題もありませんが、改造作業をするにあたっては、現在手持ちの組立説明書と実機を良く比較してください。
アセンブルで作成された「NDMONT4.bin」を「CP/M No35」でも説明しました転送用ROMのベースプログラム(APPLI_BASE..TXT)の 200番地に貼り付けて、前回同様に「転送用ROM」を作成します(但し、このプログラムの「0009番地」と「01F6番地」は実際に転送するプログラムのバイト数「01CF03」に変更することが必要です。)。 そのROMをND80ZVのROMソケットへ差し込みシステムディスクをFDDに入れ電源を入れるとCP/Mが立ち上がりますので、写真4のようにそのまま「MDMONT4.COM」でSAVEします。 続いて、写真5のようにNDMONT4RのSAVEを確認後、LOADし実行しますと、 写真6のようにND80ZVの7セグLEDが点灯しモニタが正常に起動しました。
尚、ND80ZVのハード変更の結果、写真3のように以前電源スイッチに使用していたスイッチを、ORG/CPMバスの切換スイッチとして使っています。 因みに、ND80ZV専用モニタを使用するときは「ORG」へ、CP/MでRS232Cを使う時は「CPM」へ切り換えて使います。 RS232Cを実際に使い他のPCと交信する場合は、中日電工さんの「TK80モニタプログラム操作説明書」P28の例では、次のように使用しているサブルーチンもCE00Hのバイアスが必要です。
< RS232C受信プログラム例 >
D200 210001 ;100番地から書込み。
D203 C36CD1 ;036CH+CE00H
写真3が上記のプログラム(と言うほどでもないですが。)を実際に打ち込んで、RUNさせた状態で、接続先のPCの送信を待っている状態です。す。
以上、ハードを改造しモニタとワークエリアを移動した結果、RAM上の0100H〜CCFFH(52KB)の領域を使えるようになり、いちいち転送用ROMを作成する手間が省け、アプリのFDセーブ作業が大幅に効率アップとなります。
写真4 NDMONT4Rのセーブ表示画面
写真5 NDMONT4Rのセーブ確認と実行表示画面
写真6 ND80ZV上でのNDMONT4R実行画面
< 今後の予定 >
@ RS232Cのテスト その1: 完了
A ハード改造とRS232Cのテスト その2: 完了
B RS232Cによるアプリのセーブテスト: 実施中
C 復元1号機一体化: 検討中
D トラ技ボードへのFDD制御ボードの活用: 検討中
CP/Mマシン復元進捗 ・モニタ、ハード改造とRS232Cテスト その2 |
2014年1月11日 |
写真1 プログラムリストの変更(主要な変更部)
写真2 テスト風景
写真3 ORG/CPM切換SWとモニタ実行画面
|