趣味工房 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):「1 001 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 No24


CP/Mマシン復元進捗  ・モニタ、ハード改造とRS232Cテスト その2
2014年1月11日


写真1 プログラムリストの変更(主要な変更部)



写真2 テスト風景



写真3 ORG/CPM切換SWとモニタ実行画面