[HOME] [リストへもどる] [新着50]  [最新100]  [全部表示 会議室風]  [全部表示 保存用]

新着記事 50


12639Re: Turbo Basic (1st compile) & QBX 投稿者:konno   2025/12/27(土) 01:45
  12635 番 文太 さんへのコメント

>  でも、質問です、noname.exeは、どこに"Hello, world"を出している
> のでしょう? 「標準エラー」でも「標準出力」でもない場所?

TurboBASICは無指定なら、VRAM B8000h に書き込んでいると思います。
USモードなら、VRAM B8000h を表示するので見えます。
JPモードは仮想テキストVRAM領域(B8000h以外)を表示するので見えないのです。
でも、MS-DOS Player はJPモードでも表示されますね。
多分仮想テキストVRAM領域と B8000h 両方に書き込んでいるのでしょう。
DOSVAXJ3もそうなっていると良い気がするけど難しいのかなぁ。
DOS/Vの仕様なのかしら。

>  そして、JP モードにすると、出ない/見えない、、、???
>  どっか「普通」じゃない場所に印字だけしている感じ、、、? BIOSコールの
> せい?

TurboBASICの場合、DOSVAXJ3で見えるのは、SCREEN12 を指定した時ですね。
なのでDOSエミュによってSCREENモードを切り替える必要があるのです。
DOSコールで文字を書き込むとかすれば見えるようになるはず。
VTDOSは起動時の初期化で未実装のファンクションやI/Oでエラーになります。

    - No.12639 -   [コメント元:12635]    [リストへもどる]
soft

12638Re^3: メリークリスマス! 2025 投稿者:konno   2025/12/27(土) 01:07
  12634 番 文太 さんへのコメント

>  おお、これはすごい。実は昨年(今年)の新年会のときに、そいつのマニュアル
> と、サンプルコード「ハノイの塔」を持って行って、としきさんに見てもらったの
> です。"recursive"な処理がこんなに簡単に書けるの! ベイシックって! という
> ような会話をしました。

あう、そういえば新年会の時になにやらプリントしたものでとしきさんとやりとり
していましたね。私は良く聞こえないので話には全くついていけてませんでした。
TBCはアセンブラと親和性を意識しているようで、書式は独特ですが、コードが短く
出来るのでしょうね。速度はTurboBASICに比べると遅いようですが。

>  岡田先生は、めでたく愛媛大学を退官なさったようですが、モバ用のmgdisp2.sys
> (たしか.sys)で、今でもお世話になっています。

製品版のBASICコンバイラ TKW-86BCはもう消えてしまったようですね。
もし本格的に使おうと思っても出来ないのは残念ではありますが、購入してまで使うか
と言われたらわかりません。

    - No.12638 -   [コメント元:12634]    [リストへもどる]
soft

12637グラフィック画面・テキスト画面 投稿者:文太   2025/12/27(土) 00:56
  12636 番 文太 さんへのコメント

 なんて違いですか。INT 10h(まだ調べてないけど)って、そういう意味?
 といった妄想が浮かびました。
 今、QBの \example ディレクトリのいろんな奴らを試してます。
 インタプリタでも、十分速いんじゃない、という感想です。ま、XP用の
CPU上で QB.exe を走らせてますからね。
 BASICをついに始めた、という感じでしょうか。1年間、何をしていたので
しょうか? 『ベーマガ』とかコレクションしてる場合じゃないでしょう、
大半、動かせないのだから。
 フィルター系は、いまのところ、面倒そうだなぁ、という印象です。
entab.basとか。
 でも、Vzのたとえば検索窓の枠とかって、グラフィック画面を使ってない
のかなぁ? まだまだ基礎勉強が足りません。
 独り言でした。


    - No.12637 -   [コメント元:12636]    [リストへもどる]
soft

12636QuickBasic 4.5 (Compile) 投稿者:文太   2025/12/27(土) 00:02
  12635 番 文太 さんへのコメント    コメント数 1

 正確な比較はできません。おかしなことに、このDOS機に
QuickBasic 4.5 がインストールされていないことに気づき、勢いで同じことを
やっただけです。FD2枚だから楽だった。QBXは8枚だったもんね。
やっぱり面倒な解凍とインストール作業(by setup.exe)がありましたが。

 IDEだと、「RUN」タブに、ふつう「Make EXE」みたいなのがあるもの
なんですね。コマンドラインでオプションをマニュアル読んで、、、なんて
面倒なことをするのかと思っていた。因みに、ちょっと高度なことをすると
(Undocumented DOSに載ってる例)、ちゃんとコマンドライン・オプションを
駆使してやるみたいだけど。

C:\QB45>qb ;IDE起動&RUN・Make EXE
BC C:\QB45\HELLO.BAS/O/T/C:512;
Microsoft (R) QuickBASIC Compiler Version 4.50
(C) Copyright Microsoft Corporation 1982-1988.
All rights reserved.
Simultaneously published in the U.S. and Canada.

43757 Bytes Available
43659 Bytes Free

0 Warning Error(s)
0 Severe Error(s)
LINK @~QBLNK.TMP

Microsoft (R) Overlay Linker Version 3.69
Copyright (C) Microsoft Corp 1983-1988. All rights reserved.

Object Modules [.OBJ]: /EX HELLO
Run File [HELLO.EXE]: C:\QB45\HELLO.EXE
List File [NUL.MAP]:
Libraries [.LIB]: C:\QB45\BCOM45.LIB

C:\QB45>hello
Hello, world on QB45 ;同じ、変な出力

C:\QB45>dir hello.exe

HELLO EXE 12,308 12-26-25 11:42p
;コンパイル時に、debug code [NO] みたいなのを指示したので、サイズを
;比較することはできません。

 とりあえず、3つ、BASIC IDE/Compiler が導入されました。
 してたはずなんだけどなぁ、、、。3つあってもしょうがないけどね。

    - No.12636 -   [コメント元:12635]    [リストへもどる]
pre

12635Turbo Basic (1st compile) & QBX 投稿者:文太   2025/12/26(金) 22:35
  12634 番 文太 さんへのコメント    コメント数 2

konnoさん

 QBXを諦めたのではまったくありませんが、Turbo Basicどうよ? というので
インストールしてやってみました。ディレクトリ(C:\TB)を作ってただコピー
するだけ。そして上のタブからコンパイル。簡単。コンパイラがtb.exeに入ってる
なんて思わなかったから、最初は、えっえっ? って感じでしたけど。
 マニュアル、分厚いな、こいつも、、、。

C:\TB>dir noname.exe ;名前をつけ忘れて、こうなりました
Volume in drive C is MS-DOS_6
Directory of C:\TB

NONAME EXE 34,736 12-26-25 9:04p ;34 KB, BIG!!!

C:\TB>noname
Hello, world ;どこに出てるの? 
;VZ's console fileにない、
;noname >k.txt とやっても
;noname 2> k.txt とやっても出ない???
;PRINT文っていったい何を、、、?

C:\TB>dir tb.exe
TB EXE 212,844 87-11-04 1:10 ; version 1.1です
; 2 とかきっと存在しない、、、

 てな具合でした。意味ないけど、Hello, world をプリントする .comファイル
を作ってファイルサイズを自慢したくなる、、、。意味ないからしないけど。

 でも、質問です、noname.exeは、どこに"Hello, world"を出している
のでしょう? 「標準エラー」でも「標準出力」でもない場所?
 字が薄いです。
 そして、JP モードにすると、出ない/見えない、、、???
 どっか「普通」じゃない場所に印字だけしている感じ、、、? BIOSコールの
せい?

--------------------------------------------------------------------

Now to QBX (BC 7.1)

以下を autoexec.bat に加える(普通の環境なら)

set PATH=c:\bc7\bin;c:\bc7\binb;%PATH%
set LIB=c:\bc7\lib;%LIB%
set INCLUDE=c:\bc7\src;%INCLUDE%
set HELPFILES=c:\bc7\help;%HELPFILES%


C:\BC7\BIN>qbx ;統合環境ON RUNタブ内にMake EXEがある
BC C:\BC7\BIN\HELLO.BAS/O/Ot/Lr/FPi/T/C:512; このオプションの山は何?
Microsoft (R) BASIC Compiler Version 7.10
Copyright (C) Microsoft Corporation 1982-1990. All rights reserved.

45810 Bytes Available
45713 Bytes Free

0 Warning Error(s)
0 Severe Error(s)
LINK @~QBLNK.TMP

Microsoft (R) Segmented-Executable Linker Version 5.10
Copyright (C) Microsoft Corp 1984-1990. All rights reserved.

Object Modules [.OBJ]: /EX HELLO
Run File [HELLO.exe]: C:\BC7\BIN\HELLO.EXE
List File [NUL.MAP]:
Libraries [.LIB]: c:\bc7\lib\BCL71ENR.LIB; ;前回は、これが
;見つからなかったのでしょう
C:\BC7\BIN>hello
Hello, world on QBX ;ディスプ上は出たけど、同じ

C:\BC7\BIN>dir hello.exe
HELLO EXE 9,748 25-12-26 22:10 ;Borlandは負けた。
;Tokiwa(岡田先生)には
;MSは負けました

 統合環境の窓用の特殊な表示方式なのかなぁ、、、?
 あれら分厚いマニュアルのどっかには、普通にコンソール出力するやり方が
書いてあるのでしょう、、、。読む気しないなぁ、、、。
 たぶん、BASIC の PRINT文って、けっこう特殊なのかも、、、?

    - No.12635 -   [コメント元:12634]    [リストへもどる]
pre

12634Re^2: メリークリスマス! 2025 投稿者:文太   2025/12/26(金) 01:00
  12633 番 konno さんへのコメント    コメント数 2

konnoさん

>>  Microsoft BASIC 7.1 (Compiler 統合環境、もちろん英語環境のみ)の構築。"
>MSBASICにBCXという統合環境があるのを初めて知りました。

 それは、よかった、それなりの会話があったことに意味があったのですね。
 QBasic, QuickBasic, QuickBasic Extended (QBX) など、よく分からないん
ですよね。真剣さが、あきらかに足りないのですが。

>で、やってみましたが、恐らくLIBの不足などでEXEが出来ませんでした。
 もう一回トライしてみるべきなのですが、僕も同じだと思っています。
 インストーラがやたら面倒で、環境変数(LIBの場所)等をきっちり
見なかったのが敗因でしょう(ここで2DD=720KB・FDが必要となり
、、、。たぶん、2HDでも、720KBにフォーマットできる、、、。
「INSERT DISK 3」みたいなのが、番号違いになっちゃった。インストールは
ちゃんとできたはずなんだけど−−根性なくて、今日は続きを試してません)

 でも、QBXでなくて、QuickBasicな環境でも、BC.EXE(Basic Compiler)が
あるものなんですね。研究します。

>QBASIC4.5のQBならできます。
 了解、ありがとうございます。

>コンパイルはUSモード必須なので DOSVAXJ3 がお手軽です。
 そっちのエミュならできるのですね。ま、いつの日にか。

>それより TBC 凄いです!
 おお、これはすごい。実は昨年(今年)の新年会のときに、そいつのマニュアル
と、サンプルコード「ハノイの塔」を持って行って、としきさんに見てもらったの
です。"recursive"な処理がこんなに簡単に書けるの! ベイシックって! という
ような会話をしました。

http://home.e-catv.ne.jp/okadaf/personal.html
 岡田先生は、めでたく愛媛大学を退官なさったようですが、モバ用のmgdisp2.sys
(たしか.sys)で、今でもお世話になっています。
 デバイス・ドライバを書くのがそんなにすごいこととは、最近しりました。

QBASIC:
12,294 hello-qb.exe
TBC:
444 hello-tk.exe

 わお! じつはさっき、

;**********************************************************************
; ASM Source Created Using BASM 6.5(c) 1998 by Kevin Diggins
;**********************************************************************
; File Name: HELLO.ASM
; Creation Date: 12-22-2025
; Creation Time: 13:10:49
;**********************************************************************

というのを再びみたのですが、444 bytes になっておかしくないコードだよね、
と思います。
 たぶん、BASICで動くことが確認できたら、asmコードにして、それを
アセンブルするのがVzer向きなんでしょうね。どんな罠や落とし穴があるのか
分かりませんが。

 VTDOSは、BIOSコールがダメなんですか?
 自分でやってエラーログをみれば済むことなんですが、色々と敷居が高いのです。
 疲れっぽい、というのが大きいですねぇ。
 今日は、1時間の散歩が苦行でした。風邪をまたひいたのか?

    - No.12634 -   [コメント元:12633]    [リストへもどる]
pre

12633Re: メリークリスマス! 2025 投稿者:konno   2025/12/25(木) 23:13
  12629 番 文太 さんへのコメント    コメント数 1

>  Microsoft BASIC 7.1 (Compiler 統合環境、もちろん英語環境のみ)の構築。
>  で、まだ、
> >bc hello.bas ;basic compiler
> >link hello.obj
>  に成功していない。hello.exeができないじゃないの、、、なんてやってました。

MSBASICにBCXという統合環境があるのを初めて知りました。
で、やってみましたが、恐らくLIBの不足などでEXEが出来ませんでした。
QBASIC4.5のQBならできます。オセロまではできますがそれ以上は難しい。
コンパイルはUSモード必須なので DOSVAXJ3 がお手軽です。

それより TBC 凄いです!

print "Hello, world"
end

これを QBASIC でコンパイルすると
2025/12/25 22:47 12,294 hello-qb.exe
TBC でコンパイルすると
2025/12/25 22:42 444 hello-tk.exe
実行ファイルサイズが 444bytes ですよ! とてもBASICとは思えない。

#txt:hello-qb.lzh 9273bytes QBASIC
#txt:hello-tk.lzh 444bytes TBC


メリークリスマス!

    - No.12633 -   [コメント元:12629]    [リストへもどる]
pre

12632TBC(TOKIWA BASIC Compiler)で 1÷9801 投稿者:konno   2025/12/25(木) 21:47
  12615 番 konno さんへのコメント

vectorのTBC (TOKIWA BASIC Compiler) を試してみました。
https://www.vector.co.jp/soft/dos/prog/se031410.html

癖が強すぎて過去何度か挫折したのですが、今回何とか動かすことが出来ました。

> 本コンパイラはフリーウェアとして,製品版の TKW-86BC から各種のラ
> イブラリ,インラインアセンブル機能,オブジェクト(.obj)のリンク機能などを
> 外したものであるが,初心者の練習用として十分に実用になると考えられる。

とあって、多少機能不足に思いましたが、ソース中にマシン語を埋め込めるので
VZマクロのように無限の可能性を感じさせます。

今回は、1÷9801 のプログラムです。
起動すると、100 - 1000 の入力になります。
空Enter で102、範囲外の数字は上限、下限に変換されて画面出力されます。
同時にカレントにファイル「9801.dat」が作成されます。
各種DOS,DOSエミュでコンパイルも実行も出来ますので是非試してみてください。

#txt:9801tk.lzh 3782bytes


2025/12/25 21:24 1,018 9801tk.bas
2025/12/25 21:24 4,044 9801TK.EXE
特筆すべきは実行ファイルのサイズの小ささですね。ビックリです。

    - No.12632 -   [コメント元:12615]    [リストへもどる]
pre

12631事故レス 投稿者:文太   2025/12/25(木) 18:45
  12629 番 文太 さんへのコメント

> いえ、コンパイルしたらhello.basだって、vtdos環境で動くんですよねぇ
 これは、会話の経緯からしてやばい発言でした。
 言い訳すると、ま、頭の中がとっちらかってしまっていて、そんなおバカな
発言を、、、。
 無視が正しいです。
 まったく実験・実績がないのです。言い訳になってないぞ!


    - No.12631 -   [コメント元:12629]    [リストへもどる]
soft

12630Re^2: Tim Paterson 投稿者:文太   2025/12/25(木) 00:46
  12627 番 konno さんへのコメント

konnoさん

Tim Paterson:
生誕 1956年6月1日(69歳)
 よかった、まだ生きてる。じつは、Undocumented DOS, 2nd edition からは
抜けてるのです。

Undocumented DOS (1st Edition)
by Schulman, Michels, Kyle, Paterson, Maxey, Brown

Undocumented DOS (2nd Edition)
by Schulman, Brown, Maxey, Michels, Kyle

 どうしたんだろう? と心配(?)していたところでした。

>ビルゲイツばかり目立ってうまく利用された感じもしますが。
 僕の感触は、ゲイツもノートンも時代に載ってうまく行き過ぎた人たちだと
思うので、ティムさんに関しては、プログラマーとして好きなようにやれて
よかったね、とだけ思う感じですね。

>実は今試しているBASICが、ソース中にマシン語を埋め込めるのですよ。
>なので足りない機能も自分で作れて、まるでVZのように無限の可能性を感じます。
 おおお!!! さすがkonnoさん!
 いいじゃないですか。
 では、そのうち、Undocumented DOS に書かれていたBASICインライン
アセンブラ・インターフェイスのところを、再確認してみますね。
 僕が使うのは、遠い彼方のことですが。

>一歩間違えるとDOSエミュごと消滅する怖さもありますが。
 そんなの窓が飛ぶだけでしょう。
 DOS、Win9x では、リブートですよ、忘れました?

 これ以外の理由でDOS機をリブートさせまくってます。


    - No.12630 -   [コメント元:12627]    [リストへもどる]
soft

12629メリークリスマス! 2025 投稿者:文太   2025/12/25(木) 00:01
  12628 番 konno さんへのコメント    コメント数 2

konnoさん

 お、クリスマス・イブがもうすぐ終わる、、、。
 一人遊びをしてました。

>全部で動く応用の利くBASICコンパイラが欲しいのです。
 うーん、よく分からないのですが、エミュレータ次第なんですよね、きっと。
 で、僕の一人遊びは、QBX 環境をDOS機に作ること。
 Microsoft BASIC 7.1 (Compiler 統合環境、もちろん英語環境のみ)の構築。

 いえ、コンパイルしたらhello.basだって、vtdos環境で動くんですよねぇ
ということを確認したくて、FD8枚のインストールをDOS機で行いました。
 あはははは、720KBのFDを用意すると変なことに巻き込まれません、、、。

 で、まだ、
>bc hello.bas ;basic compiler
>link hello.obj
 に成功していない。hello.exeができないじゃないの、、、なんてやってました。

 とりあえず、今日は撤退。720KBのFD8枚って何よ!!!

 これは無理難題なのでしょうが、素直にDOS機を手に入れたほうが
konnoさんは幸せなような気がする。ま、敷居の低い行為とは現在言えませんが、
根性があれば、1万円以内でできますよ。あるいは、XP機を発掘するとか。
 ntvdm、悪くないと思う。

 僕は、自作派(!)なので、ノート機はだめぇ、むき出しの基板(MB)が
好き、FDDが好き、な人なので、FDケーブルスロットのあるXP用MBが
いいと思います。今や通な人たちにとっては1万円以上のMBですが、うまく
すると1000円くらいで買えます。HOで、550円のデスクトップ機を、
先日、手に入れました。おほほ、これ、DOS機になれるじゃん、と(すいません)
ほくそ笑みました。でも、これ、数十時間(数カ月という言い方もある)かかって
ますからね。HOでも、もうこんなの滅多にありません。

 メリークリスマス!


    - No.12629 -   [コメント元:12628]    [リストへもどる]
pre

12628Re^3: VTDOS, Intrspy, Basm 投稿者:konno   2025/12/24(水) 02:27
  12626 番 文太 さんへのコメント    コメント数 1

>  新年会、毎年やるほどのことでもないですかね。ネットなら、いつでも会話
> できるわけですし。

そうですね。皆さんがやりたいと盛り上がってきたときがやり時かもですね。

>  膝。どうかどうか大切になさってください。うーん、思うに足/脚からきます。
> 歩けなくなります。すると、全部がやばい方向を向く。

これは本当にそう思います。なのでしばらくは養生してリハビリを考えます。

>  僕は、コロナその他で事実上1カ月ほぼ外出しませんでした。歩くのも必要
> 最低限だった。そしたら、1カ月後、歩くのがほんとに大変になりました。
>  このところ、寒い中、せっせせっせと歩いてます。まだ、リハビリ中です。

文太さんも経験したからだったのですね。私も心がけます。

>  僕は興味ないんですけど、他のエミュレータでBASICは動かないんですか?
>  3種類もあると(こういうのちょっと失礼だけど)、一長一短なんでしょうね。

私はアセンブラでDOSツールを作ったりもしているのでBASICで出来たらいいなと思って。
全部で動く応用の利くBASICコンパイラが欲しいのです。

    - No.12628 -   [コメント元:12626]    [リストへもどる]
soft

12627Re: Tim Paterson 投稿者:konno   2025/12/24(水) 02:26
  12624 番 文太 さんへのコメント    コメント数 1

>  題のTim Patersonさんは、MS-DOS 1.0 を書いた人です。ついでに
> debug.com, edlin.com も書いた。debug.comはすごいですよ。

全然知りませんでした。Wikipediaを読むと凄い人ですね。
ビルゲイツばかり目立ってうまく利用された感じもしますが。

>  大きなツールを作るとなったら、アセンブラだけで書くには、ちょっと、、、。
>  というわけで、Undocumented DOS には、インライン・アセンブラの書き方
> みたいなのが、書籍の始めのほうにあります。
>  そこでは、Cではこう(いろんなのがある!)、パスカルではこう、
> BASICではこう、という具合に、ちゃんとBASICが現役なところを
> 見せています。

実は今試しているBASICが、ソース中にマシン語を埋め込めるのですよ。
なので足りない機能も自分で作れて、まるでVZのように無限の可能性を感じます。
一歩間違えるとDOSエミュごと消滅する怖さもありますが。

    - No.12627 -   [コメント元:12624]    [リストへもどる]
soft

12626Re^2: VTDOS, Intrspy, Basm 投稿者:文太   2025/12/23(火) 01:08
  12625 番 konno さんへのコメント    コメント数 2

konnoさん

 早々にレスをありがとうございました。

>文太さん、お久です。
>みなさんお疲れなんし・・・私も膝が痛いので年末は外出も控えて休みます。
>来年になって世の中が良くなれば・・・それでもちゅごくこわいしなぁ。

 ここだけ、サクっと返信したいな、と。
 新年会、毎年やるほどのことでもないですかね。ネットなら、いつでも会話
できるわけですし。
 膝。どうかどうか大切になさってください。うーん、思うに足/脚からきます。
歩けなくなります。すると、全部がやばい方向を向く。
 でも、その状態で無理して歩くのもきっといけない。
 本当は病院に行った方がいいと思うのですが。
 足/脚から全部に行った人たちを何人も見てます。そうか、人間は歩かないと
いけない動物なんだ、と。
 僕は、コロナその他で事実上1カ月ほぼ外出しませんでした。歩くのも必要
最低限だった。そしたら、1カ月後、歩くのがほんとに大変になりました。
 このところ、寒い中、せっせせっせと歩いてます。まだ、リハビリ中です。

 ゆっくりゆっくり治していってくださいね。
 努力しないと健康が維持できない年齢に我々はなっているのだと思います。

>なるほど。便利なツールがあるもんですね。NET検索すると

 cl.exe たぶん、MSのCコンパイラ名。
 c1.exe
 c2.exe
 c3.exe pass3 までのコンパイラ実体。

 Cはコードを眺めるだけで何もまだやってませんので、いつからMSが
Cコンパイラをcl.exeにしたのか分かりませんが、そんな名前でした。

 intrspy.exe (+cmdspy.exe == スクリプトのコンパイラ)は、David Maxey
(Undocumented DOS 共著者)がこの本のために、開発したツールなので、
AIが知ってるとは驚き。
 でも、この本6人の共著者がいるのですが(一人は、ブラウンリストの
Ralf Brown)、全員、このツールにはのけぞったと思う。いやあ、本の
コンセプトが固まったね、となったみたいな感じがしました。あらゆる章で
使われてます。

 konnoさんがそこまで興味をお持ちだとは思いませんが、付属FDは
以下から落とせます。見てないけど、たぶん、intrspy.exeかソースの
intrspy.pas が入っていると思う。

https://www.pcjs.org/software/pcx86/sw/books/undocumented_dos/
(落とすのにコツが要ります)

>DOSマシン復活おめでとう! うちもPC9821復活して嬉しいです。

 ありがとうございます。ほんと、やっとです。腐海の整理はぜんぜん
進んでない、ということです。
 いいなぁ、PC9821。
 さっき、まりもさんのサイトを覗きました。ほんと、すごい人だなぁ。

>もうわかっているようですが、VTDOSはデバッグモードで動いているようなものです。
 そうなんですね。でも、エラーログ抑止オプションは欲しかったですね。
 で、その後ふと思ったのですが、あれらの基本BIOSコールぐらいVzだって
使ってないですかね。何かを1つを、hello.asmで見落としたかな(乱暴な処理
でした)とか思いました。
 でも、ま、無理なんだろうな、とは僕も思います。
 VTDOSで、>us 効かなかったし。
 僕は興味ないんですけど、他のエミュレータでBASICは動かないんですか?
 3種類もあると(こういうのちょっと失礼だけど)、一長一短なんでしょうね。


    - No.12626 -   [コメント元:12625]    [リストへもどる]
soft

12625Re: VTDOS, Intrspy, Basm 投稿者:konno   2025/12/23(火) 00:10
  12621 番 文太 さんへのコメント    コメント数 1

> こんにちは。お久です。
> 新年会はやらないかなぁ、と思っている今日この頃ですが。

文太さん、お久です。
みなさんお疲れなんし・・・私も膝が痛いので年末は外出も控えて休みます。
来年になって世の中が良くなれば・・・それでもちゅごくこわいしなぁ。

> >cl hello.c
>  という具合に、MSCでコンパイルするとき、どれぐらいファンクション
> コールをしているのか、を調べるデバッガースクリプトの出力です。

なるほど。便利なツールがあるもんですね。NET検索すると
> cl.exe は、Microsoft C++ (MSVC) C および C++ コンパイラとリンカーを制御するツールです。
ですか。初めて知りました。文太さんが知っているのがちょっと悔しいような。(^^;

>  ここが、intrspy みたい、と思った次第です。

このワードをぐぐっても出てこなくて、AIモードでは
> ソフトウェア名: 「INTRSPY」(Interrupt Spyの略と思われます)という名前のユーティリティプログラムが存在しました。
> 用途: このプログラムは、MS-DOSや初期のWindows環境において、プログラムが使用する「割り込み」(interrupts)や非公開(undocumented)のDOS機能を追跡・監視するために設計されたデバッグツールです。

なるほど。いまやこんなワードも死語の世界なんですね。(^^;

>  何をやってんだか、ですが、そこそこ、DOSおよびプログラミングの
> 勉強は続けてます、という報告でした。DOS機、復活したよ。NEC 98、
> まだだよ。

DOSマシン復活おめでとう! うちもPC9821復活して嬉しいです。

>  もしかして、そこまで名指しすれば、万が一には、10#さんが実装
> してくれるかもしれない。
>  もう無理だろうなぁ、という気もいたしますが。

もうわかっているようですが、VTDOSはデバッグモードで動いているようなものです。
エラーメッセージで原因を特定できるようになっています。
自身のソース開発系ツールとして作製したのだから当然なのかもしれませんね。
もっと早くこの辺の提案が出来ていれば良かったのですが・・・

    - No.12625 -   [コメント元:12621]    [リストへもどる]
soft

12624Tim Paterson 投稿者:文太   2025/12/22(月) 14:06
  12623 番 文太 さんへのコメント    コメント数 1


 まだ(ムダに)書くことがあるの?
 えと、結論は、BASIC を舐めてはいけない、ということ。

 題のTim Patersonさんは、MS-DOS 1.0 を書いた人です。ついでに
debug.com, edlin.com も書いた。debug.comはすごいですよ。
 で、いろいろ経緯があって、Timさんは、MSにもその後お勤めになられた。
そこで、MS-BASIC 4/4.5を書くのにも携わった。ご存じのとおり、すでに
歴史のあるツールなので、基本仕様は変えられないけど、でも、QuickBasic
になったら、やっぱ、ちゃんと構造化もできるし、やれることはいっぱい
あると思う、、、。僕は、まだぜんぜんやってないけど。

 なお、彼はUndocumented DOS の共著者の一人でもあります。debuggerの
章の担当。

 大きなツールを作るとなったら、アセンブラだけで書くには、ちょっと、、、。
 というわけで、Undocumented DOS には、インライン・アセンブラの書き方
みたいなのが、書籍の始めのほうにあります。
 そこでは、Cではこう(いろんなのがある!)、パスカルではこう、
BASICではこう、という具合に、ちゃんとBASICが現役なところを
見せています。

 よく読めてないけど、つくづく、よく書けてる本だなぁ、と思ってます。

 BASICがVTDOSで動くといいですね。純DOS機には問題ないのですが。

>US
 で、ターボデバッガーもちゃんと(ビジュアルに!)動きます。

 BASICが日本で急速に衰退したのは、NEC鎖国時代の影響なんだなぁ、と
思っています。
 たしかWindows98ぐらいまで、QuickBasicってOSに付属してましたよね
(MS-DOS 6.2V には入っている)。でも、日本語が通じないし、あんな奥まった
ところでひっそりされたら、やっぱりみんな振り向かないよね。


    - No.12624 -   [コメント元:12623]    [リストへもどる]
soft

12623徒労 投稿者:文太   2025/12/22(月) 13:39
  12622 番 文太 さんへのコメント    コメント数 1

>このあたりでしょうか?
>>vtd_err.logに大量のエラーメッセージ

 それは表示系のBIOSコールだよね、ということはすぐ分かった。
 が、同じ内容が vtd_err.log に載っていないわけがない=10#さんは
20年も前からそれは知っている、と気づくのには30分かかった。
 DOS/V だといろいろあるのかなぁ、と空想するのみです。


    - No.12623 -   [コメント元:12622]    [リストへもどる]
soft

12622hello.asm 投稿者:文太   2025/12/22(月) 13:20
  12621 番 文太 さんへのコメント    コメント数 1


--- hello.bas ---
PRINT "Hello, world"
-----------------

>basm hello.bas >hello.asm

--- ? hello.asm ---
GetCursor Proc Near
Mov AH,3
Int 10h ;

SetCursor Proc Near
Mov AH,2
Int 10h ;

DoCrLf Proc Near
Mov AH,9
Int 21h

PrintStr Proc Near
Mov AH,0FH
Int 10H ;
-------------------

このあたりでしょうか?


    - No.12622 -   [コメント元:12621]    [リストへもどる]
pre

12621VTDOS, Intrspy, Basm 投稿者:文太   2025/12/22(月) 12:54
  12620 番 konno さんへのコメント    コメント数 2

こんにちは。お久です。
新年会はやらないかなぁ、と思っている今日この頃ですが。

さて、以下のようなものが、話題と重なりました。

------------------------------------------
Undocumented DOS, 1st, p.457

FIND cl.???
FIND C:\QEMM\cl.??? [FAIL 0012]
FIND C:\TURB0\cl.??? [FAIL 0012]
FIND C:\MSC\BINB\cl.??? [FAIL 0012]
FIND C:\BIN\cl.??? [FAIL 0012]
FIND C:\EPS\cl.??? [FAIL 0012]
FIND C:\MSC\BIN\cl.???
EXEC C:\HSC\BIN\CL.EXE hello.c
OPEN c1.exe [FAIL 0002]
EXEC C:\MSC\BIN\c1.exe
OPEN c:\tmp\005116sy [FAIL 0002]
CREAT c:\tmp\005116sy
------------------------------------------

 ちゃんと説明すれば、そこそこ面白い話だとは思うのですが、、、。
 結論は、やっぱり10#の技術力は、言うまでもなく、すごいなぁ、と
いうことです。konnoさんが、ちょっと困っている、という文脈までは
把握できてると思うのですが、、、。


 少しだけ上を説明します。

>cl hello.c
 という具合に、MSCでコンパイルするとき、どれぐらいファンクション
コールをしているのか、を調べるデバッガースクリプトの出力です。

 ここで実行ファイルがコンパイラであることに大して意味はありません。
どんなツールでも、コマンドラインからcommand.comを介して実行されれば
ふつうファンクションコールする。これを全部リストアップしてみい、
というデバッガー(intrspy.exe == interrupt spy という)の実行模様。
 (undocumented function を探索するツールです)

 FINDは、cl.exeを探すFindFirst。EXECは実行せよのexecFunction。
 cl.exeを見つけるのに(パスの設定に気をつけようね、が教訓)これだけ
やってるんだよ、ということ。これは単純な例で、あまり最適化しない
クィックモードというのがMSCにはあるらしく、それと比較とかすると
コンパイルって大変ね、と思う。ちゃんとやると、pass3ぐらいまである
みたいだった。

 「VTDOSは 未実装のファンクションをエラーログに出力する仕様に
なっています。」
 ここが、intrspy みたい、と思った次第です。

 何をやってんだか、ですが、そこそこ、DOSおよびプログラミングの
勉強は続けてます、という報告でした。DOS機、復活したよ。NEC 98、
まだだよ。

追伸:
>PRINT文なんて基本的なもので大量にエラーが出るなんて。
 basm.exeを使うと、PRINT文がじつはどんなコードなのか分かるのじゃないか
と思う。そこで「未実装のファンクション」の実態が解明できる。
 もしかして、そこまで名指しすれば、万が一には、10#さんが実装
してくれるかもしれない。
 もう無理だろうなぁ、という気もいたしますが。

    - No.12621 -   [コメント元:12620]    [リストへもどる]
soft

12620Re^2: 1÷9801の J31BASICプログラム 投稿者:konno   2025/12/20(土) 17:00
  12619 番 としき さんへのコメント    コメント数 1

> > PRINT文を使うとVTDOSの vtd_err.logに大量のエラーメッセージが発生するので
> いや、それ、なんか変でしょう。
> PRINT文なんて基本的なもので大量にエラーが出るなんて。

#11226 からのツリーでJ31BASICコンパイラについて色々やってみた中で
#11251 で気が付いたのですが、

VTDOSは 未実装のファンクションをエラーログに出力する仕様になっています。
他のエミュはこのような機能は無く、動作がおかしい時はデバッグモードを使うくらいです。

> 特に、Int10h AX=8500 〜 AX=8582 は毎秒30くらい出続けていました。
> J3100テクニカルブックを発掘したので見ると、カーソル位置のアトリビュート読み込みのよう。
> int16h 機能 F6 は、キーバッファのチェックのようです。
> Int6F は、ATOK5制御割り込みのようです。

J31コンパイラはPRINT文で Int10h AX=8500 〜 AX=8582 を使っているのでこうなるのです。
今回 INT21 AH09h を使うことで Int10h AX=8500 と Int6F を各1回だけになりました。
多分起動時の初期化で使っていると思われます。

前回もそうですが、今回汎用で使えるDOS用BASICコンパイラが無いか探してみました。
実行ファイルのみで動作するもの、機種依存しないものは意外と少なくて前回は諦めましたが
今回は、書式など独自仕様ではあるものの、DOSツールとして使えそうなものを見つけました。
というか、前回は移植を挫折したものを、なんとか移植に成功したのです。
続きは別記事で。

> 字下げもされていないプログラムを書く人は、今後、AIに取って代わられます。
> 今、ウィルスだのセキュリティだのがうるさくなってしまい、どこかの誰かが書いた
> プログラムというやつはソースまでチェックされる時代になってしまいましたから。

AIもうまく使いこなさないと嘘に騙されそうでまだまだ信頼できませんね。

> 当然、ソースが出てこなくても安心できるほど作成者にブランド力があれば別。
> このブランド力というのには、何かあったときの法的・経済的衝撃に耐えられること、
> というのも含むわけで。

うちは多分耐えられないでしょうが、やれるうちは続けていきたいと思っています。

> 私もそろそろAIの軍門に下ることを考えるべきかと思っています。

としきさんがAI化したら凄いことになりそうでわくわく(何か違う?)

    - No.12620 -   [コメント元:12619]    [リストへもどる]
soft

12619Re: 1÷9801の J31BASICプログラム 投稿者:としき   2025/12/20(土) 13:01
参照先:http://toshiki.la.coocan.jp/
  12618 番 konno さんへのコメント    コメント数 1

> PRINT文を使うとVTDOSの vtd_err.logに大量のエラーメッセージが発生するので

いや、それ、なんか変でしょう。
PRINT文なんて基本的なもので大量にエラーが出るなんて。
何でそんなことに。

> ということで、J31BASICコンパイラ版の 1÷9801 プログラムです。

試してもいない私が言ってはいけないことかもしれませんが。
字下げもされていないプログラムを書く人は、今後、AIに取って代わられます。
今、ウィルスだのセキュリティだのがうるさくなってしまい、どこかの誰かが書いた
プログラムというやつはソースまでチェックされる時代になってしまいましたから。
当然、ソースが出てこなくても安心できるほど作成者にブランド力があれば別。
このブランド力というのには、何かあったときの法的・経済的衝撃に耐えられること、
というのも含むわけで。

私もそろそろAIの軍門に下ることを考えるべきかと思っています。

    - No.12619 -   [コメント元:12618]    [リストへもどる]
soft

126181÷9801の J31BASICプログラム 投稿者:konno   2025/12/18(木) 01:57
  12615 番 konno さんへのコメント    コメント数 1

TurboBASICのプログラムは動きましたが、VTDOSでは動きません。
それで、J31BASICコンパイラで新しいやり方を試してみました。
PRINT文を使うとVTDOSの vtd_err.logに大量のエラーメッセージが発生するので
それを抑制する j3vt.com という常駐プログラムも作りました。
でも常駐ツールが必要とか面倒くさいので、PRINT文を使わずに、INT21h AH09h で
文字出力してみたら、起動時初期化の1045bytesほどで抑えられました。
これが気になる方は j3vt.com を使えばゼロにできます。
#txt:j3vt.lzh

ということで、J31BASICコンパイラ版の 1÷9801 プログラムです。

#txt:9801j.lzh  ソース+実行ファイル

VTDOS、DOSVAXJ3、MS-DOS Playerなどの各種DOSエミュで動作します。
VTDOS、MS-DOS Playerは、テキストモードで INT21でPRINTしています。
DOSVAXJ3はグラフィックモードになるので、別処理にしています。
J31BASICコンパイラの可能性がまた一つ広がりました。

    - No.12618 -   [コメント元:12615]    [リストへもどる]
soft

12617Re^2: 1÷9801の答えを小数表記するBASICプログラム 投稿者:konno   2025/12/18(木) 01:53
  12616 番 としき さんへのコメント

> このままではN88-BASICでも動きませんね。

あ、PC98 で確認してないのがバレた。(^^;

> こんな風に書き換えてやる必要がある。
> なんとなくこれだけで動き出しそうな気はするけど、そう甘くはないかな。

NP2 でやってみましたが、結構色々エラーになるのであちこち修正しました。

10 REM 1/9801 の小数表記プログラム
20 CLS
30 A = 1
40 B = 9801
50 C$ = "0."
55 PRINT C$; ' OV2
60 FOR I = 1 TO 100*2+4 ' 102まで表示するため
70 A = A * 10
80 Q = INT(A / B)
90 R=INT((A/B-INT(A/B))*B+.5) ' MOD 代替式 オーバーフロー OV1
100 C$ = STR$(Q) ' オーバーフロー OV2
105 PRINT C$; ' OV2
110 A = R
120 IF A = 0 THEN *EXIT ' _ は使えない?
130 NEXT I
135 *EXIT ' _ は使えない?
140 PRINT ' C$ ' OV2
145 INPUT AA ' 表示が消えるので
150 END

コメントの行は修正した行です。

    - No.12617 -   [コメント元:12616]    [リストへもどる]
pre

12616Re: 1÷9801の答えを小数表記するBASICプログラム 投稿者:としき   2025/12/18(木) 00:46
参照先:http://toshiki.la.coocan.jp/
  12615 番 konno さんへのコメント    コメント数 1

ほほう、AIの出力でさえもきちんと字下げをするんだ。

> こんな解説なんですが、このままでは TurboBASICでは動かないので改造します。

このままではN88-BASICでも動きませんね。
どこが悪いというに、まずN88-BASICにはEXITというコマンドはないのですよ。
なので当然、EXIT FORのところでSyntax Errorが出る。
なので、例えば

> 120 IF A = 0 THEN EXIT FOR
> 130 NEXT I
> 140 PRINT C$

ここのところを

120 IF A = 0 THEN *EXIT_FOR
130 NEXT I
135 *EXIT_FOR
140 PRINT C$

こんな風に書き換えてやる必要がある。
なんとなくこれだけで動き出しそうな気はするけど、そう甘くはないかな。

    - No.12616 -   [コメント元:12615]    [リストへもどる]
pre

126151÷9801の答えを小数表記するBASICプログラム 投稿者:konno   2025/12/15(月) 23:41
   コメント数 3

Xで「 1÷9801の結果が非常に美しい。」という記事がありまして、その結果が

> 0.00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 99 00 01 02...

このように 98 を除いて綺麗に数字が並んでいるんですよね。これは凄い!

BASICプログラムでやってみたいと思い「 1÷9801 」で検索しても出ないので
AIモードで「 1÷9801の答えを小数表記するBASICプログラムを作成」としたら
それらしいプログラムが例示されたけど結果が違う!

「 1÷9801の答えを小数表記するBASICプログラム」で検索し直したら
キチンと計算結果が出るプログラムの例示が出ました。すげぇ!

-----------------------------------------------------------

AI による概要 1/9801(\(1\div 9801\))の小数表記は、非常に長い循環小数(0.00010203...9899の繰り返し)になります。標準的なBASIC言語の浮動小数点演算(通常は単精度で約7桁、倍精度で約15-16桁の精度)では、この無限に続く循環小数を正確に表示することはできません。?そのため、割り算の筆算の原理を利用して、小数点以下の各桁を個別に計算し、文字列として出力するアプローチが必要です。?

以下は、一般的なBASIC方言(N88-BASICなどを想定)で動作する、小数点以下100桁までを計算・表示するプログラム例です。
basic
10 REM 1/9801 の小数表記プログラム
20 CLS
30 A = 1
40 B = 9801
50 C$ = "0."
60 FOR I = 1 TO 100
70 A = A * 10
80 Q = INT(A / B)
90 R = A MOD B
100 C$ = C$ + STR$(Q)
110 A = R
120 IF A = 0 THEN EXIT FOR
130 NEXT I
140 PRINT C$
150 END
プログラムの解説
A = 1, B = 9801: 分子をA、分母をBとします。
FOR I = 1 TO 100: 小数点以下100桁を計算するためのループです。必要に応じて桁数を変更できます。
A = A * 10: 筆算の次の桁を求めるために、現在の余り(または初期値の1)を10倍します。
Q = INT(A / B): 10倍したAをBで割った商Qが、小数点以下のその桁の数値になります。
R = A MOD B: 剰余演算子MODを使用して余りRを計算します。この余りが次のループでの新しいAになります。
C$ = C$ + STR$(Q): 求めた桁の数値Qを文字列C$に連結していきます。
A = R: 次の計算のために余りをAに代入します。
IF A = 0 THEN EXIT FOR: 余りが0になった場合(割り切れた場合)は、ループを終了します。1/9801の場合は発生しませんが、一般的な分数計算のために含まれています。
PRINT C$: 完成した小数表記の文字列を出力します。
このプログラムは、標準の数値型ではなく、整数の剰余計算を利用することで、浮動小数点数の精度制限を回避しています。

-----------------------------------------------------------

こんな解説なんですが、このままでは TurboBASICでは動かないので改造します。

    - No.12615 -            [リストへもどる]
pre

12614hanabi.def v0.7 25-12-12 投稿者:konno   2025/12/12(金) 23:55
   コメント数 1

hanabi.def v0.7 25-12-12 更新しました。
VZマクロの部屋にあります。

・打ち上げ花火マクロ v0.7 です。 PC98 または DOSV で動きます。
・起動すると一時ファイルを開いてその中で打ち上げ花火が上がります。
・[ESC] 又は 'Q' で終了します。

・hh によるウエイトで CPU負荷低減しました。
・画面が 25行以下ならステータスラインとファンクション行を消して画面拡大します。
・ビープ音をパパパパ、のようにし、より花火らしく改善。
・&k, を4か所に使用して [ESC]キーの反応を改善しました。
・タイマー機能を追加し、qq0, で連続実行、 qq1, 〜 qq秒間実行します。
 ※ hh qq は、マクロの ★★ がある行で設定します。
・動作中に 0〜9 の数字入力で速度調整できるようにしました。
・kVZ+of3で安全なステータスバー消しに対応しました。

寒くなりましたが、年末の打ち上げ花火をお楽しみください。


#txt:hanabi7.def  v0.7 安全性改善版  25-12-12

    - No.12614 -            [リストへもどる]
soft

12613FreeCOM 0.85aの command.com 投稿者:konno   2025/12/08(月) 03:56


savaさんのページで、FreeCOM 0.85a の command.comがありました。
> FreeCOM 0.85a DBCS edition (PC-98, IBM PC, DOS/V and generic DOS) : freecom_dbcswip-20220117-bin.zip   [source.zip]
これが最新かと思ったら、もっと新しいのがありました。
https://github.com/lpproj/freecom_dbcs2/releases/tag/dbcswip-20241204-vztest

-----------------------------------------------------------
dbcswip-20241204-vztest
機能修正点:

VZエディタ常駐時にFreeCOM拡張入力モードを無効にする(IBMPC, NEC98)
VZエディタ常駐時はコマンドライン入力がVZ内部の処理で代替されるようになります。
コマンドライン上からVZのエディタやファイラーの機能を呼び出すことができるようになりますが、FreeCOM独自のTABキーによるファイル名補完が使えなくなります。

DOS汎用版はDOS標準の行入力ファンクションを使用しているため、機能修正は特にありません。
-----------------------------------------------------------

タイトルに vztest とあるように、VZ常駐で使えるようにしたテスト版のようです。
だいぶ遅くなりましたが、試してみました。

VTDOSは何かの制限で使えないようです。

MS-DOS Player は使えました。
VZが常駐していない時はFreeCOM拡張入力モードが有効なので私のように各種VZを
とっかえひっかえして色々テストをするような使い方だと便利です。
DOSVAXJ3も同じ機能を持っているのでありがたいですね。
savaさん、VZ常駐に対応していただきありがとうございます。

    - No.12613 -            [リストへもどる]
soft

12612NP2(PC-98)でCPU使用率を下げる方法 投稿者:konno   2025/12/07(日) 08:14
  12611 番 konno さんへのコメント

XでNP2の派生版、NP21/W が公開されているので試してみました。
PC-9800 Series Emulator Neko Project 21/W
https://simk98.github.io/np21w/index.html

CPU386以上で動き機能も豊富ですが、ホストPCのCPU使用率が高めです。
作者の SimKさんにCPU使用率を下げる方法を聞いてみたら、NP2IDLE.COM という
DOSツールを作成してくれました。ありがとうございます。
メインコンテンツの「なんかくれ」のページにあります。
-----------------------------------------------------------
Neko Project II ユーティリティディスク(np2tool.d88)
Neko Project II支援ツール群(本家でも使用できます)
NP2IDLE.COM
MS-DOSのアイドル時にHLT命令を呼んでホストCPU負荷を低減します。
-----------------------------------------------------------

ファイルサイズは 107bytes で常駐サイズは 272bytes でした。え?
っと思ってもう一度常駐やり直してみたら、448bytes なんじゃこれ?
ともかく CPU使用率は10%だったのが2%くらいに劇的に下がりました。
が、autoexec.bat に入れたら起動途中で止まることがあるようです。

と書いたら、savaさんが
> (じつはFreeDOS(98)のHDイメージの中にも…petidleという同様のCPU使用率軽減ツールが入ってます…ただ若干サイズがでかい…)

おお、と思って 「FreeDOS 方面」のページ
https://bauxite.sakura.ne.jp/software/dos/freedos.htm
FreeDOS(98)各種PC-98エミュレータ用ハードディスクイメージ(HDI形式): fd98_hd_250m_20220123.zip [mirror]
https://github.com/lpproj/fdkernel/releases/download/test-20220120-cherrypick/fd98_hd_250m_20220123.zip
ここに petidle.com がありました。常駐サイズは 336bytes ですが機能豊富です。
> hook vsync handler (int 0Ah) on PC-98
おそらくこれで止まることがないようにしていると思われます。
petidle 良いですね。CPU負荷がほぼ 0%まで下がりました。
kVZとの相性も良いようです。ありがとうございます。

この記事を書く時に、np2idleの vsync版が作られているのに気が付きました。
autoexec.batの起動途中で止まることが無くなりました。
しかも常駐サイズは 272bytes と小さいです。ありがとうございます。

    - No.12612 -   [コメント元:12611]    [リストへもどる]
pre

12611PC-9821など 投稿者:konno   2025/12/04(木) 01:41
   コメント数 1

最近XではPC-98などレトロPCやエミュレータの話題が盛り上がっています。
私もその関連で、以前としきさんからいただいたPC-9821を再発掘しました。
2004年ごろにBIOS-ROMデータを取り出したり、98版VZのアイドルテストなどで
弄って以来、足の踏み場も無い所で21年ぶりに電源を再投入しました。

FDDのベルトが駄目になっているかもと思いましたが、完動して感動しました。
「Win95を立ち上げています」というメッセージで、DOSモードで立ち上がります。
この状態ではLFNもアイドルも効かないようです。
FDDは1.44Mの読み書きができるようです。

設定を変えて、WIN の入力で Windowsを立ち上げると VZでLFNが使えます。
アイドルは、システムモニタは100%から動かないので、WINTOPで見ると
数%くらいは下がるようですが、微妙ですね。
これから色々実験をしてみたいと思います。
としきさんに感謝です。m(__)m

    - No.12611 -            [リストへもどる]
soft

12610MS-DOS Player 2025/11/26版 投稿者:konno   2025/11/28(金) 23:44


MS-DOS Player 2025/11/26版が更新されました。

-----------------------------------------------------------
struprの処理であかんエンバグをしていました。
修正しましたので、11/22版をお使いの方は差し替えをお願いいたします。


2025/11/22
NP21/WのI386コアについて、SGDT/SIDT命令を修正しました。
os2museumの記事によると、常にベースアドレスの32ビット全体を保存するようです。

コンソールのコードページを変更した場合、そのコードページでファイルパスを扱うようにしました。
ファイルアクセス周りを大幅に書き換えていますので、不具合を見つけられましたらお知らせください。
基本的に、コードページを変更しなければ、従来通りの動作になっているかと思います。
…正直ここまでせんでも良かったような気がします(苦笑)

ホスト環境が日本語版Windowsで、上画面の通りのファイルがあるものとします。
ここで、eeeeeeee.txtの短いファイル名が作られていないのが分かります。
(Best-Fit有効で変換したファイル名が短いファイル名として有効だとそうなるらしい?)
また、いろはにほへと.txtの短いファイル名が、いろは~.TXTと日本語交じりになっています。

アクティブなコードページがOEMコードページと同じ場合、従来通りANSI系ファイル関数を使用します。
FindFirstFileA/FindNextFileAは、NTFS上のUNICODEのファイル名をBest-Fit有効で変換するようで、
eeeeeeee.txtがeeeeeeee.txtとして認識されてしまいます。
短いファイル名もないので、このファイルにアクセスすることはできません。

アクティブなコードページを変換すると、そのコードページでファイルパスを扱います。
実際にファイルにアクセスする際は、UNICODE系ファイル関数を使用します。
ファイルパスはBest-Fit無効で変換しますので、eeeeeeee.txtはそのまま認識されており、
このファイル名でファイルのアクセスも可能です。
日本語のファイル名は、このコードページでは扱えないため、???と認識されています。
短いファイル名も日本語交じりのため、このコードページではアクセスすることはできません。

-----------------------------------------------------------

上記の eeeeeeee.txt は実際にはアクセント付きの文字のようです。
それが読めないのを修正したということのようです。
私もたまたま #10734の話題で作ったテストフォルダを見た時に「確定申告」が
「凱定申告」に、「楽天」が「凱天」と表示されてそのファイルやフォルダが
開けなかったので、漢字の一部が化けてしまう副作用に気が付いた次第です。
今は UNICODE系文字が主流なのでこの手の修正は大変なのですね。
作者様に感謝します。

    - No.12610 -            [リストへもどる]
soft

12609Re^7: VZKシリーズ ステータスバー消し正式版公開 投稿者:shadow   2025/11/12(水) 21:57
  12607 番 めざら さんへのコメント

> 自力で耕すのを連続数時間とかなら運動にもなるかもしれませんけど,
> 野良仕事って腰が痛いだけで全然運動にはなってないみたい。
感じ方は人それぞれと言うことで。
> いずれにせよ,お大事にしてください。
有難うございます。
> (わたしのBMIは26超えてるよ〜,これやばいの?!)
BMIが26でも内臓脂肪が基準内であれば問題ないでしょう。

    - No.12609 -   [コメント元:12607]    [リストへもどる]
soft

12608Re^3: VZKシリーズ ステータスバー消し正式版公開 投稿者:konno   2025/11/12(水) 21:49
  12603 番 konno さんへのコメント

> 確か 一部のキー配置が違うはずなのに、key.asm も keyibm.asm も k07t06 と同じ。
> うう、いつからか同じになってしまっていました。m(__)m

これ、#4551 の文太さんのテストマクロで見たら、このシリーズ全部同じでした。
つまり全部キーの拡張されていたのです。自分でそうしたのを忘れていたようです。

そうなると違いはロングファイラーだけということになりますね。
ということで、ソースは1本化して、ロングファイラーをオプション化検討します。
sシリーズは今回が最後の更新になると思います。

# 皆様の健康を守るためV爺党結成! 公約は BM(VZのフリー?)健全化! (^^;;
 あ、I(愛)が足りない! (゚゜)☆\(--#)バキッ

    - No.12608 -   [コメント元:12603]    [リストへもどる]
soft

12607Re^6: VZKシリーズ ステータスバー消し正式版公開 投稿者:めざら   2025/11/12(水) 16:12
参照先:https://mezala.la.coocan.jp/
  12606 番 shadow さんへのコメント    コメント数 1

> コストパフォーマンスを考えたら家庭菜園で農作業してる方が効率がいいです。

どうかなぁ……(笑)
自力で耕すのを連続数時間とかなら運動にもなるかもしれませんけど,
野良仕事って腰が痛いだけで全然運動にはなってないみたい。
ちなみに,自転車もあまり運動にならないですね。
ジムのサイクルマシンみたいに常時負荷をかける走り方は難しいので。
いずれにせよ,お大事にしてください。
(わたしのBMIは26超えてるよ〜,これやばいの?!)

    - No.12607 -   [コメント元:12606]    [リストへもどる]
soft

12606Re^5: VZKシリーズ ステータスバー消し正式版公開 投稿者:shadow   2025/11/10(月) 22:33
  12605 番 konno さんへのコメント    コメント数 1

> ありがとうございます。今回は今までどおりで、次回から1本化を目指します。
> ロングファイラーは画面復帰にバグがあってまだ解決できてないので従来版も
> 残しておこうと思います。
了解しました。

> 面白半分に聞いてしまいすみません。お大事にしてくださいね。
> 私も最近食べると眠くなってちょっとヤバいかもと思い始めています。
> 歩いたり運動を心がけなくてはですね。(^^;;
全然気にしてないです。私はジムに週3回通って1回につき1時間30分くらい
滞在していますが半分の時間は世間話で残りが運動です。
コストパフォーマンスを考えたら家庭菜園で農作業してる方が効率がいいです。

    - No.12606 -   [コメント元:12605]    [リストへもどる]
soft

12605Re^4: VZKシリーズ ステータスバー消し正式版公開 投稿者:konno   2025/11/10(月) 20:42
  12604 番 shadow さんへのコメント    コメント数 1

> ロングファイラーに一本化で問題ないです。

ありがとうございます。今回は今までどおりで、次回から1本化を目指します。
ロングファイラーは画面復帰にバグがあってまだ解決できてないので従来版も
残しておこうと思います。

> iPhone使ってるのですがスワイプすると画面が別画面に替わることがあったのですが今試したら大丈夫でした。

私はスマホの操作をよく知らないので問題あっても直せるかわからないのでホッとしました。

> カーソル移動やフリック入力するのに馴染めないだけです
> 若者は両手で入力される人もいるみたいですね。私は親指一本です。

私も入力は苦手で1文字に数秒かかったりしてます。(^^;;

> 手術すれば治る病気で入院してます。BMIを24から22に下げるためエネルギー制限食を食べて運動してるだけで元気な病人です。

面白半分に聞いてしまいすみません。お大事にしてくださいね。
私も最近食べると眠くなってちょっとヤバいかもと思い始めています。
歩いたり運動を心がけなくてはですね。(^^;;

> 世代が違うのかわかんないです。
「リングにかけろ」というジャンプ漫画でアニメにもなったような。
その必殺技のフィニッシュブローをパロッたものです。
努力して強くなっていく物語が好きなので嵌りましたね。

    - No.12605 -   [コメント元:12604]    [リストへもどる]
soft

12604Re^3: VZKシリーズ ステータスバー消し正式版公開 投稿者:shadow   2025/11/10(月) 02:07
  12603 番 konno さんへのコメント    コメント数 1

> t シリーズと s シリーズはソースを1本化しようと思っていたんですが、上記と別に
> ロングファイラーに1本化してもかまわないでしょうか。
> 今のままが良いとうことであれば検討します。
ロングファイラーに一本化で問題ないです。

> 以前スマホ向けに掲示板を弄って改善したつもりだったのですが、やっぱり見にくい
> ですか。使いずらいところがあれば改善出来ないか検討してみます。
iPhone使ってるのですがスワイプすると画面が別画面に替わることがあったのですが今試したら大丈夫でした。
カーソル移動やフリック入力するのに馴染めないだけです
若者は両手で入力される人もいるみたいですね。私は親指一本です。

> 余談:shadowさんがVZを使わずスマホでここを見る状況を色々想像してしまいました。
手術すれば治る病気で入院してます。BMIを24から22に下げるためエネルギー制限食を食べて運動してるだけで元気な病人です。

> 超余談:昔嵌ったボクシング漫画で影道(しゃどう)総帥とか思い出したり(すんません)
> ギャラクティカファントム打ち上げ花火とか(ドーン)
> ブーメランスクエアブロック崩しとか(ピコピコ)
> 元祖はブーメランテトリス?(違)
世代が違うのかわかんないです。

    - No.12604 -   [コメント元:12603]    [リストへもどる]
soft

12603Re^2: VZKシリーズ ステータスバー消し正式版公開 投稿者:konno   2025/11/09(日) 18:54
  12602 番 shadow さんへのコメント    コメント数 2

> vzに触れる環境に居ないのでわからないのですがk07s07sシリーズはMS-DOS PlayerでDOS画面の保存・復帰は未対策なので対策された正式版の公開をよろしくお願いします。

う、忘れていました。というか他にも不味い点が発覚しました。m(__)m
確か 一部のキー配置が違うはずなのに、key.asm も keyibm.asm も k07t06 と同じ。
うう、いつからか同じになってしまっていました。m(__)m
これは見直します。

t シリーズと s シリーズはソースを1本化しようと思っていたんですが、上記と別に
ロングファイラーに1本化してもかまわないでしょうか。
今のままが良いとうことであれば検討します。

> 余談ですがスマホでの読み書きは辛いです。

以前スマホ向けに掲示板を弄って改善したつもりだったのですが、やっぱり見にくい
ですか。使いずらいところがあれば改善出来ないか検討してみます。


余談:shadowさんがVZを使わずスマホでここを見る状況を色々想像してしまいました。
他意はないです。すんません。m(__)m

超余談:昔嵌ったボクシング漫画で影道(しゃどう)総帥とか思い出したり(すんません)
ギャラクティカファントム打ち上げ花火とか(ドーン)
ブーメランスクエアブロック崩しとか(ピコピコ)
元祖はブーメランテトリス?(違)

    - No.12603 -   [コメント元:12602]    [リストへもどる]
soft

12602Re: VZKシリーズ ステータスバー消し正式版公開 投稿者:shadow   2025/11/09(日) 04:38
  12601 番 konno さんへのコメント    コメント数 1

vzに触れる環境に居ないのでわからないのですがk07s07sシリーズはMS-DOS PlayerでDOS画面の保存・復帰は未対策なので対策された正式版の公開をよろしくお願いします。
余談ですがスマホでの読み書きは辛いです。

    - No.12602 -   [コメント元:12601]    [リストへもどる]
soft

12601VZKシリーズ ステータスバー消し正式版公開 投稿者:konno   2025/11/06(木) 20:34
   コメント数 1

現在公開している VZKシリーズ、ステータスバー消し正式版を公開しました。
VZの部屋です。

VZkv6p4(ベータテスト版) (2025-11-06)
VZk07t06 正式版 +98版(2025-11-06)
VZk07s07 正式版 +98版(2025-11-06)

 ・OF ステータスバーやファンクションバーを消すオプション ※ 2025-10-31〜
  Of+1: ステータスバーを消す
  Of+2: ファンクションバーを消す
  Of 3: ステータスバーとファンクションバーを消す
  ※ 安全策として wa.54=0 の時はステータスバーを描画させないようにした
 ・Ok 1:VTDOS DISKFREE=K (disk free単位を KBに)の時指定 ファイラーで KB表示

今までのステータスバーやファンクションバーを消すマクロは危険なため廃止。
代わりに KVZにステータスバーやファンクションバーを消すオプション追加しました。
この新シリーズVZなら今までのステータスバー消しマクロも安全に使用できます。

VTDOS で DISKFREE=K (disk free単位を KBに)の時 Ok1 指定で ファイラーで KB表示します

 動作保証はでき無いので実行は自己責任で。  

    - No.12601 -            [リストへもどる]
soft

12600Re: VZKシリーズステータスバー消しオプション版公開 投稿者:konno   2025/11/06(木) 17:56
  12593 番 konno さんへのコメント

> ※あまりテストしてないのでテスト版とします。動作テストにご協力ください。

やはりバグが有りました。
共通するのは、コマンドラインでファンクションキー表示の残骸が残ることです。
これは、コマンドラインでファンクションキー表示を試していた時のコードの残骸が
悪さをしていました。コマンドラインでファンクションキー表示は完全廃止します。

> k07v6p(ベータテスト版) (2025-10-31)
これにはファイルスワップのタイミングでステータスバーとアンダーラインカーソル
の色が変わるバグがありました。
デバッグで色変更のコードを埋め込んでいたのを忘れていました。(^^;;
機能追加と合わせてファイルを差し替えて正式版とするつもりです。

    - No.12600 -   [コメント元:12593]    [リストへもどる]
soft

12599Re^6: ディスク空き容量表示 Delphi 投稿者:konno   2025/11/06(木) 17:42
  12598 番 としき さんへのコメント

> 「Embarcadero」の表記があるということは、かなり新しそうな気がしますね。
> 私が「1998年12月のバージョン」と書いたのは、コンパイラのタイムスタンプが
> そうなっているのでした。

コンパイラのタイムスタンプは 2018年3月でした。

> > ところでこのソース、どこでカンマ区切りを指定しているのでしょうか。
> #12595に書いたとおり「3桁カンマルーチンはデフォルト」なんですよ。
> つまり、あれだけのコードでカンマをつけてくれる。

なんと! デフォルトでカンマが付くのですか。うーむ、Delphiも勉強するようか。

> 逆に、カンマ無しにするにはどうするんだろう。ごそごそ。
> あ、なるほど、ThousandSeparator っていう、暗黙のシステム変数があるんだ。
> これをヌルにしてやればカンマ無しにできるらしい。
> さらにこの暗黙の変数の初期値は、LOCALE_STHOUSAND 変数から取得するとのこと。
> そしてこの LOCALE_STHOUSAND 変数が、いわゆるロケールというもので動的に変化する
> らしい。

ロケールはBCCにもあるようですが、3桁区切りは見つからなかったです。
まあ私の目標はVZマクロを解析して最終的にはアセンブラで書くことなんですけどね。
道は逃走もとい遠そうです。(あながち間違いでもないかも)

    - No.12599 -   [コメント元:12598]    [リストへもどる]
soft

12598Re^5: ディスク空き容量表示 Delphi 投稿者:としき   2025/11/05(水) 23:21
参照先:http://toshiki.la.coocan.jp/
  12596 番 konno さんへのコメント    コメント数 1

> Embarcadero C++ 10.2 Tokyo Command-line Compiler という表示がありました。

「Embarcadero」の表記があるということは、かなり新しそうな気がしますね。
私が「1998年12月のバージョン」と書いたのは、コンパイラのタイムスタンプが
そうなっているのでした。

> ところでこのソース、どこでカンマ区切りを指定しているのでしょうか。

#12595に書いたとおり「3桁カンマルーチンはデフォルト」なんですよ。
つまり、あれだけのコードでカンマをつけてくれる。
逆に、カンマ無しにするにはどうするんだろう。ごそごそ。
あ、なるほど、ThousandSeparator っていう、暗黙のシステム変数があるんだ。
これをヌルにしてやればカンマ無しにできるらしい。
さらにこの暗黙の変数の初期値は、LOCALE_STHOUSAND 変数から取得するとのこと。
そしてこの LOCALE_STHOUSAND 変数が、いわゆるロケールというもので動的に変化する
らしい。
らしいが多くて申し訳ない。
だって、何もわかってないのですもの。

    - No.12598 -   [コメント元:12596]    [リストへもどる]
soft

12597DOSVAXJ3(2025/11/5)版 投稿者:konno   2025/11/05(水) 20:46


DOSVAXJ3(2025/11/5)版が更新されました。

-----------------------------------------------------------
 build JP251105 (2025/11/5)
mount したドライブの容量等の取得(int 21h ah=36h, ax=7303h)は親 OS から値を取得して返すように修正しました。
mount したドライブで dir した際に正しい空き容量を表示するよう修正しました。
DOSVAXJ3 上で動作しているかどうかの判定(int 2fh ax=7476h で返値 ax=0002h)を追加しました。

-----------------------------------------------------------

今までは DOSファンクション仕様で DIR で2Gまでの表示になってしまいましたが。
DIR でマウントしたドライブの全容量と空き容量が正しく表示出来ました。
mount C:\VZ\ のようにフォルダ指定でもドライブ全部対象になるようです。
この仕様は実用的でありがたいです。

> DOSVAXJ3 上で動作しているかどうかの判定(int 2fh ax=7476h で返値 ax=0002h)を追加しました。

これは VTDOSのインストチェックですが、軟式さんにお願いしたら DOSVAXJ3でも導入していただけました。
ax=0:VTDOS ax=1:MS-DOS Player ax=2:DOSVAXJ3 でDOSエミュの判別が出来るようになりました。
ありがとうございました。

拙作 STIME.EXE などは修正版を出さないといけないですね。

    - No.12597 -            [リストへもどる]
soft

12596Re^4: ディスク空き容量表示 Delphi 投稿者:konno   2025/11/05(水) 15:56
  12595 番 としき さんへのコメント    コメント数 1

> いや、実はですね、手元のDelphi4だと、3桁カンマルーチンはデフォルトで具備。
> 1998年12月のバージョンなんですけどね。

そうなんですか。うーむ、なんなんでしょうね。
私が使い方をわかってないだけかもしれません。

> もしかしてお持ちのBCCって、それよりも古いバージョンなんですか?

Embarcadero C++ 10.2 Tokyo Command-line Compiler という表示がありました。
> 2018年5月10日 11:00
> エンバカデロ・テクノロジーズは、2016年7月21日に提供開始したWindows向けC++コンパイラ「Embarcadero C++ Compiler」の新バージョン10.2.3を5月10日にリリースし、ダウンロード提供開始しました。
> 新バージョンは、最新のC++Builder 10.2.3 Tokyoに搭載されているWindows向けコンパイラで、Clangコマンドライン・インターフェイスに対応した新しいコンパイラ「bcc32x」を搭載しています。

どうやらこれのように思うのですが、基本のライブラリが少ないような気がします。
無料版だから? でもここで一つわかったことがあります。
私が使ったのは bcc32c.exe なのですが、
> 今回の新バージョンでは、従来のコンパイラと互換性を持つ「bcc32c」に加えて、Clangコマンドライン・インターフェイスに対応したコンパイラ「bcc32x」を提供しています。
> Clangは、C/C++コンパイラ向けの共通フロントエンドで、Objective-C、FreeBSD、Android NDKなどでも採用されています。
> 共通のコンパイラ・フロントエンドを利用できるようになったことで、CMakeのような人気のあるビルドツールなどを用いた開発でEmbarcadero C++ Compilerを利用できるようになります。

とありました。bcc32x.exe を使えばもっと色々な書式が使えるかもしれないですね。
結局は使い方がわからないとだめってことですかね。

> ということで、Delphiでのサンプルコードをうちの板塀サーバにアップしました。

いただきました。やっぱり書式制御で出来てしまうのは良いですね。
ところでこのソース、どこでカンマ区切りを指定しているのでしょうか。

Writeln(
Format(
'%14.2n %10.2n %14.2n %10.2n %6.2f %4s',
[
TotalNumberOfBytes / (1024*1024), TotalNumberOfBytes / (1024*1024*1024),
FreeBytesAvailable / (1024*1024), FreeBytesAvailable / (1024*1024*1024),
((TotalNumberOfBytes - FreeBytesAvailable)/TotalNumberOfBytes * 100),
Drive
]
)
);

ソースのどこにもそれらしいものが見当たらないのですが。

    - No.12596 -   [コメント元:12595]    [リストへもどる]
pre

12595Re^3: ディスク空き容量表示 volinfo.exe改5 投稿者:としき   2025/11/03(月) 23:56
参照先:http://toshiki.la.coocan.jp/
  12594 番 konno さんへのコメント    コメント数 1

> 書いていますが、私の手元のBCCではこれが効きません。

あら、それは残念。
そういえば、遠い昔、Turbo-Cでも3桁カンマルーチンをつくるという話があった
ようなうろ覚えの記憶もあったりします。新たに付け加えても上位互換は担保できる
だろうから互換性の問題でもないだろうし、なぜないんだろう。
いや、実はですね、手元のDelphi4だと、3桁カンマルーチンはデフォルトで具備。
1998年12月のバージョンなんですけどね。
もしかしてお持ちのBCCって、それよりも古いバージョンなんですか?

ということで、Delphiでのサンプルコードをうちの板塀サーバにアップしました。

27-138-85-108.rev.home.ne.jp:9801/dskfree.zip

あ、うちの板塀はHTTPSには対応していませんので、念のため。

    - No.12595 -   [コメント元:12594]    [リストへもどる]
soft

12594Re^2: ディスク空き容量表示 volinfo.exe改5 投稿者:konno   2025/11/01(土) 21:48
  12592 番 としき さんへのコメント    コメント数 1

> bccって、書式指定文字列にカンマ区切り指定は使えないんですか?
> cf.
> https://www.tamasoft.co.jp/lc/hlp/F056.html
> https://ryuichi1208.hateblo.jp/entry/2021/01/01/000000_1

このサイトでは

> 桁区切り %u、%d、%f などの 10 進表示の場合、3桁ごとにカンマ(,)で区切ることができる。 これは % と型指定子の間に ' をつける。
> printf("%d -> %'d\n", 12345678, 12345678); printf("%f -> %'f\n", 9999.9999, 9999.9999); このプログラムは以下のように出力される。

このように "'" を付けることで出来ると言っていて、多くのサイトでそのように
書いていますが、私の手元のBCCではこれが効きません。

> 12345678 -> 12,345,678 9999.999900 -> 9,999.999900 ただし 3 桁ごとの区切りが可能かどうか、また区切り文字が何になるかはロケールの LC_NUMERIC に依存する。 例えばロケールに C が指定されていると、桁区切りは出力されない。

これを見てちょっと調べてみましたが、手元のBCCでは出来なさそうでした。
そもそも「BCC 3桁区切り」で検索して自前で関数を作るページが複数あるので
BCCでは自前で関数を作るしかないのかと思った次第です。
でもおかげで自前関数で出来ることがわかったのでいい勉強になりました。

    - No.12594 -   [コメント元:12592]    [リストへもどる]
soft

12593VZKシリーズステータスバー消しオプション版公開 投稿者:konno   2025/10/31(金) 23:57
   コメント数 1

現在公開している VZKシリーズ、ステータスバー消しオプション版を公開しました。

k07v6p(ベータテスト版) (2025-10-31)
VZk07t06 テスト版 (2025-10-31)
k07s07 テスト版 (2025-10-31)

 ・OF ステータスバーやファンクションバーを消すオプション ※ 2025-10-31〜
  Of+1: ステータスバーを消す
  Of+2: ファンクションバーを消す
  Of 3: ステータスバーとファンクションバーを消す
  ※ 安全策として wa.54=0 の時はステータスバーを描画させないようにした

今までのステータスバーやファンクションバーを消すマクロは危険なため廃止。
代わりに KVZにステータスバーやファンクションバーを消すオプション追加しました。
この新シリーズVZなら今までのステータスバー消しマクロも安全に使用できます。

※あまりテストしてないのでテスト版とします。動作テストにご協力ください。
 動作保証はでき無いので実行は自己責任で。  

# VZKシリーズ、完成していたのか(いいえ、補完計画はまだまだです)

    - No.12593 -            [リストへもどる]
soft

12592Re: ディスク空き容量表示 volinfo.exe改5 投稿者:としき   2025/10/31(金) 23:46
参照先:http://toshiki.la.coocan.jp/
  12590 番 konno さんへのコメント    コメント数 1

> 3桁区切り関数はここの例題を使わせてもらいました。

bccって、書式指定文字列にカンマ区切り指定は使えないんですか?

cf.
https://www.tamasoft.co.jp/lc/hlp/F056.html
https://ryuichi1208.hateblo.jp/entry/2021/01/01/000000_1

    - No.12592 -   [コメント元:12590]    [リストへもどる]
soft

12591ステータスバーやファンクションバーを消すオプション 投稿者:konno   2025/10/31(金) 18:20
  12589 番 konno さんへのコメント

軟式さんからメールでこのようにご教授をいただきました。

> おそらくステータスバー表示の座標を元に計算した仮想 VRAM のアドレ
>スが DOSVAXJ3 の場合は画面右下になり、落ちたり固まったりする環境で
>は DOS のワークを壊すような位置を示したりしているのだと思います。
> VZ 側は計算時にオーバーフローのチェックをしていないと思われます。

なるほど、VRAM領域外のメモリに書き込まなければ問題ないのなら VZ.COMで
ステータスバーやファンクションバーを表示させないオプションを仕込んだら
いいのではないかと考え、やってみました。

・OF ファンクションキーを消して行数を増やします。
こんなオプションが以前からあったのですが、実際はうまく機能してませんでした。
この古いルーチンを消して、新しくステータスバーやファンクションバーを消す
オプションとしました。

● OF  ステータスバーやファンクションバーを消すオプション ※ 2025-10-31〜
    Of+1: ステータスバーを消す
    Of+2: ファンクションバーを消す
    Of 3: ステータスバーとファンクションバーを消す
    ※ 安全策として wa.54=0 の時はステータスバーを描画させないようにした

これにより VRAM領域外のメモリに書き込むことは無くなりました。
また、意図しないで wa.54=0 になった時の安全策を入れることで以前のマクロを
そのまま実行させても大丈夫になりました。
wa.54 はテキストの描画開始位置で、2画面にすると値が変わります。
wa.54=0 の時はステータスバーを描画させないようにしたので副作用もほぼ無いです。

今後は 公開しているKVZシリーズに仕込んで、KVZを使えば安全にステータスバー消し
出来るアピールして、みなさんにKVZを使ってもらえるように努力します。

新発想の解決策の切っ掛けをご教授いただきありがとうございました。

    - No.12591 -   [コメント元:12589]    [リストへもどる]
soft

12590ディスク空き容量表示 volinfo.exe改5 投稿者:konno   2025/10/29(水) 19:55
  12588 番 konno さんへのコメント    コメント数 1

ディスク空き容量表示 volinfo.exe改5です。

オリジナルは、Vector の
https://www.vector.co.jp/soft/dl/winnt/util/se328137.html
volumeinfo 2 FREE displays the Volume Infomations. (04.08.10公開 65K) 作者 VA007219

C言語 − C言語 入門 > C言語 ケーススタディ > 金額を3桁ごとにカンマで区切って表示
https://www.orchid.co.jp/computer/cschool/money2.html
3桁区切り関数はここの例題を使わせてもらいました。
int では桁数制限があったので long long にしました。
sprintf(tmp, "%d", yen); これを
sprintf(tmp, "%lld", yen); こう変更
これらの変更で桁数を増やすことが出来ました。10TB 以上表示出来るかも。

テスト版なのでバグがあるかもしれません。自己責任でお願いします。

ZIP がウイルススキャンではねられてしまうようなので LHA でパックしてみました。
実行ファイルはウイルススキャンで問題出てないです。
ソースを添付しました。

#txt:VOLINFO.LZH をクリックで落とせます。

    - No.12590 -   [コメント元:12588]    [リストへもどる]
pre