趣味工房 HIRO-G


< 拡張ボード用FDDのリード/ライト テスト >


 前回CP/M No14の2DDフォーマッティングプログラム(MFORM80)が正常に機能したかどうかを含めて、このFDD制御ボードは今後の作業に問題なく使えるものかを検証するためにリード/ライト用のテストプログラムを作成し、テストを実施しました。 
 テスト用のプログラムのベースは、やはり「CP/M手作りマイコン2」P48〜61に記載されている標準8インチ2D用のリード/ライト・テストプログラムを使うのが、モニター機能もあり最も効率が良さそうですので、同書のP62〜69に記載されているμPD765の解説を参考に2DD用に変換しました。 写真3は変換検討資料のアセンブラ・リストの一部です。
変換の主なポイントは次の通りです。

@ リード/ライトのコマンドの構成。
  ・リード 2D: 06H  2DD: 46H
  ・ライト 2D: 05H  2DD: 45H
A 入出力のアドレス
  ・2D: 1EH、1FH   2DD: 2EH、2FH
B ステータス・レジスタへの書き込みコマンド
  ・2D: 3FH  2DD: 7FH
C 1セクタ
  ・2D: 80H  2DD: 00H
D 2000文字対応のCRTCパラメータ(HEX)
7E、50、61、38、20、03、19、1C、00、07、65、08、00、00

 検証には、前回CP/M No14の結果から、AT互換の3.5インチFDDを使用しました。 FDはMAXELLの2DDを使っていますが、TEIJIN製の2HDの右穴をシールで目隠しても使用できました。 因みにSONYのMFD−2HDは目隠ししてもエラーになり使えませんでした。 2HDは使えるものと使えないものがあるようです。

 テストの状況は、写真1がテストの全景です。 リード/ライト・テストプログラムを立ち上げると、モニター機能が働き写真4のような表示が出ます。
R,W、D、Gのコマンドの意味は次の通りです。
 R: リードテスト、任意の1セクタ分のデータを任意のアドレスへ読込む。
 W: ライトテストで任意のアドレスから任意の1セクタにデータを書込む。
 D: 任意のアドレスの内容の表示と書換え。
 G: 任意のアドレスからのプログラムの実行。

 写真2はリード/ライト・テストの実施例で、写真5がその画面の拡大です。 この実施例は、先ずROMの0番地から1セクタ分256バイトのデータを、0トラック、1セクタへ書込み、そのデータをRAM上の9000番から1セクタ分を読込んだ結果の表示です。 
 各作業が正常に終了すると R/W END と表示します。
 写真6が、DコマンドでFDの内容と9000からの内容について8バイト分を表示させたものです。 このテスト結果から、FDD制御ボードは正常にリード/ライトが機能しており、また今後の作業に3.5インチFDDが問題なく使えることが確認できました。



写真4


写真5


写真6


 < 今後の予定 >

 @ 拡張ボード用FDDのリード/ライト テスト1: 完了
 A 拡張ボード用FDDのリード/ライト テスト2
 B 「CP/M手作りマイコン3」CP/Mシステム構築の検討
 C トラ技ボード用FFD制御ボードの製作

CP/M No15


CP/Mマシン復元進捗  ・拡張ボード用FDDのリード/ライト テスト
2013年10月30日


写真1 テスト全景



写真2 リード/ライトのテスト状況



写真3 変換検討資料のアセンブラ・リストの一部