[HOME]  [現在掲示板へもどる]   [新着50]  [最新100]  [全部表示 会議室風]  [全部表示 保存用]

番号順 最新100記事    FGALVZ  


12584/12579 BQO00549  konno            シグマリオン2でVZブロック崩し
( 0) 25/10/24 03:33 12583:konnoさんへのコメント
ココログの記事から
VZブロック崩しマクロ改 k3.1 で低速PC対応(仮)してシグマリオン2で動かしてみました。
https://tamaneko2.cocolog-nifty.com/vz2/2025/10/post-bf8d0f.html

WinCE版NP2 NP2QM.EXE 320*240版で試してみました。




ウエイトを最小限にしましたが、やっぱり遅いですね。

キーの反応が遅くて返って難しいかも。(^^;


12585/12585 BQO00549  konno            ディスク空き容量表示 volumeinfo.exe改
( 0) 25/10/26 20:55 コメント数:2
野ざらし言#6057 からのツリーで話題になっているディスク空き容量表示で
VectorのWin32コンソールソフト volumeinfo.exe というのがありました。
作者は VA007219 さんで、Cのソース付きでした。

非常に詳細で冗長な情報を表示してくれますが、欲しいのは空き容量なので
Cのソースを編集して BCC32 でコンパイルしたら簡易表示のものが出来ました。
ファイル名もLFNをSFNに変更しました。


C:\BCC\BIN>VOLINFO.EXE
Volume: C:\
Device: "\Device\HarddiskVolume3"
Total: (243195812.0KB) (237496MB) (231.93GB)
Free: (75191360.0KB) (73429.1MB) (71.7081GB)

いらない情報を非表示にしただけですが、どうでしょうか。
VZマクロで既に出来ていて、あとは表示の変更だけなのに躓いていて
気分転換にやってしまいました。(^^;

使い方は
volinfo.exe
で Cドライブの容量を表示するようです。
volinfo.exe D: なら Dドライブの容量表示

テスト版として WSP自己解凍の差分にしました。
カレントにオリジナルの volumeinfo.exe と volinfo3.com をおいて volinfo3.com実行します。

#txt:volinfo.zip を右クリックで落とせます。

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


12586/12585 BQO00549  konno            Re: ディスク空き容量表示 volumeinfo.exe改
( 0) 25/10/28 01:46 12585:konnoさんへのコメント
> > VZマクロで既に出来ていて、あとは表示の変更だけなのに躓いていて

野ざらし言#6144 でめざらさんにヒントをいただきました。
> C だったら,printf の書式制御が使えますよね。
> マクロとそれほど変わらないですけど。

おお、そうか! と思って調べたんですが、BCC には見つからない。(>_<)
関数で実現しているページがあったのでそれを参考にやってみました。

C言語 − C言語 入門 > C言語 ケーススタディ > 金額を3桁ごとにカンマで区切って表示
https://www.orchid.co.jp/computer/cschool/money2.html

この中の例題が3っつありますが
(3)汎用に使用できる関数に改造
これを使って試行錯誤しました。
で、警告は沢山出ますが、なんとか動いて表示は出来ました。

C:>VOLINFO.EXE
Volume: C:\
Device: "\Device\HarddiskVolume3"
Total : 243,195,812KB 237,495MB 231GB
Free : 74,043,516KB 72,308MB 70GB

これならまあまあでしょうか。

ちなみに DFの表示は
C:>df
Device kbytes used avail capacity mounted on
C: 243,195,812 169,152,008 74,043,804 69.55% C:\

DOSVAXJ3テスト版では数字がぴったり同じになりました。\(^^)/ ヤッタ-


12587/12585 BQO00549  konno            ディスク空き容量表示 volinfo.exe改4
( 0) 25/10/28 19:39 12585:konnoさんへのコメント コメント数:1
野ざらし言#6146 で %表示の要望があったのでやってみました。
何度も試行錯誤してやっと何とかできました。

C:>VOLINFO.EXE
Volume: C:\ Device: "\Device\HarddiskVolume3"
Total : 243,195,812KB 237,495MB 231GB 69.9%
Free : 73,218,808KB 71,502MB 69GB 30.1%

オプションに D 又は D: を付けると Dドライブを表示します。

C:>VOLINFO.EXE D
Volume: D:\ Device: "\Device\HarddiskVolume4"
Total : 239,411,196KB 233,799MB 228GB 58.7%
Free : 98,940,516KB 96,621MB 94GB 41.3%

使い方は
volinfo.exe
で Cドライブの容量を表示するようです。
volinfo.exe D: なら Dドライブの容量表示

テスト版として WSP自己解凍の差分にしました。
カレントにオリジナルの volumeinfo.exe と volinfo4.com をおいて volinfo4.com実行します。

#txt:volinfo4.zip をクリックで落とせます。

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


追記
すみません、ページへのリンクは張るべきでしたね。

トップ>ダウンロード>Windows11/10/8/7/Vista/XP/2000/NT>ユーティリティディスク用>状況表示
https://www.vector.co.jp/vpack/filearea/winnt/util/disk/status/by_name.html
このページの下から2番目
volumeinfo 2 FREE displays the Volume Infomations. (04.08.10公開 65K)

ハードウエアのページなどもあってわかりにくかったですね。申し訳ない。m(__)m



12588/12585 BQO00549  konno            Re: ディスク空き容量表示 volinfo.exe改4
( 0) 25/10/29 03:22 12587:konnoさんへのコメント コメント数:1
> テスト版として WSP自己解凍の差分にしました。
> カレントにオリジナルの volumeinfo.exe と volinfo4.com をおいて volinfo4.com実行します。

オリジナルがLFNなので差分を当てるのが難しいようようです。
ということで、実行ファイルをそのまま ZIP して差し替えました。

#txt:volinfo4.zip をクリックで落とせます。

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


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

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


12589/12589 BQO00549  konno            VZのステータスライン消しマクロは危険です!
( 0) 25/10/29 15:32 コメント数:1
緊急です!

最近 DOSVAXJ3で VZのステータスライン消しマクロが上手く動かないので軟式さんに
聞いてみたら、このマクロが DOSのメモリを壊していることがわかりました。

wa.54=0, でテキストを VRAM 0行目にずらすのですが、元々 0行目にあった
ステータスバーは 1行上にズレて表示していますが見えていないだけです。
つまり、VRAMの先頭の上の別のメモリに上書きしていたのです。

今まで気が付かなかったのは、VRAMの直前のメモリがたまたま空いていたからで
MS-DOS Playerの場合はそこに何らかのデータがあるので、強制終了してしまいます。

ということでこの技を使ったマクロは大変危険なので今後使わないように願います。
私が使っていて覚えている公開マクロは

break98.def
break_k.def
FUNKIE.DEF
hanabi5.def
hanabi6.def

くらいですかね。ほとんどゲーム関係なので、これが使えないのは惜しいです。
このほかにもあるかもですので、気が付いた方はお知らせください。m(__)m


12590/12585 BQO00549  konno            ディスク空き容量表示 volinfo.exe改5
( 0) 25/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 をクリックで落とせます。


12591/12589 BQO00549  konno            ステータスバーやファンクションバーを消すオプション
( 0) 25/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を使ってもらえるように努力します。

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


12592/12585 CXB00940  としき           Re: ディスク空き容量表示 volinfo.exe改5
( 0) 25/10/31 23:46 12590:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 3桁区切り関数はここの例題を使わせてもらいました。

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

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


12593/12593 BQO00549  konno            VZKシリーズステータスバー消しオプション版公開
( 0) 25/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シリーズ、完成していたのか(いいえ、補完計画はまだまだです)

12594/12585 BQO00549  konno            Re^2: ディスク空き容量表示 volinfo.exe改5
( 0) 25/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では自前で関数を作るしかないのかと思った次第です。
でもおかげで自前関数で出来ることがわかったのでいい勉強になりました。

12595/12585 CXB00940  としき           Re^3: ディスク空き容量表示 volinfo.exe改5
( 0) 25/11/03 23:56 12594:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 書いていますが、私の手元のBCCではこれが効きません。

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

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

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

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


12596/12585 BQO00549  konno            Re^4: ディスク空き容量表示 Delphi
( 0) 25/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
]
)
);

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


12597/12597 BQO00549  konno            DOSVAXJ3(2025/11/5)版
( 0) 25/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 などは修正版を出さないといけないですね。


12598/12585 CXB00940  としき           Re^5: ディスク空き容量表示 Delphi
( 0) 25/11/05 23:21 12596:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> Embarcadero C++ 10.2 Tokyo Command-line Compiler という表示がありました。

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

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

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

12599/12585 BQO00549  konno            Re^6: ディスク空き容量表示 Delphi
( 0) 25/11/06 17:42 12598:としきさんへのコメント
> 「Embarcadero」の表記があるということは、かなり新しそうな気がしますね。
> 私が「1998年12月のバージョン」と書いたのは、コンパイラのタイムスタンプが
> そうなっているのでした。

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

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

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

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

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


12600/12593 BQO00549  konno            Re: VZKシリーズステータスバー消しオプション版公開
( 0) 25/11/06 17:56 12593:konnoさんへのコメント
> ※あまりテストしてないのでテスト版とします。動作テストにご協力ください。

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

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


12601/12601 BQO00549  konno            VZKシリーズ ステータスバー消し正式版公開
( 0) 25/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表示します

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


12602/12601 BNY00646  shadow           Re: VZKシリーズ ステータスバー消し正式版公開
( 0) 25/11/09 04:38 12601:konnoさんへのコメント コメント数:1
vzに触れる環境に居ないのでわからないのですがk07s07sシリーズはMS-DOS PlayerでDOS画面の保存・復帰は未対策なので対策された正式版の公開をよろしくお願いします。
余談ですがスマホでの読み書きは辛いです。


12603/12601 BQO00549  konno            Re^2: VZKシリーズ ステータスバー消し正式版公開
( 0) 25/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

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


12604/12601 BNY00646  shadow           Re^3: VZKシリーズ ステータスバー消し正式版公開
( 0) 25/11/10 02:07 12603:konnoさんへのコメント コメント数:1
> t シリーズと s シリーズはソースを1本化しようと思っていたんですが、上記と別に
> ロングファイラーに1本化してもかまわないでしょうか。
> 今のままが良いとうことであれば検討します。
ロングファイラーに一本化で問題ないです。

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

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

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

12605/12601 BQO00549  konno            Re^4: VZKシリーズ ステータスバー消し正式版公開
( 0) 25/11/10 20:42 12604:shadowさんへのコメント コメント数:1
> ロングファイラーに一本化で問題ないです。

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

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

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

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

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

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

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

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


12606/12601 BNY00646  shadow           Re^5: VZKシリーズ ステータスバー消し正式版公開
( 0) 25/11/10 22:33 12605:konnoさんへのコメント コメント数:1
> ありがとうございます。今回は今までどおりで、次回から1本化を目指します。
> ロングファイラーは画面復帰にバグがあってまだ解決できてないので従来版も
> 残しておこうと思います。
了解しました。

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

12607/12601 DGF01024  めざら           Re^6: VZKシリーズ ステータスバー消し正式版公開
( 0) 25/11/12 16:12 12606:shadowさんへのコメント コメント数:1
参照先:https://mezala.la.coocan.jp/
> コストパフォーマンスを考えたら家庭菜園で農作業してる方が効率がいいです。

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

12608/12601 BQO00549  konno            Re^3: VZKシリーズ ステータスバー消し正式版公開
( 0) 25/11/12 21:49 12603:konnoさんへのコメント
> 確か 一部のキー配置が違うはずなのに、key.asm も keyibm.asm も k07t06 と同じ。
> うう、いつからか同じになってしまっていました。m(__)m

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

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

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


12609/12601 BNY00646  shadow           Re^7: VZKシリーズ ステータスバー消し正式版公開
( 0) 25/11/12 21:57 12607:めざらさんへのコメント
> 自力で耕すのを連続数時間とかなら運動にもなるかもしれませんけど,
> 野良仕事って腰が痛いだけで全然運動にはなってないみたい。
感じ方は人それぞれと言うことで。
> いずれにせよ,お大事にしてください。
有難うございます。
> (わたしのBMIは26超えてるよ〜,これやばいの?!)
BMIが26でも内臓脂肪が基準内であれば問題ないでしょう。

12610/12610 BQO00549  konno            MS-DOS Player 2025/11/26版
( 0) 25/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系文字が主流なのでこの手の修正は大変なのですね。
作者様に感謝します。


12611/12611 BQO00549  konno            PC-9821など
( 0) 25/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


12612/12611 BQO00549  konno            NP2(PC-98)でCPU使用率を下げる方法
( 0) 25/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 と小さいです。ありがとうございます。


12613/12613 BQO00549  konno            FreeCOM 0.85aの command.com
( 0) 25/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常駐に対応していただきありがとうございます。


12614/12614 BQO00549  konno            hanabi.def v0.7 25-12-12
( 0) 25/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


12615/12615 BQO00549  konno            1÷9801の答えを小数表記するBASICプログラム
( 0) 25/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では動かないので改造します。


12616/12615 CXB00940  としき           Re: 1÷9801の答えを小数表記するBASICプログラム
( 0) 25/12/18 00:46 12615:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
ほほう、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$

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


12617/12615 BQO00549  konno            Re^2: 1÷9801の答えを小数表記するBASICプログラム
( 0) 25/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

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


12618/12615 BQO00549  konno            1÷9801の J31BASICプログラム
( 0) 25/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コンパイラの可能性がまた一つ広がりました。


12619/12615 CXB00940  としき           Re: 1÷9801の J31BASICプログラム
( 0) 25/12/20 13:01 12618:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> PRINT文を使うとVTDOSの vtd_err.logに大量のエラーメッセージが発生するので

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

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

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

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


12620/12615 BQO00549  konno            Re^2: 1÷9801の J31BASICプログラム
( 0) 25/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化したら凄いことになりそうでわくわく(何か違う?)


12621/12615 CRG00666  文太             VTDOS, Intrspy, Basm
( 0) 25/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#さんが実装
してくれるかもしれない。
 もう無理だろうなぁ、という気もいたしますが。


12622/12615 CRG00666  文太             hello.asm
( 0) 25/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 ;
-------------------

このあたりでしょうか?



12623/12615 CRG00666  文太             徒労
( 0) 25/12/22 13:39 12622:文太さんへのコメント コメント数:1
>このあたりでしょうか?
>>vtd_err.logに大量のエラーメッセージ

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



12624/12615 CRG00666  文太             Tim Paterson
( 0) 25/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 には入っている)。でも、日本語が通じないし、あんな奥まった
ところでひっそりされたら、やっぱりみんな振り向かないよね。



12625/12615 BQO00549  konno            Re: VTDOS, Intrspy, Basm
( 0) 25/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はデバッグモードで動いているようなものです。
エラーメッセージで原因を特定できるようになっています。
自身のソース開発系ツールとして作製したのだから当然なのかもしれませんね。
もっと早くこの辺の提案が出来ていれば良かったのですが・・・


12626/12615 CRG00666  文太             Re^2: VTDOS, Intrspy, Basm
( 0) 25/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種類もあると(こういうのちょっと失礼だけど)、一長一短なんでしょうね。



12627/12615 BQO00549  konno            Re: Tim Paterson
( 0) 25/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エミュごと消滅する怖さもありますが。


12628/12615 BQO00549  konno            Re^3: VTDOS, Intrspy, Basm
( 0) 25/12/24 02:27 12626:文太さんへのコメント コメント数:1
>  新年会、毎年やるほどのことでもないですかね。ネットなら、いつでも会話
> できるわけですし。

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

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

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

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

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

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

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


12629/12615 CRG00666  文太             メリークリスマス! 2025
( 0) 25/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でも、もうこんなの滅多にありません。

 メリークリスマス!



12630/12615 CRG00666  文太             Re^2: Tim Paterson
( 0) 25/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機をリブートさせまくってます。



12631/12615 CRG00666  文太             事故レス
( 0) 25/12/25 18:45 12629:文太さんへのコメント
> いえ、コンパイルしたらhello.basだって、vtdos環境で動くんですよねぇ
 これは、会話の経緯からしてやばい発言でした。
 言い訳すると、ま、頭の中がとっちらかってしまっていて、そんなおバカな
発言を、、、。
 無視が正しいです。
 まったく実験・実績がないのです。言い訳になってないぞ!



12632/12615 BQO00549  konno            TBC(TOKIWA BASIC Compiler)で 1÷9801
( 0) 25/12/25 21:47 12615:konnoさんへのコメント コメント数:1
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
特筆すべきは実行ファイルのサイズの小ささですね。ビックリです。


12633/12615 BQO00549  konno            Re: メリークリスマス! 2025
( 0) 25/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


メリークリスマス!


12634/12615 CRG00666  文太             Re^2: メリークリスマス! 2025
( 0) 25/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時間の散歩が苦行でした。風邪をまたひいたのか?


12635/12615 CRG00666  文太             Turbo Basic (1st compile) & QBX
( 0) 25/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文って、けっこう特殊なのかも、、、?


12636/12615 CRG00666  文太             QuickBasic 4.5 (Compile)
( 0) 25/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つあってもしょうがないけどね。


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



12638/12615 BQO00549  konno            Re^3: メリークリスマス! 2025
( 0) 25/12/27 01:07 12634:文太さんへのコメント
>  おお、これはすごい。実は昨年(今年)の新年会のときに、そいつのマニュアル
> と、サンプルコード「ハノイの塔」を持って行って、としきさんに見てもらったの
> です。"recursive"な処理がこんなに簡単に書けるの! ベイシックって! という
> ような会話をしました。

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

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

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


12639/12615 BQO00549  konno            Re: Turbo Basic (1st compile) & QBX
( 0) 25/12/27 01:45 12635:文太さんへのコメント コメント数:1
>  でも、質問です、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でエラーになります。


12640/12615 CRG00666  文太             SEG:B000H に書いている?
( 0) 25/12/27 15:05 12639:konnoさんへのコメント コメント数:1
konnoさん

 ありがとうございます。
 少し、少しだけ、何かが進んだ感じがしています。
 以下は、hello.asm (created by BASM) の、その部分(おそらく)。

PS_1: ;PrintString
Mov DX,80
Mul DX
Add DI,AX
Shl DI,1
Mov AX,0B000H ;!!! b000h, perhaps THIS
Mov ES,AX ; SEG in video memory
Mov AH,0FH ;0Fh GET CURRENT VIDEO MODE
Int 10H ; ??? related to SCREEN Statement? in emulators
Cmp AL,07H ; Return: AL = display mode
; 07h = T 80x25 9x16 720x400 mono B000 VGA
Je PS_2 ;
Mov AX,0B800H ;!!! b800h, perhaps NOT THIS
Mov ES,AX ; SEG in video memory
PS_2:
Cld
Movsb


12641/12615 CRG00666  文太             basm286.zip
( 0) 25/12/27 15:07 12637:文太さんへのコメント コメント数:1

https://www.bcxbasiccoders.com/#links

 万が一、興味がおありの方がおられましたら。
 上のページの一番下からDLできます。
 前にも話題に上がっていた(僕が上げていた)と思います。
 いえ、手元のものがいろんなマシンでヴァージョン違いでありまして、
DOS機に入っていたのが、まだShareWareヴァージョンだったときのもの
だったのです。それで調べました。けっこう手間取った。
 .comモデルもちゃんと作れるみたいだよ。これが気になっていたのです。
 Make EXE って、でかいよ、と思っていた。



12642/12615 BQO00549  konno            Re: SEG:B000H に書いている? 
( 0) 25/12/27 23:32 12640:文太さんへのコメント
タイトルが「SEG:B000H に書いている?」となっていますが、違います。
正確には書こうとしてモードチェックして結局 B800h に書いている。ですかね。

> Mov AX,0B000H ;!!! b000h, perhaps THIS
> Mov ES,AX ; SEG in video memory
> Mov AH,0FH ;0Fh GET CURRENT VIDEO MODE
> Int 10H ; ??? related to SCREEN Statement? in emulators
> Cmp AL,07H ; Return: AL = display mode
> ; 07h = T 80x25 9x16 720x400 mono B000 VGA
> Je PS_2 ;
> Mov AX,0B800H ;!!! b800h, perhaps NOT THIS
> Mov ES,AX ; SEG in video memory
> PS_2:
> Cld
> Movsb

INT10hの返り値が07hなら VRAM B000hのモノクロVGAモードと思われます。
USモードは通常 CGAモードなので、VRAM B800h になります。
なので、je PS_2 はスルーしてその次の
Mov AX,0B800H ;!!! b800h, perhaps NOT THIS
これを実行します。これで VRAMは B800h になります。
本来 CHEJ 03 なら日本語モードでも表示出来るのが上位互換だと思うんだけどなぁ。

12643/12615 BQO00549  konno            Re: basm286.zip
( 0) 25/12/27 23:41 12641:文太さんへのコメント コメント数:2
> https://www.bcxbasiccoders.com/#links
>  万が一、興味がおありの方がおられましたら。
>  上のページの一番下からDLできます。

落として試してみました。これ良いですね。
惜しむらくは標準でBIOSコールで表示しているので機種依存してしまうところですね。
TBCはDOS汎用なので、これからDOSツールはこれで作ろうかな。

>  .comモデルもちゃんと作れるみたいだよ。これが気になっていたのです。

使いこなせれば色々活用できそうですね。
BASICのソースがアセンブラのソースになるのはありがたいです。


12644/12615 CRG00666  文太             SCREEN statement ?
( 0) 25/12/28 00:44 12643:konnoさんへのコメント
konnoさん

 今、SCREEN statement を.docで読んで、仰け反ったところでした。
 こ、こんな世界でどうやって汎用性を確保しているのか?

>惜しむらくは標準でBIOSコールで表示しているので機種依存してしまうところですね。
 ちょっと分かりません。IBM PC 互換機なら、BIOSコールって同一ですよね?
 進化はあったろうけど、下位互換は担保されてたのでしょう?
 (NECの話は別、ふたたび)

>TBCはDOS汎用なので、これからDOSツールはこれで作ろうかな。
 はい、僕も落としました。まだ解凍していませんが。いえ、1年くらい前に
落として、大部な取説をプリントアウトしたはずなのに、見つからない、、、。
 exp.asm, macro.asm のプリントアウトは定位置にあったのに(読んでません)。

 で、どうやって汎用性を、というところで、DOS的にあまり自由が効かない
konnoさんは、オセロとか循環小数とかのコンパイルされた作品をどうやって
したのかと覗こうとしていたのでした。
 (調子のいいことを言うのは得意ではないですが、そんな環境でも、エミュレータ
の進化に貢献しようって、すごいスキルレベルですよね、、、あお)

 ある解説(by MS)には、そのツールをお客様に使ってもらう場合には、
こんなテストをしてもらってください。

SCREEN 1
SCREEN 2
etc

 エラートラッピングもしていた。ちょっとすぐそのコードが出ないのですが。
QB 4.5 manual のどっか。マニュアルがいっぱい状態、、、。嫌い。

 DOS汎用。はい、岡田先生に向かいます。
 で、クセがあると仰ってましたが、どんな点が? お教えいただけると
幸いです。
 hello.bas が岡田先生のコンパイラではどうなるのか? 素直に、file handle
0 の CON に出してほしいぞ。

 hanoi.bas。
 岡田先生のでは、すごく単純なコードだった。
 さっき、Turbo Basic のものをみたら、あああああ、長い長い。
 あの差はなに?
 ま、これはいいのですが(hanoi.defすらまだしたことがないので)、
僕はふと、konnoさんは、NEC9821 で「DOS汎用」でベーシックすれば
いいじゃないか、とか思いましたが(僭越すいません)、たわけたことを
僕は言ってますかね?
 NEC時代に、NECマシンを使って、多くの方は「DOS汎用」の
作品を発表されてましたよね(ベクターとかにいっぱいある)。あれには、
ベーシックが元でコンパイルされたものなんかは含まれないものなのでしょうか?

 少し疲れちゃったので、あちらは、明日あたり。
 感謝だけで、大したお返事もできないだろうと思うのですが。
 最初、そっち行ったんだよなぁ、とか負け惜しみみたいに少し言いたい。

----------------------------------------------------------------
SCREEN 1,0 : COLOR 0,1 : CLS
and press Enter

to select medium-resolution color-graphics mode with palette 1.
Then type:

DEF SEG=&HB800 : POKE 0,3
and press Enter
----------------------------------------------------------------
from M. Abrash's "Graphics for IBM PC" (1985)

 なんてのは、お昼すぎには見つけていたのです。
 上、やれてないのですけど。
 怠惰なのではありません、勉強しすぎです。でも、今日もちゃんと1時間
歩きましたよ。これだけすれば、後は何もしなくてもいいモード。
 明日は、年賀状を書くぞ!



12645/12615 CRG00666  文太             自己レス2
( 0) 25/12/28 15:05 12643:konnoさんへのコメント
konnoさん

 超簡単に。
 お付き合い、ありがとうございます。キーワードがたくさん! 多謝。

>(NECの話は別、ふたたび)
>NEC時代に、NECマシンを使って、多くの方は「DOS汎用」の
 ベーシックだと、ここ矛盾してるよ。

>>惜しむらくは標準でBIOSコールで表示しているので機種依存してしまう
>>ところですね。
>>TBCはDOS汎用なので、これからDOSツールはこれで作ろうかな。

 分かった。DOS2(?)からconfig.sysでデバイスドライバが組み込める
ようになり、DOSは machine-independent (ハードウェアからの独立)の
道を進み始めた。
 BIOSコールなるたけしないのね、OSレベルで解決してよね、というのは
こんな理由もあったのか。

 BASMは、しょせん(?)IBM PC 用なのでしょう。
 遠い島国で、NECだ、東芝だ、富士通だ、が、いろんなBASICを
作ってたのなんて知らないのね、彼ら。
 ま、MS−DOSの歴史では、西さんとかもいたし、高度経済成長の国、
半導体王国だったので、Japanは、マニュアルにけっこう初期から登場してる
ようなのですが。
 ただ、DOS5のinternationalization では、Japanでてこない。
 「君たち、違いすぎ。勝手にやって」だったのでしょう。2バイト文字文化圏
のことは十分意識してたみたいなのだけど。でも、まだ韓国も中国も大した
マーケットではなかったろうし。中国のエリートは、きっと、英語でPCを
していた、核開発もしていた。

 そういう意味では、BASICは、そもそもDOS汎用になりづらそうですね。
 岡田先生、すごく偉いのですね。



12646/12615 CRG00666  文太             TBC.EXE
( 0) 25/12/28 16:45 12632:konnoさんへのコメント コメント数:1
konnoさん

C:\0\TBCD>tbc /C test.bas

TOKIWA 8086 BASIC Compiler Ver. 5.55 *** Sample ***
Copyright (C) 1985-1998 by Genji OKADA

Complete & Saved

C:\0\TBCD>test
0 1 2 3 4 5 6 7 8 9 10

 DOS機はネットに繋がっておらず(不可能ではない)VTDOSとの
あいだではFD連携となっています。

 上のように、VTDOS @Win11 ですぐにテストができると楽ですね。
 コンソールに素直に出るし。
 遅くなりましたが(夕方)、散歩に行きます!


12647/12615 CRG00666  文太             Re: TBC.EXE
( 0) 25/12/28 23:31 12646:文太さんへのコメント コメント数:2
konnoさん

https://exmortis.narod.ru/compilers_bas_eng.html
 製品版ではありません。が、微妙に違うみたい、、、。
 驚いたことに、岡田先生、ロシア語の.docをお書きになっている、、、。
 tbc3.com は、たぶん、386用なんじゃないか、と思ったのだけど、どうして
そう思ったんか分かんなくなってしまいました。とにかく、これは、VTDOS
では落ちましたね。

C:\0\TBCD>tbc /C hello.bas

TOKIWA 8086 BASIC Compiler Ver. 5.55 *** Sample ***
Copyright (C) 1985-1998 by Genji OKADA

Complete & Saved

C:\0\TBCD>hello
こんにちは、皆さん ;jpモードでいけるばかりでなく、
;日本語も通るぞ!
;そして、コンソールに出る!
;コードの最後に END 要るよ。

 そのサイトには、他にもあるようですが、僕は、とりあえず、そんなに手を
広げない、という方針です。なくなっちゃっても、悲しいけどな、、、。
 (あとで=今、気づいたのですが、これ、ロシアのサイトだね。ま、無法地帯)

 偶然ですが、PRINT文がそんなに素直にコンソールには出ないものである、
というのは、痛いけど、予め知っておいてよかったと思ってます。
 発見の機会をくださって(これも意図してなかったでしょうけど)、
ありがとうございました。


12648/12615 CRG00666  文太             Re^2: TBC.EXE
( 0) 25/12/29 22:51 12647:文太さんへのコメント
tbc3.com

 どうでもいいことでしょう。が、いちおう調べがついたので、書いておきます。
 ベクターから落とせる TBC のパッケージの中に、bcfiles.doc というのがあり、
そこに、「製品版」に含まれるファイルの一覧があります。
 そこで、BC386.COMが「80386 専用コンパイラ」とありました。
 (tbc3.com がこれの一部機能省略版)
 トキワは、常盤商工だったのかな?

 ロシアから落としたものは、サンプルが違うと思うけど、こ、これは、僕には
手が負えない、という感想でした。xxx.exeがキレイな絵を見せてくれたけど。
 なお、純DOS環境では(Pen3相当ぐらいのDuron1000かなぐらいなCPU)、
もちろん、TBC3 がきちんと動きました。

 なんとなく、こういうのを見ると、製品版(高くないなら、高かったでしょうね、
きっと)が欲しかったな、とか思います。
 この文字化けは何? などなど謎がいっぱいですが、日本語が通じる(jpモード
でいける)BASIC コンパイラはこれぐらいしかないようなので、使えるところが
使えるようになろうと、精進いたします。

 上のbcfiles.docをみると、うん、NEC, IBMPC, J3100, Massif とマシン・
アーキテクチャーに合わせたファイル群が別々にありますね。そういう世界。



12649/12615 BQO00549  konno            Re^2: TBC.EXE
( 0) 25/12/29 22:55 12647:文太さんへのコメント コメント数:1
> https://exmortis.narod.ru/compilers_bas_eng.html
>  製品版ではありません。が、微妙に違うみたい、、、。
>  驚いたことに、岡田先生、ロシア語の.docをお書きになっている、、、。

おお、こんなのがあったのですか。バージョンが上がっているみたいですね。

> TBC はフリーウェアですが、いくつかの機能やオブジェクトファイルのリンクなどが削除されています。
> 市販品TKW-86BCより優れていますが、
> コンピュータとコンパイラの基礎学習。

Chromeの翻訳ではこんなのになりました。市販品より優れている?
もしかして翻訳ミスってる? この部分だけ範囲指定して再翻訳したら

> TBCはフリーウェアで、市販製品TKW-86BCからいくつかの機能やオブジェクトファイルリンクなどが削除されています。
> それでも、コンピュータやコンパイラの基礎学習には十分応用できます。

こっちが合っていそうですね。

>  tbc3.com は、たぶん、386用なんじゃないか、と思ったのだけど、どうして
> そう思ったんか分かんなくなってしまいました。とにかく、これは、VTDOS
> では落ちましたね。

なるほど、分れているということはそうなのかもしれないですね。もしかしたら
そのロシア人に386版をおねだりされて作った版かもしれないなぁと思ったり。

> C:\0\TBCD>hello
> こんにちは、皆さん ;jpモードでいけるばかりでなく、
> ;日本語も通るぞ!
> ;そして、コンソールに出る!

TBCは INT21h DOSコールで文字出力しているので、DOS画面(コンソール)に出ます。
DOSのテキストモードならどんな機種でも表示出来るわけです。
私もDOS汎用版VZ作れないかなぁと思ったこともありました。

>  (あとで=今、気づいたのですが、これ、ロシアのサイトだね。ま、無法地帯)

誰にも知られず埋もれて電子の藻屑になるところを発掘してくれたとしたら感謝。
グレーゾーンなら取り扱い注意ですが。


12650/12615 CRG00666  文太             9801TK、できましたよん!
( 0) 25/12/30 00:16 12649:konnoさんへのコメント コメント数:1
C:\QB45>a:\9801tk
1/9801 Number (100 to 1000) ?
102
0.
0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4
1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9
3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 4 1 4 2 4 3 4 4
4 5 4 6 4 7 4 8 4 9 5 0 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9
6 0 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 7 0 7 1 7 2 7 3 7 4
7 5 7 6 7 7 7 8 7 9 8 0 8 1 8 2 8 3 8 4 8 5 8 6 8 7 8 8 8 9
9 0 9 1 9 2 9 3 9 4 9 5 9 6 9 7 9 9 0 0 0 1 0 2 0 3
 (桁折り箇所が変なので、ちょっと見栄え悪くてごめんなさい)


 驚いたことに、usモードでもjpモードでも、ちゃんとコンソールに出る。これを
期待していなかったから、大喜び。
 できんじゃん、と。

 TOKIWAさんですね!

9801TK EXE 4,044 25-12-29 23:36
9801TK COM 4,012 25-12-29 23:37
 大して小さくならないですね、岡田先生がそもそもすごく偉いのか。

 別件ですが。
 僕のところでは、実験の結果、デフォルトの 「SCREEN 0 で良し」ということに
なりました。あまり触りたくない領域。

 年末、ごちゃごちゃうるさくてごめんなさい。
 ほっといてくださいね。
 よいお年を!

 と書いたら、レスが上がってる。簡単に。

>こっちが合っていそうですね。
 はい、そう思います。

>なるほど、分れているということはそうなのかもしれないですね。もしかしたら
>そのロシア人に386版をおねだりされて作った版かもしれないなぁと思ったり。
 いえ、製品(商品)には、両方入っているようです。

>誰にも知られず埋もれて電子の藻屑になるところを発掘してくれたとしたら感謝。
 ってこともないと思いますよ。
 どっかから、*** Sample *** 版が流れていったのでしょう。ロシア人、こういう
ところ、すごいの。
 どちらも、最終版は、5.55でした。
 日本語ドックの最後に、常盤商工の電話番号も載ってました。いきらか、訊いて
みようかしら。
 konnoさんは、いくらなら買いますか?
 僕は1万円かな? もう商品として取り扱ってないだろう、という気も大いに
しますが。じゃ、岡田先生、フリーにしてください! 僕、メールする勇気ないです。
 ニフティーで辞書検索(Epwing辞書)関連で、何度かやり取りしたことがあり
ましたが。どうみても、すごく偉い先生っぽいです。


12651/12651 BQO00549  konno            私家版VZ 25-12-29版
( 0) 25/12/30 00:26
私家版VZ 25-12-29版を更新しました。

特徴など

 ・Windows PC98のアイドルコールに対応。キー入力待ち時CPUの使用率を低減。
 ・ファイラー等でシフト系の独自ファンクションキー表示を実現。(DOSV版)
 ・HP 200LX、PC98、DOSV、J31 +1:マクロ時スリープOFF +2:アイドル時スリープON
 ・LS 200LXのすだれ対策。左1〜2文字分空けます。 機種依存はしません。
 ・OF ステータスバーやファンクションバーを消すオプション ※ 2025-10-31〜
 ・OY 8〜24 VZの全モードの行数指定。シグマリオン2等で使用する。
 ・オプション変数 Uf を新設。Uf+ で、ファイラーでのドライブのFreeを読まない。
  Free表示は0になります。LXでの大容量フラッシュ対策です。
  uf1=512、2=1024、4=2048、8=4096等、ファイル選択時のクラスタサイズを指定。
 ・NT系(NT4.0/Win2000/WinXP)の不具合を一部対策し、安定度を高めた。
 ・その他もろもろ 
 ・現在は ks08,kt07,kvp5 の3種で、DOSV版、98版、J31版同梱です。
  ks08 通常ファイラー版
  kt07 ロングファイラー版
  kvp5 LFN表示ベータテスト版(編集モードでのリネームにバグあり)

VZの部屋にあります。ソース同梱です。


12652/12615 BQO00549  konno            Re: 9801TK、できましたよん!
( 0) 25/12/30 01:05 12650:文太さんへのコメント コメント数:1
> C:\QB45>a:\9801tk

これ、DOSV機でFDDの9801TK.EXE を実行してみた。ということですよね。
もちろんQBASICでコンパイルしたのではないですよね。(^^;

> 9801TK EXE 4,044 25-12-29 23:36
> 9801TK COM 4,012 25-12-29 23:37
>  大して小さくならないですね、岡田先生がそもそもすごく偉いのか。

私も小さくなるのを期待してましたが、そんなものなのかな。

>  僕のところでは、実験の結果、デフォルトの 「SCREEN 0 で良し」ということに
> なりました。あまり触りたくない領域。

TBCの話なら、TBCには SCREEN文はありません。Syntax error になります。
なので、デフォルトは 画面モード03のテキストモードだと思います。
画面モード変更はインラインのマシン語でとなりますね。

> >そのロシア人に386版をおねだりされて作った版かもしれないなぁと思ったり。
>  いえ、製品(商品)には、両方入っているようです。

う、そうなのですか。ということは・・・ (^^;;;

>  どっかから、*** Sample *** 版が流れていったのでしょう。ロシア人、こういう
> ところ、すごいの。

うーん。もしかしたら製品版に入っているのがこれ・・・以下自粛。(^^;;;;;

>  日本語ドックの最後に、常盤商工の電話番号も載ってました。いきらか、訊いて
> みようかしら。

その気があれば是非。m(__)m

>  konnoさんは、いくらなら買いますか?

私はまだTBCも使いこなせていないので、今はまだ値段もつけられないですね。

>  僕は1万円かな? もう商品として取り扱ってないだろう、という気も大いに
> しますが。じゃ、岡田先生、フリーにしてください! 僕、メールする勇気ないです。

うう、1万は厳しいかも。私もメールする勇気ないし。

>  ニフティーで辞書検索(Epwing辞書)関連で、何度かやり取りしたことがあり
> ましたが。どうみても、すごく偉い先生っぽいです。

なんと! メールをやりとりしていたとは! 期待してしまいます。(^^;


12653/12615 CRG00666  文太             画面モード?
( 0) 25/12/30 18:34 12652:konnoさんへのコメント コメント数:1
konnoさん

 ちょっとスレッド的にまたいでしまって、ごめんなさい。

 僕のレベルがまだ低すぎて、会話が成立しないかな、とも思っている
のですが。

>TBCの話なら、TBCには SCREEN文はありません。Syntax error になります。
 そうですか、僕が「Screen 0 のデフォルト」でいいと言ったのは、主に
MSのQuickBasicでの話でした。
 まだまだゲームとか作る予定もないので、あまりいじる必要はないだろう、と。

>なので、デフォルトは 画面モード03のテキストモードだと思います。
 分からないのはここなんです。
 まず、konnoさん、ここで、TBCの話をしてますよね。
 そして、「Screen 3」状態でTBCは動いている?

>画面モード変更はインラインのマシン語でとなりますね。
 Screen 文を受け付けないTBCでは、画面モードを変更したいなら、
どうしてもインライン・アセンブラの処理が必要になる。

 合ってますかね? ここまで。

 で、疑問は、えっ? Screen 3? です。Screen Statement の話をしてない
のか、あるいは、処理系(TBC, BC, QB etc)で、この数字が違ったりするの
ですか?

 僕は、今、QuickBasic の本を眺めてます。Screen 3 は、HGA (Hercules
Monochrome Adapter)用とあるのですが?

 なぜか、TBCの英語版ドックを読んでます。これくらい短いと嬉しい。
 けっこう分かる。遊びで『ベーガマ』とか写経した甲斐があったのかも。


12654/12654 CRG00666  文太             SCREEN Statement (new)
( 0) 25/12/31 21:51
 勉強はまだ途中です。必要になったら、します。画面捜査の勉強は、まだ
まだ続けなければならない。
 #12644, #12653 の前後から派生したお話です。
 続きが深くある予定はありません。
 SCREENは、面倒で複雑で深いです。が、TBCのように無視しても、いちおう
試作品は作れる。


SCREEN Statement
は、使うツールによって意味が違う! という結論を得ました。

また、装着されてるディスプレイアダプタやその性能によって、想定される
機能が発揮できるかも違う。


Turbo Basic (0, 1, 2, 7, 8, 9, 10)
0 Sets text mode without changing width

1 Sets medium resolution graphics mode; changes width to 40

2 Sets high resolution graphics mode; changes width to 80

7 Sets medium resolution mode on an EGA, allowing 16 colors
and 640 X 200 pixels

8 Sets high resolution mode on an EGA, allowing 16 colors
and 640 x 200 pixels

9 Sets enhanced high resolution mode on an EGA with an
enhanced display; allows 4 or 16 colors (depending on EGA
memory) out of a palette of 64, and 640 X 350 pixels

10 Sets high resolution mode on an EGA with a monochrome
monitor; allows 4 attributes and 640 X 350 pixels


MS QuickBasic
0 MDPA, CGA, EGA, MCGA, Hercules, Olivetti, or VGA Adapter Boards
Text mode only
40 x 25,40 x 43,40 x 50, 80 x 25, 80 x 43, or 80 x 50
text format with 8 x 8 character box
size (8 x 14, 9 x 14, or 9 x 16 with EGA or VGA)

1 CGA, EGA, VGA, or MCGA Adapter Boards
320 x 200 graphics
40 x 25 text format, 8 x 8 character box
16 background colors and one of two sets of three foreground colors
assigned using

2 CGA, EGA, VGA, or MCGA Adapter Boards
640 x 200 graphics
80 x 25 text format with character box size of S x S
2 colors (black and white) with CGA

3 Hercules, Olivetti, or AT&T Adapter Boards
Hercules adapter required, monochrome monitor only
720 x 348 graphics
80 x 25 text format, 9 x 14 character box
PALETTE statement not supported

4 Hercules, Olivetti, or AT&T Adapter Boards
640 x 400 graphics
80 x 25 text format, 8 x 16 character box


N88上位互換 電脳組「BASIC/98」(まぎらわしいネーミング for DOS/V)
では、NECなら、エプソンなら、富士通なら、、、
 で、「AX・DOS/V」では
0, 3 カラーグラフィック(640x480ドット, 1ページ)
1, 2 白黒グラフィック (640x480ドット, 1ページ)

 ここにkonnoさん推定(推測)のSCREEN 3 がありました。
 が、アプリによって違うようです。
 それでも、TBCがつくる.com & .exe の出力見栄えは、N88のSCREEN 0 or 3
っぽい。あるいは、QBC でも TBでも、SCREEN 0っぽい。もちろん、
グラフィックものについては、まだぜんぜん分かりません。


 で、またまた別件ですが、ロシアのパックには、たしか、Mobile Gear用の
グラフィックツールみたいなのが入ってました(もちろん試してません)。
海外でもMobile Gearって売れたのかな? たしか、もうkonnoさんのところでは、
モバギは動いてなかったという記憶でしたが。
 うん、あの画面でグラフィックまで行かないかもしれないけど、ちょっと
画面をいじるベーシックをしたい。
 SCREENまで必要なのか分かりませんが、あの画面で何かしようと思ったら、
最低限width(たぶん本当は高さ)その他で画面を制限しなくちゃですね。


 そして、もうジャンプの連続で、思い出した。
 かつて、Vzでビープを鳴らすと、モバギがハングする、という事件があり
(担当えむしさん)、高橋さんがBIOS叩いてるからだよ、直してあげる、という
顛末がありました。
 モバギはMS-DOS 6.2V (English)が動いているマシン。NECが作ったDOS/V機。
そこで、標準Vzibm(j).comでビープで昇天。BIOSって、これだけ違うから、
そいつを使うと「機種依存」しちゃうアプリになってしまうのだなぁ、と昔を
思い出しながら、納得しました。

see below
--- vz.def ---
#if MG
LC- ;編集時の行間空きモードの指定
vb+ ;モバ beep の不具合を解消
#else
--------------

 大晦日までやってしまった。大昔、誰かがニフティーで「3が日ぐらい
ゆっくりしたら?」と書いていた。過剰アクティブメンバーに対して。



12655/12615 BQO00549  konno            Re: 画面モード?
( 0) 25/12/31 22:49 12653:文太さんへのコメント コメント数:1
>  そうですか、僕が「Screen 0 のデフォルト」でいいと言ったのは、主に
> MSのQuickBasicでの話でした。

私も正確には覚えていないので、ブラウンさんで確認してみました。

Int 10/AH=00h - VIDEO - SET VIDEO MODE

mode text 桁x行 dot pixel color page VRAM dispアダプタ
00h = T 40x25 8x8 320x200 16gray 8 B800 CGA US
= T 40x25 8x16 320x400 16 8 B800 MCGA J31
= T 40x25 9x16 360x400 16 8 B800 VGA
03h = T 80x25 8x8 640x200 16 4 B800 CGA US
= T 80x25 8x16 640x400 16 8 B800 MCGA J31
= T 80x50 8x8 640x400 16 4 B800 VGA
※ = T 80x25 8x16 640x480 16 4 仮想域 VGA日本語 DOSVAXJ3

英語BASICは IBM互換機を基準にしているので Screenモードと一致しているようですね。
Screen 0 は、テキストモードですが、40桁25行になるようです。
QBCで Screen 0 をコンパイル実行すると、DOSVAXJ3 では 40桁モードになりました。
DOSVの日本語DOSでテキストモードは 03 が標準ですが、VRAMは仮想テキスト領域になります。
USモードもサポートするなら VRAM B800h にもテキストを書き込むべきと思いますが、
VTDOSは残念ながら B800h には書き込まないので表示しないのですよねぇ。(;_;)

> >なので、デフォルトは 画面モード03のテキストモードだと思います。
>  分からないのはここなんです。
>  まず、konnoさん、ここで、TBCの話をしてますよね。
>  そして、「Screen 3」状態でTBCは動いている?

DOS画面は03ですが、QBASICで Screen 3はエラーになりました。HELPにはあるようですが。
> ┌─── HELP: SCREEN Modes 3 and 4 ─────────────────┤↑├─
> Other Adapter Boards
> SCREEN 3: Hercules adapter required, monochrome monitor only
> ■ 720 x 348 graphics
> ■ 80 x 25 text format, 9 x 14 character box
> ■ 2 screen pages (1 only if a second display adapter is installed)
> ■ PALETTE statement not supported

Adapter Boardをチェックして、無いからエラーにしているのかしら?

>  Screen 文を受け付けないTBCでは、画面モードを変更したいなら、
> どうしてもインライン・アセンブラの処理が必要になる。
>  合ってますかね? ここまで。

TBCではインライン・アセンブラが使えないのでマシン語でということです。

>  で、疑問は、えっ? Screen 3? です。Screen Statement の話をしてない
> のか、あるいは、処理系(TBC, BC, QB etc)で、この数字が違ったりするの
> ですか?

DOS画面モード切替の番号と BASICのScreen文の番号は同じではないことは確かです。

>  僕は、今、QuickBasic の本を眺めてます。Screen 3 は、HGA (Hercules
> Monochrome Adapter)用とあるのですが?

いろんなメーカーが独自の画面構成にしているので、一番混乱するところですね。
J3100では、Screen 3は MCGAですし。NECはBIOS番号まで変えてるし。(^^;

さて、今のペースではこれが今年最後の書き込みになりそうです。
みなさま、良いお年を。


# う、これを上げようとしたら新たな書き込みが。(^^;


12656/12615 CRG00666  文太             Re^2: 画面モード?
( 0) 26/01/01 01:43 12655:konnoさんへのコメント
konnoさん、

 年末まで(あるいはお正月の三が日まで)、お付き合いいただき、ありがとう
ございます。
 明けましておめでとうございます。

>私も正確には覚えていないので、ブラウンさんで確認してみました。
 了解です。

(Table 00010)ですね。このあいだ見て、のけぞった奴。
 konnoさんがつけてくださったメモを、ブラウンリストとVz上で照合しながら
考えてみます。
 でも、CGAとかMCGAとかもう関係ないはずなんだけどな、そうもいかないらしい。
直接関係するのは、VGAだけ。
 &B000, &B800 ある本でも見ちゃった。そのうち結果報告的に、あちらに簡単な
レスをつけます。

 うーん、Vzマクロの世界だけにとどまっていたら、ほんと楽だったんですね。
 でも、その外に出るとはずっと前から決めていたので、後悔はありませんし
(やたら愚痴が多いけど)、とってもとっても感謝しています。
 そして、Vzの他機種への移植。こういうことだったのねぇ。お疲れ様でした。
わおっ! シグマリオンとかポストペットとか、、、。

 そう、us.bat, jp.bat あそこも読み解かなくちゃなりません、、、。

 2025年の12月22日近辺より、本当にお世話になりました。ありがとうございました。
 2026年はどうでしょうか?
 とにかく、宜しくお願い申し上げます。ありがとうございました。

 あ、インラインアセンブラ、最低限だけ、TBC(試食版)に入れてあるみたい
ですね。まったくVzにそっくりですが、インラインでなければ、マシン語を
直接DATA文に入れてCALLすれば(たしか伝統的なやり方−−パラミータを
受け渡すとかはすごく困難そうですが−−)、ベーシックの中からCPUと
直接やり取りできますよね。
 これをコンパイルしたらどうなるのかは、僕にはまったくわかりませんけれど。
 でも、すごく手前に戻りますが、コンパイルしてないものを動かせる人は、
もうほとんどいませんよね。これは、、、寂しい。



12657/12657 BQO00549  konno            2026年 あけおめ
( 0) 26/01/01 21:43 コメント数:1
   ;; ,,,,   ,,    ,,    ;;         ;;   
 ''';;'''    ,;'    ;;  ,,,,;;,;'' ';,  ;; ,,;;,,, 
   ;;,;;,,   ;;  ''''';;'''   ;;    '' ;;;'',;' ';;
 ,,;;; ;; ';;  ;;    ;;    ,;;''''';,  ,;;, ;;   ;;
,;' ;;;;  ;; ;;    ;;   ,;';;   ;; ;;';,;;   ;;
;; ;;;  ,;' ';,   ;;   ;; ;;   ;; ;; ,;;,   ;;
 ''';; ,,,;''  ''  ,,;'   ';,,;' ,,,;'  '''  ,,;'' 
                                
                                
  ,,,   ,,,   ,,,   ,,,     ,,,,,,,,,,,,,,,,  ;;     
,;' ';, ,;' ';, ,;' ';, ,;' ';,        ;;     ;;''';;''''''
''  ;; ;;  ;; ''  ;; ;;  ''     ,,,,,,;;,,,,,, ,;'  ;;   
   ;; ;;  ;;   ;; ;;;';,     ;;  ;;,  ;;    ;;   
  ,;'  ;;  ;;  ,;'  ;;  ;;     ;; ,;' ';, ;; ''''''';;'''''''
 ,;'  ;;  ;; ,;'  ;;  ;;     ;;'''   '';;    ;;   
;;,,,,, ';,;' ;;,,,,, ';,;'     ;;     ;;    ;;   
                     ''    ''''    ''   

2026年 元旦
みなさま、今年もよろしくお願いいたします。

難しい話などは明日以降ということで。(^^;


12658/12657 CRG00666  文太             Re: 2026年 あけおめ
( 0) 26/01/01 23:25 12657:konnoさんへのコメント コメント数:1
konnoさん

 banner.def !

 明けましておめでとうございます。
 恥ずかしいのだけど、告白すると、コロナのせいもあって、例の国家試験、
今年も受けることになり、ああ、この歳でまだ受験生だぞ、なので、それほど
ご迷惑をおかけすることはないと、お、も、う、、、だといいな、と思って
おります。
 難しい話ではないですよね。

 どうかどうか宜しくお願いします。
 健康管理、どうかどうか、宜しくお願い申し上げますね。
 もちろんボクも、です。



12659/12657 BQO00549  konno            Re^2: 2026年 あけおめ
( 0) 26/01/02 00:05 12658:文太さんへのコメント コメント数:1
文太さん、明けましておめでとうございます。

今年もお忙しそうですが、お互い無理せず健康第一でいけたらいいですね。
コロナもインフルエンザも未だ猛威を振るっているようなので、みなさま
油断せず無事に乗り切りましょう。

>  banner.def !
VTDOSも MS-DOS Playerも駄目で、DOSVAXJ3で作りました。
原因究明もまたということで。

# ああ、もう日が変わってしまった。光陰矢の如しか(違うと思う)


12660/12657 CRG00666  文太             Re^3: 2026年 あけおめ
( 0) 26/01/02 01:25 12659:konnoさんへのコメント コメント数:1
konnoさん

 レス、ありがとうございます。
 2026年になってしまったわけですね。


>VTDOSも MS-DOS Playerも駄目で、DOSVAXJ3で作りました。

 僕の手元のものは

==== banner.def for PC9801 v1.42 (C) May '92 by くらと & Aiming Off ====
banner.def 3,773 1997-09-09 00:25

==== bannerv.def for DOS/V v2.51 (C) Jan. '97 by くらと ========
bannerv.def 5,764 1997-01-03 02:51

 でした。くらとさん、1月3日の早朝(深夜)3時頃に完成させてるし、、、。
 過剰にアクティブなメンバー。

 マクロを読もうとはまったくしていませんが、フォントファイルを読むとか
すごいことをしてるマクロですよね。

 Aiming Off さんの、Oaskei.def 以上に異常なのかな?

 そうですか、DOSVAXJ3なら、できたんですね。DOSV, AX, J3100 の環境を
エミュレートしてるんだ。このエミュレータ、すごいよ。
 結局のところ、ずっとお世話になってる(4年ぐらいブランクがあったのですが)
VTDOS が、、、とか言いたいわけではないですが。

 FDD(ドライブ)を買い足すとか、DOS/Vの純DOS環境だけはちゃんとした
方向に持っていってます。しばらくは大丈夫だと思っております。



12661/12657 BQO00549  konno            Re^4: 2026年 あけおめ
( 0) 26/01/04 00:43 12660:文太さんへのコメント コメント数:1
正月、消化しきれぬものが多くて時間が過ぎてしまいました。m(__)m

>  僕の手元のものは
> ==== banner.def for PC9801 v1.42 (C) May '92 by くらと & Aiming Off ====
> banner.def 3,773 1997-09-09 00:25

私は bannerv.def で作ったのですが、これを見て他のVerもあるのに気付きました。
ありがとうございます。

>  でした。くらとさん、1月3日の早朝(深夜)3時頃に完成させてるし、、、。
>  過剰にアクティブなメンバー。

正月のうちに皆さんに見ていただきたいという熱い思いを感じますね。(^_^)

>  マクロを読もうとはまったくしていませんが、フォントファイルを読むとか
> すごいことをしてるマクロですよね。
>  Aiming Off さんの、Oaskei.def 以上に異常なのかな?

技術的にも凄いですが、そのアイデアも秀逸で至高のVZマクロの一つですよね。
Oaskei.defとの比較はわかりませんが、先人の知恵は異次元のレベルですね。

>  そうですか、DOSVAXJ3なら、できたんですね。DOSV, AX, J3100 の環境を
> エミュレートしてるんだ。このエミュレータ、すごいよ。
>  結局のところ、ずっとお世話になってる(4年ぐらいブランクがあったのですが)
> VTDOS が、、、とか言いたいわけではないですが。

VTDOSも MS-DOS Playerも駄目なのは、グラフィックモードが無いからかも?
フォントパターンを読めずにそのまま空のデータを書き込んでいるように見えます。
マシン語のエラーで止まらないためメモリを壊しているかもしれないです。
そう思って調べたら、Fコールではエラーになっていないっぽい。
不正なアドレスになっているようだけど、今の私には読めないので追及は諦め。

>  FDD(ドライブ)を買い足すとか、DOS/Vの純DOS環境だけはちゃんとした
> 方向に持っていってます。しばらくは大丈夫だと思っております。

多分DOSV実機なら動くかもですが、まあ機会が有ったらですね。(^^;


12662/12657 CRG00666  文太             Re^5: 2026年 あけおめ
( 0) 26/01/05 12:59 12661:konnoさんへのコメント コメント数:1
konnoさん

>正月、消化しきれぬものが多くて時間が過ぎてしまいました。m(__)m
 どうかお構いなく。僕も、結局のところ、年末年始ってやたら忙しいよね、
な日々を送っています。Vzもベーシックもない感じ。

 とはいえ、

>VTDOSも MS-DOS Playerも駄目なのは、グラフィックモードが無いからかも?
>フォントパターンを読めずにそのまま空のデータを書き込んでいるように見えます。
 これに遠く関係するかもしれないネタ

>多分DOSV実機なら動くかもですが、まあ機会が有ったらですね。(^^;
 これに少し近いネタを見つけています。

 そのうち書きますね。
 僕は、あれは、TBCでコンパイルできるだろう、、、と思ってるけど、
まだ手を動かせず、、、。



12663/12657 CRG00666  文太             TBC 再び、みたび
( 0) 26/01/06 13:00 12662:文太さんへのコメント コメント数:1
 念のためですが、konnoさん、以下を見たことありますよね?

C:\TOKIWA\LIB>dir

CIRCLE TLB 551 01-11-04 9:55
CONTIME TLB 1,297 01-11-04 10:02
EXTCONS TLB 1,602 01-11-04 10:05
MGGRAPH TLB 2,686 01-11-04 22:02 ;-->
MGXCONS TLB 1,440 01-11-04 10:10
RANDOM TLB 2,077 01-11-09 14:34
VGAGRAPH TLB 1,907 01-11-04 10:17


----- from MGGRAPH.TLB -----
***** Mobile Gear Graphic bakebakebake TBC *****

Subroutine DispMode(X) ;BIOSコールだ
Integer X
Value X
/Byte &CD,&10,&C3 ;インライン・アセンブラではないけど
SubEnd ;/Byte, /Word は、sample版でも
;残した、と.docにありましたよね
SubRoutine Get_Mode
/Byte &B4,&0F,&CD,&10 ;data/read文では、コンパイルできない
/Byte &B4,0,&C3 ;だろうと想像されますが、このやり方
SubEnd ;(Vzそっくり)なら、仕様なので
;ぜったいコンパイルできますね
----------------------------

 いちおうこの不如意を簡単に説明すると、僕は結局、Tokiwa Basic Compilerを
3カ所から落としました。1つはベクタ、2つはロシア・サイト。3つとも
sample版だったけど、中身は、微妙に違ったので。

 僕が上をちゃんと使えるのは、遠い日の彼方であることは間違いないですが。

 万が一「見たことない」ということなら、「見る」場所をお知らせします。
 いろいろゴチャゴチャになったしまった、ということです。

 bannerv.def、その他はまだまだ、、、。
 とりいそぎ。


12664/12657 BQO00549  konno            TBCの素数計算で65536を超えるとVTDOSがおかしい
( 0) 26/01/07 22:55 12663:文太さんへのコメント コメント数:1
>  念のためですが、konnoさん、以下を見たことありますよね?

ざっとは見ていますが、私は文太さんとの意思疎通がうまく出来ていない気がして。
とりあえず TBCの現況を書いてみますね。

TBCは普通のBASICにある TIME$なども無いので、マシン語で作ってみました。

20000
* time ax$2c00,&i($21)h=cx/256,m=cx-h*256,
*integer n,h,m,s
* マシン語の内容
/byte &b4, &2c
/byte &cd, &21
/byte &b4, 0
/byte &8A, &c5
value = h
/byte &8A, &c1
value = m
/byte &8A, &c6
value = s
h=h mod 24
m=m mod 60
s=s mod 60
print#0 %2I h; ":"; %2I m; ":"; %2I s
* マシン語 アセンブラのソース
* B8 2C00 mov ax,2c00h
* B4 2C mov ah,2ch
* CD 21 int 21h
* B4 0 mov ah,0
* 8A C5 mov al,ch h
* 8A C1 mov al,cl m
* 8A C6 mov al,dh s
return

これを作った後で、contime.libに同等のサブルーチンがあるのに気が付いた次第です。
subroutine time
なんてこったい。(-_-;)
でもこれが出来たので、prime2.bas 素数表示の移植が出来ました。

#txt:prime2tk.lzh 7098bytes by TBC ソース付き

これを 1 オプション付きで起動して 65550 を入力します。

>prime2tk.exe 1

Prime Number (20 to 100000 ) ? 65550

0: 0:13
Prime Number = 6545

DOSVAXJ3 や MS-DOS Player はこういう表示になるのですが、VTDOSは

0: 0:17
Prime Number = 6555

こうなります。VTDOSだけ 65536を超えるとおかしくなるようです。
エラー処理が無いのでこの状態になったり中断したりするとメモリを壊すかもしれません。
DOSエミュ窓が消滅しても良い状態で試してください。

386コードなどが紛れているのか、VTDOSかソースに問題が有るのか、わかりませんが
現状ここで躓いてしまっています。


12665/12657 CRG00666  文太             Re: TBCの素数計算で65536を超えるとVTDOSがおかしい
( 0) 26/01/08 00:38 12664:konnoさんへのコメント コメント数:1
konnoさん

 意志疎通できてないの、ごめんなさい。僕のせいです。
 僕のほうはですね、konnoさんのことは分からないのですが、konnoさんが書いて
くれたことからは、とっても多くを学んでいます。感謝です。
 アセンブラソースまで、ありがとうございます。


 で、MS-DOS 6.2V(純DOSマシン)で、prime2tk.exeを実行したら以下の
ようになりました。

--------------------------------------------------------
C:\WK>prime2tk.exe 1
コマンドラインの引数 1 1
**** Prime Number Count Ver.240304 ****
opt 1 0
1
Prime Number (20 to1000000) ? 65550
0:26:58

Number.65550
0:26:58
0:26:59
Prime Number = 6545
--------------------------------------------------------

 原因は、VTDOSの方なんじゃないですか、という感想です。
 tbc.comでコンパイルしたのなら(すいません、してません)、386コードは
紛れ込まないのではないですか?



12666/12657 BQO00549  konno            Re^2: TBCの素数計算で65536を超えるとVTDOSがおかしい
( 0) 26/01/08 01:14 12665:文太さんへのコメント コメント数:1
>  で、MS-DOS 6.2V(純DOSマシン)で、prime2tk.exeを実行したら以下の
> ようになりました。
> Prime Number (20 to1000000) ? 65550
> 0:26:58
> Number.65550
> 0:26:58
> 0:26:59
> Prime Number = 6545

実機で試してみてくれたのですね。もしかして処理時間1秒? 凄いですね。
って、あれ? もしかしたら古い方をUPしてしまったようです。(>_<)
うう、差し替え版をUPしても古い方しかダウンロードできない。(>_<)
しかたがないので名前を変えました。

#txt:prime2t2.lzh 7098bytes by TBC ソース付き

こちらは経過秒数で表示します。違いはそれだけかな。(^^;

>  原因は、VTDOSの方なんじゃないですか、という感想です。
>  tbc.comでコンパイルしたのなら(すいません、してません)、386コードは
> 紛れ込まないのではないですか?

私もVTDOSの可能性を疑っているのですが、まだ原因が特定できていないのです。


12667/12657 CRG00666  文太             Re^3: TBCの素数計算で65536を超えるとVTDOSがおかしい
( 0) 26/01/08 01:36 12666:konnoさんへのコメント コメント数:1
konnoさん

 いま僕は何も考えていません。
 もしなにかお役に立つことがあるのであれば、と盲目のまま「作業」だけ
をしました。
 以下はどうでしょうか? もちろん、純DOS環境です。

------------------------------------------------------------------
C:\WK>dir prime2tk.exe
PRIME2TK EXE 6,374 26-01-07 21:21
; これでいいいですよね? prime2t2.exeではないですが。

C:\WK>prime2tk.exe 1
コマンドラインの引数 1 1
**** Prime Number Count Ver.250504 ****
opt 1:画面+file 2:カウント 12:カウントなし+file 99>: opt= 1 0
Prime Number (20 to 100000 ) ? 65550

Number.65550
1:27: 0
0: 0: 0
Prime Number = 6545
------------------------------------------------------------------


12668/12657 BQO00549  konno            Re^4: TBCの素数計算で65536を超えるとVTDOSがおかしい
( 0) 26/01/08 02:06 12667:文太さんへのコメント コメント数:1
> PRIME2TK EXE         6,374 26-01-07   21:21
> ; これでいいいですよね? prime2t2.exeではないですが。

はい、差し替えるつもりだったので中身は同じ名前のままなのでした。

> Number.65550
> 1:27: 0
> 0: 0: 0
> Prime Number = 6545

わお! ゼロ秒とは、流石に最近のPCのリアルDOSは速いですねぇ。うらやま。
これで他のBASICの移植もできる手ごたえは出来たのですが、まさかVTDOSで躓くとは。
実は以前、特定のアセンブラ命令がVTDOSで反応しない?動かないような気がしたのですが
AAA だったかなぁ。?
その時はそういうこともあるのかなくらいに深く考えなかったのですが、もしかしたら
いくつかの命令が実装されていないということはありうるのでしょうか。


12669/12657 CRG00666  文太             Re^5: TBCの素数計算で65536を超えるとVTDOSがおかしい
( 0) 26/01/08 14:08 12668:konnoさんへのコメント コメント数:1
konnoさん

 今晩、少しは手を動かして、まともに考えてみたいと思っています。
 だいたいにおいて、「素数」を見つけ出す計算式を知らないし、、、。
 素数と無縁の人生をおくってきたド文系。

>> 0: 0: 0 ;ココを見てる?
>> Prime Number = 6545 ;出力の読み方が分からない、、、。
>わお! ゼロ秒とは、 ;「ココ」のことですか?
;「ここまでの範囲で一番大きな素数を示せ」ですよね?
;それとも、「6545」個ある?

>流石に最近のPCのリアルDOSは速いですねぇ。うらやま。
 「最近のPC」ではまったくありません。20年以上前のMBとCPU
です。WinMEにはちょうどいい、WinXPでは遅すぎなマシン、というか箱に
入っていないので、板ですね。元ソーテックのマシンだったと思います。

 この年末ぐらいから腐海の整理に着手し、あ、このHDダメになってる
なんてのがあって、またまたヤフオクしてしまってます。
 うん、運がよくて鑑識眼があれば、だいたい1万円で組めますよ。

 「最近のPC」で「リアルDOS」機が組めると思っているkonnoさんに、要らぬ
入れ知恵をば。

 (1)IDEのHDが動かせるMB
 (2)FDスロットのあるMB
 (3)(いろいろ面倒なので)VGA出力のあるMB
 (4)(いろいろ面倒なので)PS2キーボードが使えるMB
 (5)コンデンサの潰れていないMB

 だいたいこんなところかな。(DOSで)うまくUSBが使えるとなお良い、
ついでにLANチップも載っていると、やっぱりいろいろいい、ですかね。
 当時の廉価版のマシン/MBが、高性能でないけど、全部載ってる、というもの
になります。Micro-ATXの小さいのがDOSには合ってると僕は思う。拡張とか
ないし。
 シリアル/パラレル・ポートもデータ通信用に使えます。DOSは過去の資産が
いっぱい! 最後がCD-ROMドライブ。いまはFDで足らしてしまってますが。

 WinME/XP 時代のものになります。これ以前だともうクラシックカー並みの
コレクターズ・アイテムになっているようです。まともに動くものを探すのも
大変そうだし。
 こんな将来を見越していたわけではないですが、WinME/XP時代に、「EMSが
とれない!」騒ぎのなか、腐海資源および腐海技術(知識)をためこんでおいて
よかったな、とは思っています。

 あ、最近気づいたのですが、IBM/PC一辺倒でなかった日本は、ある意味、
エミュレータ大国になっているようです。VFICとか、知ってますか?

追伸:
 すぐ動けないのですが、#12664 の、/byte文の使い方サンプルは、超嬉しかった!
ありがとうございました。

追伸2:
 BIOS ROM (Vector Tableなども)を覗く、ベーシック・ソースがあって、
うはうはしたのだけど(あくまでIBM/PC用)、TBC移植に失敗しています。
TBC、いろんなものがないのね! TIME$みたく自分で作るの?
 コンパイル・エラーがいっぱい出るの、、、だいぶ減らしたのだけど、、、。

 これで、VTDOSと実機の違いが分かるかもしれない、、、とか年末から思っていた
のですが、、、。フォントのありかが分かれば、、、to banner(v).def!
 ま、こんなのがムニャムニャしてて、「意思疎通」できなかった原因なのでは
ないでしょうか? 僕にも秘め事があり、、、。

追伸3:意味フメでしょうが、Vzって、いいわぁ。



12670/12657 BQO00549  konno            Re^6: TBCの素数計算で65536を超えるとVTDOSがおかしい
( 0) 26/01/10 02:05 12669:文太さんへのコメント コメント数:1
> >>  0: 0: 0             ;ココを見てる?
> >> Prime Number = 6545 ;出力の読み方が分からない、、、。
> >わお! ゼロ秒とは、 ;「ココ」のことですか?

げげ、これ、こちらで試してもゼロ秒でした! UP前にソースを弄ってました。
実はマシン語の最後に C3 ret が無いのはまずいと思って追加したのでした。

/byte &8A, &c6, &c3
          ↑これを入れると駄目みたい
これを取ったら正常になりました。
エンバグしたのを上げてしまってすみませんでした。m(__)m
再UPします。

#txt:prime2t6.lzh 7098bytes by TBC ソース付き

>  「最近のPC」で「リアルDOS」機が組めると思っているkonnoさんに、要らぬ
> 入れ知恵をば。

ありがたいです。WinMEかXPなら実現できそうですね。

>  あ、最近気づいたのですが、IBM/PC一辺倒でなかった日本は、ある意味、
> エミュレータ大国になっているようです。VFICとか、知ってますか?

FDイメージの読み書き変換でしたっけ。
そういえば実用的なDOSエミュを知ったのはPC98エミュが最初かと思っていましたが
DOS時代からJ3100エミュレータの じぇいさんなどもあり、お世話になりましたね。
DOS/VもIBMPCの日本語エミュレータとも言えるし。

> 追伸3:意味フメでしょうが、Vzって、いいわぁ。

やはり一番手に馴染む道具ですし、そもそももう他のエデイタが使えない体に。(^^;


12671/12657 CRG00666  文太             Re^7: TBCの素数計算で65536を超えるとVTDOSがおかしい
( 0) 26/01/10 12:27 12670:konnoさんへのコメント コメント数:1
konnoさん

>>今晩、少しは手を動かして、まともに考えてみたいと思っています。
 あ、またしても、意図せず嘘をついてしまった、、、。
 これからです!

>げげ、これ、こちらで試してもゼロ秒でした! UP前にソースを弄ってました。
>実はマシン語の最後に C3 ret が無いのはまずいと思って追加したのでした。
 できたら、ここを一生懸命解明したい、、、。

 つまらぬことを。ここだけ信用していいです。

>txt:prime2t6.lzh 7098bytes by TBC ソース付き ;# deleted
 「by TBC ソース付き」は変です。by は、「誰々によって」の意味。

 VWX by M.Ishida(wing)
 vkeyc by H.Takahashi
 Vz Editor arranged by Taka+Danny+H.konno
 どれも、「誰々によって」の意味。

 「ソース付き」は、

>txt:prime2t6.lzh 7098bytes with TBC ソース ;# deleted
 がいいと思います。


>> エミュレータ大国になっているようです。VFICとか、知ってますか?
>FDイメージの読み書き変換でしたっけ。
 です。こんなに色々あるの? と驚いた。
 一部うまくいき、一部うまくいかない、、、。1.2MB FD のハード&メディア
の壁というのもありまして、、、。720MB FDって高いんですよ、昨今。

>DOS/VもIBMPCの日本語エミュレータとも言えるし。
 そういう考え方もありますか。でもエミュレートは真似して(たぶん)ゼロ
から作るのでしょう。DOS/Vは、足してるだけじゃないですかね。

>> 追伸3:意味フメでしょうが、Vzって、いいわぁ。
>やはり一番手に馴染む道具ですし、そもそももう他のエデイタが使えない体に。
 後悔はありません。高津さんの気持ちはよく分かる、よく皆(みんな)離れて
いけたものですよね。ふつう、そうせざるを得なかったのでしょうけど。

 色々なことの言い訳。
 腐海整理をして、ほんのすこしだけアソコを整理してモノをこちらに運んだら、
こちらに菌が蔓延してしまい、メインデスクのまわりが腐海化しています。年末から
増殖していたらしい、はやく気づけよ!
 少しこいつと戦います。



12672/12672 CRG00666  文太             新スレッド(ベーシック関連)
( 0) 26/01/10 20:12 コメント数:2
konnoさん

 いつまで続くのか分かりませんが、そろそろ新スレッドにしましょう。
 そのうち、オセロに行くかも。
 だらだらですが、お許しいただければ、僕は、いつまでもいつまでもやります。

 とにかく、これぐらいはやろうよ、と思ってました。体感的に、けっこう
かかったな、みたいな感じ。対して、20は速い。

C:\WK>prime2t6.exe 1
コマンドラインの引数 1 1
**** Prime Number Count Ver.250504 ****
opt 1:画面+file 2:カウント 12:カウントなし+file 99>: opt= 1 0
Prime Number (20 to 100000 ) ? 65550

Number.65550
19:55: 0 ;変じゃないですか? 夜7時55分だと思うけど、、、。
0: 0: 0 ;意味がよく分かりませんが、、、。ソース読もうとまだしてません
;1秒かかったと思う。
Prime Number = 6545 ;6545個、あるのね。

C:\WK>prime2t6.exe 1 ;オプションの意味もよく分からない、、、。
コマンドラインの引数 1 1
**** Prime Number Count Ver.250504 ****
opt 1:画面+file 2:カウント 12:カウントなし+file 99>: opt= 1 0
Prime Number (20 to 100000 ) ? 20

Number.20
19:55: 0
0: 0: 0
Prime Number = 8

>type p000.dat
Number. 20
2
3
5
7
11
13
17
19

Number.20 Prime Number = 8
0: 0: 0 ;1秒かかってないと思う。
----------------------------------------
 2から20までの素数は8個という意味ですね。1ってカウントしないのですか?
 0も。
 素数を習ったのは、小学校のとき? 素数の定義をしりませぬ、いまも。
 おほほほほ。

 さあ、腐海菌との戦いを始めよう! ちょっとしたら、あいつをぜったいに
落とすぞ@ヤフオク。



12673/12672 CRG00666  文太             素数
( 0) 26/01/10 20:58 12672:文太さんへのコメント コメント数:1
 さぼっただけです。

---------------------------------------------
素数とは、正の約数が1とその数自身である約数で、1でない自然数のことを
いいます。 簡単にいうと、「1」と「その数自身」でしか割りきれない数を
指します(※)。 (※)割り切れる数というのは、自然数で割ったときにあまりが
0である数を指します。
--------------------------------------------- by AI

 1は素数に分類されない。
 「あまりが0」であるとは、mod (modulus) = 0 ということですね。
 まだ読んでないよ。
 部屋がよけいぐちゃぐちゃになった! これでは寝れない、、、。

**** Prime Number Count Ver.250504 ****

 きっと、version 2025/05/04 の意味だと空想するのですが、こういうの
ちゃんと管理しません? (c) としき
 そういうことしてると、お客さんが逃げますよ。

 どの口が言う? だから、としきさんだって、言ったのは。僕じゃない。


12674/12657 BQO00549  konno            Re^8: TBCの素数計算で65536を超えるとVTDOSがおかしい
( 0) 26/01/10 22:55 12671:文太さんへのコメント コメント数:1
> >げげ、これ、こちらで試してもゼロ秒でした! UP前にソースを弄ってました。
> >実はマシン語の最後に C3 ret が無いのはまずいと思って追加したのでした。
>  できたら、ここを一生懸命解明したい、、、。
>  つまらぬことを。ここだけ信用していいです。

信用してはいけません。おかしい・・・時間がループしているみたいな。

>  「ソース付き」は、
> >txt:prime2t6.lzh 7098bytes with TBC ソース ;# deleted
>  がいいと思います。

添削ありがとうございます。英語は永劫にわからないのです。

> 720MB FDって高いんですよ、昨今。

うーむ、スーパーフロッピーかZIPかMOか? 検索してしまいました。(^^;
同じ容量のはないようですねぇ。(^^;

> DOS/Vは、足してるだけじゃないですかね。

まあそうですが、DOSエミュもWindowsのシステムに足しているとも言えそうな気が。

>  腐海整理をして、ほんのすこしだけアソコを整理してモノをこちらに運んだら、
> こちらに菌が蔓延してしまい、メインデスクのまわりが腐海化しています。年末から
> 増殖していたらしい、はやく気づけよ!
>  少しこいつと戦います。

DOS黒いやつらの死骸にやがて胞子が芽を出して世界は腐海に呑まれてしまった・・・
世界で最も邪悪なVZ一族を掘り出して薙ぎ払おうとしたが、腐ってやがる。遅すぎたんだ・・・


12675/12672 BQO00549  konno            Re: 新スレッド(ベーシック関連)
( 0) 26/01/10 22:57 12672:文太さんへのコメント コメント数:2
> C:\WK>prime2t6.exe 1
> 19:55: 0 ;変じゃないですか? 夜7時55分だと思うけど、、、。
> 0: 0: 0 ;意味がよく分かりませんが、、、。ソース読もうとまだしてません

うげげ、またまたバグ入りのを上げてしまいました。
直したと思ったらテスト用の方を上げてしまうとは。同じ失敗を繰り返しているのは
世界が時間がループしているのか。φ(..; バキッ\(--;

すみません。再々アップです。こんどこそ直っているはず。m(__)m

#txt:prime2t7.lzh 7074bytes with TBC ソース

>  2から20までの素数は8個という意味ですね。1ってカウントしないのですか?

1は素数ではないというのが世界の趨勢らしいです。
私は偶数の2が入るのが釈然としないんですが。

# この世界は割り切れないということであらうか・・・


12676/12672 CXB00940  としき           Re: 素数
( 0) 26/01/10 23:07 12673:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/
口とか性格とか、すなわち頭の悪いとしきとか言うやつのことは無視するとして。

>  きっと、version 2025/05/04 の意味だと空想するのですが、こういうの
> ちゃんと管理しません? (c) としき
>  そういうことしてると、お客さんが逃げますよ。

どんなバージョン管理の方法でもバージョン番号の付与方法でもいいんですけど。
例えば、日付を使った方式の場合、1日に2つ以上のソースはリリースできない、
という問題は発生しがち。日付の後ろに枝番、という方法はあるわけですが、
何かが崩壊しそうな気はする。
多くの場合、バージョン番号は小数点つきの実数が使われますが、1から始まる
自然数を使って悪いことはない。
あるいは、公開するバージョンは整数値の部分を使い、内部的に非公開のものは
小数部分を使う、という方法を使うこともあると聞いたことがあります。

ところで、行番号のあるBASICでは、伝統的に10番刻みの行番号を使います。
なぜというに、途中に追加する場合に、空き番号を使うため。
これの応用というか、上記の少数を使ったものとのあわせ技で、バージョン管理も
10番刻みの整数のものが公開版、1番刻みのものが内部版、というものでも全く
構わない。
ただ、ここでの話題に無理やりこじつけると、公開版のバージョン番号は素数にして
非公開版は合成数にする、なんていうのも面白いかも。
素数の数を数えれば、いくつのバージョンを公開したかすぐにわかる。


12677/12672 CRG00666  文太             Re^2: 素数
( 0) 26/01/11 02:13 12676:としきさんへのコメント コメント数:1
としきさん

 あ、はくしょん大魔王なの? 呼んだよ!

>1番刻みのものが内部版、というものでも全く構わない。
 訳が分からない。
 自然数とかいわれたら、もう。
 自然数と整数って違うの?

>ただ、ここでの話題に無理やりこじつけると、公開版のバージョン番号は
>素数にして
 はふ。た、ぶ、ん、高尚な冗談なんですよね。

 お帰りなさいませ。
 寝ます。7千円だよ、あれ。信じられん。


12678/12672 CRG00666  文太             Re^2: 新スレッド(ベーシック関連)
( 0) 26/01/11 02:24 12675:konnoさんへのコメント
konnoさん

>すみません。再々アップです。こんどこそ直っているはず。m(__)m
 明日、あるいは今日中に。

>txt:prime2t7.lzh 7074bytes with TBC ソース
 Good!

>1は素数ではないというのが世界の趨勢らしいです。
 ふーん。趨勢には勝てませぬ。
 0は深遠ですね。PC的には「0除算」が致命的っぽいけど、これはなぜ?
 なぜか無限ループ状態に入るんでしょうね???

>私は偶数の2が入るのが釈然としないんですが。
 なるほど、そういう考え方もあるんですね。2で割ったら1ですからね。
 半分にできる、、、でも「自身」で割っても割ったことにならないらしい。
 ここは少し論理的整合がかなってる感じがする。

>この世界は割り切れないということであらうか・・・
 数学科の整数論の人とかに聞いたら、面白い話が聞けるのかもしれないですね。
 ま、待てよ、16進数、あるいは2進数で「表現」したら、素数ある?
 ふつうにあるはずだよな、、、。先生、教えてください、素数ってなんですか?
とか散歩しながら考えていました。
 10進数がぜんぜん自然でないような気がしてきました。指がたまたま10本
だっただけだよ、とか。



12679/12657 CRG00666  文太             Re^9: TBCの素数計算で65536を超えるとVTDOSがおかしい
( 0) 26/01/11 02:55 12674:konnoさんへのコメント
konnoさん

 もはや蛇足ですが。

>> 720MB FDって高いんですよ、昨今。
>うーむ、スーパーフロッピーかZIPかMOか?
 2DD、720KBのFDですね。書院とかに使われていたようです。
 OASYSは、1.4KB だったみたい、、、。

>まあそうですが、DOSエミュもWindowsのシステムに足しているとも言えそうな気が。
 まあ、そうか。でも、Windowsシステムってそんなに親切ですか?
 IBM/PC 初版の Technical Reference (技術情報)には、Rom Routine のソース
コードが載っていたそうですよ。see bit saver.
 だから、Rom Bios の再構築が「容易」「可能」だったんだ、とか思ったのですが。
 今のところ、僕はエミュレータ作家の人たちは、逆アセしたりしながら、
「ちゃんと」(?)書いてるんだろう、とか空想しています。でも、ラベルは復元
できない、、、。致命的、、、。

>>  腐海整理をして、ほんのすこしだけアソコを整理して
>腐ってやがる。遅すぎたんだ・・・
 ここだけ、すごく好き。
 でも、「注意」とか出てる Seagate 40GB HD が、DOS的には問題はなんにも
ないねぇという発見もあり、さて、NEC 9821用に、いくつまでクリッピングして
やろうかい、という嬉しい展開もありましたよん!
 まりもさんとか、SAVAさんとか。すごいですよねぇ。MHDD, HD guru 様のお世話に
なってやります。
 ついに、旧8の日(火)が!

 でも、NEC 9821は、あくまでVzの過去ログを試したりするためです。JUNさん
とか。
 趨勢である(らしい)、Global standardである(おい、いつの話だ)、IBM/PC が
基準です。Basicだと、Open#1 とかしないと結果が保存できないのだけど、、、。



12680/12672 CRG00666  文太             prime2t7.exe @vanilla DOS
( 0) 26/01/11 12:26 12675:konnoさんへのコメント
konnoさん

C:\>prime2t7.exe 1
コマンドラインの引数 1 1
**** Prime Number Count Ver.250504 **** ;2025?
opt 1:画面+file 2:カウント 12:カウントなし+file 99>: opt= 1 0
Prime Number (20 to 100000 ) ? 20 ;20まで
12: 4:56 ;ちょっと見栄えが悪いと思う。ゼロ埋めは?
12: 4:56 ;あるいは引き算の結果を知らせるのが目的なら、ここは
Number.20 ;要らない? debug mode ?
0: 0: 0 ;上の引き算の結果なんですね。0秒(ではないが)
Prime Number = 8 ;0.1秒単位まで出てほしい


C:\WK>prime2t7.exe 1
コマンドラインの引数 1 1
**** Prime Number Count Ver.250504 **** ;2025?
opt 1:画面+file 2:カウント 12:カウントなし+file 99>: opt= 1 0
Prime Number (20 to 100000 ) ? 65550 ;たしかVTDOSで問題のでる、65550まで
12: 5:15
12: 5:16
Number.65550
0: 0: 1 ;1秒(そんなにかかってないと思うけど)
Prime Number = 6545


 ずっと意味が分からなかったのですが、#12664によると、
DOSVAXJ3/MS-DOS Player: 13秒
VTDOS: 17秒 ;答が間違っているらしい。10も。
 だったのですね。



12681/12672 BQO00549  konno            Re^2: 素数
( 0) 26/01/11 18:15 12676:としきさんへのコメント コメント数:1
ううう、この記事を書きかけてちょっと離れていたらVTDOSが落ちていました。(;_;)
今日は時空が歪んで霊も騒がしいぜ! また書き直しだ。(;_;)

> >  きっと、version 2025/05/04 の意味だと空想するのですが、こういうの
> > ちゃんと管理しません? (c) としき
> >  そういうことしてると、お客さんが逃げますよ。

これだ! これが原因で時間もとい脳内でループしていたのが深層のようです。

> 例えば、日付を使った方式の場合、1日に2つ以上のソースはリリースできない、
> という問題は発生しがち。日付の後ろに枝番、という方法はあるわけですが、
> 何かが崩壊しそうな気はする。

やっぱりこの方式が良いですね。枝はアルファベットが好きですが。
CKWVの改造版は小数点やアルファベットが使えず崩壊するので桁数を増やしましたね。

> あるいは、公開するバージョンは整数値の部分を使い、内部的に非公開のものは
> 小数部分を使う、という方法を使うこともあると聞いたことがあります。

なるほど。参考になります。

> ただ、ここでの話題に無理やりこじつけると、公開版のバージョン番号は素数にして
> 非公開版は合成数にする、なんていうのも面白いかも。
> 素数の数を数えれば、いくつのバージョンを公開したかすぐにわかる。

うう、これは素数を暗算できる人のみの特級スキルでしょう。(>_<)
こんな発想するのはSランク?


12682/12672 CRG00666  文太             落ちる? 落ちない?
( 0) 26/01/11 20:01 12681:konnoさんへのコメント
konnoさん

 ここだけ。

>VTDOSが落ちていました。(;_;)
 はい、やはり落ちるときには落ちますね。僕のばあい、

2025/12/12 23:22 633,549 inside1.txt
2025/11/28 22:41 861,163 inside2.txt
2025/12/10 23:20 1,404,570 internal.txt
2025/12/08 00:14 1,724,388 kip_7asm.txt

 なんてサイズのファイル(超巨大でもないと思う)を扱っていて、過去4カ月の
あいだに(EMS改善版にして以降)5回くらい落ちましたかね。ちゃんと
「テンポラリーファイルエラー」というメッセージが出る場合もあれば、単に
無言のまま1時間の労働をパーにしてくれる場合もあり、、、。
 純DOSでは(まだ1カ月弱ぐらいだと思うけど)、まったく起こりません。
こっちでは使い方が激しいです。容赦遠慮ないから。でも、落ちたりしない。

 遠い昔のエスキの例(としきさんご指摘)とかxcのバグ(取れてます see
mezala#6183)とかとは別に(これらは vz.comの問題)、VTDOSに、まだ、何か
あると僕は思っています。

 自慢か嫌味になるから言うの止めとこ、と思っていたのだけど、そのリスクは
ぜったいあるとして、こまめなセーブを心がけましょう!


12683/12672 CRG00666  文太             用語整理(数@数学)
( 0) 26/01/11 20:02 12677:文太さんへのコメント
  計算機とお付き合いしてるのですから、はいはい、ある程度、お勉強しますよ。


実数(real number) =数直線上の点で表せる数
・有理数(rational number)
負の整数、0、自然数(natural number、ふつう1,2,3、、)、
正の整数(integer or whole number)、
有限小数、循環小数
(小数=decimal, decimal fraction
小数点=decimal point)
・無理数(irrational number) ルート2、パイ、eとか
終わりなく循環しない小数


虚数(imaginary number) =2乗するとマイナスになる数
i^2=-1 とか表現するらしい
訳が分からん世界だのう、と思った
記憶がある。
理屈ではねぇ、、、とか。