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

パソコンをつくろう!(パソコン自作のすすめ)
組み立てキットを使って自作に挑戦!

[第447回]



●Wine(22)ZB3DOS.exeのリモートプログラムもスクロールできました

前回はND80Z3.5のユーザー様からリモートプログラムのメモリダンプ/dとリモートプログラムのステップ動作では最下行でスクロール表示ができませんというご指摘をいただきましたのでそのご指摘を受けてプログラム修正をしました。
printf(”¥n”);を追加したところうまく動作するようになりました。
今回はZB3DOS.exeも同じプログラム修正を行いその結果を確認しました。
ZB3DOS.exeはZB3.exeをベースにしてZBDOS(CP/M互換DOS)のための機能拡張をしたものなので土台は共通しているはずです。
前回ZB3.exeに対して行なったのと同じ修正を行なえば正しく動作するはずなのですが念のための動作テストです。

ND80Z3.5をUSB接続してプログラム修正をしたZB3DOS3UTE.exeを実行します。


ND80Z3.5で[I/O][8]を入力することで「リモートモード」にエントリしました。


/d(Memory Dumpコマンドを入力しましたがルールに合っていませんでした。
開始アドレスと終了アドレスを設定しないでいきなり/dを入力してしまいました。

あらためて8000[ADRSSET]8056[/][d]を入力しました。
一応スクロール表示されましたが最初の3行は1行空けて表示されました。
多分入力ミスのせいだと思いますが…。
確認のため8000[ADRSSET]
8040[/][d]を入力しました。
今度は正しくスクロール表示されました。

念には念を入れて。
もう一度メモリダンプを実行しました。

今度は0000[ADRSSET]
006f[/][d]を入力しました。
正しくスクロール表示されました。

続いてリモートモードでのステップ動作のテストです。

ブレークアドレスを8002にセットしブレーク回数を50回(=32H)に設定しました。
そのあとアドレス8000にセットしr(RUNコマンド)を入力しました。
プログラムが50回(32H)実行されてアドレス8002を実行した後でブレークしました。
Aレジスタは32になっています。
PC(プログラムカウンタ)は次のアドレス(8003)になっています。

ここでn(cont)を入力すると1ステップ動作になります。

nを入力するたびに命令が1ステップだけ実行されます。

次はトレースモードのテストです。

/tの入力でトレースモードにエントリします。
このあと8000[ADRSSET][RUN]の入力でプログラムがトレース実行されます。

17ステップ実行してトレースモードが終りました。

表示がスクロールして最後の表示でコマンド入力待ちになります。

ここでn(CONT)を入力すると1ステップ実行されます。

トレースモードも正しくスクロール表示することが確認できたので[Ctrl][E]を入力してリモート接続を終了しました。

最初に/dコマンドの入力ミスのあと/dの再実行で最初の3行が二重に改行されました。
/dの入力ミスが原因だと思いますが念のため再度テストしてみます。


ZB3DOS3UTE.exeを実行し/dコマンドを実行しました。

今度は正しくスクロール表示されました。

[Ctrl][E]を入力してリモート接続を終了しました。


上記操作のログです(最初に実行した分です)。
logfile nd80zlog\05090824.txt open
zb3dos3u 2016.4.9 by Chunichidenko

ND80Z3に接続しました
0001 0000 - /d[MEMORY DUMP]
0001  00 08 00 00 00 00 00 C3 BA FF 00 00 00 00 00 C3  .......テコ......テ
8000[ADRSSET]
8000 003E - 8056/d[MEMORY DUMP]
8000  3E 00 3C C3 02 80 00 3E 00 22 80 AC 12 8B 20 43  >.<テ...>.".ャ.. C
8010  FC DF 41 00 45 50 32 00 0A 00 04 00 0A 00 11 84  .゚A.EP2.........
8020  F0 0C 00 9A FA 00 00 98 FA 5A 00 99 FA 02 00 0D  .........Z......
8030  14 14 00 13 81 F0 0C 00 2C D7 28 F0 0C 00 29 2C  ........,ラ(...),
8040  D6 28 F0 0C 00 29 0D 16 1E 00 05 85 F0 0C 00 0D  ヨ(...)..........
8050  08 49 52 21 27 22 00 61 80 C0 12 89 20 0E C6 07  .IR!'".a.タ.. .ニ.
8000[ADRSSET]
8000 003E - 8040/d[MEMORY DUMP]
8000  3E 00 3C C3 02 80 00 3E 00 22 80 AC 12 8B 20 43  >.<テ...>.".ャ.. C
8010  FC DF 41 00 45 50 32 00 0A 00 04 00 0A 00 11 84  .゚A.EP2.........
8020  F0 0C 00 9A FA 00 00 98 FA 5A 00 99 FA 02 00 0D  .........Z......
8030  14 14 00 13 81 F0 0C 00 2C D7 28 F0 0C 00 29 2C  ........,ラ(...),
8040  D6 28 F0 0C 00 29 0D 16 1E 00 05 85 F0 0C 00 0D  ヨ(...)..........
0000[ADRSSET]
0000 00C3 - 006f/d[MEMORY DUMP]
0000  C3 00 08 00 00 00 00 00 C3 BA FF 00 00 00 00 00  テ.......テコ......
0010  C3 BD FF 00 00 00 00 00 C3 C0 FF 00 00 00 00 00  テス......テタ......
0020  C3 C3 FF 00 00 00 00 00 C3 C6 FF 00 00 00 00 00  テテ......テニ......
0030  C3 C9 FF 00 00 00 00 00 C3 CC FF 3E FF D3 98 21  テノ......テフ.>.モ.!
0040  EC 83 06 0C AF 77 23 05 C2 45 00 21 C7 83 22 E2  ....ッw#.ツE.!ヌ.".
0050  83 3E FF D3 98 31 D1 83 CD C0 01 CD 16 02 47 E6  .>.モ.1ム.ヘタ.ヘ..G.
0060  10 CA 84 00 78 E6 0F 06 00 87 4F 21 74 00 09 7E  .ハ..x.....O!t..~
/r
*** REGISTER mode entry ***
[ AF ] FFEA 0000 - [RD+]
[ BC ] FFE8 0000 - [RD+]
[ DE ] FFE6 0000 - [RD+]
[ HL ] FFE4 0000 - ra
[ brA] FFF0 0000 - 8002[WR+]
[ brC] FFF2 0000 - 32[WR+]
[ AF ] FFEA 0000 - [RD-]
[ brC] FFF2 0032 - [RD-]
[ brA] FFF0 8002 - /0

*** REGISTER mode end ***
FFF0 8002 - 8000[ADRSSET]
8000 003E - r [RUN]
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
3220 0000 0000 0000 F800 8003 0000 0000 0000 0000 0000 0000 FF07 00100000 00
n [CONT]
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
3220 0000 0000 0000 F800 8002 0000 0000 0000 0000 0000 0000 FF2B 00100000 00
n [CONT]
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
3320 0000 0000 0000 F800 8003 0000 0000 0000 0000 0000 0000 FF72 00100000 00
/t[TRACE SET]
FFD1 2010 -  trace on
8000[ADRSSET]
8000 003E - r [RUN]
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0020 0000 0000 0000 F800 8002 0000 0000 0000 0000 0000 0000 FF64 00100000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0100 0000 0000 0000 F800 8003 0000 0000 0000 0000 0000 0000 FF04 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0100 0000 0000 0000 F800 8002 0000 0000 0000 0000 0000 0000 FF27 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0200 0000 0000 0000 F800 8003 0000 0000 0000 0000 0000 0000 FF49 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0200 0000 0000 0000 F800 8002 0000 0000 0000 0000 0000 0000 FF7C 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0300 0000 0000 0000 F800 8003 0000 0000 0000 0000 0000 0000 FF03 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0300 0000 0000 0000 F800 8002 0000 0000 0000 0000 0000 0000 FF69 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0400 0000 0000 0000 F800 8003 0000 0000 0000 0000 0000 0000 FF6E 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0400 0000 0000 0000 F800 8002 0000 0000 0000 0000 0000 0000 FF55 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0500 0000 0000 0000 F800 8003 0000 0000 0000 0000 0000 0000 FF2D 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0500 0000 0000 0000 F800 8002 0000 0000 0000 0000 0000 0000 FF4D 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0600 0000 0000 0000 F800 8003 0000 0000 0000 0000 0000 0000 FF0C 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0600 0000 0000 0000 F800 8002 0000 0000 0000 0000 0000 0000 FF38 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0700 0000 0000 0000 F800 8003 0000 0000 0000 0000 0000 0000 FF7C 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0700 0000 0000 0000 F800 8002 0000 0000 0000 0000 0000 0000 FF02 00000000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0808 0000 0000 0000 F800 8003 0000 0000 0000 0000 0000 0000 FF56 00001000 00
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0808 0000 0000 0000 F800 8002 0000 0000 0000 0000 0000 0000 FF35 00001000 00
n [CONT]
A F  B C  D E  H L   SP   PC   IX   IY  A'F' B'C' D'E' H'L' I R  SZ H PNC BRC
0908 0000 0000 0000 F800 8003 0000 0000 0000 0000 0000 0000 FF43 00001000 00
^E
0000 00C3 - 
リモート接続を終了しました
logfile closed at Sat May 09 08:33:56 2026


下は再度テストした分のログです。
logfile nd80zlog\05090834.txt open
zb3dos3u 2016.4.9 by Chunichidenko

ND80Z3に接続しました
0001 0000 - 8000[ADRSSET]
8000 003E - 8056/d[MEMORY DUMP]
8000  3E 00 3C C3 02 80 00 3E 00 22 80 AC 12 8B 20 43  >.<テ...>.".ャ.. C
8010  FC DF 41 00 45 50 32 00 0A 00 04 00 0A 00 11 84  .゚A.EP2.........
8020  F0 0C 00 9A FA 00 00 98 FA 5A 00 99 FA 02 00 0D  .........Z......
8030  14 14 00 13 81 F0 0C 00 2C D7 28 F0 0C 00 29 2C  ........,ラ(...),
8040  D6 28 F0 0C 00 29 0D 16 1E 00 05 85 F0 0C 00 0D  ヨ(...)..........
8050  08 49 52 21 27 22 00 61 80 C0 12 89 20 0E C6 07  .IR!'".a.タ.. .ニ.
^E
0000 00C3 - 
リモート接続を終了しました
logfile closed at Sat May 09 08:35:15 2026


パソコンをつくろう![第447回]
2026.5.10upload

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