2013.5.13
前へ
次へ
ホームページトップへ戻る

復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります

[第394回]


●ランダムREAD(ファンクション21H)

昨日はお得意様からの急ぎの仕事をしなければなりませんでしたのでホームページの更新ができませんでした。
本日も1日中その仕事をやっておりました。
本日も時間がありませんので少しだけしか書けません。

ランダムリード(ファンクション21H)については[第225回]で説明をしました。
テストプログラムはVFTST21です。
前回のランダムライト(ファンクション22H)についてはこのところの大幅なプログラム変更のために、ZBDOSをかなり修正する必要がありましたが、ランダムリードは以前に実行したときと同じようにそのまま実行することができました。
仮想CドライブにVFTST21.COMをコピーして
VFTST21 TEST.RAF[Enter]
を実行すると下のように表示されました。

VFTST21.COMの詳しい説明につきましては[第225回]を参照してください(そこではさらに詳しい説明について、それ以前の回へのリンクをつけています)。
なおVFTST21.COMを仮想Cドライブにコピーするときに、VFTST20B.COM、RAFTDOUT.COMと一緒にコピーしてしまうと、そのあとでTEST.RAFが作成されることになるため、TEST.RAFのセクタbェ前回の説明とずれてしまいます。
別に問題はないのですけれど、説明と同じセクタbナ動作の結果を確認していただくためには、VFTST21.COMはVFTST20B.COMの実行後にコピーしていただく必要があります。

●リードオンリーディスク

このところの説明書作成作業やプログラムの動作確認作業をしていて、思ったことがあります。
CP/Mにはリードオンリーディスクのためのファンクションコールがあります。
ファンクション0DH(全ディスクドライブリセット) [第208回]
ファンクション1CH(ライトプロテクトセット) [第207回]
ファンクション1DH(R/Oベクトルの取り出し) [第207回]
ファンクション25H(ディスクリセット) [第209回]
CP/Mではフロッピーディスクだったために、システムディスクなどの大切なディスクは誤って消去してしまわないように書き込み禁止にしておくのが常識でした。
その延長としてソフトウェアでディスクにライトプロテクトをかける機能が用意されていたのだと思います。

しかし、仮想FDDにそういうものが必要なのでしょうか?

A〜DドライブはWindowsから見ればただの1個のファイルなのですから誤って消してしまったり書き換えたりしたら困るということでしたら、ファイルのバックアップをとっておくだけで済みます。

ということで。
CP/M互換DOSを開発した当初はCOPYコマンドやRENコマンド、ERAコマンドや、セクタWRITEなどのファンクションではディスクのR/Oマークをチェックしていたのですが、今回の最終的なプログラム変更作業のついでにその部分は全てカットしてしまいました。
ファンクションとしてはR/O(リードオンリー)関係の機能はそのまま残してありますが、実際の動作としては仮想フロッピーディスクドライブをリードオンリーにしても書き込みや削除は禁止されません。
つまり、CP/M互換DOSでは仮想FDDに対するリードオンリー機能は有名無実です。

おお。
そういえば。
ファイル属性としても、システムファイルやリードオンリーファイルというのがありました。
これもわずらわしいだけですから、有名無実にしておきましょう。

ワンボードマイコンでCP/Mを![第394回]
2013.5.13upload

前へ
次へ
ホームページトップへ戻る