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

マイコン独立大作戦
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

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