復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第141回]
●ファンクションコール18H(ログインベクトルの取り出し)、19H(ログインディスクbフ取り出し)
ファンクションコール18Hと19Hについては[第90回]でテストをしました。
そこでも書きましたようにログインディスクというのは、今では耳慣れない言葉になってしまいました。
今でしたらカレントドライブ、カレントディスクと言ったほうがわかりやすいと思います。
CP/M2.2では最大16台のディスクを接続することができました。
ディスクドライブはA〜Pの名前をつけて識別します。
そしてそのAドライブ〜Pドライブをビット0〜ビット15までの各ビットに順に割り当てた16ビットの値がログインベクトルです。
あるドライブに1回でもアクセスすると、ログインベクトルの、そのドライブに対応するビットが1になります。
これはドライブがフロッピーディスクであった場合には必要な機能だったかもしれませんが、RAMディスクではおそらく不要だと思います。
ですからこの機能はなくてもいい、とも思ったのですが。
まあ。しかし。
ひょっとするとアプリケーションが参照していたりして。
ですから、互換性維持のために。
面倒くさいのですけれど、作ることにいたしました。
あ。
ファンクションコール19H(ログインディスクbフ取り出し)は、簡単そのものです。
要するにカレントドライブbゲットすればよいだけですから、何の問題もありません。
両ファンクションコールのテストプログラムは、[第90回]でFTST10−5を作って、それでテストをしました。
今回も同じテストをしてみます。
テストの過程を画像に撮れませんでしたので、ログファイルで説明をいたします。
logfile nd80zlog\05310853.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** >jp d233 A>dir A: FTST10-2 COM : SEARCH COM : CMP COM : FTST9 COM A: FTST7 COM : FTST8 COM : FTEST2 COM : FTST10-5 COM A: FTEST4 COM : COPY COM : FNC0BT2 COM A>ftst10-5 drvno.?0 0001 00 FTST10-2.COM SEARCH.COM CMP.COM FTST9.COM FTST7.COM FTST8.COM FTEST2.COM FTST10-5.COM FTEST4.COM COPY.COM FNC0BT2.COM end drvno.?b 0003 01 FNC0BT2.COM FNC0BT1.COM FNC0BT.COM FNC06T2.COM FNC0304T.COM end drvno.?a 0003 00 FTST10-2.COM SEARCH.COM CMP.COM FTST9.COM FTST7.COM FTST8.COM FTEST2.COM FTST10-5.COM FTEST4.COM COPY.COM FNC0BT2.COM end drvno.? A>end of ZBDOS >0000 00C3 - リモート接続を終了しました logfile closed at Thu May 31 08:55:25 2012 |
logfile nd80zlog\05311504.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** >jp d233 A>dir A: FTST10-2 COM : SEARCH COM : FTST11 COM : FTST9 COM A: FTST7 COM : FTST8 COM : FTST12 COM : FTST10-5 COM A: FNC0BT2 COM A>ftst11 A>ftst12 0001 A>save 1 test.txt err A>b: B>a:ftst11 B>a:ftst12 0003 B>save 1 test.txt err B>a:ftst12 0003 B>end of ZBDOS >0000 00C3 - リモート接続を終了しました logfile closed at Thu May 31 15:05:41 2012 |