趣味工房 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マシン復元進捗 ・拡張ボード用FDDのリード/ライト テスト |
2013年10月30日 |
写真1 テスト全景
写真2 リード/ライトのテスト状況
写真3 変換検討資料のアセンブラ・リストの一部
|