パソコンをつくろう!(パソコン自作のすすめ)
組み立てキットを使って自作に挑戦!
[第441回]
●Wine(16)ZB3BASICの動作を確認
前回はWineでコマンドプロンプトを実行してそこでZB3DOS.exeを起動してテストを行いZB3DOS(CP/M互換DOS)が正しく動作するところをお見せしました。
そこで書きましたようにそれはZB3DOS(CP/M互換DOS)のみに限ってプログラムを直したのでZB3BASICについては表示の異常は残ったままだったのですがその部分(ZB3BASIC)については画像の記録を取っていませんでした。
ZB3BASICについてもその後に進展があったのですがそれは順次書くことにしてまずは前回の時点でのZB3BASICの動作についてあらためてテストをしてその画像を残しておくことにします。
なかなかに面倒でそんなことは省いてしまってもよいようなものですが後になって役に立つことが出てくるかもしれません。
面倒でもやっておくべきでありましょう。
前回はZB3DOS.exe(のテスト用修正版)を実行してZB3BASICを立ち上げてからそこで/cpmコマンドを入力したのですが/cpmコマンドを入力するまでの過程は記録していませんでした。
今回は前回では記録しなかったZB3BASICの部分を記録することにしました。
下の画面はWineでコマンドプロンプトを実行してあれこれテストしたあとからのスタートです。
まだコマンドプロンプトが実行されていて現在位置はz:¥home¥user¥kyoyu¥zb3dosディレクトリにあります。
そこでテスト用にZB3DOS.exeを修正したZB3DOS3UT9.exeを実行しました。

ZB3DOS.exeはあれこれいっぱい修正しながらテストをしたので前回の画像のプログラムがどの修正プログラムだったかわからなくなるところでした。
そういうことがないようにやっぱりこまめに記録を取っておかないといけません。
ログの日時とプログラムの作成日時から前回のテストを行なったプログラムがZB3DOS3UT9.exeであることを突き止めました。
ZB3DOS3UT9.exeを実行した後にUSB接続したND80Z3.5で[I/O][8]を入力した結果
0001 0000 −
と表示されました。
ここでキーボードから[z]を入力するとZB3BASICが起動します。
ZB3BASICが起動して画面クリア後に>が表示されました。

前回はここで/cpmコマンドを入力しました。
今回はZB3BASICの動作テストですからZB3DOS(CP/M互換DOS)は実行しません。
このままZB3BASICの動作テストをします。
HELPコマンドを実行してみます。

ZB3BASICは起動時にユーザープログラムエリアをクリアします。
HELPコマンドはそれ以前に入力されていたユーザープログラムがもしあればそれを復活させます。
LISTコマンドで復活したプログラムを表示させてみます。

このときより前にテストのために入力していたプログラムが表示されました。

RUNコマンドでプログラムを実行します。
プログラムが実行されて実行結果がスクロール表示されました。

ここまで正しく表示されています。
最下行でLISTコマンドを入力してみます。
前回はZB3DOS(CP/M互換DOS)については対策したので正しい表示が得られたのですがZB3BASICについては未対策のままなのでやっぱりスクロール表示の結果LISTコマンドの行が表示されません(消失しています)。

ZB3DOS.exeでのZB3BASICについて問題点(画面最下行に入力したときの問題)が確認されました。
この問題は[第439回]で確認したZB3.exeの問題と同じです。
ZB3BASICについてはZB3.exeとZB3DOS.exeで同じ問題が発生することが確認できました。
以上の確認ができたので/exitでZB3BASICを終了します。

ここでも/exit行は表示されません。

[第439回]に書きましたようにZB3BASICでは画面最下行にカーソルがあるときにそこでキー入力した文字列は改行が行なわれないためにスクロール表示によってその次の表示行によって上書きされて消えてしまいます。
入力そのものは有効に機能しています。
それがZB3BASICで確認された問題点です。
下は上記操作のログです。
logfile nd80zlog\04301137.txt open
zb3dos3u 2016.4.9 by Chunichidenko
ND80Z3に接続しました
0001 0000 - z
1000 00C3 -
>help
TEXT 8004-8074
ヘンスウ DFFB-DFFF
>list
5 PRINT "sid,cod test"
7 PRINT "26/4/30"
10 FOR A=0 TO 90 STEP 2
20 PRINT A,SID(A),COD(A)
30 NEXT A
>run
sid,cod test
26/4/30
0 0 1
2 0.348995E-1 0.999391
4 0.697564E-1 0.997564
6 0.104528 0.994522
8 0.139173 0.990268
10 0.173648 0.984808
12 0.207912 0.978147
14 0.241922 0.970296
16 0.275637 0.961262
18 0.309017 0.951056
20 0.34202 0.939693
22 0.374607 0.927184
24 0.406737 0.913545
26 0.438371 0.898794
28 0.469471 0.882948
30 0.5 0.866025
32 0.529919 0.848048
34 0.559193 0.829038
36 0.587785 0.809017
38 0.615661 0.788011
40 0.642787 0.766044
42 0.66913 0.743145
44 0.694658 0.71934
46 0.71934 0.694658
48 0.743145 0.669131
50 0.766044 0.642788
52 0.788011 0.615662
54 0.809017 0.587785
56 0.829037 0.559193
58 0.848048 0.529919
60 0.866025 0.5
62 0.882947 0.469472
64 0.898794 0.438371
66 0.913545 0.406737
68 0.927184 0.374607
70 0.939692 0.34202
72 0.951056 0.309017
74 0.961262 0.275637
76 0.970296 0.241922
78 0.978147 0.207912
80 0.984808 0.173648
82 0.990268 0.139173
84 0.994522 0.104529
86 0.997564 0.697567E-1
88 0.999391 0.348997E-1
90 1 0
>list
5 PRINT "sid,cod test"
7 PRINT "26/4/30"
10 FOR A=0 TO 90 STEP 2
20 PRINT A,SID(A),COD(A)
30 NEXT A
>/exit
0000 00C3 -
リモート接続を終了しました
logfile closed at Thu Apr 30 11:40:19 2026
|
ZB3DOS(CP/M互換DOS)のための対策がログ作成に影響を与えているようです。
ZB3BASICについても余計な「改行」が挿入されています。
ここはもとの機能に戻すようプログラムの再修正が必要です。
パソコンをつくろう![第441回]
2026.5.1upload
前へ
次へ
目次へ戻る
ホームページトップへ戻る