マイコン独立大作戦
CRT/VGAIF+KEYIF+SDCARDIFボードの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
昔はそれが普通のことだったのですが、安価なCRTディスプレイが生産中止となって久しい今日ではそれ
は叶わぬことと諦めていたのですが…。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[総合第49回]
●独立版ZB3DOS(CP/M互換DOS)の動作テスト
独立版ZB3DOS(CP/M互換DOS)プログラムをSDカードのZディレクトリにCOPYしましたので、いよいよこれからZB3DOSの動作テスト開始です。
ZB3DOSを起動しました。
今度は仮想Aドライブに問題はありません。
SDカードを再フォーマットしましたから、Aドライブに(そのほかのドライブにも)ファイルはありません。
前回ZディレクトリにCOPYしたテストプログラム(サンプルプログラム)を、今度はAドライブにCOPYします。
COPYコマンドでZドライブ(Zディレクトリ)からAドライブにコピーします。
コピーが完了しました。
と思ったのですが…。
Aドライブを確認してみましたら、STARTREK.BASがありません。
さては、COPYルーチンにバグがあるのか?
もう疑心暗鬼です。
結局のところ、落ち着いてよくよく確認してみましたら、当たり前のことでした。
ZドライブからAドライブにCOPYするときに、
COPY *.COM A:
と入力したのでした。
拡張子がCOMのファイルは全てコピーされますが、拡張子がそれ以外のファイルはコピーされなくて当然でした。
あらためてSTARTREK.BASをコピーしました。
全く、やれやれ、です。
AドライブにSTARTREK.BASがコピーされました。
MBASICを起動しました。
STARTREK.BASをロードしたのですが…。
あれ?
Direct statement in file が…。
以前に同じメッセージが出たときは、ロード完了時にメッセージが出たと思ったのですが、今回はload”STARTREKの入力後、いつまで待ってもOKが表示されないので[Enter]を入力したところ、上のメッセージが表示されました。
このメッセージについては[第36回]に書きました。
CP/Mではファイルの最後にコード1A(End of file)を置く決まりになっていたのですが、Windowsは1Aを読まないためにWindowsでファイルをコピーすると1Aが落ちてしまいます。
[第36回]ではSTARTREK.BASに1Aを追加書込したのですが、今回再度ハードディスクからコピーするときに、1Aが追記されていないファイルをコピーしてしまったようです。
そこで一旦ZB3DOSを終了して、STARTREK.BASの終わりに1Aを追記することにしました。
なかなかに手間がかかります。
作業はWindowsにUSB接続したND80ZVで行ないました。
>/ld startrek.bas,0000 loading STARTREK.BAS ...4f15(20245)bytes loaded,from 0000 to 4F14 >dm@4f00,4f7f 4F00 56 22 3A 52 45 54 55 52-4E 0D 0A 39 39 39 39 20 V":RETURN..9999 4F10 45 4E 44 0D 0A 55 AE 00-BA BA 35 15 5D 55 FA 62 END..Uョ.ココ5.]U.b 4F20 15 5F AB A2 DA 8A 50 44-54 56 A3 D6 EA AB 0F 51 ._ォ「レ.PDTV」ヨ.ォ.Q 4F30 AA A2 55 01 45 55 AE A1-A8 60 06 25 5C 57 8B A2 ェ「U.EUョ。ィ`.%\W.「 4F40 55 51 2A AE 6A AA 44 F5-5D 57 0A BF BA AB C5 55 UQ*ョjェD.]W.ソコォナU 4F50 AA AA 51 ED DD 54 B9 90-08 BA C5 15 55 51 A2 E3 ェェQ.ンTケ..コナ.UQ「. 4F60 D5 05 EE AA A8 AB 57 50-F5 95 AA 8A A6 28 3D 1D ユ..ェィォWP..ェ.ヲ(=. 4F70 AA EA 5F 51 55 56 1A 8C-AA AA 57 55 05 54 8A 84 ェ._QUV..ェェWU.T.. >cm@4f15 4F15 55-1a 4F16 AE- >/sv startrek.bas,0000,4f15 4F16(20246)bytes saved >dirz MBASIC .COM STARTREK.BAS VFTST2 .COM VFTST4 .COM VFTST5 .COM VFTST6 .COM VFTST6 .TXT VFTST6-2.COM VFTST6-2.TXT VFTST7 .COM VFTST8 .COM VFTST9 .COM VFTST10 .COM VFTST11 .COM VFTST12 .COM VFTST13 .COM VFTST14 .COM VFTST15 .COM VFTST16 .COM VFTST17 .COM VFTST18 .COM VFTST19 .COM VFTST20B.COM VFTST20C.COM VFTST21 .COM VFTST22 .COM VFTST25 .COM VFTST92 .COM VFTST102.COM VFTST105.COM VFTST107.COM FNC0BT-3.COM FNC03T-2.BIN FNC05T2 .BIN FNC06T .COM FNC06T-2.COM RAFTDOUT.COM VFTST0-2.COM VFTST1 .COM >erase startrek.bas >sv startrek.bas,0000,4f15 >/exit |
前にも書きましたが、そのファイルをロード後に実行するのではなくて、ただ編集するだけなら、0000からロードしても全く構いません。
0000〜7FFFは裏RAMなので、CM@コマンドで書き換えを行ないました。
SDカードへのファイルセーブは安全のため上書きはできないようにしてあります。
ZB3DOS(CP/M互換DOS)のSAVE、COPYコマンドは同じファイル名が存在すると上書きしてしまいますから注意が必要です。
先にERASEコマンドで旧STARTREK.BASを削除してから、新しいSTARTREK.BASをZディレクトリにセーブしました。
もう一度独立版に戻ってZB3DOSを起動して、STARTREK.BASをZドライブからAドライブにコピーしました(このときAドライブのSTARTREK.BASは上書きされます)。
MBASICを起動しました。
STARTREK.BASをロードしました。
カメラがブレてしまいました。
今度はメッセージが出ずにOKが表示されました。
STARTREKを実行しました。
やっとここまで無事にできました。
MBASICのBASICプログラムは[Ctrl]+[C]の入力で終了します。
MBASICはSYSTEMコマンドを入力するとZB3DOS(CP/M互換DOS)に戻ります。
ZB3DOS(CP/M互換DOS)に戻るときはシステムがリブートされます。
リブートの時は(最初のスタートの時も)再ロードするファイル名を表示するようにしてあります。
このときもしファイルがみつからなければその後にエラー表示がされることになるので、それによってどのファイルがないのかがわかるようにするためです。
やっとDOSファンクションのテストをするところまできました。
ファンクション01とファンクション02のテストです。
最終的に正しく動作するようになりましたが、ファンクション01(コンソール入力)が正しく働くようになるまで、かなりシステムプログラムの修正が必要でした。
CRT/VGAIF+KEYIF+SDCARDIFボードの製作[総合第49回]
2017.4.15upload
前へ
次へ
ホームページトップへ戻る