[HOME]  [現在掲示板へもどる]  [ツリー表示]   

過去ログ  番号順 全部表示   FGALVZ  


10177/10177 BQO00549  konno            VTDOSで[ESC]I "カーソル位置へ挿入"不具合
( 1) 22/02/21 22:10 コメント数:4
めざらさんの掲示板 野ざらし言#4609 で今話題になっていますが
VZの [ESC]I "カーソル位置へ挿入"マクロで不具合の事例があるようです。
私も手持ちの生ログで実験してみましたが、VTDOS環境で不具合が再現しました。

以下、野ざらし言の書き込みを再掲します。

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

> > VZ(184B) 184B:149A 'REPNE SCASB 命令ラップアラウンド'
> > アプリケーションでエラーが発生しました。VTDOS を復帰します
> VTDOSでこれが出ると VZは強制終了になっています。
> 特定のマクロなどでたまに出るんですが、MSDOS Pleyer では動いたりするんですよね。
> 私も今回の実験で一度出ていました。

これ、VTDOS.CFG を見たら
SCASB_MODE=0 になっていました。

SCASB_MODE=1 にしたら、エラーは出なくなりましたが、動作に異常があります。
挿入ファイルが途中までしか入っていません。改行で区切られてはいますが。
381081byteのファイルに380844byteのファイルを挿入して、761925byte になるはずが
759882byte になっています。2043byte が失われました。

VTDOSでは、試した全てのVZで同じ状態になりました。
MSDOS Player や DOSVAXJ3 は問題ないです。

&t でトレースしてみたら、ブロック移動ループの途中で挿入ブロックが切れてきました。
つまり、ファイル末までブロックがかからなくなってきたということです。
そして、何回目かの #y の行削除でVTDOSが落ちました。

SCASB_MODE=1 にしても、同じ個所までしかファイル挿入されずに終了しています。
その直前の行が、1行で 4551byte ありました。

試しに、EMS無しで、XMSだけでVZ起動してやってみたら正常に終了しました。
試した全てのVZでこのマクロが正常に動作したのです。

これは、VTDOSの EMS とVZの間に問題があるということでしょうか。
この問題は、これ以降は私の掲示板で続けます。

としきさんの場合も何か参考になれば幸いです。

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

わかりにくいかと思うので、もう一度現時点での結論を書くと

> VTDOSの EMS とVZの間で問題が出ることがある

と思われるということです。

これから色々検証してみたいと思います。



10178/10177 BQO00549  konno            VTDOSとXP(NTVDM)の共通点?
( 1) 22/02/26 19:34 10177へのコメント(konnoさん) コメント数:1
探してみたら、こんなものがありました。

> 05665/05668 xxxxxxxx  Emmett           VZBUG(2) サイレントモード関連のバグ
> (15)   97/04/15 10:58

> ■ VZバグ大全(2):サイレントモード関連のバグ

> (A)サイレントモードでの #k または #y の反復
>  サイレントモードで、非ブロックモードでの行記憶またはカット(#k、#y)を連
>   続して実行すると、ある特定の点までくると、テキストスタックに格納される文
>   字列の最後が化けることがあります。


これは非ブロックモードの話なので、今回は違うかもしれませんが

> (B)サイレントモードでの #_
>   どうやらサイレントで実行された #_ は、特定の条件下でカーソル位置ポインタを
>   算出しまちがえるらしい。

>  このトラブルは、 #_ 直後に #? などで最終行を一度表示してやれば回避するこ
>   とができます。これは #_ 直後でなければ駄目で、#38 のあとでは遅すぎます。
 
>   ・サイレントでの #_ のあとには #? &s
>  と習慣づけておくといいでしょう。


どうやらこれが関係ありそうです。
高橋版でもこのバグは潰しきれなかったような気がします。

 [ESC]I @I "I カーソル位置へ挿入" のマクロを

;	#b #_ (ct)?{ #> #m #x }
	#b #_ #? &s (ct)?{ #> #m #x }

このようにするか、&s を取ってしまうと、改善がみられました。

前回と同じ条件で実行して、ファイルサイズが一致するようになりました。
ただし、中身はおかしくなっているようです。
これはおそらく VTDOS の EMS がらみの不具合と思われます。

この実験で、榊原版VZだけは、ファイルサイズが小さくなりました。
ファイル挿入が途中で終わっているのか、それとも?


今まで実験に使用した生ログファイルは

 280,386 wf_log.cgi
 380,844 wf_log130407.cgi
 381,081 wf_log130408.cgi

このうちの 381k のファイルの途中に 380k のファイルを挿入していました。
挿入する 380k のファイルに問題があるのか確認のため、今度は
 280k のファイルの途中に 380k のファイルを挿入する実験をしました。

そうしたら、榊原版以外の VZ は正常に終了しました。
榊原版VZだけは、ファイルサイズが2バイト大きくなりました。
改行が1つよけいに入っていました。

この現象について、野ざらし言#4651 で、めざらさんの発言

> テキストスタックに複写する際に,テキストバッファサイズの境界付近に
> たまたまラインバッファサイズを超える長い行が存在した場合の振る舞い
> (結構レア?)に係ることかもしれないですね。「新発見」かも。

これが関係しているかもしれないと私も思いました。

ただ、MSDOS Player と DOSVAXJ3 では正常に動作しているのが謎なのです。
プラットフォームのメモリ管理とVZの相性で不具合が出ているのではないかと感じるのです。
VTDOSとXP(NTVDM)の共通点は、32ビットのメモリ管理で16ビットのVZを動かしているところ?


10179/10177 BQO00549  konno            もしかして ia32 の問題絡み?
( 1) 22/02/27 15:23 10178へのコメント(konnoさん) コメント数:1
前回の書き込みで

> ただ、MSDOS Player と DOSVAXJ3 では正常に動作しているのが謎なのです。
> プラットフォームのメモリ管理とVZの相性で不具合が出ているのではないかと感じるのです。
> VTDOSとXP(NTVDM)の共通点は、32ビットのメモリ管理で16ビットのVZを動かしているところ?

このように書きましたが、32ビットのメモリ管理で、ふと思ったことがあります。
ちょっと前の記事ですが

#10145:MS-DOS Player 12/30版  投稿者:konno   2021/12/31(金) 

> さっそく使ってみましたが、ia32版では、自作のアプリでエラーが出ます。
> 自作アプリとは、turbo basic の古いプログラムで、VGAでないと動きません。
> 
> 実は、今までの MS-DOS Player では、エラーが出て使えませんでした。
> 軟式さんの DOSVAXJ3 では使えていました。
> 
> ia32_x86	数字4桁の入力で、OE+2?? (??は数字によって変わる)エラーで止まる
> ia32_x64	数字4桁の入力で、OE+2?? (??は数字によって変わる)エラーで止まる


MS-DOS Player でも ia32版では16ビットのアプリでエラーが出ます。
なので、今は ia32版は使っていません。
VTDOS も、ia32 を使っているとしたら、ここに共通の問題があるのではないかと感じました。


#10157:turbo basic は VTDOSで動かない  投稿者:konno   2022/01/15

> このプログラムを、VTDOS で動かしてみましたが、動きませんでした。
> エラーログを見てみると、ログが残っていました。
> 
> 2022-01-15 16:28:00 AISYO(17BA) 17CA:0EC8 'Out Byte 0043 34'
> 
> AX=2534 BX=0006 CX=0004 DX=1F10 SI=703A DI=7070 BP=17BA DS=17CA ES=0040 FLAGS=0046
> 
> CS:IP=17CA:0EC8
> 17CA:0EB8 2E F6 06 6E 34 40 75 13 50 E8 6D 27 B0 34 E6 43 
> 17CA:0EC8 EB 00 32 C0 E6 40 EB 00 E6 40 58 CF 50 FB 32 C0 
> 
> SS:SP=17CA:0072
> 17CA:0062 00 00 00 00 40 36 CA 17 46 00 CA 17 10 1F C4 0E 
> 17CA:0072 00 01 7B 03 CA 17 06 02 F6 01 CB 01 00 00 00 00 
> 
> 2022-01-15 16:28:00 AISYO(17BA) 17CA:0EDA 'Out Byte 0043 00'
> 
> AX=0100 BX=0006 CX=0004 DX=1F10 SI=703A DI=7070 BP=17BA DS=17CA ES=0040 FLAGS=0246
> 
> CS:IP=17CA:0EDA
> 17CA:0ECA 32 C0 E6 40 EB 00 E6 40 58 CF 50 FB 32 C0 E6 43 
> 17CA:0EDA FA EB 00 E4 40 8A E0 EB 00 E4 40 86 C4 F7 D8 40 
> 
> SS:SP=17CA:0072
> 17CA:0062 00 00 00 00 40 36 CA 17 46 00 CA 17 CA 17 BA 17 
> 17CA:0072 00 01 7E 03 CA 17 06 02 F6 01 CB 01 00 00 00 00 
> 
> 'Out Byte 0043 34' と、'Out Byte 0043 00' の2つのエラーがあるみたいです。

このエラーが16ビットメモリ操作の裏技に由来するとしたら?
VZはメモリの裏技をバンバン使っているようですし。
 ia32 のメモリ管理は16ビットアプリの使用には問題があるとか?
メモリの自己書き換えなどを許さない仕様とか?

VTDOS では ia32 は使っていないというのであれば私の思い違いということで。m(__)m


10180/10177 BQO00549  konno            製品版 [ESC]I マクロのバグは、#B だった
( 1) 22/02/28 18:06 10177へのコメント(konnoさん)
野ざらし言#4654 に書きましたが、ここにも再掲します。

insfile.def を見てみると、ループ中に #B を使っていません。
としきさんが、#B が怪しいとにらんでいるのは正解かもと思い
製品版の [ESC]I マクロを修正してみました。


= esci.def =

製品版の [ESC]I マクロのバグ回避は、#B を使わないこと

*m


8  [ESC]I @I "I カーソル位置へ挿入"
	?. (mr==$80)?{ &m(36) . }
	&m("カーソル位置へファイルを読み込みます")
	n=wn, c=wc,
;	#R
	#R #m					;★ 直接ファイラーへ
:A	(s)?{ &c >A }
	(wc==c)? >Z
	mr=-1,
	&s
	#W &#T(n)
:B	#W &#T(c+1)
	#b #_ (ct)?{ #> #m #x }
;	#b #_ (ct|lh)?{ #> #m }		; #x は不要  T.Tanomura 94/01/05 15:48
:C
;	#y (mb)?{ #W #< #i (ek)?? #B #W >C }
	#y (mb)??>D				;★ ブロックでなければループを抜ける
	#W #< ek[+, #i ek], #W >C		;★ #B を使わない
:D	#C &#T(n)
	#< #i (ek)?? #B
	(wc>c)? >B
 	&d
:Z	&m("")

*


これで、今まで VTDOS153 で異常が出ていたファイルも正常に処理出来ました。
サイレントのままでも、試した全てのVZで問題なく動作しました。

結論として、#B にはバグがあるということですね。
そのバグは、VTDOS や NTVDM で出やすいようだというのが今の状況です。



10187/10177 BQO00549  konno            VTDOSでTPAEXT=1 は危険かも
( 1) 22/05/28 00:36 10179へのコメント(konnoさん)
先日5月11日の野ざらし言#4714 の発言でVTDOS関連の情報を書きました。
こちらにも転載します。

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

"> WinXP(32),VTDOS1.22(ckwvなし)"
"> 以下略。"
"> cmd+command.comのところをVTDOSに変えただけですが、結果、VZの挙動は全く変わらず。"

ええっ、VTDOS1.22 では、OK になるんですか!
私の所では、VTDOSは今まで NG だったんですよ。

それで、VTDOS1.22 を引っ張り出して、何度か試行錯誤していたら出来ました。

VTDOS122 恐らく全てのVZ共通
Bl1024*4 OK
Bl1024*5 OK

Bl がこの範囲以外では NG になります。
としきさんの場合はこれ以外でも OK ということですか。


あと、VTDOS1.53 では、エラーで落ちてしまいました。
VTDOS1.22 と何かが違うのでしょうか。
取り敢えず、メモリ関連オプションを全部コメントにしてみたら

Bl1024*4 OK
Bl1024*5 OK

OK になりました! \(^^)/ ヤッタ-
なので、今度はメモリ関連オプションを一つづつコメント外してみたら

TPAEXT=1 NG

このオプションが駄目だったようです。なので
TPALOW=1
は問題なさそうなので設定しました。

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

これで大分安定しましたが、まだ何かあるかもしれません。


10195/10195 BQO00549  konno            掲示板のメンテナンス 2022
( 1) 22/07/30 23:32 コメント数:2
スパム掃除のついでに掲示板のメンテナンスをしました。

クロム系のブラウザで、記事本文が小さく表示されるのを改善しました。

ヘッダーで、
# 本文の文字サイズ
#$b_size = '17px'; オリジナル
#$b_size = '100%'; 今までこれだった。
$b_size = '120%';  少し大きくした。

こうしたら記事本文の文字が大きくなりました。
今後も気づいたところから直していきます。


10196/10195 DGF01024  めざら           Re: 掲示板のメンテナンス 2022
( 1) 22/07/31 08:37 10195へのコメント(konnoさん) コメント数:2
参照先:http://mezala.la.coocan.jp/
個人の感想(一般的なウェブアクセシビリティの観点から大きく外れていないと思いますが)を述べさせていただきますと,
特定のWWWブラウザの見え方に依存する変更は「改善」とは言わないと思います。

クロム以外のブラウザでは,とんでもなく(…という程でもないですが)大きな文字で表示されるようになりますよね。
つまり,クロム以外のユーザは排除する方向(…という程でもないですが)と言うか,少なくとも従来の感覚に変更を強いるものですね。

取り敢えず試していただきたいのが,クロムの設定→デザイン→フォントサイズを確認してみることです。
フォントサイズが「中(推奨)」となっているのが普通かと思いますが,ここを調整して手元の環境に合わせるとよいと思います。

もう十年以上経つかと思いますが,その頃から小さなフォントで表示するのが「クール」とされる時代が始まり,
年配者の反感を大いに買ったと思われるわけですが,近年,ディスプレイの解像度が高く(細かく)なり,
逆に文字が小さすぎて若者ですら読みにくいという現象も一部の環境で見られるようです。


10197/10195 BQO00549  konno            Re^2: 掲示板のメンテナンス 2022
( 1) 22/07/31 22:03 10196へのコメント(めざらさん)
> クロム以外のブラウザでは,とんでもなく(…という程でもないですが)大きな文字で表示されるようになりますよね。つまり,クロム以外のユーザは排除する方向(…という程でもないですが)と言うか,少なくとも従来の感覚に変更を強いるものですね。

えっ、そんなに違って見えますか・・・
クロム系とファイヤーフォックスで確認してますが、他にチェックすべきブラウザはありますか。

> 取り敢えず試していただきたいのが,クロムの設定→デザイン→フォントサイズを確認してみることです。フォントサイズが「中(推奨)」となっているのが普通かと思いますが,ここを調整して手元の環境に合わせるとよいと思います。

なるほど、「中(推奨)」だと小さく見えるんですね。
「特大」だと大きすぎるので、「大」にしました。
$b_size = '125%'; にしていたので、110% に変えてみました。

> もう十年以上経つかと思いますが,その頃から小さなフォントで表示するのが「クール」とされる時代が始まり,年配者の反感を大いに買ったと思われるわけですが,近年,ディスプレイの解像度が高く(細かく)なり,逆に文字が小さすぎて若者ですら読みにくいという現象も一部の環境で見られるようです。

最近文字が見えにくくなって、拡大表示することが増えました。
テレビもパソコンもLEDバックライトで眩しくなったのも一因かと(いや観すぎだろ)。


10198/10195 CXB00940  としき           Re^2: 掲示板のメンテナンス 2022
( 1) 22/08/01 01:06 10196へのコメント(めざらさん) コメント数:2
参照先:http://toshiki.la.coocan.jp/
会社のいつも使っている端末の、いつものFirefoxのいつもの常用環境でここを
開いたら、なんかいきなり文字が大きくてちょっとびっくり。
[CTRL]を押しながらマウスのぐりぐりを前後させて縮尺を80%にしたらちょうど
いい感じ。それから#10195を読んで、あぁなるほど、そういうことか、と。
それなら、Chromeならどうなるんだろうと、普段はあまり使っていないChromeで
ここの掲示板を見たら、確かにいい感じの大きさ。なるほど。
だけど、同じく職場にあって、普段は別の人が使っている、解像度は同じだけど
インチが小さいディスプレイに私の端末をつないで表示させてみたら、Chrome
でもやっぱりちょっと小さい。むしろ、Firefoxだと、元の設定に戻してちょうど
いいくらいの大きさ。

自宅に戻って、Firefoxからここを開いたら、職場ほど極端に大きくない。
むしろ、一回り大きくなっただけで、目の弱ってきた私にはいい感じ。
あれっ、と思ったら、#10197なのね。
ということで、

> 特定のWWWブラウザの見え方に依存する変更は「改善」とは言わないと思います。

めざらさんのこのご意見には、私もおおむね同意です。
ま、あれだ、フォントサイズを絶対指定にしてブラウザ側で表示サイズを変えられ
ないような極悪なシステムも散見される世の中にあって、サーバ側で指定する値を
どうするか、というのはある意味悩ましいものもあります。
そういう意味では、めざらさんのところの掲示板のフォント指定というかCSSでの
指定方法は、なかなかいいのではないか、と思う今日この頃。

さておき、クライアント側の設定は無限にあるわけでして、サーバ側はそんなもの
にいちいち関与することはできない、と割り切るのも一案。
この場合、本文に対するフォントサイズ設定は一切やめる。
そして、その他の文字サイズ指定は基本的に相対指定。つまり、-1とか-2を使う。
こうすれば、おおよそ万人というか閲覧者側に全ての責任を押し付けられる上に、
HTML側でfontタグを大幅に削減できるため掲示板スクリプトのメンテナンスが楽
になるし、副作用というか、HTMLの転送時間ならびにブラウザでのレンダリング
時間の縮減も図れるという副作用もあって、サーバ側もブラウザ側もみんな幸せ、
というのがちょっと前の世の中のトレンドでした。
今はどうなのかわかりませんが。

ところで、掲示板正面玄関というか、タイトル文字右側にある[-]とか[+]で文字
サイズが変えられるようになっているわけですが、それを倍率を換えるように変更
していただけないでしょうか。現状では、なかなか浮かばれないというか、扱いが
かわいそうな気がする。
もちろん、ガッツリ削除、というのが私のお勧め。
めざらさんはまた違ったご意見があるかもしれないけど。

10199/10195 BQO00549  konno            Re^3: 掲示板のメンテナンス 2022
( 1) 22/08/03 00:58 10198へのコメント(としきさん) コメント数:1
> > 特定のWWWブラウザの見え方に依存する変更は「改善」とは言わないと思います。
> めざらさんのこのご意見には、私もおおむね同意です。

どうやらとしきさんにも不評のようですね。(^^;

> この場合、本文に対するフォントサイズ設定は一切やめる。
> そして、その他の文字サイズ指定は基本的に相対指定。つまり、-1とか-2を使う。
> こうすれば、おおよそ万人というか閲覧者側に全ての責任を押し付けられる上に、
> HTML側でfontタグを大幅に削減できるため掲示板スクリプトのメンテナンスが楽

そうしたかったんですが、ソースを表示するための等幅フォントがネックだったのです。
<pre>や<tt>を指定すると、既定のフォントとは違うフォントに切り替わるのです。
うちの掲示板は記事本文に<pre>や<tt>を使用しているので、記事本文だけ文字が小さく見えます。
そのフォントが小さいうえに読みづらいフォントだなと感じていたのでした。
それで、バランスを取るために記事本文のフォントサイズを変えたのです。
CSS を使えば全部解決できるかもですが、私は勉強不足なもので。

> ところで、掲示板正面玄関というか、タイトル文字右側にある[-]とか[+]で文字
> サイズが変えられるようになっているわけですが、それを倍率を換えるように変更
> していただけないでしょうか。現状では、なかなか浮かばれないというか、扱いが
> かわいそうな気がする。

現状ではリストのツリー表示だけ拡大縮小になってますね。
これはこれで面白そうですが。(^^;
色々バグもあるので、時間が取れたら直してみたいと思います。


10200/10195 DGF01024  めざら           Re^4: 掲示板のメンテナンス 2022
( 1) 22/08/03 10:36 10199へのコメント(konnoさん) コメント数:2
参照先:http://mezala.la.coocan.jp/
「不評」と言いますか,突然変わると先ず手元の環境を疑うところから始めるので,
その確認が正直めんどくさいというだけの話なので,管理者の自由ではあるのですが,
「改善」という意識にちょっとだけ引っかかっただけです。(^-^)

> <pre>や<tt>を指定すると、既定のフォントとは違うフォントに切り替わるのです。

あくまでもソースなどの「みやすさ」のために,ブラウザが monospace フォントに変えますね。
一般的な印刷物でも明示的に consolas とか courier にしていると思います。
インデントの位置がずれると格好悪いですからね。ウェブでも同じです。サイズも本文より少し小さく。

> それで、バランスを取るために記事本文のフォントサイズを変えたのです。

全体のフォントサイズを変えても,preも連動するように本文に対して相対的に小さいままです。
なので,たぶんお望みのようにはなっていない可能性が高いですね。

> CSS を使えば全部解決できるかもですが、私は勉強不足なもので。

全部とはいかないかもしれませんが,取り敢えず試していただきたいのが wf_init.cgi の出力指定です。

掲示板を表示している状態で,Ctrl+U などでHTMLのソースを表示してみてください。
現状のソースの9行目に STYLE 指定がありますよね。閉じるまでが CSS の指定です。
この部分に,例えば【pre,tt { font-size:100%; }】のように出力できればよいわけです。

CGIのバージョンが違いますが,「HTMLヘッダ」という見出しを探してみてください。
「<style type="text/css">」という行を探してもよいです。ここに
pre,tt { font-size: 100%; } とか,
pre,tt { font-size: medium; } とか,
pre,tt { font-size: 1em; } とか指定すれば,pre指定時も本文とほぼ同じサイズになります。

なぜ「ほぼ」かというと,preに対して使われるフォントが異なるからです。
(本文は MS UI Gothic が優先表示で,pre に使われると思われる MS ゴシックと字形も違う。)

いずれにしても,掲示板の管理者たる konnno さんの指定次第です。

ただ,#10197 で 110% にしたと仰るが,HTMLソースでは 100% と表示されているので,
どこか別のところで何か変な指定をしている可能性も疑われます。
こういうのは,ご自身で解決していただくしかないと思われます。


10202/10195 DGF01024  めざら           Re^3: 掲示板のメンテナンス 2022
( 1) 22/08/03 17:48 10198へのコメント(としきさん) コメント数:1
参照先:http://mezala.la.coocan.jp/
> この場合、本文に対するフォントサイズ設定は一切やめる。

自分のところでは,フォントサイズの絶対指定は一切排除しているわけなのです。ところが……

自分のサイトの他のページは,ブラウザごとに大きく表示が異なるということはないのに,
何故か掲示板だけ明らかに Chrome と Firefox とでフォントサイズが異なっているわけです。
一応,Edge なんかで表示しても少し違う。サイズは Chrome に近いけれど違うところもある。

ここが謎なんですね。

なので,Konno さんのお悩みの点は,本来自分(たち)の問題でもあったわけなのですよ。

…と言っても,フォントサイズの絶対指定はしていないし,本来変わらないはず。
Chrome と言えば,あるバージョンでデフォルトのフォントをメイリオにした関係で,
色々表示上のメンテナンスを各サイト管理者に強いたということはあったけれど,
ごく普通のサイトは特段の影響はなかったのではないかと思われるわけなので,
それが関係するとは思えない。

唯一思いつくのは,MS系のレガシーなフォントを優先表示フォントとして設定している場合。
Chrome でフォントごとにサイズの指定を無視するというのは考えにくいですが,
多少の調整をするという可能性はもしかするとあるのかもしれない。

CSS も万能じゃなくて,ブラウザごとに対応状況が異なっていますからね。

少しずつ実験してみたいと思います。
これが konnno さんのお悩み解決につながればよいのですけど。


ところで,BBS新着情報のページなのですが,かなり小さなフォントで行間もないので,
だいぶぎゅぎゅっと表示されているのですけど,少し大きくしていただけないでしょうか。
フォントサイズ 80% になっていて,Chromeだといよいよ縮小表示されて見えます。
あー,そうするとまた Fx でデカく表示されてしまうのか……悩ましいなぁ……

動的ページだけなのか……何だろう(?_?)


10203/10195 DGF01024  めざら           Re^5: 掲示板のメンテナンス 2022
( 1) 22/08/03 21:44 10200へのコメント(めざらさん)
参照先:http://mezala.la.coocan.jp/
どうやら,Chrome の font-family 指定におけるバグっぽいものらしく,
対症療法を示す,それっぽい記載が見つかりました。
monospaceの指定だけだとフォントサイズが小さくなるらしいです。
#10202の予測は外しました。

2015-07-02
font-family: monospace;だと文字が小さくなる
https://silight.hatenablog.jp/entry/2015/07/02/214601

まだ実験中ですが,Chrome には依然として適用できていません。
そのかわり,Edge では想定に近い表示になりました。
なんでかな?

10204/10195 BQO00549  konno            CSSで pre,tt の指定
( 1) 22/08/03 22:41 10200へのコメント(めざらさん) コメント数:1
> あくまでもソースなどの「みやすさ」のために,ブラウザが monospace フォントに変えますね。
> 一般的な印刷物でも明示的に consolas とか courier にしていると思います。
> インデントの位置がずれると格好悪いですからね。ウェブでも同じです。サイズも本文より少し小さく。

なるほどそうなんですか、等倍にすると横幅が伸びる分フォントが少し小さくなるのだと思っていました。

> 現状のソースの9行目に STYLE 指定がありますよね。閉じるまでが CSS の指定です。
> この部分に,例えば【pre,tt { font-size:100%; }】のように出力できればよいわけです。
>
> CGIのバージョンが違いますが,「HTMLヘッダ」という見出しを探してみてください。
> 「<style type="text/css">」という行を探してもよいです。ここに
> pre,tt { font-size: 100%; } とか,
> pre,tt { font-size: medium; } とか,
> pre,tt { font-size: 1em; } とか指定すれば,pre指定時も本文とほぼ同じサイズになります。

これは勉強になります、試してみます。


10205/10195 BQO00549  konno            Re^4: 掲示板のメンテナンス 2022
( 1) 22/08/03 22:49 10202へのコメント(めざらさん)
> ところで,BBS新着情報のページなのですが,かなり小さなフォントで行間もないので,
> だいぶぎゅぎゅっと表示されているのですけど,少し大きくしていただけないでしょうか。
> フォントサイズ 80% になっていて,Chromeだといよいよ縮小表示されて見えます。

ちょっと見栄えを変えてみたんですが、フォントが小さすぎましたか。(^^;
Fx で確認していませんでした。(^^;;
調整します。m(__)m

> あー,そうするとまた Fx でデカく表示されてしまうのか……悩ましいなぁ……

あれ? うちでは、クロムの方が大きくなる・・・ 設定変えたせいか。
とりあえず大きくしてみました。


10206/10195 BQO00549  konno            BBS新着情報のページを更新 Ver0.82
( 1) 22/08/03 23:10 10195へのコメント(konnoさん) コメント数:2
BBS新着情報のページを見栄えなど更新しました。

今回は、クロムのフォントサイズを大きくしたらBBS新着情報が大きすぎる気がしたもので
フォントを小さめにして行間も詰めてみましたが、小さすぎるとのご指摘で再調整しました。


備忘録として

・全体を <tt> </tt> で囲うとテーブル枠内の文字も一緒に少し小さくなります。

・テーブル枠内の文字サイズなどを調整するには

 <table border=1 ><tbody style='font-size:$tbsize'><tr><th>

 このような指定で出来ました。


10207/10195 DGF01024  めざら           Chrome の monospace フォントに関する指定(確定版)
( 1) 22/08/05 13:25 10204へのコメント(konnoさん) コメント数:1
参照先:http://mezala.la.coocan.jp/
Chrome の monospace フォントに関するバグを回避する方法を,下記のサイト様で学びまして,
https://silight.hatenablog.jp/entry/2015/07/02/214601
うちの掲示板で試してみていたのですが,ようやく反映を確認できました。

monospaceフォントが使われることの多い要素に以下のような指定をすると,反映されます。

tt, code, kbd, samp, pre, xmp, plaintext, listing {
    font-family: monospace, serif;
}

うちの掲示板では,念のため以下のように明示的なサイズ指定も加えました。
tt, code, kbd, samp, pre, xmp, plaintext, listing {
	font-family: monospace, serif;
	font-size: medium; 
} /* Chromeはmonospaceのみの指定だとサイズが小さくなる */

うちの掲示板では,preを指定したアーティクルの背景色(薄墨)をつけているので,
Chromeで見比べてみてください。

これにより,個々の掲示板のソースでいちいちサイズ指定する必要はなくなります。
としきさんの仰るように,固定サイズ指定をバッサリ削ると自然な表示になると思います。

副作用のない指定方法を公開している,しらいと様に感謝。


なお,過去のブラウザの初期設定では,pre 要素などで小さなフォントが使われるのがふつうで,
これまでは特に疑問を感じていなかったのですが,konno さんのおかげで〈きっかけ〉ができ,
ブラウザ間の違いを改善することができました。

以前から,code や kbd などを指定した要素の表示がよろしくなくて気にはなってましたが,
おいおい解決していきたいと思います。

ありがとうございました。


10208/10195 BQO00549  konno            Re: Chrome の monospace フォントに関する指定(確定版)
( 1) 22/08/06 02:14 10207へのコメント(めざらさん) コメント数:2
> Chrome の monospace フォントに関するバグを回避する方法を,下記のサイト様で学びまして,
> https://silight.hatenablog.jp/entry/2015/07/02/214601
> うちの掲示板で試してみていたのですが,ようやく反映を確認できました。

このサイトを覗いてみたら理屈が判りました。

-------------------------------------------------
等幅フォントも可変幅フォントと同じサイズで表示したい時は次のように指定します。

font-family: monospace, serif;
これはmonospaceフォントで表示できない文字はserifフォントで表示するという意味ですが、そうなることは稀です。そして、このように等幅フォントと可変幅フォントを混在させた場合、可変幅フォントのデフォルトサイズが優先されます。(つまり可変幅フォントならserif以外でも良いです。単純に一番短いserifを選んだだけなので。)
-------------------------------------------------

なるほど納得です。

> うちの掲示板では,念のため以下のように明示的なサイズ指定も加えました。
> tt, code, kbd, samp, pre, xmp, plaintext, listing {
> 	font-family: monospace, serif;
> 	font-size: medium; 
> } /* Chromeはmonospaceのみの指定だとサイズが小さくなる */

これを入れてみたら丁度良い見栄えになりました。

> これにより,個々の掲示板のソースでいちいちサイズ指定する必要はなくなります。
> としきさんの仰るように,固定サイズ指定をバッサリ削ると自然な表示になると思います。
> 
> 副作用のない指定方法を公開している,しらいと様に感謝。

掲示板の全面改修は直ぐにはできませんが、本当に感謝ですね。

> なお,過去のブラウザの初期設定では,pre 要素などで小さなフォントが使われるのがふつうで,
> これまでは特に疑問を感じていなかったのですが,konno さんのおかげで〈きっかけ〉ができ,
> ブラウザ間の違いを改善することができました。

ブラウザ間の違いをほぼ無くせるとはまるで魔法のようですね。
私が気になっていたのは、等幅フォントのMSゴシックが線が細くて見えにくい
文字が読みにくいと感じたからです。そうとう目が悪くなったようです。
なので、等幅フォントはメイリオに変えました。


10209/10195 DGF01024  めざら           Re^2: Chrome の monospace フォントに関する指定(確定版)
( 1) 22/08/06 08:38 10208へのコメント(konnoさん) コメント数:1
参照先:http://mezala.la.coocan.jp/
もう黙っていようかと思ったのですが,自分の精神衛生上よろしくないので……

メイリオを指定しても所期の表示にはならないと思います。
なぜなら,メイリオはプロポーショナルフォントだから。

むりやり等幅にした Meiryo_KE とか有るようですが,
表示する人の環境になければ意味がないですし。

monospace 用に具体的なフォント名を指定するのはナンセンスかもです。

もしかすると MSゴシックも使われていないかもしれません。
調べてないからわかんないけど。(^^;

10210/10195 BQO00549  konno            Re^3: Chrome の monospace フォントに関する指定(確定版)
( 1) 22/08/07 00:58 10209へのコメント(めざらさん)
> もう黙っていようかと思ったのですが,自分の精神衛生上よろしくないので……
> メイリオを指定しても所期の表示にはならないと思います。
> なぜなら,メイリオはプロポーショナルフォントだから。

言葉足らずでした。
メイリオを指定したのはブラウザのフォント設定です。

答倍フォントの設定で、一覧にゴシック系のフォントが並んでいるので色々試してみました。
見栄えが変わるので一応効いているのかと思いました。

その中で MSゴシックよりも見やすく思えたのがメイリオだったのです。
私が良く使う顔文字の記号 (^^; の「^」だけは違和感がありますが。(^^;

> 表示する人の環境になければ意味がないですし。

ブラウザの設定なので、自己満足でいいのではないかと思っています。
実際に変わっているかはわかりません。(^^;


10211/10195 CXB00940  としき           Re^2: 各ブラウザでの見栄え
( 1) 22/08/13 17:37 10208へのコメント(konnoさん) コメント数:3
参照先:http://toshiki.la.coocan.jp/
> > ブラウザ間の違いを改善することができました。
> ブラウザ間の違いをほぼ無くせるとはまるで魔法のようですね。

あ〜、そういえば私、最近はブラウザ間の違いをチェックしていないなぁ。
うちのサイトや掲示板、昔はネットスケープとIE、Firefoxできちんとチェック
していたんですけどね。
当時の環境で、ほぼブラウザ間の差異がないことを確認してそれっきり。
その後、ネットスケープとIEはなくなり、Operaはメジャーではないとしても、
新たにChromeだのEdgeだの出てきたわけだし。あいにく、Safariにいたっては
触ったことすらないし環境もない。
Edgeだけは出てきた当初に、うちのサイトをちょっとだけチェックしたような。
そのうちきちんと、せめてChromeでの見栄えチェックをやっておかねば。


ところで、掲示板メンテナンスという関連で、いくつかリクエスト。
一つは、前にも話を出したところですが、「返信フォーム」の上に表示されている
「関連一覧ツリー」のツリー表示が乱れる件。
もうひとつは、同じところですが、「関連一覧ツリー」のトップというかルートと
いうか、下三角が表示されている隣の発言。
他の発言と違い、ここだけなぜか発言番号が表示されていない。
mode=allreadのほうではツリー表示はきちんとしている一方、発言番号は各発言の
行末に表示されるようになっているので、#10116にあるように、それぞれのツリー
表示ルーチンを比較すれば、いずれも容易に解決できるような気がします。
ただ、konnoさん、ときどきバージョン管理を失敗して、古い版を参照していたり
することがあるので、そこは注意していただきたい気がする。
あるいは、マジでソースをさらしていただきたい。心からのお願い。
最後、これも5ヶ所ほど書き換えるところがあるかな。一括置換でいけるかなぁ。
なにかというと、引用部分の表示について。
これは、#10174を見てもらうのがいいかな。引用部分にリンクがあると、その後ろ
のフォント指定がキャンセルされてしまっています。
野ざらし言や板塀では、この事象は起きていません。
例えば、野ざらし言#4717とか板塀#3467とか。
ざっくり見たところ、野ざらし言や板塀では、引用部分では引用であることを意味
する q タグが使われています。でも、この掲示板では、明示的に引用を意味する
タグを使わず、fontタグで見栄えだけそれっぽくしているだけ。
まさにこれはあれだ、アクセシビリティなんかに興味・関心のないkonnoさんらしい
といえばらしいかもしれないけど、現実的に美しくないわけですから、何とかして
いただきたいというのが偽らざる本心。

ということで、なにとぞよしなに。

10212/10195 DGF01024  めざら           Re^3: 各ブラウザでの見栄え
( 1) 22/08/13 22:23 10211へのコメント(としきさん) コメント数:1
参照先:http://mezala.la.coocan.jp/
勝手に補足させていただきます。

> 引用部分にリンクがあると、その後ろのフォント指定がキャンセルされ

としき兄がここで仰る「フォント指定」とは「フォントの属性指定=文字色」のことと思われます。

> 引用部分では引用であることを意味する q タグが使われています。

まぁ,普通そうだと思うわけなのですが,そもそも WebForum の原作者がまるで気にしていないので,
面倒っちゃ面倒ですよね。
ただ,Q 要素で括ると,属性を変えるなんて CSS で手間なしですから,
ちょっとだけ手を加えるのをおすすめします。ホント,すごい楽になりますよ。
フォント要素なんかの属性をいちいち加えるのって凄く面倒なわけですが,

<font color=\"#993300\">なんたらかんたら</font>
  ↓
<q>なんたらかんたら</q>

ほらね,これだけログも軽くなります。
CSS で q { font-color: #993300; } これだけ。

10213/10195 CXB00940  としき           Re^4: 各ブラウザでの見栄え
( 1) 22/08/14 00:51 10212へのコメント(めざらさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 勝手に補足させていただきます。

補足ありがとうございます。

余談ですが、先の私のコメントの後、一体いくつぐらい引用部分があるのかと板塀
のスクリプトのフォルダを検索したのですがね。
そこで発覚したのが、板塀でも q タグに変更するのをもらしている部分がある、と
いうこと。具体的にいうとwf_regi.cgiの中です。
発言を受け付けた表示の部分です。
こんなところまでチェックするのはある意味変質狂かもしれませんが、私の場合、
とりあえず統一性ということで、fontタグを q タグに変更しました。
ちなみに、めざらさんのところがどうなっているか、いささか不安もあります。
だって、私が手を加えているから。
ただ、めざらさんのことだから、既に修正済みかも。
もし未修正なようなら、ご自身での修正、よろしくお願いいたします。

> CSS で q { font-color: #993300; } これだけ。

色だけならこうなんですけど。
そのほかに、デフォルトのwforumに合わせるという意味で

q:before { content: no-open-quote; }
q:after { content: no-close-quote; }

この2行もあったほうがいいかも。


ちなみに私、

> ただ,Q 要素で括ると,属性を変えるなんて CSS で手間なしですから,
> ちょっとだけ手を加えるのをおすすめします。ホント,すごい楽になりますよ。
> フォント要素なんかの属性をいちいち加えるのって凄く面倒なわけですが,

この考え方には大いに賛同した上で、ではどうやっているかというと

<font color=\"#993300\">なんたらかんたら</font>
  ↓
<q style=\"color: $refcol;\">なんたらかんたら</q>

なんてことをやっている。
いや、だって、wf_init.cgiのデフォルトで$refcolという変数を設定しているわけ
で、なるべくこの設定を生かしたかったから。
でも、めざらさんのおっしゃることには強く同意するものですから、もし次の機会
というかwf_init.cgi *にも* 手を入れるようなときには、この辺も直すかも。

10214/10195 CXB00940  としき           Re^3: 各ブラウザでの見栄え
( 1) 22/08/14 13:08 10211へのコメント(としきさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> ざっくり見たところ、

ざっくりしすぎていました。
しっかり見たところ、どうやらそんな簡単な話ではなさそうな感じ。
板塀や野ざらし言でどうなっているかというと

単純な引用部
<q>&gt; ほげほげ </q>

リンクを包含する引用部
<q>&gt; ほげほげ <a href="xxx">#xxx</a>ふがふが</q>

という感じ。
でも、ここの掲示板では

単純な引用部
<font color="#804000">&gt; ほげほげ</font><br>

リンクを包含する引用部
<font color="#804000">&gt; ほげほげ</font><a href='xxx'>#xxx</a>ふがふが<br>

となっている。
これは一体なんだろう。
一瞬、リンクを作るルーチンのほうで余計なfontの閉じタグをつけてしまっている
のかとも思いましたが、もしそうなら<br>直前のfontの閉じタグが消えてしまって
いることの説明がつかない。
あ、わかった。
そしてこのバグ、板塀や野ざらし言にも一部残っている。
何が悪いかというと、引用処理と自動リンク処理の順番。
おそらく、ここの掲示板では以下のような処理が行われているのでしょう。

if ($autolink) { (略) } #自動リンク処理
if ($refcol) { #引用処理
    (略)
}

でも、板塀では、引用処理と自動リンク処理の順番が逆になっています。
つまり、引用処理が先、自動リンク処理があと。
で、まぁ、人のフリ見て、ではありませんが、板塀でそうなっているところは
ないよね、ということで確認したところ、残っているではありませんか、見事に。
どこかというと、検索処理のところと、ログ内全記事表示のところ。
特に検索処理のところは、野ざらしも板塀と同じでしょう。
ここはめざらさんにもチェックしていただいたほうがよろしいかと。

ということで、fontタグを q タグに変える、というのはやっていただいたほうが
ベターではありますが、konnoさん的にはもしかしたらアレかも。
でも、引用処理と自動リンク処理の順番を変えるのは、そんなに手間がかからない
上に絶大な効果をもたらしますから、ぜひともよろしく、ということで。


10215/10195 DGF01024  めざら           Re^4: 各ブラウザでの見栄え
( 1) 22/08/14 16:44 10214へのコメント(としきさん) コメント数:1
参照先:http://mezala.la.coocan.jp/
単純に,自動リンク処理と引用処理の前後を入れ替えるだけだと効かなかった。
当然のことながら全然覚えていないわけですが,$msg と #v_msg の違いとかあり,
大元の版が見当たらないので,何の違いかわからなくなってて,面倒。忘れよう。(^^;
そもそも検索結果のページって,CSSの効きも他と違うし,変だなぁ……

……cgiソースをつらつら眺めること数十分……

あ,もう一箇所あったのか。おー,でけたでけた。
この処理って,3箇所あったのですね。見落としてた。

10216/10195 CXB00940  としき           Re^5: 各ブラウザでの見栄え
( 1) 22/08/14 18:03 10215へのコメント(めざらさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 単純に,自動リンク処理と引用処理の前後を入れ替えるだけだと効かなかったです。

おや、まぁ。
うちの板塀は、単純に入れ替えただけで効果があったんですけどねぇ。
ということは逆に、板塀のほうで、未知のバグを仕込んでしまっていたりして。

> そもそも検索結果のページって,CSSの効きも他と違うし,変だなぁ……

例によって、ざっくり見させていただいただけですが。
検索結果のページって、lrmrgnのdivisionが、作者の意図とは異なるところで閉じて
しまっているような気がします。もしくは、閉じたあとに再び開かなくてはいけない
のに開き忘れている、とか。
もちろん、例によって私のざっくりなので正しくないかもしれませんが、めざらさん
なら、これだけの手がかりがあれば、私の推測が正しいか誤っているかの判別は可能
だと思います。

10217/10195 DGF01024  めざら           Re^6: 各ブラウザでの見栄え
( 1) 22/08/14 18:13 10216へのコメント(としきさん) コメント数:2
参照先:http://mezala.la.coocan.jp/
あー,ごめんなさい。

眺めているうちに,該当箇所の見落としに気づいて,出来ましたが,
#10215の方はとしきさんのコメント前後で結論を修正してしまっています。(^^;

あ,CSS の話。lrmrgn ってよくわかりましたね。
え?すぐ閉じてましたか……こちらも見落としですね。
中心性網脈絡膜症に加え,老眼の進みすぎ,霞目,眼鏡が古すぎ等等…
視力が崩壊してしまっているので,ソース読むなんての限界かも。

…ということで再度確認すると……

検索結果の方には,各アーティクルの id を埋め込んだ div(開始)がないことに気づきました。
それで,その前にあった lrmrgn を指定する div が閉じているんです。
こりゃーダメだ!(長介風)


10218/10195 BQO00549  konno            Re^5: <q>タグと<blockquote>
( 1) 22/08/14 19:09 10213へのコメント(としきさん) コメント数:1
としきさん、めざらさん、色々ご教授いただきありがとうございます。
q タグは知りませんでした。ネットで調べると

> 「Q」とは、「quotation」の略で、<q>〜</q>で囲まれたテキストが引用・転載文であることを示すタグです。
> 改行がない、比較的短いテキストを引用する際に使用されます。
> 長いテキストを段落ごと引用・転載する場合は<blockquote>タグを使用します。

とありますが、実際には

> これは、#10174を見てもらうのがいいかな。引用部分にリンクがあると、その後ろ
> のフォント指定がキャンセルされてしまっています。

<blockquote>タグではこんな問題があったんですね。
出来るところから直していきたいと思います。


10219/10195 BQO00549  konno            Re^7: 各ブラウザでの見栄え
( 1) 22/08/14 19:25 10217へのコメント(めざらさん)
うう、書き込んでいる間にどんどん修正箇所が増えていくぅ、(>_<);
まるで芋づる式ですね。(^^;
私のサツマイモは葉っぱが虫食いだらけなのが性格を表わしているような。(^^;;
果たして無事に収穫もとい修正できるのか・・・


10220/10195 DGF01024  めざら           Re^6: <q>タグと<blockquote>
( 1) 22/08/14 21:37 10218へのコメント(konnoさん) コメント数:1
参照先:http://mezala.la.coocan.jp/
> <blockquote>タグではこんな問題があったんですね。

いや,blockquote は使ってないですよね。関係はないです。


余談です。
昔の話ですが,多くのWebブラウザで blockquote 領域の表現として,
字下げを用いていたんですね。そのような経緯から,blockquote が
「字下げのためのタグ」なんて勝手な解釈が長く行われてきました。
流石に近ごろはそんな解説は見かけなくなりましたけど。

10221/10195 BQO00549  konno            Re^7: <q>タグ出来ました!
( 1) 22/08/15 14:41 10220へのコメント(めざらさん)
> いや,blockquote は使ってないですよね。関係はないです。

そうでした、掲示板では「>」を使う慣習があるせいですかね。
おかげでニフティの会議室的な雰囲気が出せるのですが。

ところで、やっと修正が出来ました。\(^^)/ ヤッタ-

q        { font-color:$refcol; } 

うちの環境ではこれだとうまくいかず、色々試行錯誤した結果

q        { color:$refcol; } 
q:before { content: no-open-quote; }
q:after  { content: no-close-quote; }

これでうまくいきました。
下の2行が無いと、「」で囲われてしまいますね。(^^;
ありがとうございました。


10222/10222 BQO00549  konno            MS-DOS Player 22年8月15日版
( 1) 22/08/15 21:40 コメント数:3
MS-DOS Player が更新されていました。8月15日の版です。
http://takeda-toshiya.my.coocan.jp/msdos/index.html

更新内容を張り付けます。
-----------------------------------------

2022/8/15
BEEP音を連続して発声したとき、再生が止まらないように修正しました。
waveOut系APIでダブルバッファで再生するようにしています。
ウインドウプロシージャでなく、関数指定でコールバックを受け取れたんですね(苦笑)

NP21/WのI386コアについて、FPUタイプをSOFTFLOATからDOSBOX2に変更しました。
またDOSBOXのFPU_ST80()について、NaN/INFのケースを考慮して修正しました。

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

実は以前の版の ia32版では、自作のアプリでエラーが出て使えませんでした。
今回 ia32版を試してみたら、問題なく動作しました

前々回の版(21-12-30)は
ia32_x86	数字4桁の入力で、OE+2?? (??は数字によって変わる)エラーで止まる
ia32_x64	数字4桁の入力で、OE+2?? (??は数字によって変わる)エラーで止まる

今回の版(22-8-15)は
ia32_x86	問題なし
ia32_x64	問題なし

この問題は過去記事のツリー
#10145:MS-DOS Player 12/30版  投稿者:konno   2021/12/31
に書いていますが、作者の武田さんにメールでご報告していました。
直してくださったんですね、ありがとうございます。

DOSBOXは古いPCゲームを動作させるところから始まったように思います。
古いコンパイラの癖のあるコードにも対応していそうですね。

武田様、ありがとうございました。


10223/10222 BQO00549  konno            Re: MS-DOS Player 22年8月15日版
( 1) 22/08/16 12:55 10222へのコメント(konnoさん)
メールチェックをさぼっていたのでチェックしたら武田さんからメールが来ていました。
内容を引用します。

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

本日の更新で、ia32版でも問題なく動作するようになったかと思います。
IA32版だけFPUを内蔵しており、BASICがそれを使用した結果、
FPUのエミュレーションの問題に引っかかってしまったようです。
FPUをSoftFloat版からDOSBox版に切り替えたところ、問題が発生しなくなりました。

IA32版以外はFPUを内蔵していないので、浮動小数点演算をx86のコードで
実行していたため、問題が発生しなかったものと思われます。

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

今回の更新は、まさに私の個人的な要望に対応してくださったのですね。
本当に嬉しいです。
ありがとうございました。
そして、メール返信遅れてすみませんでした。


10224/10195 DGF01024  めざら           Re: BBS新着情報のページを更新 Ver0.82
( 1) 22/08/16 22:05 10206へのコメント(konnoさん) コメント数:1
参照先:http://mezala.la.coocan.jp/
おやおや?
新着情報はまた更に小さな字にされたのですか?

konnoさんのブラウザって,フォントサイズ特大ですか?
70%でちょうどよく見えるってことは 1.4em がデフォルトかなぁ……


10225/10195 BQO00549  konno            BBS新着情報のページ更新 Ver0.83
( 1) 22/08/17 02:01 10224へのコメント(めざらさん)
> おやおや?
> 新着情報はまた更に小さな字にされたのですか?

ああ、すみません、また並びなど弄ったもので。
また調整してみました。

> konnoさんのブラウザって,フォントサイズ特大ですか?
> 70%でちょうどよく見えるってことは 1.4em がデフォルトかなぁ……

Fx、クロムは18PT、エッジは大20PTにしました。
それでも新着情報はFxでは大きくてはみ出てしまいます。

70% というのは
body,tr,td,th,div { font-size:70%; font-family:MS Gothic ; margin:0; }
ここの指定ですよね。
この指定は試したブラウザでは効いていないようです。
<FONT SIZE='3'> 
<FONT SIZE='-1'> 
などが効いているようです。


10226/10195 CXB00940  としき           Re^7: 各ブラウザでの見栄え
( 1) 22/08/17 02:05 10217へのコメント(めざらさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> あ,CSS の話。lrmrgn ってよくわかりましたね。

最近のブラウザには、開発者ツールというのがデフォルトで搭載されていまして。
ChromeにもEdgeにもありますが、私は長いこと触ってきたFirefoxに慣れてしまって
いるので、他のブラウザにはどうしてもなじめない。
で、これを使うと、CSSのいろいろな分析ができるのですが、当然ながら、私に
そんな深い分析ができるわけもなく。ざっくりですよ、ざっくり。

ところで、他のブラウザはどうか知りませんが、Firefoxはサイトで複数のスタイル
シートを設定してあると、それを切り替えるという機能があります。
実験的に、うちの板塀の検索ページに、この機能を仕込んで見ました。
具体的にどうするかというと、Firefoxからうちの板塀の検索ページを開き、そこで
Firefoxのメニューから、表示→スタイルシートと選択します。すると、そのメニュー
のなかで、スタイルシートを使用しない、標準のスタイルシート、というのと並んで
testというのが選択できるようになっています。
これを選択すると、わざと違いがわかりやすくなるような、すなわち見栄えを全く
考えていないようなスタイルが適用されます。
これ、期間限定。
数日後にはこの機能は撤去されます。予定です。

こういうのを使えば、誰も使わないナイトモードをこっそり仕込む、などという
お遊びができたりするわけですよ。
もちろん、まじめに考えればユーザビリティの向上になるんでしょうけどねぇ。

10227/10195 DGF01024  めざら           Re^8: 各ブラウザでの見栄え
( 1) 22/08/17 13:02 10226へのコメント(としきさん)
参照先:http://mezala.la.coocan.jp/
作成者はクラス名を見れば何を制御するのか分かるので,適用範囲も分かりますが……
……まぁ大体想像はつくのかな。hrまでに閉じるのは想像にかたくないですしね。
そもそも,3個くらいのdivが閉じてなかった(笑)ので,酷い話です。お恥ずかしい。


開発者ツールって,ページのスクリーンショット(カメラ)くらいしか使ってないです。
だって,開発者じゃないもん。



10228/10195 BQO00549  konno            BBS新着情報の更新 Ver0.84
( 1) 22/08/17 21:38 10206へのコメント(konnoさん)
BBS新着情報の更新です。Ver0.84

今回は、各ブラウザの見た目のフォントサイズをほぼ同じに出来ました。
私の環境ではファイヤーフォックス、クロム、エッジでほぼ同じに見えます。

今回は
「ブラウザ別に適用させるCSSハック」
https://w.better-future.co.jp/%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E5%88%A5%E3%81%AB%E9%81%A9%E7%94%A8%E3%81%95%E3%81%9B%E3%82%8Bcss%E3%83%8F%E3%83%83%E3%82%AF/
のサイト(UTF8なのか読めないですが、タイトルと同じ文字か)
の例をCSSヘッダに貼り付けてみました。

_:lang(x)::-moz-placeholder, .selector {font-size:-2;}

使い方が合っているかはわからないですが、結果的には出来たようです。

#たぶん間違っているんだろうな

実際には、余計な<tt><font-size〇〇>を削除したら直ったみたいな。(^^;

10258/10258 BQO00549  konno            TRA_TAG.DEF k06 タグジャンプマクロ更新
( 1) 22/08/24 01:23 コメント数:2
TRA_TAG.DEF k06 を更新しました。

寅次氏の多機能タグジャンプマクロ Tra_TAG.def v16 をちょっと改造した物です。

改変内容
・2022-08-24  k06 バッファ溢れ対策とタグジャンプ失敗の要因を改善
・2018-12-24  k05  cd を ct に変更、各種改行に対応<br>
・2018-12-04  k04  バッファ溢れ不具合対策 コンソールのみ<br>
・2018-10-04  k03  ディレクトリ&LFN不具合対応  <br>


今回の改変は、一つはバッファ溢れ対策です。
マクロ冒頭での処理

	(wn==0)??>l			;コンソールの時バッファ溢れ対策
	(wa..19-wa..18 <500)?>l		;行の長さ500以内ならスルー
	&s #< i0,
:x	#x i=i+we,(i < 500)?>x		;カーソルを500超えるまで進める
	#e #d #m #e &d #<		;500以内で改行挿入
:l


注目はここです。

	(wa..19-wa..18 <500)?>l		;行の長さ500以内ならスルー

1行の長さが、wa..19-wa..18 でわかるんですね。
これは色々応用できそうです。
STKHLP で知りました。先人の方々に感謝。m(__)m


もう一つは、タグジャンプ失敗の要因の改善です。
179行目

		(r==2)?{	;open
;			>O		;★★k06 タグジャンプ失敗はここ?
	#O &?("%s ->%s",f,pa+1) #m .	;★★k06 これに差し替えたらOKに


これは私の環境だけかもしれませんが、これに変更したら失敗がほぼ無くなりました。


Vzマクロの部屋にあります。
http://tamaneko.world.coocan.jp/vzmac.htm


10259/10258 CRG00666  文太             Re: TRA_TAG.DEF k06 タグジャンプマクロ更新
( 1) 22/08/24 10:08 10258へのコメント(konnoさん) コメント数:1
konnoさん

 さくっと入れ替えさせていただきました。

=== Tra_TAG.def v16 ===
;			 V16k06	konno改	 2022-08-24

 僕のvzdefディレクトリには、Tra_TAG2.def というのがあって、vz.defには
それが登録されていました。

=== Tra_TAG.def v16 ===
; V16k02		2018-10-04 konno

 miyata.shd ですね! 知らなかった。

 タグジャンプ失敗は、どうだろう? あったような気もしますが、原因が
他にもあったように思い、とらじマクロが原因だとは思わなかったですね。
 もちろん、真の原因はいまとなっては知りようもありませんが。



10260/10260 CRG00666  文太             マクロキーの増設
( 1) 22/08/24 16:03 コメント数:2
 怠惰など色々ありますが、深い意味はありません。が、僕の使っている版は、
1.60t03k k07t01
 です。いろんなマシンで違う版のvz.comを使うのは厄介なので。
 問題の出ていないところは弄らない主義。

 昨晩申し上げましたとおり、DANNY版でなされたように見えるマクロキーの増設
ですが、現在使用中の上の版でも効きました。やりい!

 ただ、[ALT] + @ だけ効かないようです。はっきり分かっていれば(僕はすぐ
忘れるだろうけど)、別にどうしても、というわけではないです。
 万が一、それも効くようにしてやる、ということでしたら、お願いいたします。

 [ALT] + 3/4/5 とか、[ALT] + [/]とかは、ナイスですね。^ _ って、微妙な
キーですね。^^ とか ^K^ とかは、むちゃんこよく使うキーなのに。
 _は、キーボードマクロの書き出しできたっけ? ほぼ使ってないですね。

 「半/全」を [F00] は、ちょっとやりすぎかなぁ、という感想を持ちました。
 ちょっと、くらっとします。

 &jについては、うーん、良く分からない。調子よくないときはあります。
 それより、ckwv自身ではなかろうか、というIMEの奇妙な振る舞い。しかし、
もう慣れてしまいました。なんかのキーに触れると(おそらく)、IMEの
モードが変わったり、キャプロックが入ったり……。


=== Macrotmp by B ===; 1.60t03k k07t01 でのテスト
* M
50 ^^ "Macrotmp"

50 [F11] ""		;本来のと被ります。問題ではありません。
	&m("[ALT]+1") .

51 [F12] ""		;本来のと被ります。問題ではありません。
	&m("[ALT]+2") .

52 [F13] ""
	&m("[ALT]+3") .

53 [F14] ""
	&m("[ALT]+4") .

54 [F15] ""
	&m("[ALT]+5") .

; ====================
; Vzk08Q9 07-06-19
; DOS/V版のマクロ起動キーをちょっとだけ拡張

55 @[ ""		;効きます!
	&m("@[") .

56 @@ ""		;【これだけ効きませんが?】
	&m("@@") .

57 @] ""		;効きます!
	&m("@]") .

58 @_ ""		;効きます!
	&m("@_") .

59 @^ ""		;効きます!
	&m("@^") .

*


10261/10258 BQO00549  konno            Re^2: TRA_TAG.DEF k06 タグジャンプマクロ更新
( 1) 22/08/24 19:45 10259へのコメント(文太さん)
>  僕のvzdefディレクトリには、Tra_TAG2.def というのがあって、vz.defには
> それが登録されていました。
> === Tra_TAG.def v16 ===
> ; V16k02		2018-10-04 konno

うげ、履歴を見ると既に載っていませんね。

;2018-12-24  k05  cd を ct に変更、各種改行に対応
;2018-12-04  k04  バッファ溢れ不具合対策 コンソールのみ
;2018-10-04  k03  ディレクトリ&LFN不具合対応  

同じ日に、k03 を揚げているし。(^^;

#8207:TRA_TAG 改 V02  投稿者:konno   2018/10/05(金) を読むと
> ということで、V02 を、#test66 にUPしました。
> ・ロング行番号対応
> ・ディレクトリ対応
> ・LFN対応
> ・LZH非対応 (^^;

どうやら k03 は v02 としてテスト板#test66 にUPしてあるみたいですね。(^^;
ということで履歴は修正しました。


>  miyata.shd ですね! 知らなかった。

そうです。これも偶然の産物でした。
実は冒頭のバッファ溢れ不具合対策はその後外していて、そのままUPのはずだったのです。
最近グレップ&タグジャンプの後に不具合が多発していて
23日にUP準備中に冒頭のコメントを見て、やっぱり入れとくかと思い直したのです。
その時に、その下の行

	#] #? (r)?. wa..19.2-,		;行を lfb に取り込む

これが目に入って、wa..19.2-, ってなんじゃらほい、とSTKHLPを見たら

>  wa..19,wb..19     ラインバッファ末尾                    
>  ・ラインバッファ終端ポインタ。                          
>  ※wa..19: 行がラインバッファにある時の行末のアドレス。  
>            これに改行コードがつく。                      
>    wa..19.2-: 行末の改行コード(0D0Ah)の直後をヌルに。  
>                      (PK/14/10497 / DC/15/06167/m.gann)  
>  ※wa..19-wa..18 で改行を含まない行の長さを求められる。  
>                      (PK/14/10520 / DC/15/03593/wanama)  

wa..19-wa..18 は 和生さんの情報だったんですね、本当に先人の方々に感謝です。
行の長さを求めるのは大変なので、もっと宣伝してほしかったですね。(^^;
最近野ざらし言で、行の長さを求めるsyoさんのマクロが話題になっていましたが
これを知っていればもっと簡単にできたのになぁ、と思いました。

例えば、としきさんのログデータ 0007.cg の1行目で
インスタント窓に wa..19-wa..18 を入れてエンターすると 3970 と出ます。
1行の長さが 3970bytesあるのが簡単にわかります。
カーソルは行内のどこにあってもいいようです。
 
このバッファ溢れ対策を入れたらVZの動作不具合は出なくなったようです。(^^;
根本的にはバッファを取り込む部分を直すべきなんですが。(^^;;
この対策無しでとしきさんのログデータ 0007.cg の1行目後方の文字列を
検索&タグジャンプすると、私の環境では一発でVTDOSが落ちます。


>  タグジャンプ失敗は、どうだろう? あったような気もしますが、原因が
> 他にもあったように思い、とらじマクロが原因だとは思わなかったですね。
>  もちろん、真の原因はいまとなっては知りようもありませんが。

今問題が無いならいいんですが、私の改造物はバグだらけなので、少しづつ直していきます。
m(__)m


10262/10260 CRG00666  文太             復習をしています。
( 1) 22/08/24 21:04 10260へのコメント(文太さん) コメント数:1
======== vz.def ========

* C コマンドキー

00 ^Q ^K [ESC] ^O ^I ^N	;2ストロークキー(最大6個)
01	^[		;redo cmd
02	^_		;KBM; (^- @dosv)
======== vz.def ========

 いやあ、キーボードマクロ、最近使わないから……。でも「^-」って、
vz.defで見たことあるぞ、とか思いまして。

 そうか、^- でも ^_ でも、効くんですね。@Vz 1.60t03k k07t01.
でも、@_ はOKで、@- はNG。両方OKなほうが……。同じキーね、という
ことで。ムリならムリで。僕は、そこまで強欲ではありません。


 テスト完全版(半ば再掲)

=== Macrotmp by B ===; 1.60t03k k07t01 でのテスト
* M

30 ^Q_ ""	(ks&1)? { &m("^Q\_").} ? { &m("^Q_"). }		;OK

30 ^K_ ""	(ks&1)? { &m("^K\_").} ? { &m("^K_"). }		;OK

30 [ESC]_ ""	(ks&1)? { &m("[ESC]\_").} ? { &m("[ESC]_"). }	;OK

30 ^O_ ""	(ks&1)? { &m("^O\_").} ? { &m("^O_"). }		;OK

30 ^I_ ""	(ks&1)? { &m("^I\_").} ? { &m("^I_"). }		;OK

30 ^N_ ""	(ks&1)? { &m("^N\_").} ? { &m("^N_"). }		;alt + shift + 5 と同じ?
	;バグっているのか暴走してるのか仕様なのか。同じキーコード? あるいはマクロバッファに
	;いたから偶然???
	;別に大した問題ではありません。めざらさんが詳細に書かれていたとおり、
        ;2ストロークの最後の字はいろいろあるんですよね。
	;ただ、ドックにきっちり書いたほうが良いように思います。昨日の自分は今日の他人なので。

50 [F13] ""			;type in [ALT]+3
	&m("[ALT]+3") .

51 \[F13] ""
	&m("shift+[ALT]+3") .	;OK

52 [F14] ""
	&m("[ALT]+4") .

53 \[F14] ""
	&m("shift+[ALT]+4") .	;OK

54 [F15] ""
	&m("[ALT]+5") .

55 \[F15] ""
	&m("shift+[ALT]+5") .	;OK

; ====================
; Vzk08Q9 07-06-19
; DOS/V版のマクロ起動キーをちょっとだけ拡張

56 @[ ""
	(ks&1)? >> ? { &m("@[") . }	;shift OK!
00:		&m("shift+@[") .

;56 @@ ""		;【これだけ効きません?】
;	&m("@@") .

57 @] ""
	(ks&1)? >> ? { &m("@]") . }	;shift OK!
00:		&m("shift+@]") .

58 @_ ""		;効きます!
	(ks&1)? >> ? { &m("@_") . }	;shift OK!
00:		&m("shift+@_]") .

59 @^ ""
	(ks&1)? >> ? { &m("@^") . }	;shift OK!
00:		&m("shift+@^]") .

*

; 下はカスタマイズエラー。
63 @- ""
	(ks&1)? >> ? { &m("@-") . }	;shift OK?
00:		&m("shift+@-") .

これは両方効くのにね。
02	^_		;KBM; (^- @dosv)




10263/10260 CRG00666  文太             まとめと追加
( 1) 22/08/25 16:05 10262へのコメント(文太さん) コメント数:1
konnoさん

 どうぞごゆっくりでどうぞ。別にまったく何も急いでいるわけではないし、
現状でも、おお、これだけキーが増えた(増えているのを知らなかっただけですが)
と喜んでおりますので。
 ちょっと僕もよく分からなくなった点があるので、簡単にまとめを試みてみますね。


◆【ファンクションキー】--- [F11][F12]を除く
ALT + 3,4,5 で、[F13][F14][F15]が機能する。シフトも効く。
 6個増設


◆【2字目のキー】--- [, ], ^, _, @    with [ALT] & [SHIFT] など

完全: @[, @], @^			シフトも効く。
 6個増設


◆だいたいOK: _

 だいたい普通のキーのように振舞う。
 ^Q, ^K, [ESC] + other 2 (2ストークキー)のあと、シフトも効く。
 ただし、6つ目の2ストロークキーの後だと不可。
 5x2 = 10個増設

 @_, ^_ も効く。シフトもOK.
 4個増設

 ただし、
KBM 登録 の ^_ (vz.def内表記) は ^-, ^_ の両方のキーインで可。
KBM PRINT の ^K_ (vz.def内表記。操作は^K + SHIFT _) は、 
 ^K_ と ^K\_ の両方のキーインで可(@うちのvz.defで)
 ^K- とか ^K\- とか、効かない。

 ※たぶん(汗)、 ^- というキーインがそもそも不気味だったのだ、ろ、う。
  キーボードマクロの使い方を思い出すのに苦労しました。
  マクロのキーとして(コマンドのキーとして)、「-」っていうのを忘れて
  しまう、というのが実際的なのかもしれませんね。

 たぶん、26個ぐらい(?)、キーが増設されたのかな?


--- vz.def ---
01 ^[			;redo cmd
50 ^]	"Pair"		&88
--------------
 そう設定していたのか。忘れていた。redo、しないなぁ。違うマクロが走って
びっくりしました。

--- vz.def ---
50 ^N] "BSYMBO"		&88
50 ^N[ "BSYMBO2"	&88
50 ^N@ "ML_LIST"	&88
--------------
 しょっちゅう使うのも、ぜんぜんそうでないのもありますねぇ。


◆完全にダメ:[ALT] + @
 別にこだわりませんが。


 あまり「まとめ」になってないような……。



10264/10260 CRG00666  文太             2字目の @
( 1) 22/08/25 16:25 10263へのコメント(文太さん) コメント数:1
=== Macrotmp by B ===; 1.60t03k k07t01 でのテスト

* M

30 ^@ ""	(ks&1)? { &m("^\@").} ? { &m("^@"). }		;OK
30 @@ ""	(ks&1)? { &m("@\@").} ? { &m("@@"). }		; shift のみ効く

30 ^Q@ ""	(ks&1)? { &m("^Q\@").} ? { &m("^Q@"). }		; shift が効かない
30 ^K@ ""	(ks&1)? { &m("^K\@").} ? { &m("^K@"). }		; shift が効かない
30 [ESC]@ ""	(ks&1)? { &m("[ESC]\@").} ? { &m("[ESC]@"). }	; shift が効かない
30 ^I@ ""	(ks&1)? { &m("^I\@").} ? { &m("^I@"). }		; shift が効かない
30 ^O@ ""	(ks&1)? { &m("^O\@").} ? { &m("^O@"). }		; shift が効かない
30 ^N@ ""	(ks&1)? { &m("^N\@").} ? { &m("^N@"). }		; shift が効かない

*

 「@」を自分が自作マクロのキーにアサインしていた(ほとんど使ってない)
というのに驚き、それってマクロキーとして有効なの? と思って上の実験をしました。
 c.mos オリジナルでも、こうなるんでしたっけ?
 めざらさんのあの力作をもう一度(何回読んだのだろう? そして何回理解に失敗
したのか?)読んできます。



10265/10260 CRG00666  文太             ascii 並び順とc.mos original
( 1) 22/08/25 16:50 10264へのコメント(文太さん) コメント数:1
 (以下、修正しています)

 さくっと調べてきました。めざらさんの美しいまとめと考察を読み、asciiの並び順を
みて、c.mos オリジナル、vz.com + vzibmj.com で実験。

http://mezala.la.coocan.jp/vz/extcmd/cmd00.html
より

上\下 +0  +1  +2  +3  +4  +5  +6  +7  +8  +9  +A  +B  +C  +D  +E  +F
40h:  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O
50h:  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _

 @ が普通に使えてよさそうに思えますよね、確かに。素人の甘い空想かな?
 NEC98も絡んでいたのかな? IBMでは使えますが、NECではダメです、みたいなの
がそこらじゅうにあるのは、作者もユーザも大変だし(妄想)。


=== Macrotmp by B ===; c.mos オリジナルでのテスト
* M

30 ^@ ""	(ks&1)? { &m("^\@").} ? { &m("^@"). }		;^2, OK
30 @@ ""	(ks&1)? { &m("@\@").} ? { &m("@@"). }		;NG

30 ^Q@ ""	(ks&1)? { &m("^Q\@").} ? { &m("^Q@"). }		; shift が効かない
30 ^K@ ""	(ks&1)? { &m("^K\@").} ? { &m("^K@"). }		; shift が効かない
30 [ESC]@ ""	(ks&1)? { &m("[ESC]\@").} ? { &m("[ESC]@"). }	; shift が効かない

30 ^I@ ""	(ks&1)? { &m("^I\@").} ? { &m("^I@"). }		;プレフィクスキー
30 ^O@ ""	(ks&1)? { &m("^O\@").} ? { &m("^O@"). }		;を増やしてないので。
30 ^N@ ""	(ks&1)? { &m("^N\@").} ? { &m("^N@"). }		;結果は同じと予想される
								;^N で暴走するのかな?
*

 どうですかねぇ? 今のままでも、僕はいいかなぁ。何か制約があって「@」が
マクロキーになると上のようなことが起こるのでしょう。起こらないなら、c.mosさんが
そのままにしたとは思えないし。
 「@」は、あんまりマクロキーとして使わないほうがいいよ、使うなら上の制約をちゃんと
覚えておくんだよ、とか。



10266/10260 CRG00666  文太             ¥も@に同じ(postfix key)
( 1) 22/08/25 18:04 10265へのコメント(文太さん) コメント数:1
=== Macrotmp by B ===; 1.60t03k k07t01 でのテスト
* M

30 ^\ ""	(ks&1)? { &m("^\\").} ? { &m("^\"). }		;OK
30 @\ ""	(ks&1)? { &m("@\\").} ? { &m("@\"). }		;NG

30 ^Q\ ""	(ks&1)? { &m("^Q\\").} ? { &m("^Q\"). }		; shift 効かない
30 ^K\ ""	(ks&1)? { &m("^K\\").} ? { &m("^K\"). }		; shift 効かない
30 [ESC]\ ""	(ks&1)? { &m("[ESC]\\").} ? { &m("[ESC]\"). }	; shift 効かない
30 ^I\ ""	(ks&1)? { &m("^I\\").} ? { &m("^I\"). }		; shift 効かない
30 ^O\ ""	(ks&1)? { &m("^O\\").} ? { &m("^O\"). }		; shift 効かない
30 ^N\ ""	(ks&1)? { &m("^N\\").} ? { &m("^N\"). }		; shift 効かない
*

 しつこいですが。気になったら……。僕はもっぱら「^^」ですが、「^¥」も
お試しマクロのキーとしてポピュラーですよね。
 @も¥も同じ、というのは、分かりやすくていいですね。¥はちょっと遠いけど。

 こうなると、@も¥も、シフトは効かないけど、postfix key として、
使えるキーのような気がしてくる。

追記:これ、ぜったい過去ログにあるネタでしょうね。調べないけど。



10267/10260 CRG00666  文太             @ 〔 ¥ 〕 ^ _
( 1) 22/08/25 18:50 10266へのコメント(文太さん) コメント数:1
 @ 〔 ¥ 〕 ^ _

 これらのキーを、2ストロークキーのあと部分の postfix key として使うとき、
シフト分岐はできない。^Q@ のような場合。

 2ストロークではない、^@ ( = [CTRL]+@ )のように使うときのみ、シフト分岐
ができる。

 これ、最初っからの仕様ですね。
 使ってるのもあるのにねぇ……。
 昔、自分で調べたことがあるのかもしれない、という気がしてきました。

 _ については、konnoさんが、ごにょごにょしていますね。



10268/10260 CRG00666  文太             ALT 拡張について
( 1) 22/08/25 21:13 10267へのコメント(文太さん) コメント数:1
 出発点に戻ります。
 僕は、現状で、まったく困っていませんし、現状のままでまったく構いませんからね。

--- konnoさん wrote: ---
   ALT + [
   ALT + @
   ALT + ]
   ALT + _ (入力キーは ALT + - )<--- ◆ ALT + _  もOK
   ALT + ^

=== Macrotmp by B ===; 1.60t03k k07t01 でのテスト

* M

30 @[ ""	(ks&1)? { &m("@\[").} ? { &m("@["). }	; shift, OK, too
30 @@ ""	(ks&1)? { &m("@\@").} ? { &m("@@"). }	;  IME ON/OFF トグル★
30 @] ""	(ks&1)? { &m("@\]").} ? { &m("@]"). }	; shift, OK, too
30 @_ ""	(ks&1)? { &m("@\_").} ? { &m("@_"). }	; shift, OK, too  ★★
30 @^ ""	(ks&1)? { &m("@\^").} ? { &m("@^"). }	; shift, OK, too

*
 ★MS-IMEの設定は、「個人設定」で、だいたいATOK的になってるはずですが、設定欄に
ALT + @ 
 で、IME ON/OFF のような設定はないようです。

 ★★ただし、@-, @_ の両方OK



10269/10260 CRG00666  文太             追記
( 1) 22/08/25 21:15 10268へのコメント(文太さん) コメント数:1
 今日は、これでお終い、だぞ。
 さっと振り返ってみて、あれ、ここ、話の辻褄が合ってない、と修正しました。
 結局のところ、本質的ではありませんでしたが。

 ^@ は、c.mosオリジナルでは通じません。榊原さんか高橋さんかkonnoさんか
分かりませんが、どっかで誰かが使えるようにしてくれたはずです。
 (これは間違いです。^2 と黒本にもありました)

 [ALT] + 1,2,3,4,5 -> ファンクションキー 11-15
 [ALT] + 記号  @  [  ]  ^  _
 と、2字目としての、「_」
 が konnoさんによる今回の(おいっ。07-06-19です)追加です。

 欲張るつもりはまったくありませんが、「_」がシフト分岐可なのだとすれば、
他の記号もできてもいいような気がするなぁ、と勝手なことを思いました。



10270/10260 BQO00549  konno            Re: マクロキーの増設
( 1) 22/08/26 00:40 10260へのコメント(文太さん) コメント数:1
文太さん、とりあえずここにレスしますね。

>  ただ、[ALT] + @ だけ効かないようです。はっきり分かっていれば(僕はすぐ
> 忘れるだろうけど)、別にどうしても、というわけではないです。
>  万が一、それも効くようにしてやる、ということでしたら、お願いいたします。

これ、多分問題があって止めたのではないかと思います。もう忘却の彼方です。
#3467 2008/11/27 に関連の話題がありますね。

> Vzk08Q9
>  ● DOS/V版のマクロ起動キーをちょっとだけ拡張
>   ALT + [
>   ALT + @
>   ALT + ]
>   ALT + _ (入力キーは ALT + - )
>   ALT + ^
>  これらがちゃんと使えるようになった(はず)

でもその後何かの不具合があったのか、@@ だけ止めたのかなぁ。
もう完全に忘れています。(^^;


10271/10260 CRG00666  文太             Re^2: マクロキーの増設
( 1) 22/08/26 01:25 10270へのコメント(konnoさん)
konnoさん

>文太さん、とりあえずここにレスしますね。
 色々と錯綜させてしまい、すいませんね。僕も怒涛したくはないのですけれど……。

>これ、多分問題があって止めたのではないかと思います。もう忘却の彼方です。
>#3467 2008/11/27 に関連の話題がありますね。
 おお、俺ってマメだなぁ。DANNY版ベースもちゃんとフォローしてたんだぁ。
 大丈夫です、僕も完全に忘却してますから。オー・マイ・フレンド。

>でもその後何かの不具合があったのか、@@ だけ止めたのかなぁ。
>もう完全に忘れています。(^^;

 もうfixするつもりはないと。それはそれで構いません。
 が、#10268 に書きましたとおり、[ALT]+@ は、CKWVだかMS-IMEだかに取られている
ようです。@@(= ALT+@ )をVz側で止める、というのは悪くないと思います。
 現在、止まっているなら、ですけど。
 ま、止まってなくても、実害ないですね。

 今日覚えているこの事実を忘れさえしなければ、ですけどね。
 忘れるんだろうなぁ。

 おお、新しい事実判明。秀丸で、@@したら、MS-IME ON/OFF してます。CKWVは
無実。IMEかぁ?



10272/10260 CRG00666  文太             「_」と@@について
( 1) 22/08/26 12:52 10269へのコメント(文太さん) コメント数:1
 以下は、DOS/V版 vz.com の話です。NEC98は、一部該当しません。

 「_」が普通のマクロキーになったこと。有効です。もともとc.mos オリジナル
vz.comでも有効でしたが、シフトを一緒に押さないといけなかったので、ちょっと
使えないキーでした。konno Vzでは、シフト不要。

 前提:僕はプレフィクスキーを6つ指定しています。最後が^N。[NFER]は
使っていません。
 結論をいえば、^K以外、最後のプレフィクス以外、つまりこの2つを除く
4つのプレフィクスで、ふつうに使える。シフト併用可です。8つのマクロ
キーの増強と言ってよいか。
 ただ、オリジナルのキーアサイン、^_, ^-, ^K_ (キーボードマクロ関係)に
こだわると少々、話が面倒になります。またしても、結論:キーボードマクロは
ふつうに守れ。よって、上の3つ(^_, ^-, ^K_)はママのこと。

 8つのキー追加です。
 (僕の場合、^Q_, ^I_, ^O_, [ESC]_ の4つx2)
  --- 元々シフト併用(のみ)で使えたのだから、の引き算はなし。そういう
    使い方をしていなかったので。

 なお、@@について純DOS、konno版で試しました。OKです。ただ、
いろいろごちゃごちゃするので、[ALT]+@ は使わなくてよいよ、という判断でした。

=== Macrotmp by B ===;
* M
; --- @@ on DOS (not Win or VTDOS, perhaps without MS-IME)

50 @@ "" 
	(ks&1) ? { &m("@\@") .} ? { &m("@@") .}	;DOS OK
; 無理して使うことはない


; --- how about '_' ?

50 @_ "" 	(ks&1) ? { &m("") .} ? { &m("") .}	;NG
50 ^_ "" 	(ks&1) ? { &m("") .} ? { &m("") .}	;NG (1) Don't use. ^- (KBM)
; 無理して使うことはない

50 ^Q_ "" 	(ks&1) ? { &m("^Q\_") .} ? { &m("^Q_") .}	;shift OK (2)
50 ^K_ "" 	(ks&1) ? { &m("^K\_") .} ? { &m("^K_") .}	;shift OK (3)
; 無理して使うことはない

50 ^I_ "" 	(ks&1) ? { &m("^I\_") .} ? { &m("^I_") .}	;shift OK
50 ^O_ "" 	(ks&1) ? { &m("^O\_") .} ? { &m("^O_") .}	;shift OK
50 ^N_ "" 	(ks&1) ? { &m("^N\_") .} ? { &m("^N_") .}	;NG (6th prefix)
50 [ESC]_ "" 	(ks&1) ? { &m("[ESC]\_") .} ? { &m("[ESC]_") .}	;shift OK

*
(00) In the original vz.com by c.mos, '_' is usable as a macro key, but keying 
in of shift was necessary.  So the shift branch was impossible.
(0) '_' is not equal to '-' .  '-' is NOT usable as a Vz macro key (in def 
files) as above with an exception, notably for KBM (^- = typing in).
(1) So do NOT use this '^_' in your macro.
(2) shift OK means "non-shift & shift," both OK.
(3) ^K_ is for PRINT KBM. On konno Vz, shift for _ is not necessary.
(4) For registering KBM, '^-' & '^_' are both applicable.



10273/10260 CRG00666  文太             用語(NG: postfix)
( 1) 22/08/26 18:03 10272へのコメント(文太さん) コメント数:2
 ったく、まったく。

 ^A	これのプレフィクスキーは、^
 ^QA	これのプレフィクスキーは、^Q

 では、Aは何と呼ぶ? ポストフィクスはおかしい。Aという基本キーの前に(プレ)
置かれる(フィクス)キーが、プレフィクスキーなので。Aがポストフィクスだと「それ」
の前、「それ」の後の、「それ」自体がなくなってしまう。

 Aは
 基本キー  か
 起動キー  か
 マクロキー か
 ベースキー か
 本物キー  か 

かな。文脈で伝わればいいのだけど、「2字目」と呼んだり「postfix」と呼んだりした
ので、頭の整理をしました。
 このような機会がまたあったならば、「起動キー」「起動本物キー」「基本キー」ぐらいで
(忘れなければ)行きたいと思います。



10274/10260 CRG00666  文太             まとめ(個人的)
( 1) 22/08/26 18:04 10273へのコメント(文太さん) コメント数:3
(^@ = ^2, 修正しました)

 理論的(?)厳密さを求めておらず、僕個人にとっての「まだこれらは使えるぞ」
という覚書なので、参考程度にしておいてください。
 何か間違っていたら、教えてちょ。


--- my vz.def -----------------------------------------
00	^Q ^K [ESC] ^O ^I ^N	;2ストロークキー(最大6個)
-------------------------------------------------------


◆ファンクションキー [ALT] + 3,4,5 (konnoさんによる拡張)

 @[F13], @\[F13], @[F14], @\[F14], @[F15], @\[F15]


◆[ALT]+記号系拡張、シフト可能 (konnoさんによる拡張)

 @[, @\[, @], @\], @^, @\^, @_, @\_    ;(ks&1)による分岐必要
	;@ means [ALT],   @@ NG on VTDOS(Win7), but on DOS/WinME, OK

◆シフト併用可能の記号キー系(1ストローク)--- 増減なし

^@	;OK, type in '^2'
^[	;#01, redo cmd
^\	;for temp macro
^]	;pair.def
^^	;for temp macro
^_	;= ^-  =regist KBM


◆シフト併用不可の記号キー系(2ストローク)
 (なかなか使えないキーたちではあります)

 ^Q@, ^K@, ^I@, ^O@, ^N@, [ESC]@ 	;^N@ used by bunta

      ^K[, ^I[, ^O[, ^N[		;^Q[ used, [ESC][ = [ESC][ESC]

 ^Q\, ^K\, ^I\, ^O\, ^N\, [ESC]\

      ^K], ^I], ^O], ^N], [ESC]]	;^Q] used

 ^Q^,      ^I^, ^O^, ^N^, [ESC]^	;^K^ (#41 recustomize)


◆シフト併用可の記号キー系(2ストローク)(「_」の普通キー可は konnoさん拡張)

 ^Q_,      ^I_, ^O_,      [ESC]_<-(*) 	; ^K_ (print KBM), ^N_ (NG, 6th prefix)
					; (*) _ のみ shift 可



10275/10260 CRG00666  文太             ^2, ^6, ^-
( 1) 22/08/26 18:33 10274へのコメント(文太さん) コメント数:1
 ちらと「めざら資源」
http://mezala.la.coocan.jp/vz/extcmd/cmd00.html
 をまた見てしまいまして。

 ^@ は使えます。シフトも可です。(修正しました。マクロが間違ってました)

=== Macrotmp by B ===; 1.60t03k k07t01 でのテスト
* M
							;押すキー
30 ^@  ""  (ks&1)? { &m("^\@").} ? { &m("^@"). }	;^2
30 ^^  ""  (ks&1)? { &m("^\^").} ? { &m("^^"). }	;^6
30 ^_  ""  (ks&1)? { &m("^\_").} ? { &m("^_"). }	;^-

*

 ^2ぐらい覚えなさい。老化予防です。シフトも使えんだよ。
 めざら資源、怖いです。




10276/10258 BQO00549  konno            TRA_TAG.DEF k06 タグジャンプマクロ 差し替え
( 1) 22/08/26 21:55 10258へのコメント(konnoさん)
このマクロ関連か原因は特定できてないんですが、不具合現象がありまして。
[F07] の置き換えの動作がおかしいときがあったのです。
それで

> 	(wn==0)??>l			;コンソールの時バッファ溢れ対策
> 	(wa..19-wa..18 <500)?>l		;行の長さ500以内ならスルー
> 	&s #< i0,
> :x	#x i=i+we,(i < 500)?>x		;カーソルを500超えるまで進める
> 	#e #d #m #e &d #<		;500以内で改行挿入

この 500 を 330 にしてみました。

	(wa..19-wa..18 <330)?>l		;行の長さ330以内ならスルー
	&s #< i0,
:x	#x i=i+we,(i < 330)?>x		;カーソルを330超えるまで進める
	#e #d #m #e &d #<		;330以内で改行挿入

UPマクロは差し替えました。
落とされた方はこれに差し替えてください。m(__)m


10277/10260 CXB00940  としき           Re: 用語(NG: postfix)
( 1) 22/08/26 22:12 10273へのコメント(文太さん) コメント数:2
参照先:http://toshiki.la.coocan.jp/
夏休み第2弾を満喫しています。
例年だと、8月最初の週末前後と8月最後の週末前後に夏休みをとっているんですが、
今年は諸般の事情で、お盆明け直後が夏休み第1弾。第1弾と第2弾の間が短いので、
つなげてしまえという声もありましたが、そこは無視。
ということで、現在、アルコール汚染真っ只中。

さて。

>  ^A	これのプレフィクスキーは、^

これにはいささかの違和感あり。
なぜというに、プレフィクスキーを押したのち、キーボードから完全に手を離して
から次のキーを押したときに機能するかという点において

>  ^QA	これのプレフィクスキーは、^Q

こちらの場合と違いがあるような気がする。
あ、いや、この辺、もしかして環境によって違うのかも。
なんか、OSのユーザー補助だか何だかで違いがあるような気もするし。

10278/10195 CXB00940  としき           Re^3: 各ブラウザでの見栄え
( 1) 22/08/26 22:19 10211へのコメント(としきさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
しばらくぶりにこちらの掲示板を見てみたところ。

> 一つは、前にも話を出したところですが、「返信フォーム」の上に表示されている
> 「関連一覧ツリー」のツリー表示が乱れる件。

こちらはあまり改善されていないようですね。
もしかしたら悪化していたりして。

> もうひとつは、同じところですが、「関連一覧ツリー」のトップというかルートと
> いうか、下三角が表示されている隣の発言。
> 他の発言と違い、ここだけなぜか発言番号が表示されていない。

こちらはきちっと直っていますね。
めでたい。というか、ありがたい。

10279/10260 CRG00666  文太             Re^2: 用語(NG: postfix)
( 1) 22/08/26 23:19 10277へのコメント(としきさん)
>>  ^A	これのプレフィクスキーは、^
>これにはいささかの違和感あり。

 ま、発想は分かります。整理を試みただけです。公式に決まっているのなら、教えて
くださると嬉しいです。

 ^@ と ^Q@ の @に注目するとき、それを何て呼べばいいの? 
という疑問です。



10280/10260 CRG00666  文太             Re^2: 用語(NG: postfix)
( 1) 22/08/27 01:45 10277へのコメント(としきさん)
としきさん

 別に誰が何と呼ぼうと、ではあるのですが。

◆シフト併用不可の記号キー系(2ストローク)
 (なかなか使えないキーたちではあります)

 ^Q@, ^K@, ^I@, ^O@, ^N@, [ESC]@ 	;^N@ used by bunta

 なんてのを眺めていたら、そうキーアサインを決めるとき、プレフィクスは
システムの制限で、その後の本当の文字、命名法で悩んだりするんだよな、と
思いました。
 上のキーが、たとえば、「なかなか使えないキー」なのは、@ってのが、
何も連想されない、連想させないからです。記号キー一般がそう。
 シリーズで使うしか、ないのかなぁ?

 そういう意味では、^Q[, ^Q] (c.mos original)って、すげえ、とか
思ってしまいました。ほとんど使わないのだけど。

 で、本物(本体)キー、なんて呼びましょうか。欲しいのは結論、つまり、
名前です。



10281/10260 CRG00666  文太             エスカルゴだ!
( 1) 22/08/27 11:44 10274へのコメント(文太さん)
 独り言です。

 [ESC]@、これを見ていたら、あれ、これ、「エスカルゴ」じゃなかったっけ?
でも、エスカルゴって何? 見た目どおりのネーミングだけど。
 で、僕のvzdefディクレトリを 

>ygrep -r0 -% "[ESC]@" *.def	;再帰なし、正規表現 OFF

 したけどヒットしない。過去ログ経由で、vzmacro.shdへ。^@ = ^2 も
使ってんじゃん。(*)僕は、@P のキーアサ = インスタント。P って、
色々微妙ですよね、詳細は覚えてないのだけど。
 不思議とこれ、忘れないな。
(*)きっと違います。NEC98では、きっとそのまま通ったのです。

 @ というのもアルファベットの前で(こういうのが当たり前に頭に入っている
人たちなんだよなぁ)、特殊ですね。学びました。

------------------------------------------------------
@&11 @マクロ文の実行" 
標準組込マクロ
 &11 [ESC]@ \[F12]  マクロ文の実行 ◆
(略)
   FGALPK MES 14 #6103 の m.gann 氏の拡張版
  #11 [ESC]@ ^@ "" ;Instant (237) by m.gann ◆
  #    (s%3)?. r[,
  #    &g("Instant:",20)
  #    (s%3)?#[ (r+1)?{ r][, &e(pw)
  #    p[32+pr, (i[16){ p.i--=49-(r&1<<(15-i))!, }    ;eggchi
  #    &m("%s: %d %u %xh %16s '%c' $"%16s$"",pw,r,r,r,p,r,r[)
  #    (ks&1>s&&mr-$80)?{ &s #< &?("%s",pu+bu) #m } r],i],p],
  #    (ks&17-16)?&d } (pw.0-',')?r], ?sp+=2,   ;(0])
  #    (r)
------------------------------------------------------
 ◆c.mosさんのアサインとm.gannさんのアサイン。通じてる。
  m.gannさんって、(c.mosさんもだけど)、1文字1文字に意味あるんです
よね。



10282/10195 BQO00549  konno            Re^4: 各ブラウザでの見栄え
( 1) 22/08/27 21:27 10278へのコメント(としきさん)
> > 一つは、前にも話を出したところですが、「返信フォーム」の上に表示されている
> > 「関連一覧ツリー」のツリー表示が乱れる件。
> こちらはあまり改善されていないようですね。

これは積年の課題になっていますね。
また解決に向けてチャレンジしてみます。

> > もうひとつは、同じところですが、「関連一覧ツリー」のトップというかルートと
> > いうか、下三角が表示されている隣の発言。
> > 他の発言と違い、ここだけなぜか発言番号が表示されていない。
> こちらはきちっと直っていますね。

これは気が付かなかったので指摘をいただいてありがたかったです。
もう一つのご指摘もとしきさんとめざらさんのご教示で解決できましたし
勉強になりました。


10283/10283 BQO00549  konno            Instant.def を改造2
( 1) 22/08/27 22:20
 m.gann さんの Instant.def を改造しました。軟体にあるものです。
前回、#8472 2018/10/31(水) で揚げた改造の第2版です。

きっかけは、kVZの公開版のチェック中にインスタントマクロで
パスのポインタ表示が出ないことがあったからです。げげ!
使用中の私家版やその他のVZではキチンと表示出来たので、バグかと焦りました。
wa+146		フルパスのファイル名
nm		★編集テキストの相対パス名
これらが表示されないので、ポインタズレが起きているのかと焦りました。
よく見ると、ポインタの下位バイトが $0a などの時に表示されないようです。

	&m("%s: %d %u %xh %16s '%c' $"%16s$"",pw,w=r,r,r,p,r,r)	

原因は、'%c' で 下位バイトが $0a だとその後を表示しないためでした。
そこで、今回はこの表示順を入れ替えました。
kVZの公開版は、私の環境ではちょうど $0a になるんですよね。(^^;
ついでに、コメント3か所を取ると、$20以下の時だけ入れ替えます。
そういえばちょうど、#10281 でエスカルゴの話題が出ていますね。(^^;


======= Instant.def ======= by m.gann

・[ESC]@、いわゆるエスカルゴの拡張版です。
・全モード(s=0-3)で実行可能です。(DOS/Vの編集
  モード以外で実行するにはキー ^@ の変更が必要)
・2進数表示も行います。
・[CTRL]+M で入力した場合は &d を実行しません。
・編集モードかつ [CTRL]+[SHIFT]+M で入力した場合は
  結果をテキストへも出力します。
・"文字列" 混じりのマクロ文も実行可能です。
・メッセージを伴う場合は1秒間程度待機します。
・全ての変数は保存されます。
・変数 r の変更はできません。

;  konno改造履歴
;  2022/08/27  k02  パスなどの文字列表示を改善
;  2018/10/31  k01  スタックの数値をメニュータイトルに表示

* Macro

11 [ESC]@ ^[F01] ""	;Instant (326)
	r[, ss-, mx+,
	r=sp-pu,			;★スタックの数値の変化を
	&g("Instant: $r ",32) 		;★メニュータイトルで表示
	mx-, (s&&s<3)?{ #< #x } (r+1)?{
	&v(pn.-15=pa.0-) &Sh(pa,pw) r=pa-1,
:R	(2){ &SF(r+1,'"') (r)?,?{} } ?{ r.0-, >R }
	r][, &e(pa) :p (s>3)?{ &c >p } (pn.-15)?&w(120) ;60)★2秒表示
	p[32+pa, (i[16){ p.i--=49-(r&1<<(15-i))!, }	;eggchi
;	i=r,i=i<<8,i=i>>8,(i<$20)?>b			;rの下位バイトが$20以下?
	&m("%s: %d %u %xh %16s $"%24s$" '%c'",pw,w=r,r,r,p,r,r)
;	>e						;文字列を優先表示
;:b	&m("%s: %d %u %xh %16s '%c' $"%16s$"",pw,w=r,r,r,p,r,r)	;通常表示
:e	(ks&1>s&&mr-$80)?{ &s #< &?("%s",pu+bu) #m } i], p],
#if 98
	(ks&17-16)?&d
#else
;	(ks&5-4)?&d
#endif
	} (r])

*
======= end of instant.def =========


10284/10260 DGF01024  めざら           Re: ^2, ^6, ^-
( 1) 22/08/27 23:39 10275へのコメント(文太さん) コメント数:1
参照先:http://mezala.la.coocan.jp/
>  めざら資源、怖いです。

え? えっ?! なに なに?

10285/10260 CRG00666  文太             Re^2: ^2, ^6, ^-
( 1) 22/08/28 01:13 10284へのコメント(めざらさん)
 #10260 からです。大した量ではありません。
 内容が既知のとき、流し読みができますし。
 尊敬です。


10286/10260 CRG00666  文太             @@
( 1) 22/09/01 01:10 10274へのコメント(文太さん) コメント数:1
 すいません、自慢になってしまうかもしれませんが、konnoさんへの
感謝をこめて。

 [ALT]@

 これは、少なくとも、k07t01 においては有効です。ただし、網羅的な
試験はしていませんが、僕の vtdos@win7 ではダメでした。
 純DOS および WinME では通ります。

 想像するに、konnoさんは、やるべきことはやって下さっていたのだと
思います。

 ありがとうございました。konnoさん!

 このスレッドの記事、なるたけ修正をして、発言に間違いないように
しました。ミスを全部撲滅したとは思えませんが。過去ログに入る前に。



10287/10260 BQO00549  konno            Re: @@
( 1) 22/09/01 17:55 10286へのコメント(文太さん) コメント数:1
>  [ALT]@
>  これは、少なくとも、k07t01 においては有効です。ただし、網羅的な
> 試験はしていませんが、僕の vtdos@win7 ではダメでした。
>  純DOS および WinME では通ります。

なんと! 使えていたんですか(@.@)
結局私は拡張キーを止めてなかったんですね。
ソースを確認していませんでした。(^^;;

VTDOS では、[ALT]@ が使えないのか、試験してみました。
#10275 のマクロ
30 ^@  ""  (ks&1)? { &m("^\@").} ? { &m("^@"). }	;^2
これをちょっと変えて
	↓
30 @@  ""  f=ks&15, (f)?{ &m("@\@  %d",f).} ? { &m("@@  %d",f). }

これを実行すると、確かに [ALT]@ は、IMEのON/OFF になりますね。
CMD窓で、[ALT]@ を押しても IMEのON/OFF になりました。
[ALT]@ は、システムで IME の起動キーとして取られているようです。

ところが、[Shift]+[ALT]@ だと、マクロが起動して
 @\@  11
と表示されました。

Ks の数値は、IBM版 は       
  +1 :R[Shift]
  +3 :L[Shift]
  +4 : [Ctrl] 
  +8 : [Alt]  
こうなっているので、[Shift]+[ALT] が押されていると認識しているようです。
 11 という数値は、右[Shift]でも左[Shift]でも同じでした。

また、[Ctrl]+[ALT]@ でも、マクロが起動して
 @@  12
と表示されました。
これは、[Ctrl]+[ALT] が押されていると認識していると思われます。

いずれにしても、[ALT]@ の起動キーがWin7 以降は使えないようなので
実用としては使えないですね。


10288/10260 CRG00666  文太             Re^2: @@
( 1) 22/09/01 18:46 10287へのコメント(konnoさん)
konnoさん

 たしかに、下をうちでも確認しました。

[ALT]@			;NG on VTDOS (Win7)
[Shift]+[ALT]@		;OK
[Ctrl]+[ALT]@		;OK

 とはいえ、仰るとおり、[ALT]@が駄目なとき、下の2つを使えと言われても
かなり大変そうですね。純DOS、WinMEでも、うーん、だけど。
 いちおうメモって、空きキーリストに入れておきます。



10289/10222 BQO00549  konno            MS-DOS Player がおかしくなった?
( 1) 22/09/10 22:59 10222へのコメント(konnoさん) コメント数:1
最近、野ざらし言#5017 で話題にしたのですが

> FO.COM やってみました。
> MS-DOS Player は、実行後、1分ぐらいフリーズしてからプロンプトが戻りました。
> やばい! 何かループのコードを実行してるみたい!!

この FO.COM はソースも公開されているのですが、BX を初期化しないまま使っているのです。
そのせいで MS-DOS Player の挙動がおかしくなったのかと始めは思っていたのですが。

野ざらし言#5048 から引用すると
---------------------------------------------

MS-DOS Player は、いつの間にかおかしくなっていました。
VMAP でも実行後、1分ぐらいフリーズしてからプロンプトが戻りました。
前の版に差し替えたり、PIF を作り直したり色々やってみましたが変わりません。
もしかしたら Windowsの更新でおかしくなったのかなぁ。

原因がわからないので、一人で悩んでいましたが、やっと原因がわかりました。
SET で見ると、
COMSPEC=c:\COMMAND.COM
と出ます。
# そこに私はいません♪

実際には、バッチにもアイコンのプロパティのリンクにも
COMSPEC=C:\UT\P\COMMAND.COM
と書いていて、今まではそれで動いていたのです。
やっぱり Windowsの更新でおかしくなったように思います。

VZのコピーでは C:\ にコピー出来ないので、エクスプローラーでコピーしたら
正常に動作するようになったようです。
FO.COM も、正常に実行できました。

これもうちの掲示板で一応告知した方がいいかな。

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

ということで、Windowsの更新でおかしくなったという人はいませんか。
確認お願いします。


10290/10177 BQO00549  konno            VTDOS だけ実行出来ないコマンドがある?
( 1) 22/09/10 23:24 10177へのコメント(konnoさん)
最近、野ざらし言#5004 からのツリーで話題にしたのですが

FO.COM という古い公開プログラムがあって、VTDOS だけ実行できないのです。
この FO.COM はソースも公開されているのですが、BX を初期化しないまま使っていました。

野ざらし言#5045 から引用すると
---------------------------------------------

先の実験で、純DOSの MSDOS6.2 では BX を 初期化していると思われます。
同じ fo.com を使っているので、fo.com もシロだと思います。
そして、command.com も、コマンドの一つだということ。
コマンドやプログラムをメモリにロードして実行させているのは、DOS システムだということになります。

ということは、BX を汚しているのは、VTDOS だということになります。
レジスタを初期化しないまま使うプログラムは手抜きか行儀が悪いか、うっかりか。
それでも純DOSの時代は問題なかったから、わざと手抜きしていた可能性もありますね。

でもエミュレータを作る時は、基本のルールに則って作るので、ルール違反は想定外だった。
という可能性がありますね。
この事例は私の掲示板でも告知して注意喚起したほうがよさそうです。

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

ということで

> プログラムを作成するということは、ルールに則って作成するべきです。
> 手抜きプログラムは自分一人だけで使うならいいですが、公開するのは問題がありますね。

これが基本だとは思いますが、レジスタを初期化しないまま使うプログラムも有りうるということで
純DOSでは コマンド実行時にレジスタを初期化しているのだと思われます。
VTDOS はどうも初期化していないのかもしれないので、ご注意願います。
10# さん、この件、確認していただくとありがたいです。


10291/10291 BQO00549  konno            VZ1.6のバグが直った?
( 1) 22/09/14 01:09 コメント数:4
野ざらし言#5053 に書いた記事ですが転載します。


[ESC]I のバグがVZ1.57a で出ないので、ソースを見比べていました。
そうしたら、気になる箇所があったので、Vn のマーカーを入れてみました。

 text.asm 1.57a 1484行目

seekb_x:
	pushf
	add	ax,[bp].ttop		; ##1.5
	popf
	call	qclose


text.asm 1.6k07t01 1884行目

seekb_x:
	pushf
	add	ax,[bp].ttop		; ##1.5
	cmp	ax,[bp].tend
_if ae
	mov	ax,[bp].tend
	dec	ax
	mov	byte ptr [bp].atrtxt1,1 ;★; Vnマーカー追加
_endif
	popf
	call	qclose


VTDOSの結果は、Bl2048 では NG で、Vn0 反応なし
念のため、Bl8192 を試したら NG で、Vn1 反応あり

おお、と思ってここのルーチンを 1.5 と同じにしてみたら
なんと、VZ1.6では Bl8192 は全て NG だったのが OK になりました!!
MS-DOS Player や DOSVAXJ3 では、Bl1024〜Bl8192 OK
VTDOS では、Bl4096〜Bl8192 OK

ただし、Bl1024*3 だけは、1.57a を含む全てのVZ、環境で誤動作します。
正常時に比べてファイルサイズが大きくなるし、VZが壊れる可能性も。
VTDOS では 'REP MOVSW 命令ラップアラウンド' エラーでVZが落ちます。
これは別のバグ発見か?

現在色々検証中です。

# シン・ゴジラのエネルギー源を突き止めたくらいに興奮しました!!


10292/10291 BQO00549  konno            Re: VZ1.6のバグが直った?
( 1) 22/09/16 00:50 10291へのコメント(konnoさん) コメント数:2
VZの標準マクロ、[ESC]I ファイルの挿入で発覚したバグについて
今回の修正と新たなバグ? について色々検証した結果、どうも今回の修正は
たまたま一部のエリアで正常になっただけのような気がしてきました。

まず、VTDOS MS-DOS Player DOSVAXJ3 での全てのVZで共通するのは
EK- でも EK+ でも
BL1024*3 の時 NG になり、ファイルが大きくなるということです。
今まで EK+ ならバグは出ないと思っていましたが、どうもこのエリアに地雷があるようです。

それでも今回の修正で BL8192 の常用環境で改善されたのなら少し前進できたのかも。
VTDOS では、XM1 EM12 くらいにすれば一番安定して使えると思います。


参考までに、PC98エミュの NP21 の結果も載せます。NP2 は文字化けあり、NP2のバグ?
EK- VZk07t01 VZo VZk07v(今回の修正したもの)
BL1024*1〜BL1024*3 OK
BL1024*4〜BL1024*6 NG ファイルが小さくなる
BL1024*7〜BL1024*8 OK

EK+
BL1024*1〜BL1024*3 OK
BL1024*4〜BL1024*6 NG ファイルが大きくなる (VZk07vのみファイルが小さくなる)
BL1024*7〜BL1024*8 OK

VZ1.57a
EK- でも EK+ でも
BL1024*3 の時のみ NG ファイルが大きくなる


DOSV版と異常の出る範囲が違うのは、ファイルやバッファのサイズが関係しているのか?
PC98版をもし使う機会があるなら、BL1024*4〜BL1024*6 は避けた方がよさそうです。
1.57 を使う人はもういないと思いますが。(^^;


10293/10291 BQO00549  konno            Libretto を復活させ検証してみた
( 1) 22/09/17 01:56 10292へのコメント(konnoさん)
検証用にWinMEノートが使えないか、腐海をあさって見ました。
ほとんどのノートPCは液晶が駄目になっていましたが Libretto が起動できました。
仕様は下記のサイトから
https://dynabook.com/pc/catalog/libretto/010507l1/spec.htm

> Libretto L1/060TNCMモデル
> Transmeta Crusoe プロセッサ TM5600 600MHz
> メモリ 	標準/最大 	128MB/256MB(PC100対応、SDRAMうち16MBはシステムで使用)
> 内部ディスプレイ 	10型FLサイドライト付き低温ポリシリコンワイドTFT液晶(※1)1,280×600ドット:1,677万色
> ハードディスク	 	10GB(Ultra ATA対応 全領域がFAT32で設定(Cドライブ1パーティションで設定)。
> 外形寸法(突起部含まず) 	268mm(幅)×167.2mm(奥行)×20.5(最薄部)/29.3mm(高さ)
> 質量 	約1.1Kg(バッテリパック装着時)

さらに、Wikipediaから
> Libretto L1
>     2001年5月18日発売。技術の粋を集めた旧シリーズとは異なり「実用的で低価格なモバイルノート」を標榜。
>     当時としては珍しい「ワイドSXGA」横1280ドット×縦600ドットの10インチ低温ポリシリコンTFT液晶を採用。
>     Windows XPの発売を控えていた事もありWindows Meをプリインストールした。

IBMのWin2000ノートが液晶の四隅が滲んでいるのに、Libretto は綺麗なままです。
最初はハードディスクが回らなかったので、叩いたら回るようになりました。
ファンの音が煩くて使わなくなっていたんですが、まだまだ使えそうです。


さて、本題ですが、検証の結果は、MS-DOS PlayerやDOSVAXJ3 と同じでした。
以上。(^^;


10294/10294 BQO00549  konno            CODEX.DEF が動かない?
( 1) 22/09/19 00:59
最近 CODEX.DEF を使おうと起動したら、メインメニューは出るが
検索抽出のメニューで終了してしまいます。
え、なんで〜 (;_;)

最近の改造VZが原因かと、VZT でやっても駄目でした。
CODEX のマニュアルが見当たらなくてめざら資源の軟体のお世話に。(^^;
 CODEX.DEF v3.0 ユーザーズ・マニュアル によると

>    (B) Bu の値は 256

そういえば最近 VZ.DEF のオプションを変えて、Bu64 にしていました。
忘れないようにオプションの所にコメント入れて、これで安心と思ったら
変わりません。(;_;)

変更前の VZ.DEF と比較したら、Bm も 13000 から 12000 にしていて
これが怪しいと思って戻したら、動くようになりました。
最近は vrensave.def でまめにバックアップしていたので助かった〜
子メニューでコケるのは、マクロバッファが足りないからなんですね。
結構ギリギリでやってたんだなぁ。

私にとって必須のマクロは沢山あって、日々お世話になっています。
これらのマクロが動かなくなったら途方に暮れるしかないのです。
マクロ作者の皆様には、日々感謝です。m(__)m


10295/10222 BQO00549  konno            MS-DOS Playerで VZは常駐使用できる?
( 1) 22/09/19 22:15 10289へのコメント(konnoさん) コメント数:1
まずは前回の記事の件から

> MS-DOS Player は、いつの間にかおかしくなっていました。
> 原因がわからないので、一人で悩んでいましたが、やっと原因がわかりました。
> SET で見ると、
> COMSPEC=c:\COMMAND.COM
> と出ます。
> # そこに私はいません♪

最近再確認してみたら、これはどうも効いていないようです。
他の command.com を試そうと、C:\ に置いても変わらないのです。

> 実際には、バッチにもアイコンのプロパティのリンクにも
> COMSPEC=C:\UT\P\COMMAND.COM
> と書いていて、今まではそれで動いていたのです。

これは間違いで、バッチのPATH でした。で、このPATH も効いていません。

アイコンのプロパティのリンクは
COMSPEC=C:\UT\MP\COMMAND.COM
になっていて、ここのPATHが効いているようです。

> やっぱり Windowsの更新でおかしくなったように思います。

最近またWindowsの更新があったので、それで元に戻ったのかもしれません。
やれやれです。


で、本題なのですが、MS-DOS Playerで VZは常駐使用できるのか?

今まで私の環境では MS-DOS Player で VZ は常駐で使用出来ていませんでした。
他はどうかわかりませんが、私の環境では全てのVZで駄目だったんですね。
それが、10#さんが調整された FreeDOS の command.com では常駐使用出来たんです。

http://vtdos.web.fc2.com/
DOWNLOAD FREECOMV.ZIP UPDATED 130314
FreeCOMJ 0.82 PL3 VTDOS 対応パッチ
2013/03/14 00:12 89,244 command.com

Turbo C のソースなんですかね。
色々な command.com で試したのですが、他は全部駄目だったようです。
何が違うんでしょうかね。

ちなみに、アイコンのプロパティのリンクは
C:\UT\msdos.exe -e -x -v6.20 c:\ut\mp\command.com
としていますが、-v オプションを command.com の Ver に合わせる必要があります。
これが違うと MS-DOS Player が終了してしまうようです。
10#さん調整の FreeDOS の command.com だけはこのオプション関係なく起動します。


10296/10222 BQO00549  konno            10#さん調整の FreeDOS の command.com の追試
( 1) 22/09/20 21:27 10295へのコメント(konnoさん)
10#さん調整の FreeDOS の command.com の追試をしました。

MS-DOS Player を起動後、SET を見ると
COMSPEC=C:\COMMAND.COM
と表示されています。PATH はWindows の長いPATH になっています。

その後 DOS環境設定の BAT を実行すると PATH は DOS のPATH になります。
COMSPEC だけは
COMSPEC=C:\UT\MP\COMMAND.COM
と、アイコンのプロパティのリンクのPATH が表示されます。
実際に効いているのはこのPATH です。

その他の command.com は
COMSPEC=C:\COMMAND.COM
のままで、command.com を C:\ に置いても 常駐VZ は起動しないです。
他の環境変数も表示がおかしいところがあります。

問題は、環境変数領域の設定にあるのではないかと感じています。


10297/10291 BQO00549  konno            BL1024*3 は危険、使用禁止に
( 1) 22/09/20 22:44 10292へのコメント(konnoさん) コメント数:1
> まず、VTDOS MS-DOS Player DOSVAXJ3 での全てのVZで共通するのは 
> EK- でも EK+ でも
> BL1024*3 の時 NG になり、ファイルが大きくなるということです。
> 今まで EK+ ならバグは出ないと思っていましたが、どうもこのエリアに地雷があるようです。

これをトレースすると、最初の #i ブロック挿入 でおかしくなっています。
ファイルオープン直後 ^QC ^QR をやっておけば、一見正常処理できたように見えます。
ところが、ファイルの比較で常に同じ所で文字化けします。全てのVZで同じ現象です。

0007.cgi ログNO.2418の行で 3781bytes ありますが
後半の「横流ししてもらえないかな」の途中で文字化けします。
3700bytes目の「ら」が

横流ししても82
えないかな

このように、$82 と $0a の改行になってしまうのです。
BL1024*3 は、3072 なので、この値が関係ありそうな気もします。
VZ1.57a も含むおそらく全てのVZで同じ現象になります。

さらに驚くことに、BL1024*3 にして、0007.cgi をオープンして
ログNO.2418の行を検索すると、上と同じように文字化けしていました。
VZ1.57a も含むおそらく全てのVZで同じ現象になります。

汚れていたのは、BL1024*3 だったのです。
BL1024*3 は使用禁止にするしかないですね。
これで使っている人はいないと思いますが。
ちなみに、PC98エミュでは同じ現象にはならないのですが、以下略。(^^;


10298/10291 CXB00940  としき           Re: BL1024*3 は危険、使用禁止に
( 1) 22/09/20 23:28 10297へのコメント(konnoさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
また新しい事実が見つかった感じ。

> BL1024*3 は使用禁止にするしかないですね。

ここで気になるのは、Bl2048のとき。
2048バイトを超える行において、2048バイト目が文字化けするのか否か。


10299/10291 BQO00549  konno            Re^2: BL1024*3 は危険、使用禁止に
( 1) 22/09/21 02:33 10298へのコメント(としきさん)
> ここで気になるのは、Bl2048のとき。
> 2048バイトを超える行において、2048バイト目が文字化けするのか否か。

BL1024*1 でも BL1024*2 でも問題は出ていないので、文字化けもないと思われます。
文字化け位置までのファイルサイズは 135114bytes
1024*16=16384 EMS 1ページ
16384*8=131072
135114-131072=4042
うーむ、関連は無いか。
恐らく何かの境界になっているのでしょうが、わからないですね。


10300/10222 BQO00549  konno            MS-DOS Player 2022/9/20 の更新
( 1) 22/09/21 19:32 10222へのコメント(konnoさん)
MS-DOS Player が 2022/9/20 に更新されていました。

実は今回の件で、作者の武田さんに同じ内容で質問メールしていたのです。
更新とともに返信メールも来ていました。
それで、今回更新された実行ファイルを試してみたんですが、変わらないようでした。
以下、メールの内容ともかぶりますが顛末を


> 2015/12/28の記事にある通り、
> 仮想マシンの起動時は、COMSPECの値はC:\COMMAND.COMになっています。
> 仮想マシン上のアプリがCOMMAND.COMにアクセスしようとすると、
> ホストマシン上の実際のCOMMAND.COMのパスにリダイレクトされます。

> 実際のCOMMAD.COMのパスは、ホスト環境の環境変数MSDOS_COMSPECで指定します。
> MSDOS_COMSPECが存在しない場合は、COMMAND.COMを、
> - 実行対象のアプリのあるディレクトリ
> - MS-DOS Playerの実行ファイルのあるディレクトリ
> - パスの通っているディレクトリ
> の順に検索して、最初に見つかったパスにリダイレクトされます。

この情報は今回見ていませんでした。
ちゃんと調べないまま質問してすみませんでした。

> ここまでは従来仕様ですが、仮想マシン上でCOMSPECの値が変更された場合、
> 上記のパスでなく、COMSPECで指定したパスにリダイレクトするようにしました。
> これで解決していないかご確認お願いいたします。

試してみましたが変わっていないように見えます。
今回環境変数MSDOS_COMSPECも指定してみましたが、あまりかわらないようです。
MSDOS.EXE と同じところに置いて指定して見ましたが VZ常駐起動はしないようです。
この辺の仕組が私はわかってないので FreeCOM との違いを調べて勉強してみます。

対応いただきありがとうございました。


ところで別件ですが、MS-DOS Player では Turbo Link でエラーが出るようです。

Turbo Link Version 2.0 Copyright (c) 1987, 1988 Borland International
msdos error, ax= 0006h

VTDOSやDOSVAXJ3 では動いているようです。
私にはなにもわからないですが、もしかして Ver が古いせいですかね。
何かの参考になれば幸いです。


10301/10177 BQO00549  konno            VTDOSで command /c 実行出来ない?
( 1) 22/09/25 18:00 10177へのコメント(konnoさん) コメント数:1
最近 VZ1.57 のアセンブルをする機会があり、VTDOS で MK.BAT を実行したら

VTDOS1.53
C:\VZ\VZ16\VZ157\SRC>mk ibmj
ロケーションテーブルが不良です. ドライブ 5D58:
File allocation taGラーです.
Memory allocation error\
COMMAND を読み込めません. システムは停止しました.
Cannot load COMMAND, system halted

こんなメッセージが出て VTDOSが停止してしまいました。
VTDOS1.22 でも試してみましたが、同じメッセージで止まります。

VTDOS1.21 では
Cannot load COMMAND, system halted
8(0002) 9B7D:48DF '無効命令 00'
8(0002) 9B7D:48DF '致命的エラー: アクセス違反 0x02380000 0x004140D5'
VTDOSを終了します。

こんなメッセージだったかな。
最近 MSDOS player を更新して システムの環境変数に
MSDOS_COMSPEC=C:\UT\COMMAND.COM
これを追加しましたが、関係ないですよね。

調べてみると、MK.BAT の中の

command /c ac %1

ここで落ちているようです。コマンドラインで、

command /c VMAP

などとやっても同じメッセージが出て落ちました。
VTDOS で MK.BAT を実行しても落ちない時もあったようなのでわけわかです。
うーん、Windows の他のタスクが干渉しているのかなぁ。
もう少し調べてみます。


10302/10177 BQO00549  konno            command.comは実行ファイルのPATHに置いたら駄目
( 1) 22/09/25 20:54 10301へのコメント(konnoさん)
そういえば、非常駐VZ のコマンドラインで [Enter] で COMMAND.COM を呼び出せたよなぁ
と思ってやってみたら
 
Microsoft(R) MS-DOS(R) Version 6.20
            (C)Copyright Microsoft Corp 1981-1993.

こういう表示が出ます。VZは正常に動いているようです。
ここで、さらに command.com を呼び出してみようとしました。

VTDOS|C:\VZ>command vmap
COMMAND.COMのパスは絶対パスで与えられなければなりません.
つまり, ドライブ文字とそれに続く \ から始める必要があります.
例: C:\FDOS

COMMAND.COMは現在以下のパスを想定しています.
C:\VZ\VMAP
ファイル 'C:\VZ\VMAP' を開くことができません.

FreeCom version 0.82 pl 3 [Mar 13 2013 16:40:42]


こうなりました。あれれれ?
このメッセージは、FreeCom の command.com が出しているんですよね?
そういえば MS-DOS Player の更新時に、実行ファイルのPATHに変更していました。
#10300 で書きましたが

> MSDOS.EXE と同じところに置いて指定して見ましたが VZ常駐起動はしないようです。

よく考えたら、command.com も実行ファイルの一つでしたね。
私は command.com を色々切り替えてテストすることが多いので、実行ファイルのPATHに置いたら駄目ですね。
今回の現象は、私のポカミスが原因だったようです。

お騒がせして申し訳ありませんでした。m(__)m



10303/10291 BQO00549  konno            VZ1.6のバグ修正版検証中
( 1) 22/09/28 21:26 10291へのコメント(konnoさん)
c.mosさんが1.6でルーチンを追加したからには何か意味があるはずです。
結果的にバグが出たのはルーチンが不完全だったのかも。
私にはまったくわからないですが、ADD 命令でオーバーフローの可能性は考えられます。
その対策の追加ルーチンだとしたら、違和感を感じますね。

普通は ADC とか、JC で分岐させるのにそれをしない理由はわかりませんが
とりあえず JNC 追加で1.6のルーチンを復活させてみました。

Vn のマーカーも入れましたが、NGファイルのテストでも Vn に引っ掛かりません。
なので、オーバーフローしたらマクロトレース状態で止まるルーチンも追加しました。

seekb_x:
	pushf
	add	ax,[bp].ttop		; ##1.57
	jnc	seekb_9			;##k 220923 Bl8192対策?
	add	byte ptr [bp].atrtxt1,1 ;★;; オーバーフローなら Vn1+
	cmp	ax,[bp].tend		;##1.6 ttopとtendアドレスを比較
_if ae					; ttopが上だったら
	mov	ax,[bp].tend		; ax(ttop)にtendを代入
	dec	ax			; アドレスを一つずらす
	add	byte ptr [bp].atrtxt1,10 ;★;; 1.6の修正ルーチン実行で Vn10+
_endif					;
	push	ax				;★トレースONルーチン
	mov	al,1				;
	xchg	cs:stopf,al			;トレースモードに
	pop	ax				;
seekb_9:				;
	popf
	call	qclose
	popm	<di,si,cx,bx>
	ret
seektext endp


この状態でVZを普通に使ってみて様子をみています。
今のところ引っ掛かりませんがね。

ちなみに、このルーチンを公開版 VZk07t01 に追加すると常駐で動かないの。(;_;)
私の私家版常用環境では動くのに。(^^;
やれやれ、どうしたものか。


10304/10304 CRG00666  文太             おめでとうございます
( 1) 22/09/29 13:05 コメント数:1
 ご存知のとおり、僕はDOSエミュレータ系とは遠いところに、主に生存して
おります。
 それでも、各種プラットフォームへのVz適応のために konnoさんがご尽力
くださっているのには、日々感謝しております。
 いちおう真面目なつもりなので、堅苦しい言葉にての感謝のしるしでした。m(__)m

 さて。
 こんな会話があったんですよ。

-------------------------------------------------------------------------
 08/10/05 00:50 Siさん掲示板 #00111 「LOGSORTW ver1.25.3」
 Siさん wrote:

>10年先に Windows があるかどうか ^^;


 08/10/06 01:17 Siさん掲示板 #00116 「Re:LOGSORTW ver1.25.3」
 konnoさん wrote:

>計算上は10年後に12000件という話もあるようですが、私の予想では5年後には
>VZの話題がほぼ無くなると思ってますので、掲示板が残っていたとしても、
>10000件はいかないだろうと。
>OSは変わる可能性大ですが、一応10年先まではサイトを維持したいですね。
-------------------------------------------------------------------------

 このときから14年の時間が流れ……。

 「10年後に12000件」には行かなかったのかな、とは思いますが、
2022年9月29日。10300以上の発言(投稿)があり、いちおう、VzもVzの
話題も、まだ生きているようです。ありがとうございます。

 サイト、維持してくださいね!

 OSは、たしかに、ガンガン、変わり続けてますね。ITのまともな進化
なのかなぁ? 資本主義に振り回されているだけみたいな気がする……。
 「それが進歩ということなのだよ」
 「はいぃぃぃm(__)m」

 個人的には、Win7あたりから気にしなくなってしまいました。必要があって
新しいマシンを買ったら(ZoomとかWeb cameraとか)、新しいOSになっていた、
あぁ、やだやだ、なだけですね。「コントロールパネル」とか「設定」とか
「マイコンピュータ」とか「PC」とか、いちいち変えるの止めてくれない?



10305/10304 BQO00549  konno            Re: おめでとうございます
( 1) 22/09/30 02:44 10304へのコメント(文太さん) コメント数:1
えーと、タイトルの意味がよくわからないですが、一万件突破記念ということでいいですか。(^^;
VZ1.6の修正版のほうは苦戦しています。(>_<)
トレースを咬ませると直ぐにおかしくなるみたいで、路線変更中です。(^^;;

>  08/10/06 01:17 Siさん掲示板 #00116 「Re:LOGSORTW ver1.25.3」
>  konnoさん wrote:
>
> >計算上は10年後に12000件という話もあるようですが、私の予想では5年後には
> >VZの話題がほぼ無くなると思ってますので、掲示板が残っていたとしても、
> >10000件はいかないだろうと。
> >OSは変わる可能性大ですが、一応10年先まではサイトを維持したいですね。

あう、Siさんのところでこんなことを言っていたのですね。
すっかり忘れていましたが、懐かしくてつい読んでしまいました。(^^;

>  このときから14年の時間が流れ……。
>  「10年後に12000件」には行かなかったのかな、とは思いますが、
> 2022年9月29日。10300以上の発言(投稿)があり、いちおう、VzもVzの
> 話題も、まだ生きているようです。ありがとうございます。

LOGSORTWの件で要望を書き込んでいたのですが

> 3千発言で役3メガほどになるので、ファイルサイズにも限界があるかと
> 思いますが、どうせなら1万発言程度までできたらうれしいです。
> うちの掲示板があと10年続いたとしてもそこまではいかないと思います
> ので。(^^;

こんな要望を叶えてもらったんでしたね。
そして、遂に1万件を突破してしまったと。(^^;
なんだか誘導されているような気もしますが気のせいか。

>  サイト、維持してくださいね!

今の調子ならあと5年は行けそうですね。
その先はどうなるかわかりませんが。(^^;

> あぁ、やだやだ、なだけですね。「コントロールパネル」とか「設定」とか
> 「マイコンピュータ」とか「PC」とか、いちいち変えるの止めてくれない?

そういえば、「コントロールパネル」が「設定」に変わりましたが
「コントロールパネル」はまだありますね。
スタートメニューのアプリの一覧の「Windows システムツール」タブに有りますが
私はスタートメニューのアイコンに入れています。CMD.EXE もね。


10306/10304 CRG00666  文太             Re^2: おめでとうございます
( 1) 22/10/01 01:25 10305へのコメント(konnoさん) コメント数:1
konnoさん

>えーと、タイトルの意味がよくわからないですが、一万件突破記念ということで
>いいですか。(^^;

 はい、それでいいです。わりと何となくそういう方向に話がいっただけでなんです、
ごめんなさい。

 かいつまんで経緯を。
 何かの偶然で、ローカルにあったSiさん掲示板のログをみたのです。うーん、
テキスト処理系で、その場で気になったことを自分で調べて結果を報告するという
スタイルなので、Siさんのところにあれを書いたかなぁ、みたく。

 そうしたら、konnoさんが、あのようなことを書かれていて。

 でも(大昔のkonnoさんに向かって、ほぼタイムマシン)、将来の我々、ちゃんと
Vzしてるみたいですよ、とか伝えたくなった、というわけです。

 で、ふと調べたら、偶然、おお、1万件突破してるじゃないですか! となっていた。

 いつもいつもお世話になっています。そして、konnoさんのちゃらんぽらんとも言える
姿勢が、僕にゆとりと余裕を、いつも感じさせてくれています。
 ほんと、いいですよ、これ、konnoさん。失礼、ごめんなさい。

 あと(最低)5年は、がんばりましょう!



10307/10304 BQO00549  konno            Re^3: おめでとうございます
( 1) 22/10/01 22:02 10306へのコメント(文太さん) コメント数:1
>  そして、konnoさんのちゃらんぽらんとも言える
> 姿勢が、僕にゆとりと余裕を、いつも感じさせてくれています。

うう、(^^;;


#「認めたくないものだな、自分自身のばかさゆえの過ちというものを」
 通常の3倍のスピードで書きこんでやるう!


10308/10304 CRG00666  文太             Re^4: おめでとうございます
( 1) 22/10/02 00:45 10307へのコメント(konnoさん) コメント数:1
konnoさん

>うう、(^^;;
 あはははは。
 僕は掲示板の裏の.cgiのこととか(スタイルシート?)は、ユーザとして気になった
ことがありません。(「引用なし」は、いまでも、ものすごく好きです!)

 でも、1点だけ。別に要望ではないですが。
 konnoさんのVz改良の歴史、もうちょっと見やすくまとめられると思います。
 ほら、前回、僕は、マクロキーの拡張で整理したじゃないですか。もちろん、整理は
完全に自分のためだったのですが。
 でも、自分の使っている版にその拡張が反映されているのか、そうではないのかは
試してみるまで分からなかった。ベースがDanny版か高橋版かを分けるのは流れからいって必要
だったのだろうと思います。でも、ユーザからしたら、そのルーチン(拡張)、こっちには
入っているのですか? となります。
 僭越ですが、konnoさんは、ちゃんと全部、把握してますか? Danny版のマクロ・ライブラリー
支援が途中で(サイズが理由で)落とされたのは、記憶されているでしょうが、それ以外のもっと
小さな点は?
 VTDOS対応版とかねぇ。一本化して(なってるんでしょうけど)、過去をひっくるめて、
この最新版では、これだけのものが全部入ってる、とドキュメント化するか、サイトのところで
きっちり書くか。

 文句でも不満でもないです。このご時世ですから、自分で調べろ、です。
 でも、konnoさん自身のため、身の回りの整理は(とりわけ他者から見られてしまう部分は)
もうちょっとできるんじゃないかなぁ、とか思いました。
 ごめんなさいね、ユーザが作者さまに、もうえらそーに。
 でも分かりますよ、過去の整理より、楽しい未来。こっちで遊びたいですからね。
 ま、スルーしてください。

>#「認めたくないものだな、自分自身のばかさゆえの過ちというものを」
 これは何からの引用でしょうか? 悪くないですね、はい、そんなものでしょう。

追伸:shadowさん、本当によかったですね! ドンピシャ。
   でも、僕は、1.5にとりわけ熱くなってはいません。偶然です。m(__)m
   1.6は、ほんとすげえな、なんて今頃、感動しているので。
   konnoさんのような研究レベルになれるのは、いつのことやら……。

追伸2:ちょっと過去ログをグレップしたら、モバギの京kyoさんが、高橋・えむしモバ
対応パッチの文脈で、「え!? Vzにまだバグが残っているんですか!」と驚かれていました。
 あはははは。あるんです。
 さすがの高橋さんだって、バグを見つけることは容易ではなかった。その場面(その条件)に
会わなかったら、分からないですからね。



10309/10304 BQO00549  konno            Re^5: おめでとうございます
( 1) 22/10/02 01:55 10308へのコメント(文太さん) コメント数:2
>  konnoさんのVz改良の歴史、もうちょっと見やすくまとめられると思います。
>  ほら、前回、僕は、マクロキーの拡張で整理したじゃないですか。もちろん、整理は
> 完全に自分のためだったのですが。
>  でも、自分の使っている版にその拡張が反映されているのか、そうではないのかは
> 試してみるまで分からなかった。ベースがDanny版か高橋版かを分けるのは流れからいって必要
> だったのだろうと思います。でも、ユーザからしたら、そのルーチン(拡張)、こっちには
> 入っているのですか? となります。

すみません、ドキュメントは真っ先にやるべきことでしたね。
はっきり言うと過去の私が何をやっていたのかもう覚えていなかったりで。
気が付いたらめざらさんが詳細にまとめられていたりして。m(__)m
申し訳ないです。m(__)m

>  でも、konnoさん自身のため、身の回りの整理は(とりわけ他者から見られてしまう部分は)
> もうちょっとできるんじゃないかなぁ、とか思いました。

そうですね、ある程度身辺整理はしておかないとですね。

>  でも分かりますよ、過去の整理より、楽しい未来。こっちで遊びたいですからね。

足りないところ、至らないところは少しづつでも直していこうと思っています。

> >#「認めたくないものだな、自分自身のばかさゆえの過ちというものを」
>  これは何からの引用でしょうか? 悪くないですね、はい、そんなものでしょう。

文太さんはアニメ見ないんでしたね。赤い彗星のシャー、というアニメキャラの名セリフなのです。
としきさんには通じていると思いますが。(^^;

> 追伸:shadowさん、本当によかったですね! ドンピシャ。

shadowさんにはいつも助けられています。まるで影の守護神?
とにかく皆様に感謝です。


10310/10304 CRG00666  文太             Re^6: おめでとうございます
( 1) 22/10/03 16:56 10309へのコメント(konnoさん) コメント数:1

>>でも、konnoさん自身のため、身の回りの整理は(とりわけ他者から見られてしまう部分は)
>>もうちょっとできるんじゃないかなぁ、とか思いました。
>そうですね、ある程度身辺整理はしておかないとですね。

 どうか、頑張られてくださいね。
 しつこいかもしれないけれど。
 誰かのためというより、ほんとkonnoさん自身のためだと思う。あれらの作品群と歴史、誰に
とって一番大きな財産かといったら、konnoさんの生き様そのものなわけですから、konnoさんの
財産です。
 ほんとにそう思う。いただくべきものは、もうちゃっかり頂いちゃってるから、というのも
ありますが。
 いえ、頂くべきものは、"next one"(次作)でしょう!
 バグ取りって、超地味ですが。
 久しぶりに、SVC(Stationでしたね、たしか)のログを読んだら、相変わらずワクドキ
しちゃった。やっぱり、m.gannさんとか榊原さんとかAiming Offさんとか、レベルが高い!



10311/10304 BQO00549  konno            Re^7: おめでとうございます
( 1) 22/10/04 02:08 10310へのコメント(文太さん)
>  いえ、頂くべきものは、"next one"(次作)でしょう!

次作はあるかどうか・・・・ 私にバグ取りのスキルは無いし、
もう完全に趣味と老化防止のためにやっているようなものなので。(^^;


10312/10312 BQO00549  konno            VZ1.57 → VZ1.57a の差分の実行はややこしい
( 1) 22/10/04 02:10 コメント数:2
私の VZ1.5 は、1.57a だと思っていたら、1.57 でした。なんてこったい。(;_;)
それで、野ざらし言#5071 で VZ1.57 → VZ1.57a の差分が欲しいと言ってみたら
shadowさんから VZ1.57 → VZ1.57a の差分を頂いたので実行してみました。

結果的には 1.57a に出来たのですが、色々紆余曲折がありました。
VTDOS や MSDOS player や DOSVAXJ3 で実行すると 日付が今の時間になってしまいます。
これらのエミュレータではシステムの制限なのか、DOSの日付操作が効かないようです。

そこで、WinMEのDOS窓でやり直したら、キチンと日付が設定されました。
差分実行手順も複雑なので、Win10(32ビット版)のDOS窓でもう一度やり直してみました。
どうやら DOS窓では日付設定は効いているようです。
それでは手順を追ってみます。


頂いた VZ157A.LZH の中身は

VZ157A   DOC      3007 02-20-92   1:57a
VZAX     BDF      6641 02-20-92   1:57a
VZDOSV   BDF     13824 02-20-92   1:57a
VZJ31    BDF     13233 02-20-92   1:57a
VZSRC    BDF     13578 02-20-92   1:57a
VZUS     BDF      6478 02-20-92   1:57a
                   ↑
(Win10 のDos窓非常駐VZ で DIR すると上の所が a/p になります。am/pm か)


まず AX という新規フォルダを作って VZIBM のフォルダの内容をコピーします。
上の 差分ファイルもコピーします。VZ実行ファイルは
VZIBM    COM     46226 01-08-92   1:57a
この日付とサイズであることを確認しておきます。
同様に DOSV フォルダを作って AX フォルダと同じようにコピーします。

ファイラーで AX フォルダをカレントにして VZAX.BDF を Enter すると、
設定されていれば bupdate -v VZAX.BDF を実行します。-v は 展開予定の表示です。

bupdate -v VZAX.BDF
BUPDATE 1.28 Copyright (c) 1992 Vector Design, TNT Technology Corp.
  File Name      Date     Time    Source Size   Revision Size of BDF
-------------- -------- -------- -------------- -------- -----------
vzibm.com      92/01/08 01:57:04    46226bytes  -------- 
            -> 92/02/20 01:57:06    46262bytes  --------   6641bytes  

実行前の日付とサイズが合っていることを確認したら -o オプションにして実行します。

bupdate -o VZAX.BDF
BUPDATE 1.28 Copyright (c) 1992 Vector Design, TNT Technology Corp.
vzibm.com -> new vzibm.com
100% done
new vzibm.com created

これで、VZAX.COMが出来ました。

VZIBM    COM     46226 01-08-92   1:57a
       ↓
VZIBM    COM     46262 02-20-92   1:57a


次に DOSV フォルダをカレントにして AX フォルダと同じように VZDOSV.BDF を Enter します。

bupdate -v VZDOSV.BDF
BUPDATE 1.28 Copyright (c) 1992 Vector Design, TNT Technology Corp.
  File Name      Date     Time    Source Size   Revision Size of BDF
-------------- -------- -------- -------------- -------- -----------
vzibm.com      92/01/08 01:57:04    47012bytes  -------- 
            -> 92/02/20 01:57:06    47062bytes  --------   6900bytes  
vzibmj.com     92/01/08 01:57:04    47276bytes  -------- 
            -> 92/02/20 01:57:06    47326bytes  --------   6924bytes  

あれえ? 実行前のファイルの日付とサイズが合っていない!
ソースの更新は、VZSRC.BDF で出来たので、アセンブルして同じサイズの実行ファイルは出来ました。
だけど、製品版と全く同じではないので、何とかならないかと思ったら
VZ1.57 のフォルダの中に、こんなものがありました。

UPDATEV  BAT       472 07-09-08  11:12a
UPDATEV  DOC      1807 05-07-92   1:57a
VZIBM    BDF     10950 05-07-92   1:57a
VZIBMDEF BDF      4082 05-07-92   1:57a
VZIBMJ   BDF      7385 05-07-92   1:57a

これは一度試してうまくいかないと思って放置していたものです。
UPDATEV.DOC を見てみると

-----------------------------------------------
 この圧縮ファイルには、VZエディタ Ver1.57a(92-2-20:AX版)からDOS/V版
を作成するための差分ファイルが含まれています。

※ DOS/V版のみお持ちの方は、アップデートできません。
※ DOS/V製品版に含まれるPS/55版、US版は、アップデートできません。


■ アップデートの方法

 圧縮ファイルを解凍したカレントディレクトリへ、Ver1.57aの「IBM」ディレクトリ
の全ファイルをコピーしてください。
 「updatev<リターン>」で、カレントディレクトリに以下のDOS/V版を作成します。

	VZ       BAT      691  91-12-16    1:57
	DOSV     DOC    24809  92-02-20    1:57
	VZIBM    COM    47062  92-02-20    1:57
	VZIBM    DEF    11950  92-01-08    1:57
	VZIBMJ   COM    47326  92-02-20    1:57
	VZIBMJ   DEF    13663  92-01-08    1:57
	VZSEL    COM      210  92-01-08    1:57
	PALET    DEF      621  91-06-01    1:56

※ DOSV.DOCは、DOS/V製品版に含まれるREADE.DOCファイルです。
-----------------------------------------------

こ、これは・・・
もしかして、差分を当てた VZAX版 を対象にした差分なのか?

bupdate -v VZIBM.BDF
BUPDATE 1.28 Copyright (c) 1992 Vector Design, TNT Technology Corp.
  File Name      Date     Time    Source Size   Revision Size of BDF
-------------- -------- -------- -------------- -------- -----------
vzibm.com      92/02/20 01:57:06    46262bytes  -------- 
            -> 92/02/20 01:57:06    47062bytes  --------  10950bytes  

おお、さっき作った VZAX版で合っていそう。
VZIBM    COM     46262 02-20-92   1:57a

さらに
bupdate -v VZIBMJ.BDF
BUPDATE 1.28 Copyright (c) 1992 Vector Design, TNT Technology Corp.
  File Name      Date     Time    Source Size   Revision Size of BDF
-------------- -------- -------- -------------- -------- -----------
vzibmj.com     92/02/20 01:57:06    47062bytes  -------- 
            -> 92/02/20 01:57:06    47326bytes  --------   7385bytes  

おお、これは BAT で一連の実行ファイルを作成できそうです。
ついでに
bupdate -v VZIBMDEF.BDF
BUPDATE 1.28 Copyright (c) 1992 Vector Design, TNT Technology Corp.
  File Name      Date     Time    Source Size   Revision Size of BDF
-------------- -------- -------- -------------- -------- -----------
vzibm.def      92/01/08 01:57:04    11764bytes  -------- 
            -> 92/01/08 01:57:04    11950bytes  --------   2248bytes  
vzibmj.def     92/02/20 01:57:06    13675bytes  -------- 
            -> 92/01/08 01:57:04    13663bytes  --------   1834bytes  


これで作れると確信して、UPDATEV.BAT を実行

VZAX     DEF     13675 01-08-92   1:57a
VZIBM    COM     46262 02-20-92   1:57a
VZIBM    DEF     11764 01-08-92   1:57a
VZIBM    COM     47062 02-20-92   1:57a
VZIBM    DEF     11950 01-08-92   1:57a
VZIBMJ   COM     47326 02-20-92   1:57a
VZIBMJ   DEF     13675 01-08-92   1:57a

これらのファイルが無事出来ました。
やれやれ。


10313/10312 CRG00666  文太             Re: VZ1.57 → VZ1.57a の差分の実行はややこしい
( 1) 22/10/04 08:42 10312へのコメント(konnoさん) コメント数:1
konnoさん

>VTDOS や MSDOS player や DOSVAXJ3 で実行すると 日付が今の時間になってしまいます。
>これらのエミュレータではシステムの制限なのか、DOSの日付操作が効かないようです。
>そこで、WinMEのDOS窓でやり直したら、キチンと日付が設定されました。

 お疲れ様です。けっこう大変そうですね。
 上の件ですが、大いに参考になりました。あれ? なんで? と思ったことが何度か
あって、そういうものだっけ? 違和感あるけどなぁ、とおぼろげに思っていました。
うん、やっぱりそうか。何の作業でそう感じたのかは思い出せませんが(何度かあった)、
わざわざ別の環境で試してみることをしようとは思わなかったので(疑いが弱い)、
なるほど、と納得しました。多謝です。


10314/10312 BQO00549  konno            エミュレータでは DOSの日付操作が効かない?
( 1) 22/10/04 21:09 10313へのコメント(文太さん) コメント数:2
> >VTDOS や MSDOS player や DOSVAXJ3 で実行すると 日付が今の時間になってしまいます。
> >これらのエミュレータではシステムの制限なのか、DOSの日付操作が効かないようです。

和生さんのファイラーマクロ touch_w.def でも駄目なようです。
関連のシステムコールが対応していない、実装していない可能性もありますね。
としたら、手立てはあるのかどうか。

NP2、NP21、NP2NT で TOUCH.EXE を試したらキチンと動作しました。
実装の問題なのでしょうか? 何が違うのでしょうね。


10315/10312 CRG00666  文太             Re: エミュレータでは DOSの日付操作が効かない?
( 1) 22/10/04 23:09 10314へのコメント(konnoさん)
konnoさん、ありがとうございます。
 わざわざ書いてくださって。

>VTDOS や MSDOS player や DOSVAXJ3
>和生さんのファイラーマクロ touch_w.def でも駄目なようです。
 はあ? ダメなんですか、代表的なエミュレータが。うーん、ちょっと誰かには
エミュレータを進化させて欲しいと少し思う。
 でも、エミュレータの下のWin APIみたいなのが邪魔してるのかなぁ、とか空想。
 だって3つもだもの。

>関連のシステムコールが対応していない、実装していない可能性もありますね。
>としたら、手立てはあるのかどうか。
 タイムスタンプだから、それほどシステムの根っこの根っこでもないのじゃないの?
とか思ってしまう。もちろん、クロックというか時間管理がPCの基本なのは想像
できますが。ファイルのタイムスタンプの管理だよ〜ん。

>NP2、NP21、NP2NT で TOUCH.EXE を試したらキチンと動作しました。
>実装の問題なのでしょうか? 何が違うのでしょうね。

 逃げる手はあると。でも、これら、NEC98エミュレータですよね。PC, AX用Vzの
アップデートもこちらでできるわけですか?
 うん、これは僕の想像をこえている。NEC98で、DOS/V用Vzをアップデートする……。


 あ、でも、できますね、僕はNEC98で、高橋版にアップデートしていたもの。DOS/V
用Vz。当時は両方使っていました。DOS 6.2V(純DOS)マシンがありました。Win95
を走らせたら、腹が立った。起動に何分かかってんだよ、と。失敗してDOS機に戻し
ました。



10316/10312 BQO00549  konno            VZ天国のFDと差分ファイル発見
( 1) 22/10/05 00:19 10312へのコメント(konnoさん) コメント数:1
野ざらし言#5085 での発言ですが

> MIXかNIFの過去ログを検索したら「VZ天国」に差分が付いていたそうです。
> 腐海の入り口近くに「VZ天国」を見つけました。
> 5インチフロッピーは当時使えていたのでそこから差分を当てたと思います。
> でもその当時のものは引っ越しなどで大半失われているんですよね。
> コピーした3.5FDがもしあったとしても読めなくなっているだろうなぁ。

VZ天国の巻末を読むと、3.5FD が2枚付いていると書かれていました。
もしかしたらその時のFDが残っているかも! と思い急遽第参事難局探検隊結成!
腐海にダイブして探すこと数分、VZ天国の FD2 を発見しました!!

この日のために USBFDD を3台(計648\)買ってあるもんね。(^^;
もう30年経つのに、ちゃんと読めました。

さて、VZ というフォルダにVZ1.57aの差分ファイルがありました。
中身は以下の通り


 PRINTF  .ASM     706  91-12-16  1:57 
 VMAP    .ASM   21552  91-12-16  2:01 
 VZSEL   .ASM    1697  92-01-08  1:57 
 UPDATE  .BAT    1479  92-05-07  1:57 
 UPDATEA .BAT     801  92-05-07  1:57 
 VZ      .BDF   23862  92-05-07  1:57 
 VZAX    .BDF    9751  92-05-07  1:57 
 VZAXA   .BDF    8412  92-05-07  1:57 
 VZAXDEF .BDF   10884  92-05-07  1:57 
 VZDEF   .BDF   18660  92-05-07  1:57 
 VZJ31   .BDF   10613  92-05-07  1:57 
 VZJ31A  .BDF   13233  92-05-07  1:57 
 VZJ31DEF.BDF    5276  92-05-07  1:57 
 VZJ31L  .BDF   10193  92-05-07  1:57 
 VZL     .BDF   10323  92-05-07  1:57 
 VZSRC   .BDF  110520  92-05-07  1:57 
 VZSRCA  .BDF   13578  92-05-07  1:57 
 FROLL   .COM    1429  92-01-08  1:01 
 VZSEL   .COM     210  92-01-08  1:57 
 MOREMAC .DEF     842  92-01-08  1:57 
 MOREMAC .DOC    3393  92-01-08  1:57 
 UPDATE  .DOC    7087  92-05-07  1:57 
 VZ157   .DOC   15588  92-05-07  1:57 
 BLOCK   .INC    1460  91-12-16  1:57 
 SPRINTF .INC    4127  91-12-16  1:57 

手持ちの BDF ファイルはここから持ってきていたようです。
update.doc を見ると

>  この圧縮ファイルには、VZエディタ Ver1.56 または Ver1.57 のマスターディスク
> を、Ver1.57a にアップデートするためのファイルが含まれています。

こう書かれています。
つまり、これらの BDF があれば、1.56以上から 1.57a にVerUP出来るということです。
VZのパワーユーザならVZ天国を持っているでしょうが、希望があればメールで送りますよ。

最初 VZの部屋にUPしようかと思いましたが、さすがに公開は不味いかと思い直しました。
FD2 は見つけたけど FD1 は見つからない。(;_;)


10317/10312 CXB00940  としき           Re: エミュレータでは DOSの日付操作が効かない?
( 1) 22/10/05 16:49 10314へのコメント(konnoさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> NP2、NP21、NP2NT で TOUCH.EXE を試したらキチンと動作しました。
> 実装の問題なのでしょうか? 何が違うのでしょうね。

ソーサーとかあれば使っているファンクションコールが違うとかわかるかも。
あるいは、ファンクションコールは同じでも、設定とかクリアとかしておく必要
のあるレジスタの問題がある、とか。


10318/10312 BQO00549  konno            Re^2: エミュレータでは DOSの日付操作が効かない?
( 1) 22/10/05 23:54 10317へのコメント(としきさん)
> ソーサーとかあれば使っているファンクションコールが違うとかわかるかも。

なるほど、ファンクションコールなら、マクロで調べられそうですね。
今ログよ^H 色々立て込んでいるので、直ぐには調べられないですが、やってみます。

> あるいは、ファンクションコールは同じでも、設定とかクリアとかしておく必要
> のあるレジスタの問題がある、とか。

もしかしたら、Windows64の更新でおかしくなってしまったとかの可能性も。
まずはマクロで調べてみます。


10319/10312 CRG00666  文太             Re: VZ天国のFDと差分ファイル発見
( 1) 22/10/06 00:59 10316へのコメント(konnoさん) コメント数:1
konnoさん

 その差分ファイルたちをお送りいただけますでしょうか。
 あるはずなのですが、腐海2の「オリジナルFD」箱がどこにあるのか分かる
のに1か月とかかかりそうで、見つかっても、中が生きている保証がありません。
『天国』『続天国』は、わりとすぐに見つかったのですが、FDは別の場所の
ようです。
 僕のメアド、分かりますか?



10320/10312 BQO00549  konno            Re^2: VZ天国のFDと差分ファイル発見
( 1) 22/10/06 01:54 10319へのコメント(文太さん) コメント数:2
文太さん

>  その差分ファイルたちをお送りいただけますでしょうか。

VZ1.57aとDOSV版の差分をメールで送りました。
DOSV版は別で最後に当てる必要がありそうです。

>  あるはずなのですが、腐海2の「オリジナルFD」箱がどこにあるのか分かる
> のに1か月とかかかりそうで、見つかっても、中が生きている保証がありません。

30年物のFDは読めたらラッキーですものね。

>  僕のメアド、分かりますか?

もし届いていなかったらメールください。


10321/10312 CRG00666  文太             Re^3: VZ天国のFDと差分ファイル発見
( 1) 22/10/06 15:07 10320へのコメント(konnoさん)
konnoさん

 ありがとうございます!
 届いています。vzdosv.lzh, vz157.lzh。
 差分を当てるのは、純DOS機でやりましょう。
 タイムスタンプが変わらない(正しく変わる)のを確認します。できたら、今晩。
 へろへろのパーの文太でした。



10322/10291 BQO00549  konno            Bl3072 の大穴が塞がったかも
( 1) 22/10/11 21:59 10291へのコメント(konnoさん) コメント数:1
Bl3072 では 3700bytes を超えるところで改行が入っていました。
ソースに改行を挿入するところがあるはずだと当たりをつけて
「,LF」で検索すると、それらしいところが TEXT.ASM にありました。

fread	proc
中略 410行目
	cmp	si,di
	jne	read3
	mov	byte ptr [si-1],LF
  _break
read3:	cmp	byte ptr [si-1],LF
_until e
	clz
	ret
read9:	stz
read_x:	ret


ここの
	mov	byte ptr [si-1],LF
があやしいと思い、色々試したところ 

	cmp	si,di
	jne	read3
	stc					;★##k 221011 キャリーをセット
	jmps	read9x				;★ ゼロフラグをクリアしてリターン
;	mov	byte ptr [si-1],LF		;★ Bl3072 の時 3700bytesで強制改行(実行しない)
  _break
read3:	cmp	byte ptr [si-1],LF
_until e
read9x:	clz					;★ ゼロフラグをクリアしてリターン
	ret
read9:	stz
read_x:	ret


このように変更したら、Bl3072 で改行文字化けが無くなりました。
大穴と思っていたところが塞がったのです。
もちろんこの変更で他の所に穴が開いた可能性もあります。
しばらく Bl3072 で運用してみようと思います。


あと、CORE.ASM の 276行目

endlin	proc
	pushm	<cx,di,es>
	movseg	es,ds
	mov	di,si
;	mov	cx,-1			;★ VTDOS でラップアラウンドエラーの原因?
	mov	cx,3000h		;★##k 221009 ラインバッファ+アルファ
	mov	al,LF
  repne	scasb

このようにしたら、Bl3072 で起きていた VTDOS でのラップアラウンドエラーが無くなりました。
ここが原因だったのでしょうか?


これで Bl8192 と Bl3072 の蟲の居所がわかりましたが
まだ他にもポインタズレという蟲が残っているようです。

 0007.CGI (170335bytes) を後ろから削っていって
 66882bytes にしたテストファイル
 66882.CGI (66882bytes) に
 0007.CG (132553bytes) を挿入するテストでは
ポインタズレによる行の入れ替えが起こっています。
今回の修正で、他のVZよりは改善したようですが。


# 深淵の大穴は無限に続くのか?


10323/10291 BQO00549  konno            Re: Bl3072 の大穴が塞がったかも
( 1) 22/10/12 22:17 10322へのコメント(konnoさん) コメント数:1
間違った情報を揚げてしまいました。m(__)m


> これで Bl8192 と Bl3072 の蟲の居所がわかりましたが
> まだ他にもポインタズレという蟲が残っているようです。
> 
>  0007.CGI (170335bytes) を後ろから削っていって
>  66882bytes にしたテストファイル
>  66882.CGI (66882bytes) に
>  0007.CG (132553bytes) を挿入するテストでは
> ポインタズレによる行の入れ替えが起こっています。

このテストファイル、作成時点で間違えて行が入れ替わっていました。(>_<)
ズレて蟲が湧いていたのは私の頭でした。(;_;)
このテストファイルのことは忘れてください。m(__)m

結論を言うと、ポインタズレも無くなっていました。
[ESC]i 関連のバグは全て無くなったように見えます。

> あと、CORE.ASM の 276行目
> 
> endlin	proc
> 	pushm	<cx,di,es>
> 	movseg	es,ds
> 	mov	di,si
> ;	mov	cx,-1			;★ VTDOS でラップアラウンドエラーの原因?
> 	mov	cx,3000h		;★##k 221009 ラインバッファ+アルファ
> 	mov	al,LF
>   repne	scasb
> 
> このようにしたら、Bl3072 で起きていた VTDOS でのラップアラウンドエラーが無くなりました。

このルーチンも元に戻しても問題無くなりました。
バグのせいでエラーになっていたようです。(VTDOSのチェック凄い!)
他の環境ではたまたま問題が顕在化しなかったのかもしれませんね。
このルーチンは他からも呼ばれているので、3000h とかは危ないかもしれません。

ということで、あとは運用試験で問題が出ないか様子を見るだけとなりました。


# このまま問題が出ませんように(祈)


10324/10291 CXB00940  としき           Re^2: Bl3072 の大穴が塞がったかも
( 1) 22/10/13 13:25 10323へのコメント(konnoさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> [ESC]i 関連のバグは全て無くなったように見えます。

これは期待できます。
次はテストバージョンのリリースですね。高橋さんやDANNYさんのように。
ところで、今回の書き換えで、実行ファイルのサイズは増えるんですよね?
いや、もしファイルサイズが変わらないとか減るとかいうのであれば、それこそ
バイナリエディタなりを使って、製品版Vzに手作業でパッチを当てることもできる
な、と妄想したもので。

10325/10304 CRG00666  文太             シャーとか
( 1) 22/10/13 13:51 10309へのコメント(konnoさん) コメント数:2
----- wiki からの引用です -----
『機動戦士ガンダム』(宇宙世紀)シリーズ
宇宙世紀(Universal Century, 略はU.C.)を舞台にした作品。
1970年代
    機動戦士ガンダム
        テレビシリーズ 富野喜幸 【全43話】 1979年?1980年
        映画 「機動戦士ガンダム」 富野喜幸 1981年

(以下、永遠に続く。スクロールが終わらない……)
-------------------------------

 まいりました。『ガンダム』って、日本のアニメ(?)史に残る超有名、
超長大作品だったんですね。
 バンダイは(角川も?)、これで食ってきたのか。『地球少女 アルジュナ』
ってのを「環境」の時間に見せました。「いやぁ、バンダイの番組で、これ、
ほんとにTV放送されたんだよ。こんな内容、小学生、中学生に分かるわけないよねぇ。
『マクロス』とかゆうのが売れて、河森さんは好き勝手をやらせてもらえたらしいよ、
ぜんぜん知らないんだけどさ」云々。

 たいへん遅くなりました。上は5日前ぐらいに書いたと思う……。
 差分あて、まだ、やってません!
 疲労の絶頂は昨日ぐらいだったもようです。10時間寝た!
 でも、まだだるい……。



10326/10304 CXB00940  としき           Re: シャーとか
( 1) 22/10/13 18:43 10325へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  まいりました。『ガンダム』って、日本のアニメ(?)史に残る超有名、

俗にファーストガンダムと呼ばれる最初のシリーズ、それだけ押さえておけば十分
でしょう。あとは、ガンダムという名前だけを使った、初代とは世界観も内容も
全く関係ない作品も多数。

一応、日本のテレビアニメ史では、その他の日本文化に影響を与えたという面で
・鉄腕アトム
・宇宙戦艦ヤマト
・機動戦士ガンダム
・美少女戦士セーラームーン
・サザエさん
・ドラえもん
・新世紀エヴァンゲリオン
最低限、このくらいは押さえておきたいところ。
そろそろちびまる子ちゃんもこの範疇に入るかな。
その他、漫画原作の場合、漫画とアニメのどちらが重要性が高いかわからないもの
も多い。また、テレビアニメ以外、劇場作品にもアニメの名作は多い。

> 『マクロス』とかゆうのが売れて、河森さんは好き勝手をやらせてもらえたらしい

「超時空」シリーズも、マクロス以外の後継作はイマイチだったような。
私としては、マクロスがよかったのは、富田さんの脚本と板野さんの作画のせいだと
思っていますが、この辺はあくまでも個人の主観。異論は多々あるかと。


10327/10291 BQO00549  konno            Re^3: Bl3072 の大穴が塞がったかも
( 1) 22/10/13 20:47 10324へのコメント(としきさん) コメント数:1
> ところで、今回の書き換えで、実行ファイルのサイズは増えるんですよね?
> いや、もしファイルサイズが変わらないとか減るとかいうのであれば、それこそ
> バイナリエディタなりを使って、製品版Vzに手作業でパッチを当てることもできる
> な、と妄想したもので。

ファイルサイズは増えると思うのでバイナリパッチは無理でしょうね。
でも、Bl3072 の修正箇所だけならもしかしたら・・・・

そうだ! 公開版にそこだけの修正でどうなるか試してみようかな。
良いヒントをありがとうございます。


10328/10304 BQO00549  konno            Re: シャーとか
( 1) 22/10/13 21:04 10325へのコメント(文太さん) コメント数:1
>  まいりました。『ガンダム』って、日本のアニメ(?)史に残る超有名、
> 超長大作品だったんですね。

わざわざWikiで調べてくれたのですね、全然知らないとは思いませんでした。(^^;
私はこれと宙戦艦ヤマトの再放送を見て、地球を守る宇宙戦士に目覚めたのです。(大嘘)

>  バンダイは(角川も?)、これで食ってきたのか。『地球少女 アルジュナ』
> ってのを「環境」の時間に見せました。「いやぁ、バンダイの番組で、これ、
> ほんとにTV放送されたんだよ。こんな内容、小学生、中学生に分かるわけないよねぇ。

『地球少女 アルジュナ』は記憶にないですね。
学校の映画教室ではクレイジーキャッツの映画とか見たような気が。(^^; フルイ
アニメで印象に残ったのは、ガリバーの宇宙旅行みたいなやつ、色が綺麗だったなぁ。

>  差分あて、まだ、やってません!
>  疲労の絶頂は昨日ぐらいだったもようです。10時間寝た!
>  でも、まだだるい……。

1.57は需要もないし急ぐ必要はないですね、ゆっくりやりましょう。
私も寝不足で超だるいです。もう無理が効かないですねぇ。


10329/10304 BQO00549  konno            Re^2: シャーとか
( 1) 22/10/13 21:27 10326へのコメント(としきさん) コメント数:1
さすがとしきさん、完璧な解説です。m(__)m

> この辺はあくまでも個人の主観。異論は多々あるかと。

全く同感で異論はございません。
個人的には「装甲騎兵ボトムズ」も好きでしたね、メカのリアル感がいいです。
うう、こういうことを言い出すと、イデオンとかその他いっぱい出て切りがない。(^^;
やっぱり私はアニメ好きみたいです。


10330/10304 CXB00940  としき           Re^3: シャーとか
( 1) 22/10/13 23:49 10329へのコメント(konnoさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> うう、こういうことを言い出すと、イデオンとかその他いっぱい出て切りがない。(^^;

まぁそうなんですけどね。
私のあのリストも、あくまでも日本の文化史という点で見たもの。
もし日本の文化史ではなく日本のアニメ史という切り口なら、ほかにも候補は多数
ある。例えば、鉄人28号やジャングル大帝をリスト入りさせたい。場合によっては
マジンガーZを入れてもいい。一応、それぞれ、私なりの根拠もあるけど、以下略。
だけど、人気があったがゆえに歴史に残るアニメ、という観点からだとマクロスや
イデオンもリストに入りますが、アニメ史の転換点とか画期的とかいう点では、
両方とも私はリスト入りさせない。そして、レモンエンジェルを入れる。

> やっぱり私はアニメ好きみたいです。

同じく。

10331/10304 CRG00666  文太             Re^4: シャーとか
( 1) 22/10/14 20:32 10330へのコメント(としきさん) コメント数:1
『あしたのジョー』
『巨人の星』
『タイガーマスク』
『侍ジャイアンツ』
『スラムダンク』

 スポ根系がかなり落ちているのが、おかしい。くすっ。
 僕は、実写系だったかなぁ。

『ウルトラマン』
『ウルトラセブン』
『仮面ライダー』
 に燃えたのかなぁ。上2つの怪獣名でカタカタを覚えたのは事実です。

 やっぱり宮崎駿と新海誠がいいかな。『エヴァ』のTV最終回あたりは
いいです。やり直しの超臭いのもいいです。庵野さんのすねっぷりが
かわいい。

 とにかくパチンコになるは、ジャンルを越えていろんな商品になるは、
文化史だ。
 シャー。ガソリンスタンドの広告で見たような気がする。

 でも、いまはVz一筋。Vzのためにパスカルの勉強をしている?!
 Borland倒産(?)で、Turbo Pascal本は大暴落しております。教科書も
いっぱいあったのに。



10332/10304 CRG00666  文太             Re^2: シャーとか
( 1) 22/10/14 20:35 10328へのコメント(konnoさん) コメント数:1

>アニメで印象に残ったのは、ガリバーの宇宙旅行みたいなやつ、色が綺麗だったなぁ。
 こういう印象が残ってるんだ?! まずその種の感受性は持ち合わせていないよう
です。新海誠の絵がテクノロジーの進歩もあって、違う映像・アニメーションに
なっているのは、気づきましたが。
 でも、絵ではなく物語に惹かれただけですね。



10333/10304 CXB00940  としき           Re^5: シャーとか
( 1) 22/10/14 23:54 10331へのコメント(文太さん)
参照先:http://toshiki.la.coocan.jp/
>  スポ根系がかなり落ちているのが、おかしい。くすっ。

この辺が、私が軽く言及した、漫画原作とアニメのどちらが影響が大きかったか
判断に迷ったあたり。ただ私、侍ジャイアンツだけは、文化的にあまり大きな影響
がなかったと思ってます。もしこれを入れるのなら、石ノ森章太郎原作の童夢くん
を入れたっていいのではないか、というくらい。
童夢くんがスポ根かどうかは知りませんが。

あ、思い出した。
大学2年か3年のとき、Pascalの授業があって、大型コンピュータでソースを書いて
いたんですがね。そのときなぜか、インデントを6桁にした記憶がある。
先生からそうしろという指示があったわけでもない。
なので、なぜその桁数を選んだのか、自分でもわからない。
当時は、自分の持っているパソコンはまだ8ビット。
大文字しか使えないBASICで、雑誌に掲載されているソースリストもほとんど
インデントなんて使っていなかった時代でしたが、なぜか私は、ちょっと気取って
4桁インデントでBASICのコードを書いていた。
やだねぇ、気障なヤツって。

10334/10291 BQO00549  konno            公開版VZの修正ができました。
( 1) 22/10/15 02:03 10291へのコメント(konnoさん) コメント数:1
#10303> ちなみに、このルーチンを公開版 VZk07t01 に追加すると常駐で動かないの。(;_;)
> 私の私家版常用環境では動くのに。(^^;

と書いていましたが、弄りすぎて原型がわからなくなっていたので
元に戻そうとしましたが戻せない。(>_<)
バイナリの比較で一致するまで散々苦労しました。
やっぱり公開版のフォルダは保存しておかないとなぁ、と。(何回目だ)

やっと元に戻ったので、Bl3072対応の修正だけしてみましたが効果なし。
Bl8192対応の修正もして、こちらは直ったのですが、Bl3072 は駄目です。

ラップアラウンドエラーが、MEMO.asm の memmove のルーチンの934行目
	rep	movsw				;VTDOS ERR
で出ているので、そこを読んでいる所を片っ端から調べました。
そうしたら、やっとわかりました。

OPEN.ASM 2139行目の
add_logtbl	proc
    中略 2177行目
		sub	cx,si
		jc	addlog9			;★ ##k 221014 Bl3072 対策2
		call	memmove			;※ ここの rep movsw でエラーになる
		add	di,cx
		lea	si,[bp].path
	_endif
		call	strcpy
		inc	di
		mov	si,di
		mov	ax,[bp].lnumb
		call	set_logtbl
		clr	al
		stosb
addlog9:	popm	<es,ds>
		ret
add_logtbl	endp

このように、memmove の直前に キャリー分岐を入れたら直りました。\(^^)/ ヤッタ-
常用している私家版では先の2か所の修正だけで直ったので、謎が残りますが。

色々試してみて問題ないようならテスト版としてアップしようと思います。


10335/10304 DGF01024  めざら           赤い彗星の シャア
( 1) 22/10/15 16:07 10332へのコメント(文太さん) コメント数:1
参照先:http://mezala.la.coocan.jp/
最後に付けますが,「シャー」じゃなくて「シャア」でないと分からないです。
「シャー」と言ったら,「銀魂」の「カーテンのシャー」になります。

10336/10304 CRG00666  文太             Re: 赤い彗星の シャア
( 1) 22/10/15 18:07 10335へのコメント(めざらさん) コメント数:2
 ご訂正、ありがとうございました、かえる様(爆)
 としきさんの家の近くに「かえる公園」というのがあるはずです。30年くらい行ってみたい
行ってみたいと思いながら、願いを果たせないまま今日になっています。
 意味なく近くのハードオフには何度も行っているのですが。
 いい奴ですよ、かえるさん。もう庭に池がなくなって10年になるのに、まだ生存してます、
あのでかいヒキガエル。
 バケツ稲、本日、刈り取り。乾すため軒下を整理したら、まだタマネギが50個くらいある。
ゴーヤ、最後の5本収穫&撤去。夫婦二人で50本をひと夏で食べたと思う。明日は、絹サヤを
まく予定。
 ダイコンもタマネギ苗もやばそ。夏が暑すぎた。あと10日でサツマイモかなぁ。

 さて、

#10309
>文太さんはアニメ見ないんでしたね。赤い彗星のシャー、というアニメキャラの名セリフなのです。

 最初に間違えたのは僕ではありません。
 でも、3人とも通じてるんだ、konnoさんととしきさんは、そうなんだろうな、と
思っていたけど。
 僕だけが「そんなことも知らない無知な大人」なんですね?
 まいりました。
 シャアさんに会ったことがほぼないので、wikiもあの長さだし、しょうがないのです。
 ま、とにかく「赤い彗星のシャア」です。
 「認めたくないものだな、自分自身のばかさゆえの過ちというものを」という台詞で日本国民
みなに知られている有名人物です。

>「銀魂」の「カーテンのシャー」になります。
 深すぎ。マージャン漫画?



10337/10304 BQO00549  konno            Re^2: 赤い彗星の シャア
( 1) 22/10/16 00:38 10336へのコメント(文太さん) コメント数:1
>  ダイコンもタマネギ苗もやばそ。夏が暑すぎた。あと10日でサツマイモかなぁ。

お、そろそろサツマイモの収穫時期ですか。
うちの芋も出来ているかわかりませんがもう掘ってもいいんですかね。

> >文太さんはアニメ見ないんでしたね。赤い彗星のシャー、というアニメキャラの名セリフなのです。
>
>  最初に間違えたのは僕ではありません。

ああ、すみません、シャアでしたね、バカさゆえです。(^^;

>  「認めたくないものだな、自分自身のばかさゆえの過ちというものを」という台詞で日本国民
> みなに知られている有名人物です。

ごめんなさい、オリジナルは「若さゆえの過ち」で、パロッたつもりだったのです。(^^;

> >「銀魂」の「カーテンのシャー」になります。
>  深すぎ。マージャン漫画?

まとレスになりますが、「銀魂」の「カーテンのシャー」は覚えていません。検索すると
銀魂 第221話『寿限無』 東城『今じゃ私の居場所は、呂太のカーテンのシャーのやつのコーナーしかないぃぃ!!!
これですか? 見てみたらサルの〇〇投げの話でした。なんか見たことがあるような。
さらに見てみると
銀魂 第88話「合コンは始まるまでが一番楽しい」
これが初出のようでした。これは見た覚えがないですね。面白かったです。
私のレベルはまだまだですね。(何のレベルだ)
ちなみに私が銀魂で思い出すワードは、「前立腺ブレーキ」です。
銀魂は見だすときりがないのでこのくらいにします。


10338/10304 CRG00666  文太             Re^3: 赤い彗星の シャア
( 1) 22/10/16 01:01 10337へのコメント(konnoさん)
>お、そろそろサツマイモの収穫時期ですか。

 konnoさんのところはプランタですよね。掘りたければどうぞ。ただ、もし葉っぱの
緑が青々(緑々)していたら、もうしばらく様子をみてやってください。ネズミに
食われるはずもないので、生命をまっとうさせる、というのが彼女にとっても我々に
とっても幸せなはずです。

 僕らが食べる部分は、次世代のために、いわばお母さんがエネルギーを貯めこんで
いるいるところなので、そこそこ死ぬまで待っても、失敗は少ないと思います。

 僕の経験では、待ちすぎ? なばあい、芋が割れてそこが硬化していましたが、見栄え
は悪いけど、食べるのに遜色なしでした。

 1か月保存。糖化が促進してうまいです。真冬の焼き芋は、うまいです。
 アルミホイルにつつんで、オーブンみたいなので最小の火で1時間。
 フライパンとかなら、奥様と相談しつつ実験。アルミホイル必要。

 弱い火で長い時間。これがポイントのはずです。
 石焼き芋って、石の余熱でじっくり焼くからおいしいのです。

>うちの芋も出来ているかわかりませんがもう掘ってもいいんですかね。
 後作がないのなら、まだです。

>ああ、すみません、シャアでしたね、バカさゆえです。(^^;

 そんなに簡単に自分にも他人にも、バカとか言うのはいけません。

 以下については、じぇんじぇん分かりませんでした。
 バカですから。



10339/10304 CXB00940  としき           Re^2: 赤い彗星の シャア
( 1) 22/10/16 03:23 10336へのコメント(文太さん)
参照先:http://toshiki.la.coocan.jp/
>  ダイコンもタマネギ苗もやばそ。夏が暑すぎた。あと10日でサツマイモかなぁ。

うちは、サツマイモの収穫はまだまだの予定。
ケリをつけたい、という無意味な理由で、少なくともあと1回は潅水したい。
潅水するためには、2〜3日は晴天が続いてほしい。
そして、そこから給水停止。
私は基本的に、地下にできる作物は、土が乾いたときに収穫したい。
だって、どろどろになるのはイヤだもん。
そして、路地ではなく容器栽培の場合は特に、容易に土を乾かすことが可能。
軒下でも玄関の中でも、雨にぬれないところに移動できますからね。
もし地上部が長いのなら、地上10センチのところで切断すればよろし。
お子様向けの芋ほり農園なんか、路地でもそういう風になっているところに
お客様を迎えているわけだし。
あと、例によって私、来年用の芋蔓を2本、確保予定。
そうだ、konnoさん、サツマイモ栽培の経験が少なそうなんで、どうでもいい
小ネタを2つばかり。
サツマイモの蔓を切ると出てくる樹液というか汁、結構べとべとします。
うちの母親はあれを「灰汁」と言っていますが、アルカリ性ではないと思う。
もうひとつ、サツマイモの蔓は食べられます。
といっても私自身、もう何十年も食べていませんがね。
最後に食べたときのうろ覚えの記憶だと、ちょっとスジっぽかったかな。
でも、煮付けて食べたらおいしかった記憶がある。
おふくろの味、というヤツ。

>  僕だけが「そんなことも知らない無知な大人」なんですね?

この辺は、単に専門外というだけの話でしょう。
私なんかも、芸能界が門外漢。
英語の次にわからない、といってもいいかも。数学のほうがまだわかる。
さすがに、ニュースには目を通していますから、芸能人の名前だけは一通り
知っていますがね。顔とか出演作とか持ち歌は全くわからん。
うちの親に言わせると、お前の無知さ加減は日常会話に差し支えるほど、なのだ
とか。
そういえばかつて、どこぞのフォーラムには芸能担当とか言うのがいたそうで。

>  ま、とにかく「赤い彗星のシャア」です。

赤くてツノがあって3倍速い方です。
「私の手向けだ」とかいって引き金を引く方です。



> >「銀魂」の「カーテンのシャー」になります。
>  深すぎ。マージャン漫画?

「銀魂」は、たぶんマージャン漫画ではないと思う。
一応、SFギャグ漫画になるのかなぁ。
そもそもマージャンシーンがあるかどうかも知らない。
私は、キャラクターが合わないので読んでいないんですよ。
でも、この漫画、アニメ化も実写映画化もされたはず。
つまり、それなりに人気があったということ。
また、私、キャラは合わなかったけど、あの手の設定は好きだな。

マージャン漫画だと、「自己中」はもう30年以上前か。
最近だと、「咲」とか「ムダヅモ無き改革」あたりが有名どころだと思う。

10340/10291 CXB00940  としき           Re^4: Bl3072 の大穴が塞がったかも
( 1) 22/10/16 14:27 10327へのコメント(konnoさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> そうだ! 公開版にそこだけの修正でどうなるか試してみようかな。

もし、1.60に、そこだけの修正を当てるパッチというのが作れるのであれば、それ、
私も欲しい。うちで試してみて、状況がどう変わるか見てみたいです。


10341/10291 BQO00549  konno            Re^5: Bl3072 の大穴が塞がったかも
( 1) 22/10/16 22:46 10340へのコメント(としきさん)
> もし、1.60に、そこだけの修正を当てるパッチというのが作れるのであれば、それ、
> 私も欲しい。うちで試してみて、状況がどう変わるか見てみたいです。

先日試したときは正常だったはずなんですが、Windowsの更新後は異常になってしまいました。
Windowsの更新が影響しているのでしょうか、メモリ管理とかディスク管理とか環境変数とか。

ということで、現在は常用している私家版のみ正常動作しているように見える状況です。
どこが違うのかさっぱりわかりません。(>_<)
なので、パッチは無理そうです。

メモリのキャッシュとかが影響していたりして・・・


10342/10312 CRG00666  文太             win7 bupdate
( 1) 22/10/17 21:32 10320へのコメント(konnoさん) コメント数:2
 すいません、超簡単に。

vz.inc  12,992  1992-02-20  01:57	;Dos6
vz.inc  12,991  2022-10-17  21:24	;win7

 なぜ1バイト違うのかは謎ですが、たしかにvtdos @ win7では、
タイムスタンプがver up時刻になりますね。
 なお解凍時、DOSでもフォルダは解凍日・時間にタイムスタンプ
は変更されてしまうようでした。個々のファイルのタイムスタンプは
もちろん保持される。Winでもフォルダ日時時刻は更新。



10343/10312 BQO00549  konno            Re: win7 bupdate
( 1) 22/10/18 01:22 10342へのコメント(文太さん)
> vz.inc  12,992  1992-02-20  01:57	;Dos6
> vz.inc  12,991  2022-10-17  21:24	;win7
> 
>  なぜ1バイト違うのかは謎ですが、たしかにvtdos @ win7では、
> タイムスタンプがver up時刻になりますね。

もしかして、EOFコードを削除しているとか、それならファイルが現在時刻となりますね。
でも、touch が使えなくなったのは別の理由でしょう。
わざと使えないようにしてしまったとか、まさかね。


# MSの中にバイトテロがいたりして、1バイトの攻防とか


10344/10312 CRG00666  文太             Re: win7 bupdate
( 1) 22/10/18 12:59 10342へのコメント(文太さん) コメント数:2
konnoさん

>>なぜ1バイト違うのかは謎ですが、
 これはおいておきましょう。今となっては知りようもないし。
 それより、以下でkonnoさんが考えていることがよく分からないので、
整理させてください。

>でも、touch が使えなくなったのは別の理由でしょう。
 これが、?

 僕が2つの比較で示したかったのは、DOSではタイムスタンプが
きちんと保存される=touchが効く(作者がversion情報を入れてたりする
ので変えられたら、困る)、しかし、vtdos及びその他のdosエミュレータでは
タイムスタンプが更新されてしまう、ということです。

 なんかtouch関連のファンクションが止められてる、それもエミュレータ
によってというよりOSによって、というように見える。こう考えて
いるのですが(真実は知りようがないけど)、違いますかね?


 混線しそうですが、いちおう書いておくと、アーカイバによる
解凍(展開)でも、DOSでさえ、フォルダのタイムスタンプは
更新されてしまってました。@pkunzip.exe。

># MSの中にバイトテロがいたりして、1バイトの攻防とか
 これはおいておきます。

 bupdateの話はアーカイバの作りの話とは、いちおう別ですよね。



10345/10312 CRG00666  文太             サツマイモ
( 1) 22/10/18 21:10 10344へのコメント(文太さん) コメント数:2
 どこ行ったか分からないので、すいません、ここで。
 気温(地温)が10度以下になると腐敗が始まる可能性が高まるそうです。
 この辺は見極めてくださいね。



10346/10312 BQO00549  konno            MSDOS player は日時キープできました
( 1) 22/10/19 00:06 10312へのコメント(konnoさん)
> VTDOS や MSDOS player や DOSVAXJ3 で実行すると 日付が今の時間になってしまいます。
> これらのエミュレータではシステムの制限なのか、DOSの日付操作が効かないようです。

ファイルの日付の問題はここから始まっていますが、今一度色々な環境で確認してみました。

WinZIP   Win7以降? 展開ファイルは現在日時になる
7.ZIP    Windows 展開ファイルは日時キープされる
解凍レンジ Windows 展開ファイルは日時キープされる
LHA.EXE   全てのDOS環境で展開ファイルは日時キープされる


touch と BUPDATE は同じ環境に依存していると仮定して

純DOS     日時キープされる
WinDOS窓   日時キープされる
MSDOS player 日時キープされる
VTDOS     現在日時になる
DOSVAXJ3   現在日時になる

こういう結果になりました。
以前に MSDOS player も現在日時になる、と書きましたが
今確認したら日時キープされていました。

あれえ? おかしいな・・・ この間でWindowsの更新があったようですが
command.com のゴタゴタも最近やらかしているので、そのせいかもしれません。
お騒がせしました。m(__)m


# これで今の環境でも MSDOS player で BUPDATE 出来る。\(^^)/ ヤッタ-


10347/10312 BQO00549  konno            Re^2: win7 bupdate
( 1) 22/10/19 00:21 10344へのコメント(文太さん)
> >>なぜ1バイト違うのかは謎ですが、
>  これはおいておきましょう。今となっては知りようもないし。

FC や比較マクロで一致すれば、EOF があるかないかの差だと思います。

> >でも、touch が使えなくなったのは別の理由でしょう。
>  これが、?

文太さん、私のせいで混乱させてしまい申し訳ないです。
#10346 で再確認した結果、MSDOS player は問題ありませんでした。m(__)m

>  なんかtouch関連のファンクションが止められてる、それもエミュレータ
> によってというよりOSによって、というように見える。こう考えて
> いるのですが(真実は知りようがないけど)、違いますかね?

再確認の結果では、エミュレータによって違うという結論になりました。
あくまで確認した範囲でですが。

>  混線しそうですが、いちおう書いておくと、アーカイバによる
> 解凍(展開)でも、DOSでさえ、フォルダのタイムスタンプは
> 更新されてしまってました。@pkunzip.exe。

フォルダが更新されるのは、やっぱり作り方によるようですね。

>  bupdateの話はアーカイバの作りの話とは、いちおう別ですよね。

やっていることは同じようなものだと思うんですが、作り方次第みたいですね。


10348/10312 BQO00549  konno            Re: サツマイモ
( 1) 22/10/19 00:35 10345へのコメント(文太さん)
>  気温(地温)が10度以下になると腐敗が始まる可能性が高まるそうです。
>  この辺は見極めてくださいね。

おお、貴重な情報、ありがたいです。
もうすぐ収穫時期ということですね。


10349/10312 CXB00940  としき           Re: サツマイモ
( 1) 22/10/19 01:01 10345へのコメント(文太さん)
参照先:http://toshiki.la.coocan.jp/
>  気温(地温)が10度以下になると腐敗が始まる可能性が高まるそうです。

そういえば、サツマイモは冷蔵庫で保存しないほうがいいと聞いたことたある。
この関係なのかもしれない。

10350/10350 CRG00666  文太             たしかにラインバッファは怖い
( 1) 22/11/02 15:23 コメント数:1
 めざらさんの掲示板に嫌われているようなので、あれに繋がる経験談を
こちらで。
 単発発言です。まだまだ、疲れがぬけません。歳だぁ。嫌だぁ。
 とにかく。

 ラインバッファが壊れるとファイルが壊れます。僕も経験しました。
EMSとかテンポラリーファイルとかも絡んでいるだろうファイルの壊れ方でした。
詳細は意味がないので省略しますが、行の連結をして1行を長くしていたのですね。
filter.def + xtr.exeで。そうしたら、、、

>cgrep "End of"

---------------------[End of Page 64]--------------------

save
---------------------[End of Page 77]--------------------
---------------------[End of Page 78]--------------------
---------------------[End of Page 79]--------------------
---------------------[End of Page 80]--------------------
---------------------[End of Page 81]--------------------
---------------------[End of Page 82]--------------------

cut
---------------------[End of Page 126]--------------------
---------------------[End of Page 127]--------------------
---------------------[End of Page 128]--------------------

cut
---------------------[End of Page 62]--------------------
---------------------[End of Page 63]--------------------

 こんな具合。
 作業前に、この作業はすんだと確認してから作業を再スタート。
で、あれ、何かいま?! そういえばさっき?! と思って調べて
みると、上の状態。

 上は兆候。そんなに都合よくページ単位で壊れたのでは、もちろん
ないです。

 うん、etextをジャスティフィケーションが嫌だから、画面がもったい
ないからと、パラグラフ単位で行連結するのは止めることにしました。
 前回、こんなこと起こらなかったもの。

 なお、etextを作った、作ろうとしているのは、以下。
 いい本ですよ。

jeff.txt      808,019  2022-09-30  22:09
 Jeff Duntemann, _Assembly Language: Step-by-Step_. 1992.

insidepc.txt  617,730  2022-11-02  10:36
 Peter Norton, _Inside the IBM PC_. 1983.

 もういちいち謝りませんが、すいません、英語の本です。
etext作りが楽です。
 壊れたの、どうしよう?


10351/10351 CRG00666  文太             「問題解決」(problem solving)
( 1) 22/11/02 16:10 コメント数:1
 としきさんに刺激を受けたので(大昔)、あっちのほうがいいのかもしれませんが、
ちょっとメモ的に。

 パスカルの本を眺めています。古い人たちは、Cでなくパスカルをやるものだ
ったみたいだからです。ジェフさんもそう、ノートンさんもそう。お二方の本、
両方、サンプルにアセンブラだけでなく、Basic と Pascal のコードが載っている。
 (Undocumented DOS -- Cも入る --, MS-DOS Encyclopedia -- C多数になる --。)

 で、ノートンさんが、もうちょっとアセンブラをきちんとやりたいなら
(つまりCPUを知りたければ)、この本だよ、と薦めていた本があり、それを開いて
みました。

 Stephen P. Morse, _The 8086/8088 Primer_, 2nd ed., 1982.

 これ、 初版は 1980 で、初代IBMマシンが 1981 のはずですから(つまり
MS-DOS 以前)、8086 っぽいのが登場してすぐ書かれた名著(とされている)。
古典。

 で、その2版では、パスカルを扱う章が追加されている。
 パスカルのソースが出てきて、ほとんど英語だよね、眺めれば何をどうやって
るのか分かるよね、で、マシン語はどう? 読めないよね、とか書いてあります。

 そこで、お題。
 問題が解決されるべきレベルで書かれる「高級言語」=パスカル
 (真の意味で)問題が解決される、CPUのレベルで書かれる「低級言語」=アセンブラ

 「CPUの動きに集中するより(アセンブラ)、問題解決の方法に(パスカル)
注意を払ったほうが有利な場合も多い」などなど。

 パスカルの教科書の多くに、「問題解決」という表現がいっぱい出てきます。
 へぇ、そういう分類があるんだ、と。

 今でもそうなんでしょうか? Windows プログラミングには、とうぶん関心を
向けないと思うけど。Delphi 7.0 for Win98 or laterは手に入れましたよ >としきさん

 テキスト処理なんて、問題解決そのもじゃないか、とか思いました。

c:\c>dir | sort

2022/10/19  01:26               363 delspc.def
2022/10/20  11:49               333 keyw_cpy.def
2022/10/21  21:37               743 addzspc.def
2022/10/22  13:18               379 vwx_strl.def
2022/10/22  20:24               683 2strsrch.def
2022/10/22  20:26               142 999.def
2022/10/22  20:28               142 ln_fin.def
2022/10/22  20:28             1,980 catg_fix.def
2022/10/22  20:29             3,413 altkey_t.def
2022/10/22  20:35             1,208 repl.def
2022/10/22  20:39               955 ren_repl.def
2022/10/22  22:27             1,138 keyp.def
2022/10/28  15:00               105 delallcr.def
2022/10/28  17:20               153 tabs.def
2022/10/28  18:23               370 tabs2.def
2022/10/28  23:24               342 etxtrf.def
2022/10/29  01:43               764 alpha.def
2022/10/29  01:57               739 ren_srch.org
2022/10/29  10:46               200 srch_do.def
2022/10/29  10:59               266 2repl.def
2022/10/29  11:23               220 srch_do2.def
2022/10/29  11:48               193 cnd_sch1.def
2022/10/29  13:40               704 ren_srch.def
2022/10/29  13:42               785 rn_schid.def
2022/10/31  01:04               159 delln_d.def
2022/10/31  21:43               283 2repl2.def
2022/10/31  22:44               199 srch_do3.def
2022/10/31  23:05               811 array2.def
2022/10/31  23:06               209 srch_do4.def
2022/10/31  23:33             2,860 g_story.txt
2022/10/31  23:36               636 array3.def
2022/10/31  23:40               665 arr_srch.def
2022/11/01  01:59               199 srch_do5.def
2022/11/01  02:13               131 srch_do6.def
2022/11/01  12:52               232 hyphn1.def
2022/11/01  14:16               147 hyphn0.def

 問題解決用Vzマクロ一覧(すべて使い捨て)。
 同じ日に何本もマクロを書いている。ストレスの絶頂で現実逃避をしています。



10352/10351 CXB00940  としき           Re: 「問題解決」(problem solving)
( 1) 22/11/03 13:37 10351へのコメント(文太さん) コメント数:4
参照先:http://toshiki.la.coocan.jp/
>  問題が解決されるべきレベルで書かれる「高級言語」=パスカル
>  (真の意味で)問題が解決される、CPUのレベルで書かれる「低級言語」=アセンブラ

これには、さらに上位があるんですよ。
つまり、何が問題であるのか、ということ。
そしてそれは多くの場合、高級言語よりもさらに抽象度の高い言語で記述されます。
いわゆる「自然言語」というやつです。
そして、それを徐々に、え〜と、なんていうんだろう、スケールダウン?
私らの世代では、段階的詳細化、なんて言い方をしました。
今でもこの言葉で検索すればいっぱい引っかかると思う。
つまり、最初は紙とペンと自然言語。次に、図でわかりやすく。
この図形化の部分が、おそらく、ここ数十年で一番進歩した部分だと思う。かつて
はフローチャート一択でしたが、今では何とかチャートというヤツが百花繚乱。
そして、これもコンピュータで容易に作画できるようになりました。
その次がコンピュータ言語っぽいところなんですが、ここはまだ抽象言語っぽい
もので十分。私はBASICっぽい、でも純粋BASICではない言語で考えることが多い。
ただ、ここの部分は、この発言冒頭で引用している文太さんの発言にあるように、
Pascalで考える人も多いようです。というか、その辺を考えやすいように設計
された言語がPascal、というのが設計思想でもあります。
で、Pascalで考えたのならそのままPascalのコンパイラにかけてもいいし、さらに
ほかの言語に移植するのも容易でしょう。

私もこの辺は、わりと基本に忠実なプログラミングをしていましたね。
昔、大学生のころ、8ビットアセンブラをハンドアセンブルしていた時代。BASIC
でロジックを組んで、それをアセンブラに落とす、ということをしていました。


>  パスカルの教科書の多くに、「問題解決」という表現がいっぱい出てきます。

最近の業界事情は知りませんが。
かつての情報処理業界では、問題解決をするのがプログラマーだ、という認識が
ありました。
ただ、解決するためには問題を認識しなければならない。
そして、当時は、問題を認識するのがSEとか、理想と現実の落差が問題である
わけだから、その理想を提示するのがコンサル、なんて分類がありました。
これらのうち、問題認識の部分については、かつて、#7387あたりで話題になった
『ライト、ついてますか』が話題の中心としている部分だったりしています。


あ、今日はそろそろ時間切れ。
野ざらしのほうにもいっぱい書きたいことがあるけど、明日以降になるなぁ。


10353/10351 DGF01024  めざら           Re^2: 「問題解決」(problem solving)
( 1) 22/11/03 16:34 10352へのコメント(としきさん)
参照先:http://mezala.la.coocan.jp/
> 野ざらしのほうにもいっぱい書きたいことがあるけど、明日以降になるなぁ。

えへへ.お待ちしておりますよ.

10354/10351 CRG00666  文太             Re^2: 「問題解決」(problem solving)
( 1) 22/11/03 18:16 10352へのコメント(としきさん) コメント数:1
 「問題解決」の話題からそれますが。

>昔、大学生のころ、8ビットアセンブラをハンドアセンブルしていた時代。BASIC
>でロジックを組んで、それをアセンブラに落とす、ということをしていました。

 ちょっと前にBASMとかいう、(Power) BASIC -> Machine Lauguage への
翻訳機をみました。有名ですか? でしたか? ですかね。

 笑っちゃった。5行のソースが100行になっていた。高級言語が好きだな、
やっぱり。マシンパワーでいくらでもおぎなってください、ただしコマンドラインで
あること。
 Vzマクロ最高、sedも最高。
 もぐらさんのソースは……。でもいっぱい勉強になってます。
 なんで、もぐらさんがプロシージャを使わずマクロだけで攻めてるのか、などなど。
 c.mosさんのソースは美しいなぁ、やっぱり。Cライクだもの。アセンブラのマクロ
で、あんなことができるなんて。if ... else, while ... repeatも、しかし、開けて
みればラベルジャンプだった!


 戻る。
 僕が「問題解決」という表現で考えている(空想している)のは、時代の流れも
(流行)もあるのかな、ということ。

 つまりPC(Personal computer = microcomputer)の時代に入った。最初はBASIC
しかなかった。あとはマシン語。もうちょっと途中の位置でプログラミングできる言語、
そこそこシステムにアプローチできて、人間寄り(自然言語寄り)の言語が登場した
(移植された。Cはまだ)。
 で、その界隈の人は、アセンブラの原理的アプローチとの違いを示すために「問題
解決」という言葉を多用した、と。

 問題は何かをまず分析せよ。
 テキスト処理で、いっぱいいっぱいやってまーす。ファイルを壊しちゃったけど。
 しょうがないから、タマネギ苗の植え付けをしてるあいだ、2時間ばかり、OCR
ソフトにふたたび走ってもらうことにしました。「全自動」モードとかあるんです。
_Inside the IBM PC, Revised and Enlarged_. (1986) は、全387ページでした。
また、ちまちま、やっかぁ。長い行はダメです。

 でも今でも、そんなに使いますか? 「問題解決」という言い方。
 どのパスカル本にも出てくるのです。もちろん主に80年代から90年代前半の本。



10355/10351 BQO00549  konno            「問題解決法」(problem solving)(^^;
( 1) 22/11/03 20:08 10352へのコメント(としきさん) コメント数:1
「問題解決」というタイトルで、問題が解決したよ、という話かと思ったのですが
としきさんの書き込みで意味がわかった感じです。英語的表現なのかな。
日本語なら「問題解決法」かなと思ったら、英語にすると同じ「problem solving」なんですね。
ということでタイトルを改ざんしてみました。(^^;

> 昔、大学生のころ、8ビットアセンブラをハンドアセンブルしていた時代。BASIC
> でロジックを組んで、それをアセンブラに落とす、ということをしていました。

これ、VZマクロをアセンブラに変換する感覚だなと、最近は思います。
昔の話をすると、仕事でBASICのプログラムでデータを装置にシリアル伝送した後に印刷する作業がありました。
昔の通信速度は300ボーとか超遅かったので、印刷が終わるまでかなり時間がかかっていました。

この二つを同時に出来ないかと調べたら、8ビットアセンブラのプリンタバッファのソースを雑誌で見つけ
16ビットのアセンブラに自力で翻訳したら動いたので、仕事で使っていました。
8086CPU、ドットプリンタの時代でした。

> これらのうち、問題認識の部分については、かつて、#7387あたりで話題になった
> 『ライト、ついてますか』が話題の中心としている部分だったりしています。

なるほど、文太さんの話はここから繋がっているのですかね。


10356/10351 CRG00666  文太             Re: 「問題解決法」(problem solving)(^^;
( 1) 22/11/03 21:20 10355へのコメント(konnoさん) コメント数:1
konnoさん

 ありがとうございます。konno さんがどんな風に感じるか考えるか、興味が
あったんですよね。
 「問題解決」は、ある業界での術語です。としきさんがリンクを示してくれた
とおり、(たぶん)アカデミックな分野での言葉遣い。
 たとえば、「問題解決思考」みたく。

 (注)僕が眺めているパスカル本は、アメリカの大学で、授業で使われること
を想定した教科書です。 なんか言葉遣い("problem solving")や概念を、先生が
一生懸命教えようとしてる感じがする書き方で、ある意味、不自然な感じがしました。
先生本人(著者本人)も自然に沸いてきた言葉を使ってないと自覚している感じ。
 で、CPU本でも、パスカルにふれたとたん、その単語が出てきた。

 うん、konno さんは、あまり馴染みがないと。ある意味、想像のとおり。一部
の流行語だったんだろうと推測。

>8086CPU、ドットプリンタの時代でした。
 おお、すごいじゃないですか。16ビットです。もう MS-DOS がそのチップの
性能を引き出し始めます(始めてた、かもしれない)。 初代IBM機は、8088
のバス8ビットだったはずです。
 パンピア、いろんなところでお目にかかってます。へぇ、という感じ。

 このあたりの展開、c.mos さん、知ってたと思うんですよね。日立に入社して、
まずエディタ作ってたりしてたし。日立は、すぐPCから撤退したみたいなのだ
けど。日本最大の(家電)メーカーなのに。ちなみに、日本の原発の半分を作り
ました。規定で50%のシェアです。日本最大メーカー。もちろん戦前から続く
財閥系。ぜったい潰れない。

 当時の歴史ものを読むと、日本のメーカーが出てくる、出てくる。半導体電子立国
だった、ああ、ジャパン。
 インテルはまだ小さな会社で、嶋先生が活躍し……。


10357/10350 CRG00666  文太             Re: たしかにラインバッファは怖い
( 1) 22/11/03 22:13 10350へのコメント(文太さん)
#test.awk
{ if (maxlen < length) 
	maxlen=length 
	}
END { print maxlen }

C:\>jgawk -f test.awk c:\0etxt\insidepc.txt
1572

 ラインバッファ絡みではなかったのかなぁ?
 でも、無理に行を長くはいたしません。


10358/10351 CRG00666  文太             Re^2: 「問題解決法」(problem solving)(^^;
( 1) 22/11/03 22:16 10356へのコメント(文太さん)

 もうちょっとだけ付けたし。
 皆さんがそれほど興味を持つ話ではないと思うけど。

 曖昧な記憶ですが、僕は3週間くらい前に近所の図書館でパスカル邦書を4冊
借りました。そこでも、けっこうこの言葉「問題解決」が出てきていました。
 貸し出し後2週間で延長し、1か月は借りる予定なのに、ろくすっぽ
読めてませんけれど。
 NEC98べったりなのは、気にしてません。NECとIBMの違いが問題に
なる領域に行く予定はないからです。
 ただDOS派としては、日本におけるパスカルは不幸だったなぁ、とは思います。

 前にも書いたかもしれませんが、MS(PC)-DOSV/J 用 Pascal 日本語化パッチは
ベクターにありました。パッチ当て、まだできていません。
 (とらじさんは、どっかで、これを自分でやらなきゃ、と言ってました)

 パスカル? DOS用、Win用が、ネットに落ちています。倒産(?)、売却されて
しまったので、合法/非合法のラインは、かなり曖昧だと思いますが。どのヴァージョンまで?
的に。
 最新版Delphiは(Win7 32bitには入らなかったけど)、ちゃんと商品でした。

 コンパイルできる高級言語で、あそこまで分かりやすい(単語レベルだけど)のって、
僕は、ありがたいと思ってます。
 まだ勉強をし始めてさえいませんし、何やりたいの? も不明なままですが。
 DOSが分かりたい。これは間違いありません。
 もちろん、Cまで、行きます。
 余技でVisual Basicもやります。これは世間との付き合いがあれば、ですが。
 もちろん、最後は、c.mos語です。VzはDOSそのものだと思ってます。
 高橋さんのdump.defを使ってやるのじゃ。List of Listです。

 いま一番たのしいのは(永遠に)、テキスト弄りですね。つまり切った貼ったの
Vzマクロ。



10359/10359 CRG00666  文太             Vzの検索
( 1) 22/11/04 00:09
 ふつうに当たり前のことです。

 etext処理のおいて。

INSIDE THE IBM PC
 というページごとにつく「ページヘッダ」が邪魔なので一括削除しました。
 160個ぐらいかな。
 が、いつものことなのですが、こんな異型もありました。etextの宿命。

INSIDE THE
IBM PC

 いくつもあるのか? も、もしかして、Vzで「INSIDE THE\nIBM PC」で
ヒットする?
 ヒットしました!

 ほぼやったことなかったと思う。20年くらい前、正規表現にまだまだ不慣れ
だったころ、やったかもしれなかったけど。


 sedならこうなる。

/^INSIDE/{
	N	# sedするなら使えなくちゃ損なNコマンド(input Next line)
	d
#	s/INSIDE THE\nIBM PC/INSIDE THE IBM PC/		#1行にして残す場合
	}
# 実は甘々

cgrep, ygrep, wgrepで、改行ばさみパターンの検索はあるのですが、それぞれに
クセがあります。sedが逆に楽

 もっと初歩として、
>cgrep -A1 "^INSIDE"	;A = after
 で調べられます。

#ここまでVzやDOSツールにはまった人は、一生そこから出られません。
#でも、今でも、シアワセです。


 あ、関係ないことも書いてしまいますが、#Gでページングモードが変わるって
知ってました? 先日、発見して、驚きました。当たり前すぎるのでしょうけど、
miyata.shdにもありませんでした。

#G #F #e #m #c
 とかしてました。
#G #c
 で十分だったのです。

 さあ、中間テストだ!



10360/10360 CRG00666  文太             shadowさーん!
( 1) 22/11/04 01:34 コメント数:1
konnoさん、公共の(完全私設の)場所の無断使用、ご容赦ください。

shadowさん、

 メアドがわからなくなってます。niftyメアド、終わってますよね。
 連絡手段がありません。
 もし宜しければ、朝日ネットの30年かわっていない
文太のメアドに、メールいただけないでしょうか。

 けっしてとても重要な事柄ではないのですが。
 最後にやるだけやっておきたいと。



10361/10360 BNY00646  shadow           Re: shadowさーん!
( 1) 22/11/04 09:12 10360へのコメント(文太さん)
文太さん

メール送信しました。

10362/10351 CXB00940  としき           Re^3: 「問題解決」(problem solving)
( 1) 22/11/04 19:31 10354へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  ちょっと前にBASMとかいう、(Power) BASIC -> Machine Lauguage への
> 翻訳機をみました。有名ですか? でしたか? ですかね。

これ、私は全然知らない。
ちょっと検索してみた範囲では、引っかかってくるのは英語のサイトばかり。
どうやら、日本では流行らなかったのではないかなぁ。

>  でも今でも、そんなに使いますか? 「問題解決」という言い方。
>  どのパスカル本にも出てくるのです。もちろん主に80年代から90年代前半の本。

私はあまり聞いたことがありません。今でも、そしてその当時も。
もっとも、聞いても忘れている、という可能性も高い。
解法、という言葉はよく聞きましたが、でもこれはアルゴリズムのことだと思う。
ということで、大学時代の教科書を引っ張り出してきました。邦書です。

川合 慧著 PASCAL入門
共立出版 ISBN4-320-02150-9 1981年初版発行

この本では、目次や索引には「問題解決」という語は見当たりません。
が、よく読むと、冒頭、第1章の最初のページの5行目辺りから、それっぽい表現が
出てくる。以下、引用。

(前略)
> 人間にとっては、問題を解決することが主目的であり、細かな解法は二の次となる
> べきである。
(中略)
> 本書では、一般的な問題の解決に必要な仕事に対して、‘計算’という言葉を使う。

もしかしたら私は「問題解決」という用語が普及するよりも古い世代なのかも。
ということで、手元にある、もっと古い本を覗いてみた。
父の遺産です。中で扱っている言語もPASCALではなくFORTRANです。

竹内 均著 やさしいコンピューター プログラムしよう
日本放送出版協会 昭和44年発行 ISBNなし

今でいうところのエンドユーザーコンピューティングのはしりの方ですな。
自分が必要とするプログラムを自分で書いていた、という意味で。
なにせ、冒頭の「はしがき」でも、計算機(タイガー?)を回しまくっていたことに
触れているくらい。
余談ですが、この先生の眼鏡の趣味だけは私と合いません。
それはさておき。
この本でもやっぱり、目次や索引には「問題解決」という語は見当たりません。
なお、この本の第1章§3冒頭は以下のとおり。

> わたしたちは、まず問題を分析して、問題を解くためのある手順をつくり、
> これを論理や数学の言葉で書き下さなければならない。

おぉ、ありがたいお言葉。思わず拝んでしまいそう。
でも、あまり参考にならない事例ばかり引っ張ってきているだけかも。

ということで、私にはなじみがありません、ということでした。

10363/10351 CRG00666  文太             Re^4: 「問題解決」(problem solving)
( 1) 22/11/04 20:52 10362へのコメント(としきさん) コメント数:1
>ということで、私にはなじみがありません、ということでした。
 僕はもう確信しました。パスカルあたり(周辺で)この表現は流行り始めた。
 ま、コンピュータの原理とも言えるのでしょうけど、まさしく、

>>Pascalで考える人も多いようです。というか、その辺を考えやすいように設計
>>された言語がPascal、というのが設計思想でもあります。

 って、ことなのでしょう。


 以下、ほぼ余談。

>>  ちょっと前にBASMとかいう、(Power) BASIC -> Machine Lauguage への"
>ちょっと検索してみた範囲では、引っかかってくるのは英語のサイトばかり。
>どうやら、日本では流行らなかったのではないかなぁ。
 あ、なるほど。失礼しました。日本語の壁もあったのかな?
 でも、Rom-BASICで最初、日本語なんて通らなかったんですよねぇ?
 あのサイトの感じからして、大昔からある、というものでもない感じだったかな。

>川合 慧著 PASCAL入門
>共立出版 ISBN4-320-02150-9 1981年初版発行

(前略)
> 人間にとっては、問題を解決することが主目的であり、細かな解法は二の次となる"
> べきである。"
(中略)
> 本書では、一般的な問題の解決に必要な仕事に対して、‘計算’という言葉を使う。"

 それっぽい。1981年。PC以前の時代ですね。

>もしかしたら私は「問題解決」という用語が普及するよりも古い世代なのかも。
 そんなこともないでしょう。

>父の遺産です。中で扱っている言語もPASCALではなくFORTRANです。
 わお! お父様もその筋のお方だったのですか。
 例のCPU本には、COBOLとPL/Mも言及される。後者は1章あてて。お父様
よりとしきさんの時代?

>竹内 均著 やさしいコンピューター プログラムしよう
>日本放送出版協会 昭和44年発行 =★1969年!  ISBNなし
>> わたしたちは、まず問題を分析して、問題を解くためのある手順をつくり、"
>> これを論理や数学の言葉で書き下さなければならない。"
>おぉ、ありがたいお言葉。思わず拝んでしまいそう。

 としきさんの気持ちはよく想像できますよ。いやぁ、問題は回避して目をつぶる
ためにある、つまり、ないことにするのが一番ではないかと思う。そんなもの
要らないよ。でも拝もう。

 自然農の教え:探せば問題は永遠に見つかる。どうせあるのだから、どうせない。
目をつぶりなさい。過去と未来を含む「ほんとうの今」を生きなさい。
 宗教だなぁ。

 僕があってもいいよ、と思うのは、問題でなくタスクだな。ごめんなさい。絡んでる
感じだ。


10364/10351 CRG00666  文太             Re^2: 「問題解決」(problem solving)
( 1) 22/11/04 21:20 10352へのコメント(としきさん)
>私もこの辺は、わりと基本に忠実なプログラミングをしていましたね。
>昔、大学生のころ、8ビットアセンブラをハンドアセンブルしていた時代。BASIC
>でロジックを組んで、それをアセンブラに落とす、ということをしていました。

 ここ、構造化ってことを言ってますよね。たぶん、おそらく。
 パスカルが偉かったのは、「構造化」を可能にしたってことですよね。

 僕にとって、現在、「基本に忠実なプログラミング」って、ラインエディタです。
edlinとか、使ったことないのだけど。

……
(ln==655)?.
 これも割と最近の発見でした。

……
655q	# sed version

 プログラミングっぽくないでしょうか? 
 結果がでれば問題は解決されるのです。


----- たとえばこんなの -----
目次のページ情報の桁をそろえる。
;Introduction  				viii 
;   A Maze to Think About		x 

:a
	(ln==158)? .
	#> #a
	&#V(65)			;エライ!
	#> #d
>a
----------------------------


10365/10351 CXB00940  としき           Re^5: 「問題解決」(problem solving)
( 1) 22/11/04 22:45 10363へのコメント(文太さん) コメント数:3
参照先:http://toshiki.la.coocan.jp/
>  でも、Rom-BASICで最初、日本語なんて通らなかったんですよねぇ?

PC-8001って、1978年くらいでしたっけ。
こいつでBASICでは半角カナだけだったと思う。
私はPC-8801を1982年ごろに買ったけど、これはオプションで定価4万円の漢字ROM
を買ってくるとDISK-BASICでとりあえず日本語表示はできた。ROM-BASICでも可能
だったかどうかは覚えていない。
PC-9801だとDISK-BASICもROM-BASICもあまり差はないのではないかなぁ。

>  それっぽい。1981年。PC以前の時代ですね。

いや、もう8ビットマシン全盛時代ですよ。
当時のベーマガを見ても、20機種とか載っていたと思う。

>  わお! お父様もその筋のお方だったのですか。

その筋の仕事をさせられた、といった感じでしょうか。
もともとは中卒で電電公社に入って電信技手をやっていたんですよ。
エジソンと同業。モールス符号を打つ人ね。
でも、電報機械化というヤツで配置転換。行った先がテレビの中継関係の仕事。
ところが、ここも合理化の嵐というやつで、テレビ中継の自動化という話になった。
そのシステムのプログラム作成に携わったのです。
そして、その仕事をきちんとやり遂げて。
数年後、電電公社の職員教育用のコンピュータの教科書の執筆にも携わりました。
いや、一人で1冊書いたわけではありませんよ。6人で8章ぐらいの本だから、
うちの父は1章か2章分ぐらいしか書いていないはず。
なので、私の保育園時代の会社からのお土産は、使用済みの紙テープ。本物の
紙テープを使ってウルトラマンごっこができるなんて、考えてみれば贅沢な話。

>  例のCPU本には、COBOLとPL/Mも言及される。後者は1章あてて。

PL/Mって、実はあんまり知らない。コードを書いたことも読んだこともない。
一応、PL/Iのサブセット、ですよね。
私が若かったころのコンピュータの古典的名著といわれている「プログラム書法」
という本では、中のサンプルコードはPL/Iで書かれていました。この本は大学の
図書館で借りて読んだので、一応、建前上は、PL/Iのコードを読んだことがある、
といっていいのかなぁ。
COBOLも、たしなみとしてマスターしたかったけど、触れる機会がなかったなぁ。

>  としきさんの気持ちはよく想像できますよ。いやぁ、問題は回避して目をつぶる
> ためにある、つまり、ないことにするのが一番ではないかと思う。そんなもの
> 要らないよ。でも拝もう。

問題に目をつぶって回避してしまうというのはねぇ。
とりあえず、目の前に転がっている問題は、サツマイモの収穫。
収穫せずにそのまま放置してしまえ、というのは、自然農の方ならできるのかも
しれませんが、私にはそんなこと、とてもできません。
あるいは、空腹である、という問題。
そんな問題はなかったことにして、食事を取らない。
うむ、実はこれって最終的な解決かも。

10366/10351 CRG00666  文太             そこまでジャパンはすごかったのか!
( 1) 22/11/05 12:18 10365へのコメント(としきさん) コメント数:1

NEC PC-8000 シリーズ
1979年5月09日 発表
1979年9月20日 出荷
希望小売価格 168,000円(周辺機器を含めないと実際のところは分からないなぁ)

9月28日がパソコン記念日/パソコンの日

1980年 日本人サラリーマンの平均年収(注)
300万円
つまり、平均月収25万円の時代(けっこう余裕で買えそう)
(あまり今と変わらない?−−非正規を除外すれば、年:473万円〔2012〕らしいが)
(『年収200万円で生きる方法』がヒットしたのが15年前? 今も同じかさらに
酷いと思うけど。)

https://nenji-toukei.com/n/kiji/10022

https://ja.wikipedia.org/wiki/PC-8000%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA
https://ja.wikipedia.org/wiki/%E7%9F%B3%E7%94%B0%E6%99%B4%E4%B9%85

 おもしろい!

>>  でも、Rom-BASICで最初、日本語なんて通らなかったんですよねぇ?
>PC-8001って、1978年くらいでしたっけ。
>こいつでBASICでは半角カナだけだったと思う。
>私はPC-8801を1982年ごろに買ったけど、これはオプションで定価4万円の漢字ROM
>を買ってくるとDISK-BASICでとりあえず日本語表示はできた。ROM-BASICでも可能
>だったかどうかは覚えていない。
>PC-9801だとDISK-BASICもROM-BASICもあまり差はないのではないかなぁ。

>>  それっぽい。1981年。PC以前の時代ですね。"
>いや、もう8ビットマシン全盛時代ですよ。

 いやぁ、ノートン先生の「8086 family tree」(PC, XT, PCjr, AT; Compaq,
Compaq Plus, Compaq DeskPro .... --- 1985視点)なんてのを読んだところで、
僕の日本無知を知らしめてくれました。(注)
 当時の日本はすごかった! アメリカサイドから見るとNEC製FDDというのが
定番的に言及されてはいたのですが。

 市場を含めて考えると、ちょっと先を行っていたのかも。
 NEC98があそこまで(Win95までだっけ?)引っぱれたわけも理解できました。

 しかしBASMが日本で受けなかった理由は分からないなぁ。
 ソフトは書くものでなく買うものの時代に、すぐになったのかなぁ?
 Pascal, C のブームがすぐ来た? Vzの時代かも。

 続きは、明日以降です。
 だるいの。

(注)僕は、すぐさま当時の16万円っていくらのこと? とか発想してしまった。
ところが、ノートン先生の記述には、いっさいPCの市場価値(それとの相関)への言及
がない。ノートン先生、紳士ですねぇ。



10367/10351 CXB00940  としき           Re: そこまでジャパンはすごかったのか!
( 1) 22/11/05 12:58 10366へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> つまり、平均月収25万円の時代(けっこう余裕で買えそう)

ボーナスというものもありますからね。
税金その他を考えると、月給の1か月分、というのが相当かと。
でも、普及の最初期、ということを考えると、かなり安いような気がする。
例えば、昭和30年代のテレビとか、いわゆるモータリゼーションといわれた、
同じく昭和30年代の自動車の月給に対する比率との比較ですが。

>  当時の日本はすごかった! アメリカサイドから見るとNEC製FDDというのが
> 定番的に言及されてはいたのですが。

パソコン用のFDDについは、少なくとも20世紀末、または21世紀初頭までは、
NEC製がかなり強かったはず。新品のシェアなんて知りませんが、21世紀のはじめ
ごろ、ジャンク屋で見かけるFDDはNEC製かミツミ製ばかり。
東芝のHDDと同じような感じかなぁ。

>  しかしBASMが日本で受けなかった理由は分からないなぁ。
>  ソフトは書くものでなく買うものの時代に、すぐになったのかなぁ?
>  Pascal, C のブームがすぐ来た? Vzの時代かも。

BASMって、そもそもいつごろ発表されたものなんでしょうか。
BASICのコンパイラなら、ほかにいくつか知っています。
「信長の野望」で有名な光栄も出していました。
CP/Mだったか、コマンドラインに「BASICC」というコマンドをうつコンパイラと
いうものも使った記憶があるけど、私のニーズにはあわなかった。DOSの時代に
なってからだったかなぁ。もはや覚えていない。
あと「BC」で起動するコンパイラもあったような、あぁ、忘却のかなた。
前にも書いたけど、私、BASICをアセンブラにする、というニーズはありました。
何をやりたかったかというと、浮動小数点演算。でも、当時の8ビットマシンの
時代に入手可能なBASICコンパイラって、ほとんど整数型のみ。雑誌に掲載されて
いたものもありましたが、そういったものしかなかったはず。
それこそ、自分でBASICコンパイラを作りたかったくらい。
だけど、大学でコンパイラの授業もとったけど、さっぱり理解できなかった。
もしかしたら、単位を落としたかも。一応、教科書は残っている。

なお、8ビット当時、BASIC以外の言語も、あることはありました。
クリーンコンピュータで有名なMZ-80シリーズに、少なくともPascalはあった。
たぶん、FORTRANもあったのではないかなぁ。
CP/M上では、FORTRAN、Pascal、C、COBL、PL/Mと、一通りありました。
またパソコン雑誌には、BASICコンパイラ以外に、独自言語もいろいろと発表されて
いました。microPASCALとか、TL/1とかGAMEとか。どれも大体ゲーム開発用の機能は
一通り備えていました。というか、当時の世間での最大のニーズはゲームでしたから。
だからといって、言語名がGAMEというのはすごいな。そして、TL/1もGAMEも、私の
記憶が確かなら、いずれもALGOL系というか、Pascalっぽい言語仕様だったような。
違ったかなぁ。

10368/10351 CXB00940  としき           補遺とか訂正とか
( 1) 22/11/05 15:29 10365へのコメント(としきさん) コメント数:3
参照先:http://toshiki.la.coocan.jp/
自室で横着して記憶に頼らず、きちんと現物を確認してみました。
とはいえ、PC-8801のマニュアルとかは実家に戻らないと見れません。
とりあえず、自宅にあるもの、というところで。

> >  でも、Rom-BASICで最初、日本語なんて通らなかったんですよねぇ?
> PC-9801だとDISK-BASICもROM-BASICもあまり差はないのではないかなぁ。

手元にあった「N88-日本語BASIC(86)ユーザーズマニュアル」第1章の冒頭の記述
から引用。

>  PC-9800シリーズの各機種の本体にはN88-BASIC(86)インタプリタのROM(96KB)が内蔵
> されています。このROMにはN88-BASIC(86)の基本機能が組み込まれており、電源を入れた
> だけでBASICを使うことができます。このBASICをROMモードBASICと呼びます。
>  また、N88-日本語BASIC(86)のシステムディスクをフロッピィディスク装置にセットして
> BASICを起動させると、BASICの機能が拡張し、フロッピィディスク装置の使用、日本語の使
> 用などさまざまな機能が使えるようになります。このBASICをDISKモードBASICと呼びます。

そうなんだ、知らなかった。
文太さんの記憶のほうが正解でしたね。

> >  それっぽい。1981年。PC以前の時代ですね。
> いや、もう8ビットマシン全盛時代ですよ。
> 当時のベーマガを見ても、20機種とか載っていたと思う。

81年は、8ビットマシン全盛の、ちょっと手前でしたね。
82年のベーマガで、ポケコン含めて20機種ぐらいの掲載でした。

> >  わお! お父様もその筋のお方だったのですか。
> その筋の仕事をさせられた、といった感じでしょうか。

思い出話を一つ。
うちの父がコンピュータに携わっていた時代って、まだキーボードのJISが制定される
以前だったようです。なので、私が買ったPC-8801で数年ぶりにキーボードに触れた
ときに、記号とかカナの刻印の並びが昔と違う、なんてことを言っていました。

> 数年後、電電公社の職員教育用のコンピュータの教科書の執筆にも携わりました。
> いや、一人で1冊書いたわけではありませんよ。6人で8章ぐらいの本だから、
> うちの父は1章か2章分ぐらいしか書いていないはず。

書棚で現物を確認したら、5章の本を4人で執筆、でした。
うちの父が書いた分量に変わりはないと思うけど。
そして、その電電公社の教科書と並んで、私の全く読んだこともない本が数冊。
引越しの際に実家から持ってきたものだけど、何でこんなものを持ってきたんだろう。
その中にあったのが「別冊 ソフトウェア科学」。
産報という会社のだしていた「ソフトウェア科学」という雑誌の別冊、という体裁な
わけですが、そんな会社も雑誌も聞いたことがない。
後ろのほうのページの広告によると、別冊ではなく本体のほうの「ソフトウェア科学」
のキャッチフレーズは「ユーザーのためのコンピュータ専門誌」だそうな。
ユーザーのほうは音引きがあるのにコンピュータのほうにはないというのは興味深い。
それはさておき、この別冊というのが2冊あり、そのうちの1冊、1970年5月に
発行されたNo.1は「図解COBOL」。
ぅぉぉ、なんてこった。これで勉強していればよかったんだ。そうすれば

> COBOLも、たしなみとしてマスターしたかったけど、触れる機会がなかったなぁ。

たしなみ程度にはマスターできたかもしれない。
触れる機会がなかった、なんて、認識が甘いにもほどがある。
当然、私の学生時代にも、この本はすぐ手の届くところにあったはずなんだから。
ちなみに、もう1冊の別冊は1970年12月のNo.4「図解フローチャート」。


ところで、これらの本と並んで発掘されたのが、I/O誌1981年4月号。
この当時はパソコン誌は買っていませんから、あとから古本屋で入手したのでしょう。
そして、これの特集が「BASICコンパイラ」。うむ、なるほど、欲しくなったときに
たまたま見かけて購入したといった感じ。
ただ、特集といいつつ、中を覗くと、PC-8001用のBASICコンパイラの記事が一つだけ。
他の記事は、MZ-80用のアセンブラと、KUMAJIRIなる独自言語のベーシックマスターへの
移植。なんだこりゃ。
だけど、広告ページをピンポイントで覗いていくと、かなり興味深いものもある。
例えば、ハドソンがMZ用にBASIC COMPILERとかTini FORTRAN、Tiny ALGOLといったものを
出していたり、とか。シャープがMZ用にPASCALインタプリタを出していたり、とか。

ところで、PASCALといえば、先に触れたmicro PASCAL。
これについて記載しているのはASCIIの出した「プログラムライブラリ」という本です。
これはASCII本誌に掲載された記事をまとめたものだと思います。
この記事の冒頭には、以下のように記載されています。

> はじめに:
> 80年1月に丸山氏によって発表されたmicro PASCALは、その後TRS、MZに相次いで
> 移植され、早くもGAMEに続く80系マシンの標準言語になろうとしています。私も
> 発表後すぐにPC-8001に移植してみましたが、その高速性に驚き(後略)

なかなか、当時のマシンや言語環境を彷彿とさせてくれる文章だと思います。

10369/10351 CRG00666  文太             Re: 補遺とか訂正とか
( 1) 22/11/06 12:20 10368へのコメント(としきさん)
 ちょびっとだけサクっと。

>>  PC-9800シリーズの各機種の本体にはN88-BASIC(86)インタプリタのROM(96KB)が内蔵
>> されています。このROMにはN88-BASIC(86)の基本機能が組み込まれており、電源を入れた
>> だけでBASICを使うことができます。このBASICをROMモードBASICと呼びます。
>>  また、N88-日本語BASIC(86)のシステムディスクをフロッピィディスク装置にセットして
>> BASICを起動させると、BASICの機能が拡張し、フロッピィディスク装置の使用、日本語の使
>> 用などさまざまな機能が使えるようになります。このBASICをDISKモードBASICと呼びます。

 貴重な引用をありがとうございました。

>そうなんだ、知らなかった。
>文太さんの記憶のほうが正解でしたね。

 いえいえ、僕にその手の記憶があるはずがありません。Basicに触れたのは
1か月前が生まれて初めてですから。『ざべ』とか『べーまが』という過去ログで
頻出する単語の意味がわかるのにniftyに入ってから10年くらいかかったと思しいです。
 ですから、Rom-Basicの話は、想像と推測です。外れることの多い文太の得意技。
 別の言い方をすると、僕は想像を絶する変人だ、ということです。

 ただ、その後、Win9xには、olddosなるフォルダがシステム近辺にあり、そこに、
qbasic.exeが入っていることを知り、試してみた(のだっけ?)ら、やはり想像どおり、
日本語は通じず、us モードでないと機能しないことを発見しました。

 日本語の壁、NEC-98アーキテクチャーの壁、いろいろあったんですね。
悪口ではないですが、ガラパゴスしちゃうよなぁ、と。
 ちょっと賢そうなふりをしてつけ加えると、何しろ1.3億人の独自言語をもった
人々の市場です。いったん方向がずれると、軌道修正はなかなかできなかったのでしょう。
 巨大タンカーの針路変更のごとく。

 もっとどうでもいいことを少し。

 Peter Norton's Inside the (IBM) PCという本(シリーズ)は、たいへん長寿で、
僕の手元には2002年版もあります。わりと大幅改訂しながら長寿を保った模様。
2002年版ではさすがにBasicのプログラム・リスティングは載っていない。過去のものとして
歴史記述されるのみ。しかし、1997年の7版では、初版、2版(1983, 1986. これらも
けっこう大きく違う)のものとは違うBasicプログラムが掲載されていました。

 このシリーズに関して「残念」(?)なのは、一般大衆向けにやや専門的にPCの原理
を解説する本だから、PC世界が複雑化するについてどんどんプログラミングから離れて
いってしまったこと。初版や2版では、マシン語、Basic、Pascalのプログラム・リストから
debugの使い方、アセンブラの使い方、まで記述されていたのに、インターネットだ、XPだ、
NTVDMだ、スキャナーだ、pdf、タッチパネルだという後年版になってくると、もう
プログラムを「書く」、それを教える、みたいなところがなくなっちゃったのですね。


 その他のお父様のお話など、とてもとても興味深く読んでいます。
ありがとうございます。
 楽しい! 面白い! です。

>なかなか、当時のマシンや言語環境を彷彿とさせてくれる文章だと思います。
 なんか熱いですねぇ。ワクドキが伝わってくる。


 色々書きたいのだけど、だるいの。そして、今日20本のレポートを読みコメントを
入れ、4種のテストを作り、授業用に映画を1本みなくてはいけない。
 to do リストを作ったら、もう、うんざりしてきた。
 とにかく1ミリでも前に進まなくては……。山をくずせ、アリのように。

 ちょっとずつレスを返していきます。



10370/10351 CXB00940  としき           Re: 補遺とか訂正とか
( 1) 22/11/07 19:16 10368へのコメント(としきさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
かなりどうでもいいことです。

> 産報という会社のだしていた「ソフトウェア科学」という雑誌の別冊、という体裁な

この会社と雑誌が気になったので、調べて見ました。
きちんと調べるのなら国会図書館ですが、ネットでざっくり、で十分。
結果。
産報出版という、後継の会社が存在していました。
現在は、溶接関係の本や雑誌を出しているようです。
会社概要のページ(ttps://www.sanpo-pub.co.jp/about/)によると

1948年11月 「溶接ニュース」(週刊)を創刊。これをもって創業とする。
      なお、発行は社団法人溶接学会から行われた。
1962年04月 株式会社産報と改称。
1985年05月 旧産報の事業整備のため溶接出版部門が分離独立し産報出版株式会社を
      設立、現在に至る。

だそうで。
なるほど、祖業回帰に当たって、現在はコンピュータ関係は扱っていない、と。
ん〜、そちらのほうは一体どうなったんだろう。ちょっと気になる。
さらに検索を重ねると、引っかかってきたのがツイッター。
ttps://twitter.com/akakit/status/1111251040370716673
おや、こちらだと雑誌名は「ソフトウェア」となっている。でも

> 後ろのほうのページの広告によると、別冊ではなく本体のほうの「ソフトウェア科学」
> のキャッチフレーズは「ユーザーのためのコンピュータ専門誌」だそうな。

キャッチフレーズは同じ。
どうやら、雑誌名が「ソフトウェア」から「ソフトウェア科学」に変わったらしい。
さらに追いかけてみたら ttps://acaddb.com/books/articles/5651069 より

> 巻次・年月次
>   2巻5号 (1970.5)-6巻8号 (1974.8) = 通巻9号 (1970.5)-通巻68号 (1974.8)
> 雑誌変遷 ID 00151400
>   ソフトウェア = Software ID AN00285688
>     産報 [編] 産報
>    通号表示併記: <1巻2号 (1969.11)>-2巻4号 (1970.4) = <通巻2号 (1969.11)>-通巻8号 (1970.4)
>     産報 1969-1970

なるほど、最初の8冊だけ「科学」がなかったのね。
ところで、上記「別冊」の後ろページに掲載されている本体の広告は1970年6月号。
ほほう、改題されて2号目、なのか。
また、廃刊はオイルショックのころ。あまり売れなかったということなんでしょう。
大型コンピュータのユーザ向けの雑誌のようですし。
ついでなので、1980年前後、いわゆるマイコンブームを牽引した大手誌の創刊を調べて
みたところ

工学社   I/O    1976年10月創刊
アスキー  月刊アスキー 1977年6月創刊
電波新聞社 月刊マイコン 1977年8月創刊
廣済堂   RAM    1978年2月創刊

ということでした。「ソフトウェア科学」も、あと数年がんばって、さらに路線変更
していたら、という気もしなくもない。


さて、産報。
こちらのほうも、もうちょっと検索をしていたら見つけたのが以下。

ttps://daihanrei.com/l/%E6%9D%B1%E4%BA%AC%E5%9C%B0%E6%96%B9%E8%A3%81%E5%88%A4%E6%89%80%20%E6%98%AD%E5%92%8C%EF%BC%95%EF%BC%94%E5%B9%B4%EF%BC%88%E3%83%AF%EF%BC%89%EF%BC%96%EF%BC%96%EF%BC%96%EF%BC%92%E5%8F%B7%20%E5%88%A4%E6%B1%BA

なんか、有名漫画家の本名が原告の中にある。
原告筆頭の方の名前は知らなかったけど、別の有名漫画家のお兄さんということで、
Wikipediaにも名前が載るくらいの大物。
これが確定判決かどうかはわからないけど、この判決が昭和54年、つまり1979年。
ということは、裁判の期間を考えると、1975年前後から、この産報という会社、いろいろと
手を出していた模様。多角化経営というヤツでしょう。でも、それがうまく行かなくて
1985年に事業整備ということになったのではないか、と推測できてしまいます。
大ハズレかもしれませんけどね。



あぁ、一体私は何を調べているのやら。
時間のムダとはいわないけど、ちょっと好奇心の方向がアレすぎるような気がする。

10371/10351 CRG00666  文太             Pascal & Basic
( 1) 22/11/07 23:03 10367へのコメント(としきさん) コメント数:2
英語のまんまで、ごめんなさい、読んでくだされ。がんばれ!

   Personal Computer Computer Language Series
   Pascal Compiler
   Copyright International Business Machines Corporation 1981
   First Edition (August 1981)

from the above, below

Pascal, a relatively modern language, has benefited 
from many earlier languages (such as ALGOL) 
and is forming the basis of several new ones.

IBM has added several goals to this list:

IBM Personal Computer Pascal is designed to be 
a systems implementation language, especially 
suitable for writing compilers, interpreters, 
operating systems, and so on.

 2点ほど、接点があったので。
 IBM 初号機(1981)には、Pascalが付いてきたみたいで、ALGOLが先祖、
そしてコンパイラが作れるようにと IBMは、オリジナル・パスカルからいくらか
拡張をした、とありますね。
 この拡張というのが何なのか分からなかったのですが。

 ただ、僕が何となく思っているのは、basicコンパイラ(BCってたしか
MSの製品でなかったかなぁ?)と、Basic -> Asmに翻訳して、アセンブル
するのとは、ちょっと違うのじゃないかな、ということ。

 何となくアセンブルすると、すごく速くなりそう。ここが、ぼくが
BASMを面白いかな、と思った点。

>BASM!  The BASIC to 286 Assembly Language Translator (c) 1998

 というように、Basicが流行っていたときのものではないですね。
 Power Basicって何なのか(商品っぽい)調べておきます。
 Basicが方言まみれで収拾つかなくなってしまった、という話は聞いて
います。方言だらけなんでしょうね。

 でも僕が面白がる部分は……。所詮、テキスト処理ツール部分と
あとメモリとちょっとシステム寄りな部分だけでしょうから。

 親父さんは、COBOLも勉強したんだぁ。昔の人は偉いですよねぇ。
 Miyataさんが、「仕事はCOBOL、つまんない」とか言ってませんでしたっけ?
 ここから僕が思うのは、やっぱエディタはエディタで、「言語」で
プログラムする前に、いろんな工夫があるんだろうな、ということ。

 僕は、残りの人生をかけて、基本的に、これをやりたい。
 1 Vzを極める。
 2 Vzの存在意義を実証する=プログラミングする。道具は使って
   なんぼよ。

 まだまだ疲れてるけど、イエイ!



10372/10351 CRG00666  文太             cplate.def (v1.00) 再掲
( 1) 22/11/07 23:10 10371へのコメント(文太さん)
 ふとこんなののことを思い出しました。
 コメントもオリジナルです。「$」の使い方が教育的ですね。
 FGALAPだと思います。

======== cplate.def (v1.00) ========
;127/376   NBH01153  BANT-iT           c.mos氏のC言語テンプレート・マクロ
;(12)   91/04/18 01:23
  
* M マクロ
  
50 [CR] "{..}"
        ?.
;       (fe<4||fe>5)?.                  ; 拡張子の判定
        #s (cd!='{') #d ?{ #m . }
        #m '}' #n #21
  
51 \[TAB] "Cテンプレート"
        ?.
;       (fe<4||fe>5)?.
        #s c=cd, #d
        &f(c,"iewfscrd") (r<0)? .
        p=$, p.8=c, >i                  ; こういう手もあるわけやね
:i      "f ()" #s .
:e      "lse" .
:w      "hile ()" #s .
:f      "or ()" #s .
:s      "witch ()" #s .
:c      "ase:" .
:r      "eturn" .
:d      "o {" #m "} while();" #n #21 .
  
*
======== End of cplate.def ========


10373/10351 CRG00666  文太             Re^2: 補遺とか訂正とか
( 1) 22/11/08 15:20 10370へのコメント(としきさん)
 確かに好奇心の方向はアレですが、だいたい話は追えました。
 溶接会社がソフトウェア関連の雑誌をねぇ。

 それぐらいのフットワークの軽さがないと「成功」できないのかも。
 ま、この手の世の中と時流にそった生き方話というのも、たまには
好奇心を引きはします。
 漫画描いてもらったのに、原稿料が払えなかった、とか?

 でも、僕は1980年代のMS-DOS関連を一生いきるらしく……。
 こっちのほうが余程ビョーキ度は高いか重いか、という気がしました。
 正気を失ってはいない、、、と、思う。

 市場規模が違う、というのが大きいのでしょうが、アメリカの雑誌って
pdfがけっこう落ちています。PC (Tech|Disk) Journal, Byte etc etc ....
 日本語のになると、スキャナ(OCR)にかけられない、NEC98
の絶対的時代境界線がある、などの理由で、あまり探す気にならないのです
よねぇ。

 こっちも絶対に最終ラインはあるでしょうが、図書館で本(古い本)
を借りるほうが、僕にはまだ現実的だったりします。
 やがて廃棄処分になってしまうのだろうけど。


10374/10374 BQO00549  konno            ノートPCの更新
( 1) 22/11/08 22:23 コメント数:1
今年の春の書き込みでノートPCが壊れた話をしました。
#10182:ノートPCが壊れた  投稿者:konno   2022/03/31(木)
それから2ヶ月間古いノートで頑張っていたのですが、うちの奥様が
「もう新しい(新品)パソコンを買ったら」というので、ケチな私は
まーぶるPCで中古のノートPCを買いました。予算は5万で。(^^;

> 新品SSD512GB搭載サクサク中古ノートPC メモリ16GB コアi5(第6世代以上) 【中古】 メーカー選んで任せて特選ノートパソコン 東芝/NEC/富士通/海外(HP/Lenovo/Dell等) Windows10 WPS Office搭載 DVD-ROM WEBカメラ(数量限定) 無線LAN付き 15.6型 中古パソコン(saku2note1-FUJITSU)
これを見て、東芝は懲りていたので憧れの富士通にしました。(^^;
商品は6/21(火)に届きました。

仕様は
メーカー:富士通 FMV
型番:FMVA16001
モデル名:LIFEBOOK A576/P
CPU:Core i5-6300U
OS:Windows10 Pro 64bit
ディスプレイ:15.6インチ
解像度:1366*768 FWXGA(HD)
ストレージ:500GB(SSD)
メモリ:16GB
クロック:2.4GHz
オフィスソフト:WPS
ODD:DVD-ROM
無線LAN:IEEE 802b/g/n 準拠*無線LAN子機同梱
有線LAN:1000BASE-T/100BASE-TX/10BASE-T準拠

オリジナルはストレージ:500GB(HDD)、メモリ:2GB なので
これで¥49999なら必要充分です。テンキーも付いていますし。
キーボードの感触は東芝のより良いです。
ただマウスパッドの面が周りと完全にフラットでかえって誤操作の原因になっています。(^^;

ところが使い始めて早々、ブルースクリーンが頻発するトラブルに見舞われました。
その間色々あって今まで新ノートPCのことは書かなかったのですが、そろそろ書くことにしました。
この話は少しづつ書いたり書かなかったりすると思います。(^^;


10375/10374 BQO00549  konno            ハイブリッドスリープとSSDの寿命
( 1) 22/11/08 22:45 10374へのコメント(konnoさん)
新しいPCを使っていて気になったことがあります。
スリープモードになるたびにHDD(SSD)ランプがしばらく点滅するのです。
もしかしてメモリの内容を毎回スリープのたびにSSDに書き込んでいる?

ノートPCゆえ毎日数十回スリープしているので、もしもメモリに書き込んでいたら
SSDの寿命が数年で尽きてしまうかもしれません。
前のPCのSSDが2年で駄目になったのも、もしかしたらこのせい?
SSDが中古だった可能性も疑ってしまいましたが今回のは新しいようです。

とりあえずこわいので設定を変更しました。

設定>電源とスリープ>電源の追加設定>コンピュータがスリープ状態になる時間を変更
>詳細な電源設定の変更
スリープタブを展開
ハイブリッドスリープを許可する の項目を全て オフ にする

これでハイブリッドスリープは普通のスリープになりました。
ちなみに休止もメモリをHDD(SSD)に書き込んで電源をオフにします。
気になる方は設定を変えましょう。


10376/10351 CXB00940  としき           Re: Pascal & Basic
( 1) 22/11/09 13:00 10371へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 英語のまんまで、ごめんなさい、読んでくだされ。がんばれ!

機械翻訳を使わず、辞書だけでがんばった。

> IBM Personal Computer Pascal is designed to be
> a systems implementation language, especially
> suitable for writing compilers, interpreters,
> operating systems, and so on.

Wikipediaにもありますが、もともとPascalでPascalコンパイラというのは書ける
わけで、これはほかの言語のコンパイラを書くことができるようにしたい、という
意味なのかなぁ。

>  この拡張というのが何なのか分からなかったのですが。

先に書いたmicroPASCALですが、PC-8001への移植に当たっては、グラフィックの
関係のライブラリを追加した、というような話がありました。同様な事例として、
PascalにWindows対応のライブラリをくっつけたらDelphi、なんていう話もある
ようで、この比喩が的確かはわかりませんが、もしかしたらそういうことなのかも
しれません。

>  ただ、僕が何となく思っているのは、basicコンパイラ(BCってたしか
> MSの製品でなかったかなぁ?)と、Basic -> Asmに翻訳して、アセンブル
> するのとは、ちょっと違うのじゃないかな、ということ。

言葉のニュアンスが違う、というのはわかります。
でも、コンパイラというのは多くの場合、マシン語を直接出力します。
一方、アセンブラというのは、原義としては、マシン語と1対1の変換機。
なので、「Basic -> Asmに翻訳」というのがマクロ構文をビシバシ使っている
ものに対する翻訳であれば高級なプリプロセッサだと思いますが、単にマシン語
に翻訳するだけであれば、それはコンパイラに他ならない。
あとは、BASMという言語そのものがどういったものか、という点も知りたい。
つまり、世間一般で流通しているBASICとの言語仕様の差異とか制限とか。
極端なことを言うと、アセンブラのレジスタの数しか変数が使えない、なんて仕様
のBASICなら機械語に変換するのもたやすいかもしれない、みたいな感じで。

10377/10351 CRG00666  文太             Re^2: Pascal & Basic
( 1) 22/11/09 23:06 10376へのコメント(としきさん) コメント数:2
>機械翻訳を使わず、辞書だけでがんばった。
 がんばりました〜!!! (^^)/~~~~

>Wikipediaにもありますが、もともとPascalでPascalコンパイラというのは書ける
>わけで、これはほかの言語のコンパイラを書くことができるようにしたい、という
>意味なのかなぁ。
 そういう意味なのではないですかねぇ。

>  この拡張というのが何なのか分からなかったのですが。

APPENDIX E. PASCAL STANDARD AND IBM FEATURES

Summary of IBM Pascal Features
This list summarizes the extensions added to Standard Pascal.

Syntactic and Pragmatic
Metalanguage 
Metacommands:	;これらはコンパイラへの擬似命令。
$BRAVE
$DEBUG
$ENTRY

 どどどどど。5ページくらい。読む気にならない。
 読んでも大半わからないだろう。


>言葉のニュアンスが違う、というのはわかります。
>でも、コンパイラというのは多くの場合、マシン語を直接出力します。
>一方、アセンブラというのは、原義としては、マシン語と1対1の変換機。
>なので、「Basic -> Asmに翻訳」というのがマクロ構文をビシバシ使っている
>ものに対する翻訳であれば高級なプリプロセッサだと思いますが、単にマシン語
>に翻訳するだけであれば、それはコンパイラに他ならない。

 ふーん。コンパイラよりアセンブラのほうがもっとマシンよりなのかと思って
ましたけど、そうとも限らない、と。ふーん、です。

>あとは、BASMという言語そのものがどういったものか、という点も知りたい。

 どうしても本気で知りたいなら、basm最終版を落としてもらって、basm.txtを
読んでもらうしかないですが、僕がなんとなく理解できたのは、
 ・配列に制限がある
 ・複文(?)=関数の返り値が関数の入力になるようなのはダメ=単文2つに分けよ。
 ・.comモデル用ソース生成で、relocatableなのは作れない。コンパイル時にメモリ
  配置が固まるものに限る。
ぐらいでしょうか。

 いっぱい足りないものがあるのかもしれませんが、概略としてはこんな感じ
みたいです。↓


"BASM supports the following statements and functions:"
Say 07,07,"DIR$        HEX$         OPEN           CLS            REPLACE"
Say 07,08,"SHELL       ASC          CLOSE          PRINT          SWAP"
Say 07,09,"TIME$       ABS          KILL           INPUT          DELAY"
Say 07,10,"DATE$       BIN2DEC      CHDIR          POS            ASM"
Say 07,11,"COMMAND$    GETKEY       MKDIR          CSRLIN         BEEP"
Say 07,12,"CURDIR$     INSTR        RMDIR          LOCATE         DIM"
Say 07,13,"UCASE$      VAL          NAME           COLOR          ARRAY SORT"
Say 07,14,"LCASE$      LEN          PRINT#         FRAME          ARRAY INSERT"
Say 07,15,"MID$        SGN          INPUT#         GETSCREEN      ARRAY DELETE"
Say 07,16,"TRIM$       EOF          LINE INPUT#    PUTSCREEN      SCAN"
Say 07,17,"LTRIM$      ERR          EOF            CHANGEATTR     MOD"
Say 07,18,"RTRIM$      AND          DIR$           VIDEOCARD      INCR"
Say 07,19,"EXTRACT$    OR           CURDIR$        DEF SEG        DECR"
Say 07,20,"REMOVE$     XOR          GET$           PEEK           SHL"
Say 07,21,"REPEAT$     NOT          PUT$           POKE           SHR"
Say 07,22,"SPACE$      TICKS        LEFT$          RIGHT$"
END SUB


SUB Display3
ReFrame
Say 13,05,"BASM supports a rich set of control and loop constructs
Say 07,07,"DO  - EXIT LOOP  -  LOOP
Say 07,08,"FOR - NEXT - STEP - EXIT FOR
Say 07,09,"IF  - THEN - ELSE - END IF
Say 07,10,"SUB - EXIT SUB - END SUB
Say 07,11,"GOTO  labelname
Say 07,12,"GOSUB labelname
Say 07,13,"RETURN
Say 07,14,"FUNCTION - EXIT FUNCTION - END FUNCTION
Say 07,15,"CALL  subname [parameters]       { CALL is optional }
Say 07,16,"SELECT - CASE - END SELECT
Say 07,17,"WHILE -EXIT WHILE- WEND
Say 07,18,"END  [optional DOS Errorlevel value]
END SUB

 じゅうぶん立派な気がする。GOTO、悪くないと思うけどなぁ。


>極端なことを言うと、アセンブラのレジスタの数しか変数が使えない、なんて仕様
>のBASICなら機械語に変換するのもたやすいかもしれない、みたいな感じで。

 なかなか受けましたが、そのようなことは書いてなかったと思う。

keep instructions short, 
use the registers, 
use string instructions,

 というのが、速いコードを書く鉄則だそうです。気にしないけど。変数、大好き。
 当たり前のことがさらりと書いてあっただけなのですが、引用元は、Zen of Asm Lang
です。知ってる? 怖いよ、タイトルからして。同じ著者の別の本のタイトルは、
Black Bookです。こ、怖いです。5年先にすら読もうとする可能性はかなり低い。
 もちろん、アサム本です。



10378/10351 BQO00549  konno            Re^6: 「問題解決」(problem solving)
( 1) 22/11/09 23:55 10365へのコメント(としきさん) コメント数:1
としきさん

> ところが、ここも合理化の嵐というやつで、テレビ中継の自動化という話になった。
> そのシステムのプログラム作成に携わったのです。
> そして、その仕事をきちんとやり遂げて。
> 数年後、電電公社の職員教育用のコンピュータの教科書の執筆にも携わりました。

お父様は凄い人だったのですね。
最近のNHKのプロジェクトXで富士通VSIBMを見たんですがその時代の人ですよね。
オフィスコンピュータでCOBOLというところなんでしょうか。

現場の人がプログラム作成って、相当のスキルがないと無理だと思います。
今は絶滅しましたが、私もその時代の生き残りだと自負しています。
もっとも私は勝手にやり始めたアムロみたいなもので黙認してもらっていた口ですが。
でも実績こそ力、と思ってやり通しました。


# 絶滅したと思われていたのが地下で千年もROMってたとか・・・以下略


10379/10291 BQO00549  konno            Re: 公開版VZの修正ができました。
( 1) 22/11/10 00:44 10334へのコメント(konnoさん) コメント数:1
VTDOS のエラーは #i のルーチンで起こっているように見えます。
今回はその中からエラー回避でき、テストデータで問題が出ない箇所を見つけました。

MEMO.ASM 855行目あたり

txtmov1	proc
	push	es
	movseg	es,ds
	mov	cx,[bp].tend
	sub	cx,si
	jc	txtm19			;★##k 221108 VTDOSエラー回避
	call	memmove			;VTDOS err?
	add	cx,di
	mov	[bp].tend,cx		; update tend
txtm19:	pop	es			;
	ret
txtmov1	endp

この★印を追加することで Bl1024*3 でもエラーで落ちなくなりました。
Bl1024*3 の時は内容が壊れますが、この追加があれば他の修正がいらないようです。
非常駐だと Bl1024*3 でも正常処理されます。謎です。違いは何なのだろう。

完全ではありませんがこれと Bl8192 の修正をしたテスト版VZを揚げてみようと思います。


10380/10351 CRG00666  文太             Zen of Assembly Language
( 1) 22/11/10 01:00 10377へのコメント(文太さん)

DeepL にかけてください。

A case in point: a few years back, I came across an article about 8088
assembly language called "Optimizing for Speed." Now, "optimize" is not
a word to be used lightly; Webster's Ninth New Collegiate Dictionary
defines optimize as "to make as perfect, effective, or functional as
possible," which certainly leaves little room for error. The author had,
however, chosen a small, well-defined 8088 assembly-language routine to
refine, consisting of about 30 instructions that did nothing more than
expand 8 bits to 16 bits by duplicating each bit. (We'll discuss this
code and various optimizations to it at length in Chapter 7.)

The author of "Optimizing" had clearly fine-tuned the code with care, examining
alternative instruction sequences and adding up cycles until he arrived at
an implementation he calculated to be nearly 50% faster than the original routine.
In short, he had used all the information at his disposal to improve his code,
and had, as a result, saved cycles by the bushel. There was, in fact, only
one slight problem with the optimized version of the routine... It ran slower
than the original version.

 き、厳しすぎる。
 著者の名は、Michael Abrash.



10381/10291 CRG00666  文太             Re^2: 公開版VZの修正ができました。
( 1) 22/11/10 01:08 10379へのコメント(konnoさん) コメント数:1
konnoさま(さま付けかよ)

 お疲れ様です。

>完全ではありませんがこれと Bl8192 の修正をしたテスト版VZを揚げてみようと思います。

 テスト版を是非。ただ、ベースになった版も明記ください。じゃないと長期にわたって
使用し、バグ、出る? 出ない? とはできないからです。
 もっとも安定したヴァージョンをベースにしてくれると嬉しいです。それは、どの版?

--- my vz.def ---
Bl8192			;line buf (256..(Bt*1024/8))
-----------------

 これは、日本語を使う身としては、さすがに譲れませんから。日常業務において。

 テストだけしてみて欲しいというのであれば、曖昧でもいいですから、こういう場合はどう?
と指示してくださると嬉しいです。しばらくテスターになる気持ち(ほい?)はありますよ。



10382/10291 BQO00549  konno            Re^3: 公開版VZの修正ができました。
( 1) 22/11/10 19:52 10381へのコメント(文太さん)
>  テスト版を是非。ただ、ベースになった版も明記ください。じゃないと長期にわたって
> 使用し、バグ、出る? 出ない? とはできないからです。
>  もっとも安定したヴァージョンをベースにしてくれると嬉しいです。それは、どの版?

ベースは VZK07T01 です。過去記事で
#10257:Re^2: すれ違いと待ち伏せ  投稿者:文太   2022/08/24(水) 

>  僕は、Vzk k07t01 という版を使っているようです。うーん、このキー増強とか
> だけ、k07t01 に入れたいな、とか思っています。

こう書かれていたので、VZK07T01 が良いのかなと思いました。
それで確認のためにVZの部屋を見てみたら、げげ、VZK07T01.LZH が公開停止になっている!!
検索してみると
#8590: VZk07t01 公開停止 & VZk07t 公開版の差し替え 投稿者: konno   2018/11/16(金)

> #8369 で公開したVZk07T1 (2018/10/17) は、バグが有ったので、公開停止しました。
> 使用されている人はすぐに使用中止願います。
> 代わりに、VZk07t 公開版の pc ズレ修正・差し替え版をアップしました。
> こちらは問題ないと思います。

こう書いていました。その理由は #8591> DOSモバでSORT.DEF(高橋版)を試してみました。
> VZO、VZT、は問題なく動作しました。が
> VZK07t1 は、起動BATで常駐した時は、異常になります。
> 
> 調べてみたら、アセンブルでポカミスしていました。
> この版はすぐに公開停止しましたが、使用している人はすぐ使用中止願います。
> ご迷惑おかけして申し訳ありません。

ということなんですが、どうも文太さんとshadowさんは、K07T01 をお使いのようで。
#08611 の文太さんの書き込みでは

> 2018/10/17  19:11            62,184 vz.com	(k07t01)	;最新−1(前の版)

この日付とサイズの版が良いということですよね。
私はこのころ話がすれ違っているのに気が付いていなかったようです。
こちらの方が問題ないということであれば、再公開しようと思います。
ソースも公開すれば違いとか確認できますね。

>  テストだけしてみて欲しいというのであれば、曖昧でもいいですから、こういう場合はどう?
> と指示してくださると嬉しいです。しばらくテスターになる気持ち(ほい?)はありますよ。

ファイルが壊れる可能性はありますが、テストしていただいて問題点がわかればうれしいです。
よろしくお願いいたします。


10383/10351 CRG00666  文太             DOSとBasic
( 1) 22/11/11 01:14 10368へのコメント(としきさん)

 歩いていたら、たまたま目に入って、うーん、そういうことだったんだなぁ、と。
 MSの歴史の中でのOSとBasicの関係。stand-alone Basic と MS-DOSの
ディスク管理という接点。

Microsoft and BASIC

On the surface, BASIC and MS-DOS might seem to have little in common, but in terms of file management,
MS-DOS is a direct descendant of a Microsoft version of BASIC called Stand-alone Disk BASIC.

 上、The MS-DOS Encyclopedia p.3 より。



10384/10351 CXB00940  としき           Re^7: 「問題解決」(problem solving)
( 1) 22/11/11 02:06 10378へのコメント(konnoさん)
参照先:http://toshiki.la.coocan.jp/
> お父様は凄い人だったのですね。

すごすぎるというか。とても私にはまねできない。
自慢の父親、という言い方もできるかもしれませんが、親族からは「あの親の子」
という意味で、私はいささか肩身が狭かった。いや、私よりも、母のほうが大変
だったかも。だって、父方からは、父親が優秀なのに子供が優秀でないとしたら
母親の血のせい、と思われたかもしれないので。
ついでなんで、愚痴を兼ねて、ここで父親自慢させてもらおう。
前にもどこかに書いたかもしれませんが、戦争のとき、甲府に疎開しました。
その後、戦後すぐぐらいだったか、市内の優等賞ということで、甲府の市長さん
から表彰されて、その記念というか副賞の硯は今でも残っている。なお、選考方式
がどういうものだったかは不明。各学校の推薦だったのかなぁ。
家が貧しかったので進学できず、中卒で電電公社(当時の電気通信省)に入ったの
ですが、中学の先生が「私に金があれば援助して進学させたかった」と言ったとか。
ここまで来ると、私ですら「ほんとかよ」といいたくなってしまう。
そして、中卒にもかかわらず、電電公社では最後、管理職になった。
うむ、管理職のかの字にも縁のない私はむなしさを覚える、ということは全くない
ですけどね。

> 現場の人がプログラム作成って、相当のスキルがないと無理だと思います。

当時はそうですよね。だって、今と違って一般人は日常的にコンピュータに触れる
機会なんかなかったはずだし。
でも、エンドユーザコンピューティングとかシステムアドミニストレーションとか、
私は横文字は嫌いなんですが、要は使う人がシステムに携わらないと、真に使い
やすいシステムにはならない。現に私、どっかの偉い人が構築したプログラムに、
毎日のように苦しめられている。理屈では「旧システム+紙」よりも効率化して
あることになっているのだけど、現場は困っているんだぞ〜! > 偉い人

> 今は絶滅しましたが、私もその時代の生き残りだと自負しています。

確かに、一時は絶滅しかかっていました。
でも、今の世の中、DX化なる掛け声の元に、現場でのシステム作成が推奨されて
いる模様です。ただ、これも、なかなか理想どおりとは行かない。
大体、何もわかっていない上のほうのおじさんが声をかけるのって、若くて生きの
いい若手社員。でも、そういう若手社員の場合、逆に現場の業務をわかっていない
んですよ。そして、業務を覚える前にシステムを作らされて、使えないシステムが
乱造される。さらに、本人も業務を覚える暇がないとか、若手社員を鍛えようと
てぐすね引いて待っていた現場では、若手がそちらに取られて人手不足になったり。
なので、実はこの時代、中堅から上、konnoさんのいう「その時代の生き残り」の
人は、なにげに活躍の場が広がっているのでした。
私も、スキル的には若手に毛が生えたようなものですがね。
年齢的には中堅から毛の抜けたようなものになりつつあるので、そっち方面で活躍
したいなぁ。

10385/10385 BQO00549  konno            VZK07T01 の再公開
( 1) 22/11/11 02:11 コメント数:1
VZK07T01 の再公開とソースを公開しました。

k07t1 (2010-03-01)
 ・VTDOSで複数ファイル編集時にコマンドライン実行で異常が出る場合があるのを暫定修正 by 10#氏
 ・コード領域の内部ワーク pc が1バイトずれていたのを修正、差し替え(2018-10-17)

ダウンロード VZK07T01.LZH ver1.60k07t1 (2010-03-01版 → 2018-10-17修正版に差し替え) new!

ソースのダウンロード K07T01s.lzh ver1.60k07t1 (2018-10-17) new!


VZの部屋にあります。


10386/10351 CXB00940  としき           Re^3: Pascal & Basic
( 1) 22/11/11 03:33 10377へのコメント(文太さん)
参照先:http://toshiki.la.coocan.jp/
> >  この拡張というのが何なのか分からなかったのですが。

> APPENDIX E. PASCAL STANDARD AND IBM FEATURES
> Metalanguage 
> Metacommands:	;これらはコンパイラへの擬似命令。

なるほど、これは私の感覚では、確かに正統な拡張と言う感じです。

>  どうしても本気で知りたいなら、basm最終版を落としてもらって、basm.txtを
> 読んでもらうしかないですが、僕がなんとなく理解できたのは、

そこそこ興味はそそられるので、落としてしまうかも。
とりあえず、ネットをさまよって、英語で書かれたいくつかのサイトをざっくり
読んでみたのですがね。関係者が書いたのか善意の第三者が書いたのかわからない
ページで、compilingという単語を見かけました。なので、これって実は、ただの
BASICコンパイラなのではないか、と思いました。
とはいえ、今の所はまだ、表面をなぞっただけ、という自覚はある。
私の知りたいところとしては、ごく簡単なもの、例えば hello world を表示する
だけとかでいいので、完璧に動作するソースリストと、それの変換結果がどうなる
か、というのを見たい。なぜかいまだにBASM用のソースリストにお目にかかれて
いない。

>  いっぱい足りないものがあるのかもしれませんが、概略としてはこんな感じ
> みたいです。↓

これをみるに、なかなかできの良いBASICコンパイラではないか、という思いが
ますます強くなります。


>  ふーん。コンパイラよりアセンブラのほうがもっとマシンよりなのかと思って
> ましたけど、そうとも限らない、と。ふーん、です。

ここだけ、ちょっと長くなるけど、解説。
私の感覚が古い、とか、かつてはそうだったけど今は違う、という部分は多々ある
かと思います。でも、もしBASMが20世紀末にリリースされたのであれば、私の
感覚も大ハズレではないと思う。

まず機械語というのはビットの羅列。そして人間には、どのコードが何をするか
なんてことを覚えるのはなかなか難しい。そこで記憶用の、いわゆるニーモニック
というのが開発された。最初はまさに、それぞれのコードの挙動の記憶用。のはず。
なお、ニーモニックという言葉の由来とか原義とかは、たぶん英語の専門家にお尋ね
いただいたほうがいいでしょう。
そして、ニーモニックを使ってコンピュータの挙動全体を書き下ろすようになった。
すると次に、それをそのまま機械語に変換できるとうれしい。
ということで、ニーモニックを機械語に変換するのがアセンブラ。
その後、アセンブラには擬似命令だのマクロ機能だのが追加されて、構造化構文
までサポートされるようになりました。
とはいえ、基本的にニーモニックと機械語は1対1。
そうではなく、変数に定数を代入する、というようなロジックでプログラムを書く
のが高級言語。最初のころのFORTRANとかCOBOLとか。そして、そのプログラムを
複数の機械語に変換する、というのがコンパイラ。
また、コンパイラも、ターゲットのマシンの機械語にコンパイルする、いわゆる
普通のコンパイラのほかにも、仮想的なマシンの機械語にコンパイルするという
種類のものが昔からありました。有名なところでは、JavaはJVMという仮想マシン
をターゲットにコンパイルされることが多く、WindowsやLinuxではそれぞれ自分
の環境で動くJVMを用意しています。古くは、PASCALでp-codeコンパイラという
ものがありました。これは pseudo code というものを出力するコンパイラで、
別途 p-codeを解釈するインタプリタを実際の各マシンで用意するという形に
なっていました。
これら伝統的なアセンブラやコンパイラのほかに、トランスレータというのかな、
別の言語処理系があります。つまり、ある言語を別の言語に変換する、というもの。
最初にBASMの話を聞いたとき、私はこれだと思ったんですよ。つまり、BASICの
ソースをバリバリの機械語にいきなり変換するのならコンパイラだけど、例えば
マクロを使いまくったアセンブラのソースに変換するのであれば、それはコンパイラ
でもアセンブラでもないよね、ということ。
これの有名なものにratforという言語があります。rational FORTRANということで、
構造化されたPascalっぽい構文のratforで書かれたプログラムをトラディショナルな
FORTRANに変換してくれるのです。ratforが最初に紹介されたときは、これはFORTRAN
の前処理、すなわちプリプロセッサであるという言い方をしていましたが、今では
プリプロセッサというのは単なる置き換え程度のみ行うものをさすようになっていて、
ratforのように構文解析して全く異なったものを出力するものに対しては使わない
用語となっているようです。

ということで、BASMの入力と出力がどうなっているか、ということに興味津々。
とはいえ、今日はもう寝る。

10387/10387 CRG00666  文太             BASM
( 1) 22/11/11 12:35 コメント数:4
https://www.bcxbasiccoders.com/

 このページの一番下に
Download BASM286 Here!
 というのがあります。僕はさっき落として、

------- demo01.bas -------  
cls
input "What is your name? ",a$
cls
do
  print "Hello there ";a$
  incr a
  if a=23 then
    exit loop
  end if
loop
-------------------------
 
 というのをdemo01.asmに変換したつもりなのだけど、
としきさんの質問にさらさら答えられるほど、basmにもbasicにも
asmにも通じていないことが(予想どおり)判明したので、リンク
だけ貼っておきます。

 そんなに長く話が続くような気はしていませんが、壮大な
スレッド(ツリー)が得意でないので、いちおう新規ツリーを
立てておきます。

 "Hello, world"より少し複雑だけど、"Hello there Bunta"と
23回 print してくれるプログラムですよね。
 (ここにはアセンブラもqbasicもない。そうだ、vtdosでusモード
ってどうやるのかも知らないんだ。コードページをいじるの?)

basm.$$$    6,868  2022-11-11  10:05
demo01.asm  4,235  2022-11-11  10:05

 これらの関係は何?
 あの見栄えでは、そのままアセンブルできないような……。
 簡略化なんとか、なのかな?




10388/10385 CRG00666  文太             Re: VZK07T01 の再公開
( 1) 22/11/11 12:36 10385へのコメント(konnoさん)
konnoさん

 ありがとうございます。
 今晩、落とさせていただきます。
 しかし、本気出すと、す、すごい検索能力ですね!
 僕について、僕の知らないことを知っている!


10389/10387 CRG00666  文太             TSR!!!
( 1) 22/11/11 13:19 10387へのコメント(文太さん)

 興味のある方は、
c:\basm\tsr\tsr.1
 とか見てみてください。たぶん、TSRの骨格部分。InDOS flagとか見てる……。
 ver check もちゃんとしてる。dos2 も dos3 も、それぞれに特殊なところがあるのね。
 いつの日か!

 なんかちょっと少し真面目に勉強する価値があるような気がしてきた、basic。
 続かないだろうけど。

 SideKickとかね、興味はあるのです。Norton Guidesとかも。1kbuf.comもね。
 忘れちゃいません。いつか使ってやろう。その前にEMSなんだけど。
 壊されないバッファは今でも欲しいのです。



10390/10387 CRG00666  文太             アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/11 16:12 10387へのコメント(文太さん) コメント数:2

#10386 から、ここに繋がります。

>ここだけ、ちょっと長くなるけど、解説。
 ありがとうございます。分かってない点が少し明確になったと思います。

>とはいえ、今日はもう寝る。
 いっぱい寝てください。いろいろあって、僕も職場の部屋で1時間ほど寝ました。
 少しはすっきりしたのかな?

>ということで、BASMの入力と出力がどうなっているか、ということに興味津々。
 どんどん興味が高まってきましたか。いいのか、悪いのか。
 ま、TSRまで作れるらしいので。
 で、コンパイラ兼トランスレータ(.bas -> .asm)なのかな?
 たしかにどっかに"compiler/compile"という単語があったみたいで、あれ?
 ま、BASM286.zipをDLしてください。

C:\BASM>tree
C:.
├─Help
├─Library
├─Sample1
├─Sample2
├─Sample3
└─Tsr

 全部英語ですが、大丈夫ですよ。demo01.basは、\Sample1から取りました。
 \basm に、basm.txtがあります。DeepLなんか使わなくても、キーワードだけ
拾っても読めると思う。

 さてさて。

>まず機械語というのはビットの羅列。
 了解。ま、16進数で表記すれば、少し省スペース。人間がふつう読めないのは同じ。

>すると次に、それをそのまま機械語に変換できるとうれしい。
 です。

>ということで、ニーモニックを機械語に変換するのがアセンブラ。
 了解。まだ大丈夫。

>とはいえ、基本的にニーモニックと機械語は1対1。
 です。

>そうではなく、変数に定数を代入する、というようなロジックでプログラムを書く
>のが高級言語。
 変数への代入? どういうことでしょう? アセンブラソースだって、変数への
代入はするでしょう? 何かロジックが根本において違う、ということだろうと
想像。

>そして、そのプログラムを複数の機械語に変換する、というのがコンパイラ。
 なぜ、としきさんはここで「複数の」と書いたのでしょう?
 想像が追いつきません。m(__)m

>また、コンパイラも、ターゲットのマシンの機械語にコンパイルする、いわゆる
>普通のコンパイラのほかにも、仮想的なマシンの機械語にコンパイルするという
>種類のものが昔からありました。

 ここからは、もうまったく。CPUにそもそもvirtualizationの仕組みが入っている
というのは、「分からん」「いつかね」とCPU本でスキップした箇所。
 いつの日にか、理解できるようになりたいと思います。

 こういう見た瞬間、「分からん」というものは、ただ10回読みます。
 だんだん分かってきます、といいな。
 10回、ゆっくり読みます。大事です。
 ありがとうございます。

>最初にBASMの話を聞いたとき、私はこれだと思ったんですよ。
 いちおう、これのはずなのですが。

>マクロを使いまくったアセンブラのソースに変換するのであれば、それはコンパイラ
>でもアセンブラでもないよね、ということ。
 ほぼこれのはずです。



10391/10387 CRG00666  文太             追記
( 1) 22/11/11 16:29 10390へのコメント(文太さん)

>マクロを使いまくったアセンブラのソースに変換するのであれば、それはコンパイラ
>でもアセンブラでもないよね、ということ。

; from demo01.asm

;**********************************************************************
;cls
;**********************************************************************
Call Cls
;**********************************************************************
;input "What is your name? " a$
;**********************************************************************
Mov SI,Offset $tring_01
Call PrintStr
Call KBInput
Mov SI,Offset $_0_
Mov DI,Offset A$
Call MoveStr
;**********************************************************************

 call先は探さないけど(libraryに入っているのかな?)、これは、
.bas -> .asm のトランスレータの仕事ですよね。



10392/10387 CXB00940  としき           Re: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/11 22:58 10390へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
#10387で紹介されたリンクからダウンロードしました。
まだ中を覗いてもいません。
が、#10391を見る限りでは、明らかに素のアセンブラ。
なぜここでアセンブラのソースにとどめて一気にマシン語にまで落とさなかったん
だろうという疑問はありますが、私にはわからない何らかのメリットはあるんで
しょう。FAQとかあれば、きちんと書いてありそうな疑問ではあります。

> >そうではなく、変数に定数を代入する、というようなロジックでプログラムを書く
> >のが高級言語。
>  変数への代入? どういうことでしょう? アセンブラソースだって、変数への
> 代入はするでしょう? 何かロジックが根本において違う、ということだろうと
> 想像。

眠くて端折ったところ、やっぱりわかりにくくなっていますね。
多くの場合、高級言語では、1つのコマンドまたはステートメントは複数の機械語
に変換されるのです。例えば、変数の代入の場合なら、変数はメモリ上のどこかの
領域に確保されているわけで、そのアドレスを計算してから、そこへの代入、と
いうコードに変換されるわけです。
この前提があるものですから、かつて、LSI-C86が、可能な限り変数をレジスタに
割り付けると知って、多くのプログラマが驚いたのです。レジスタなら、変数の
アドレスを計算するルーチンが丸々省略できて、場合によっては、高級言語の1つ
の代入が機械語の1つのコードに変換できるわけですから。
私の個人的な話をすると、昔、8ビットマシンでBASICのコードを機械語にハンド
アセンブルしていたとき。当時のZ80では、レジスタを使った値の受け渡しよりも
スタックを介した値の受け渡しのほうが早い場合が多かったのです。今のCPUが
どうなっているかは知りませんがね。なので、私のコードでは、スタックを使い
まくり。

ということで、

> >そして、そのプログラムを複数の機械語に変換する、というのがコンパイラ。
>  なぜ、としきさんはここで「複数の」と書いたのでしょう?

高級言語の1つのコードは、多くの場合、複数の機械語に変換されることが非常に
多いという現実があるわけです。もちろん、場合によっては、一つの機械語に変換
されるかもしれません。そして、仮に一つの機械語であっても、それは単なるcall
文に変換されて、変換先で複数のコードが実行される、ということになっている
かもしれません。

> >また、コンパイラも、ターゲットのマシンの機械語にコンパイルする、いわゆる
> >普通のコンパイラのほかにも、仮想的なマシンの機械語にコンパイルするという
> >種類のものが昔からありました。
>  ここからは、もうまったく。CPUにそもそもvirtualizationの仕組みが入っている
> というのは、「分からん」「いつかね」とCPU本でスキップした箇所。

CPUのvirtualizationとは、おそらく直接は関係ない。
まずは、クロスコンパイラ、という技術を知っていただくのがいいのかな。
多くの場合、コンパイラは、自分の動いているマシンのCPU用のコードを出力します。
これに対してクロスコンパイラは、別のマシン用のコードを出力します。
普通、このクロスコンパイラというやつは、現実に存在するマシンのコードを出力
します。でも、その気になれば、全く世の中に存在しないマシン用のコードを出力
するように設計することも可能なわけですよ。
自然言語で考えればわかりやすいかもしれません。
翻訳ソフトで、普通なら出力が英語。これが普通のコンパイラ。
クロスコンパイラなら、出力がフランス語。
でも、例えば、エスペラントを出力させることも可能。
あるいはそれこそ、仮想言語であるヴォイニッチ語を出力させる、とか。
この辺、私の説明がつたないので、自然言語との類推が難しいかもしれない。
疑問点があればおっしゃってください。
もうちょっと具体的に説明できるかもしれません。

> >最初にBASMの話を聞いたとき、私はこれだと思ったんですよ。
>  いちおう、これのはずなのですが。
>
> >マクロを使いまくったアセンブラのソースに変換するのであれば、それはコンパイラ
> >でもアセンブラでもないよね、ということ。
>  ほぼこれのはずです。

そうですね、なんとなくそんな感じです。
なかなか面白そうではあります。

10393/10387 CRG00666  文太             Re^2: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/12 00:46 10392へのコメント(としきさん) コメント数:2
 すいません、とりあえずの最初の一歩の問題への解答は以下のとおり。

BASM converts a BASIC-like language to 80286 Assembly Language Source Code   
which easily compiles using such widely available public domain tools as the 
Arrowsoft Assembler and the Freelink linker. 

Basic-like language(BASM言語=一般に出回ったBasicの弱力化版だろう)を
Asm Source Codeにコンバート。

BASM is a powerful 80286 assembly code generator.  Use it to create stand
alone programs using your assembler and linker. Or use the code to help
optimize routines in your favorite high level programming language.

"80286 assembly code generator"

 なぜ、アセンブルしてしまわないのか? そこまで持っていかないのか?
 optimizeできるから、なのでしょうかね? あるいは、高級言語のインライン・アセンブラ
の部分をBasicで書けるよ、なのかな。

 コンパイルとアセンブルの違い(と僕が思っていたこと)。
 .asmにしてアセンブルすると、.basをコンパイルするより、〈一般に〉速いものが
できあがる。
 しかし、これは「最適化」できるかによりけりで、〈一般に〉にそうとは限らない。
たぶん、大して変わらない。
 こんな風に理解しています。

 僕にとっては、どんなアセンブラ・ソースになるのか見えて楽しい、ぐらいですかね。

 TSRの骨組みは、全部アサム・コードです。あれに必要部分(?)をBasic言語で
つけ加えれば、常駐ソフトができてしまう! のかな? といったところです。
 どんなTSRが欲しいのか、あったら嬉しいのか、分かってませんが。
 ただ僕には、(ぜんぜん原理が違うのは分かってますが)stkhelpがほとんどそんな風に
見えています。原理的に常駐ソフトに似てるものがあるとすれば、それはVzモード型マクロ
なのでしょうが、たぶん。

 あと1点。としきさん、割とマクロ、マクロ(アセンブラの)と書かれていて、そう翻訳
されると想像するのが「順当」なのかな、と思っていましたが、プロシージャです。もっと単位が
上というか大きい? たぶん、そのほうが、BASM作者にとって楽なのかな?
 はい、関数は、ルーチンは、当然、多くの、複数のマシン語命令群に翻訳されているようでした。

CLS
 だって、マシン語で書けばvideo関係のbiosコールかな、などなど、大変です。

 エスペラントなどなど(仮想化)は、うーん、深いですねぇ。
 ただこのラインは本筋から大きくずれたかな、という気はしています。


 じつを言うと、僕が最初にみたBASMと、最終版は違うので、もうちょい地道に自分の辿ってきた道
と道具を再検証したいと思っています。あのbasm.exe + α(シェア1ウェア時代)が、見つからない
のです。

 あった!

c:\>tosfind /nbasm*.*		; 時間かかった! 5分
				; でも使い方や環境によりけりですが、僕は、tosfindの
				; バグに一度も出会ってないです。多謝。

from basm.doc

------------------------------------------------------------------------------------
BASM!  The BASIC to 80286 Assembly Language Compiler ShareWare
BASM translates a BASIC-like language to 80286 assembly language source.    
  The assembly language that BASM produces was designed and tested to compile 
  without modification using Borland's Turbo Assembler versions 1.01 & 3.2    
  and Microsoft's Macro Assembler version 4.00.                               
                        Try BASM free for 30 days...                          
      If you like it, please send $25.00 cash, check or money order to:       
------------------------------------------------------------------------------------

 そうなの? あれで、tasmで通るんだ。
 作者作成の .bas と .asm が直接比較できるファイル群が、ここにはありました。



10394/10387 CRG00666  文太             PrintStrプロシージャ(asm)
( 1) 22/11/12 01:12 10393へのコメント(文太さん)
としきさん、無理してお付き合いする必要なんて、まったくありませんからね。


 ほぼ意味がないし、これ、ish部屋に貼るのか? と思ったのは以下。
 断片です。
 意味なく長いのを貼って、ごめんなさい >konnoさん

---------------------------------------------
     Call Cls
;
;input "What is your name? " a$ 
;
     Mov  SI,Offset $tring_01
     Call PrintStr

<cut>
---------------------------------------------


---------------------------------------------
     PrintStr Proc Near
     Call Len
     Push AX
     Mov  CX,AX
     Cmp  CX,0
     Jle  PS_3
     Mov  BX,$Attr
     Mov  AX,$Ycur
     Mov  DI,$Xcur
     Push DS
     Push ES
     Dec  AX
     Dec  DI
     Cmp  DI,0
     Jg   PS_1
     Xor  DI,DI
PS_1:
     Mov  DX,80
     Mul  DX
     Add  DI,AX
     Shl  DI,1
     Mov  AX,0B000H
     Mov  ES,AX
     Mov  AH,0FH
     Int  10H
     Cmp  AL,07H
     Je   PS_2
     Mov  AX,0B800H
     Mov  ES,AX
PS_2:
     Cld
     Movsb
     Mov  ES:[DI],BL
     Inc  DI
     Loop PS_2
     Pop  ES
     Pop  DS
PS_3:
     Pop  AX
     Add  $Xcur,AX
     Ret
     PrintStr Endp
---------------------------------------------

 こんくらい長くなるし、このプロシージャ、別のプロシージャをcallしてるから、
1対1対応でアセンブルされる、本物のソースはもっと長くなりますね。



10395/10387 CXB00940  としき           Re^3: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/12 16:13 10393へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
だんだんわかってきました。
私の知りたかった一番の核心は

> from basm.doc

> BASM translates a BASIC-like language to 80286 assembly language source.    

ということで、やはり作者的には、コンパイラというよりトランスレータという扱い
のようですね。これで私の頭の中はかなりすっきり。した気がする。してないかも。
もしかすると、スッキリしていない頭でいろいろとあげつらった文章のせいで、逆に
文太さんを困惑させているような。

>  あるいは、高級言語のインライン・アセンブラ
> の部分をBasicで書けるよ、なのかな。

これは大きいかもしれない。
例えば、私の手がけたポケ3用のEMSドライバ、関谷さんの作られた200LX用の古い
バージョンの移植です。そしてこのドライバは、使用頻度の高いファンクション
しかサポートしていない。そこで、歯抜けの部分のファンクションを自力で作りたい
という思いはあって。そしてポケ3のCPUは80286。

>  コンパイルとアセンブルの違い(と僕が思っていたこと)。
>  .asmにしてアセンブルすると、.basをコンパイルするより、〈一般に〉速いものが
> できあがる。
>  しかし、これは「最適化」できるかによりけりで、〈一般に〉にそうとは限らない。
> たぶん、大して変わらない。
>  こんな風に理解しています。

理論的には「大して変わらない」かもしれない。
でも、世の中のコンパイラで、そんなにきちんと最適化できるものは少ない、という
現実もあって。
例えば、DOS3とかDOS5の時代、Turbo CとかQuick Cに比べるとLSI C-86は圧倒的に
最適化レベルが高かった、といわれています。それでも、LSI Cの出力を、手作業で
さらに最適化するような人々もいたらしい。ただ、その時代の職人の手仕事なんて
ほとんど伝説の域に達しているわけで、はたしてどこまで本当なのやら。

一応、多くのコンパイラは、その最終出力は実行ファイルです。
ただ、中間段階として、アセンブラソースをつくるものもあります。
LSI C-86はアセンブラソースを作ります。Delphiは作らないような気がする。
また、LSI C-86は同梱の専用アセンブラ用のソースを経由しますので、いろいろな
記述が、一般的なMASMやTASMと異なり、かなり癖がありました。当然、それらとの
互換性は皆無。とはいえ、ニーモニックは同一ですから、その部分だけを手作業で
MASMで移植、なんてことはよくやられていたようです。

>  としきさん、割とマクロ、マクロ(アセンブラの)と書かれていて、そう翻訳
> されると想像するのが「順当」なのかな、と思っていましたが、プロシージャです。

なるほど、ここも私がわかっていなくて想像していた部分でした。
例えば、分岐やループの構文。
最近のアセンブラならマクロで構築するじゃないですか。
なので、BASICをアセンブラに変換する場合、変換結果はマクロかな、と思っていた
のです。

>  エスペラントなどなど(仮想化)は、うーん、深いですねぇ。
>  ただこのラインは本筋から大きくずれたかな、という気はしています。

ずれまくりましたね。私のほうに誤解がありました。
ということで、以下、余談。
現在、一般に、CPUのvirtualizationというと、CPUで実行するソフトウェアの話。
ご存知だと思いますが、世の中にはシミュレーションゲームってありますよね。
アレって、仮想の世界で遊ぶソフトウェア。
同様に、CPUで、自分自身とか、全く別のCPUをソフトウェアとして動かす、という
ある意味で大技なのが、CPUのvirtualization。
ここで、「全く別のCPU」と言っていますが、たとえばこれ、現実には存在しない
架空のCPUであってもかまわない。その場合、当然、そのCPUで動く機械語は架空の
機械語になるわけです。つまり、現実とは距離を置いた言語。この意味で、まるで
人間の会話における自然言語に対する人工言語であるエスペラントのようだ、と
私は考えたわけです。

> 			; でも使い方や環境によりけりですが、僕は、tosfindの
> 			; バグに一度も出会ってないです。多謝。

私のほうが文太さんよりもtosfindの使用頻度が低いせいもあるのでしょう、私も
一度もバグに出会っていません。
ただ、ソースも公開されていますから、その気になればバグ取りできる人も多いと
思います。こういうところもオープンソースのいいところ。つまり、作者は逃げて
しまえるのですから。

10396/10387 CRG00666  文太             Re^4: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/12 21:53 10395へのコメント(としきさん) コメント数:1
としきさん

 今日は、ここだけで失礼します。

>>  としきさん、割とマクロ、マクロ(アセンブラの)と書かれていて、
>なるほど、ここも私がわかっていなくて想像していた部分でした。
>例えば、分岐やループの構文。

 なるほどぉ。いえ、としきさんが正解です、というか半々。マクロでは
ないが、プロシージャでもない。

 制御フローのことがすぐに頭に浮かぶんですね。この前の変数の話(メモリの
アドレス)とも似て、やはりとしきさんのほうが僕より、なんだろう、プログラミング
上、あるいはCPUとプログラムの関係上、正しい想像力をお持ちです、たぶん。
当たり前だけど。
 その方向で考えているのだろう、と僕には想像ができなかった、ということです。
 文脈を想像力で埋めることができなかった、という意味。

 で、マクロでなくプロシージャでもなく(後者でフローを作れるのか?) 
ベタなラベルジャンプ(最終的にはこれしかないから)が正解でした。

DoLoop_01:
;
;print "Hello there " a$ 		;これだけの命令が
;
     Mov  SI,Offset $tring_03		;ループなしでも
     Call PrintStr			;これだけのプロシージャ
     Call SetCursor			;を必要とする
     
     Mov  SI,Offset A$			;やるなら、高級言語だろう
     Call PrintStr			;あるいは
     Call SetCursor			;Vzマクロ。
     					;この感慨が面白くて
     Call DoCrLf			;BASMに興味を持ちました
;
;incr a 
;
     Inc  A
;
;if a = 23 then 
;
     Cmp  A,23
     Je   $+5
     Jmp  _EndIf_01
;
;exit loop 
;
     Jmp DoLoop_01A
;
;end if 
;
_EndIf_01:
;
;loop 
;
     Jmp DoLoop_01

DoLoop_01A:


>最近のアセンブラならマクロで構築するじゃないですか。
 僕は、最近のことはまったく知らないのですが、そうなのですか?
 c.mos流のあれをみて、そしてその原理をEmmettさんに教わって(@過去ログ)
最初にあれを考えた人(注)は何て頭がいいのだろう、と思いました。
 Cみたいな顔してるくせして、実はラベルを中で自動生成していた。

 ちなみに、上のようなプロシージャだらけの書き方を(この例はあまりよくない
かもしれないけど。たぶん他のやり方は醜すぎるから)、Jeff先生は強く強く
推奨していて(構造化)、「どうだ、アセンブラがパスカルみたいだろう」と
書かれていて、笑いました。
 まあね、と。
 で、僕は、よし、パスカルをやろう、と決心したという次第。その後、
1ミリも前進していないけど。

 JVM、たまたま出会いました。別発言で。

(注)とはいっても、〈マクロ〉アセンブラに内蔵されてると言ってもいいような
仕組みだから、アセンブラ作者自身でしょうね。MASMのドキュメントとかに書かれてる
のかなぁ? 「こんな使い方をすると賢いですよ」とか。



10397/10387 CRG00666  文太             JVM
( 1) 22/11/12 21:54 10387へのコメント(文太さん) コメント数:1

 #10386 後半に薄く繋がってます。
 ここに貼っておきます。

(2) Andrew S. Tanenbaum. _Structured Computer Organization_, 4th Edition. 1999, Prentice Hall.
 前のパラグラフの一節に対する脚注です。あ、嫌な人の名前が出てきた。彼の本をいっぱい捨てました。
 基本的なアイディアはここから来てる、という注釈。

The Java programming language is based on the virtual machine concept. A program
written in the Java language is translated by a Java compiler into Java byte code. The latter is a
low-level language that is quickly executed at run time by a program known as a Java virtual
machine (JVM). The JVM has been implemented on many different computer systems, making
Java programs relatively system-independent.

 としきさんだって、(分からないけど)、じっと見つめてれば、キーワードから何を言ってるか
分かると思う。
 ま、としきさんは中身を知っているわけだから、読む必要がそもそもないのだけど。

 上の文脈を少しだけつけ加えると、マシン語にはportabilityがない。IntelとMotorolaでは、
instruction setsが違うから。ただし、Javaは、どこに行っても、かなりのportabilityがある。
 え!? どうして? と思って、少しだけ読みました。

Assembly Language For Intel Based Computers By Kip R. Irvine
 という本でした。読んでませんよ、ときどき、e-textを整理したり整形したりしてるだけ
です。今回の出会いは、ほんとうの偶然。あるいは10回よんだ功徳。


 ふーん。でも、これ、関係ないし、僕は興味ないなぁ。Javaって、最近の最有力言語の一つ
なのでしょう。でも、僕は要らない。saki...さんがやってた。やってる。
 (どうでもいいことだけど、うちの学校では1年生必修の「プログラミング演習」でCをやってる
って。伝統的なままでとても宜しい、という感想を持ちました。すごい偏見みたい)

 ま、だいたい話の方向性は見えました。でもでも、、、。
 Tanenbaum先生の思い出に通じる。

 アセンブラ、コンパイラ、トランスレータ、インタープリタ。大きな分類ですね。そして、それら
の関係。すごい抽象論。上の引用箇所の前には、VM0, VM1, VM2とか出てくる。Virtual Machine 0, 1, 2。
はあ、はあ、はあ、みたいな感じでした。



10398/10387 CXB00940  としき           Re^5: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/12 23:09 10396へのコメント(文太さん) コメント数:2
参照先:http://toshiki.la.coocan.jp/
タネンバウム先生は、高名な学者だということは存じております。
でも、和訳された先生の著作をまじめに読んだことは、たぶんない。

> >最近のアセンブラならマクロで構築するじゃないですか。
>  僕は、最近のことはまったく知らないのですが、そうなのですか?

最近の話ではないかもしれない。
もう20世紀のうちから、アセンブラではマクロがビシバシ使われていたと思う。
optasmとかtasmとか、MASMとは互換性がないよ、といわれていた部分はおそらく
ほとんどマクロの部分だと思う。それらを使ったことがないので自信はないけど。

で、まぁ、そういった部分のほとんどはおそらく、いわゆる構造化という考え方
に繋がってくる部分だと思う。つまり、分岐とかループ、ということ。ところで、
先日、書名を出した「ソフトウェア作法」とか「プログラム書法」といった、今
では古典とされる書物がどんなことを書いていたかというと、言語仕様が構造化
されていないFORTRANでも構造化に気を配ったプログラムを書くことができますよ、
ということ。そして、それをさらに敷衍して、当時の(マクロのない)アセンブラ
でも構造化することは可能、ということでした。
ただ、正直、小さいプログラムを力任せに書くのなら、構造化だのなんだのって
はっきり言って不要。だけど、ちょっと大きいプログラムを書こうと思ったら、
構造化は必須。これがあるのとないのとで、開発効率は全く違う。
さて、80年代前半、8ビットパソコンの全盛期。BASICユーザ花盛り。
このころ、マシンはどんどん強力になり、大きいプログラムを書けるようになった。
だけど、それこそ、ソフトウェア工学なんて言葉も知らない小中学生がゲームを
つくる時代。例えば、面白いゲーム、すなわち大きなプログラムをバグを少なく、
かつ早く完成させるにはどうすればよいか、という問題がじわじわと出てきました。
また、いろいろな職場にも、とりあえず導入されたパソコンをどう使うか、という
問題も発生。
ここで求められたのが、BASICでの構造化。
そんな中で登場したのが、ソフトバンク刊「Oh!PC」に掲載された林晴比古氏の記事。
その後、単行本にまとめられて「BASICによるプログラミングスタイルブック」と
して出版されました。私も持っています。
ちょっと癖がある文体で、それに拒否反応を示す人もいます。
ただ、内容については、反論した人がおおむね玉砕するくらいの王道。
おそらく、この本または雑誌の記事で初めて構造化ということを知ったという人も、
当時のパソコン少年では多いかもしれません。

あぁ、また昔話で終わってしまった。
これだけはっきり症状が出ているということは、老化が進んでいるのでしょう。
ま、いいか。
#いいのか?

10399/10387 CXB00940  としき           Re: JVM
( 1) 22/11/12 23:23 10397へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  ま、としきさんは中身を知っているわけだから、読む必要がそもそもないのだけど。

おおむね、知っている単語ばかりなので、だいだい読めました。
ま、ポータビリティは重要です。
例えば、自分でウェブサーバを立てているとか、あるいはレンタルでもいいので
ウェブサイトを持っているという人ならJavaScriptで何かをできるでしょう。
でも、そうではないけど何かアプリを作りたい、といった場合。
自分の手元だけで動くアプリなら、自分の手元の環境と言語でOK。
あるいは、Windows上なら、例えばExcelのVBAという選択肢もある。
でも、ターゲット環境がWindowsだけではない場合。
あるいは、WindowsだけどExcelがない場合。
そういう場合に現場の人間が次に検討する言語はJava。
実際、私、知りもしないJavaで何とかしようか、思案中。
業務システムなんですが、セキュリティの関係で、通常の車内網と独立しているん
ですよ。だからインターネットにも繋がらない。Excelが入っているかどうかも不明。
なにせ、メモ帳すらプロテクトがかかっていて、任意に起動できない。業務システム
からなら起動は可能なんで、存在は確認できるのですがね。
こういう環境でも、Javaは存在している。
となると、なんか遊ぼうと思ったら、必然的にJavaは必須。

ま、必要に迫られたら勉強しましょう。

10400/10387 CRG00666  文太             Re^2: JVM
( 1) 22/11/13 00:16 10399へのコメント(としきさん) コメント数:1
車内網 → 社内網  ;あるいは術語?

ま、必要には迫られないでしょう。そのような人生は生きないと思います。


10401/10387 CRG00666  文太             Re^6: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/13 00:17 10398へのコメント(としきさん) コメント数:1
>あぁ、また昔話で終わってしまった。
 面白かったですよ。
 昔話以外の何かを伝えたかったのですか?

 僕が理解したのは、Basic のリファレンスのたぐいで、「構造化」って連呼
されてたのは、そういう背景なのか、ということ。
 Vzマクロから入門しそれしか知らない人は、&00 とかなかったら、jimae buffer
はどうするんですか? ぐらいなんですよね。

 たぶん一生わからないんだろうな、と思うのは、そのゲームへの熱中。
 ギャラクシアンで少し興奮したのかなぁ?


10402/10387 CRG00666  文太             Re^6: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/13 00:31 10398へのコメント(としきさん) コメント数:1
>先日、書名を出した「ソフトウェア作法」とか「プログラム書法」といった、今
>では古典とされる書物がどんなことを書いていたかというと、言語仕様が構造化
>されていないFORTRANでも構造化に気を配ったプログラムを書くことができますよ、
>ということ。そして、それをさらに敷衍して、当時の(マクロのない)アセンブラ
>でも構造化することは可能、ということでした。

 ありがとうございます。そして、五月雨でごめんなさい。
 なるほど! いいことを聞きました。では『ソフトウェア作法』は捨てることに
いたしましょう。コロナ渦の2年で、蔵書10分の1は捨てました。財産を捨てなさい
運動、実行中。
 『ソフトウェア作法』の原書のpdf、どっかで見ました。
 要らない。
 焦点をしぼろう。



10403/10387 CXB00940  としき           Re^3: JVM
( 1) 22/11/13 00:53 10400へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 車内網 → 社内網  ;あるいは術語?

述語ではありません。単なる誤字です。
いかん、アルコールが回っておる。
つ〜か、IMEがへんな学習をしている模様。
この上の2行も、第2順位の単語で確定したからいいものの、最初に候補に出てきた
単語は

術後ではありません。単なる護持です。
遺憾、アルコールが回っておる。

となっていた。一体どうなっているんだろう。

10404/10387 CXB00940  としき           Re^7: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/13 01:01 10402へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  なるほど! いいことを聞きました。では『ソフトウェア作法』は捨てることに
> いたしましょう。コロナ渦の2年で、蔵書10分の1は捨てました。

ターゲットとしている言語がFORTRANだから、という理由で捨てるのなら大いに賛同
できます。ただ、この本で取り上げている内容って、文字列処理が多いのですよ。
もちろん、全てではありませんけどね。そういう理由もあって、私、この本の和訳本
を持っていますが、古典だから、という理由を除外しても、なかなか捨てる度胸は
ありません。

10405/10387 CXB00940  としき           Re^7: アセンブラ&コンパイラ、きっと NOT (neg?)
( 1) 22/11/13 01:30 10401へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  昔話以外の何かを伝えたかったのですか?

そうか、そういわれれば、それ以外の何者でもない。
あのコメントを書き出すときは、構造化の由来、みたいなことを考えていたのだと
思うのですが、そもそもそれは昔話でしかないわけで。
なんてこった。

>  たぶん一生わからないんだろうな、と思うのは、そのゲームへの熱中。

ゲームで遊ぶほうもそうですが。
ゲームを作るほうの熱気もすごかった。
そもそも、ゲーム以外(ビジネス用途)にまともに使えるマシンは、シャープの
MZシリーズとNECのPC-80/88/98シリーズの他は、日立のベーシックマスター
と、あとは富士通のFM−8ぐらいだったような記憶がある。その他、沖のif800
はビジネス向けがメインだったけど。
パソコン雑誌のほうもそう。
ベーマガはゲームのプログラムリストがメイン。4大誌も毎月ゲームのプログラム
が大量に掲載されていた。ゲーム以外の記事も一応は載っていたけど、I/Oなんかは
特に、ゲームとゲーム用ツールの記事ばかりだったような記憶がある。RAMは
ほとんど読んでいなかったから知らないけど、アスキーとマイコンは一応、ゲーム
以外の記事もそれなりに掲載されていた。とはいえ、ビジネス向けの記事というと、
やはりソフトバンクのOh!シリーズのほうが多かったような気がする。

ま、でも、それが当時のその界隈での現実ですからねぇ。

10406/10387 CRG00666  文太             大門未知子
( 1) 22/11/13 13:03 10403へのコメント(としきさん)
 かなり受けましたよ。アルコール、まだまだ足りなかったようです。
 頭が回ってる。

>つ〜か、IMEがへんな学習をしている模様。
 社内網 あ、ダメだ、正しくなってしまっている。昨晩は、車内が最初に
出ました。初期設定なのかな?

>術後ではありません。単なる護持です。
 複数候補をそなえた機械なので、その気になればやれるわけですが、なぜか、
これ、すごく受けた。別の候補では、ここまで笑えない。
 大門未知子が病室で憲法論議をしてるイメージがすぐ浮かんで、あう? あう? 
あう? くくくく、お腹が痛い、となりました。



10407/10387 CRG00666  文太             構造化
( 1) 22/11/13 13:49 10404へのコメント(としきさん) コメント数:2


>ただ、この本で取り上げている内容って、文字列処理が多いのですよ。
 いいこと聞いた、ふたたび。ありがとうございます!
 そうなんだ、じゃあ、念のため、取っておくかぁ。この本は、本棚の
どこにあるか分からないなぁ、1冊すてるのに、探し回るのは嫌だな、とも
思ってました。(注)

 それより、(『作法』は捨てないほうが良い理由になる? )、「構造化」で
としきさんは、フロー制御−−ループと分岐−−がその代表みたいに書かれて
きましたよね。loopとif ... else。前者をラベルジャンプで、後者をelseなしの
if ... then の羅列で作ったとき、それは「構造的」でないのですかね?
 loop & if_elseがより高度に構造的だとは言えると思うけれど。

 僕は、ちゃんと勉強したことがまったくないわけですが、サブルーチンcallが
構造化の代表格(もっとも分かりやすいサンプル)なんじゃないかと思ってる
のですが。

 行番号ジャンプ(basicにしろsedにしろVzにしろ)は、究極のGOTOみたいで
繰り返し使えばやがてスパゲになる、とは思うのだけど、ループと分岐(case文
も含む)が、、、それほど、、、な気持ちもなくはなく、、、、。
 もはや大きなプログラムを書くことはなかろう(blogjump.defが最長)という
感覚もあるから、こんな風に考えるのだろうとも思うのですが。

 ごくごく簡単な回答で構いません。一言、一語、一発でお願いできませんでしょうか。
 『作法』を読め。え?


(注)−−(注)にならないと思うけど。「文字列処理」の考え方がけっこう
一般性が高そうな事実と、問題解決思考っぽいのと、プログラミング計算が実生活
に役立ったサンプルを超手短に披露−−疲労とか出ます、当然−−。

 充電したリチウムが15本ありました。この中から容量が一番多いもの1本だけ
選べ(アルコールが入って眠れず疲れ切った昨晩の状態でのタスク)。手は2本で、
15本のリチウムを同時には持てず、中腰の姿勢。十分な作業空間なく床に並べること
すらできない。頭と目で計算してタスクをこなすしかない。でも、はやくこの仕事を
片付けたい!
 ソート! 全体を2つのグループに分けよ。1つのグループに最大容量のリチウム
1本だけを残す。1本グループには指を載せておくだけ。総当り戦。

 オチは、今日、空間のじゅうぶんある隣の部屋の机の上で、14本も全部容量順に
並べたこと。最初からこのタスクも頭にあったから、即座問題解決のソート戦略が
嬉しかった。
 はやく寝ればいいんだよ。



10408/10387 CRG00666  文太             ゲーム&ビジネス
( 1) 22/11/13 14:06 10405へのコメント(としきさん) コメント数:1

>>昔話以外の何かを伝えたかったのですか?
>そうか、そういわれれば、それ以外の何者でもない。
 すいません、僕が現在、昔を生きているのが異常なわけですが、でも、だからこそ
昔話こそが(Javaはよろし)面白いのです。

>構造化の由来、みたいなことを考えていたのだと
 是非、是非、是非!!!

>ゲームで遊ぶほうもそうですが。
>ゲームを作るほうの熱気もすごかった。
 これなら、僕にも想像がつく。僕にとっては機械相手に遊んでる、みたいな
感覚だった。そうそう。このゲーム、どう出来上がってるか、どういう仕組みで
動いているのか? と気にすることができる人たちがいるんだ、と考えたことが
ありました。
 僕的語彙には、作者との共鳴みたいなものですね。

>そもそも、ゲーム以外(ビジネス用途)にまともに使えるマシンは、シャープの
>MZシリーズとNECのPC-80/88/98シリーズの他は、日立のベーシックマスター
>と、あとは富士通のFM−8ぐらいだったような記憶がある。その他、沖のif800
>はビジネス向けがメインだったけど。
 ゲームとエロビデオがある種のITを商業的に後押しした、とは聞きます。
 ただIBM機がPCブームを巻き起こしたのは(個人の)ビジネスを射程に
収めたから、というより、そっちがメインターゲットだったから、とも聞きます。
 へぇ、というだけなのだけど、上の商標名(固有名詞)3回ぐらい眺めておきます。
 「日立のベーシックマスター」、c.mosさんが所有されていました。
 日立はなぜPC市場を早期撤退したのだろう? もっと大きいのが儲かった?

>パソコン雑誌のほうもそう。
>ベーマガはゲームのプログラムリストがメイン。
 手で打ち込んでいたんですよね。根性あるなぁ。でも、経典の写経のように
聖的体験だったんだろうなぁ。


10409/10409 BQO00549  konno            VZk07t02 テスト版
( 1) 22/11/13 17:07 コメント数:3
VZk07t02 テスト版を「自作、改作アプリの放置部屋」に置きました。


  ・vzk07t01 をベースに [ESC]i ファイル挿入時のVZの不具合を修正してみたテスト版です
  ・VTDOS でのラップアラウンドエラーを回避しています。
  ・テストデータでしか検証していないので、ファイル内容が壊れる可能性があります。
  ・BL1024*3 だとファイル内容が壊れます。(全てのVZで起こるバグなのでこの設定は危険)
  ・詳細は掲示板を読んでください。不具合を見つけたら掲示板に報告願います
  ・VZ高橋版からの差分ファイルになっています。

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


10410/10387 CRG00666  文太             Re: 構造化
( 1) 22/11/13 23:36 10407へのコメント(文太さん)
としきさん、

 深く悩んではいないと思うけど、「こいつに何を言って意味があるんだ?」とか
悩まないでくださいね。
 以下で解決しました。

「最初に学ぶべき構造化プログラミング、大きな問題を分割して解決」
https://active.nikkeibp.co.jp/atclact/active/17/060100293/060800002/

 パスカルはやるけど、そんなに大きなプログラムを書く予定はないので、Vzマクロの
経験の延長でやれるところまでやる。
 完全にスパゲったら、「やり直しだぁ、26回目」みたいにやります。

 アセンブラは、やっぱり、どれだけcallばっかりで効率悪くても(気にしません)、
短く刻んでプロシージャにする(もぐらさんからの教訓)=アセンブラをパスカルにせよ
の家訓のもと、がんばります。

 何をやっていたかは明かしませんが、以下のような「集中すれば10分だよ」なマクロを
書いていて、ふと考えました。「構造化」をググれ、と。
 そして、この程度なら「順次」でよろし、という結論を得ました。

 「古典」。別発言であげますね。

i-,

#k #i			; duplicate line
#> #d			; next line

(cd=='\')? #g  ? >z		; delete regex header
(cd=='x')? #g  ? >z
(cd==' ')? #g  ? >z

:a
(-1){ (cd=='\') #d ?{} } 
(cd=='(')?  { i++, #h#g "\1" } ? >a


:b

:z	.


10411/10387 CRG00666  文太             古典
( 1) 22/11/13 23:38 10387へのコメント(文太さん) コメント数:1
ブライアン・カーニハン
https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%BB%E3%82%AB%E3%83%BC%E3%83%8B%E3%83%8F%E3%83%B3

『プログラム書法』(_The Elements of Programming Style_)1974
by Brian W. Kernighan and P. J. Plauger
https://en.wikipedia.org/wiki/The_Elements_of_Programming_Style
----- Fortran etc .... ムリ。しかし「文字列処理」

『ソフトウェア作法』(_Software Tools_)1976
by Brian W. Kernighan, P. J. Plauger
----- Ratfor, Cobol, Fortran, Algol etc .... ムリ。しかし、、、。

『パスカル・ソフトウェア作法?』(_Software Tools in Pascal_)1981
by Brian W. Kernighan, P. J. Plauger
----- Pascal!!! 読めないと思うけど。「これらプログラムは実用的・
実践的なのじゃ」と序文にあった。

『プログラミング言語AWK?』(_The AWK Programing Language_)1988
----- これですら、世の中にはもっと分かりやすいtutorialがある、と思った。

『プログラミング作法』(_The Practice of Programming_)1999
by Brian W. Kernighan and Rob Pike
https://en.wikipedia.org/wiki/The_Practice_of_Programming
----- C, C++, C#, Java, Pascal etc .... たぶんムリ。新しすぎ!

 上記5点、すべてpdfで入手可能。ただし、原書=英語。



10412/10409 CRG00666  文太             Re: VZk07t02 テスト版
( 1) 22/11/13 23:55 10409へのコメント(konnoさん) コメント数:1
konnoさん

 すいませんね。vz.comのアップデートって、緊張しちゃうんですよ。
 ミスっても、やり直し方、いくらでもあるのに。
 高橋版はどこ? と。
 T01 のアップデートすらまだなのです。いえ、じつは、T01かT1かで、最初にとまどい……。
 VzかVzかでも、とまどい。

 はい、こちらが来ると思っていました。ベースはT01です、と。
 え、pcズレ、いまごろ、、、とかなってました。
 ほんとにそうだったかの検証の途中(バリナリ・チェック? fc?)で、もっと落ち着いた
心でやろう、とか、逃げてしまって。
 1週間以内に追いつきます、追いつきたいです。

 15本のリチウムの整理に入る前に、まず作業空間を作るべきじゃないのか? という無限
ループに入る奴です。すいません。なかなか2分岐にもっていくのも大変です。どんどん上がって
いくじゃん、問題解決さん、な感じです。
 しかしこの上がるプロセスも、ちゃんとオーバーヘッドじゃないか、callじゃないか、マクロ
にできないか、とかとか。
 ここが最後で最高度な2分岐だ! というのも、後になって、よかった、ほんとだった、と分かる
「命がけの飛躍」なんじゃないかと思います。

 日はまた昇る。聖書でも読んで寝よう、ウソ。
 プログラミングには、適度な緊張感があるべきだ。

 言い訳でした。m(__)m



10413/10409 CXB00940  としき           Re: VZk07t02 テスト版
( 1) 22/11/14 00:20 10409へのコメント(konnoさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> VZk07t02 テスト版を「自作、改作アプリの放置部屋」に置きました。

ありがとうございます。これからダウンします。

>   ・BL1024*3 だとファイル内容が壊れます。(全てのVZで起こるバグなのでこの設定は危険)

何でこんな不具合が残ったのか、原作者は気がつかなかったのか、という点が本当に
不思議。

実際にパッチを当てて動作試験ができるのは、おそらく、今週の木曜日以降になって
しまう予定。当面、便りがないのは良い便り、と思い込んでおいてください。

10414/10409 BQO00549  konno            Re^2: VZk07t02 テスト版
( 1) 22/11/14 00:57 10412へのコメント(文太さん) コメント数:1
文太さん、としきさん、落としていただきありがとうございます。

>  はい、こちらが来ると思っていました。ベースはT01です、と。
>  え、pcズレ、いまごろ、、、とかなってました。
>  ほんとにそうだったかの検証の途中(バリナリ・チェック? fc?)で、もっと落ち着いた
> 心でやろう、とか、逃げてしまって。

え? T01 は文太さんがお使いのVZとバイナルレベルで同じじゃないんですか?
PCズレは無いはずなんですが。
FC /b Vza.com Vzb.com
で確認できますよね。
文太さんがお使いのVZの日付とファイルサイズを教えてもらえますか。
別にそれが無くてもテストはできますが。
もしかして公開版が T1 だったからそれに合わせてほしいとかですかね。

まあ、どうせテスト版なのでゆっくりやりましょう。お互いに。(^^;


10415/10409 CRG00666  文太             Re^3: VZk07t02 テスト版
( 1) 22/11/14 01:12 10414へのコメント(konnoさん) コメント数:1
konnoさん

 甘えさせてください。

>文太さんがお使いのVZの日付とファイルサイズを教えてもらえますか。

vz.com 62,184 2018-10-17 19:11
 です。


10416/10387 CXB00940  としき           Re: ゲーム&ビジネス
( 1) 22/11/14 01:36 10408へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> >構造化の由来、みたいなことを考えていたのだと
>  是非、是非、是非!!!

ここ、まじめに書こうとすると、私の生まれる前まで遡ることになるわけです。
それでいて、きちんとした参考文献はあまり持ってない。
記憶で書くと、ソフトウェアの生産性が全然上がっていないね、というのが出発点。
そして、ソフトウェア工学なる学問が出来上がってきた。
これの中身もいろいろあって、例えば、コンパイラの最適化をどうするか、なんて
いうのも論点の一つ。そして、いかにバグの少ないソースコードを書くか、という
ことも論じられるようになった。
この当時、プログラムは「順次」「反復」「分岐」 *だけ* で書ける、という説が
出てきたのだけど、当初、その主張があまりにも強すぎて、当時の感覚では過激派
と思われるくらいだったらしい。
そして実際、その3つで大抵のロジックは書けるわけだけど、やっぱりエラー処理
とかまでその3つだけで書こうとするとえらく冗長になるわけで、まぁそんなに
理屈どおりにはいかないわけですよ。ただ、それらの反論は例外的な事象にばかり
焦点を当てたものがほとんど。普通のプログラムであれば、その3つだけで書ける
よね、というところに収束し、今ではソフトウェア初級レベル。今ではもしかすると
普通科高校でやってる「情報」のカリキュラムにも入っているかもしれない。
あとは、トップダウンアプローチとか段階的詳細化とか、用語はいろいろあるけど、
難しいことは解きほぐして解決しましょう、というのは現実世界も同じ。

あ、そうだ、もうひとつ。
ソフトウェア工学って、どうやればバグの少ないプログラムを書けるか、という
ことも扱っています。これって、航空機工学で、どうやればパイロットが操縦の
ミスを少なくできるか、というのと同じようなもの。例えば、あるメーターとか
スイッチとか、操縦士と副操縦士の両方に1つずつ設けるのか、それとも真ん中に
1個だけにするのか、というのを考えるのは立派な考察対象。
ソフトウェア工学にも似たようなことがあります。
たとえば、ループの範囲は直感的にわかったほうがいい、という出発点に立った
とします。まずその前提の当否が議論されて、うんそうだね、と概ねのコンセンサス
が取れた。すると次に、ではどうやってループ範囲を強調するか、という話になる。
プログラムリストをぱっと見てわかるためには、そうだ、字下げを使おう、となる。
ここでまた、部外者からみるとつまらないとしか思えない議論が始まる。すなわち、
字下げは何文字がいいのか、という話。字下げが1文字だけだとループ範囲はよく
わからない、10文字も下げたら多重ループの場合にどうなる、みたいな話を昔の
人は大真面目にやっていたらしい。ただ、これってきっと、心理学とか認知科学の
領域の話ですよね。

余談。航空機工学の話。
昔、80年ぐらい前の話かなぁ、米軍機で事故が多かった。これはコックピットが
狭すぎる、もしくは広すぎて手が届かないせいでパイロットが素早い動作ができない
ためではないかと考えた人がいた。そこで何をやったかというと、数千人だかの
パイロットの身体測定を行い、平均値の身体寸法の人に適したコックピットのサイズ
にしよう、という話になった。ところが、実際に測定を行い平均値を求めた結果、
数千人の中にその平均値ぴたりの人が一人もいなかったとか。あらまぁ。

>  日立はなぜPC市場を早期撤退したのだろう? もっと大きいのが儲かった?

ん〜、単に儲からなかったから、なんでしょうね。
ベーシックマスターはそれなりに売れていたけど、後継のS1は、売れたという話
を聞いたことがない。
とはいえ、プリウスって言ったっけ、ノートパソコンは出していましたよね。

10417/10387 CXB00940  としき           Re: 構造化
( 1) 22/11/14 01:36 10407へのコメント(文太さん) コメント数:2
参照先:http://toshiki.la.coocan.jp/
「書法」のほうは、サンプルがPL/Iだったりするので、さすがに古すぎるという
判断で、私は図書館で借りて読むだけで終わらせました。「作法」のほうは購入
しましたが、買っただけの価値はあったと思っています。

>  そうなんだ、じゃあ、念のため、取っておくかぁ。この本は、本棚の
> どこにあるか分からないなぁ、1冊すてるのに、探し回るのは嫌だな、とも

本棚に隠れているのって、英語の原書ですか?それとも和訳?
手元の和訳本をチラッと読み返してみたのですが、古典といわれるだけあって、
使われている用語の選択がかなり古いというか、現在から見ると、違和感バリバリ。
私が読んだのは訳されてから10年たっていない時代でしたが、既に軽く違和感を
感じるくらいでしたから、この業界、新しい概念とか用語とかの変化のスピードの
ほどが知れる、という感じ。
ただ、用語の選択以外はなかなかこなれた訳で、私には読みやすかった。

なお、もし原書を読めるようなら、ざっと目次を眺めてみてください。
文太さんの興味を引きそうな項目が並んでいることと思います。
あと、訳書の場合、まえがき、目次、序論、1章、という順番で並んでいます。
原書でどういう並びになっているかわかりませんが、訳書で言うところの序論の
最初の5パラグラフほどを読んでいただくと、その先を読みすすめるべきか判断
できると思います。

>  ごくごく簡単な回答で構いません。一言、一語、一発でお願いできませんでしょうか。

残念ながら、私には一言で述べる言葉は持ち合わせておりません。
ただ、おそらく、そういうことを述べた一言って、わかっている人にはわかるけど、
わからない人には全くわからない一言になるような気がします。
「光あれ!」とか「悔い改めよ」とかって感じで。

>  充電したリチウムが15本ありました。この中から容量が一番多いもの1本だけ
> 選べ(アルコールが入って眠れず疲れ切った昨晩の状態でのタスク)。手は2本で、

職場の電池捨て場に捨てられていた謎のバッテリーパック。
パッケージに書かれていたメーカー名は聞いたこともない。
調べたところ、どうやら懐中電灯をメインに扱っているメーカーらしい。
殻割りしてみたところ、18650が2本。
私は要らないなぁ。差し上げましょうか?
それはさておき。
容量の一番多いものを特定する方法って、どうやっているのですか?
測定?パッケージの印字?

>  ソート! 全体を2つのグループに分けよ。1つのグループに最大容量のリチウム
> 1本だけを残す。1本グループには指を載せておくだけ。総当り戦。

なんか、クイックソートのアルゴリズムみたい。


10418/10409 BQO00549  konno            Re^4: VZk07t02 テスト版
( 1) 22/11/14 02:23 10415へのコメント(文太さん) コメント数:1
> vz.com  62,184  2018-10-17  19:11
>  です。

それなら今回再公開した VZk07t01 とバイナリレベルでも同じはずです。
テスト版はそれがベースになっています。


10419/10409 CRG00666  文太             Re^5: VZk07t02 テスト版
( 1) 22/11/14 10:25 10418へのコメント(konnoさん)
 お手数をおかけいたしました。
 ありがとうございます。

10420/10387 CRG00666  文太             Index of _Software Tools_ (1976) by Kernighan & Plauger
( 1) 22/11/14 20:56 10417へのコメント(としきさん)
としきさん

 おそらく、捨てたくても持ってないものは捨てられない、という現実。
 しかし、台湾の出版社から出たと思しい _Software Tools_ が
見つかりました。(謎)

    CONTENTS

Preface
Introduction 				1
1. Getting Started 			7
2. Filters 				35
3. Files 				67
4. Sorting 				105
5. Text Patterns 			135
6. Editing 				163
7. Formatting 				219
8. Macro Processing 			251
9. A Ratfor-Fortran Translator 		285

 おお、そう、いい感じ。読めるか分からない、というか、読めない! 
難しすぎ! つまんないからたまにはギャグぐらい入れて、という罰当たり
なことになりそうな気もしますが、そのうちに、とりあえず字を追ってみます。
多謝。m(__)m


>訳書の場合、まえがき、目次、序論、1章、という順番で並んでいます。
 たぶん同じです。こういう「偉い」本のばあい、チャラチャラした商業出版と
違い、訳者も出版社も、怖くてそういじれません。翻訳権取得時につくられる
契約書にその旨書いてあるばあいも多いです。「改変しないこと。原著のまま
訳出のこと」と。
 1章は「はじめに」ぐらい? 僕でも「さあ、始めてみよう」とは訳せないと
思う。格式みたいなものの演出。



10421/10387 CRG00666  文太             18650
( 1) 22/11/14 21:05 10417へのコメント(としきさん)
>私は要らないなぁ。差し上げましょうか?
 ま、財産としてとっておき、遊ぼうとしてみてください。
 3.2V-4.2Vで、500mA以下ぐらいで充電。

>容量の一番多いものを特定する方法って、どうやっているのですか?
>測定?パッケージの印字?
 測定です。中古なので劣化していますから。Opus, BT-C3100というものを使っています。
全部測定、容量記入、ソート。
 1本(20本まで同じ)あたり、2時間(満充電まで)+4時間(完全放電)+2時間
(保管用充電)。計8時間ぐらいかかります。初回時のメンテ&健康チェックです。
 ものすごい本数を所有することになってしまっています。

 光あれ!(笑)



10422/10387 CRG00666  文太             Programming Style
( 1) 22/11/14 21:21 10416へのコメント(としきさん) コメント数:1
>10文字も下げたら多重ループの場合にどうなる、みたいな話を昔の
>人は大真面目にやっていたらしい。
 けっきょく趣味と慣れの問題ではないかと思いますが……。
 たしかに、c.mos流に慣れると(読んでません、眺めてます)、もぐらさんも
BASM出力ソースも小文字変換したくなりますが、「慣れよ、いろんな書き方がある」
となってます。
 Basic, Pascalも、case-insensitiveだけど、あるパスカル本は、これが規範じゃ
と言ってましたね。WriteLnとか。ま、これでいく? とか。

 Priusって、日立だっけ? このXPノートPCがどうしても見つからないん
ですよねぇ。EMSが取れるマシンだったので、さんざん迷ったうえで立川で買った
のに。どこ行ったんだろう? cmos電池があがってるよ、ぜったい。としきさんが
知るわけないだろ!

 数学の中間テスト。平均点は53.5点でした。53.5点だった人はいるわけないですよね。



10423/10409 DGF01024  めざら           Re: VZk07t02 テスト版
( 1) 22/11/18 13:05 10409へのコメント(konnoさん) コメント数:1
参照先:http://mezala.la.coocan.jp/
以前(k07t01)で発生していた挿入不具合(としきファイル0007.cgi/0007.cg)は
発生しませんでした。製品版[ESC]I(ek-),自作[ESC]I(ek+) とも正常でした。

ただ,ファイラや1行ウィンドウの背景になる文字化けが厳しいです。
http://mezala.la.coocan.jp/upload/file/39.jpg

この文字化けは環境によるのでしたっけ?
環境はckwv/vtdosです。

今月はじめにメインPCを更新したので,まだ環境が整っていない可能性もあります。
ちとあやふやで申し訳ないですが,とりあえず報告です。

10424/10387 CRG00666  文太             _ST in Pascal_ (1981)
( 1) 22/11/18 13:07 10411へのコメント(文太さん) コメント数:1
_Software Tools_ was originally published in 1976 with the programs written in 
Ratfor, a language based on Fortran. Ratfor was implemented as a preprocessor;
it provided Fortran with modern control flow statements like if-else and
while, and some cosmetic improvements like symbolic constants and free-form
input. The approach and the tools have proved sufficiently useful that many
copies of them have been distributed, and there is a large, active user group.

Pascal is now the dominant teaching language for computer science courses,
and is becoming widely used outside of universities as well. We feel that the
lessons about the design and implementation of tools from the original book
carry over intact to Pascal. Thus _Software Tools in Pascal_ has a great deal of
overlap with the Ratfor original. The same programs are present, except that
there is no preprocessor chapter, since Pascal provides most of the sensible control
flow and cosmetic improvements that Ratfor adds to Fortran. On those systems
where Pascal needs augmentation, tools such as the macro and file inclusion
processors serve as language preprocessors.


 とりわけ誰も得しない話。
 でも、とても感慨が深かったので。

 _Software Tools_ 『ソフトウェア作法』は、1976年の発表。翻訳もされて、たぶん
世界中で教科書として、独学の際の参考書として読まれたのでしょう。20ページ
くらい読みました。(注1)やはり、プログラミング言語の翻訳の翻訳の要素を含んで
いるので−−Fortranは当然として, PL/I その他その他への言及も多し−−(その上、
日本語のasciiでは表現できないだろう記号が使われていたので、自分の頭の中に翻訳機
を入れなくてはいけない=e-textをVzで読んでます)、表面的には読めるけどすごく
苦労するわりには理解が浅いだろうな、という不安がありました。余計な苦労です(注2)。
 外国語は、単語知っててなんぼですからね。


 そして、_Software Tools in Pascal_。1981刊。翻訳は出てないのかな? 原著と
同じく変更不要な部分はそのまま、主に上のような部分とプログラムリストを書き換え
ればいいだけだろうけど、でも、読者は(パスカルに興味が少しでもあるなら、あるいは
Fortran以前を知らないなら)こっちのほうを絶対に歓迎すると思う。Fortranねぇ。
言語体系を調べられるようになっとく? と思い、いちおうネットでマニュアルを
見つけましたよ……。
 (アメリカで僕が前に住んでいた町にNASAの出先機関があり−−知らなかったよ、
田舎町ですよ−−、そこが開発していた! MS-DOSにも移植できそうだった=その時代の
もの)

 プリプロセッサのイメージが沸いてきましたけど……(RatforがFortranのプリプロセッサ。
この本のために開発された=書かれた。そしてこの著作でその言語を使ってプログラム開発
の奥義を語っている)。(注3)

 なお、上の引用部分は、だいたい13パラグラフ(段落)で構成されている「まえがき」
(Preface)の中の2段落。たぶん、残りは元の本とほぼ同じ。
 上のようなことを言ってる部分があるだろうと思って、探し出しました。STから
読み始めて(眺め始めて)しまって(e-text処理を始めてしまって)、ふと、思いついて、
_ST in Pascal_をさっき覗いて、のけぞりました。こっちのほうが、ぜんぜんいい
じゃないか!
 

 詳細は分からないけど、上に続く部分で、標準パスカルの弱点も指摘されているけど、
たぶん、Turbo Pascal, MS Pascal で、克服されているのじゃないかな。macroとか
file inclusionとかlibraryとか。パスカルのmacroって記憶にないけど。

 何しろVzマクロしか知らないものだから、いちいち新鮮です。
 Vzマクロのこの部分は、C的、アセンブラ的、一般の高級言語的、みたいなことが
分かって楽しいです。

 で、どれだけ読みこなせるか分からないけど、内容的には、テキスト処理オタクの僕に
ぴったり! としきさん、この本のこと思い出してくれて、ありがとう!

 あ、2書とも、目次はほぼ同一です。Ratfor開発・解説の章がなくなっている以外は。
 おお、ついにここでは、正規表現も出てくるのか。なくちゃね。Free Pascalには、それ用
ライブラリがあるのを確認ずみです。言語が何であれ、正規表現エンジンなんて書きたく
ないです。読みたくない、が正確。眺めてみたいか?


(注1)べつに誰にも勧めていませんが、翻訳があるということは、どっかの図書館には
あるということです。

(注2)かつて「吉本隆明が理解したければ、日本語を勉強しろ」とかありました。考えて
みれば、外国人の日本文化研究者や日本アニメおたくの方々は、まさしくそれをやっている
わけですが。僕もそうだったんだ。しかしそんなに色々やれないのは自明。

(注3)c.mosさんのソースには、if ... else, break, until, while, repeatがある。それを
vz.incのマクロが展開する。これがプリプロセッサ的作業ですね。マクロ、柔軟ですねぇ。
やはり、自分で自分を書き換えているイメージ。Virtual Machine? 自己書き換えマクロ!



10425/10387 CXB00940  としき           Re: _ST in Pascal_ (1981)
( 1) 22/11/18 16:31 10424へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  そして、_Software Tools in Pascal_。1981刊。翻訳は出てないのかな?

こっちは読んでいませんが、いまさらFortranでもない、という気持ちはよくわかる。
Fortranはなにがいいって、数学のライブラリが充実していること。もしかしたら、
最新のスパコンにもFortranのコンパイラはあるかもしれない、というくらい。

> (Preface)の中の2段落。たぶん、残りは元の本とほぼ同じ。

ちなみに、私が#10417で一読をお勧めしたのは、Ratfor版の、おそらくIntroduction
の最初の部分に該当しそうな気がしています。Pascal版でも、導入部はほぼ同じだと
思いますが、読み比べていないのでわかりません。

10426/10409 BQO00549  konno            Re^2: VZk07t02 テスト版のバグ
( 1) 22/11/18 20:19 10423へのコメント(めざらさん) コメント数:1
> 以前(k07t01)で発生していた挿入不具合(としきファイル0007.cgi/0007.cg)は
> 発生しませんでした。製品版[ESC]I(ek-),自作[ESC]I(ek+) とも正常でした。

めざらさん、どうもです。
私もテストデータでテストした範囲しか把握していないので、他で問題が出ることはあると思います。

> ただ,ファイラや1行ウィンドウの背景になる文字化けが厳しいです。
> http://mezala.la.coocan.jp/upload/file/39.jpg
>
> この文字化けは環境によるのでしたっけ?
> 環境はckwv/vtdosです。

げげ、この症状は初めて見ました。
起動後すぐに症状が出るのですか。
発生手順が再現できるのであれば教えてください。

> 今月はじめにメインPCを更新したので,まだ環境が整っていない可能性もあります。
> ちとあやふやで申し訳ないですが,とりあえず報告です。

他のVZで症状が出ないのであればテスト版のバグだと思います。

私は当初 k07t01 のテスト版に入れ替えていたのですが、CGI や HTML の更新で困ってしまいました。
連番セーブでファイル名が大文字になってしまい、いちいち小文字に直さないといけないのです。
なので普段は常用VZのテスト版で使っています。

テスト版ではマクロがバッファから消えて使えなくなることがたまにあるようです。
マクロのロードかバッファ絡みの問題があるかもです。


10427/10387 CRG00666  文太             Re^2: _ST in Pascal_ (1981)
( 1) 22/11/18 20:28 10425へのコメント(としきさん) コメント数:2
#10417
>訳書で言うところの序論("Introduction")の
>最初の5パラグラフほどを読んでいただくと、その先を読みすすめるべきか判断
>できると思います。

 構造化、という文脈で、この本が出てきたのでしたっけ? たぶん、もう5パラグラフ
読んだと思うけど(最後までできるものなら読み通したいとの判断)、僕との会話で
としきさんが何に引っかかったのか(思い出したか)知りたいので、もう一度読んで
みます。
「序論」後半は、先の各章の簡単な紹介ですよね。
 ただ、元がpdfで上下さかさま(OCRで化け化け化け化け)のページが「序論」
に入っていたみたいなので、ちょっと1ページごとのe-text作りになりそう。

 具象的個々別々の問題への抽象的解法を見出す。

 僕が日常的にやっている作業より高度なテキスト処理の話だと思うけど、プログラミング
環境を整えるプログラムの作成について、が全体のテーマですよね。
 grep使って、statementだけ取り出す、とか。
 grepの作り方、という話でしょうけど。


冒頭5パラグラフ。
------------------------------------------------------------------------------
	INTRODUCTION

We are going to discuss two things in this book -- how to write programs 
that make good tools, and how to program well in the process. 

What do we mean by a tool? Suppose you have a 5000-line Pascal program 
and you need to find all references to the variable time, to make sure it can 
safely be changed from type integer to type real. How would you do it? 

One possibility is to get a listing and mark it up with a red pencil. But it 
doesn't take much imagination to see what's wrong with red-penciling a hundred 
pages of computer paper. It's mindless and boring busy-work, with lots of 
opportunities for error. And even after you've found all instances of time, you 
still can't do much, because the red marks aren't machine readable. 

Another approach is to write a simple program to find lines containing the 
identifier time. This is an improvement, for such a program is faster and more 
accurate than doing the job by hand. The trouble is that the program is so specialized 
that it will be used once by its author, then tucked away and forgotten. 
No one else will benefit from the effort that went into writing it, and something 
very much like it will have to be reinvented for each new application. 

Finding time's in a Pascal program is a special case of a general problem, 
finding patterns in text. Whoever wanted references to time today will want 
references to some other variable tomorrow, readln and writeln calls the 
day after, and next week an entirely different pattern in some unrelated text. 
Red penciling never ends. The way to cope with the general problem is to provide 
a general purpose pattern finder that will look for a specified pattern and 
print all the lines where it occurs. Then anyone can say 

	find pattern 

and the job is done. find is a tool: it uses the machine; it solves a general 
problem, not a special case; and it's so easy to use that people will use it instead 
of building their own. 
------------------------------------------------------------------------------

 おお、ちゃんとパスカル用になっている。が、内容は同じと言ってよいでしょう。
 ただ、ここまで一般的(抽象的)な問題を解決するツールを僕が開発するとは思えない
ですけどね。grep/sed/awkの使い方を十分マスターすれば良いような気がする。
まだまだ十分でないから。
 逆に、

2022/11/06  18:58    369 srch_do1.def
2022/10/29  11:23    220 srch_do2.def
2022/10/31  22:44    199 srch_do3.def
2022/10/31  23:06    209 srch_do4.def
2022/11/01  01:59    199 srch_do5.def
2022/11/01  02:13    131 srch_do6.def
2022/11/18  11:42    176 srch_do7.def
2022/11/06  18:25    321 srch_do8.def
2022/11/14  01:08    126 srch_do9.def
2022/11/16  00:15    298 srch_doa.def
2022/11/17  17:25    321 srch_dob.def
2022/11/18  11:48    240 srch_doc.def

 これらにちゃんと名前をつけて、管理せい! という感じですかね。
 あ、これ、もぐら流。中身の変更箇所がちょっとずつ違うだけ。
 これらに一般解はないです。問題のほうが"special case"だから。個別だから
偉いツール群。

 それでも、いい本っぽいと思っています。何かが得られるよう精進したいです。
 ありがとうございます。
 なお、パスカル版の翻訳はないみたいでした。


 蛇足。Pascal版 Intro pp.1-2。ページまたぎ部分。


All of them have been run without change on a variety of machines and Pascal 
compilers. 
				;A
---------------------[End of Page 1]---------------------
				;B
The second concern of this book is how to write good programs.

 このページ区切りフッタあたりに色々なノイズが入ります。Aの箇所にページとか
Bの箇所に"Introduction", "CHAPTER 1", "INSIDE THE IBM PC" (see #10359) とか。
それも壊れて化けたりもして。スペースや改行が入ったりもする。それらをVzマクロ
やsedで掃除しています。

 点検は、
>cgrep -A2 -B2 "End of "	;After & Before

 find pattern に同じ。



10428/10387 CXB00940  としき           Re^3: _ST in Pascal_ (1981)
( 1) 22/11/18 22:11 10427へのコメント(文太さん)
参照先:http://toshiki.la.coocan.jp/
> 冒頭5パラグラフ。

おぉ、やっぱり「100ページのプリントアウト」だの「赤鉛筆でチェック」だの
といったことは書いてあるのですね。

>  ただ、ここまで一般的(抽象的)な問題を解決するツールを僕が開発するとは思えない
> ですけどね。grep/sed/awkの使い方を十分マスターすれば良いような気がする。

今ではそうなんですけどね。
当時、そういったツールがなかった時代に思いを馳せてください。
いわゆる、古典古代、というヤツかな。違うかもしれない。
あまり文系的な用語はわかりませんが。
この本で取り上げられているのは、そういったツールの作り方がメインではあるのです
が、ツールを作るにあたっての考え方を通して、構造化をはじめとするソフトウェアの
構築法というか理念というか哲学というか、トップダウンではなくボトムアップでその
ような考え方を身につける、ということのように、私は捉えました。もちろん、これは
著者側の考えとはずれているかもしれません。

10429/10409 DGF01024  めざら           Re^3: VZk07t02 テスト版のバグ
( 1) 22/11/19 16:21 10426へのコメント(konnoさん) コメント数:1
参照先:http://mezala.la.coocan.jp/
> 起動後すぐに症状が出るのですか。

起動直後のファイラー背景は化けません。(ほぼ化ける文字がないから?)

ファイルをひとつ開いた状態で,[ESC]O など入力窓を表示した場合に
(WLの値で位置は変わりますが)入力窓の位置よりも下の部分が全部化けます。

WL1にして色々なY位置で試したところ,常に化けるのではなく,化けない位置もあります。

カーソルY位置を上の方で広範囲に化かした場合,入力窓をキャンセルすると元に戻り,
WL15とかで狭範囲に化かした場合,カーソルを下端まで移動して画面の更新をしないと
化けた状態がいつまでも残るという感じもあります。

ここからファイラーに遷移すると,ファイル数が少ないディレクトリを表示している側は
背景のテキストが盛大に化けます。(海豹に上げた画像のとおり)

あとは,メニューの中身(こちらは背景ではない)が化けます。
すべてのメニューが化けるというわけではないようですが。

いまのところ表示上の「不具合手前」くらいな感じですね。

ですが,化けるのは精神衛生上よろしくないので長くは使えないです。(^^;


10430/10409 BQO00549  konno            Re^4: VZk07t02 テスト版のバグ
( 1) 22/11/20 01:43 10429へのコメント(めざらさん) コメント数:1
> ファイルをひとつ開いた状態で,[ESC]O など入力窓を表示した場合に
> (WLの値で位置は変わりますが)入力窓の位置よりも下の部分が全部化けます。

うーむ、やっぱりうちでは出ないですね。
Dw- メニューのシャドー表示抑止も関係ないみたいです。
VTDOSかCKWVの環境依存でしょうかね。

> カーソルY位置を上の方で広範囲に化かした場合,入力窓をキャンセルすると元に戻り,
> WL15とかで狭範囲に化かした場合,カーソルを下端まで移動して画面の更新をしないと
> 化けた状態がいつまでも残るという感じもあります。
>
> ここからファイラーに遷移すると,ファイル数が少ないディレクトリを表示している側は
> 背景のテキストが盛大に化けます。(海豹に上げた画像のとおり)
>
> あとは,メニューの中身(こちらは背景ではない)が化けます。
> すべてのメニューが化けるというわけではないようですが。

うう、イメージスタックが怪しいですが、フォント絡みも怪しそうな。
でも VZK07T01 との違いはテスト用の修正ルーチンだけなんですよね。
VZK07T01 で問題が出ていないとしたら、修正箇所がここまで影響しているのかしらん。

> いまのところ表示上の「不具合手前」くらいな感じですね。
> ですが,化けるのは精神衛生上よろしくないので長くは使えないです。(^^;

現在の版は何かしら問題が有ると思っていましたがこの症状は意外でした。


10431/10409 DGF01024  めざら           VZk07t02 テスト版のバグに非ず
( 1) 22/11/20 05:42 10430へのコメント(konnoさん) コメント数:1
参照先:http://mezala.la.coocan.jp/
ごごご,ごめんなさい。(^o^;;;
まだ新PCの環境設定不足の状態であったのが,文字化けの原因でした。

フォント絡みを疑って VLゴシック とか BIZ UDゴシック に切り替えても症状があり,
一旦,t01 に戻したところが絶賛発生中ではありませんか。。。(何故気付かない)

えーと……レガシーコンソールでしたっけ…… どのショートカットで変えるんだったかな
しこしこ……あ,直りました。(^^;

10432/10409 BQO00549  konno            Re: VZk07t02 テスト版のバグに非ず
( 1) 22/11/20 18:02 10431へのコメント(めざらさん)
> フォント絡みを疑って VLゴシック とか BIZ UDゴシック に切り替えても症状があり,
> 一旦,t01 に戻したところが絶賛発生中ではありませんか。。。(何故気付かない)

ま、まあ、よくあることですよね・・・(^^;;

> えーと……レガシーコンソールでしたっけ…… どのショートカットで変えるんだったかな
> しこしこ……あ,直りました。(^^;

レガシーコンソールを指定しないとこんな症状が出るんですね。
とりあえずテスト版の致命的なバグでなくてよかったです。(^^;


10433/10409 CXB00940  としき           Re^2: VZk07t02 テスト版
( 1) 22/11/24 02:35 10413へのコメント(としきさん) コメント数:3
参照先:http://toshiki.la.coocan.jp/
今日が雨だったため自宅篭城となり、やっと雑務が大幅に片付いた。
まだ残務は大量にあるというか、当初見込みの6〜7割くらい片付いたと思った
のに、実は3割そこそこしか片付いていなかった、という現実もあるわけですが。
そして、そんなに大量に残っているというのに、もうこんな時間。
日付が変わってしまっとるがな。
明日、というか今日24日は、洗濯したいから、あんまり寝坊はしていられないと
いうのに。

それはさておき。

> 実際にパッチを当てて動作試験ができるのは、おそらく、今週の木曜日以降になって
> しまう予定。当面、便りがないのは良い便り、と思い込んでおいてください。

やっとパッチを当てて動作試験をしました。
オリジナルのvz.defにBlだけ8192に変更したものを読んで起動し、0007.cgiを開いた
ところで0007.cgを挿入して、無事に正常挿入。うれしい!

おそらく今後、もしかしたら私の主戦場は、野ざらしからこちらに移動することに
なるかもしれない。
ということで、これから確認したい項目。
80桁未満で桁折しても状況が発生しそう、ということから、例えば、以前、文太さん
に提供していただいたニフティのログを使って、ファイルサイズを0007.*と同じに
したものを作って状況がどうなるか。

あ、そうだ、これはkonnoさんに聞くべきか、めざらさんに聞くべきか。
Blとかのバッファの開始ポイントのアドレスをVzのマクロで取得するには、どう
すればよろしいのでしょうか?
あまり関係はないとは思いますが、今回のテスト版で、もし以前の版と大幅に変化
しているかどうか確認できれば、と思いまして。

10434/10409 DGF01024  めざら           Re^3: VZk07t02 テスト版
( 1) 22/11/24 18:43 10433へのコメント(としきさん)
参照先:http://mezala.la.coocan.jp/
> おそらく今後、もしかしたら私の主戦場は、野ざらしからこちらに移動することに

VZ本体のバグである可能性が非常に高いのではないかと考えられるのであれば,
こちらで相談されるのがよいかと存じます。
マクロの問題であればウチの方でもまぁ大丈夫です。

> Blとかのバッファの開始ポイントのアドレスをVzのマクロで取得するには、どう
> すればよろしいのでしょうか?

m.gann師の「ばふつあ」を強くおすすめします。
BUFTOUR.DEF 1.6A ばふつあ Buftour.def v1.6a Vz内部を探る
http://mezala.la.coocan.jp/vz/history/h_ear/lib/buf16a.lzh

自前のマクロを作りたいということであっても,上記のマクロのコードが
大いに参考になると思います。(全バッファの相対アドレスが書かれている。)

実際の各バッファの先頭アドレス(相対アドレス)は,マップを御覧ください。
スタックセグメント・マップ
http://mezala.la.coocan.jp/vz/notes/segmap.html

例えば,ラインバッファなら,相対アドレスは wm+228 または pq..148 です。
wm+228/pq..148 2バイト(0D,0A) CR/LFがラインバッファ先頭に予め置かれている
wm+230/pq..148+2 ラインバッファ本体(サイズはBl-2)


10435/10409 BQO00549  konno            Re^3: VZk07t02 テスト版
( 1) 22/11/24 20:54 10433へのコメント(としきさん) コメント数:1
> オリジナルのvz.defにBlだけ8192に変更したものを読んで起動し、0007.cgiを開いた
> ところで0007.cgを挿入して、無事に正常挿入。うれしい!

テストデータを対象にバグを回避しているだけなので他で問題が出ると思います。
テスト版はマクロの読み込み関連でバグがあるようですのでご注意ください。

> ということで、これから確認したい項目。
> 80桁未満で桁折しても状況が発生しそう、ということから、例えば、以前、文太さん
> に提供していただいたニフティのログを使って、ファイルサイズを0007.*と同じに
> したものを作って状況がどうなるか。

検証はよろしくお願いします。m(__)m

> Blとかのバッファの開始ポイントのアドレスをVzのマクロで取得するには、どう
> すればよろしいのでしょうか?
> あまり関係はないとは思いますが、今回のテスト版で、もし以前の版と大幅に変化
> しているかどうか確認できれば、と思いまして。

BLの相対アドレス情報などは、めざらさんが出してくれたので(ありがとうございます)
VTDOS環境での絶対アドレスは

vzk07t01  vzk07t02 test
D192	pq..148		lbuf		8192
F192	pq..149		tmpbuf4		256

スタック領域なので、コードの修正分サイズが増えても変わりませんね。
常駐/非常駐とも同じです。
同じマクロ環境で、高橋版は
vzt 
CFFE	pq..148		lbuf		8192
EFFE	pq..149		tmpbuf4		256

この差は、#if 文でマクロの構成が違うからかなぁ。
オリジナルVZとマクロでは

vzo
777C	pq..148		lbuf		2048
7F7C	pq..149		tmpbuf4		256

BLは変えてるかもですが、だいぶ余裕がありますね。
このラインバッファのサイズで挙動が変わるのは、メモリ転送ルーチンで
ラインバッファを一時バッファとして使っているのが関係しているのかなぁ?


10436/10387 CRG00666  文太             Re^3: _ST in Pascal_ (1981)
( 1) 22/11/28 21:22 10427へのコメント(文太さん) コメント数:1
 地獄の仕事場から息継ぎのため、一瞬だけ、浮上してみます。
 すいません、疲れてます。完全なる雑巾状態。そういうときは、こういう無意味な
読書をするにかぎるのです。

    Readers who are sensitive to questions of efficiency may wonder if it is 
economical to use two programs when one would serve. The answer depends 
on the true costs involved, which are often not properly estimated. Most people 
who talk about "efficiency" are concerned primarily with how much machine 
resources are used in the final run or in hands-off production, not with how 
much "people" and machine time is consumed in all the compilations, debugging 
and other false starts that prepare for the final run. Throughout this book 
we consistently take the view that people cost a great deal more than machines,
and that the disparity will increase in the future. Therefore the most important 
consideration is that people get their jobs done with a minimum of fuss and 
bother. 

---------------------[End of Page 82]---------------------

 効率の問題に敏感な読者は、1 つのプログラムで事足りるのに、2 つのプログラム
を使うのは経済的なのだろうかと思うかもしれない。その答えは、しばしば正しく
見積もられていない真のコストに依存する。「効率」について語る人の多くは、
最終的な実行やハンズオフ生産でどれだけの機械資源が使われるかに主眼を置いて
おり、最終実行の準備のためのコンパイル、デバッグ、その他の誤ったスタートで
どれだけの「人」と機械時間が消費されるかには関心がない。本書では、一貫して
「人は機械よりもコストが高い」「その格差は今後ますます広がる」という見解を
とっている。したがって、最も重要なことは、人が最小限の手間で仕事を成し遂げる
ことである。(DeepL による翻訳。立派! トーンだけ改変)

 (ハンズオフ生産だけでしょう、意味不明なのは。消費も変か。最後のところは
  やるね、と思いました。しかし手を入れたくもなる、が、「人」はコストが高い
  のです)

 さすがです、カーニハン先生。ごもっとも!

C:\C>dir /L /B |sort
2repl.def	
2repl2.def	
2strsrch.def	
999.def		
addzspc.def	
alpha.def	
altkey_t.def	
arr_srch.def	
array2.def	
array3.def	
blk0.def	
bothmov.def	
catg_fix.def	
cnd_sch1.def	
com_box.def	
 (以下50行略。うひょひょひょひょ。下品な笑い)

 さすがにこれだけパスカルのコードを読むと、けっこう単語を覚えるものですが、
やっぱりVzマクロが僕にとって最高の高級言語だ、という確信も強くなりますね。
 仕事するするVzマクロ。いえ、本業じゃありません。



10437/10409 CXB00940  としき           Re^4: VZk07t02 テスト版
( 1) 22/11/29 23:57 10435へのコメント(konnoさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
今日も天候不順で自宅篭城。
やっと雑務が9割がた終わった。
件数ベースだと、パソコンを使用して解決する必要のある雑務は残り2件。
もっとも、件数ではなく実労力だと、既決は8割弱といった感じ。
もちろん、パソコンとは無関係の雑務もいくらかあるし、日々新しい案件も増える
のだけど、もうどうでもいいやって感じ。

> テスト版はマクロの読み込み関連でバグがあるようですのでご注意ください。

この状況、うちでは発現しないようです。
もし、確実に再現する手順とかがわかれば、追試させていただきますよ。


アドレスについては、いろいろとご教示ありがとうございます。
ただ、いろいろと環境をあわせないと同じ値にはならないのかもしれません。
いろいろなものを合わせなかったときの値は、手元の常用環境である1.60t03kの
Bl8192で

pq..148 DD3Ah
pq..149 FD3Ah

となりました。一方、k07t02 test版とオリジナルvzibmj.def、ただしBl8192の場合は

pq..148 77BCh
pq..149 97BCh

でした。
なんかいずれも、ちょっと見には危なそうな値ですね。
常用環境の場合は、なにかがFFFFhを超えてしまいそうだし、test版の時は8000hを
またいでいるし。

> このラインバッファのサイズで挙動が変わるのは、メモリ転送ルーチンで
> ラインバッファを一時バッファとして使っているのが関係しているのかなぁ?

そういうことをやっているんですか。
なんかこれ、思いっきり妖しそうですね。

10438/10409 CXB00940  としき           Re^3: VZk07t02 テスト版
( 1) 22/11/30 00:28 10433へのコメント(としきさん)
参照先:http://toshiki.la.coocan.jp/
> 80桁未満で桁折しても状況が発生しそう、ということから、例えば、以前、文太さん
> に提供していただいたニフティのログを使って、ファイルサイズを0007.*と同じに
> したものを作って状況がどうなるか。

試してみました。常用環境です。test版ではありません。
まず、0007.cgiと同じサイズになるようにDC15_968.LOGというファイルの先頭から
切り出し、次に0007.cgと同じサイズになるようにDC15_971.LOGというファイルの
先頭から切り出し。そして、同じように、ファイルを開き、先頭で即挿入。
結果。
異常は再現しません。正常挿入。なんてこった。
ま、そうだよねぇ。そんなに頻繁に起こるのであれば、とっくに報告が上がって
いたはず。ということは逆に、なぜ私のあのファイルでは異常が起こるのか。

次に試したいこと。
異常の起きないログファイルと、76桁で桁折した私のファイルで、非常に大きい
差として挙げられるのは、空行比率。私のサンプルファイルでは、空行は実質的に
ゼロです。ということで、ログファイルから空行を全て削除したものを作って、
それで異常挿入が起きるか否か。さらに、awkあたりを使ってダミーのファイルを
作り、それで挿入異常が起きるか否か。もし、これらのでっち上げたファイルで
異常挿入が起きないのであれば、やっぱり何かファイルが悪い、ということに
なってしまうわけで。その結論はイヤだな。

10439/10387 CXB00940  としき           Re^4: _ST in Pascal_ (1981)
( 1) 22/11/30 01:49 10436へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
う〜む、この返信フォームの直上の関連一覧ツリー、なぜこんなに乱れているのか。
いいかげんkonnoさんには本腰を入れて修正していただきたいところ。

>  地獄の仕事場から息継ぎのため、一瞬だけ、浮上してみます。

私なんか、職場よりプライベートが多忙で。
職場でも、プライベートが気になって落ち着かなかったりして。

>  効率の問題に敏感な読者は、1 つのプログラムで事足りるのに、2 つのプログラム
(中略)
> ことである。(DeepL による翻訳。立派! トーンだけ改変)

ぅぉぉ、きちんと意味の通る訳になっていますね。さすが、最近のAI。
ちなみに、40年前に、ほぼ同様の原文を人間が訳した文章が以下。

 効率の問題に敏感な読者は、プログラムが一つですむところでわざわざ二つに
するのは経済的なのだろうか、と心配かも知れない。その答えは、何が真の費用
であるかによって違ってくる。そしてその真の費用なるものは正しく見積もられ
ていないことの多いものである。「効率」についてうんぬんする人々は、たいて
いの場合主として本番計算に計算機資源がどのくらい使われるか、という点にば
かり着目していて、コンパイルしたり、虫取りしたり、その他のさまざまなやり
そこないをしたりしながら本番計算にそなえるために消費される人間の時間と計
算機の時間を考えに入れていないものである。われわれはこの本では一貫して、
人間の方が機械よりずっと高くつくものであり、その差は将来ますます開くの
だ、という見かたをとっている。だから、一番大切な考慮点は、仕事をかたづけ
るまでに要する人間の側の気苦労を最小にすることだ、ということになる。

>  (ハンズオフ生産だけでしょう、意味不明なのは。消費も変か。最後のところは
>   やるね、と思いました。しかし手を入れたくもなる、が、「人」はコストが高い
>   のです)

原文の差異がどうなっているかわかりませんが、業界では、消費というのはそれほど
不自然な言葉ではないと思う。私も、この文脈では、消費という言葉に違和感を感じ
ません。

>  さすがです、カーニハン先生。ごもっとも!

こういう、ごもっとも、という内容がたくさん含まれているから古典なんだ、という
こともあるかもしれない。
私が最初に読んだ時は、どちらかというと、なるほど、という感想を抱いた部分が
多かったですけどね。だって、Fortranをマスターする前、BASICとアセンブラしか
知らなかった時代の私が、仮想言語(と私は捉えた)であるRATFORを使ってアルゴ
リズムを説明する本を読んで、それなりに勉強になったと思えたわけですから。

10440/10409 BQO00549  konno            Re^5: VZk07t02 テスト版
( 1) 22/11/30 21:20 10437へのコメント(としきさん)
> 常用環境の場合は、なにかがFFFFhを超えてしまいそうだし

pq..149 は、tmpbuf4 で、ソースでは使われていないようです。
緩衝領域として256バイト設定しているのは、プッシュポップのスタックが後ろから積まれるからかも。
そうだとすれば、この領域を使うのは危険ですね。
pq..149 が、FF00h を超えていたらバッファを減らさないと危険ということでしょうか。

げげ、私知らないで私家常用版で使ってしまっていました。(>_<)
見直さなくては。(^^;;

> test版の時は8000hをまたいでいるし。
あ、そうか、ラインバッファが8000hをまたぐバグってこれを言っていたんですね。

うちのオリジナルVZとマクロでは
vzo
777C	pq..148		lbuf		2048
7F7C	pq..149		tmpbuf4		256

テスト版vzとオリジナルマクロでは
7822	pq..148		lbuf		2048
8022	pq..149		tmpbuf4		256

この環境で、8000h をまたぐバグが出るかどうか確認すればいいのか。
ん? 高橋版で直っていたかしらん? ちょっと過去ログの海に潜ってみます。


10441/10387 CRG00666  文太             Re^5: _ST in Pascal_ (1981)
( 1) 22/12/01 16:15 10439へのコメント(としきさん)

 原文は、まったく同じでした。

DeepL
「効率」について語る人の多くは、最終的な実行やハンズオフ生産でどれだけの
機械資源が使われるかに主眼を置いており、最終実行の準備のためのコンパイル、
デバッグ、その他の誤ったスタートで

 (「誤ったスタート」でだいたい通じますね。コンピュータって、コンピュータ
に対してやたら強いのですよね、きっと。
 が、"consideration"を訳出しないという判断は、もう人間並みかよ、と思いました)


邦訳書
「効率」についてうんぬんする人々は、たいていの場合主として本番計算に計算機資源が
どのくらい使われるか、という点にばかり着目していて、コンパイルしたり、虫取りしたり、
その他のさまざまなやりそこないをしたりしながら本番計算にそなえるために消費される
人間の時間と計算機の時間を考えに入れていないものである。

 (訳出がどうというより、意味がよく分かる文章だと思います。「ハンズオフ生産」の部分は
よく分からないし、そんなに重要とも思えないから、飛ばす! という判断でしょうか。
アリだと思います。本番計算!)



Throughout this book we consistently take the view
that people cost a great deal more than machines,
and that the disparity will increase in the future.
Therefore the most important consideration is
that people get their jobs done with a minimum of fuss and bother.

#DeepL
本書では、一貫して
「人は機械よりもコストが高い」
「その格差は今後ますます広がる」
という見解をとっている。したがって、最も重要なことは、
人が最小限の手間で仕事を成し遂げることである。

#人間(40年前)
われわれはこの本では一貫して、
人間の方が機械よりずっと高くつくものであり、
その差は将来ますます開くのだ、
という見かたをとっている。だから、一番大切な考慮点は、
仕事をかたづけるまでに要する人間の側の気苦労を最小にすることだ、
ということになる。

 やっぱり、僕がいちばんに驚くのは、間接話法を直接話法にすることが、
機械にできた、ということかな。

 「人は機械より…」の部分。原文には、「 」とかないのです。
 しかし、「 」(直接話法)があったほうが、ずっと読みやすい、



10442/10387 CXB00940  としき           Re: Programming Style
( 1) 22/12/25 00:13 10422へのコメント(文太さん)
参照先:http://toshiki.la.coocan.jp/
>  数学の中間テスト。平均点は53.5点でした。53.5点だった人はいるわけないですよね。

私のいいたいことが微妙に伝わっていないっぽい。
例えば、大学入試。
共通一次とかセンター試験とか、100万人が受験したとします。
科目は5教科。
各科目の平均点を四捨五入して1点刻みにして、全教科が平均点だった人がいったい
何人いるか、という問題です。
これ、おそらく、確率統計の理論を使って、理論的な値は求まるはず。
そんな理論を使わなくても、受験者が増えれば全科目が平均点になる人数は増えるで
あろう事は直感的に分かります。逆に、科目の数が増えれば、全科目が平均点に一致
する人は減っていくだろうということも想像できます。

先般、私が例に挙げた航空工学の問題の場合、対象となる人数はたしか数千人という
レベルだったはず。一方で測定項目のほうは百項目以上あったのではなかったかな。
ということから、全項目が平均値の人はいなかった、という結論であったはず。
項目を絞り、平均値のプラスマイナスである程度の範囲をとっても、全てがその範囲
に納まる人はごく少数、という結論だったような。
え〜と、どこで読んだんだっけかな。
こういうネタだと「乗り物ニュース」(trafficnews.jp)のサイトにありそうだけど、
ざっくり探した範囲で見つからない。
あった、gigazineのサイトだった。
https://gigazine.net/news/20200505-us-air-force-average-pilot-problem/
概略。
4000人以上の140項目を測定し、そのうちの航空事故に関係しそうな10項目を選んで
平均値を算出し、その平均値の前後30%に全ての項目が収まる人数を数えたらゼロ。
3項目にまで絞っても、その3項目全てが平均値の前後30%に納まる人は全体のたった
3.5%だったとのこと。

人間の体のサイズというのも、一種の自然現象ですからねぇ。
自然を相手にする、というのと似たようなものなのでしょう。

10443/10443 BQO00549  konno            としきさんのmore.com
( 1) 23/01/01 00:08 コメント数:2
今、野ざらし言#5226 あたりで、としきさんのmore.com の話題が出ています。
VTDOSでのとしきさんのmore.com の問題は
#6641 2015/08/21 あたりからの話題で
#6648: Re: としきさんのmore.com 投稿者: konno   2015/08/24
ここでMASMでアセンブルしてみたけどVTDOSでは使えなかったのでした。

今回、行数がゼロになっているのでは? という指摘でもう一度挑戦しました。
としきさんのソースの28行目を

GOOD_VER:
;
;MACHINE CHECK
;
		MOV	BYTE PTR DS:[FLAG98],0
		PUSH	DS
		JMP	IBM			;★ ここで機種チェック IBM にジャンプ
		XOR	AX,AX

このように追加したら、VTDOSで正常に動きました。\(^^)/ ヤッタ-
どこで躓いているのかは他の方に調べてもらいたいと思います。(^^;

# ああ、年が変わってしまった・・・



10444/10444 BQO00549  konno            あけおめ 2023’
( 1) 23/01/01 00:10 コメント数:1
みなさま、明けましておめでとうございます。

今年もよろしくお願いします。


2023年 元旦


ぴょんぴょん


10445/10444 DGF01024  めざら           Re: あけおめ 2023’
( 1) 23/01/01 01:49 10444へのコメント(konnoさん) コメント数:1
参照先:http://mezala.la.coocan.jp/
konnoさん,明けましておめでとうございます。

さすがにそろそろオフでもやりたいですね。
もう少し落ち着いたころ,きっとやりましょう……酒精20mlでフワフワですが(笑)

ぴょん ぴょん ぴょん

癸卯元旦

10446/10443 CXB00940  としき           Re: としきさんのmore.com
( 1) 23/01/01 02:25 10443へのコメント(konnoさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
どもども、原作者の としき でございます。
あけましておめでとうございます。
このたびは、わざわざバグ取りしていただきありがとうございます。
いやぁ、こういうことがあるので、ソースは公開しておくものですね。
なので、konnoさんにおかれましてもぜひ、レシピを公開していただくことを希望。

それはさておき。

> このように追加したら、VTDOSで正常に動きました。\(^^)/ ヤッタ-

機種チェック冒頭で全てすっ飛ばしてIBMマシン専用にしてしまうという、ある意味
凶悪なパッチ当てですね。
だけど、これで動くということは、他のマシンと誤認しているということ。
一体、どのマシンと誤認しているのやら。
とはいえ、この機種判別法、20世紀に教えてもらって、その当時の機種とOSでは
問題なく動いていたわけですよ。うぅん、最新の機種判別法、どこかに公開されて
いるとうれしいんだけど。

10447/10444 BQO00549  konno            Re^2: あけおめ 2023’
( 1) 23/01/01 03:08 10445へのコメント(めざらさん) コメント数:1
めざらさん、こちらでもよろしくお願いいたします。

> さすがにそろそろオフでもやりたいですね。
> もう少し落ち着いたころ,きっとやりましょう……酒精20mlでフワフワですが(笑)

オフ、やりたいですが、まだ当分落ち着きそうにないですね。

おらも酔っ払っただ〜♪
天国良いとこ一度はおいで♪ 酒はうまいしねーちゃんわ・わ、わ、・・・zzz


> ぴょん ぴょん ぴょん
> 癸卯元旦

ぴょんぴょぴょんぴょん♪


10448/10443 BQO00549  konno            Re^2: としきさんのmore.com
( 1) 23/01/02 00:14 10446へのコメント(としきさん) コメント数:2
としきさん、 あけましておめでとうございます。

> このたびは、わざわざバグ取りしていただきありがとうございます。

バグ取りではなく、回避しただけです。

> いやぁ、こういうことがあるので、ソースは公開しておくものですね。
> なので、konnoさんにおかれましてもぜひ、レシピを公開していただくことを希望。

それではこんど例の所にこっそり置いときますんで、よしなに。(^^メ;

> 機種チェック冒頭で全てすっ飛ばしてIBMマシン専用にしてしまうという、ある意味
> 凶悪なパッチ当てですね。
> だけど、これで動くということは、他のマシンと誤認しているということ。
> 一体、どのマシンと誤認しているのやら。

マーカーを挿入してみたら、PC98 でこけているみたいですね。

> とはいえ、この機種判別法、20世紀に教えてもらって、その当時の機種とOSでは
> 問題なく動いていたわけですよ。うぅん、最新の機種判別法、どこかに公開されて
> いるとうれしいんだけど。

#6648:Re: としきさんのmore.com  投稿者:konno   2015/08/24
この記事で

> ここの過去ログを検索すると

> > #04638/04628 xxxxxxxx としき Re: VTDOS 1.11とページャー
> > PC-98と誤判別されてしまっている

> ということがあったので、機種の自動判定部分で誤判定されている
> かもしれないと思いました。

こう書いていました。
2009年の #4640 の10#さんの記事を引用すると

----------------------------------------------
としきさんのMOREの判定ルーチンですが、IntDCベクタとIntDDベクタが同一で
無ければNECと判別しているようなので、以下のパッチで対応出来ると思います。

symdeb <patch.sdb >nul

[PATCH.SDB]
------------------
e 0:370
80 03 ff ff 80 03
q
------------------

VTDOSは割り込み種別の判別方法の都合上IntDCベクタとIntDDベクタは
別のアドレスを示す仕様になっています。
----------------------------------------------

これでVTDOSが対応してくれたと思ったのですが、変わったのかしら?

VTDOS対応版は、IBMチェックを最初に持ってくれば良さそうです。
試作版はうまく動いているようです。
あとは98エミュで問題ないかのチェックですね。


10449/10444 CRG00666  文太             Re^3: あけおめ 2023’
( 1) 23/01/02 00:40 10447へのコメント(konnoさん) コメント数:1

 かえる ぴょこ ぴょこ 3 ぴょこ ぴょこ
 あわせて ぴょこ ぴょこ 6 ぴょこ ぴょこ



10450/10444 BQO00549  konno            Re^4: あけおめ 2023’
( 1) 23/01/02 02:40 10449へのコメント(文太さん) コメント数:1
文太さん、あけおめです。(^_^)

>  かえる ぴょこ ぴょこ 3 ぴょこ ぴょこ
>  あわせて ぴょこ ぴょこ 6 ぴょこ ぴょこ

うーん、しばらく考えてしまいました。(^^;
今年は飛躍のジャンプの年ですね!
私は正月早々条件分岐ジャンプで、届かない〜(;_;) を経験しました。
ぴょこぴょこの分岐ジャンプより大きなぴょんジャンプにしました。

ことよろです。m(__)m


10451/10444 CRG00666  文太             兎から蛙
( 1) 23/01/02 17:54 10450へのコメント(konnoさん)
 ぴょんぴょん と ぴょこぴょこ
 が似ている、ただこれだけでした。
 あの2行は、例の本のサンプルに使われている、しょうのない文章でした。
 別に深い謎かけをしたつもりもありませんでした。



10452/10443 CRG00666  文太             Re^3: としきさんのmore.com
( 1) 23/01/02 17:55 10448へのコメント(konnoさん) コメント数:1

 あまり(というかまったく)探求したわけでもないのですが。
 全体に、おぼろげながら、これまでの経緯については理解しました。
 VTOOSにおいて、

>VTDOSは割り込み種別の判別方法の都合上IntDCベクタとIntDDベクタは
>別のアドレスを示す仕様になっています。

 ということであったと。古い話であったと。

 パッチを当てれば良いとのことなのですが(*)、機種判別で、自分がVTDOSに
いる、ということが分かる方法ってないんですかね。
 そうしないと、今回のように、VTDOSだから? よく分からないけど?
そうなのかなぁ? とまたなりそうだな、と。あるいは、相当回数の他機種
との比較実験が必要になる???
 皆さまの主たる環境って、VTDOSですよね?

 ま、としきmoreに関してだけいえば、僕はNEC98もFMRも(DOS2も)持って
いないから、前半部分をごっそり切ってしまえば、それで良いのですが。

 ねこプロジェクト方面? VTDOSとどういう関係なのか、よく分かっていません。

(*)パッチしたバイナリをソーサーにかければ、何をどう変更したのか
分かるのかな?


10453/10443 BQO00549  konno            各種DOSエミュでの more.com の挙動
( 1) 23/01/02 19:11 10452へのコメント(文太さん) コメント数:4
>  パッチを当てれば良いとのことなのですが(*)、機種判別で、自分がVTDOSに
> いる、ということが分かる方法ってないんですかね。

VTDOS は専用ファンクションコールが有るので分かるのですが

>  そうしないと、今回のように、VTDOSだから? よく分からないけど?
> そうなのかなぁ? とまたなりそうだな、と。あるいは、相当回数の他機種
> との比較実験が必要になる???

他のエミュでは難しいと思われます。
主なdosエミュレータで検証したところ、新たな問題が発覚しました。
検証で気づいた点を揚げてみます。

DIR | more とした時の挙動


VTDOS
としきさんの more.com は PC98チェックがうまく出来ない、IBMチェックを先で対応できる。
NECDOS6.2の more.com は、VTDOSのVTXET に対応しているようだ。


MSDOS Player
どの more でも行数が 25行に固定されてしまう。ローメモリの値が固定?
入力待ちで[Ctrl]+C が効かない、途中で中断できない。[Ctrl]+[Break] も効かない。

break ON としても [Ctrl]+C が効かない。この時 [Ctrl]+[Break] を押すと
command.com あたりのメモリ内容などをダーッと表示して止まる?


DOSVAXJ3
どの more でも改行が2重になる。そのため行間が空き画面を溢れてしまう。
としきmore の改行処理をジャンプしたら正常表示出来た。


NP2
NECDOS6.2の more.com は、30行BIOS に対応していない。30行でも15行でも25行固定。
としきmore の改行処理ジャンプ版では、NP2 だけが異常表示になる。他のエミュでは正常。
これはオプション追加で対応だな。


こうしてみると、としきmore(改)が最強のような。


# としきモア最強伝説の始まりか
  虹の〜地平を〜歩み出て〜♪ (それはトワエ・・)


# 闇金のジャンプはあとが怖いぜ!


10454/10443 CRG00666  文太             VTDOS int2Fh
( 1) 23/01/03 00:22 10453へのコメント(konnoさん) コメント数:1
konnoさん

 お疲れ様です。

>VTDOS は専用ファンクションコールが有るので分かるのですが

 どのエミュでも効く more.com。電気羊みたい……。
 何が欲しくて、何が必要で、何を書くか、ですね。
 勉強になっています。m(__)m
 最短一致は、うまくいかないのですが。


=== Macrotmp by B ===;
#if0

from vtdossdk.txt

■VTDOS拡張16bitAPI

VTDOSで動作する16bitプロセスはInt 2fh/AX=7476hを利用することにより、
VTDOS拡張ファンクションを呼び出すことが可能です。
VTDOSでは将来に渡りInt 2fh/AX=7476hは予約されます。

Int 2F/AX=7476h/BX=0000h
VTDOSインストレーションチェック

AX = 7476h
BX = 0000h
CX = 6F64h
DX = 0073h

Return:
AX = 0000h
BX = 5456h
CX = 4F44h
DX = 0053h

#endif

* M
50 ^^ "Macrotmp"

AX = $7476,
BX = $0000,
CX = $6F64,
DX = $0073,
&i($2f)

&m("AX: %04xh, BX: %04xh, CX: %04xh, DX: %04xh",AX,BX,CX,DX)

*

 4つ見ることはないだろうと思います。BXだけで十分だと思いますでしょうか?


10455/10443 CRG00666  文太             Re: 各種DOSエミュでの more.com の挙動
( 1) 23/01/03 01:35 10453へのコメント(konnoさん)

#6641
>Win98のcommand.comで、WinMEのmore.comがはねられたときは、
>あのなぁ、と言いたくなった。

 これは、椅子に座っているのに、膝がガクガクするほど衝撃的なニュースだったの
ですが(としきさんは、findの痛い経験を覚えていた、僕は、まったくここから何も
学ばなかった。記憶もあるはずがなかった)、とにかく、

MSDOS Player
DOSVAXJ3
NP2

 の3人の作者に、身元を明かすAPIを作ってくれませんか、こんなことがありうる
んです、とお願いするのが、長い目でみて、良いことなのではないかと思いました。
 まだアクティブなら、ですが。

 ダメなら、探す。Undocを読むと、それは不可能ではないんだろうな、とか素人は空想
します。APIは、10#さんのプロとしての、プライドというか、最初の一歩だったんだろう
と、ふたたび、空想しました。VWXも、当然。

 要らないのかな? と、急に思いました。アプリはOSの僕(しもべ)。



10456/10456 BQO00549  konno            MORE.COM 改造版
( 1) 23/01/03 22:42 コメント数:4
としきさんの MORE.COM をベースに 各種DOSエミュレータに対応させる改造をしました。
オリジナルは PC98 FMR IBM 機種判別し、30BIOS 90BIOS V/TEXT に対応しています。
オリジナルの場所
 としきのやしき正門 電算棟 自作ソフトの部屋 
http://toshiki.la.coocan.jp/computer/mysoft/index.html

私の改造部分
・V02 2023-01-03	"-" オプションで改行処理をしない(DOSVAXJ3の2重改行問題に対応)
・V01 2023-01-01	IBMチェックを先頭にする( VTDOS対応)
・ソース付きです。としきさんに多謝

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

自作、改作アプリの放置部屋 に置きました。
http://tamaneko.world.coocan.jp/execom.htm


DOSVAXJ3の2重改行問題に対応するには

dir | more -

このようにコマンド末尾に " -" を追加してください。


10457/10456 CRG00666  文太             Re: MORE.COM 改造版
( 1) 23/01/03 23:49 10456へのコメント(konnoさん) コメント数:2
 なるほど!
 あくまで、アプリの側で対応してやるぞ、ということですね。
 実用的にはこれでいいんですよね。僕には、この柔軟な発想がなかった。

 ただ、やっぱり身元証明はあるべきだと思うなぁ。そしたら、オプション解析も
オプションも要らないですよね。我侭いうなって、自分ではできないくせして >己

 もっともこれで、command.comのヴァージョンとかも一切なくなって、超汎用に
なったわけですね。としきmoreばかりでなく、MSのmoreを超えたんだ。

 とはいえ、Win7 の moreは、いちおう要らない進化をしていたようですが。ファイル
全体をバッファリングしてるのかな? %表示がでます。現在位置がつかめはします。



10458/10456 CXB00940  としき           Re: MORE.COM 改造版
( 1) 23/01/04 01:18 10456へのコメント(konnoさん) コメント数:2
参照先:http://toshiki.la.coocan.jp/
元旦が日勤、2日〜3日にかけて宿直で、現在、実家に寄らせてもらっています。
そしてこの時間まで、いったい何をやっているのだか。眠い。

> としきさんの MORE.COM をベースに 各種DOSエミュレータに対応させる改造をしました。

いわゆる、正当進化というやつですね。
であれば、原作者としては、邪道進化を目指しましょうか。
とりあえずの目標。

・実行ファイルのサイズは512バイト以下
・行桁の取得結果のどちらかがゼロだった場合、80x25を決め打ち

作りたいけど、優先順位は低いなぁ。

10459/10443 CXB00940  としき           Re^3: としきさんのmore.com
( 1) 23/01/04 01:19 10448へのコメント(konnoさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
VTDOS黎明期に自分のmoreの話をしていたなんて、すっかり忘れていました。
ところで、

> 2009年の #4640 の10#さんの記事を引用すると

とあるのですが、私も、その後のバージョンアップで変更されていたとばかり思って
いました。ここで掲載されている、パッチを当てるアドレスはおそらく、その当時の
VTDOSのバージョンに依存していると思うんですよね。

> > とはいえ、この機種判別法、20世紀に教えてもらって、その当時の機種とOSでは
> > 問題なく動いていたわけですよ。うぅん、最新の機種判別法、どこかに公開されて
> > いるとうれしいんだけど。

この部分について、実家に来たついでに、書誌学というのか文献学というのか、ちょっと
調査してみました。そしてわかったこと。

・1997年4月にFGALSIGの石置き場に置いたのが最初のバージョン
・これを30BIOS/90BIOSの作者やユーザに評価していただいた。
・このバージョンに対し30/90BIOS作者のさかきけい氏より、PC-98判定にROMを見ているが
 ある種のハードを使っていると、その判定は失敗すると指摘をいただく。
 また、Int10Hを使う方法でPC-98とAT機を判定することが可能だが、これをFM-Rで使うと
 ハングアップする可能性あり。なので、まずFM-Rの判定を行ってからInt10Hを使うこと
 を推奨。
・1997年5月にmore.com正式版リリース(その後現在に至るまでバージョンアップなし)
 さかきけい氏の推奨された方法は採用せず
・その後、1997年9月ごろの追試では、上記more正式版で使っている方法 *だけ* では
 FM-RとATマシンを区別できず、一方でPC-98とFM-Rは区別可能だが、オアポケ3では
 案の定、Int10Hはハングアップ
 なので、現状では、まずPC-98かFM-Rであることをチェックし、それ以外ならAT機、
 というロジックになっている(はず)

といういきさつがあることがわかりました。
とりあえず、一番最初に参考にした、FM-RとPC-98の機種判別の資料は確保しました。
あとで、ちょっとじっくり眺めてみましょうかね。


10460/10456 CRG00666  文太             Re^2: MORE.COM 改造版
( 1) 23/01/04 13:15 10458へのコメント(としきさん)
more.com     490  1997-05-01  00:00	;toshiki original
more.com     550  2023-01-03  20:11	;konno mod
more.com  20,992  2009-07-14  08:15	;MS win7
					;下と比較すると大きくはないんだ、と
 このサイズの違いを気にする? ↑	;気づいたり。


 参考。ちょっと気になることがありまして。↓

vz.com    62,184  2018-10-17  19:11
vzo.com   57,694  1993-12-06  02:00
wgrep.com 19,884  1993-12-01  01:53
vwx.com   13,590  1994-01-22  01:08

 konnoさん、ソース、ありがとうございました。分からないところは分からない
ままですが、追加コメントとか、小文字遣いとか、かなり勉強になったような
気がしています。改造作家のプライドを見ました。多謝。



10461/10443 BQO00549  konno            Re: VTDOS int2Fh
( 1) 23/01/04 21:20 10454へのコメント(文太さん) コメント数:1
>  どのエミュでも効く more.com。電気羊みたい……。

またまた難しい例えを・・・
電気羊というと、あの小説かな。映画化されたやつ?
奥様に「電気羊」と聞いてみると即座に「ブレードランナー」ね、と。
・・・ハッ!私が人間でないとば・・・バカな想像をしたりして。(^^;;

> === Macrotmp by B ===;

VTDOSチェックマクロですか。

>  4つ見ることはないだろうと思います。BXだけで十分だと思いますでしょうか?

BXだけだと偶然その値になる可能性も有りうるかと思います。
同じAX=7476h を他のアプリで使われる可能性は考えるべきでしょう。
なので、最低

> AX = 0000h
> BX = 5456h

この2つの返り血もとい返り値は見た方がいいかと思います。


10462/10456 BQO00549  konno            Re^2: MORE.COM 改造版
( 1) 23/01/04 22:56 10458へのコメント(としきさん) コメント数:1
> 元旦が日勤、2日〜3日にかけて宿直で、現在、実家に寄らせてもらっています。
> そしてこの時間まで、いったい何をやっているのだか。眠い。

お仕事ご苦労様です。

> いわゆる、正当進化というやつですね。
> であれば、原作者としては、邪道進化を目指しましょうか。

いやあ、原作者が手を入れたものが正当進化ではないでしょうか。
秘伝のソースを勝手に自分の物のようにしてしまったのは私の方です。
うう、まるで他人の獲物を横取りするハイエナのような気がしてきました。


10463/10443 CRG00666  文太             Re^2: VTDOS int2Fh
( 1) 23/01/04 23:12 10461へのコメント(konnoさん) コメント数:2

>>  どのエミュでも効く more.com。電気羊みたい……。"
>またまた難しい例えを・・・
 こっち界隈では通じるかと……。僕は、そっちも強くないですが。

>奥様に「電気羊」と聞いてみると即座に「ブレードランナー」ね、と。
 奥様もそっち系? 奥様のほうが強いとは!? もと職場の同僚です、とか。
 パチンコも好きな元プログラマです、あるいは、SF作家です、とか。

 あ、たんに「夢をみるか」にかけただけです。

>・・・ハッ!私が人間でないとば・・・バカな想像をしたりして。(^^;;
 いえ、人間をこえていると思う。あれだけの情報で、とりあえず、
「どのエミュでも効く more.com」を実現したもの。

>> === Macrotmp by B ===;
>VTDOSチェックマクロですか。

 いえ、マクロではなく、これらの情報をアセンブラで使えばいいんですね、
その際、返ってきたレジスタを4つも確認しなくても、ということです。

 ですから、

>同じAX=7476h を他のアプリで使われる可能性は考えるべきでしょう。
 あのシステムコールの返り値としてですよ。

 自分が今、VTDOS or DOSVAXJ3 or MSDOS Player or NP2にいる、ってのが
確認できる方法があるべきでしょう、あるといいな、と発想していたんです。
 ないんでしょうか? あったら、| more - の「-」は不要になりますね、と
言いたかったのです。

 たぶん、いいじゃん、できたんだから、だと思うけど。

 でも、
>poke3は12行?
>200LXなど8行の場合があるかも
 とか、おおおお、と思いましたよ。


 しかし、としきさんの経緯をきいて、機種判定って、そんなに大変なんだ、
下手すると、NECを、あるいはFMRを(どっちか忘れた)落とします、です
ものね。そいつにとってユニークな場所を探さなければならない、しかしそこを
探っても、別の機種が落ちては困る、、、。うん、大変。


 どうも話が行き違っているようなので、いちおう確認すると(VWXのinstallation
checkと同じだと思ってますが)、

 Int 2F/AX=7476h/BX=0000h
VTDOSインストレーションチェック

AX = 7476h
BX = 0000h
CX = 6F64h
DX = 0073h

 を、たとえばDOSVAXJ3環境で、発行しても、

Return:
AX = 0000h
BX = 5456h
CX = 4F44h
DX = 0053h

 BXに5456hが返らないだけで、落ちませんよね。Int 2F自体は、DOSが用意する
ものですよね? DOSエミュレータのすべてに、これがあるとは限らないのか???
(注)

 これと機種判定が違うレベルなのは分かっているつもりです。
 でも似た話でもありますね。下手すれば落ちるのだろう。

(注)どうでもいい独り言です。DOSエミュレータを作る人たち、まさか、
割り込みベクターテーブル、自分で書いてませんよね。MSが発表した、何かに入ってる、
ってどっかで、10#さんが言ってたと思うんだけど。
 しかし、そのDOSヴァージョンは? DOS6 と DOS8 (for WinME)では、違うはず



10464/10456 CRG00666  文太             Re^3: MORE.COM 改造版
( 1) 23/01/04 23:22 10462へのコメント(konnoさん) コメント数:1
>秘伝のソースを勝手に自分の物のようにしてしまったのは私の方です。
>うう、まるで他人の獲物を横取りするハイエナのような気がしてきました。

 これは、フリーソフトウェアの考え方ではないでしょう。GNUを出すまでも
なく。とりわけ、としきさんの場合、許可とか求めないかぎり、改変自由、なの
ですから。

 もっと短く書くって。なぜ? が僕にとっての大いなる疑問。
 もちろん、ちゃちゃ入れだけですが、それでも楽しみにしておりますよ。
 しかし、それは本家作家の意地というものなのだろうか?

 ふと、YASATさんが、blogjumpを改良してくれたときのことを思い出しました。
 やっぱ、あれは、俺のだ、とか感じたけど、出来上がってみたら、涙だった。
 美しいコードだった。あんなの一生書けない。

 そうかあ、オアポケって、中身はFMRなんだ、と今頃きづきました。
 モバギはNEC製ですが、中身は、IBM/DOSV です。



10465/10443 BQO00549  konno            Re^3: VTDOS int2Fh
( 1) 23/01/05 01:06 10463へのコメント(文太さん)
他はよくわからないのでここだけ

>  あ、たんに「夢をみるか」にかけただけです。

なるほどそうでしたか、納得しました。

>  いえ、マクロではなく、これらの情報をアセンブラで使えばいいんですね、
> その際、返ってきたレジスタを4つも確認しなくても、ということです。

これは通じているつもりですが

> >同じAX=7476h を他のアプリで使われる可能性は考えるべきでしょう。
>  あのシステムコールの返り値としてですよ。

もしやと思って、そのマクロで確認してみました。

VTDOS
AX: 0000h, BX: 5456h, CX: 4F44h, DX: 0053h

DOSVAXJ3
AX: 7476h, BX: 0000h, CX: 6F64h, DX: 0073h

MSDOS Player
AX: 0001h, BX: 0000h, CX: 6F64h, DX: 0073h

NP2
AX: 7476h, BX: 0000h, CX: 6F64h, DX: 0073h

こうしてみると、MSDOS player はAXの返り値がありますね。
0001 とか、こっそりVTDOSとの違いを仕込んでいるのかも。(^^;

>  自分が今、VTDOS or DOSVAXJ3 or MSDOS Player or NP2にいる、ってのが
> 確認できる方法があるべきでしょう、あるといいな、と発想していたんです。
>  ないんでしょうか? あったら、| more - の「-」は不要になりますね、と
> 言いたかったのです。

それぞれ環境が違うので、実用的には環境変数を使えば出来ますね。
NOCR = 1
とか仕込んで、more に環境変数を読む機能を付ければ。
やらないですけどね。(^^;


10466/10456 BQO00549  konno            Re^2: MORE.COM 改造版
( 1) 23/01/05 01:15 10457へのコメント(文太さん)
>  とはいえ、Win7 の moreは、いちおう要らない進化をしていたようですが。ファイル
> 全体をバッファリングしてるのかな? %表示がでます。現在位置がつかめはします。

これ、ファイルオープン時にファイルサイズはわかると思います。
そうすれば、簡易的な%表示も出来るかもしれないですね。
要らない? ですよね。(^^;


10467/10456 CXB00940  としき           Re^2: MORE.COM 改造版
( 1) 23/01/05 19:14 10457へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  とはいえ、Win7 の moreは、いちおう要らない進化をしていたようですが。ファイル
> 全体をバッファリングしてるのかな? %表示がでます。現在位置がつかめはします。

%表示って、実は需要が多いのかもしれない。
ASCII Toolsのmoreでも表示していたような気がする。
記憶違いかも。現在は手元にないので確認できない。
なお、Toolsのmoreは、デフォルトでは1ページ22行ぐらいで決めうちでしたが、
moreのプロンプトが出ているときに例えば「48z」だったかな、そんな感じに打つと、
次のページから1ページが48行になったような記憶があります。


10468/10456 BQO00549  konno            Toolsのmore は凄かった!
( 1) 23/01/06 20:27 10467へのコメント(としきさん) コメント数:1
> %表示って、実は需要が多いのかもしれない。
> ASCII Toolsのmoreでも表示していたような気がする。

え? と思って Toolsのmoreで

more xxxx.txt

としてみたら、確かに%表示出ますね。
Dir | more  だと%表示は出ないけど。

> なお、Toolsのmoreは、デフォルトでは1ページ22行ぐらいで決めうちでしたが、
> moreのプロンプトが出ているときに例えば「48z」だったかな、そんな感じに打つと、
> 次のページから1ページが48行になったような記憶があります。

VTDOS では、
入力待ちで[Enter] だと1行ずつ表示になりますが
スペースキーだと、22行ずつになりました。
数字を入れても表示は変わらないですが、その後の "z" で数字の行数表示になりますね。


MSDOS Player の場合
入力待ちで[Enter] だと1行ずつ表示になりますが
スペースキーだと、画面の行数いっぱいに表示しました。
え? これって仕様だったのかしら? それにしても VTDOS と挙動が違う。

数字を入れても表示は変わらないですが、その後の "z" で数字の行数表示になりますね。

[Ctrl]+C は効かないですが、"Q" を押したら中断終了しました。
げげ、これも仕様だったの? [Ctrl]+C が効かない場合も考慮されていたとか? 凄すぎ!


DOSVAXJ3 の場合
入力待ちで[Enter] だと1行ずつ表示になりますが
スペースキーだと、画面の行数いっぱいに表示しました。
え? 2重改行にならない? どうなっているの?

数字を入れても表示は変わらないですが、その後の "z" でも行数変わらないですね。謎


うーん、もしかしたら、これと同じ改造は可能かもしれないですね。(^^;
でも、DOSVAXJ3 の謎な挙動とか逆に汗が! (^^;;;

10469/10443 BQO00549  konno            MS-DOS Player と more
( 1) 23/01/06 21:57 10459へのコメント(としきさん)
> > 2009年の #4640 の10#さんの記事を引用すると
>
> とあるのですが、私も、その後のバージョンアップで変更されていたとばかり思って
> いました。ここで掲載されている、パッチを当てるアドレスはおそらく、その当時の
> VTDOSのバージョンに依存していると思うんですよね。

そうかもしれないですね。
Windowsの更新が頻繁なのでコンパイラの仕様が変わっている可能性も考えられますよね。
コンパイラを更新したら動かなくなった、という話も多いですし。

その関連で、MSDOS Player の問題も同根なのではないかという気がしてきました。


MS-DOS Player for Win32-x64 謎WIPページ
http://takeda-toshiya.my.coocan.jp/msdos/

このページを読んでみたら、関連しそうな記事があったので引用します。

------------------------------------------------------
2016/6/8
COMMAND.COMでCOPYに失敗する問題、MORE.EXEでキーを受け付けない問題を修正しました。

MOREの方ですが、例えばTYPE (file) | MOREを実行すると、MORE.EXE上では、
ファイルハンドル複製/多重化の果てに、ファイルハンドル0番にstderrが割り当てられいて、
コンソール系のAPIが正しく動作しなくなっていたみたいです。
ファイルハンドル0番がattyで入力なデバイスでない場合は、コンソール系のAPIではなく、
_kbhit()や_getch()などの関数を使用するように修正しました。
これらの関数だと、ファイルハンドルの状態によらず、キーボードを読んでくれるようです。

また、コンソール系のAPIで使用するハンドルは、起動時にGetStdHandle()で取得したものを
ずっと使いまわしていましたが、ファイルハンドル複製/多重化の影響を受けて、
ハンドルが無効になってしまう場合があるようです。
そのため、コンソール系のAPIを使うたびに、GetStdHandle()で取得するように修正しました。

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

> MORE.EXEでキーを受け付けない問題を修正しました。

この EXE が16ビットかどうかはわからないですが
これって今回の問題と同じように思えます。
この時修正済みだったのに、また同じ問題が出てきたとしたら
コンパイラの関数の仕様が変わってしまったのではと疑ってしまいます。

BIOSキーの取得も試してみたのですが、コントロールコードは一切使えないみたいで
Toolsのmore で "Q" キーで中断終了が出来たということは、文字は入力できるのかも。


10470/10456 CXB00940  としき           Re: Toolsのmore は凄かった!
( 1) 23/01/06 23:16 10468へのコメント(konnoさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> え? と思って Toolsのmoreで
>
> more xxxx.txt
>
> としてみたら、確かに%表示出ますね。
> Dir | more  だと%表示は出ないけど。

事前にサイズが確定している場合だけ%表示するということなんでしょうね。

> 入力待ちで[Enter] だと1行ずつ表示になりますが

これは仕様でしょう。
確か、unixのmoreでも同じだった記憶があります。
また、ToolsのmoreをPC-98で使ったときも同じだったと思います。

> MSDOS Player の場合
> 入力待ちで[Enter] だと1行ずつ表示になりますが
> スペースキーだと、画面の行数いっぱいに表示しました。
> え? これって仕様だったのかしら? それにしても VTDOS と挙動が違う。

これ、妙ですね。
行数が何行のときでも、起動したときの行数を取得している、ということですよね?
不思議だ。

> [Ctrl]+C は効かないですが、"Q" を押したら中断終了しました。

"Q"で終了するのも多くのmoreで共通する仕様です。
ToolsのmoreをVTDOSで動かしてもそうなりますよね。


> DOSVAXJ3 の場合

> 数字を入れても表示は変わらないですが、その後の "z" でも行数変わらないですね。謎

これも妙ですね。
数字をうまく受け取れていないのかなぁ。

10471/10443 CRG00666  文太             あてにならない(DOS ver @VTDOS)
( 1) 23/01/07 18:10 10463へのコメント(文太さん) コメント数:2
 ところで、VTDOSがエミュレートしてるDOSのヴァージョンって何? という
疑問がありまして(docのどっかに書いてある?)、あ、下ので調べれば
いいんじゃないか、と思いついたのですが、本当でしょうか?

 ファンクションコールしてるということは、command.comを通りこしてますよね。
 ベクターテーブルを最初(DOS起動時)につくるのはmsdos.sysの仕事なんだから、
(ここをVTDOSはエミュってる)以下でいいか、と思ったのですが、v6.20って
言われると、少なくとも僕が使っているcommand.comと同じヴァージョンで、
ウソっぽくないか、この答え、とか思ってしまいます。

 もっとも、VTDOSって、command.comのヴァージョンにけっこううるさくて、
MS-DOSかPC-DOS (他にもあったみたいだけど)の、この辺りでないとうまくない、という
記憶もあります。

 分かんない、ですかね。
 ま、v6.20 なんだと思ってていいか、、、。
 深い意味はありません。なんとなく疑問が沸いた、というだけです。

--------D-2130-------------------------------
INT 21 - DOS 2+ - GET DOS VERSION	★
	AH = 30h
Return: AL = major version number (00h if DOS 1.x)
	AH = minor version number


=== Macrotmp by B ===; GET DOS VERSION
* M
50 ^^ "Macrotmp"

        ax=$3000, &i($21)
        &m("MS-DOS v%d.%d",ax&$FF,ax>>8&$FF)

*

 とはいえですよ、もし、VTDOSがエミュってつくるベクターテーブルとcommnad.com
が違うヴァージョンだったら、なんか動きそうもないですね。同じでなければダメ、
って、普通な感じもする。



10472/10456 BQO00549  konno            Re^2: Toolsのmore は凄かった!
( 1) 23/01/08 00:11 10470へのコメント(としきさん) コメント数:1
> > DOSVAXJ3 の場合
> > 数字を入れても表示は変わらないですが、その後の "z" でも行数変わらないですね。謎
> これも妙ですね。
> 数字をうまく受け取れていないのかなぁ。

なるほど、そのようです。
各種エミュで挙動が違うのは、未チェックだから? 結構トリッキーなやり方をしていたりして。

紙のマニュアルを見るとやはり多機能ですね。man more でテキストを出したので引用します。
----------------------------------------
VTDOS|D:\DOS\TOOLS>man more

  MORE  ファイルのページ単位出力

書式   MORE [<ファイル名>…]

機能
  <ファイル名>で指定されたファイルの内容をまず1画面分(22行)出力し,それ以降は,表2.7のコマンドに従って出力します.
  また,<ファイル名>が省略された場合には,標準入力からの入力を受け付けます.なお,<ファイル名>にはワイルドカードが使用できます.

             <表2.7 MOREのコマンド>
------------------------------------------------------------------------
    書式         |                         機能                        
------------------------------------------------------------------------
 <n>space        |次の<n>行(デフォルトでは次の1ページ(22行)を表示する 
 <n>CTRLーD      |次の<n>行(デフォルトでは次の半ページ)を表示する      
 <n>D            |                                                     
 <n>CTRL-M       |次の<n>行を表示する                                  
 <n>return       |                                                     
 <n>CTRL-J       |                                                     
 <n>Z            |次の<n>行(デフォルトでは次の1ページ)を表示し,ページサイズをその行数に変更する
 <n>S            |次の<n>行をスキップし,その次の1ページを表示する    
 <n>F            |次の<n>ページをスキップし,その次の1ページを表示する
 <n>/<文字列>    |<文字列>で指定された<n>番目の文字列を検索し,見つかったろころから1ページ表示する
 <n>N            |以前に行った"/"コマンドの<文字列>を検索し,見つかったところから1ページ表示する
 Q または CTRL-C |MOREコマンドを終了する                               
 H または ?      |ヘルプ画面を表示する                                 
 =               |現在の行番号を表示する                               
 :F              |現在のファイル名と行番号を表示する                   
 <n>:N           |現在のファイルから<n>番目のファイルに移る            
 <n>:P           |現在のファイルから<n>個手前のファイルに移る          
 :!<コマンド名>  |<コマンド名>で指定されたMS-DOSのコマンドを実行する   
 V               |環境変数“EDIT”に指定されたエディタを起動する       
 .               |1つ前に実行したコマンドを繰り返す                   
------------------------------------------------------------------------
解説
  MS-DOSに付属のMOREコマンドでは,ファイルの内容を標準入力から受け取るフィルタとしての機能しかありませんが,
  このMOREコマンドでは,コマンドの引数として与えたファイルの表示領域を変更したり,表示テキストの指定,文字列の検索,
  エディタの起動,MS-DOSのコマンドの実行などファイルの内容を参照しながら様々な作業を行うことができます.

サンプル・オペレーション
    more b:\src\c\*.c
    fgrep printf *.c | more

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

"=" で現在の行番号を表示するのは、毎回 "=" 打たないといけないので不便です。

ついでに NP2 でも動かしてみました。
画面が30行でも15行でも 22行固定です。
PC98 では、としきmore が最強ですね。


10473/10443 CRG00666  文太             各社のDOS(割り込みベクタ)
( 1) 23/01/08 18:06 10471へのコメント(文太さん) コメント数:2
 システムコールというものについての、雑駁なイメージを抱こうとして
もがいています。以下で終了ですが。


=== test by B ===;
* M
50 ^^ "test"

;AX = $7476,		;これらは、正しい数字
;BX = $0000,		;#10454「VTDOS int2Fh」のまま
;CX = $6F64,
;DX = $0073,

AX = $7477,		;76 -> 77 変更。わざと間違えてみる
BX = $0000,
CX = $6F64,
DX = $0073,
&i($2f)

&m("AX: %04xh, BX: %04xh, CX: %04xh, DX: %04xh",AX,BX,CX,DX)

*

VTDOS
AX: 7477	BX: 0000	CX: 6F64	DX: 0073	;(1)

MS-DOS 6.20
AX: 7477	BX: 0000	CX: 6F64	DX: 0073

MS-DOS 8 (WinME)
AX: 7477	BX: 0000	CX: 6F64	DX: 0073

(1) 数字はそのまま無変更で返るが、返り値に意味はない。「無効な数字を
入れても知らんよ」というところでしょう。
 しかし、【システムが落ちることはない。】
 これが知りたかったのです。

 まともなシステムコールではまず落ちないのだろう。しかし、ROMをみたりすれば、
場合によってはシステムコールでも、落ちるのだろう。こっちのシステムコールは
どこまでDOSが管理してるのか分からない。というか、DOSの内部も、NEC,
IBM, FMRで違いますね。OEMで提供され、各社、それぞれのマシンにあわせてDOS
作ってね、とMSは言っていたはずなので。
 Win95あたりでも、NECはまだこれをやってましたね。NECが我侭だったという
より、過去の継承という意味で仕方なかったんだろうな、と思うようになりました
けれど。

#10459
>PC-98判定にROMを見ているがある種のハードを使っていると、その判定は失敗すると
>指摘をいただく。
>また、Int10Hを使う方法でPC-98とAT機を判定することが可能だが、これをFM-Rで使うと
>ハングアップする可能性あり。なので、まずFM-Rの判定を行ってからInt10Hを使うこと
>を推奨。

 ここから引っかかり始めました。



 installation check によく使われる「INT 2F」の総論は以下。
 後半、えーと、となるけど。

INT 2F - Multiplex - NOTES
	AH = identifier of program which is to handle the interrupt
	   00h-3Fh reserved for IBM (for DOS)
	   40h-7Fh reserved for Microsoft (for DOS)
	   80h-B7h reserved for IBM
	   B8h-BFh reserved for networks
	   C0h-FFh reserved for applications
	AL is the function code
   This is a general mechanism for verifying the presence of a TSR and
   communicating with it.  When searching for a free identifier code for AH
   using the installation check (AL=00h), the calling program should set
   BX/CX/DX to 0000h and must not depend on any registers other than CS:IP
   and SS:SP to be valid on return, since numerous programs now use additional
   registers on input and/or output for the installation check.



> ● VWXの存在確認及びAPI ENTRYの取得
>  INT 2FH - VZ Editor の友 (VWX.COM) - INSTALLATION CHECK
>           AX = E900h
>       BX = 5657h('VW')
>      CX = 0000h

 ここでもね。


10474/10443 CRG00666  文太             INT 10h
( 1) 23/01/09 23:56 10473へのコメント(文太さん)
 全体が見えていませんが、それでも、INT 10h って、ビデオ系だったよな、
という記憶はあり、DOS/Vになったとき、いっぱい活躍してるみたいだな、とか
思った記憶があります。

http://hp.vector.co.jp/authors/VA003720/lpproj/int10h/prologue.htm

--------V-100070-----------------------------
INT 10 - VIDEO - Everex Micro Enhancer EGA/Viewpoint VGA - EXTENDED MODE SET
	AX = 0070h
	BL = mode (see #00011)
Desc:	specify a proprietary display mode on the Everex Micro Enhancer or
	  Viewpoint video adapters
SeeAlso: AH=00h,AX=6F05h,AX=7000h/BX=0004h,AH=FFh"GO32"!!!!!

 そうじゃない場合もあるようですが、--- CPUが発するINT 10h とか(緊急事態
でしょう)--- もあるようですが、基本、ビデオ系です。

 ただ、BIOSコールとDOSコールの違いが分かっていません。video chip/boardごと
に、色々あるんでしょうか? 「BIOSを叩く」って?

 勘:DOSがけっきょく覆っている。システムコールって、BIOSコールだろうが
DOSコールだろうが、形式が決まってるんだ、、、とか。

 ま、上の引用をみても、いっぱい錯綜してそう、という感触はあります。

http://hp.vector.co.jp/authors/VA003720/lpproj/int10h/tables.htm#bios

 とかよーく見ると、例のあの謎な数字の意味が分かる場合もあるのかも。
 ダメかな?
 ほとんど、Undocumented DOSの"Data Structure"みたいに見えます。

 1983年ぐらいのノートン先生の、VIDEO基礎解説を、2月以内ぐらいに読みたいと
思います。これから、修羅場。
 表示ってねぇ、何をやってるの?



10475/10443 CXB00940  としき           Re: 各種DOSエミュでの more.com の挙動
( 1) 23/01/10 00:13 10453へのコメント(konnoさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
各エミュレータでの動作レポート、ありがとうございます。
いくつか気になったことを徒然に。

> VTDOS
> としきさんの more.com は PC98チェックがうまく出来ない、IBMチェックを先で対応できる。
> NECDOS6.2の more.com は、VTDOSのVTXET に対応しているようだ。

VTDOSって、PC-98のエミュレータではないですよね。
それなのにNECDOSのmoreがきちんと動くのはちょっと驚き。
DOS6/Vのmoreの動作がどうなのか、気になります。

> MSDOS Player

こいつがPC-98のエミュレータならともかく、仮にAT互換機のエミュレータだったとすると、

> どの more でも行数が 25行に固定されてしまう。ローメモリの値が固定?

これはまずいような気がする。だって、私の記憶が確かなら、DOS/V付属のmoreは行数の
変化に追従できたはず。もし私の記憶が正しくて、DOS/V上でDOS/V付属のmoreは正常に
機能するのにかかわらず、MSDOS PlayerではDOS/V付属のmoreが正しく機能しなかったと
すると、これはエミュレータ作者に改善要望を出しても良いかと。

> DOSVAXJ3

これは確か、そもそもがAXマシンのエミュレータだったはずなので、DOS/Vエミュ精度が
低くても仕方ないかなぁ。

> NP2

これって私の記憶が正しければ、PC-98のエミュレータですよね。
そして、私のmoreのドキュメントでも軽く触れていますが、そもそもDOS純正のmoreの改行の
挙動が、PC-98とDOS/Vで微妙に異なるのですよ。
ということで、NP2以外も含めて、DOS/V版moreでの各エミュでの実験結果との比較もほしく
なってしまいました。


10476/10456 CXB00940  としき           Re^4: MORE.COM 改造版
( 1) 23/01/10 00:13 10464へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  もっと短く書くって。なぜ? が僕にとっての大いなる疑問。
>  もちろん、ちゃちゃ入れだけですが、それでも楽しみにしておりますよ。
>  しかし、それは本家作家の意地というものなのだろうか?

えと、これって、私が512バイト以下を目指していることを行っているのでしょうか?
であるならば、それは意地でもなんでもなくて。
わりと個人的ではありますが、実利的な意味があります。
何かといいますと、ポケ3の外部記憶はメモリカードなわけですが、これ、私の
ところでは、クラスタサイズを512バイトでボーマットしてあるのですよ。つまり、
限られた外部記憶を有効に使うために、なるべく小さなファイルサイズにしたい
わけです。どうしても513バイト以上のサイズになるのなら、もういっそのこと、
次は1024バイト以下で収まる範囲でいろいろな機能を搭載してしまうことになる
かもしれません。

>  モバギはNEC製ですが、中身は、IBM/DOSV です。

DOS/Vってそもそも、行桁は可変ですよね。200LXでもそうだったかと思います。
なので、行桁を取得する標準的な方法はあるはずです。私のmoreでも使っている
でのはなかったかな。


10477/10456 CXB00940  としき           Re^3: Toolsのmore は凄かった!
( 1) 23/01/10 00:13 10472へのコメント(konnoさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
DOS用ではなくWindowsにも純正のmoreというものはあるわけです。
そいつらははたして、cmd窓というかコマンドプロンプトの画面拡張にきちんと対応
しているのか、いささか興味あり。
また、そいつらの機能で取り込めるものは取り込んでもいいかもしれない。
さらには、一歩進んで、例えば、コマンドラインオプションで1ページの行数を指定
できるようにするとか。

> "=" で現在の行番号を表示するのは、毎回 "=" 打たないといけないので不便です。

これって確か、ときどきしか使わないキーだったはず。
全部の行の行番号を表示する場合はcatコマンドを使って、その出力をmoreに食わす、
というのがコマンドライン全盛時の方法。確か、その手のフィルター系のツールに
ついて説明してた本に、それに近いことが載っていたと思う。
「ソフトウェア作法」だったかな。

> PC98 では、としきmore が最強ですね。

ありがたいお言葉です。
ただ、メインのターゲットとしていたポケ3では、オンリーワンというか、実質的
にライバルがいない状態なのが残念なところ。やっぱり、切磋琢磨というのは大切。
もちろん、正規には、FMR用のmoreと比較するのが筋なのでしょうが、ほとんど手
に入らないわけだし、次点というか次に比較対象になるのはいきなりmielまで飛躍
してしまうわけで、そんなの勝てるわけがない。


10478/10443 BQO00549  konno            Re: 各社のDOS(割り込みベクタ)
( 1) 23/01/10 01:38 10473へのコメント(文太さん) コメント数:1
>  システムコールというものについての、雑駁なイメージを抱こうとして
> もがいています。以下で終了ですが。

なるほど、文太さんの疑問はそこでしたか。

> (1) 数字はそのまま無変更で返るが、返り値に意味はない。「無効な数字を
>  しかし、【システムが落ちることはない。】
>  これが知りたかったのです。

これは DOS2.0 から変わらないルール、仕組があって互換性を保ちながら拡張してきていると認識しています。

> (1) 数字はそのまま無変更で返るが、返り値に意味はない。「無効な数字を
> 入れても知らんよ」というところでしょう。

AX がそのまま返る場合はその番号が使われていないということになります。
何かで使われている場合は AX が変わります。その場合下手な数字を入れると暴走して落ちる場合もあるので

>  まともなシステムコールではまず落ちないのだろう。

これは間違いです。インストチェックで BX をゼロにしているのはそれを防ぐためかと想像します。

> >PC-98判定にROMを見ているがある種のハードを使っていると、その判定は失敗すると
> >指摘をいただく。

PC-98やAT機やFM-R など、機種によってROMの内容が違いますが、偶然チェック部分が同じ場合があるということです。

> >また、Int10Hを使う方法でPC-98とAT機を判定することが可能だが、これをFM-Rで使うと
> >ハングアップする可能性あり。なので、まずFM-Rの判定を行ってからInt10Hを使うことを推奨。

Int10h はBIOSコールですね。これは機種ごとに全く違う機能を割り当てられています。
間違って呼べば暴走します。なので、正しい機種の判定法を調べなければいけないわけです。

>  installation check によく使われる「INT 2F」の総論は以下。

なるほど、INT 2F にもこんなルールがあったんですね。参考になりました。

> >  INT 2FH - VZ Editor の友 (VWX.COM) - INSTALLATION CHECK
> >           AX = E900h
> >       BX = 5657h('VW')
> >      CX = 0000h

うーむ、予想は外れたか、BXとCX どちらかがゼロなら問題ないとかかな。


前回のまとレス

>  ところで、VTDOSがエミュレートしてるDOSのヴァージョンって何? という
> 疑問がありまして(docのどっかに書いてある?)、あ、下ので調べれば

vtdos.txt には
DOSエミュレーションはMS-DOS 6.3を参考に実装していますが、
開発目的上不要であったり、Win32コンソール上で動作する上で無意味であったり、
不可能である機能は省略しています。
一部DOS 7.0のAPIもサポートしています。
システムコールは最終的にVTDOSスーパーバイザー命令(NTVDMでいうところのBOP)
が発行され多くは32bitコードでWin32APIコールに変換されます。

こう書いてあります。

>  とはいえですよ、もし、VTDOSがエミュってつくるベクターテーブルとcommnad.com
> が違うヴァージョンだったら、なんか動きそうもないですね。同じでなければダメ、
> って、普通な感じもする。

基本的な互換性はあるのでだいたい動くと思いますよ。
ただ細かな違いがあるので、動作確認は大変ですよね。MSDOS Player は幅広い対応で凄いですね。

MSDOS Player といえば、more-k で、"Q" で中断出来るようになりました。行番号はムズイ。(^^;


10479/10443 BQO00549  konno            moreの問題の原因は FreeDOSのcommand.com でした
( 1) 23/01/10 23:49 10453へのコメント(konnoさん) コメント数:1
今年の年初から話題にしている more の問題ですが
#10453:各種DOSエミュでの more.com の挙動  投稿者:konno   2023/01/02
この記事の内容が間違っていたことがわかりました。

> MSDOS Player
> どの more でも行数が 25行に固定されてしまう。ローメモリの値が固定?
> 入力待ちで[Ctrl]+C が効かない、途中で中断できない。[Ctrl]+[Break] も効かない。
>
> break ON としても [Ctrl]+C が効かない。この時 [Ctrl]+[Break] を押すと
> command.com あたりのメモリ内容などをダーッと表示して止まる?

このmoreの挙動の問題の原因は、10#さん調整の FreeDOSのcommand.com でした。
MSDOS Playerでは FreeDOSのcommand.com を使用していて、それが干渉しているのか
このような変な挙動が出ていたようです。

MSDOS Player+MSDOS6.2 のcommand.comでは正常に処理出来ました。
一度確認したつもりだったのですが、再度確認して分かった次第です。
お騒がせして本当に申し訳ございませんでした。m(__)m


VTDOS+FreeDOSのcommand.com で検証してみた結果。
Dir | more
どのmoreでも止まらずに最後まで表示してしまう。
表示後、ハングアップしてしまう。
win98ME、NECDOS6.2、Toolsのmore だけはプロンプトに戻ってハングしない。

このような結果になりました。
してみると、MSDOS Player は、使えるだけましということになりますね。


10480/10443 BQO00549  konno            Re^2: 各種DOSエミュでの more.com の挙動
( 1) 23/01/11 00:19 10475へのコメント(としきさん)
> VTDOSって、PC-98のエミュレータではないですよね。
> それなのにNECDOSのmoreがきちんと動くのはちょっと驚き。

これは元のmoreにIBMチェックが入っていたか、NECが入れたかのどちらかでしょうね。
たぶん元から入っていて、NECがPC98チェックを追加したのではと想像します。
ローメモリから行桁取得がそのままIBMチェックになりV-TEXTになるので、DOS3は単に決め打ちしていたのかな。


> これはまずいような気がする。だって、私の記憶が確かなら、DOS/V付属のmoreは行数の
> 変化に追従できたはず。もし私の記憶が正しくて、DOS/V上でDOS/V付属のmoreは正常に
> 機能するのにかかわらず、MSDOS PlayerではDOS/V付属のmoreが正しく機能しなかったと
> すると、これはエミュレータ作者に改善要望を出しても良いかと。

これは #10479 に書いたように、私の勘違いでした。
作者様に改善要望を出してしまったので、謝罪メールしました。m(__)m

> > DOSVAXJ3
> これは確か、そもそもがAXマシンのエミュレータだったはずなので、DOS/Vエミュ精度が
> 低くても仕方ないかなぁ。

精度というか、2重改行が良くわからないですね。それに対応しているToolsのmoreも。(^^;

> ということで、NP2以外も含めて、DOS/V版moreでの各エミュでの実験結果との比較もほしく
> なってしまいました。

まとめた結果をwikiにでも上げればよさそうですね。
ここの家主はなまけものなのでやるかどうかあてになりません。(^^;


10481/10456 BQO00549  konno            Re^4: Toolsのmore は凄かった!
( 1) 23/01/11 00:40 10477へのコメント(としきさん) コメント数:1
> 全部の行の行番号を表示する場合はcatコマンドを使って、その出力をmoreに食わす、
> というのがコマンドライン全盛時の方法。確か、その手のフィルター系のツールに
> ついて説明してた本に、それに近いことが載っていたと思う。
> 「ソフトウェア作法」だったかな。

なるほど、その手があったか。テキスト処理は奥が深いですね。
でもファイル関係はVZがあれば何も困らないんだよなぁ。
やはりVZ最強か。

> ただ、メインのターゲットとしていたポケ3では、オンリーワンというか、実質的
> にライバルがいない状態なのが残念なところ。やっぱり、切磋琢磨というのは大切。
> もちろん、正規には、FMR用のmoreと比較するのが筋なのでしょうが、ほとんど手
> に入らないわけだし、次点というか次に比較対象になるのはいきなりmielまで飛躍
> してしまうわけで、そんなの勝てるわけがない。

miel もそうですが、ToolsのmoreのDOCを読んで、これは勝てないわと思いました。
勉強のために出来そうなところは機能追加してみたいとは思います。


10482/10443 CRG00666  文太             VTDOS + PC-DOS J6.3/V
( 1) 23/01/11 01:14 10478へのコメント(konnoさん) コメント数:1
konnoさん

 いろいろと丁寧にお教えくださり、ありがとうございます。
 以下の点だけで、失礼いたします。
 おいおい、な感じですが、VTDOS最新版(最終版?)をDLしました。

>>  ところで、VTDOSがエミュレートしてるDOSのヴァージョンって何? という
>> 疑問がありまして(docのどっかに書いてある?)、あ、下ので調べれば

>vtdos.txt には
>DOSエミュレーションはMS-DOS 6.3(※)を参考に実装していますが、
>開発目的上不要であったり、Win32コンソール上で動作する上で無意味であったり、
>不可能である機能は省略しています。
>とあります。

 えっ? MS-DOS 6.3ってあった? MS-DOS 6.22 (英語版)が最終版じゃなかった
っけ? と思ったのが、昨日、一昨日?

vtdos.txt  36,343  2017-09-05  18:08 より
-----------------------------------------------------------------------
■シェル

VTDOSはシェルの指定が無い場合内蔵シェル(VTDCMD)を起動します。
これはコマンドラインをCMD.EXEに渡すだけの簡易的なものなので
お手持ちのMS-DOSやPC-DOSのCOMMAND.COMを利用されることを強くお勧めします。
ただし、一部のCOMMAND.COMしか動作確認を行っていません。
以下のバージョンが確認済みです。
作者はPC-DOS 6.3を使用しています。

MS-DOS  E5.0			起動BATの指定が無理っぽい
MS-DOS  E6.0			動作確認済み
MS-DOS  E6.21			動作確認済み
MS-DOS  E6.22			実行不可
MS-DOS	J6.2/V			日本語メッセージ表示にbiling.sysが必要

PC-DOS	J6.3/V			動作確認済み	推奨バージョン

PC-DOS	J6.3B/V			環境変数の参照に問題があるとの報告を頂いてます
PC-DOS	J7.0(PC-DOS2000)	動作確認済み
PC-DOS	7.0(IBMDFT)		VZの常駐起動が不可
-----------------------------------------------------------------------

 PC-DOS J7.0, PC-DOS 7.0とか、あったんだ!
 でも、これを見ると、10#さんが上で言っているのは(※)、PC-DOS	J6.3/Vのこと
でしょう。いちおう、今のところ、僕的には MS-DOS J6.2/V でいいなと思っています。
command.comのメッセージに、別に日本語要らないだろうとも思うので、どっかで、
MS-DOS E6.21とかにしてみるかも、ですが。

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

 FreeDosのcommand.com+MSDOS Player の調査報告など、ありがとうございます。
 うーん、MSDOS Playerとか入れて実験する? とか思っていたので、いえ、それは
手を広げすぎだよ、と平常心を取り戻すことができました。純なMS-DOS 6.2 で、やれる
ことをやりなさい、と自らに言い聞かせてます。

 その他迷子の文太の爆走する空想実験に、優しく回答いただき、感謝しています。
 お礼はお礼ですが、そっち方面にちゃんとしたレスというか、少しは自分でも努力
しました的返信は、少々先になりそうです。BX=0000, で安全策?

 >dir /p が効かない、から、かなり昔のkonnoさんの more.comとの格闘まで、
話が広がりましたね。ここまで深いのか。TCP/IP over .... そのFD、どこ?
そんなこと、できるの? 完全浦島になりました。

 konnoさんの本当に豆な(几帳面な)側面を垣間見させていただきました。多謝。

 明日も寒いけど、晴れで、そして僕らは元気です!



10483/10456 CRG00666  文太             Re^5: MORE.COM 改造版
( 1) 23/01/11 01:29 10476へのコメント(としきさん) コメント数:1
としきさん

 たぶん、誤変換が多いのだろうと思う。

>えと、これって、私が512バイト以下を目指していることを行っているのでしょうか?
 言っている。です。

>であるならば、それは意地でもなんでもなくて。
 別に意地でもプライドでも立派だと思いますけれど。

>何かといいますと、ポケ3の外部記憶はメモリカードなわけですが、これ、私の
>ところでは、クラスタサイズを512バイトでボーマットしてあるのですよ。つまり、
 たぶん、フォーマットですよね。
 はい、実利的です!

>限られた外部記憶を有効に使うために、なるべく小さなファイルサイズにしたい
>わけです。どうしても513バイト以上のサイズになるのなら、もういっそのこと、
>次は1024バイト以下で収まる範囲でいろいろな機能を搭載してしまうことになる
>かもしれません。

 fmore.com (for FMR)として、汎用性を捨ててしまう、というのは?
 しかし、ケチだと思うけど、これが進歩への動機。根性ですなぁ。
 ガバっとコピーできなくなるんだよ。気持ちは想像できますが。もう汎用は
管理コストが高いので、vzd.def (for pure DOS), exmenud.def なんてことに
することにしました。それでも環境派か!!! でも、こっちのほうが楽なんだ
もの。

>>  モバギはNEC製ですが、中身は、IBM/DOSV です。
>行桁を取得する標準的な方法はあるはずです。私のmoreでも使っている
>でのはなかったかな。

 はい、ソースを見るまでもなく、健康健全にmoreしてくれています。さっき
確認しました。ありがとう、としきmore。モバの中身は、MS-DOS 6.2だった
はずですが、MS moreを移植する前に、toshiki moreを導入したのだと思います。
問題なければ触らない、です。ありがとう。


10484/10456 CXB00940  としき           Re^6: MORE.COM 改造版
( 1) 23/01/11 13:43 10483へのコメント(文太さん)
参照先:http://toshiki.la.coocan.jp/
>  たぶん、誤変換が多いのだろうと思う。

たっぷりです。
あのときは半分眠りながらでしたが、そうでなくても多いので言い訳にならん。

>  fmore.com (for FMR)として、汎用性を捨ててしまう、というのは?

そういう手もありますけどね。
でも、PC-98用の30/90BIOS対応moreというのもないわけですよ。
mielとかの対応ソフトがありますから、どうしても必要というわけでもありません
けどね。
なので、DOS/V含めて可変行桁対応moreというニーズが私にはあるわけでして。
いわゆる、自分のためのソフト、というヤツです。


10485/10443 BQO00549  konno            Re: VTDOS + PC-DOS J6.3/V
( 1) 23/01/12 00:25 10482へのコメント(文太さん)
>  えっ? MS-DOS 6.3ってあった? MS-DOS 6.22 (英語版)が最終版じゃなかった
> っけ? と思ったのが、昨日、一昨日?

げげ、私も気が付きませんでした。(^^;
無意識に脳内でPCDOS6.3に変換していたのかもしれませんね。
私は間違いが多いので人のことは言えません。(^^;;


10486/10443 BQO00549  konno            MSDOS Player+FreeDOSのcommand.com で検証の補足など
( 1) 23/01/12 01:51 10479へのコメント(konnoさん)
MSDOS Player+FreeDOSのcommand.com で検証の補足をします。

more-k のIBMチェック&行桁の取得はローメモリを見ていますが
MSDOS Player+FreeDOSのcommand.com では V-TEXTなのに25行表示になります。
ローメモリの値が実際の行数を反映していないのかチェックしてみました。
数字の表示はむずいので、16進数の文字コードそのまま表示させてみました。
その結果は、"^]" = $1d = 29 でした。
あれえ?

行数はキチンと取得できているみたいなのに何故か24行? しか表示しないのです。
どうなってんねん!
Toolsのmoreがスペースキーでキチンと画面いっぱいに表示しているのも謎。
ソーサーで汗してみても全くわかりませんでした。(>_<)


ちなみに、ソーサーは MSDOS Player で動作します。
chej JP とか chej 03 とすると、ソーサーはグラフィックモードで動作します。
その場合、MSDOS Player では表示が見えなくなりますが、動作はしているようです。
上記のモード以外、つまり、V-TEXTモードならテキストモードで動作します。
DOSVAXJ3 ではグラフィックモードで動作しますが、MSDOS Player の方が使いやすいかな。
VTDOS では残念ながらソーサーは動かないようです。


10487/10443 CRG00666  文太             ah=30h = command.com
( 1) 23/01/13 21:04 10471へのコメント(文太さん) コメント数:2
 意味不明タイトル。
 意味は、

ax=$3000, &i($21)
&m("MS-DOS v%d.%d",ax&$FF,ax>>8&$FF)

 のDOSヴァージョンの取得は、command.comのヴァージョンを返す、
ということ。

 職場からの帰り、車の中でふと思いついた。PC-DOS 7.00 なんて明らかに
ver number の違うcommand.comをvtdosに入れてみて、例のファンクコールを
すれば、この間の話がどれくらいあてになるのか、あるいはならないか、
分かるな、と。

command.com  63,402  1998-05-25  07:00

 上は、PC-DOS 7.00 の command.com。拾ってくるの簡単。ま、ま、いいで
しょう。

 こいつでvtdosを立ち上げて上のマクロを実行したら、あれれ、しっかり

MS-DOS 7.0
 とか返ってきてしまった。もちろん、"MS" in MS-DOSはマクロのもの。

 ふーん、そういうものなんだ。 DOS/VTDOS起動時点で、もう連絡取り合ってる
ですかね? あるいは上のファンクコールの時点でcommand.comのver checkに
行くのか? これは永遠の謎でしょう。

 とにかく気が済みました。さくっ。作戦は、失敗、ちゃんちゃん。
 vtdos.txtのとおり、PC-DOS 6.3程度なのでしょう。



10488/10443 BQO00549  konno            Re: ah=30h = command.com
( 1) 23/01/15 21:21 10487へのコメント(文太さん) コメント数:1
>  ふーん、そういうものなんだ。 DOS/VTDOS起動時点で、もう連絡取り合ってる
> ですかね? あるいは上のファンクコールの時点でcommand.comのver checkに
> 行くのか? これは永遠の謎でしょう。

これは気になりますね。
各種エミュでどのような挙動なのか、Verコマンドと比べてみました。


VTDOS + MSDOS6.2
ver	Microsoft Windows [Version 10.0.19044.2486]
Fコール	MS-DOS v6.20

このように、VTDOS の ver は、windows のバージョンを返します。
ファンクションコールは、読み込んでいる command.com のバージョンを返します。


MSDOS Player + MSDOS6.2
ver	MS-DOS Version 6.20
Fコール	MS-DOS v6.20
MS-DOS v6.20

MSDOS Player + FreeCom
ver	FreeCom version 0.82 pl 3 [Mar 13 2013 16:40:42]
Fコール	MS-DOS v7.0

このように、MSDOS Player の ver は、読み込んでいる command.com のバージョンを返します。
ファンクションコールも、読み込んでいる command.com のバージョンを返します。


DOSVAXJ3 + FreeCom
ver	DOSBox version JP220408. Reported DOS version 7.10.
ファンクションコール	MS-DOS v7.10

おや? FreeCom のバージョンは、7.0 のはずが、7.10 になっていますね。
DOSVAXJ3 の場合は、dosboxj.conf の記述の
#            ver: Set DOS version. The default value is 7.10.
ver            = 7.10
ここで記述したバージョンが反映されているみたいです。
ここをコメントにすると、7.10 になります。
なので、読み込んでいる command.com のバージョンがわからないです。
うーん、いいのだろうか?


10489/10443 CRG00666  文太             Re^2: ah=30h = command.com
( 1) 23/01/17 01:11 10488へのコメント(konnoさん) コメント数:1
 ぜんぜん分からないのですが、可能なら、確認させてください。
 FreeComのDOSを単体で起動させたら(DOS機が必要なんでしょうね。
それ用のFDかHDが)、verはいくつなのでしょう? v7.0と返すのが
正しい?

>DOSVAXJ3 + FreeCom
>ver	DOSBox version JP220408. Reported DOS version 7.10.
>ファンクションコール	MS-DOS v7.10
>おや? FreeCom のバージョンは、7.0 のはずが、7.10 になっていますね。

 7.0なんですよね? 本当は?


>DOSVAXJ3 の場合は、dosboxj.conf の記述の
>#            ver: Set DOS version. The default value is 7.10.
>ver            = 7.10
>ここで記述したバージョンが反映されているみたいです。
>ここをコメントにすると、7.10 になります。

 いちばん分からなかったのは、この箇所です。

>ここをコメントにすると、>ここをコメントにしても、

 が正しい言い方ですよね。「dosboxj.conf の記述」とは関係なく、
とkonnoさんは、結局言いたいのかな? と。

 エミュは大変だぁ〜〜〜。


 少なくともVTDOSが、command.comのヴァージョンを返すメカニズムというか
意味は、その後分かりました。仮説・空想ですけれど。上のエミュの挙動とは、
いちおう矛盾しないかな。

 DOSVAXJ3は、変だな。何してる? 僕の興味の外ですけれど。



10490/10490 CRG00666  文太             etext作成の現実
( 1) 23/01/17 01:43 コメント数:1
 どうでもいいことなのですが、以下を捨てる前に、少し書いちゃおうか、とが
思いまして。
 ただ、これ、英語のテキストだからなんですよね。すいません、皆さん、その気に
なられましたら、お手伝いいたしますので、英語、がんばって下さい。
 頼もしい DeepL もあります。


 とにかく。
 以下は、IBM Macro Assembler 1.00 マニュアルのetext化作業の風景です。
 マニュアルは、本文0-6章、アペンディクスA-D、グロッサリー(用語解説)、
索引、から成り立っている。
 以下は、tr -d で、「\x97」という化け文字を除去しようとしているところ。
 そろそろ、全部合体させようかな、というところまで来ました。


 プログラムを使うと、以下を書くのに、思考1分、実務30秒なんです。
 こんなことしてたら、はまっちゃいますよねぇ、、、。
 ここにVzのソースを読み解く鍵がある!!! とか思ったら、1本でも
20本でも、機械による機械のためのバッチは、書いてしまう。


---- 1.bat ---
rem C:\WK\IBMASM\>1.bat

tr -d \x97 < C:\WK\IBMASM\00.txt	>C:\WK\01\00.txt
tr -d \x97 < C:\WK\IBMASM\01.txt	>C:\WK\01\01.txt
tr -d \x97 < C:\WK\IBMASM\02.txt	>C:\WK\01\02.txt
tr -d \x97 < C:\WK\IBMASM\03.txt	>C:\WK\01\03.txt
tr -d \x97 < C:\WK\IBMASM\04.txt	>C:\WK\01\04.txt
tr -d \x97 < C:\WK\IBMASM\05.txt	>C:\WK\01\05.txt
tr -d \x97 < C:\WK\IBMASM\06.txt	>C:\WK\01\06.txt
tr -d \x97 < C:\WK\IBMASM\09app_a.txt	>C:\WK\01\09app_a.txt
tr -d \x97 < C:\WK\IBMASM\09app_b.txt	>C:\WK\01\09app_b.txt
tr -d \x97 < C:\WK\IBMASM\09app_c.txt	>C:\WK\01\09app_c.txt
tr -d \x97 < C:\WK\IBMASM\09app_d.txt	>C:\WK\01\09app_d.txt
tr -d \x97 < C:\WK\IBMASM\glos.txt	>C:\WK\01\glos.txt
tr -d \x97 < C:\WK\IBMASM\index.txt	>C:\WK\01\index.txt
---------------

 で、debugとlinkの解説が抜けていることに気づき、

IBM Personal Computer Disk Operating System (PC-DOS 1.0用)

 をネットで探すことになりました。もちろん、類似品は見つかりました。

 このあたりで、c.mosさんやwingさんの情報量に追いつけます。
 あと必要なのは、根性だけ。


追記:もしかしたら大きな間違いにやがて気づくことになるのかもしれませんが、
tasm, optasm, masm1/2/3/4/5。たぶん、そう変わりはしません。もちろん、違う
ところはあるのでしょうが、Vzのソースに関しては、、、。5年後くらいに、
IBM MASM 1.0で、c.mosソースをアセンブルしてみます。その方面で、高橋さんは、
何か特別なことをしてたっけ?



10491/10443 BQO00549  konno            DOSVAXJ3は 内蔵DOSで動いているようです
( 1) 23/01/17 22:56 10489へのコメント(文太さん) コメント数:1
>  FreeComのDOSを単体で起動させたら(DOS機が必要なんでしょうね。
> それ用のFDかHDが)、verはいくつなのでしょう? v7.0と返すのが
> 正しい?

これはv7.0で正しいと思います。#10488 で書いていますが

> ver	FreeCom version 0.82 pl 3 [Mar 13 2013 16:40:42]
> Fコール	MS-DOS v7.0

DOS7.0 と表示されるので、DOS7.0 相当ということではないでしょうか。

> >ここをコメントにすると、
> ↓
> >ここをコメントにしても、
>  が正しい言い方ですよね。「dosboxj.conf の記述」とは関係なく、
> とkonnoさんは、結局言いたいのかな? と。

これは途中を省略したらわかりにくくなってしまったようです。

> >ここをコメントにすると、7.10 になります。

ここをコメントにすると、デフォルトで7.10 になります。
            ^^^^^^^^^^^^
これでどうでしょう。

そんなことよりも私は大きな勘違いに気が付きました。
どうやら DOSVAXJ3 は、普通に起動すると内蔵DOS(command.com)が動いているようです。
外部の command.com を使うには、DISKイメージにDOS環境を作ってブートさせるようです。
これは面倒なので実際はどうなのか確認できていません。(^^;


10493/10443 CRG00666  文太             Re: DOSVAXJ3は 内蔵DOSで動いているようです
( 1) 23/01/18 02:11 10491へのコメント(konnoさん) コメント数:2
konnoさん

 すいません、まったく話がかみ合っていないようです。

  DOSVAXJ3環境でのFreeCom, command.com(7.0)が、そのFコールが、DOS7.0と
返すことってあるのですか?
 あるとすると、それはどんな条件で? そのときの dosboxj.conf の記述は?

>DOSVAXJ3 は、普通に起動すると内蔵DOS(command.com = 7.10, bunta added)
>が動いているようです。
 すいません、混乱の泥沼です。

 DOSVAXJ3 で、普通に起動させず、dosboxj.confに記述のcommand.comで起動
させると(以下の3通り)、

ms-dos, command.com 6.2,  
pc-dos, command.com 7.0, 
FreeCom, command.com 7.0

 Fコールの返り値はどうなるのでしょう?

 深い関心があるわけではありません。
 すごく変だなぁ、いちばん変なのは僕の頭なのかなぁ? と。

 自分でやってみろ!? いえ、すいません、僕はエミュにそこまでの関心はないん
です。
 僕の結論としては、DOSVAXJ3はけっこう特殊らしい、で、まあ、十分なのです。
 ごめんなさい。
 もし宜しければ、「Fコールの返り値」をお教えください。


 いちおう整理しておくと、

        ax=$3000, &i($21)
        &m("MS-DOS v%d.%d",ax&$FF,ax>>8&$FF)

 は、結局、どのような経路で何をしているのか、というのが主題だと思っています。



10494/10443 CRG00666  文太             MS-DOS version
( 1) 23/01/18 15:47 10487へのコメント(文太さん) コメント数:2

 いえ、DOS 7.1 って何のつもり? といった疑問がありまして。
 幸か不幸か、僕は、DOS 8 というのがWinMEであることはよく記憶しているのですが、
以下のような状況でした。

https://microsoft.fandom.com/wiki/MS-DOS#Versions

MS-DOS 7.x

Version 7.0 (Win95, 95A) - Support for VFAT long file names. New editor.
JO.SYS is an alternative filename of the IO.SYS kernel file and used as such
for "special purposes". JO.SYS allows booting from CD-ROM to hard disk.

Version 7.1 (Win95B - Win98SE) - Support for FAT32 file system.
Last general purpose DOS to load Windows.

MS-DOS 8.0
Version 8.0 (WinME) - Integrated drivers for faster Windows loading.
Four different kernels (IO.SYS) observed.

Version 8.0 (WinXP) - DOS boot disks created by XP and later
contain files from WinME. The internal command prompt still reports
version 5.0

 PC-DOSになると、ver番号的には、またまた、微妙な違いが出てくるわけですが。


 おぼろげな記憶によると、純DOSは8GB程度までのHDしか管理できません。
FAT16だから。C,D,E,F(2GB each)かな? Fはちょっと小さめだったと
思う。

 中国のハッカー集団に China DOS Unionというのがありまして、彼らがDOS7.1
(たしか)を流行らせました。WinWorldみたいな正統派は、こういうの認めたくない
のだけど、あまりに人気があるから載せときますと言い訳しながら掲載してました。

 FAT32がDOSで効くのかなぁ? Vzどうなる? いつか、その環境のマシンを
作って試してみたいと、10年くらい前に思いました。5年以内に実験します。
 ただWinMEがいいのは、USB2.0が使えるところなんですよね。別にGUIは要らない
けれど、でも、DDWINが……。
 FDでガッチャンガッチャンは、いずれにせよ、嫌いです。

 もう一点。我々はWinXP(NTVDM)との付き合いが長かったから、きっと記憶にある
だろうと思うのですが、あれは、DOS ver.5でした。上の記述
"The internal command prompt still reports version 5.0"
意味深ですね。Fコールは、command.comのヴァージョンを返すものなんでしょう。
そして、エミュという想定外の環境以外では、DOS3のカーネルの上でDOS4のcommand.com
を使う人はふつうおらず、MSもIBMも、それをいわば禁止してるわけです。see more.com。

 もちろん、command.comは、ほぼDOSシステムの外に存在しているので、代用品で
あってもいいはずなのですが(理屈上)、ま、ふつう現実的ではないでしょう。
 で、その現実的でないこと(それに近いこと)が、エミュで起こっている、かな。



10495/10443 CRG00666  文太             追記
( 1) 23/01/18 15:57 10494へのコメント(文太さん) コメント数:1

 VTDOS以外のエミュレータのことはまったく知らないのですが。

--- from vtdos.txt ---
■シェル

VTDOSはシェルの指定が無い場合内蔵シェル(VTDCMD)を起動します。
これはコマンドラインをCMD.EXEに渡すだけの簡易的なものなので
お手持ちのMS-DOSやPC-DOSのCOMMAND.COMを利用されることを強くお勧めします。
----------------------

 とあるように、ふつうエミュレータには、超簡易版のcommand.comみたいな
ものが付いているものなのではないですかね?
 ただcommand.com相当のものを作るのは大変すぎるから、その辺から持ってきてよ
となってるじゃないですかね? 空想たくさん。

 commnad.comがほぼ外部アプリでありながら、ほぼ必須みたいである。
 奴は何をしてくれるのか?
 .comファイルが、TSRが、ロードされたとき、どうとか。
 興味深いです。EncyclopediaやUndocumented DOSを、いつか読み解きたいもの
です。



10496/10443 BNY00646  shadow           Re^2: DOSVAXJ3は 内蔵DOSで動いているようです
( 1) 23/01/18 18:35 10493へのコメント(文太さん) コメント数:2
皆さん、横から失礼します。

DOSVAXJ3 でそれぞれのimgファイルを立ち上げた結果
PC-DOS 6.3V
command.com  65091  94-04-15 6:30
ver
PC DOS Version J6.30/V
Revision 0
ファンクションコール  MS-DOS  v6.30

windows98起動ディスク
command.com 118164  98-05-15 20:01
ver
Windows 98 [Version 4.10.1998]
ファンクションコール  MS-DOS  v7.10

インストール途中で停止して起動できなかったもの
PC-DOS	J7.0(PC-DOS2000)
MS-DOS	6.2/V
でした。


10497/10443 CRG00666  文太             Re^3: DOSVAXJ3は 内蔵DOSで動いているようです
( 1) 23/01/18 20:18 10496へのコメント(shadowさん)
shadowさん、お久です。うれしい、うふ。

>PC-DOS 6.3V
>ファンクションコール MS-DOS v6.30

>windows98起動ディスク
>ファンクションコール MS-DOS v7.10
 (これは、あれを調べておいてよかった、という感想です。m(__)m)

 おお、想像どおり。ファンクションコールのdos ver checkは、
command.comのverを返す。
 きっと当たり前なんでしょうけれど。

 ありがとうございます!

 なお、「imgファイルで立ち上げる」など、DOSVAXJ3について、僕は
完全に無知です。言うまでもなく、僕が興味をもっているのは、Vzが
起動できるDOS環境です。できたら、オリジナルがいい。事実上、IBM系。



10498/10443 BQO00549  konno            Re^3: DOSVAXJ3は 内蔵DOSで動いているようです
( 1) 23/01/18 22:53 10496へのコメント(shadowさん)
shadowさん、今年もよろしくお願いします。

> DOSVAXJ3 でそれぞれのimgファイルを立ち上げた結果
> PC-DOS 6.3V
> windows98起動ディスク

流石ですね、私も試したのですが、うまくいかなくて。(;_;)
Bochs の a.img ファイルを一度だけブート出来たのですが、2度目からは立ち上がらず。(>_<)
FD からブートできても、そこから何もできないのでメリットは全く感じませんでした。

> インストール途中で停止して起動できなかったもの
> PC-DOS	J7.0(PC-DOS2000)
> MS-DOS	6.2/V

うーむ、shadowさんでも駄目ならなにかしら問題があるのでしょうかね。
ブート環境は今は全く必要性を感じないので、必要が出てきたらまた調べることにします。
ありがとうございました。


10499/10443 CXB00940  としき           Re: 追記
( 1) 23/01/18 23:25 10495へのコメント(文太さん) コメント数:2
参照先:http://toshiki.la.coocan.jp/
難しいことはわからないのですが、ちょっとここだけ。

>  commnad.comがほぼ外部アプリでありながら、ほぼ必須みたいである。
>  奴は何をしてくれるのか?

Wikipediaの「コマンドラインインタプリタ」の項目がいささかなりとも助けになる
かも。私は「コマンドインタプリタ」という言い方をしていましたが、この表現は
方言か、あるいは古い表現となってしまったかのどちらかの模様。

かつての8ビットOSであるところのCP/Mでは、command.comのような外部プログラム
としてのコマンドラインインタプリタは持っていなくて、OS本体がコマンドラインを
処理していたと記憶しています。
また、Wikipediaでも紹介されていますが、UNIXの場合、各種のシェルをすげ替える
というか入れ替えることによって、コマンドラインの操作性をガラッと変えることが
可能。ちなみに、ここでいうシェルという言葉の由来は、OSそのものを覆う「殻」と
いう意味からきているそうです。貝殻?
あと、大昔の記憶なんで当てになりませんが、DOS3のころ、PC-98用のフリーウェア
で、addconという名前のソフトがあって、これはcommand.comにパッチを当てて機能
を追加するソフトだったような。違ったかな。実家に残っているはずなんで、次に
帰ったときに確認してみよう。


10500/10500 BQO00549  konno            DOS Verチェック verc.com を作ってみた
( 1) 23/01/18 23:46 コメント数:2
VZの無い環境では、DOSのverチェックマクロが使えませんね。
VTDOS でも ver コマンドでは Windowsのバージョンしか表示しませんし。
なので、verc.com (Ver Check) を勉強を兼ねて作ってみました。

やっぱり数字の表示で躓いてしまいましたが、こんなの誰かが公開しているかも。
と思って Vector を覗いたらありました。

力持MS-DOS VERSION CHECK  vers11
1998/12/07  23:47  125 vers.com

MASMのソース付だったので、計算部分を参考にさせていただき、出来ました。\(^^)/ ヤッタ-

実はアセンブラ入門のページを見て作り始めたのですが、二桁の数字を表示させるのに

		add	al,moji1
		aaa	                ;AH <=01h, AL <=03h ※ AAA は上手く動かない

このように、AAA を使うと出来るように書いてあったのですがなぜかうまくいかず。(>_<)
力持MS-DOS VERSION CHECK  VERS V. 11  のソースから

	XOR	CX, CX			; cx=0
	MOV	CL, 0AH			;;10でわり算致します。
	DIV	CL			; SRC = 1byte  :  AX ÷ SRC の余り→AH、商→AL

これを代替ルーチンにしたら上手く動きました。

2023/01/18  23:22   87 verc.com
サイズも小さいです。

VERC.COM
DOS Ver 6.20


自作、改作アプリの放置部屋 に置きました。

VERC.LZH サイズ 1,063bytes  23-01-18 new!

  VERC.COM Ver01

  ・DOSのバージョンを表示するコマンドです。VTDOSなどで使う為に作りました
  ・アセンブラ入門のページと力持さんのソースを参考に作りました。
  ・V01  2023-01-18  とりあえず作ってみた
  ・ソース付きです。皆さんに感謝

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


10501/10443 BQO00549  konno            Re^2: DOSVAXJ3は 内蔵DOSで動いているようです
( 1) 23/01/19 00:07 10493へのコメント(文太さん) コメント数:1
>   DOSVAXJ3環境でのFreeCom, command.com(7.0)が、そのFコールが、DOS7.0と
> 返すことってあるのですか?
>  あるとすると、それはどんな条件で? そのときの dosboxj.conf の記述は?

この話題の私の書き込みを全部読んでいればわかるとは思いますが
通常の使用では、dosboxj.conf で指定した VER が返ってきます。
指定しない場合、ファンクションコールは 7.10 が返ってきます。
もちろんVZマクロでも 指定した値か 7.10 が返ってきます。

DOSVAXJ3 は、外部の command.com を使用していないと思われます。
その証拠に、FreeCOM をCOMSPEC で指定していても
FreeCOM 独自の内部コマンド 「?」ヘルプ は bad command になります。
?  VTDOS などでは、内部コマンド一覧が表示されます。

なので、DOSVAXJ3 で、外部の command.com を使用するにはブートイメージファイルで起動するしかないようです。
これは実用的とは思えないので検証はしません。


#10500 で、VZ環境が無くても DOSバージョンを確認できる verc.com を作ってみました。
VTDOSで VER コマンドと比べてみてください。

ver	Windowsバージョンを表示
verc	DOSバージョンを表示


10502/10500 CRG00666  文太             Re: DOS Verチェック verc.com を作ってみた
( 1) 23/01/19 00:09 10500へのコメント(konnoさん) コメント数:1
 いいっすね!

>力持さんのソースを参考に作りました。
 もぐらさんじゃないですか! おお、あのコメントが役に立った?
 うん、知ってる、あのコメントスタイル。;; と ; とか(意味、知ってます)。
 はい、とても役に立つ場合もあります。おいしいところだけいただくスキルが
僕にないだけ。

 3日以内ぐらいに眺めます。VTDOSの結果、、、。試用する意味はないような
気がするけど、3箇所でやってみましょう!

 何も考えてなくてこういう発言もなにですが、valueを文字にするって話
ですよね。ナツメ本『ファンクションコール』にサンプル、ありませんでしたっけ?
 違う話かな? 割り算?
 高級言語Vzの &m() のありがたさよ、なんでしょうね。


10503/10443 CRG00666  文太             Re^2: 追記
( 1) 23/01/19 00:14 10499へのコメント(としきさん) コメント数:1
>難しいことはわからないのですが、ちょっとここだけ。
 少なくとも僕は「難しい」話はしてませんよ。

>>  commnad.comがほぼ外部アプリでありながら、ほぼ必須みたいである。
>>  奴は何をしてくれるのか?"

>Wikipediaの「コマンドラインインタプリタ」の項目がいささかなりとも助けになるかも。
 ありがとうございます。明日、明後日あたりに。

>私は「コマンドインタプリタ」という言い方をしていましたが、この表現は
>方言か、あるいは古い表現となってしまったかのどちらかの模様。
 英語か日本語か分りませんが、この呼び名が一般的かと思いました。数日前にどっかで
みた記憶。

 ありがとうございます!


10504/10443 CRG00666  文太             PC DOS 7 Update
( 1) 23/01/19 00:15 10494へのコメント(文太さん) コメント数:1
 独り言です。

--- from PC DOS 7 Technical Update ---

Appendix A. PC DOS 7 Interrupts

This chapter contains information to support use of the PC DOS 7 interrupts.
PC DOS 7 reserves interrupt types 20H to 3FH for its use. Absolute memory
locations 80H to FFH are reserved by PC DOS 7. All interrupt values are in
hexadecimal.

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

 NEC 98の出身でありまして、何でしたっけ? 「開発者セット」? みたいなDOSを
買ったことがなかったのです。だから、たぶん、debugも、exe2binも、linkも、mapsymも、
symdebも、masmも、もっと大事な、この手のテクニカル・マニュアルというものも、
見たことがなくて。
 (Vz 1.0を、ビレッジ・センターで買いました、なんて通ではまったくない。
 たぶん、僕はそのころ、受験勉強をしていたか、教習所に通っていたか、、、。
 もしかしたらバスケしてたかも。)

 もちろん、前に話題に出たアスキーの『黒本』(Vzマニュアルにあらず)とか
持っていたりするし、その手の本も所有はしている。しかし、読んでない。読もうとした
こともない。で、Undocumented DOSとか読んでる。

 基本は、上のようなところに書いてあるのですね。
 あと不幸は、NEC 98, DOS6 な頃、DOS3.3で十分なVzに出会ってしまい、そして、時代
はWindows。95, 98, ME, XP ...。
 あるべきところにある正しい情報に、まず当たりなさいよ。全体像をつかめ!

 Vzのソースがどうとか、Pascalがどうとか言いたいなら、まず、Technical Updateを
眺めよ、です。

 ときどき日本語用もあるみたいですが、上のようなマニュアルもプログラム(OS)
本体も、容易に手に入ります(基本英語版)。
 ただ、IBM系DOS(PC-DOS)にしろ、MS-DOSにしろ、98用以外のDOS資料って
日本語で容易に手に入る? というのもあります。
 あるところにはあるのでしょうけどね。というか、過去形。あった、のでしょう。今は?

 『98ハードに強くなる本』とかも10年くらい前に買った……。1年前に捨てようと
して、思いとどまった。

 僕は、この方面では、日本語を基本的に捨てていますので(処理対象として)、気にして
ません。ただ、情報自体が英語なんですよね、入手が簡単なのは。
 ですから、さきほど、あのように書きました。Get help from DeepL if you are like-minded.
I might help ....

 マニアックなコレクターになりつつある、今日このごろ。

 けっこう暇そうじゃん? いえ、いま瞬間的な凪(なぎ)なだけ。嵐はすごそこ。


10505/10443 CRG00666  文太             Re^3: DOSVAXJ3は 内蔵DOSで動いているようです
( 1) 23/01/19 00:31 10501へのコメント(konnoさん)
>この話題の私の書き込みを全部読んでいればわかるとは思いますが
 う、怒られた。う、ばれた。

>DOSVAXJ3 は、外部の command.com を使用していないと思われます。
 これが結論なら、それはそれで良いのですが、ますます訳が分からなく
なってますね。
 でも、だとすると、shadowさんの実験結果は何を意味するんだろう?
 と思いましたが、

>なので、DOSVAXJ3 で、外部の command.com を使用するにはブート
>イメージファイルで起動するしかないようです。
>これは実用的とは思えないので検証はしません。

 別の仕組みがあるんですね。了解です。

 「全部読んでない」のが原因ではなく、DOSVAXJ3にはコマンドインタープリタ
を指定する方法が2つあるが(まず僕がこれを知らない、すいません)、
外部command.comを使いたい場合、ブートイメージファイルで起動する。これは、
dosboxj.confでの指定(起動)とはまったく別経路、ということですね。

 うう、怖いなぁ、もう。
 はい、僕が僕の文脈で突っ走りました。すいません。


10506/10443 CRG00666  文太             シェル?
( 1) 23/01/19 14:37 10499へのコメント(としきさん) コメント数:3
 どうでもいいことですが。

>かつての8ビットOSであるところのCP/Mでは、
 としきさんは、CP/Mを使ったことがあるのですか? 8ビット時代には、CP/Mが
日本でも、メジャーな選択肢だった? 日本語は半角カタカナですか?

>ちなみに、ここでいうシェルという言葉の由来は、OSそのものを覆う「殻」と
>いう意味からきているそうです。貝殻?
 意味や語源は知っていました。昔とらじさんに「シェルってなんですか?」と
質問して困らせてしまったことがある。犯罪だ。
 でも、コマンドラインインタプリタ、固そうですね。カーネルはやたら柔らかそう。
ほぼカキのイメージ。やっぱり、うまいのはカーネルだろう、とか。外は食えねえぞ。

>PC-98用のフリーウェアで、addconという名前のソフトがあって、
 面白い発見があったら教えてください。
 英語圏では、商用されたものがあったみたいだけど、やっぱりメジャーには
ならなかったみたい。
 DOS汎用でも、KI-shellとかって、command.comの上に乗っかるのでしたっけ?
 これ、調べる予定はありません。Vzで十分ですから。

 内部コマンド、autoexec.batの処理。bat一般の処理などなど。こういうのはどうでも
いいんです。メモリー・プロセス管理、こっちなんですよね。スタックセグメント。
壊されたらchecksumして再ロード。Vzがちょっかい出してるはず。この辺、探りたい。



10507/10443 CRG00666  文太             PC DOS trivia
( 1) 23/01/19 14:39 10504へのコメント(文太さん) コメント数:2
 こういう独り言が多くて、すいません。
 ちょっと気になったのです。日本IBMのPC-DOSって、本国アメリカのPC-DOSって
どんな具合だったの? と。PC-DOSとMS-DOSが違い始めたのはいつ? などなど。

 そもそも、vtdos.txtのcommand.com相性表は、ver6 近辺が中心だったじゃない
ですか? で、PCとMSで、微妙に違うらしい。
 それに、記憶をたどると、日本ではNEC(ときっとエプソン?)が圧倒的だった
から、PC-DOSって、DOS/Vが登場するまで、ほぼシェアなかったんじゃないのかな、
云々。日本でIBMのマシンを買ったらPC-DOSだったんでしょうが、これもDOS/Vの
時代になってからでしょう? が、アメリカでは、きっとやや高級志向だったかも
しれないけど、IBMのマシンならPC-DOSだったのでしょう。
 マニュアル整備・断片的サポート体制の用意その他の状況証拠から、本国アメリカ
では、IBMは十分に強かったと想像しました。数値はありませんが、きっとMSに
負けない程度に。Windows95で、ぶっちぎっちゃったんでしょうね。PC事業からの
撤退はもう視野に入っていたかも。

 (もっと深い私語:でも、2003年くらいに、まだIBMはThinkPadの広告を
していた。某超著名文芸評論家−−けっこう右翼=ブッシュJRのお友だち−−が
ThinkPadを叩いている広告が、機内のTime誌に載っていた。某学会にいったとき、
ハワイ行きの飛行機の中で見たのです。「ゲイツ(評論家の名前)、嫌な奴だよなぁ」
と同行の先生と話をした。MSがらみの冗談を挟む心の余裕はなかった。超高名な
人だったから、先生も僕も、(仕方なく)彼の著作を2,3冊読んでいた。
 続けちゃう:しかし、コンピュータ界の巨人IBMが作るPCのOSが、MSの
Windowsであるという時代がしばらく続いたとは、、、。ふててなかったのかなぁ。
「プライドとか関係ない。商売だからしょうがないのだ」かな?)


 とにかく、僕の疑問の一部は以下で解消されました。6.1から2社は分かれ始めた。
7.1 まで。そして、PC-DOS 7.1では、Fat32 supportがありえた。
 つまり、debugその他の開発ツールは、6.1以前までは、同一のはずだ、、、。


 さらにディープで「要らぬお節介」な一言。下のようなのは、DeepLなんかに
入れず、ゆっくり3回読みましょう。意味鮮明な術語まみれの英語を読むのは
(たぶん)けっして難しくない。自信の獲得。「心の壁」の乗り越え。諦めない
忍耐力。その気なら、ですが。残り時間との兼ね合いもあるでしょうけどね。
 でもそっちを選ぶと、狭まると思うと愚考いたします。c.mosさんもwingさんも
この程度はガッツで読み解いた(必要なところだけ)と想像しています。

https://winworldpc.com/product/pc-dos/2000

PC-DOS 2000

   IBM  PC-DOS  was  an  IBM  branded  version  of  MS-DOS licensed from
Microsoft  for  use on the IBM PC system.  Versions of PC-DOS paralleled
that  of  MS-DOS  up  until version 6.1,  where PC-DOS was independently
maintained by IBM up until 7.1,  the last version. Although not the only
OS  available for the IBM PC when it came out, it quickly became popular
due to its low cost in comparison to the others.  Its direct competitors
on  the  PC  at  the  time  were  CP/M-86  and UCSD p-System.  The major
differences  between  PC-DOS  and  MS-DOS  were  only in terms of driver
support  and  built  in  programs  until  version 6.1  where development
diverged.

   For  Microsoft  and  other  OEM  DOS  releases, please see the MS-DOS
product page.

   The  first version of PC-DOS was released in August 1981 with the IBM
PC.  The last version released by IBM was PC-DOS 7.1,  which had updates
all  the way up until 2003.  This last version of DOS is still in use by
some  hardware  developers usually embedded into recovery tools and BIOS
flashers.

   This  OS  does  not  have  a  GUI.  It uses a command line interface,
however  PC-DOS  4  and  later,  like MS-DOS, also included the optional
graphical  DOSShell  program.  Like other DOSes, third party GUIs can be
installed.


   Release notes

   PC-DOS 2000 is a minor update to PC-DOS 7.0  that fixes Y2K bugs.  It
is  marketed as "PC-DOS 2000" but it reports itself as "IBM PC DOS 7.00,
revision 1".

   7.0/2000   was  the  last  complete  release.  Although some embedded
products  were  released with portions of "PC-DOS 7.1"  that added Fat32
support.


10508/10443 CXB00940  としき           Re^3: 追記
( 1) 23/01/20 00:53 10503へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> >難しいことはわからないのですが、ちょっとここだけ。
>  少なくとも僕は「難しい」話はしてませんよ。

文太さんと私の、難しいと感じるレベルが異なるだけでしょう。
私の#10499#10495に対するコメントなわけですが、#10495

>  とあるように、ふつうエミュレータには、超簡易版のcommand.comみたいな
> ものが付いているものなのではないですかね?

とか

>  ただcommand.com相当のものを作るのは大変すぎるから、その辺から持ってきてよ
> となってるじゃないですかね?

とか

>  .comファイルが、TSRが、ロードされたとき、どうとか。

といった部分が私には難しく感じられたわけなのです。

10509/10443 CXB00940  としき           Re: シェル?
( 1) 23/01/20 00:54 10506へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  としきさんは、CP/Mを使ったことがあるのですか?

はい、あります。PC-8801の上で動くものに触りました。

> 8ビット時代には、CP/Mが日本でも、メジャーな選択肢だった?

いいえ、どマイナーな選択肢でした。
が、CP/M上で動くアメリカ製の8ビットソフトというものはかなり豊富にあったので、
そういうものを使いたい方々はCP/Mを導入していたと聞いています。
ただ、具体的にどういうものがあったかというと、当時大学生だった私の知るところ
としては、科学技術系の専門的なソフトがあったらしい、という程度。もしかしたら
ゲームもあったかもしれませんが。
なお、当時のOh!PCとか残っていますので、広告ページとか見れば、もしかしたら
何か手がかりというか情報はつかめるかもしれませんが、面倒なので探さない。

> 日本語は半角カタカナですか?

記憶にありません。
ただし、OS部分に限定すると、半角カタカナ対応はなかったのではないかなぁ。
アプリ上では、半角カタカナも使えたかも。

>  DOS汎用でも、KI-shellとかって、command.comの上に乗っかるのでしたっけ?

私の記憶が確かなら、KI-shellはDOS汎用ではなかったはず。
つまり、PC-98用とかDOS/V用といった版があったのではなかったかなぁ。
いや、この辺、いろいろと記憶が混乱していて。
当時、生のcommand.comの何が一番改善を期待されていたかというと、コマンドライン
の入力履歴。DOS5あたりからはdoskeyが純正で付属しましたよね。
そしてもうひとつが、画面出力、すなわちコンソールの履歴。
DOS3の時代、PC-98で履歴機能を使いたいとなると、2大巨頭がhistory/xscriptの
ペアとKI-shell。historyは入力履歴でxscriptが出力履歴。KI-shellは入力履歴が
あったのは覚えているけど、出力履歴はどうだったかな。
で、これら3つのソフトのうち、どれがDOS汎用で、どれが機種依存か、というのが
あったはずなんですが、もうすっかり、忘却とは忘れ去ることなり、君の名は。
それはさておき。
その後、一部の人たちは、某エディタを常駐させることでこの辺の問題を解決して
しまったわけなんですが、もしKI-shellがcommand.comの上にのっかるものであると
定義するのであれば、そのエディタに対しても同じ表現を使うべし。


10510/10443 CXB00940  としき           Re: PC DOS trivia
( 1) 23/01/20 00:54 10507へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  さらにディープで「要らぬお節介」な一言。下のようなのは、DeepLなんかに
> 入れず、ゆっくり3回読みましょう。意味鮮明な術語まみれの英語を読むのは
> (たぶん)けっして難しくない。自信の獲得。「心の壁」の乗り越え。諦めない

まだ1回しか読んでいません。
でも、この手のテクニカルタームが主の文章なら、私には何とかなる。
なお、私の英語力を推し量る上で重要な情報かもしれませんが、辞書を引く必要が
あったのは以下の3つのみ。

due to
competitor
diverged


10511/10443 CRG00666  文太             Re^4: 追記
( 1) 23/01/20 01:42 10508へのコメント(としきさん)
>〔以下〕が私には難しく感じられたわけなのです。

>> とあるように、ふつうエミュレータには、超簡易版のcommand.comみたいな
>> ものが付いているものなのではないですかね?
とか
>>  ただcommand.com相当のものを作るのは大変すぎるから、その辺から持ってきてよ
>> となってるじゃないですかね?"

 そうなってないんですかねぇ?
 エミュレータは難易度が高すぎるから、あまり強い好奇心がわきません、とだけ、
僕は言ってるみたいですね。
 でも、上、違うの? 他力本願。

>>  .comファイルが、TSRが、ロードされたとき、どうとか。
 ここは本気で難しいですよ。課題を表示設定してるだけです。これを解くために、
(そうしないとVzが読めない)、生きているのです。
 ご協力ください。助けて、教えて。ラブ。in the future.

 さて、なぜか気力が戻ったので、dos ver check debug版とか、コマンドライン表示版
とか、もぐら解析版とか、挑戦してみましょうか。
 やれそうな気がしてるんだけどなぁ。
 tasmでやろうかな、とか。tdとか。何も変わらないと思うけど。
 明日おきたときの、気分体調によりけりです。



10512/10443 CRG00666  文太             Re^2: シェル?
( 1) 23/01/20 01:42 10509へのコメント(としきさん)
>もしKI-shellがcommand.comの上にのっかるものであると
>定義するのであれば、そのエディタに対しても同じ表現を使うべし。

 はい! すごく良く分かりましたよん!



10513/10443 CRG00666  文太             Re^2: PC DOS trivia
( 1) 23/01/20 01:43 10510へのコメント(としきさん)
>でも、この手のテクニカルタームが主の文章なら、私には何とかなる。
 としきさんには未来があり、もともとそういう資質だった。心配していません。
 そのままでいいと思います。

>なお、私の英語力を推し量る上で重要な情報
 外国語なんて、まず、辞書ひいて考える、でいいんです。理屈は、ちょっと、だけ、
あとに。理屈は超単純。ただ、例外の宝庫だけど、そんなの気にしない。

due to		;暗記 辞書で例文を読む
competitor	;compete, competition コンペ@ゴルフ。cf. teach"er", visit"or"
diverged	;di + verge 気にせず、見た文章を見つめる。

The major differences between PC-DOS and MS-DOS were only in terms of driver
support and built-in programs until version 6.1 where development diverged.

ジーニアス大英和
diverge 語源〔中世ラテン語 divergere.「di-(分離)+-verge(傾く, 曲る)分れる」
 この辞書の記述の何かが記憶に残るならめっけもの。
 PC-DOSとMS-DOSが分かれたのが、いつ、どの版 みたいなのが、実際的です。

 なんだ、英語できんじゃん。
 ありがとうございます。


10514/10514 CRG00666  文太             Undocumented DOS
( 1) 23/01/21 00:09 コメント数:1
Undocumented DOS

東京都立図書館
https://www.library.metro.tokyo.lg.jp/
「Undocumented DOS」で検索 → 多摩図書館(@国分寺)でヒット。
(翻訳本も、同じ英語タイトル)

上のサイトのホームの広告2つめ
「協力貸出」

近くの市立図書館へもってきてくれるかも!

 日野、多摩、八王子の市立図書館は所蔵していません。

 何度も書きましたが、初版と2版(翻訳はこっち)では、まったく内容が違います。
 が、DOSの本質部分は、いろんなクロスレファレンスがありますが、2版でも、
(より正確に)記述されています。

 とりわけ僕が燃えたのは、2版10章 "Command Interpreters"。
 灰になっちゃうよ、ウソ。

 なるほど! と思う部分がかなりあった。
 あ、さらっと眺めただけですからね。Jim Kyleさん、真面目で誠実。『エンサイコロ
ピディア』寄稿者です。オーソリティー。

 1点だけ。
 command.comには代替品がありえます。4DOS.comが商用品。Jim Kyleさんがお使い
(だった)。
 見つけられたら、Vzとの相性、いつの日にか試してみます。

 しかし、と言うべきなのか、ブート時にDOS3カーネルの上にDOS5のcommand.comは
不可能ではないのかもしれない。する意味ないですけどね。ただ、カーネルと
resident部、transient部のチェックは頻繁に行われるから、意味ないことしないように。
 こことどう関係するか分からないけど、DOS7用command.comの上で、DOS8用more.comが
走れないのは、メタフォリカルに繋がっていると空想します。


 あ、先日示した方法で、「英語で読むよ、所有してやるよ、pdfで」という人は、
どうぞ。etextは、あれからは作れないと思うけど。初版はまだましだけど。
 目をこらせば、pdfは読めます。
 つまり、容易にDeepLできないと思う。試すなら初版。

 こんなこと書いてる場合じゃないです、ふにゃふにゃです。すいません。

---------------------------------
; p.156
	pmain
	getver
	hex_bcd	al,major
	hex_bcd	ah,minor
	print	ms_ver
	retms

ms_ver	db	'MS(PC)-DOS ver '
major	db	?,?,'.'
minor	db	?,?,'$'
	pend
---------------------------------

 これで力尽きた、、、、。「どうだ! パスカルみたいだろう!」とは、確かに
思ったけど。

追伸:どうでもいいこと。先日、MASM 1.0のマニュアルetext化をしていて笑った
のは、"How to Write a Device Driver"というセクションがあったこと。
 うん、サンデープログラマー向けのマニュアルではないなぁ、確かに、と
思った。マニュアル冒頭にそう書いてあった。全体に、僕が求めてる部分は、難しくは
ないですけどね。
 もちろん、「いまどきVzするなら、デバドラの1つや2つ書く覚悟なければ!」
とのお言葉が、忘れられず、、、。くくく。



10515/10500 BQO00549  konno            Re^2: DOS Verチェック verc.com を作ってみた
( 1) 23/01/21 01:23 10502へのコメント(文太さん)
> >力持さんのソースを参考に作りました。
>  もぐらさんじゃないですか! おお、あのコメントが役に立った?

あ、そうだったんですか、昔力持さんのツール類はお世話になったと思います。
今は基礎から勉強し直しのつもりで、こういう基礎的なツールを自分で考えて作りたいのです。
もぐらさんのソースは丁度良くて、ありがたいです。

>  何も考えてなくてこういう発言もなにですが、valueを文字にするって話
> ですよね。ナツメ本『ファンクションコール』にサンプル、ありませんでしたっけ?

うう、その手の本はまだ探し出していませんでした。(>_<)

>  違う話かな? 割り算?
>  高級言語Vzの &m() のありがたさよ、なんでしょうね。

おかげさまで割り算の仕組がちょっとだけわかった気がします。(^^;
自力で応用が出来るかな? レッツチャレンジ!


10516/10500 BQO00549  konno            DOS Verチェック verc.com v02
( 1) 23/01/21 01:58 10500へのコメント(konnoさん)
ソースを整理して 23bytes 小さい 64bytes に出来ました。

push,pop を極力減らすためにルーチンの並べ替えをしたり色々。
1文字出力が4か所使っているのをサブルーチンにして 1byte 減りました。(^^;
DOS Ver の表示を減らせないか(DOS と Ver の文字は絶対入れたい)
DOSver  いまいち
DosVer  ギリギリだけどこれにするか。

等々涙ぐましい苦労をして今の自分に出来うる限界まで縮小してみました。(^^;
旧版もそのままダウンロード出来ます。ソースを見比べてみてください。


自作、改作アプリの放置部屋 に置きました。

VERC2.LZH サイズ 971bytes  23-01-21 new!
VERC1.LZH サイズ 1,063bytes  23-01-18

  VERC.COM Ver02
  VERC.COM Ver01

  ・DOSのバージョンを表示するコマンドです。VTDOSなどで使う為に作りました
  ・アセンブラ入門のページと力持さんのソースを参考に作りました。
  ・V02  2023-01-21  ソースを整理して 23bytes 小さい 64bytes に出来た
  ・V01  2023-01-18  とりあえず作ってみた
  ・ソース付きです。皆さんに感謝

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


10517/10514 CRG00666  文太             Re: Undocumented DOS
( 1) 23/01/21 13:38 10514へのコメント(文太さん) コメント数:1
 独り言ばかりですいません。
 心も体も頭もふにゃふにゃ状態で、も、何も考えずに、ぷはぁ〜〜としています。

 ただ存在と生存の喜びに感謝しつつ、ぷはぁ〜〜とするときには、大して頭に何も
入らなくても(生産を捨てよ)、Undocumented DOSを読むのです。


>何度も書きましたが、初版と2版(翻訳はこっち)では、まったく内容が違います。

 で、上の件ですが、少なくとも僕が面白がっているところは、それほど変わりません。
 第2版で、9章、10章です。"Memory Resident Software" 分かる、とは言えないけど
ぜんぜん分からないわけでもなく、面白いですよ。
 おほほほほ、makeの話ですかぁ〜〜〜。(^^;

 「割り込み」の概念がゼロだと読めないと思うけど。でも、それでも僕は楽しく
読んでます。Vzが、FEPが、ふつうにしてることです。vmapの右のほう。ま、
たぶん、ですが。


addr PSP  blks   size  owner/parameters           hooked vectors
---- ---- ---- ------  -------------------------  -----------------------------
1001 1114   4   21088  command                    23 24 2E
152B <--    1      48  vkeyc                      15
15A0 <--    1    3088  taglight /a- stay          10
1662 <--    1    1648  vwx 1.08b -z2 -l8192 -x1   2F
173E <--    2  191200  vz 1.60t -z                00 1B 21 29 3F

 あらためて覗いてみる。


 TSRのところで、2版では、"TSR Programming in Microsoft and Borland C/C++"
とボーランドが加わってます。初版は、MSCのみ。なんでしょうね、これ?(注)
基本、これくらいの違いです。

 9章(初版では5章)TSRの担当は、Raymond J. Michelsさん。Jim Kyleと違って
明らかに受け狙い的文章です。翻訳でもある程度出るでしょう。

 Kyleさんも、2版で「初版では分からなかったから書かなかったが云々」近辺で、Wrong!
とか言ってるところは(「なぜシェルは自らの親(environment)なのか」あたり)、
は熱が入っていて興奮していて、ヒューマンです。


 あくまでDOSについての知識で、ふつう使い道のない情報ではありますが。


(注)意味が想像できなくもない。Cはアカデミックな勝者です。パスカルやベイシックは
大衆的な敗者です。歴史的に。しかし、ちゃらけた文章で自分を売る人たち(シュルマン、
ノートン、マイケルズ、ダンテマン。主に80年代)は、反アカデミズム、反MSになりがち
なのです。
 ま、ノートンさんはMSからいっぱい本を出しましたけれど。
 ボーランドは潰れちゃったし。
 なんか間違ってるかな?


10518/10514 CRG00666  文太             vmap.doc
( 1) 23/01/21 13:56 10517へのコメント(文太さん) コメント数:2
 こんな時代の話でした。

----------------------------------------------------------------------
VMAP Version 2.01  Copyright (C) 1989-91 by c.mos

■ VMAPとは

今回、国内各社のMS-DOS Ver5(以降DOS5と記述)の発売に合わせて、
Ver2にバージョンアップ致しました。

■ 参考文献

Addison Wesley	 UNDOCUMENTED DOS(注)
Microsoft Press	 MS-DOS Programmer's Referemce Ver5
Microsoft Press	 MS-DOS EXTENSIONS (Programmer's Quick Reference Series)

■ 変更履歴

Ver2.00 (91-11-29) Ver2 最初の配布版
Ver2.01 (91-12-16) VZエディタVer1.57 DOS/V版に添付

							91/1/8 兵藤嘉彦
----------------------------------------------------------------------

(注)初版(1990)です。2版(1993)。初版に翻訳はありません。ねっ?
 英語の文章読めなくても、コード読めればね、、、。



10519/10514 CRG00666  文太             だらだら
( 1) 23/01/21 18:51 10518へのコメント(文太さん)
 あまり何も考えずに、あいかわらず、Undocumented DOSをパラパラしています。
 初版と2版とどう違うんだ? とか不真面目に見比べながら。

 翻訳のある2版には、シュルマン担当の"Disassembling DOS" (chapter 6)という
のがあり(初版にはたぶんないと思う。あるかもしれないけど。DOSをディスアセ
する!)、その冒頭に"What is MS-DOS"というセクションがあります。
 こんな書き出し。

 MS-DOS is a bit like pornography. Everyone knows what it is when they see it,
but almost no one can define it.

 Kyle先生もときどきユーモアを飛ばしてましたけど、こういうのはライターの才能の
ある人にしか書けないと思う。ライターの才能? 商業的ではあるでしょう。
 けっこう定型文なのですが。


 2版、7章「リソース・マネイジメント」、8章「ファイルシステム」、9章「TSR」
10章「コマンド・インタプリタ」あたりは、加筆もあるでしょうが、初版とだいたい
同じ模様。この辺が面白いです。面白そうです。
 この4章で初版では半分、2版では、たぶん3分の1です。

 みれば分かりますが、その前の章は、Windows3.0 or 3.1的なことをすごく意識してます。
イクステンダーなどなど。僕は、いいよ、それ、という感じ。

 別に一生懸命つたえる必要があることではありませんが、この本、裏技大全みたいな
ものではまったくありませんからね。公然の裏技(MSもメーカーも使ってるファンク
ション)を含めた、真剣で真面目なDOSの解析本です。もちろん難しいけど。



10520/10443 CXB00940  としき           Re: シェル?
( 1) 23/01/21 21:58 10506へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
実家から、5メートルあまりに育った柿の木を3メートルくらいに刈れ、という
オーダーが来まして。
なので今夜は実家に1泊。明日の昼前ぐらいには、電動のこぎりでばっさりとやって
しまうつもりです。

さて。

> >PC-98用のフリーウェアで、addconという名前のソフトがあって、
>  面白い発見があったら教えてください。

現物を確認しましたが。
案の定、私の思っていたのとは全く異なるソフト。
正式名称は Add Console driver。作者はTurf Hero氏。
手元にあったのは、ドキュメント上でのバージョン標記は2.04aだけどアーカイブ
ファイルの名前はaddcon3.lzh。
ドキュメント上ではPC-98のDOS3が必要となっていますが、DOS2では動かないという
ことなんでしょう。DOS5以降で動くかどうかは不明。
メモリに常駐する、いわゆるTSRです。
機能としては、

・HDDに一定時間アクセスがなかったらヘッドを退避
・一定時間キー入力、または標準出力がなければ画面表示停止
(スクリーンセーバーもどき)
・キー入力のバッファを標準の16文字から244文字に増加
・現在時刻を画面右上に表示
・バッククォートのフォント搭載機種の場合は表示を可能とする
・¥マークをバックスラッシュに置き換えて表示
・カーソル形状の変更

というような機能がメイン。なんか、いかにもVzとは相性が悪そう。
また、そのほかにも細かい機能が多数。キーテーブルの変更とか。
だけど、入出力の履歴はない。
その他にも、キーボード拡張系のソフトでkbddというのも出てきました。
これは現在でもベクターにありますね。
このソフト単体では

・キーバッファを16文字から116文字に拡張
・キーのクリック音
・キーボードロック

あたりがメインですが、その他の関連プログラムを使うことによって

・nferやgraphキーの機能拡張
・キーテーブルを変更してドボラック配列やascii(英語)配列に変更
・xscript対応可能
・FEPがなくてもローマ字/かな変換可能(半角/全角対応)

などということができました。
中でも感動的だったのがキーボードマクロ機能。
例えば、長い文字列を入力するならFEPの辞書登録で対応したりしましたが、この
ソフトを使うと、ファンクションキーとかリターンキーとかも登録できたのです。
当時、入社3年目ぐらいだったかな、データベース担当に配属されて社内システムに
ひたすらデータ入力させられていたとき、定型文ではなく定型作業の一連の入力を
こいつで登録することで、えらく楽をさせてもらったことを思い出しました。

あと、ついでにベクターを調べて確認したこと。
historyはDOS汎用のようですね。一方で、xscriptは機種依存のようです。
KI-shellについては、調べがつきませんでした。


10521/10490 CXB00940  としき           Re: etext作成の現実
( 1) 23/01/21 22:55 10490へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> tasm, optasm, masm1/2/3/4/5。たぶん、そう変わりはしません。もちろん、違う
> ところはあるのでしょうが、Vzのソースに関しては、、、。5年後くらいに、

まず、コード本文の部分は、そう変わらないのは確かでしょう。
ただ、使えるマクロ構文が全く異なっていたはず。
確か、masm4の時代だったと思いますが、masmからoptasmへのポーティングは何とか
何とかなるけれど、逆は著しく困難だという話を聞いたことがあります。確か、
ジャンプの関係ではなかったかな。ローカルとグローバル、だったかな。
ベクターをさまよっていたら
https://www.vector.co.jp/soft/dos/prog/se003616.html
こういうものがあったので、それぞれの機能をフルに使おうとした場合には、やはり
それなりに差異はあったんだと思う。


10522/10514 BQO00549  konno            Re: vmap.doc
( 1) 23/01/21 23:06 10518へのコメント(文太さん)
>  こんな時代の話でした。

これが「神話の時代の話でした。」に見えたら、もうビョーキです。(^^;

> 今回、国内各社のMS-DOS Ver5(以降DOS5と記述)の発売に合わせて、
> Ver2にバージョンアップ致しました。

VMAP は、VZを使いこなすのに欠かせない必須の道具、神器です。杖のようなものです。
これを見ていたら、またまた妄想が膨らんできました。(^^;


遥か昔、3の時代に世界を創造した創造主は、6の時代に世界を造り終えると隠居しました。
やがて6の時代が終わると世界の住人は終わりが来たと絶望しました。
その時7の時代に魔王と呼ばれた存在が新たなる創造主として世界を救いました。
その後の世界の危機には、天の箱舟が現れて今は皆天の国で暮らしているとかいないとか。


3〜7は、DOS3〜DOS7、世界とはVZ世界のことですが、こう書くと神話的に見えませんか。(^^;


# ああ、脳汁がドバドバ出ている気がする〜


10523/10456 BQO00549  konno            more に行番号表示を
( 1) 23/01/21 23:40 10481へのコメント(konnoさん)
> miel もそうですが、ToolsのmoreのDOCを読んで、これは勝てないわと思いました。
> 勉強のために出来そうなところは機能追加してみたいとは思います。

#10500:DOS Verチェック verc.com を作ってみた
このツールの数字表示でアセンブラの基礎から勉強しなおしたおかげで
自力で多数桁の表示ルーチンが出来ました。\(^^)/ ヤッタ-
どうやら私は基礎を飛ばして応用力だけで今まで世渡りをしていたようです。

それで、改造版more に、行番号表示を追加できました。


print0	proc

; ※ 大文字は力持さんのソースから頂きました。
;;力持MS-DOS VERSION CHECK  VERS V. 11
	PUSH	AX			;;レジスタを保存致します。
	PUSH	BX
	PUSH	CX
	PUSH	DX
	PUSH	SI
	mov	dl,'['
	mov	ah,02
	int	21h			; [ 表示
	mov	ax,line_count		; 総行数
	xor	bx,bx
	mov	dx,offset moji2		; dx に moji2 のアドレスを代入
	mov	si,dx			; si に moji2 のアドレスを代入
	mov	di,si
loop5:	xor	dx,dx
	xor	cx,cx
	mov	cx,10			;;10でわり算致します。
	div	cx			; SRC = 1word  :  DX:AX ÷ SRC の余り→DX、商→AX
	add	dl,30h			; 数字を文字に変換
	mov	[si], dl		; 文字バッファへ送ります。
	dec	si			; アドレスを 1byte 戻す
	mov	di,si
	inc	bx
	cmp	ax,0
	je	loop9
	cmp	bx,5			; 数字桁数指定:32767行までは行ける?
	jb	loop5
loop9:	dec	bx
	mov	dx,offset moji2		; 行数の文字データの末尾
	sub	dx,bx			; 桁数分アドレスを戻す
	mov	ah,09
	int	21h			; 行数表示
	POP	SI
	POP	DX
	POP	CX
	POP	BX
	POP	AX			;;レジスタを復活致します。
	ret
print0	endp	


これで、32767行まで表示出来るはずです。
で、ログファイルで
type xxxx.log | morek
やってみたら、途中で終了してしまいました。
ログファイルの中に、^Z があって、そこで終了したのです。

それにしても、32767行まで表示させるのは大変すぎます。
そうだ! 今度は行ジャンプ機能を付けよう。
兎年だけに、ぴょんぴょんとジャンプだー


10524/10456 BQO00549  konno            MOREK.COM 改造版 Ver03
( 1) 23/01/23 21:46 10456へのコメント(konnoさん)
 MOREK.COM 改造版 Ver03

・としきさんの MORE.COM をベースに 各種DOSエミュレータに対応させる改造をしました
・オリジナルは PC98 FMR IBM 機種判別し、30BIOS 90BIOS V/TEXT に対応しています。
 オリジナルの場所  としきのやしき正門 電算棟 自作ソフトの部屋

 私の改造部分
・v03  2023-01-23  行数表示 'Q' で終了 '1'〜'9'で+1000〜+9000行ジャンプ '0'で+10000行ジャンプ
・V02  2023-01-03  '-' オプションで改行処理をしない(DOSVAXJ3の2重改行問題に対応)
・V01  2023-01-01  IBMチェックを先頭にする( VTDOS対応)
・ソース付きです。としきさんに多謝


今回の改造の詳細

・行数表示 
--- more ---    の表示待ちの時
--- more ---[34]  のように行数表示してみました。
65535行まで表示します。それを超えるとまた1行から表示します。VZと同じですね。

・'Q' で終了 
入力待ちの時、'Q' で終了します。MSDOS Player + FreeCOM 対応です。
Tools や Windows98Me のDOS8の more も、'Q' で終了するようです。
正常終了の場合、最後に[総行数]を表示して終了します。

・'1'〜'9'で+1000〜+9000行ジャンプ '0'で+10000行ジャンプ
入力待ちの時、'1'〜'9'で+1000〜+9000行ジャンプ '0'で+10000行ジャンプ
--- more ---[34]J1034  のように現在行数+1000行のようにジャンプして表示します。
総行数を超えた場合、最後に[総行数]を表示して終了します。

※ 数字はあまり正確ではないので、実用ではありません。
 動作保証はでき無いので実行は自己責任で。  

バグ報告や改善のアイデアは大歓迎ですが、対応できるかはわかりません。(^^;


10525/10490 CRG00666  文太             masm 1 とか
( 1) 23/01/23 23:54 10521へのコメント(としきさん) コメント数:1
 色々と不義理をしております。とりわけ、konnoさん、ごめんなさいね。
 そっちに戻るには、けっこう根性が必要でして。すいません。本当に。


>ただ、使えるマクロ構文が全く異なっていたはず。
>確か、masm4の時代だったと思いますが、masmからoptasmへのポーティングは何とか
>何とかなるけれど、逆は著しく困難だという話を聞いたことがあります。確か、
>ジャンプの関係ではなかったかな。

 とても貴重な意見だと思う。方向を間違うとどつぼにはまって泣くだけですからね。
 最後は、いかにも。あの距離の計算が難しいらしいですね。
 basic, fortranの行番号ジャンプが構造化の敵だったみたいだけど、あれ入れて
くれるとコンパイラは楽できそうですよね。

>ベクターをさまよっていたら
>https://www.vector.co.jp/soft/dos/prog/se003616.html
>こういうものがあったので、それぞれの機能をフルに使おうとした場合には、やはり

 貴重な情報でした。「フル」の程度問題ですけどね。基本Vz以上のことなんて
しっこないのだけど、Vzは、どうなの?(注)ですね。optasmだったかな? で
ググッたら、昔のsfishさんの貴重な情報@ココ がヒットしました。

 「masm6 (ml.exe)ではダメなの?」@konnoさん。いえ、とりわけそういうわけでは
なくて、なるたけシンプルな道具を使いたくて。ちゃんと情報があって機能するなら。
 optasmは、マニュアルがない! 大昔、ヤフオクで、マニュアル付きが\2000で
落札されていた、、、。

 タイムスタンプとVzの歴史を頼りにやってみるしかない。

 c.mos状態を再現したい。高橋さんは、masm5.1だったそうです@sfishさん情報。

 けっこう先に長〜く、泣かない程度に、もがきます。

 どうでもいい追記。exe2binはMSに嫌われていたらしい。どっかで切られた。もう
CP/Mまがいの.comモデルは止めてくれ、ということだったらしい。でも、某識者は
「.comの経験がなかったけど、.exeよりずっと速かった。可能なら、これから.comで
作る」と言ってたのだけど。

 この辺とかNEC98とか。歴史的にめんどいです。
 ノートンさんの本が翻訳されなかった訳もわかりました。IBM PCは、その頃の日本
ではダメだったんです。PC DOS/V 4 からだったみたい。Win時代はすごそこ。

 で、調子のいいことを最後に書くつもりはないのですが、こんなガラパゴスとか
アーキテクチャーの違いとか、ものともしない、たたき上げの男、konnoさんは、
やっぱすごい、という結論になっています。すごいです。
 手を動かして体で覚えてなんぼ、です。


(注)脱線的コメント。vmapは、DOS5に合わせてver upしました。Undocmented DOSの
「リソース管理」かな、ここを読んでるだろう、と思った。「割り込みのオーナー」
関連。とにかく、(1)c.mosさん、英語を読んでます、間違いなく。(2)DOS5と
DOS6では、List of ListsなどのDOS内部データの構造は変わっていません。ですから
当たり前だけど、DOS6で、Vzは安心です。
 TSRの仕組みはDOS2からdocumentedでした。ただInDOS flagというのがキーらしく
この部分がundocumented。徐々に徐々に明らかにされていった。これ使わないと安定して
常駐できないと思うのだけど、そんな感じなのだけど、Vzは? 1.0から常駐して
ましたよねぇ? 残りの人生をかけて、解きます!

追記:どうでもいいこと。Vz Editor, Version 1.5 (1.57)のマニュアルには、
「Vzソース、アセンブルの仕方」みたいな(例によって難解な)章がありました。
歴史も単語(固有名詞)も分からなくて、ふにゃふにゃんになりました。
 継続審議です!

 あ、びっくりマークは虚勢です。ふにゃふにゃのぷふぁ〜〜状態ですが、明日は
ガシガシの日。ひぇ〜〜〜。



10526/10443 CRG00666  文太             NDOS
( 1) 23/01/25 21:22 10506へのコメント(文太さん)
 すいません、全部引用です。
 ようやくマニュアルを見つけたところ(NU 7.0, manual NU 6.0)

 おお、PKに使っている人がいた。ということは、Vzといけるのでしょう。
 そのうちゆっくり遊んでみます。
 Undocumented DOS も、これに言及してたけど、あきらかに、4DOS推しでした。

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

KITIさん PK (14) 11305 95/04/15 13:35

  NDOS ってのは、シマンテック社のノートン・ユーティリティーズを買うとつ
いてくる、完全に COMMAND.COM の上位互換性を持ってさし替えられるシェル、
ということになっています(実際はちょっと違うので不具合が出る場合もある)。
  機能としては、拡張 COMMAND.COM + BU + KI-SHELL + α、て感じです(それ
ぞれのフリーソフトの方が専門的な機能がたくさんあるけど)。また、メモリ
常駐量も少ないのがいいところ。

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

NDOS FEATURES

NDOS is a "DOS shell" (a program that gives you access to DOS functions and
commands), but it's unlike most DOS shells on the market. Virtually all of
these other shells are designed to isolate the novice user from the DOS
command line. NDOS, on the other hand, is intended to make DOS easier to use
and to make you more productive while working at the command line. It
provides enhancements to most of the DOS commands, as well as more than 40
new commands. These improvements make NDOS a much richer and more powerful
working environment than COMMAND.COM, without sacrificing the compatibility,
flexibility and control you get from working at the command line.

NDOS is a complete replacement for COMMAND.COM, the command processor
provided with DOS (either MS-DOS or PC-DOS). NDOS is compatible with DOS
versions 2.1 and above and the OS/2 DOS compatibility box, adding many
enhancements to your DOS prompt, including: NDOS requires 3K of your
precious RAM for its resident portion (less than 1K with UMBs), and can use
EMS, XMS, or disk for swapping its transient portion.



10527/10443 CRG00666  文太             旧8とDOSソフト
( 1) 23/01/25 21:28 10520へのコメント(としきさん) コメント数:1

 いろいろと調べてくださり、ありがとうございます。
 かなり興味深いですね。ハードのほうにも手をだしてますねぇ。BIOSコール
みたいなことをするとそんなことができるんでしょうね。IBM PCでやってくれ!
 後日。m(__)m

 『IBM-PC ハードウェアバイブル』なる本が翻訳されたのが、1994年。
 空白の時代、のちになっては使いものにならない技術の蓄積。ああ。
 こうして日本ではDOSが捨てられた。



10528/10443 CXB00940  としき           Re: 旧8とDOSソフト
( 1) 23/01/25 23:51 10527へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  こうして日本ではDOSが捨てられた。

欧州での捨てられ方と比較できれば、論文が書けそうですね。
欧州と一くくりにするのではなく、国によって異なるかもしれないけど。


10529/10490 CXB00940  としき           Re: masm 1 とか
( 1) 23/01/26 00:03 10525へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
文太さんが煮詰まっていて、ちょっと書き間違えたのか。
それとも私が寝不足で読解力が低下しているのか。

>  貴重な情報でした。「フル」の程度問題ですけどね。基本Vz以上のことなんて

フルの程度問題、というのがわかりません。
私の場合、通常、程度がフルか否か、という使い方をするもので。

フルという言葉は接尾語のときと接頭語のときで意味が変わる、かな。
パワフルとフルパワーの違い、のような。
対義語はレスかなぁ。
でも、ホームレスというのはよく聞くけど、レスホームという言葉はあまり聞かない。
かつて、速さは力、という宣伝コピーがありましたよね。
であるならば、数学的に代入すると(なんじゃそりゃ?)
スピードフルとフルスピードという言葉になるけど、耳なじみの程度が大いに異なる。
うむ、慣用というのはよくわからない、ということだけはよくわかりました。


10530/10490 CRG00666  文太             Re^2: masm 1 とか
( 1) 23/01/26 00:28 10529へのコメント(としきさん)
>文太さんが煮詰まっていて、ちょっと書き間違えたのか。

 ったく。
 煮詰まってませんよ、仕事が嫌で疲れてるだけです。

>それとも私が寝不足で読解力が低下しているのか。

 きっと寝不足だと思うぞ。ゆっくり休もう。仕事は適当にこなそう、、、
という訳にもいかないのが社会人ですけどねぇ。

>>  貴重な情報でした。「フル」の程度問題ですけどね。基本Vz以上のことなんて

 たしかに、ちゃらんぽらんな文章でしたけど。
 マクロアセンブラの擬似命令をフルに使った場合、いろんな違いが出る、それは
まだぜんぜん調べてないけど、あるでしょう。
 Vzソースではどうか、です。
 masm 1 の擬似命令ではだめか、ここが焦点。通らなければ、すぐ捨てるけど。
いや、基本から独自に攻めるぞい。

 なお、Vzオリジナルc.mos版は、

optasm 1.5
masm 4/5/5.1
tasm 1.0

 でアセンブルできると、Vz 1.5 マニュアルにあります。p.9-4 (9章4ページ)。
このページネーションに手を焼いている。IBM系、そうなんだよね。ノートンも。

 で、

optasm 1.65
tasm 2.0		;私この近辺で、徹底的に基礎からやろうかと。
			;ついでに、td, cv とかも。アセンブルに日本語
			;関係ないだろ。英語IBMマシン作ればいいんでしょ!
			;c.mosさんも、wingさんも、高いお金だして、でも
			;ウハウハしながらやったに違いない。金? 関係ない!

 なら、どうよ、ついでに、

masm 1/2/3/4 ならどうよ、とか思ってるわけ。


 『リバーサル・オーケストラ』(TVドラマ)いいです。『のだめ』の再来。

 あと100枚だ。500分だ!

 明日、清書して、文章を発表するぞ!

 何をやってんだ? 俺。NECショック。今頃? いまごろ。Pascal本探した
時に予感はあったけど。

 ちゃんと発言に情報があるとこ、俺、偉いな。つっかえね〜情報。うるさい!

 数学的に代入するな! ワケが分からん。
 煮詰まってる気がしてきた。遅れてやってくる自覚症状。
 しかし、一言。人は寛容と慣用で生きておりまする。



10531/10443 CRG00666  文太             フィンランド事情
( 1) 23/01/26 15:31 10528へのコメント(としきさん) コメント数:1
 フィンランド人によるRAMDiskドライバのようです。
 ヘルシンキ工科大学の学生さんだったみたい。
 さて、この人たちが(しょうがないんだけどね、当時、最先端近くを日本人は
走っていたんだから。NECに恨みはない)、2バイト文字の言語を操る僕らと同じ
運命をたどったとは、思えないんですよね。論文は書かないけど。

---------------------------------------------------------------------------
                              SRDISK (TM)
                     ReSizeable RAMDisk versio 2.04
                         XMS ja EMS muisteille
                 Copyright (c) 1991-1993 Marko Kohtala

  * Yhteensopiva MS-DOS versioiden 3.00-6.x ja DR-DOS 5 ja 6 kanssa.
  * XMS - Extended muisti 286 ja uudemmissa koneissa joissa on HIMEM.SYS
    tai muu XMS 2.0 laiteajuri.
  * EMS - Expanded muisti. LIM/EMS versio 3.2 ja 4.0.
---------------------------------------------------------------------------

 英語の.docもついてるから、使えます。

 しかし「凋落」。きつかったなぁ。ああ、チップス法。
 ただ現実をしかと受け止めよ。
 来週、NHK日曜夜9時。半導体ワォーみたいなの。



10532/10443 CRG00666  文太             MASM の歴史
( 1) 23/01/27 16:34 10507へのコメント(文太さん) コメント数:2
MASM Changelist

http://old-dos.ru/index.php?page=files&mode=files&do=show&id=122
 ページの真ん中あたり。

 英語です。しかし、こんなものもしっかりロシアのサイトに保管してあるとは。
 元のサイトがどこだか探せてません。この情報で十分でしょう。ものすごく
綺麗に整理してある。.chmが読めてよかった。

 ざっと見たところ、Vzソースがmasm4でアセンブルできるなら、masm1でも
できんじゃないだろうか。たんにc.mosさんがmasm3以前をもってなかった、
もっぱらoptasmを使っていた、ということではないのかな。

 8086のアセンブリ言語には、インテル系とAT&T系があるそうで、本物の
命令はインテルが決める。ただ擬似命令(翻訳機アセンブラへの命令)は、
ま、MSが決める。この部分はガンガン進化してもおかしくない。ただ、Vz
は、そもそも、機種依存の擬似命令をそんなに使ってるとは思えない(少しある
んでしょうけど)。だから、、、。


 MASM Changelist。偶然みつけました。もっとも「その気」がないと偶然も
起こらないのですが。

 ふたたび、"due to"出てきてます >としきさん

 がんばりすぎずに、DeepLしましょう。

 それでも力まず、何度も原文を眺めるのはいいことです。
 DeepLの訳文と照合する、みたいなのは、したいならそれも悪くはないと思うけど、
ざっと意味がくめたら、原文で何度も読むのが早道だと思う。
 飽きずに何回も何十回も、これが秘訣。脳が何を記憶するかなんて、我々の知った
ことではない。勝手に記憶してちょーだい。

 余計なもう一点。我々の脳のパーサーは常に変化する。前向きな方向の変化は、
その言語を眺めていることで起こる。考えてどうなるものでもない。脳は勝手に
「考えて」いますが。ここは、たぶん、人工言語と少し違う。自然言語は情報的
冗長性が、とても高いと思う。

 冒頭の部分は、DOS 1.0以前の話もあり、Tim Patterson of SCP (author of
debug.exe & 8086 assembler) のインタビューもあって、かなり楽しいです。



10533/10443 CRG00666  文太             Re: MASM の歴史
( 1) 23/01/27 16:53 10532へのコメント(文太さん)
.chm 元サイト

http://bytepointer.com/

 case文に従ってください。
 お、面白い! 半端ない。2022年にも更新されていて、tasm version もあります!
 toolの欄も面白そう。Win32 Console もの、多し。
 いいなぁ、1バイト文字文化は。



10534/10443 CXB00940  としき           Re: フィンランド事情
( 1) 23/01/27 22:58 10531へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  さて、この人たちが(しょうがないんだけどね、当時、最先端近くを日本人は
> 走っていたんだから。NECに恨みはない)、2バイト文字の言語を操る僕らと同じ
> 運命をたどったとは、思えないんですよね。論文は書かないけど。

この部分だけを切り取ると、全く同感です。
私が思うに、日本よりも早く、DOSなんぞという古臭いものには見切りをつけて
とっとと卒業してしまったのではないか、と愚考するしだい。例えば、1988年から
1996年までヘルシンキ大学に在学していたリーナス・トーバルズ氏は1991年にLinux
などという楽しいものを作っていたりするわけですから。

おおむね世界的にDOSが見捨てられたのは、ネットワーク接続の困難さとか、動画など
を含めたアプリケーション系の互換性を含めた貧困が原因だろうと思っています。
DOSでyoutubeを見るなんて、わかっている人からすると、ぞっとすることでしょう。
私自身は動画再生なんて年に3〜4回ですから、こういう人はずっとDOSでもいいの
かもしれません。が、これは明らかに異端。だという自覚がある。
そして、世界は多数派の考えで動く。もちろん、民主主義を嫌いな人って、それこそ
世界中にごまんといて、そういう人が往々にして権力を握っていたりするわけです。
あるいは、古い考え方にしがみついている人もいる。
どこそこの土地はわが国に支配されなければならない、とか。
同性婚反対とかDOS万歳とか夫婦別姓反対とか死刑廃止反対とか大麻解禁反対とか。
私自身、いささかそういう傾向があることは自覚しているつもりですし、それが世間
の流れとは異なっているということもまた、一応は自覚しているつもりです。
うん、でも、自覚は薄いかも。


ついでに、RAMDISKの話。
私がPC-98で使っているXMS専用Ramdisk DriverのCRDは1993年の最新版です。
ベクターは登録が古いソフトは1995年12月に一度全部を再登録していますが、それ以降
に登録されたRAMDISKもいくつかあるようですね。

cf.
https://www.vector.co.jp/vpack/filearea/dos/hardware/mem/ram/by_date.html


10535/10443 BQO00549  konno            各環境で ver や としきmore を試してみたら
( 1) 23/01/28 00:04 10443へのコメント(konnoさん) コメント数:1
ふと思いついて、リブレットのWinMEのDOS窓で、各種の ver や としきmore を試してみました。
その結果

Win98Me DOS窓
ver		windows Millennium [Version 4.90.3000]
verc		DosVer 8.00
more-t		としきmore  Insert system disk in drive. と表示して固まる

げげ、固まってしまった。(>_<)
まあ、DOS窓の中だけなので大事はなかったですが。

あらためて掲示板で 'としき more' を検索してみると

#6646: Re^4: Universal TCP/IP BootD で EMS!(長文) 投稿者: 文太   2015/08/22
>  としきさんのmore.comについてです。
>  いちおう、追試をしてみました。
>  XPでは正常動作します。

>  Win98のDOS窓と素DOS7.1(command prompt only)で、
>  またWinMEのDOS窓で、
>  "Operating System Not Found"というおかしなことをいってフリーズするようです。
>  テストは、>dir | c:\wk\more という具合にやりました。

どうやら Win95,98系のDOS窓では としきmore は固まってしまうようですね。
気になったので、他の環境でも試してみました。

Win10 DOS窓(ただし日本語表示出来ていない)
ver		MS-DOS version 5.00.500
dir | more-t	正常に表示

VTDOS113
ver		MS-DOS version 6.20
dir | more-t	---more--- のみ表示の永久ループが止まらない(^Cで止まる)

VTDOS114
ver		MS-DOS version 6.20
dir | more-t	---more--- のみ表示

VTDOS121,122(USECMD=1)
ver		何も表示しないで終わる。
dir | more-t	何も表示しないで終わる。

WinNT系のDOS窓では正常に動きそうですね。
VTDOS113 で永遠のループとわ、トワノモア か、ロマンチックが止まらない(誰か止めて)
VTDOS はバージョンによって、内部コマンドなどにも対応していないのかなぁ。
何も表示しないで終わるのは、どういう動作なのだろう。


10536/10443 CRG00666  文太             Re^2: フィンランド事情
( 1) 23/01/28 01:41 10534へのコメント(としきさん)
 たぶん今晩は眠れないのだろうということで。
 明日というか今日、胃カメラなので。死にそうなぐらい気持ちの悪い医療体験。

 さて。

>私が思うに、日本よりも早く、DOSなんぞという古臭いものには見切りをつけて
>とっとと卒業してしまったのではないか、と愚考するしだい。

 うーんとね、DOSというOSの話とNEC旧8という不幸な話が、《僕の》中
でくっついてしまってるんですね、たぶん、としきさんはお気づきだと思うけど。
 でも、現実に、歴史的に、同期してしまった、この国では。「多過ぎる文字
(フォント)はROMに入れてしまえ」は、すばらしい発想だったんでしょうけどね、
最初。たしかに速かった。

 で、欧米の事情を想像すると、いわばシームレスに展開したんですよ。
 16bit DOS から fake 32bit Win9x、そしてNTへ。最後のところはジャンプ
でしょう、たぶん。NU (むちゃんこディスク)のdocとか、ちらっと覗いたので。

>例えば、1988年から1996年までヘルシンキ大学に在学していたリーナス・トーバルズ氏は
>1991年にLinuxなどという楽しいものを作っていたりするわけですから。

 そっかぁ。ヘルシンキ大学。ヘルシンキ工科大学と微妙に違うけど、東大と東工大
の関係か。いまや、このペアでも立ちうちできまい。
 91年、リナックスかぁ。
 僕はそっちいきませんけどね。

 もっともリナックスの誕生とDOSの衰退は、あまり、論理的な、そして現実的な
関係はなかったように想像します。大衆はリナックスなんて容易には使えなかった。
使う意味も分からない。
 しかし、コンピュータの世界は資本主義的ではあるけれど、民主主義の世界ではないな。
 (例の「MASMの歴史」サイトで、MS対ボーランドの戦争の経緯について読みました。
ボーランドの社長さんが僕的にいい人だとしても、社員はどんな気持ちだったんだろう?
とか思いました。笑顔が痛々しい、、、。)

 歴史がどうあれ、僕は変人だ、うん、これに間違いはない。青春の思い出もスキル
もないのに。
 なんなんだろう、この執着と執念は。しかし、c.mos, Vz source 1.01をちょっと
調べて、幸福になったのは、誰にも疑えない事実なのです。
 幸せを重ねる。これしか人生の目標はございませぬ。胃カメラにも耐えます。

>おおむね世界的にDOSが見捨てられたのは、ネットワーク接続の困難さとか、動画など
>を含めたアプリケーション系の互換性を含めた貧困が原因だろうと思っています。

 なるほど。そうなんでしょうね、技術的には。
 インターネットが簡単にできるOSがいい。
 もう少し手前にもどって復習すると、ハード的リソース不足の時代にCP/Mを引きずり
ながら(16bit segment management)展開したDOSなんですよね。切りたいよね、
売る側は、Win9xの時代にすでに。GUIはともかく。
 32bit CPU なのだもの、あんなの、要らないんですよねぇ。

https://www.vector.co.jp/soft/dos/prog/se001158.html?ds
 なんてのを、たぶん、としきさんのお陰で見つけました。うーん、青春だったんだろうなぁ。
 あお、あのお方のお名前が。
 c.mosさんが、構造化プログラミングのために、あのマクロを考え付いたソースに
ついては、いまでも気になっていて。
 optasmって、ネットにおそろしく情報がない、、、。消えたアセンブラ、公式には
誰もその存在を記憶していない、、、。PC Magazineの絶賛にもかかわらず、アメリカにも
情報が残っていない、、、。また、日本でだけ受けたの?

 RamDisk Driver自体は、ほんと話の偶然なの。
 有効に使いたいのですけどね。

 やっぱVz(マクロ)だろう、とか思ってます。なんだよ?
 どうか、どうか、適当にお付き合いくださいませ。



10537/10443 CRG00666  文太             Re: 各環境で ver や としきmore を試してみたら
( 1) 23/01/28 01:56 10535へのコメント(konnoさん) コメント数:1

>#6646: Re^4: Universal TCP/IP BootD で EMS!(長文) 投稿者: 文太
 僕は、このDOSでのネットワークが、そこそこ気になってはいます。
 DOSでLANできるのか、だとしたら、けっこうおいしいのじゃない、とか。
 いつか試してみますね。FDはないだろう、、、。
 完全忘却、100%の忘却。
 腐海整理への動機付け。

>>  としきさんのmore.comについてです。
>>  いちおう、追試をしてみました。"
>>  Win98のDOS窓と素DOS7.1(command prompt only)で、
>>  またWinMEのDOS窓で、"
>>  "Operating System Not Found"というおかしなことをいってフリーズするようです。
>>  テストは、>dir | c:\wk\more という具合にやりました。"

>どうやら Win95,98系のDOS窓では としきmore は固まってしまうようですね。
>気になったので、他の環境でも試してみました。

 お疲れ様です。とっても有意味な実験です。いつか、自分でもやってたろうと
思います。
 「としきmore」にそこまで執着しているわけでもないのですが、アスキーの、
MSの、moreはソースが読めません。「としきmore」は読めます。
 何が起こってるのでしょう?

 解析までお願いするのは、ずうずうしいだけだと思います。
 とりあえず、実験報告、ありがとうございました。

 moreはcopyとともに、フィルターの基本です。これを超えないで、どうする?
と、いちおうは思ってるんですよね。

 がんばれ! konno! あれ? 他力本願になってるの???

>ロマンチックが止まらない(誰か止めて)
 はい、お任せください、止めます。爆、爆、爆。

 VTDOSも調べるんですかぁ? あの人、きっつい人だからなぁ、、、。



10538/10443 CRG00666  文太             DOS ver & SETVER
( 1) 23/01/28 21:53 10532へのコメント(文太さん) コメント数:1
 まだその話、続くの?
 続いちゃったんですよ。偶然といえば偶然。
 このあと実験をするかは分かりません。うーん、ちょっとある仮説が外れたの
ですが、まあ、いいよ、という領域のお話。


In DOS 4.0x the version number returned by INT 21h function 30h is subject
to an internal version "lie" table (the basis for SETVER) which returns
fake version numbers for specific programs using a list embedded
in IBMDOS.COM/MSDOS.SYS.

 ある種のプログラムがDOS ver checkをする場合、やはり、MSDOS.SYS(カーネル)の
中を覗くものらしい。
 ということは、vtdosがcommand.comのverを返すというのは、vtdosの特殊事情と
言えるのかもしれない。


In DOS 5.0 and later if AL=1 on entry to INT 21h function 30h then a version flag
indicating whether DOS is in ROM (08h) or not (00h) is returned in BH instead
of the OEM number.

 実験したら面白い?

INT 21h function 3306h was added in DOS 5.0 which always returns
the true DOS version.
 「常に」「真の」? vtdosではどうなるか? 僕はvtdosの仕様みたいなのを
あまり深くまで追うつもりはないのですが。

This function returns the major version in BL, the minor version in BH,
the revision in DL, and the version flag in DH.
Only PC DOS 5.00.1 and PC DOS 2000 return a non-zero revision.
The version flag indicates whether DOS is in ROM (bit 3 set) or
loaded in the HMA (bit 4 set).

 3306h added!

 興味ないかもしれないけど、そして、今やarchive.orgだけど、

https://web.archive.org/web/20200328183831/https://sites.google.com/site/pcdosretro/dosver

 すごいサイトです。
 どうやら、PC DOS 7 を主導して作った人みたい。

from IBM PC BIOS information
Versions of MASM later than 4.0 cannot be used to build the IBM BIOS source code
since older constructs and macros are used.

 MASM 4 あたりに、やっぱり境界線があるのかも。



10539/10443 BQO00549  konno            Re^2: 各環境で ver や としきmore を試してみたら
( 1) 23/01/29 01:01 10537へのコメント(文太さん) コメント数:1
>  「としきmore」にそこまで執着しているわけでもないのですが、アスキーの、
> MSの、moreはソースが読めません。「としきmore」は読めます。
>  何が起こってるのでしょう?

IBM系のマシンでPC98チェックをやるとマシンOSによって不具合が出るということですね。
IBMのローメモリチェックなら各機種で問題が出にくいと思ったわけです。
気がむいたら98チェックのルーチンを眺めてみたいと思います。

>  VTDOSも調べるんですかぁ? あの人、きっつい人だからなぁ、、、。

VTDOSは開発バージョンによって挙動が違うことが有るので、たまたまアイコンがあったのです。
シェアになる前後の違いもちょっと気になりますねぇ。1.23からだったか。


10540/10443 CRG00666  文太             get true ver (ax=$3306)
( 1) 23/01/29 22:34 10538へのコメント(文太さん)
 面白くない結果でした。

=== Macrotmp by B ===; always returns "true" dos version
* M
50 ^^ "Macrotmp"

	ax=$3306, &i($21)			;vtdos returns 6.20 here
	&m("MS-DOS v%d.%d",bx&$FF,bx>>8&$FF)	;vtdos returns the ver of 
;	ax=$3000, &i($21)			;command.com used again. 
;	&m("MS-DOS v%d.%d",ax&$FF,ax>>8&$FF)	;So made, it seems.

*

-------------------------------------------------------------------
INT 21 - DOS 5+ - GET TRUE VERSION NUMBER
	AX = 3306h
Return: BL = major version
	BH = minor version
	DL = revision (bits 2-0, all others 0)
	DH = version flags
	    bit 3: DOS is in ROM
	    bit 4: DOS is in HMA
	AL = FFh if true DOS version < 5.0
Notes:	this function always returns the true version number, unlike AH=30h,
	  whose return value may be changed with SETVER
	because of the conflict from the CBIS redirector (see next
	  entry), programs should check whether BH is less than 100 (64h)
	  and BL is at least 5 before accepting the returned BX as the true
	  version number; however, even this is not entirely reliable when
	  that redirector is loaded
	Under MS-DOS/PC DOS, DR DOS, PTS-DOS, S/DOS this function does not
	  use any of the DOS internal stacks and thus is fully reentrant
	OS/2 v2.1 will return BX=0A14h (version 20.10)
	Windows 95 and Windows 95 SP1 return version 7.00; Windows 95 OSR2
	  and OPK3 (OSR2.5) return version MS 7.10.
	the Windows NT DOS box returns BX=3205h (version 5.50)
	Novell DOS 7 returns IBM v6.00, which some software displays as
	  IBM DOS v6.10 (because of the version mismatch in true IBM DOS
	  mentioned for INT 21/AH=30h); versions through Update 15 all
	  return revision code 00h
-------------------------------------------------------------------

--------N-213306-----------------------------; NEVER MIND
INT 21 - CBIS network - NETWORK REDIRECTOR - ???
	AX = 3306h
Return: AX = 3306h
	BL = ??? (usually 00h)
	BH = ??? (usually 00h or FFh)
Note:	unknown function, is in conflict with DOS 5+ version call
SeeAlso: AX=3306h"DOS"


10541/10443 CRG00666  文太             vtdos いつからいつまで?
( 1) 23/01/30 03:11 10539へのコメント(konnoさん)

 ここに付けさせていただきます。

#04361 konno 「XPでVTEXTのVZが使える!!!」
09/11/29 15:23

>2chで面白いものを見つけました。これはすごい!!

#07796 konno 「VTDOS1.53 の更新」
17/09/06 23:45

>VTDOS1.53 の更新がありました。
>内容を引用します。

---------------------------------------------
Version 1.53 リリースノート - 10♯ 2017/09/06 (Wed) 12:00:00
MSゴシックが選択されている場合、正常に入力出来ない文字があるため、
その場合強制的にTerminalを選択するようにしました(Vista以降)
Int21/56 RENAME FILE のファイル名重複時のエラーコードを修正しました。
------------------------------------------------

 関連と偶然があったので。
 たぶん、VTDOS1.53がVTDOSの最終ヴァージョンです。



10542/10542 CRG00666  文太             DOS & Vz
( 1) 23/01/31 16:13
 これは僕にとっては新たなる発見でした。
 ずっとずっと前に気づいていてもよかったと思うぞ >己。

 DOSの仕組みとVzの仕組みは、ときどきとてもよく似ていると思います。
 Vzマクロの仕組みもVzの仕組みに似ていると感じるときがあります。
 「それ以外の実装の仕方があるか!」と言われたら、そうなんでしょうね、
としか言えませんが。

----- macro.asm -----

;--- System macro vector ---
tb_sysmacjmp:
		ofs	smac_print	; &?(ptr,arg1,...)

 割り込みdispatcherへのジャンプ!



10543/10456 BQO00549  konno            MORE.COM 改造版 Ver04
( 1) 23/01/31 21:49 10456へのコメント(konnoさん)
 MORE.COM 改造版 Ver04 です。

  ・としきさんの MORE.COM をベースに 各種DOSエミュレータに対応させる改造をしました
  ・オリジナルは PC98 FMR IBM 機種判別し、30BIOS 90BIOS V/TEXT に対応しています。
   オリジナルの場所  としきのやしき正門 電算棟 自作ソフトの部屋

 私の改造部分
  ・v04  2023-01-31  ジャンプで改行スキップ出来ていなかった
  ・v03  2023-01-23  行数表示 'Q' で終了 '1'〜'9'で+1000〜+9000行ジャンプ '0'で+10000行ジャンプ
  ・V02  2023-01-03  '-' オプションで改行処理をしない(DOSVAXJ3の2重改行問題に対応)
  ・V01  2023-01-01  IBMチェックを先頭にする( VTDOS対応)
  ・ソース付きです。としきさんに多謝

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


実はジャンプした行数分改行されていたのを確認していませんでした。(^^;;
大ポカです。申し訳ない。m(__)m

今回の修正で、たとえば C:\WINDOWS\WinSxS のディレクトリで実行すると

VTDOS|C:\WINDOWS>dir WinSxS |morek
 C:\WINDOWS\WinSxS のディレクトリ
省略 34行のリスト
--- MORE ---[34]			ここで '0' (+10000)
省略 16行のリスト			1行が画面2行分になっている
--- MORE ---[10066]J10034 		ここで '0' (+10000)
省略 19行のリスト
--- MORE ---[20098]J20066 		ここで '0' (+10000)
[20958]J30098 
VTDOS|C:\WINDOWS>

このようになります。行数は不正確ですが、凄いファイル数ですね。(^^;
1行が画面をはみ出して2行分になっていると2行とカウントするようです。


10544/10544 BQO00549  konno            DOSVAXJ3 JP230123版に更新
( 1) 23/02/05 00:17 コメント数:1
DOSVAXJ3 が更新されていました。
JP230123 2023/1/23 です。

更新の内容を引用します。

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

・ビデオモード 72h で文字属性上位 4 ビットの解釈が正しくなかったのを修正しました。
・漢字の右半分と左半分で属性が異なる場合の描画を修正しました。
・J-3100 モードの場合、ビデオモード 40h が有効になるよう修正しました。
・macOS でビルド、実行できるようにしました。ARM 機での動作は未確認です。
 macOS の場合 8x16, 8x19, 16x16 フォントは内蔵の東雲フォントを使用します。
・Linux でも X Window のフォントが取得できない場合東雲フォントを使用するように変更しました。

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

早速使ってみると、ファイラーの起動が速くなった気がします。
dir | morek  はやはり2重改行になります。


色々試しているうちに、ある問題に気が付いてしまいました。
詳しくは次回の記事で。


10545/10544 BQO00549  konno            DOSVAXJ3でファイルオープン失敗?
( 1) 23/02/05 21:07 10544へのコメント(konnoさん) コメント数:1
> 色々試しているうちに、ある問題に気が付いてしまいました。

えーとですね、私の常用VZは、今は非公開になっているVZなのですが
・Rf+ DOS窓のファイラーで#R 編集モードで[ESC]P [ESC]S ロングファイル名変更となる(大文字小文字区別する)
この機能があり、常時使用しています。

問題とは、DOSVAXJ3 でファイラーからファイルオープンに失敗することがあるんです。
・ファイル名に漢字を使っていると、SFNでも失敗することがあります。ロングなら100%失敗するようです。
・ファイル名に漢字を使っていなくても、失敗することがあります。ロングならほぼ100%失敗するようです。
・Rf- なら問題は出ません。なので、他のVZも問題ないと思われます。
・VTDOS や MSDOS Player では問題が出ません。(気が付いていない?)
・DOSVAXJ3 は以前のバージョンから問題が出ているようです。

今は非公開になっている機能なので、皆さんには関係ない話なのですが
VZk のバグなのか、DOSVAXJ3 のLFN拡張などの相性なのか、これから調べてみます。


10546/10546 CRG00666  文太             スタックセグメント
( 1) 23/02/06 00:43 コメント数:1
Loading a .Com Program

When command.com loads and executes a .com program, it allocates all
available memory to the application and sets the stack pointer 100H bytes
from the end of available memory. A .com program should set up its own
stack before shrinking its initial memory-allocation block with Function
4AH (Set Block) because the default stack is in the memory to be
released.

If a newly loaded program is allocated all of memory --- as a .com program
is --- or requests all of available memory by using Function 48H (Allocate
Memory), MS-DOS allocates to it the memory occupied by the transient part
of command.com. If the program changes this memory, MS-DOS must reload the
transient portion of command.com before it can continue. If a program
exits (via Function 31H, Keep Process) without releasing enough memory,
the system halts and must be reset. To minimize this possibility, a .com
program should use Function 4AH (Set Block) to shrink its initial
allocation block before doing anything else. Also, before exiting, all
programs must release all memory they allocate by using Function 48H
(Allocate Memory).

from MS-DOS Version 4.0 Programmer's Reference
https://www.pcjs.org/documents/books/mspl13/msdos/dosref40/

 すいません、sed です。非対話型です。
 この情報をずっと探していたのよ。masm5 の .doc からたどり着いた!



10547/10544 BNY00646  shadow           Re: DOSVAXJ3でファイルオープン失敗?
( 1) 23/02/06 09:02 10545へのコメント(konnoさん) コメント数:1
> 色々試しているうちに、ある問題に気が付いてしまいました。
私の環境ではフォルダで不具合が出ます。
漢字4文字の”確定申告”フォルダに入るとBSで上位のフォルダに戻る事ができません。
”確定申”では問題なく行き来出来ます。
ただし、リネームしようとすると文字化けしています。
この現象はオリジナル及び高橋版のVZでも起こります。
今のところ他の4字漢字では起こっていません。

10548/10544 BQO00549  konno            Re^2: DOSVAXJ3で"申告"な問題
( 1) 23/02/06 23:53 10547へのコメント(shadowさん) コメント数:1
> 私の環境ではフォルダで不具合が出ます。
> 漢字4文字の”確定申告”フォルダに入るとBSで上位のフォルダに戻る事ができません。

ああ、本当だ! ".." も効かないですね。
"申告" だけのフォルダでも同じでした。

旧版では、VTDOSで作った"確定申告"フォルダが、Dコマンドでも反映されないですね。
VZを立ち上げなおすと反映されます。
"確定申告"フォルダに入って R コマンドでカレントに戻るのもえらく待たされます。

"確定申告"フォルダに "確定申告.txt" を作って50文字程度のテキストを作り
以下のマクロで読み込んでみました。

= f_open
*m
80	^^	"f_open"

:A	b=l=wm+230,				;<l>ine <b>uffer
	ax=$3d00, 
	dx="c:\vz\確定申告\確定申告.txt", 	; ★ パスを合わせてください
	&i($21)		;open
	h=ax,					;file<h>andle
	ax=$3f00, bx=h, cx=50, dx=b, &i($21)	;read (50 bytes)
	i=ax,					;<i>: read bytes
	&m("%s",dx)
	ax=$3e00, bx=h, &i($21)			;close
	.
*

結果は普通に読めますね。

F_CHDIR		equ	3Bh		; Change Cu	rrent Directory	71

このへんかなぁ、引き続き調べてみますね。


> ”確定申”では問題なく行き来出来ます。
> ただし、リネームしようとすると文字化けしています。
> この現象はオリジナル及び高橋版のVZでも起こります。
> 今のところ他の4字漢字では起こっていません。

どうも漢字の文字化け関係のように思えます。
"確定申"フォルダを作ったら、"確定・"になってしまい、その中の"確定申"ファイルを開いたら
"・"が $1A になって、中身がマクロのテキストに繋がってしまいました。
怖い!


10549/10544 BNY00646  shadow           Re^3: DOSVAXJ3で"申告"な問題
( 1) 23/02/07 19:32 10548へのコメント(konnoさん) コメント数:1
おお、再現できましたか。
追試験していただきありがとうございます。
私は使う人なので報告するのみです。
エミュレータの精度が上がるのを祈るばかりです。
よろしくお願いします。

10550/10544 BQO00549  konno            Re^4: DOSVAXJ3で"申告"な問題
( 1) 23/02/07 23:50 10549へのコメント(shadowさん) コメント数:1
> おお、再現できましたか。
> 追試験していただきありがとうございます。
> 私は使う人なので報告するのみです。

非公開の私家版VZの現象だけでは原因追究も難しいところでした。
shadowさんのおかげで原因特定に近づくことが出来そうです。
ありがとうございます。

あれから追試をしてみました。
コマンドラインで

C:\VZ\確定申告>cd ..
ディレクトリを .. に変更できません

こうなります。VTDOSやMSDOS Playerでは問題なく親のディレクトリに変わります。
マクロでも試してみました。

= f_chdir
*m
80	^^	"f_chdir"
	ax=$3b00, 		; chdir
	dx="..", 		; 上のディレクトリへ
;	dx="c:\vz",		; 直接指定 
	&i($21)			; chdir
	c=r,
	&m("%x  %d",ax,c)
	.
*

コマンドラインと同じく DOSVAXJ3 だけNGになります。
コメントにしてある直接指定ではOKになります。

あと、DOSVAXJ3 の当該フォルダの ".." は最新になっていないので
一番上にならないですね、何かがおかしいです。
".." の何かに問題があるのでしょうか。

> エミュレータの精度が上がるのを祈るばかりです。
> よろしくお願いします。

これは、軟式の作者の takapyu さんにメールで報告したほうがよさそうですね。

・ ".." の何かに問題? 特定の漢字がらみ?
・ 特定の漢字の文字化けか何かで誤動作?
・ 非公開の私家版VZのファイラーで漢字とLFNがらみのオープン失敗現象
・ dir | more  で改行が2重になる?

このへんをご報告してみようと思います。


10551/10544 BQO00549  konno            Re^5: DOSVAXJ3で"申告"な問題
( 1) 23/02/08 22:35 10550へのコメント(konnoさん) コメント数:1
> これは、軟式の作者の takapyu さんにメールで報告したほうがよさそうですね。

takapyu さんにメールしましたら直ぐに返事をもらえました。
内容を書いてしまいますね。

> 確認しました。「申」が Shift JIS では 0x905c で、2 バイト目にディレ
>クトリの区切り文字 \ 0x5c が入っているのが原因と思われます。

とのことです。これは直していただけそうで嬉しいです。
more の件は

> こちらで PC DOS/V、MS-DOS/V の more で試してみましたが通常の表示
>のように見えます。止まったところでキー入力で続行する際に余計な改行
>が入るということでしょうか。

このように、正常だというので、もう一度試してみました。

今試してみたら、VZが常駐していると2重になりました。
非常駐のVZでは正常でした。
これか!
常駐と非常駐の違いがよくわかりませんが、このことも報告しました。
これも直ったら嬉しいな。
違いの解説ももらえたらもっと嬉しいかも。(他力本願な奴)


10552/10544 BQO00549  konno            DOSVAXJ3で開けないファイル
( 1) 23/02/11 22:56 10551へのコメント(konnoさん) コメント数:1
状況報告ですが、何度かメールのやり取りで問題点は全て解決しました。
と思ったのですが、どうも私の常用VZでは特定のロングファイルが開けないようです。

調べてみたら、どうやら漢字の文字コード絡みのようです。
例えば、開けないファイル名は

sjisとutfの文字コード表示 -2ページ目.txt
これは、表 が5ch で駄目?

GPD Pocket 色々 Virtual Zone.txt
色々 1.txt
t 色々1.txt
これら全て開けないので、スペースを含むファイル名が駄目?
スペースを含むファイル名でも他のは開けるので、色々の前後が駄目?
と思ったら

lfndir check.txt
MS-DOS Player for Win32-x64 謎WIPページ.txt
My History - c_mos.txt
これら全て開けないので、スペースを含むファイル名が場合によって駄目?

ファイラーの N コマンドで、「楽天 1.txt」を作成しようとしたら
「楽天」と「1.txt」の二つのファイルになりました。
楽天 1.txt はオープンできません。

スペースの隣が 56h 〜 63h だと駄目とか?
これらは全て私の非公開版VZで Rf+ の時の現象です。

この内容で追加メールしました。
VTDOS では全てのファイルが開けます。


もしやと思って MS-DOS Player でも確認してみました。
その結果、ここにあげたファイルは全部開けませんでした。(;_;)
武田さんにメールしてみます。


10553/10544 BNY00646  shadow           Re: DOSVAXJ3で開けないファイル
( 1) 23/02/13 09:24 10552へのコメント(konnoさん) コメント数:1
対応ありがとうございます。
以下の条件で試してみました。
DOSVAXJ3 JP230123版とVTDOS1.52
VZオリジナルと高橋版

> sjisとutfの文字コード表示 -2ページ目.txt
> GPD Pocket 色々 Virtual Zone.txt
> lfndir check.txt
> MS-DOS Player for Win32-x64 謎WIPページ.txt
> My History - c_mos.txt
いずれの条件でも全て開けました。

> ファイラーの N コマンドで、「楽天 1.txt」を作成しようとしたら
> 「楽天」と「1.txt」の二つのファイルになりました。
いずれの条件でも同じ結果になりました。

> 楽天 1.txt はオープンできません。
いずれの条件でも開けました。
楽天 1.txtのファイル名がVZファイラーでは
楽天1~1 .txtと表示されています。
VZファイラーからRリネームの入力画面では正常に表示されています。

> これらは全て私の非公開版VZで Rf+ の時の現象です。
VZオリジナル、高橋版での結果になります。

10554/10544 BQO00549  konno            Re^2: DOSVAXJ3で開けないファイル
( 1) 23/02/13 16:48 10553へのコメント(shadowさん) コメント数:1
> 以下の条件で試してみました。
> DOSVAXJ3 JP230123版とVTDOS1.52
> VZオリジナルと高橋版

shadowさん、確認していただきありがとうございます。
問題が出るのは、私の非公開版VZで Rf+ の時だけですので、個人的な問題となります。

> > ファイラーの N コマンドで、「楽天 1.txt」を作成しようとしたら
> > 「楽天」と「1.txt」の二つのファイルになりました。
> いずれの条件でも同じ結果になりました。

げげ、これはVZの元々の仕様のようでした。
私の私家版でも Rf+ でも同じ結果になりました。
確認せずに思い込みで間違った情報をまき散らしてしまいました。
申し訳ないです。


10555/10544 BQO00549  konno            Re^3: DOSVAXJ3で開けないファイル
( 1) 23/02/13 23:16 10554へのコメント(konnoさん) コメント数:2
皆様にお詫びです。

#10552 に書いた

> どうも私の常用VZでは特定のロングファイルが開けないようです。
> これは私の非公開版VZで Rf+ の時の現象です。

このことですが、DOSVAXJ3 の作者様が確認されて、ご指摘がありました。
これはWindows95,98からのLFNの元々の仕様のようでした。
VTDOS で出来ていたのは、VTDOSが独自に対応していたものだったようです。
確認せずに思い込みで間違った情報をまき散らしてしまいました。
本当に申し訳ありませんでした。m(__)m


10556/10544 CRG00666  文太             Re^4: DOSVAXJ3で開けないファイル
( 1) 23/02/14 01:28 10555へのコメント(konnoさん) コメント数:1
konnoさん

 お疲れ様です。
 大変みたいですね。がんばって!

>> どうも私の常用VZでは特定のロングファイルが開けないようです。
>> これは私の非公開版VZで Rf+ の時の現象です。"

>このことですが、DOSVAXJ3 の作者様が確認されて、ご指摘がありました。
>これはWindows95,98からのLFNの元々の仕様のようでした。

 もし宜しければなのですが、Win9x LFN funcの仕様にどのような不具合があり

>VTDOS で出来ていたのは、VTDOSが独自に対応していたものだったようです。

 それを、VTDOSは「こう」独自に対応してくれています、

 と書いてくださると助かります。m(__)m



10557/10544 BQO00549  konno            Re^5: DOSVAXJ3で開けないファイル
( 1) 23/02/14 23:50 10556へのコメント(文太さん)
>  もし宜しければなのですが、Win9x LFN funcの仕様にどのような不具合があり

仕様であって、不具合ではないと思います。
そうはいっても動かないと気になりますね。
実は私もよくわかっていないのです。(^^;
てっきり動くものだと思っていたもので…

関係あるかわかりませんが、気になっているのは、DANNY版VZのtestd7

> ●既存の長い名前のファイルを、長い名前でオープン可能に
> 
>    内部で短い名前に変換します。 「既存のファイル」にのみ、対応します。
>  ファイル名中に半角スペースがある場合は、"File Name.TXT" のように "" で
>  括って下さい。
2001/02/24  15:10            11,422 testd7.com

このころのOSは、Win9x ですよね。
Win98MEのDOS窓VZのオープン窓で、"File Name.TXT" のように "" で括っても開けなかったのですよ。
出来ていたような気がするのですが・・・

nifty会議室の過去ログ検索したらこんなのが

> 08076/08081 xxxxxxxx  H.Konno          RCP32は問題なし
> (14)   04/06/03 01:13  08073へのコメント  コメント数:1

> > 最近考えていたリネーム利用の LFN取得なんですけど,こんな感じ。
>     fg.1+,#O #u .     ; ファイルオープン窓に貼り付け

> にしてみました。このまま[Enter] しても駄目でしたが、ふと思い出して、
> DANNY版で試したら、開けました。\(^^)/ 
> ということで、open.asm もDANNY版に差し替えました。(^^)

これは XP ですが、元は Win9x で出来ていたと思われます。
文太さんにお願いなんですが、Win9x と、XP のDOS窓VZのオープン窓でスペースのあるLFNファイルで
"File Name.TXT" のように "" で括って開けるかどうか試してもらえたらなぁと。(^^;
d7以降のDANNY版とKVZで使えるはずなんですが、私の環境では確認できないのです。

>  それを、VTDOSは「こう」独自に対応してくれています、
>  と書いてくださると助かります。m(__)m

今となっては私にも全然わからないので、相当のリハビリが必要です。(^^;


10558/10544 BQO00549  konno            Re^4: DOSVAXJ3で開けないファイル
( 1) 23/02/16 01:21 10555へのコメント(konnoさん)
皆様に朗報です。

> > どうも私の常用VZでは特定のロングファイルが開けないようです。
> > これは私の非公開版VZで Rf+ の時の現象です。
>
> このことですが、DOSVAXJ3 の作者様が確認されて、ご指摘がありました。

これは、DOSVAXJ3 の作者様がオプションで対応してくれることになりました。
ありがたいです。

あと、以前の書き込みの現象について

> どうも漢字の文字化け関係のように思えます。
> "確定申"フォルダを作ったら、"確定・"になってしまい、その中の"確定申"ファイルを開いたら
> "・"が $1A になって、中身がマクロのテキストに繋がってしまいました。

これは、[ESC]i 不具合修正で混入したVZKのバグだったようです。
開いたテキストの末尾で文字を挿入すると発生していました。
VTDOSではたまたま現象が出なかったので気が付かなかったのでした。

ということで、VZのほうも少しだけ先に進めそうです。


10559/10559 BQO00549  konno            DOSVAXJ3 JP230216に更新
( 1) 23/02/16 21:35 コメント数:1
DOSVAXJ3 が更新されました。JP230216 (2023/2/16) です。
更新の内容を引用します。

----------------------------------------------
build JP230216 (2023/2/16)

・ 名前に 2 バイト目が 5ch の文字("表" 等)が入っているディレクトリからの相対移動や、
  ディレクトリ内のファイル操作処理が正しく動作していなかったのを修正しました。
・ . より文字コードが小さい文字("-" 等)で始まっているディレクトリが一覧取得で
  . や .. より先に取得されてしまうのを修正しました。
・ Vz 常駐中に more の出力の改行が二重になるのを修正しました。
・ ロングファイルネームにスペースが入っている場合でも開けるようにするオプション
  lfn_space を追加しました。

README.txt  ----------------------
lfn_space      true で通常の DOS ファンクションでスペース入りのロングファイル
               ネームを受け付けるようにします。
               false でも通常の DOS ファンクションでスペースが入っていないロン
               グファイルネームは受け付けます。


メールからの情報  ----------------

 int 21h ah=3dh (ファイルオープン) での長いファイル名対応ですが、
簡単なプログラムを書いて各種環境で試してみました。

・Windows 98/XP の DOS 窓
 長いファイル名 ×
 スペース入りの長いファイル名 ×

・MS-DOS Player
 長いファイル名 ○
 スペース入りの長いファイル名 ×

・VTDOS
 長いファイル名 ○
 スペース入りの長いファイル名 ○

 となっています。
 Windows 98/XP の DOS 窓ですが、スペース入りでも 8.3 形式に入るファ
イル名 (色々 1.txt 等) であればオープン可能のようです。
 int 21h ax=716ch (LFN 対応ファイルオープン) は上記全てでスペースの
有無に関係なくオープンできました。

 スペース入りの長いファイル名を "" で囲った場合の ah=3dh のオープン
は上記全てで失敗します。"" で囲ったファイル名でのオープンは DOSBox-lfn
ベースで LFN に対応した DOSVAXJ3 / DOSBox-X のみの対応となっています。

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

やっぱり、スペース入りの長いファイル名は、元の仕様では × なんですね。
対応いただいた作者様に感謝です。


10560/10559 CRG00666  文太             Re: DOSVAXJ3 JP230216に更新
( 1) 23/02/18 11:56 10559へのコメント(konnoさん) コメント数:2
konnoさん

 お疲れ様でした。そして、ありがとうございました。
 半角スペースをファイル名に自分で入れたことがない、というのがモチベーション
の低さの原因なのは最初から分かっていたのですが、それより、XP機を探して
腐海のプチ整理に飲み込まれてしまったのが敗因です。
 もっとも、現在、生命維持エネルギーレベルが−3で、これも−5から少し
回復したような廃人モードな日々なので、プチ整理も勝機があったわけではなく、
整理開始前と開始後で、どう違うのよ? 状態です。

 とにかく、DOSVAXJ3作者さまからの貴重な情報もありがとうございました。
 いろいろあるんですねぇ。

 半角スペース in filename といえば、めざらさんがご専門のはず。タイミング
もありましょうが、めざらさんにとっても、かなりありがたい情報だったのでは
ないでしょうか。

 まずは心の整理、体調の整理、そして仕事部屋の整理。腐海は、いつも最後に
なる、、、。



10561/10559 BQO00549  konno            Re^2: DOSVAXJ3 JP230216に更新
( 1) 23/02/18 21:42 10560へのコメント(文太さん) コメント数:1
>  半角スペースをファイル名に自分で入れたことがない、というのがモチベーション
> の低さの原因なのは最初から分かっていたのですが、それより、XP機を探して
> 腐海のプチ整理に飲み込まれてしまったのが敗因です。

すみません、私が要望したんでしたね、動いていただきありがとうございました。

>  もっとも、現在、生命維持エネルギーレベルが−3で、これも−5から少し
> 回復したような廃人モードな日々なので、プチ整理も勝機があったわけではなく、
> 整理開始前と開始後で、どう違うのよ? 状態です。

腐海の蟲のダメージは、王蟲の金粉? 金の光? を浴びると回復するかも。(意味不明)

>  とにかく、DOSVAXJ3作者さまからの貴重な情報もありがとうございました。
>  いろいろあるんですねぇ。

実は私は何もわかっていなかったことがわかって、ビックリしました。

>  int 21h ah=3dh (ファイルオープン) での長いファイル名対応

SFNの通常ファンクションコールでLFN対応はVZ単体では無理です。
このルーチンは、10#さんのものを借りた借り物のルーチンだったのです。
とりあえずリネームとステータスラインにロング名表示は分離できました。
7年以上止まっていた時間が動き出したような感じです。

>  半角スペース in filename といえば、めざらさんがご専門のはず。タイミング
> もありましょうが、めざらさんにとっても、かなりありがたい情報だったのでは
> ないでしょうか。

これはわかりません。

>  まずは心の整理、体調の整理、そして仕事部屋の整理。腐海は、いつも最後に
> なる、、、。

私も同じようなものですが、うちに仕事部屋はありません。ノートPCを置いた所が書斎。

# また一つ(部屋が腐海に飲まれて)消えた。グゲゲゲ・・・


10562/10559 CRG00666  文太             Re^3: DOSVAXJ3 JP230216に更新
( 1) 23/02/18 23:24 10561へのコメント(konnoさん) コメント数:1
konnoさん

>> int 21h ah=3dh (ファイルオープン) での長いファイル名対応ですが、
>>簡単なプログラムを書いて各種環境で試してみました。
> SFNの通常ファンクションコールでLFN対応はVZ単体では無理です。
 それはそうでしょう。内幕については、、、。
 7年ごし!!!
 ま、めざらさんの「あれ? SFNファンクが対応してる!」が、けっこう
きっかけですね。としきmoreだって!
 何がどう転ぶか分かんないよね、と、常々思っています。
 継続。これがすべて! そして、やがて、つながる。
 がんばってください!

>>簡単なプログラムを書いて各種環境で試してみました。
 僕は、「何もわかっていない」自覚があるつもりなのに、ここを考えていました。
 Vzマクロはダメ。アセンブラ? パスカル? ベーシック? 僕にとって
いちばん簡単なのはなんだろう? とか。(言い方があれですが)ベーシックが
Vzマクロレベルに操れれば、こんなの、なのですが。

>実は私は何もわかっていなかったことがわかって、ビックリしました。
 大きな前進! 高く飛ぶために深くかがむ。
 注視してますからね。

>腐海の蟲のダメージは、王蟲の金粉? 金の光? を浴びると回復するかも。(意味不明)
 いえ、今日の気温と太陽はよかったです。レベル0まで回復してる、と感じました(笑)
 V(^^)z



10563/10559 DGF01024  めざら           Re^2: DOSVAXJ3 JP230216に更新
( 1) 23/02/19 10:09 10560へのコメント(文太さん) コメント数:1
参照先:http://mezala.la.coocan.jp/
>  半角スペース in filename といえば、めざらさんがご専門のはず。

そうなのですか? 知らなかったな。(笑)
全角スペースにはしてやられた記憶がありますが,半角……何でしたっけ?

いずれにしても,各エミュレータで仕様…と言うのか,「振る舞い」ですね…が共通であればこんなに嬉しいことはありません。そこに限らないけれど,多様な環境でモニターされている konnno さんには(正直手が回らない後ろめたさもあり)感謝しかありませんね。

本当は,積極的に試用して報告することで作者様のモチベーションを維持することに貢献できるのかもしれませんが,さほど不満のない環境を一度手にしてしまうとそこに埋没してしまいます。文句だけ言うくせに感謝を忘れている。広義での「カスタマー」ってだいたいそんな感じなのでしょうけど。

そろそろわたしも積極的にならなければ……歳とるとフットワーク以前に気持ちが入らないのですよね。確定申告も珍しく速攻で終えたし,馬鈴薯植えたら重い腰を上げよう。

10564/10559 CRG00666  文太             Re^3: DOSVAXJ3 JP230216に更新
( 1) 23/02/19 23:40 10563へのコメント(めざらさん)
>>  半角スペース in filename といえば、めざらさんがご専門のはず。
>そうなのですか? 知らなかったな。(笑)
>全角スペースにはしてやられた記憶がありますが,半角……何でしたっけ?

 ありょりょりょりょ。これは失礼いたしました。全角スペースでしたか、
記憶違いです。すいません。プログラミング的には、かなり違いますね。
 日本語って面倒ですね。「表」その他。iskanji な感じ。

 ざっと数えたら、cmosソースでプロシージャ800個以上。わお。
 真面目に読んだら(真面目じゃないです)、macro.asmももう大変。すぐさま
expr.asmへジャーンプ! これは当たり前だけど。えむしさんのasm.shdで、
おお、すげっ! な発見。
 過去ログ読み、楽しいです。困ります。Emmett vz (intentional) KITI の
「構造化論議」。うーん、熱い! ステキ!



10565/10559 BQO00549  konno            Re^4: DOSVAXJ3 JP230216に更新
( 1) 23/02/20 00:19 10562へのコメント(文太さん) コメント数:2
> >>簡単なプログラムを書いて各種環境で試してみました。
>  僕は、「何もわかっていない」自覚があるつもりなのに、ここを考えていました。
>  Vzマクロはダメ。アセンブラ? パスカル? ベーシック? 僕にとって
> いちばん簡単なのはなんだろう? とか。(言い方があれですが)ベーシックが
> Vzマクロレベルに操れれば、こんなの、なのですが。

いちばん簡単なのはVzマクロではないですか?
#10548 で使ったマクロで確認できると思います。

= f_open
*m
80	^^	"f_open"

:A	b=l=wm+230,				;<l>ine <b>uffer
	ax=$3d00, 
;	ax=$713d, 
;	dx="d:\01\確定申告.txt", 		; SFN漢字 ★ パスを合わせてください
;	dx="d:\01\楽天 1.txt",	 		; SFN漢字スペース ★ パスを合わせてください
	dx="d:\01\楽天0123456789 01.txt", 	; LFN漢字スペース ★ パスを合わせてください
	&i($21)		;open
	c=r,h=ax,				;file<h>andle
	(c)? {&m(" open err! ") >e}		; ★ open err 追加
	ax=$3f00, bx=h, cx=50, dx=b, &i($21)	;read (50 bytes)
	i=ax,					;<i>: read bytes
	&m("%s",dx)
:e	ax=$3e00, bx=h, &i($21)			;close
	.
*

このように open err を追加して、LFN漢字スペース名でやってみました。
DOSVAXJ3の新版とVTDOSはファイル内容を表示します。
DOSVAXJ3の旧版と MS-DOS Player は open err! と表示されます。

最初からこれで確認すればよかったですね。
でもこの時点では、ax=$3d00 のファンクションコールが原因とは思ってもいなかったのでした。 

>  いえ、今日の気温と太陽はよかったです。レベル0まで回復してる、と感じました(笑)
>  V(^^)z

埋め込み式のソーラーバッテリーみたいですね。(^^;


10566/10559 CRG00666  文太             Re^5: DOSVAXJ3 JP230216に更新
( 1) 23/02/20 01:52 10565へのコメント(konnoさん)
konnoさん、ありがとうございます。

 試してもいなくて、ごめんなさい。でも、いちおう考えていたので、話は
通じています。

	&i($21)		;open
	c=r,h=ax,				;file<h>andle
;carry が立たなくても、"file name.txt" の"file.txt"を開けられてもなぁ、
;と考えていました。でも、"file.txt"が存在してなければいいんだ、とも
;思っていました。

	(c)? {&m(" open err! ") >e}		; ★ open err 追加
	ax=$3f00, bx=h, cx=50, dx=b, &i($21)	;read (50 bytes)
	i=ax,					;<i>: read bytes
;完璧ですね。僕は、readではなく、writeしちゃったら? とか思っていました。

 はい、Vzにファイルオープンをさせなければ、Vzマクロで.comの代わりを
させられますね。

 ありがとうございました。

 あははは、太陽光発電のこと、確かに考えています。
 天気がいいと、家庭菜園とエネルギーのことで頭がいっぱい。というほど、心にも
頭にも余裕はないのですが。では、記念に(???)、数日後に上げようと思っていた
以下(謎)を上げちゃいます。
 深夜になにをやっている?



10567/10567 CRG00666  文太             ノートPCのバッテリー
( 1) 23/02/20 01:53 コメント数:1
 古いマシンの話で、まず、これがそのまま参考になる人はいないと思います。

 Win98/ME ぐらいのノートマシンを腐海からもってきました。すごく焦点のある企画
や意図があったわけではないのですが、富士通のビブロです。
 FD付きのマシンで、これで、2.5インチのHD(4,6,12GBぐらいの奴)に
どんなヴァージョンのDOSでもインストールできるぞ、みたいなつもりです。
 (3.5インチHDのバラックPCでも、できるのですが)−−意味不明でしょう
けれど、HDはネックです。

 ネットから拾ってくるOSは、だいたい販売時のとおり、FDのイメージなので
(WinImage必須)。

 とにかく、腐海出身のノートはcmosバッテリーが死んでいるのがデフォ。また、
リチウムの重いバッテリーパックも死んでいる場合が多い。えーと、後者が生きていて
電力を供給すると前者が使われません。ですから、少なくともこの時代のノートは
押入れに入れるのなら、cmos電池延命のため、バッテリーパックを満充電にしておく
のが良いと思う。いろんな考え方があるだろうと思いますが。

 さて、本題。
 バッテリーパックが死んでました。「捨てる!」でも、その前に開腹。3.2V-4.2V
のリチウムが6本。2並列の3直列。平均して3.7Vだとすると、11.1V。
これを昇圧して(場合によっては降圧)12Vは作っていると思われる。
 −−−CPUは12Vが必要だったはず、、、。

 実際に今、目の前にあるバッテリー(開腹後)は、目視で2本が死んでると思しい。
4本は救出して、色々調べてから対処を決めます。

 ポイント。制御基板(10個の端子つき専用プラグじか付け)は、8X2.5センチ。
難しいことはなし。この基板からは、温度センサー1本(ほぼ無視)とバランス
チャージ用ケーブル1本。11.1V程度の電源(プラスマイナス)ケーブル2本。

 わお、18650を3本(x n)直列して、こことここ(プラスマイナス。
バランスチャージケーブル+温度センサー)付ければこのノート、自家製バッテリー
パックでも駆動できるんじゃないか!?

 AC電源でもいいんです。ただ、太陽光発電をまだ(永遠に)やっていて、
ACからの電気でPCを動かすことに抵抗があるんですね。cmos電池の長生きも
狙える。
 というわけで、18650が転がっていたら、大いなる使い道があるかもです!

 これは古いマシンなので16Vで動きます(ACアダプタ経由。こっちを調教しよう
かと長いこと考えていた)。最近のは19Vが多いみたいです。
 AC+16Vアダプタを乗っ取る作戦の場合、20Vぐらいの電源ボックスを作って
降圧するという作戦を考えていた、います(10年くらい前から)。


 こういうことです。以下。

------------------
|          |__B__|<---- DC 16V ADAPTER <---- AC 100V
|      PC      |
|                |
------------------

 B (Battery Pack)への充電は、DC 16V でも、アダプタ経由で AC 100V でもできる。
 16V ADAPTER の部分にかわる充電池ボックスを作る作戦もある(ずっとそう考えて
きた)。
 B を、たとえば18650X12本にしても、ACからの充電は可能で、さらに、この
18650バッテリーパックのみでの運用もできる。
 (もちろん今回の僕の狙いは、18650を太陽光発電で充電すること、および
パックのみでの運用です。)

 分かりづらいかもしれませんが、壊れたBパックのリチウムを入れ替え、基板と
プラグだけ再利用しようということです。
 殻割り、してみるものですね。というか、何回やってきたのよ?



10568/10559 CRG00666  文太             Re^5: DOSVAXJ3 JP230216に更新
( 1) 23/02/20 02:13 10565へのコメント(konnoさん) コメント数:2
konnoさん

 確認のつもりだけなのですが、ちょっと前から気になっていたもので。

>でもこの時点では、ax=$3d00 のファンクションコールが原因とは思っても
>いなかったのでした。

 とか

>> SFNの通常ファンクションコールでLFN対応はVZ単体では無理です。
>それはそうでしょう。内幕については、、、。(文太 wrote)

 とkonnoさんは書かれてますが、SFNのFコールでLFNが処理できると
なんで、konnoさんはお考えだったのでしょう?
 Win9x以降にLFNが導入され、それにともなって、Fコールも拡張されましたよね。
 だとしたら、LFNなしの環境でVzがLFNを処理できるはずがないでしょう、
と僕は考えたのですが? あるいは、Vzが(拡張)FコールなしにLFNを処理できる
はずがない、と。

 めざらさん発見のVTDOSでは、SFNファンクでLFN処理までしてくれる、
というのに、惑わされた? それに慣れてしまっていた?
 僕は、何かをすごく誤解してますか?

 不躾で申し訳ありません。



10569/10567 CRG00666  文太             Re: ノートPCのバッテリー
( 1) 23/02/20 12:52 10567へのコメント(文太さん)

 まだこのページあったのね。

「ノートPCを乾電池で駆動する」
http://scw.asahi-u.ac.jp/~sanozemi/Sakuhin/NotePC04/NotePC04.html

 はやい話が、このプロジェクトの電源強化版であり、技術的な簡易版という
ことです。ACから充電もできる、というのもすごいけど(自画自賛)。

 ただ、このとおりでは、あの抵抗がうまく当たらなくて挫折した記憶。
10年くらい前の話。

 つまらない空想ごっこができるレベルまで気力・体力が回復したのか? 
なことはないと思う。まだまだベロベロ。



10570/10559 BQO00549  konno            Re^6: DOSVAXJ3 JP230216に更新
( 1) 23/02/21 00:42 10568へのコメント(文太さん) コメント数:1
> >> SFNの通常ファンクションコールでLFN対応はVZ単体では無理です。
> >それはそうでしょう。内幕については、、、。(文太 wrote)
>
>  とkonnoさんは書かれてますが、SFNのFコールでLFNが処理できると
> なんで、konnoさんはお考えだったのでしょう?

なんで文太さんがそういう風に考えるのか理解できませんね。直ぐ上で

> >> SFNの通常ファンクションコールでLFN対応はVZ単体では無理です。

こう言っているでしょう。

>  めざらさん発見のVTDOSでは、SFNファンクでLFN処理までしてくれる、
> というのに、惑わされた? それに慣れてしまっていた?
>  僕は、何かをすごく誤解してますか?

多分すごく誤解していると思います。
私は、VTDOSが、SFNの通常ファンクションコールでLFN対応をやっているとは思いましたが
非公開版のVZで長い名前表示は、SFNでやっているとは思っていなかったのです。
つまり、調べてもいなかったということです。


10571/10559 DGF01024  めざら           Re^6: DOSVAXJ3 JP230216に更新
( 1) 23/02/21 07:51 10568へのコメント(文太さん) コメント数:1
参照先:http://mezala.la.coocan.jp/
>  めざらさん発見のVTDOSでは、SFNファンクでLFN処理までしてくれる、

「発見」なんて……大袈裟な(^o^;)
「振る舞いがわかった」だけですよ。
(自分の目的にとってはひどく嬉しかったから大騒ぎしたように見えたのかな。)

10572/10559 CRG00666  文太             Re^7: DOSVAXJ3 JP230216に更新
( 1) 23/02/21 12:50 10570へのコメント(konnoさん) コメント数:1
konnoさん

 あ、ごめんなさい。どうも変なところに刺さってしまったみたいですね。
 刺すつもりは毛頭ありませんでした。
 でも、あ、そこ、火傷してたんですね、知らなかったんです、ごめんなさい。

 前からですが、ぼおっと考えていたのは「そもそもファイル名とは何か」と
いったことで、0バイトのファイルは作れるし、1.txtでも0123456789.txtでも
0バイトになれる。だから(当たり前ですよ)ファイル内容ではないファイルの
情報はファイルに含まれておらずFATエントリーにある。(注)
 で、SFNとLFNはどうよ?
 としきさんが輸入していたLFNDOSだかDOSLFNって何よ? FATはどうなって
るの? みたいなことでした。LFNの通じるrcp.exe for dos を所望していた
なぁ、とか。

 はい、これは勉強します。手を出せるようなレベルでなく基礎知識として。
 Peter Norton 先生は、メインフレームから来た人なのですが、IBM初代機
から(別にそれほど世俗的野心に駆られたのでもなく、おそらく)旺盛に研究
しました。
 彼が得意としたのは、なんといってもディスク。8086の基礎や16進数
みたいなところから始めて、アセンブラ本(入門書)を1冊まるまる費やして、
ディスクエディタの作り方を解説しています。
 実用性は別にして、これ、読みたいなぁ、と思っています。

 そっち(disk & video)、ぜんぜん進んでない、ということです。
 全部、止まってますが、事実上。つまらない口以外は。

(注)ここが分かれ道。NTFSは、知らなーい。平和な人。



10573/10559 CXB00940  としき           Re^8: DOSVAXJ3 JP230216に更新
( 1) 23/02/21 18:53 10572へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  はい、これは勉強します。手を出せるようなレベルでなく基礎知識として。

読解力が足りないもので、「これ」が何をさしているのかがわかりません。
「LFNの通じるrcp.exe for dos」のことなのか。
「LFNDOSだかDOSLFN」のことなのか。
「そもそもファイル名とは何か」ということか。
どれも外れだったりして。

余談ですが、清十郎先生の「長いファイル名の基礎講座」はよい資料だと思います。
https://www.vector.co.jp/soft/data/prog/se044198.html


10574/10559 CRG00666  文太             LFNと清十郎先生など
( 1) 23/02/21 23:59 10573へのコメント(としきさん)
としきさん

 ありがとうございます。
 清十郎先生、いちおう最初から最後まで眺めました。パスカルがいる!
 最終部分は、すっかりWinプログラミングな風景。

引用長くてごめんなさい。

> ■■■■ FAT32 ハードディスクの論理フォーマット ■■■■
> 
>  ’96年末から Windows95 の新しいバージョン(OSR2 -OEM Service Release2)
> が OEM のプレインストゥールモデル用にリリースされ、FAT32 ファイルシステム
> がサポートされるようになりました。
> 
>  MS-DOS 4.0 から、レコード番号は 32 ビット化されて1パーティション当たり
> 2Gバイトまで管理することが出来る様になっていますが、FATが 16 ビットの
> ままであった為、大きな容量を管理する為にはクラスタ当たりのレコード数を増や
> さなければなりませんでした。2Gバイトでは1クラスタは32Kバイトにもなり、
> どんなに小さなファイルでも32Kバイトを消費しますので、使用効率は非常に
> 悪くなります。
> 
>  FAT32 では、1クラスタは4Kバイト固定ですので使用効率は良いですが、その
> 代わりFATのサイズが巨大になり、スキャンする時間も馬鹿にならなくなって来
> ますので、アクセスを極力減らす為に、ファイルシステム情報(FSINFO)という
> 領域が新たに追加されています。
> 
>  また、ルートディレクトリの位置も固定ではなくなり、エントリィ数の制限も
> なくなっています。
> 
>  PC98の新しいモデルにも OSR2 がプレインストゥールされていて、FAT32 も
> 一応使えますが、パーティション管理領域の構造がAT互換機とは違うので、領域
> を確保しても認識出来ないと思います。

 そうなんだぁ。これ、ちょっと知りたかったこと。
 そんなに損なんだ。
 NEC、そ、そこまで。1.2MB FD とかあったよねぇ。1.44とのデータ受け渡しで
720 とか使ったよねぇ。
 FSINFOですかぁ。手持ちのノートン先生の本には出てこないだろう、、、。
 NU(Norton Utilities)のHD解説にはあるな、きっと。

 多謝です。LFNはどこへ行った? 半角スペースとか使わないほうがいいよ。
 3つに分けるなよ、理由があるんでしょうけど。Part1, Part2, Part3。

 余談・雑談・空想。
 なんでファイル名にスペースとか使いたいわけ? コマンドラインで単語の区切りに
スペースを使うから、いろいろ面倒になりません?
 西洋圏では、日本と違い、文の中の単語自体が分かち書きされます。ですから、
どうしても、ファイル名にスペースを使いたかったのです。彼岸でなく悲願だったの
です。"I love you.txt"と書きたい! "Iloveyou.txt"ではダメなんだ!!!
 アイコン叩く場合、コマンドラインもないでしょうからねぇ。

 追記:
https://sta.c64.org/lfnemu.html
 ちょっと覗いてみる? とか思って、doslfnとlfndosをDLしたけど、アーカイブを
開く気持ちすら、な、い。ごめん。
 LFNにさして興味はなかったのだった。8・3で幸せなんです。cmosソースに
LFNはないし。「しょうがないなぁ、もう」というときのために、bll2.com (LFN->SFN
変換バッチ下書き作成ツール)を作ったのだった。
 しばらくないです。m(__)m

2022/10/07  23:13        18,922,101 MASM50-PROGGUIDE.pdf
2023/02/20  20:16           683,045 masm5prg.txt
 こうする人なのです。あくまでパーソナルな(自分のための)コンピュータ。

 FAT32に行こう!



10575/10559 CRG00666  文太             vtdosでの発見
( 1) 23/02/22 00:02 10571へのコメント(めざらさん)
めざらさん

 ありがとうございます。

>(自分の目的にとってはひどく嬉しかったから大騒ぎしたように見えたのかな。)

 大騒ぎではなかったと思いますが、場合によっては(憎たらしい)、大きな
発見か指摘だったと思いますよ。
 反響、おおありでしたし。
 どうも、です。m(__)m



10576/10546 CRG00666  文太             Re: スタックセグメント
( 1) 23/02/23 17:11 10546へのコメント(文太さん) コメント数:2
雑記

--- 引用 ---
nifty:FGALDC/MES/15/
#03869 高橋 洋光 RE:Q:zp ってなに?
97/01/07 22:59

   まず、TPA と言うのはメインメモリーのフリーエリアの事。
   zp と言うのはポインタですが、そのポインタのセグメントは常駐command.
  com のセグメントです。
   簡単に言うと、常駐 Vz が、command.com にフリーエリアの開始セグメン
  トを強制的に教えこむため、command.com  を書き換えるポインタが、zp です。
------------

 と言われてもね。とほほほ。
 ま、いつの日か。

===========================================================================

inst.asm     1132:;--- Check prefix key ---
inst.asm     1153:;--- Scan follow key ---

 プレフィクスキーの後は「本物キー」で良いか、という話が昔ありました。
 どうも術語ではないような気もしたけど、cmosさんは、follow key (後続キー)
と呼んでいたみたい。



10577/10546 CRG00666  文太             Re^2: スタックセグメント
( 1) 23/02/24 19:49 10576へのコメント(文太さん)
c:\vzsrc\cmos\main.asm      216:GDATA tpafreep,	dw,	0		; ZP

c:\vzsrc\cmos\dos.asm     1097:	public	allocTPA
c:\vzsrc\cmos\dos.asm     1098:allocTPA proc
c:\vzsrc\cmos\dos.asm     1151:allocTPA endp

c:\vzsrc\cmos\swap.asm      127:		call	allocTPA

 違う。僕が知りたいのは、こういうことではなかった。
 いちおうもがいてはいます、という報告でした。



10578/10546 BQO00549  konno            zp ってもしかして XP の不具合絡み?
( 1) 23/02/26 00:53 10576へのコメント(文太さん) コメント数:1
>    zp と言うのはポインタですが、そのポインタのセグメントは常駐command.
>   com のセグメントです。
>    簡単に言うと、常駐 Vz が、command.com にフリーエリアの開始セグメン
>   トを強制的に教えこむため、command.com  を書き換えるポインタが、zp です。

文太さん、目の付け所がナイスですね! φ(。。)mメモメモ
私は全くわかっていませんでした。
早速各種環境で調べてみました。


VTDOS  NP2	DOS Ver 6.20
ZP:0		起動直後
ZP:1327  52Fh	 VMAP 後


Win98ME		DOS Ver 8.0  VZo,VZs,VZex
ZP:0		起動直後
ZP:0		 VMAP 後

VZオリジナル、榊原版、などは検索失敗しているようだ。

Win98ME		DOS Ver 8.0  VZc,VZt,VZd,VZk
ZP:0		起動直後
ZP:1767  6E7h	 VMAP 後

チューパッチ以降は対応されているようです。
ここまではまあこんなものかと、ボロボロのXPマシンを何とか立ち上げてみました。

WinXP		DOS Ver 5.0  VZo,VZs,VZex
ZP:0		起動直後
ZP:0		 VMAP 後

PCがボロボロでキー入力もおかしくなっているが、基本はWin9x系と同じみたいです。

WinXP		DOS Ver 5.0  VZc,VZt,VZd,VZk
ZP:0		起動直後
ZP:-16544 BF60h	 VMAP 後

一見チューパッチ以降は対応されているように見えるが、数値が変?
気になったので、Win2000マシンでも見てみました。

Win2000		DOS Ver 5.0  VZc,VZt,VZd,VZk
ZP:0		起動直後
ZP:-16544 BF60h	 VMAP 後
ZP:20497  5011h	 VMAP 後	vzkvt2

 VZc,VZt,VZd,VZk は、XPと同じですが、たまたま vzkvt2 でも見たところ数値が違う?
確認したら、vzkvt2 だけ、DOS.ASM のルーチンが違ったのです。
これはもしかして、10#さんのルーチンでは?
WinNT系ではVZのコマンドラインで不具合が出やすいですが、その対策?
真相はいかに・・・続く

10579/10546 CRG00666  文太             Re: zp ってもしかして XP の不具合絡み?
( 1) 23/02/27 00:22 10578へのコメント(konnoさん) コメント数:2
konnoさん

 関心を向けてくださり感謝です。
 とはいえ、konnoさんは、vtdosなどの挙動に興味があり、僕はVzの仕組みにのみ
興味があります、、、。そのためにDOSマシンなどというVz以外で使いようのない
マシンを作る技術とパーツをコレクションしたのですから。

1327 52Fh		;vtdos

 ここだけ同じでした。それ以外が違う、という意味ではなく、これだけやりました、
という意味です。
 ただ、僕は、vtdosに出会って以来、sw=0 なんです。どこでも、スワップなんて
しなくていいよ、と。困ったことないもの。スワップさせる環境にして困ったことは
あるけど、と。

sw
     0 :スワップ機能を使用しない
     1 :テキスト領域のみ解放する
     2 :コード領域も含めて解放する
     3 :常駐時に常にコード領域まで解放する
   ◆4 :アプリケーションのコマンドラインは
        フックしない。(SW3 と同様)

 というわけで、sw0, で、zp に意味はあるのだろうか? というのが僕の疑問です。
回答してください、という意味じゃないです。
 所詮、分からないことだらけでVzを使っているのですから。
 Vzの仕組みが分かりたくてVzを使っているところが、おおいにありますねぇ。

 いちおう釈明・説明しますと、僕はVz1.6の「コードセグメントとデータセグメント
の分離」の意味を知りたいんですね。ただ、ここでいうデータセグメントって、cpu的には
スタッグセグメントのことですね、Vzはスタッグセグメントをスタッグとしては
まったく使ってなくて、データ格納領域(それもコピー大半。マクロバッファ含む)と
して使ってますね。で、command.comが.comファイルではスタッグセグメントを割り当てる
のなら、その後Vzはそこをどう管理してるのよ、となって、このスレッドのタイトル
となりました。
 Vz 1.6, main.asm の冒頭にヒントがあったと思ってます。
 とりわけ解説とかコメントとか求めていませんから、大丈夫ですよ。

 ただ、何かレスをしたかっただけです。m(__)m


 そうそう、(僕的には)別件ですが。
 僕はZP (tpafreep) が swap のためだけに用意されたものだと思っていました。でも、
これ、Vz1.6 ではじめて入ってます。1.5x 以前では、tpafreep はないと思う。
もちろん、1.5x で swap.asmはあります。なんだ?



10580/10546 CRG00666  文太             別のこと
( 1) 23/02/27 01:41 10579へのコメント(文太さん) コメント数:1
皆さまへ、とりわけ、としきさんへ

 まだ体力も知力も時間も余裕があるわけではないですが。
 こういうことだよねぇと思うことが昨日あったので、書いておきます。

 としきさんが変なVzのバグを見つけたのが、たぶん、半年前。そんなのの原因を
僕に探せるわけないじゃないですか、と展開したのも半年前。

 ただ、この件がラインバッファってどうなってるの? core.asmがラインバッファ
作成管理なのか! え? ラインバッファって、1.5xの時代から、スタッグセグメントに
あったの!? で、スタッグセグメントって何?(.comファイルの SS について
考えたことなんて100%なかった)。

 ですから、紆余曲折はありますが、皆さまに感謝です。
 繋がっちゃうんですよ、宿命的に。
 まだまだ感謝しつづける所存でありまする。
 ゆっくり、ゆっくり。

 そうそう、さっき書き忘れました。
 konnoさんの腐海は、けっこう整理されてるっぽい。そんなにすぐ、XPとか2000とか
98MEとかが出てくるのだもの。さすがに普段から準備に怠りないですね、すごい!
と思い(良い影響)、僕もちょっとずつ腐海の整理に着手しています。XPノートは
見つかりました!


 余禄(たぶん字が違う)。
 高橋語録:「Vzが書かれた時代には、常駐物は.comモデルで書くのが常識だったの。
サイズが小さいから。その後EMSとか出て、事情はちょっと変わったけど。Vzの
セグメント管理? 全部自前ですよ。Cのmallocみたいに、動的に管理してる」(意訳)

 セグメントって言葉が何を意味するのか、深いですねぇ。
 しかしVzマクロから眺めるセグメントとVzがソースの中で管理してるセグメント
と、(たぶん)Vzがアセンブラを意のままに操るセグメント、CPUのセグメントは
違うのだろう。
 JUNさんやえむしさんにも、感謝です。



10581/10546 BQO00549  konno            WinNT系のコマンドライン問題解決したかも
( 1) 23/02/27 23:03 10579へのコメント(文太さん) コメント数:1
> 1327 52Fh		;vtdos
              ↓
1327 52Fh		;MSDOS6.2
この数値は、command.com ごとに違うのだと思います。
そして、WinNT系のDOS5 は、正しく取得できていないと思われます。

>    ◆4 :アプリケーションのコマンドラインは
>         フックしない。(SW3 と同様)

これを見て閃きました。command.com をフックさせなければいいのではないかと。
FreeCOM と DOSVAXJ3 の環境では、zp はゼロになります。フック出来ていないのです。
それなのに問題なく動作しているので、WinNT系でも同じくフックさせなければどうなる?

で、やってみました。
正しい位置を検索するのは難しいですが、わざと失敗させるのなら簡単です。(^^;

その結果、いままでWin2000で必ず落ちていた操作
テキストオープン後に[ESC]E でコマンドラインに降り
小文字の vmap
大文字の VMAP
この操作で全く問題が出なくなりました。\(^^)/ ヤッタ-

>  というわけで、sw0, で、zp に意味はあるのだろうか? というのが僕の疑問です。

これが鍵だったのです。文太さんのおかげで長年の問題が解決したかもしれないです。
ありがとうございます。

> スタッグセグメントのことですね

タイポかもですが、スタッグ ? と思って検索したら、裏切る、寝返るとか出ますね。(^^;
そうか、VZ1.6はメモリ管理の常識を裏切るビックリな使い方をしているのでせう。(^^;;

>  僕はZP (tpafreep) が swap のためだけに用意されたものだと思っていました。でも、
> これ、Vz1.6 ではじめて入ってます。1.5x 以前では、tpafreep はないと思う。
> もちろん、1.5x で swap.asmはあります。なんだ?

この数値は、command.com ごとに違い、正しく取得できないことがあるから目に見えるようにした。
と想像します。


10582/10546 BQO00549  konno            Re: 別のこと
( 1) 23/02/27 23:14 10580へのコメント(文太さん) コメント数:1
>  konnoさんの腐海は、けっこう整理されてるっぽい。そんなにすぐ、XPとか2000とか
> 98MEとかが出てくるのだもの。さすがに普段から準備に怠りないですね、すごい!

最近必要が生じたので、ゴミ^H^H ガラクタの山から苦労して掘り出したのです。(^^;;
特に XPノートはキーボードのキーが半分取れてるし、[F10]のコードが発行され続けるので
[F10] 関連のマクロを全部削除してやっと使っています。(;_;)
[F10]のせいで [ESC]キーなどのプレフィックスもまともに使えないので、大変でした。(T_T)
もちろん外部キーボードを付けての話です。(>_<)


10583/10546 CRG00666  文太             Re: WinNT系のコマンドライン問題解決したかも
( 1) 23/02/28 01:40 10581へのコメント(konnoさん) コメント数:1
konnoさん

>>  というわけで、sw0, で、zp に意味はあるのだろうか? というのが僕の疑問です。
>これが鍵だったのです。文太さんのおかげで長年の問題が解決したかもしれないです。
>ありがとうございます。

 だいたい話の流れは読めなくはないですが、何より、konnoさんが進歩したぞ!
と感じてくださったのが嬉しいです。役に立つばあいもあるよ >文太。偶然だけど。

>> スタッグセグメントのことですね
>タイポかもですが、
 です。

>スタッグ ? と思って検索したら、裏切る、寝返るとか出ますね。(^^;

 え?

------- Jmp -------
stag オスっていう意味です、ふつう。スタッグ

1 雄鹿
1b 雄; 雄鶏; 成熟後に去勢した雄豚[牛]
2 《パーティーなどで》女性を同伴しない男; STAG PARTY これはもしかしたら、
カタカナであるかも。
・No Stags Allowed ご婦人同伴でない方お断わり.
・go stag 同伴者なしで行く.
vi _利食いのために新株に応募する; 密告する, 裏切る
vt _密偵をする, 見張る; _stag として〈株を〉買う

 へぇ? 知らなかった。うーん、僕は恥ずかしがるべきなのかもしれませんが、
知らんよ、です。
-------------------


>>  僕はZP (tpafreep) が swap のためだけに用意されたものだと思っていました。でも、
>> これ、Vz1.6 ではじめて入ってます。1.5x 以前では、tpafreep はないと思う。
>> もちろん、1.5x で swap.asmはあります。なんだ?

>この数値は、command.com ごとに違い、正しく取得できないことがあるから目に見える
>ようにした。と想像します。

 完全に筋が通っていると思います。なるほど! ありがとうございます。m(__)m



10584/10546 CRG00666  文太             IDE & SATA HD
( 1) 23/02/28 01:46 10582へのコメント(konnoさん)
konnoさん

>[F10] 関連のマクロを全部削除してやっと使っています。(;_;)
>[F10]のせいで [ESC]キーなどのプレフィックスもまともに使えないので、
>大変でした。(T_T)
 そこまで愛してもらえるマシンは、ちょっとなかなかないでしょう。

>もちろん外部キーボードを付けての話です。(>_<)
 最初、それIDEのHDですよね? DOS機にしましょうと提案しようと思った
のですが、「外部キーボード」? うは、何が壊れているのか想像できない。

 XP後期のSATAでDOS機をつくるのは、相当困難みたい、というところ
でした。SATA + Win9x は、たぶん、不可能です。



10585/10546 CRG00666  文太             Re^2: WinNT系のコマンドライン問題解決したかも
( 1) 23/02/28 22:39 10583へのコメント(文太さん) コメント数:1
 「完全に筋は通っている」話関連です。
 いちおう検算です。
 というか計算はできないけど、konnoさんが言ってることは、*いちおう*
分かりました。
 swap.asm でなくて、dos.asm だったからね。

;--- Allocate TPA --- dos.asm Vz1.57

	public	allocTPA
allocTPA proc
	tstw	shseg
	jz	alloc9
	mov	bx,save_psp
	msdos	F_SETPSP
	mov	bx,-1
	msdos	F_MALLOC
	msdos	F_MALLOC
	push	ax
	call	TPAptr
	pop	dx
	mov	es:[bx],dx
	cmp	ax,0314h		; later DOS 3.2
_if ae
	mov	es:[di+2],dx
_endif
	mov	es,es:[di]
	mov	bx,0465h		;!!!!!
	cmp	ax,0500h		; ##156.96  ##157.xx  DOS 5.0
	jae	alloc8
	mov	di,0200h
	mov	cx,100h
_repeat
	mov	al,0B4h			; find "mov ah,49h"


;--- Allocate TPA --- dos.asm Vz1.6

	public	allocTPA
allocTPA proc
	tstw	shseg
	jz	alloc9
	mov	bx,save_psp
	msdos	F_SETPSP
	mov	bx,-1
	msdos	F_MALLOC
	msdos	F_MALLOC
	push	ax
	call	TPAptr
	pop	dx
	mov	es:[bx],dx
	cmp	ax,0314h		; later DOS 3.2
_if ae
	mov	es:[di+2],dx
_endif
	push	es:[di]
	mov	bx,cs:tpafreep		;!!!!!
	tst	bx
	jnz	alloc8
	mov	di,0600h
	mov	cx,300h
	cmp	ah,5			; ##16
	jae	alloc1
;	mov	bx,0465h		;!!!!!
;	cmp	ah,5			; ##156.96  ##157.xx  DOS 5.0
;	je	alloc8
	pop	es
	push	es
	mov	di,0200h
	mov	cx,100h
alloc1:
_repeat
	mov	al,0B4h			; find "mov ah,49h"
	jne	alloc_x
	mov	al,49h
	scasb
_until e
	mov	bx,es:[di-4]
	mov	cs:tpafreep,bx		;!!!!! こっちが保存(登録)で、、、
					;ロジックは読めませんが


c:\vzsrc\cmos\swap.asm       47:		extrn	allocTPA	:near
c:\vzsrc\cmos\swap.asm      127:		call	allocTPA
c:\vzsrc\cmos\swap.asm      456:	extrn	allocTPA	:near
c:\vzsrc\cmos\swap.asm      482:swapo8:	call	allocTPA

 繰り返しですが、(混乱したので)allocTPA proc がswapのために使われるのは
間違いありません。前も書いたね。



10601/10546 CRG00666  文太             Vz1.00 発売日?
( 1) 23/03/03 21:06 10585へのコメント(文太さん) コメント数:4
 状況証拠からも推定ができないので、どなたかにお尋ねいたします。
 ゴシップやVzトリビアよりは、もう少し真面目で真剣な問いのつもりです。
技術発展史的に。

 流れがあるので、ここで失礼します。

 疑問・質問は単純です。
 以下の記述のどちらが正しいのだろうか?

https://www.vcraft.jp/myhistory.html
--- c.mos 氏のサイトより ---
1987.1	PC World Japanより『EZ Editor』発売
1988.5	ビレッジセンターより『VZ Editor』発売
----------------------------

http://mezala.la.coocan.jp/vz/history/chrono.html
--- めざら資源 ---
1989/05	VZ Editor v1.00
------------------

 88年か89年か?
 めざらさん、何か記憶にありますか?


 経緯は、以下です。

;--- Allocate TPA --- dos.asm Vz1.57
略
	cmp	ax,0314h		; later DOS 3.2

NEC MS-DOS の歴史
http://radioc.web.fc2.com/column/pc98bas/pc98dosver.htm

 この「later DOS 3.2」はどういう意味だろう? と。
 DOS 3.2 or later かな?
 later than DOS 3.2 かな?
 意味は同じはず。DOS 3.2 以降なら、この場所にcommand.com のこれがあるはず、
程度。
 では、DOS 3.1 時代(1985/10-1987程度?)に、(Ezではなく)Vzは存在
しなかった? c.mosさんの手元にさえ? Vzは、DOS 3.1 をサポートして
いなかった?

 細かいことなのですし、すっごくクリティカルとうか致命的決定的なことでもない
のでスルーしてもいいのですが、ま、成り行きでひっかかってしまいましたので。

 どなたか状況を整理できる方に、「こうじゃない?」とご意見いただけると
嬉しく思います。



10603/10546 BQO00549  konno            Re: Vz1.00 発売日?
( 1) 23/03/03 22:31 10601へのコメント(文太さん) コメント数:1
> --- c.mos 氏のサイトより ---
> 1988.5	ビレッジセンターより『VZ Editor』発売
> ----------------------------
> --- めざら資源 ---
> 1989/05	VZ Editor v1.00

これは、c.mos 氏のサイトのが勘違いなのではないでしょうか。
うちの VZ1.5 のフォルダを見ると

 C:\VZ\VZ16\VZ150 のディレクトリ

1989/05/10  01:00             1,023 ZENHAN.DEF
1989/05/10  01:00                76 START.BAT
1989/05/10  01:00            64,445 VZ.DOC
1989/05/10  01:00               758 SAMPLE2.TXT
1989/05/10  01:00             2,545 SAMPLE1.TXT
1989/05/10  01:00             3,762 KEISEN.DEF
1989/05/10  01:00             2,573 GAME.DEF
1989/05/10  01:00                31 GAME.BAT


1989/05/10  01:00 が一番古い日付です。
この中の VZ.DOC 冒頭には

			    VZ Editor Version 1.00
			   オンラインマニュアル

			  Copyright (C) 1989 by c.mos
			  Published by Village Center

			1989年5月	兵藤嘉彦(c.mos)


こう書かれています。


10604/10546 CRG00666  文太             Re^2: Vz1.00 発売日?
( 1) 23/03/03 22:46 10603へのコメント(konnoさん)
konnoさん、

 ありがとうございます!
 そのとおりでしょう! おお、それ、見てみますね!

 別証拠(少し弱い)もあり。


10605/10546 CRG00666  文太             Re: Vz1.00 発売日?
( 1) 23/03/03 22:47 10601へのコメント(文太さん) コメント数:1
状況証拠から結論:89年

--- めざら資源 ---
1989/05	VZ Editor v1.00
------------------

 こっちが正しい。ご本人が(きっと誰もあえて指摘しないのだろう)間違ってる。
 『We Love Vz Editor II』冒頭の座談会で、ver 1.5へのヴァージョンアップの話を
しており、座談会書き起こしの最後に「Vz 1.0 版リリース直後の1989年8月の
もの凄い雨の日、技術評論社会議室にて」とある。
 なお、「PC-9801U2 を買って、エディタが必要になって作り始めた」ともありますね。

 89年です。やっぱそんなに最近(!)なんだ?!

 なお、

1982.8	統合マシン語開発ツール『MIGHTY-3』、月刊アスキー1982年8月号に掲載
1984.4	日立製作所横浜工場入所(エディタ作成に参加:Bunta added)
1986.3	同退所

 という履歴から分かるのは、82年に(81年IBM・PC初号機発売です!)、
マシン語開発ツールとか作ってたということ。うん、なんだ、古参というか筋金入り
というか。CPUとメモリと(あったのか)ディスクでPCは動くものというのは、
叩き込まれますね。あとキーボードとディスプレイ?


 ふと。
 かならずお返ししますので、万が一『We Love Vz Editor』(I)をお持ちの方が
おられましたら、お貸しください!



10607/10546 DGF01024  めざら           Re: Vz1.00 発売日?
( 1) 23/03/04 10:45 10601へのコメント(文太さん) コメント数:1
参照先:http://mezala.la.coocan.jp/
>  めざらさん、何か記憶にありますか?
 私事ですが,結婚記念月だったと記憶しておりまして,1989年5月です。
 とっくに銀婚式も過ぎています。真珠も超えて次は珊瑚。
 (一個,二個,サンゴー!なんちて)

> そんなに最近(!)なんだ?!
 うは(^o^;

10608/10546 CRG00666  文太             Re^2: Vz1.00 発売日?
( 1) 23/03/04 11:42 10607へのコメント(めざらさん) コメント数:1
 それはそれは、偶然とはいえラッキーな人生ですね。結婚式とVzと。
 こんな感じなんですね。

【25年目】銀婚式
【30年目】真珠婚式
【35年目】珊瑚婚式
【40年目】ルビー婚式
【45年目】サファイア婚式
【50年目】金婚式
【55年目】エメラルド婚
【60年目】ダイヤモンド婚

 あ、僕はただいまルビーに向かっているようです。青春なしの人生でした
(終わってしまったみたいな言い方だ)。
 青春は、これからです!

 いえいえ、僕が「何か記憶が」と書いたとき、本人はあんなところでこう書いて
いるけど、本当は違うよ、知ってるよ、とか思いながらあそこを記述したのかな、
とか。

 81年(IBM・PCの年)は大昔なのです。僕はPCにまったく興味を
持っていなくて、いわば生まれる前。
 ところが、89年になると、そろそろワープロ(オアシス)をいじり始めて
いて(手書きの論文なんてもうありえん、と主任教授に言われた)、そして、
Win95なインターネットな年は、もうすぐそこ。こうなると、自分の生(なま)な
人生にVzが入ってくるんですね。

 不思議なもので、81年と89年は、20年くらい離れてそうなんですよね、
体感的に。
 じつに100%主観な時間観・時代観でした。
 しかし(悲しみながらつけ加えざるをえない)、半導体王国だったのですよね、
そのころ、この国。



10609/10546 CRG00666  文太             『 WE LOVE VZ I 』
( 1) 23/03/04 11:44 10605へのコメント(文太さん)

> ふと。
> かならずお返ししますので、万が一『We Love Vz Editor』(I)をお持ちの方が
>おられましたら、お貸しください!

 こういうことでは動きがはやいのです。都立図書館で検索。ナシ。国会図書館? 
あそこまで行くのはねぇ。その場で読むしかないし。で、インターネット古書検索。
ビンゴ! ポイントとか使って、¥1300程度。
 きっとこんな時代です(ブラボー!)、2,3日で届くでしょう。3か月後以降なら
貸せますよ。読むのに3か月の余裕を見ました。

 なお、『WE LOVE II』は、Vz1.5についての本。『 I 』は、それ以前です。
 Vz1.00 が5000本売れたというので、ものすごく盛り上がってます>中村社長、
作者、遠藤さん(mix 議長)など。か、かわいい。その後のことは、さすがに
彼らもこの時点では知らない。

 ま、NEC98の時代ですから、理論的にのみ(僕的には十分)参考になる書物です。



10610/10546 DGF01024  めざら           Re^3: Vz1.00 発売日?
( 1) 23/03/04 13:49 10608へのコメント(文太さん) コメント数:1
参照先:http://mezala.la.coocan.jp/
えー!? 文太さんて,学生結婚なのかな。不良だ。ぜったい不良だ。

>  不思議なもので、81年と89年は、20年くらい離れてそうなんですよね、体感的に。

わかります,とても。
民間会社を辞めてプー太郎→公務員試験マグレ突破→オンラインDBを経験→NEC-88を買った
→NEC-98を買った→一太郎使った→dBXL使った→所帯持った→VZマクロに出会った!
大きな出来事の連続で,時の流れを待てずに怒涛の渦の中でクルクル回ってる感じ。
定年後再雇用の5年間が本当に1年くらいに感じました。時間って相対的なものだと知った。

10611/10546 CRG00666  文太             Re^4: Vz1.00 発売日?
( 1) 23/03/05 00:10 10610へのコメント(めざらさん) コメント数:2

>えー!? 文太さんて,(以下略)
 えーと、あの、30歳で定職に就ければラッキーな世界だったのです。
 昨今では、40歳までに、となってます。暗ーい世界になってます。
とりわけ文系は。
 情報系に職を得る人材が不足するそうで、そっちだけ定員増可だそうで、
我々は要らないそうです。ガンガン子どもも減りますしねぇ。

>わかります,とても。
 通じた。なんか嬉しい。

>民間会社を辞めてプー太郎→公務員試験マグレ突破
 ほう、初めてお聞きしたように思います。

>NEC-88を買った→NEC-98を買った→一太郎使った
 この88とか分かんないんですよね、あまり調べる必要もなかったりして、、、。
 しかし、ここにベーシックが登場しないのは、あまり深い思い入れがないから?
 僕が81年をきっちり記憶してしまったのは、初期PC(あるいはアセンブラか
OS)の本を読むのが好きだからで、そこには、たいていベーシックが出てくる
のですが。

>所帯持った→VZマクロに出会った!
 おめでとうございます! なのかは人によりけりでしょうが、めざらさんに
とっては、どう見ても(外からみると)、おめでたいことだったように思えます。
 子宝を授かった、もあるでしょう。
 あれはあれでなかなかに面白い経験ですよね。(注)

>大きな出来事の連続で,時の流れを待てずに怒涛の渦の中でクルクル回ってる感じ。
 まったくそんな感じですね。
 89年から95年が、僕にはいちばんの怒涛かなぁ。
 人生にVzがはいってきたら、人生が遊びになってしまった。
 たいへんよろしい。まだまだ遊びます。

>定年後再雇用の5年間が本当に1年くらいに感じました。
 もう5年経ったのでしたっけ? あれ? はやっ!
 で、ボランティア系って、何をされているのですか?


(注)かなり複雑の事情を抱えたご近所さんのところに、8匹の子犬が生まれました。
母犬は授乳マシンと化していてとにかくよく食うそうです。父犬はとなりでただボー
っとしてるらしい。ああ、哺乳動物の世界だなぁ、と言ったら、娘に睨まれました。
しょうがないじゃん、そんなものなのだから、、、。
 人間父が大変なのは、その後なのだよ、よく分かってないみたいだけど、、、。
 めざらさんも頑張りました! おめでとうございます!



10613/10546 BQO00549  konno            Re^5: Vz1.00 発売日の思い出
( 1) 23/03/05 02:15 10611へのコメント(文太さん) コメント数:1
みなさん89年の話題で盛り上がっていますね。
では私も思い出話を。


彼女との出会いは89年ごろのことでした。
神田のお店でいきなり贈り物を渡されて・・・※注
今思えばあれがエンゲージリングみたいなものだったのかなぁ・・・
それ以来私は彼女に夢中で、早く会いたくて会社からすっ飛んで帰っていたっけ。

95年ごろには、いつでもどこでも一緒に出かけるようになっていたし。
そうそう、彼女アイドルもやってたんですよ、今ではファンも少ないみたいですが。
実は私がプロデュースしてたんですよ。

え、気づいてしまいましたか、そうです、彼女は人間じゃなかったのです。
アンドロイドでもきびきび動くのです。
彼女の名前は、美字子、愛称はビジー。
たとえ人間でなくても、一生大事にするからね。



# さて、私は誰と結婚したのでしょう。(^^;


注  正式名は、VZ Editor Ver1.00 J3100版 sample
   世界に一つだけの花、私への贈り物


10614/10546 DGF01024  めざら           Re^5: Vz1.00 発売日?
( 1) 23/03/05 09:51 10611へのコメント(文太さん) コメント数:1
参照先:http://mezala.la.coocan.jp/
他所様の板に私事を落書きしすぎかなとも思いますが……
88とは8ビットのパソコンです。98は高価で手が出なかったのです。
N88-BASICはさんざん触りましたよ。
ラインエディタとかシーケンシャルファイルなデータベースもどきとか。
でも結局,製品版のワープロの方が使いやすかったので JET-8801Aとか買いました。
Z-80用のアセンブラなんかも興味はありましたが,解説書を読んで挫折(笑)。

結局8ビットのワープロでは扱えるデータの制限でどうにもならず,中古の98Mを買い,
姉がコピしてきた dBASE を試用した後に dBXL を買ってデータ集の構築を始めます。
これが現在の実質的メインコンテンツであるラジオドラマ資源の基礎データです。
そちらに15年の空白が生じる要因となる VZ マクロとパソ通に惑わされ虜囚となるも,
N.YAMA さんに啓蒙され HTML と CSS を深く学習する機会も与えてもらえました。
脇道にも見えるそれらの出会いがなければ,現コンテンツは存在しなかった……絶対に。

>  で、ボランティア系って、何をされているのですか?
資料整備ですね。複本除籍候補の下準備をしたり,書誌情報の錯誤を指摘したり。
本当は老眼世代向けに,背ラベルなどを見やすくしたいけれど,経費の問題もあり,
作業を希望しているけれど依然としてその需要はありません。まぁ,雑用ですよ。
特別な技術は持っていないので,破損資料の修理などはちと手を出せません。


10615/10546 CRG00666  文太             Re^6: Vz1.00 発売日の思い出
( 1) 23/03/05 22:11 10613へのコメント(konnoさん) コメント数:2
>彼女の名前は、美字子、愛称はビジー。
 美字子。美字子。美字子。
 峰不二子のほうが色っぽいですね。
 思うに、子をつけると女の子という習慣もすっかり廃れましたね。毎年200人
くらいの若者と出会うことになるのですが、子で終わる女性は、ほとんどいなく
なってると思う。

>注  正式名は、VZ Editor Ver1.00 J3100版 sample
 これがおもしろかったですね。そうか、販促のためにサンプル版を配って
いたんだ。5インチフロッピーですか、3.5インチ?
 「どんなマシンをお持ちですか?」「では、J3100版ですね」とか
やり取りがあったわけだ。

 このあと、J3100から、「パソピア」「御三家」「ベーシックマスター」と
壮大なインターネットの旅をしてしまいました。熱かったんですね。8ビットも。
 シャープも頑張ってたんだ。cmosさんがらみで、日立横浜工場に笑いました。

PC博物館
http://hp.vector.co.jp/authors/VA011804/pc_main.htm

 懐かしいですか? フロッピーって偉かったんだぁ、という感想でした。ドライブ
が10万円近くしてたときもあったみたい、、、。

 絵が描けて音楽を流せる。これがPCに求められていたことなのかな? ゲーム?
 自分がほんとにPCの一部分だけを見てるのが、少し分かりました。

 Vzは、たったの4年の命であったことを確認しました。おい、何年触ってるんだ?
 テクノロジーの進歩と消費財の興隆と衰退は、すごい。


10616/10546 CRG00666  文太             Re^6: Vz1.00 発売日?
( 1) 23/03/05 22:12 10614へのコメント(めざらさん)

 たしかにkonnoさんの掲示板でする話としては、個人史的色彩が過剰に
濃厚になってる気はしてきました。
 お許しください >konnoさん

NEC-88
https://ja.wikipedia.org/wiki/PC-8800%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA
 いやあ、長かった。ハード方面の話、ゲームの話、き、きつい。
 とにかく、NEC-98 の前の、80年代全部をおおった日本最初期のメジャーPC
というわけですね。IBMとほとんど同期してた。ガラパゴス独自路線まっしぐら。
というか、その後のグローバリゼーションが速すぎ強すぎ。
 頑張ったんだよ、日本の技術者もサラリーマンも。PC本体価格、だいたい
20万円。周辺機器を入れたら、30万でずっときたんですね。1991年ごろに僕は
98を買ってます。全部で35万円ぐらいだったと思う(ソフトを入れて)。

 が、88記事はOSの話がほとんど出てこないので、けっこう読解困難でした。
 でも、イメージはつかめました。8ビットということは、CP/M的なセグメント管理、
つまり、Vz的なやり方が標準だったのでしょう。
 古い文献を読んでいても、Vzに直接かかわるどんぴしゃの話って出てこない
んですよ。
 .comモデルで常駐して、縦横無尽にセグメント・メモリー管理をするソフトなんて、
書く人いなかったからかなぁ、とか。.exeモデルが標準だったから、、、。
 エディタというソフトの特殊性も少しある、、、。
 ゲームはどうなのよ? こっち、完全に知らない。

 とはいえ、masm4/5 くらいで通るソースなので、根性で読み解けないはずもないの
ですが。「人間に書いたものが人間に読めないはずがない」。ほんとだろうか?


 データベース。そうかぁ、初めて聞いた話ではありませんが、データベース管理の
ためにパソコン使うぞ、だったわけですね。そして、.html & .css。正しいテクノロジーの
使い方ですね。一生もんのスキルですね。

 ボランティア。なるほどぉ。それは勝手がわかっていて専門スキルが発揮できて
いい「仕事」ですね。臭いけど、やっぱ「仕事」って、感謝されるため、社会に回りに
ちゃんと何かお返しできてるぞ、という目的でする行為ですものね。
 そういう意味では、僕は、ぜんぜん褒められない個人主義者(エゴイスト)で終わりそう。

 世の中のためになる活動? 環境活動くらいだなぁ。完全趣味なんだけど、ちょっと
はた迷惑なんだけど。


10617/10546 CRG00666  文太             ほんと回転が速すぎる
( 1) 23/03/06 00:32 10615へのコメント(文太さん)
 どうでもいいことです。
 mix のログから。konnoさん、サンクス!

>90/09/09 01:56
>
>標題: INDIANAPOLIS 500
>
>す、すごい・・すごすぎる・・
>
>レースマニアの方なら、おそらくこのソフトのためだけに、IBM PCを買うでしょう。
>久々の感動ものです。
>
>また一歩98は、世界から取り残されました。
>
>			c.mos

 NECが、NXで、98アーキテクチャを諦めたのは、1997.09だそうです。
 Vzが4年間の現象だったというのが信じられない。しょせん時間は主観的なもの、
ということなのでしょう。



10618/10546 BQO00549  konno            Re^7: Vz1.00 発売日の思い出
( 1) 23/03/06 01:00 10615へのコメント(文太さん) コメント数:1
> >彼女の名前は、美字子、愛称はビジー。
>  美字子。美字子。美字子。
>  峰不二子のほうが色っぽいですね。

ここにコメントが来るとは思ってませんでした。(^^;
美字絵、美字江、美辞恵、美辞麗子、とか。(^^;

> >注  正式名は、VZ Editor Ver1.00 J3100版 sample
>  これがおもしろかったですね。そうか、販促のためにサンプル版を配って
> いたんだ。5インチフロッピーですか、3.5インチ?

どっちがいいか聞かれたような気もします。J3100-SL を使っているので
3.5インチがいいと言ったかもです。もう覚えていないですが。

>  「どんなマシンをお持ちですか?」「では、J3100版ですね」とか
> やり取りがあったわけだ。

そうですね、EZエデイタを勧められたのですが、パソピア16 では動かないので
DOS汎用版でないと駄目なんです。と言った気がします。
VZエデイタも気になるけど、今回は汎用エデイタのPSEにします。とも言ったかも。

PSE を買って帰り際に、3.5インチFDを渡されたんです。「サンプル」と手書きで書いてありました。
もしかしたら、その場でコピーして作ったのかも。ラベルもなかったと思うし。
VZ Editor Ver1.00 J3100サンプル版を貰ったという人は他に聞いたことがないし
販売もされなかったと思います。
だから私は、世界で唯一つの宝物を頂いたと思っているのです。


# 絶斗神拳は一子相伝、なんちて


10619/10546 CRG00666  文太             Re^8: Vz1.00 発売日の思い出
( 1) 23/03/06 12:40 10618へのコメント(konnoさん) コメント数:1
>ここにコメントが来るとは思ってませんでした。(^^;
 やっぱりど文系は目のつけどころが違うのでしょう(笑)

>美字絵、美字江、美辞恵、美辞麗子、とか。(^^;
 しつこいのですが、
 美辞麗子、美辞恵 このあたりでしょうか。FEPか辞書辞典
関係のソフトみたいですが。昭和の香り。大原麗子。『獅子の時代』
 ジビエっぽいかも。

>美字江 大正の香り。

>J3100-SL
ラップトップだと高いですね!
https://ja.wikipedia.org/wiki/J-3100%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA

 昨日、ここから「ダイナブック」「アラン・ケイ」まで飛んでしまい、、、。

>パソピア16
https://museum.ipsj.or.jp/computer/personal/0010.html

 本格的!

>だから私は、世界で唯一つの宝物を頂いたと思っているのです。
宝物ですよ。その後の人生の展開を考えれば。アイドルとして育てプロデュースまで
しちゃったのですから!
 過去は作られる。



10620/10546 CRG00666  文太             『WE LOVE VZ (I)』
( 1) 23/03/08 15:07 10601へのコメント(文太さん)
 『書名』。またまた分かりづらいサンプルを、、、。
 独立した1冊になっているとき、『 』で囲むのが廃れつつある慣習です。
See the title of this article.
 新聞や月刊誌くらいは、まだこれを守っている(だろう)。
 『映画』『レコード』『CD』(アルバム系。シングルはどうなんだろう?)も、
ほぼ同じ。

 とにかく、『(II)』は『(I)』の改定版です。
 Vz 1.0 から Vz 1.5 になって、追加修正をした「改訂版」です。

 (I) 254 pages, (II) 285 pages。対象ソフトが機能強化してるのだから、
この程度のページ増は、いわば当たり前。

 というわけで、大半、中身は一緒です。『(II)』があれば『(I)』をわざわざ
入手する必要はないかなぁ、と思う。Vz 1.0 と Vz 1.5 の違いにこそ興味がある、
という人でさえ、もしマニュアルのお持ちなら、、、。

 しかし、書籍をわざわざ入手した意義はともかく、おもしろい本であるのは
確かです。
 まだちょっとだけ眺めた程度ですが、(I)(II)で共通してる、ここは
おもしろかった(相当久しぶりに本棚から持ってきたのです)。

(A)「マクロバッファが狭すぎ。.com を .exe にして、もっと大きくすべき」
 (大野一久氏)

(B)マクロの裏技に関して。c.mos氏いわく:「Vzマクロ・マスターになるには
Cの習得が必須なのは言うまでもありません」(意訳)
 「努力」と「根性」あるのみです。
 (ここ、たぶん、大昔もどっかで引用したことがあると思う)


 (A)の点に関し、勝手な補足。高橋氏いわく「その改良は、かなり大変
なんだよ」。

 そして、勝手な憶測。突然に爆発的な人気を博してしまい、既存マクロが
動かないような変更はできなかった。そして、DOSの寿命は見えていた。
 やっぱ、Vz 1.6 へのバーアップは、嫌々やっていたみたいだったしね。
たしか本人がどっかで書いていたけど、なけなしの体力と知力、すべてを
使ってやったんだ。
 中身的には、1.6でなく、ほんと、ver 2.0 相当のバーアップだったと思う。

 プログラマの仕事って、時間との戦い、テクノロジーの進化との戦いですね。

 しかし、Fortran とか Pascal (16ビット!)とかと、とっても離れていて、
気持ちと動機を維持するためだけに、過去ログとかソースとかちらっちらっと
眺めていますが、僕、知らないこと多すぎ。ま、死ぬまで楽しみます。
 どのような高級言語も、OSも(DOSのみ)も、その学習は、すべて、
Vzのためです。

 困った人だなぁ。



10621/10546 BQO00549  konno            Re^9: Vz1.00 発売日の思い出
( 1) 23/03/08 21:18 10619へのコメント(文太さん) コメント数:1
>  ジビエっぽいかも。

これ、私も書きながら思っていました。字美江とか。(^^;

> >J3100-SL
> ラップトップだと高いですね!
> https://ja.wikipedia.org/wiki/J-3100%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA

うう、SLは載ってないし。超マイナーだったんだなぁ・・・
こちらのサイトに載ってました。
http://www.asahi-net.or.jp/~dq5h-kmnt/akiba/3100.htm
> J3100SL 80C86/10M RAM640K HDD 10M 88年頃に新品購入 36万円!!  仕事にさんざん使った。電源が死にハイエナ後破棄。

げげ、こんなにしたっけ? 私も同じころに買ったはずですが・・・
ついでにこんなサイトも見つけてしまいました。
DynaBook/J3100 FAQ's
http://radioc.web.fc2.com/weblib/toshiba/dynabook_j3100_faq.html

DynaBook/J3100シリーズの情報が盛りだくさん! と思ったら、なんと!
DOSVAX (AX + PS/55エミュレーター) DOSVAXJ3 の元を作った方のサイトだったんですね!
DOS/Windows関連のソフトや情報などがどっさりあります。
まさに宝の山でした!

> >パソピア16
> https://museum.ipsj.or.jp/computer/personal/0010.html
>  本格的!

懐かしいですね、思わず「動くぞ」でBBS検索しましたが見つからず、
「大危険」で検索したら、ガンダムネタがぞろぞろと・・・危険です、溺れてしまいます。

> >だから私は、世界で唯一つの宝物を頂いたと思っているのです。
> 宝物ですよ。その後の人生の展開を考えれば。アイドルとして育てプロデュースまで
> しちゃったのですから!
>  過去は作られる。

なんだか面はゆいですが、嬉しいですね。
やっている時はただ夢中でやりたいことをやっていただけなんですが
無駄じゃなかったなと思います。(^_^)


10622/10546 CRG00666  文太             東芝の思い出?!
( 1) 23/03/09 00:45 10621へのコメント(konnoさん)
konnoさん

 「1989年に発売されるや否や爆発的な人気をさらった東芝のJ-3100SS (DynaBook)
を、PC-9801 に続くセカンドマシンとして購入された方も多いと思いますが、Vz
1本で、どちらでも使うことができます」(『(II)』p.257)

 とあります。

 東芝。僕、ほんとは苦手なメーカーで。現在の状態も、ひ、悲惨、全体に。
 奥様が東芝の炊飯器を選んだときも、うつむいていた。象印とかタイガーとか、
そっちに行ってくれないんだよなぁ、しょぼーん、とか。

 あんなお化け企業を「全体」として語るのが間違っているのですが。

 1.原発メーカーで、それもあって、会計監査的に悲惨。テキサスの原発とか。
粉飾決算に関わった会社に、息子さまが就職なさった。なんなんだ!!!
 2.遠めの超優秀な若い親戚が、1年ちょっとで退職した。彼の人生が狂った。
 (3).最近たまたま入手したMEノートがダイナだった。500円くらい
だったのに、完動して、ディスプレイも綺麗で感動した(これはいいイメージ。
ビネガーもなく、コンデンサもちゃんと仕事をしてるようで、大した「物づくりだ!」
と思いました)。

 ま、僕の東芝アレルギーはこの程度なのですが、NECと違い、IBM路線を
とったメーカーだったのですね。すばらしい!

 ダイナといったら、上村さんだよね、程度の認識です。

 でも、そうなんだぁ、それで、J-3100 対応を(富士通をおいておいて、Aiming-Off
さんに任せて)すぐさま行ったのねぇ、と合点がいきました。

すげぇーーーサイトでした!
http://radioc.web.fc2.com/

 まだよく見てませんが、こ、怖い。

 僕はレトロ派ではないです。そんな楽しい過去を持っていません。現在のため、歴史的
資料をあさっているだけです。

 だって専門は、120年前の外国の作家さんです。30年前に日本やアメリカで起こった
ことなんて、一昨日のことみたいなものなのです。
 それなりの努力と苦労をすれば、たいてい資料はただで手に入るし。
 この根性がいけない! とも思いますが。
 お金ではまったく解決しない。これが、いいんですよね。時間と人生、これだけ。

 MASM3, もうちょい、がんばろう!



10632/10632 CRG00666  文太             16進計算機?
( 1) 23/03/17 16:16 コメント数:3
 それぞれの皆さまが自分の適所でご貢献されているのは確認させていただいて
おります。ありがとうございます。がんばってくださいね。いつの日か、皆さまの
努力を有意味な情報に変換できる日が来ることを祈っています。
 ま、ムリか。

 どうでもいいことですが、Vzのステータスバーの書き換えって、『WE LOVE
Vz エディタ』にもサンプルが載ってましたね。
 ここからファイルのサイズ情報をもってくる、とか、よくやりますよねぇ、
Vz達人たち。

 そうだ、僕は、ここに、他の情報要らないから、SFNでいいから、完全フルパス
表示をしてくれ! と思ったことがあり、つい先日も

c:\0etxt\asm\tbook\masttasm.txt
c:\0etxt2\asm\tbook\masttasm.txt

 の違いが分からん! と思ったのでした。
 で、今頃おもいだしましたが、これを実現するマクロを書いたのだった
 (Vzマクロって何でもできちゃうんですよね)

 とにかく、
 「いやぁ、スワップもLFNも、僕要らないから」とか、すぐ言わないように
>己


 さて、ようやく修羅場を乗り切り、一瞬二瞬の凪の季節に入ろうとしています。
 どうにか体調体力が平常・健康レベルに戻ったのかな?
 『リバーサル・オーケストラ』は終わってしまい(悲しい)、後ろでは庄司紗矢香
さんがチャイコンを奏でてくれています。紗矢香も40歳!

 少しはパソコンの勉強もしようと部屋の整理(こればっか)をしているところ
なのですが、某書に以下のような記述が。

With such an important role for binary values to play -- especially in
assembly language programming -- it's important to be intimately comfortable
with binary arithmetic and logic. That doesn't mean you have to be able to
add columns of hexadecimal numbers by hand. For this, you may as well use a
programmer's calculator. (After all, that's what most professional
programmers do.) Even so, a working knowledge of binary principals is vital
to your ability to write good assembly language programs. By all means, use
your calculator, but don't ignore learning the basics. Every minute you
spend learning these subjects will save you from hours of puzzlement in the
future. (Tom Swan, _Mastering Turbo Assembler_)

 2進、16進のお勉強です。どうにも慣れません。体が拒否している……。
 あ、内容は、実務としては16進は計算機を使いなさい、しかし原理はとくと
体得しておくべし、とのこと。
 「16進数計算を習得するための数分が、将来、何時間もの当惑から君を救う」
(意訳)。

 で、2進数のビット計算以外に何に必要だろう? メモリの計算(seg:offset)?
 何に使いたいのか、使えるのかも分からないのですが、プロは(konnoさん)どんな
ものを使うものなのか、宜しければお教えいただけませんか?

 「関数電卓」って、昔いってましたよね?
 未知の世界です。


追記:息子さんが計算ばっかする職業に就きまして、彼の薦めで、SHARP, ELSI MATE
EL-G37 というプロが使う電卓を数年前に買いました。キータッチはさすがにいい。
もしかして、これで16進の計算って、できるのかしら。「F543210A」のスライド
スイッチ? 普通の計算機の使い方もしらないんだ!
 でも、これ、普通です。家計簿(復活)は、これでつけてます。



10634/10632 BQO00549  konno            Re: 16進計算機?
( 1) 23/03/17 19:17 10632へのコメント(文太さん) コメント数:2
>  どうでもいいことですが、Vzのステータスバーの書き換えって、『WE LOVE
> Vz エディタ』にもサンプルが載ってましたね。

そういえばソースが載っていたような、改造始めた時には見てもいなかったと思いますが。

>  ここからファイルのサイズ情報をもってくる、とか、よくやりますよねぇ、
> Vz達人たち。

表示を変えるとその技が使えなくなるのが悩ましいところですね。(^^;

>  そうだ、僕は、ここに、他の情報要らないから、SFNでいいから、完全フルパス
> 表示をしてくれ! と思ったことがあり、つい先日も
> c:\0etxt\asm\tbook\masttasm.txt
> c:\0etxt2\asm\tbook\masttasm.txt
>  の違いが分からん! と思ったのでした。
>  で、今頃おもいだしましたが、これを実現するマクロを書いたのだった

そ、それ欲しいです。是非アップしてください。m(__)m
私も本当はそういうフルパス表示をやりたかったのです。

>  で、2進数のビット計算以外に何に必要だろう? メモリの計算(seg:offset)?
>  何に使いたいのか、使えるのかも分からないのですが、プロは(konnoさん)どんな
> ものを使うものなのか、宜しければお教えいただけませんか?
>
>  「関数電卓」って、昔いってましたよね?
>  未知の世界です。

??? でしたが、関数電卓の話ですね、確かに仕事で使っていましたが。
2進、16進の計算はもちろん、計算自体が苦手なのでパソコンにやらせようと思ったので。(^^;

> もしかして、これで16進の計算って、できるのかしら。「F543210A」のスライド
> スイッチ? 普通の計算機の使い方もしらないんだ!

スライドスイッチは私も知らないのでググってみました。

> F 5 4 3 2 1 A などとあるものは、小数点桁数(TAB)スイッチといいます。カシオのラウンドセレクターの F と同様 F は Float で小数点位置の固定を行いません。他はカシオの小数点セレクターに相当します。(AはカシオのAdd?)

うーん、一生使うことはなさそうですね。(^^;

>  でも、これ、普通です。家計簿(復活)は、これでつけてます。

私はオープンオフィス系のフリーの LibreOffice Calc を使っています。割といいですよ。
毎月の収支や公共料金や毎年の
電気料平均
電気量平均
電気料合計
電気量合計
なども表示させています。高くなりましたねぇ。(-_-;)


10635/10632 CRG00666  文太             Re^2: 16進計算機?
( 1) 23/03/17 21:03 10634へのコメント(konnoさん) コメント数:1
konnoさん

>> c:\0etxt\asm\tbook\masttasm.txt
>> c:\0etxt2\asm\tbook\masttasm.txt
>>  の違いが分からん! と思ったのでした。
>>  で、今頃おもいだしましたが、これを実現するマクロを書いたのだった

>そ、それ欲しいです。是非アップしてください。m(__)m
>私も本当はそういうフルパス表示をやりたかったのです。

 捨ててはいないと思いますので、探してはみます。
 ただ、誤解してそうなので、ちょっとだけ書きますね。

 これ、Vzマクロですよ。Vz本体の話ではなく。で、編集画面で
表裏のファイルのフルパス・ファイル名を取得して、メニューの中に表示
するだけです。こんなのkonnoさんだったら、10分で書けるでしょう?
 僕は、いま書けと言われたら、30分かかると思うけど。(注1)

 あ、もちろん、SFNオンリーですよ。普通にファイル名取得する
だけですから。wa+146からもってくるだけ。LFNや空白入りとか、
僕のVz世界には存在しないのだもの。というか、排除しているの
ですから。

 いちおう状況も説明しますね。
 上のファイル名(2つのファイル)は、根っこのディレクトリ名が
違うだけで、以下はまったく同一なのです。こうなると、

c:\0etxt\
c:\0etxt2\

 の部分が切られてVzのステータスバーに表示されると、どっちがどっちだか
分からない、ということになりますね。
 ( \0etxt2 のほうは、バックアップです)(注2)

 この(元の話題に戻って−−何が元だか?−−)話=ステータスバーに
おけるファイル名表示の長さの話は、かならず、ここの掲示板でしたことが
あるはずです。そこで、そうかあ、ステータスバーを全部自由に使えるわけ
ではないのか、じゃマクロでやろう、と思って書いたはずです。
 マクロをここで発表したりはしなかったと思うけど。

 仕様をかためて、konnoさん、たまには低レベルマクロでも、実用的に
おいしい、というのを書いてみましょう!
 LFNとか空白 in filename とかだと、、、知らない、、、。
 空白は知らないけど、LFNは環境によっては、ファンクションコールで
見れそうな気がする、、、。

 電卓の話は、次回に。
 もっと深い話があったんだけど……。これは次々回。(注2)に繋がる。

 LibreOffice Calc、見てみますね。ありがとうございます!
 ふつうパソコンのソフトでやるだろう、とは思いました。
 ボク、物理的世界のほうが好きなんですけどね。
 物理的に独立した時計とか温度計とか電卓とか……。

(注1) &m("%s",wa+146) これで表ファイルのフルパス表示。メッセージ
ライン版。

 あはははは。何をやってるんだ??!!
 以下がわりと最近のお気に入り。

=== ps_in by B ===;
put chrs/strings into PS 26 times. bottom up type
 for INDEX of etexts.

* M
50 ^^ "ps_in"

i=26,
:a
	(i)??.
	#b #>
	#G mb-, #<
	#e i--, >a

*

\x ^A		;26th line from bottom
\x ^B
...
\x ^Z		;cursor here / start

 Yeah!  Wild & Heavy !!!  Jitsuyo Only !!!

 全体につまらない話で、申し訳ありません。



10636/10632 CRG00666  文太             TwoFname.def
( 1) 23/03/17 21:50 10634へのコメント(konnoさん) コメント数:2
konnoさん

 見つけました。Yメニューです。アルツ予防(なつかひ)に、そのまま
貼っておきます。
 LFN対応は、がんばってください。

 ち、ちがう、電卓の話なんだ、、、。
 和生さ〜〜〜ん。


=== Twofname.def ===;a lot from 和生氏, 96/7/17, <nifty:FGALPK/MES/14/18037>
#if0
フルパスファイル名と行番号をYメニューで表示(機能としてはそれだけ)。
分割画面では、上と左窓の情報は常に上の行に表示。
#endif

*Macro
50 ^^ "Twofname"
	?. w-,				;<w>
	(wt%2)? {#W w+,}		;wt 02 3 4 5 wsplit
	(wt)? {i=2, &00 &01 (0)} 	;<i> u l L R
	    ? {i=1, &00}
	(w)? #W

	#]				;lbuf -> textbuf
;	m=n=pn..-26,			;<m><n>lbuf, ダミーマクロを作る
	m=n=pq..148,			;<m><n>lbuf, ダミーマクロを作る
	&02 &Sm(m,r,20)          	;m からメニュー幅まで
	m.16=l+4,                  	;<l>メニュー幅(f)
	m.17=i,                  	;アイテム数 (1 or 2)
	k=(i+1)*2, 			;<k>アイテム種用空白
	m..7=(k+4)+b, 		    	;<b>m..7 メニューサイズ(c0)▲ +8?
	m+=20,
	(k){m.0-,m++,}     		;アイテム種用空白
	n.19=-1,			;カーソルなし
	&Sc(m," FULL PATH FILENAMES ") 	;タイトル
	m=r+1,
	&Sc(m,pa)              		;タイトルの後にアイテム
	(i>1)? {m=r+1, &Sc(m,pr)}	;▲
;	rr[=pn..-26, &* rr],     	;実行
	rr[=pq..148, &* rr],     	;実行

00:; -- upper/left -> pa
        &Sp(pa,"%s -%u",wa+146,wa.10)	;wa.10 == ln
        &Sl(pa) &Sn(pa) l=b=r+1,		;<b>size(文字列長+null1つ)
01:; -- lower/right -> pr
        &Sp(pr,"%s -%u",wb+146,wb.10)
	&Sl(pr) &Sn(pr) b+=r+1, (r>l)? l=r,

02:; -- ymenu header
	(3+$)."$(1,a,0,ff,ff,0)!01(r)$(0,e1,84,0,f,2)";0,0
;                                          ^^^^ ^ ^★  ここはマクロ中で書換

*
;                                    *      si,ze,width,items,0,-1

                                     *ここまで10bytes


----- 和生氏,96/7/17, <nifty:FGALPK/MES/14/18037> -----
=T
*m
80^\""?.
      &01 m=pn..-27,                                  ;ダミーマクロを作る
      &02 &Sm(m,r,20)                                 ;m からメニュー幅まで
      m.16=l,                                         ;長い ps をメニュー幅(f)
      m.17=i,                                         ;ps の数をアイテム数 (4)
      k=i++*2, m..7=j+k+8,                            ;m..7 メニューサイズ(c0)
      m+=20,(k){m.0-,m++,}                            ;アイテム種用空白
      &Sc(m,"PS") m=r+1,                              ;タイトル
      &Sm(m,ps,j)                                     ;タイトルの後にアイテム
      rr[=pn..-27, &* rr],                            ;実行
1:    j=ps,i-,l-,                                     ;ps を測る
:a    &Sn(j)(l<r)?l=r,                                ;一番長い ps の文字列
      (r)?{j+=r++,i++,>a}                             ;文字列がいくつあるか
      j=j-ps,                                         ;全体の長さ
2:    (3+$)."$(1,a,0,ff,ff,0)!01(r)$(0,e1,c0,0,f,4)";0,0
;                                         ^^^^ ^ ^★  ここはマクロ中で書換
*

 【from mes14_#11710 by Yushi】
》  ローカルマクロ 02: で、定義した文字列を分解して説明すると
》  $(1)          グローバルマクロ1番を表す。
》  $(a,0)        グローバルマクロのサイズを表す。
》                a,0 で 10 bytes を表す。次のキー定義から、グローバルマクロ終
》                了の $(0) まで、数えたら 10 bytes
》  $(ff,ff)      グローバルマクロの起動キー2つ分
》                $ff は未設定という意味
》  $(0)          マクロタイトル
》                文字列+ $(0) なのですが、タイトルを省略した形
》  !01           メニューの1番を呼びだす
》                サイズ情報に基づいて次の項目から順にサーチしていく
》                次を メニュー1番のように細工すれば、ちゃんと騙されてくれる
》  (r)           返り値を内部レジスタに入れる。
》                親マクロに返った時、内部レジスタの値が、r に代入されるから
》                こうしておかないと、親マクロに返った時 r が破壊されてしまう
》  $(0)          グローバルマクロの終了を表す . と同じ意味
》                このおかげで、親マクロに帰っていく
》  $(e1)         メニュー1番を表す数値
》  $(c0,0)       メニューのサイズ 192 bytes を表す。                      ★
》                用意したバッファの全体が 256 bytes なので、適当に設定
》  $(f)          メニューの横幅 16                                        ★
》  $(4)          アイテム数                                               ★
》  ; 0,0         このマクロを読み込むと、文字列の終端 " が $(0) になり、
》                その後に、マクロの終了を表す $(0) が付くので、わざわざ定義
》                しない。2 bytes お得。合わせて 20 bytes
》  この文字列の理解が重要。

》  &z 関数を使うと、読み込んだマクロの先頭が rr に代入される。&* は、ポインタ
》  rr からマクロを実行して、帰ってくる。それなら、rr にマクロバッファとは、ま
》  るで違うが、 マクロにしか見えない場所を代入して、&* で呼び出したらどうなる
》  か。ちゃんと実行してくれました。(^_^)

#R
格納されたメニューヘッダ

[E1][1F]・[0F][02]・・・・・・==MENU==・menu1・menu2・・・・・・
  |   +-+ |   |  2parameters+(items+1)*2
  |    |  |   + アイテム数
  |    |  +横幅
  |    +バイト数
  +メニュー番号 ($E0+n)



10638/10632 CRG00666  文太             wsplit
( 1) 23/03/18 00:38 10636へのコメント(文太さん)
 原理に、実際的に迫ってます。
 もちろん、これが面白い課題としてうかんだのは、まったくの偶然です。
 でも、1バイトに色んな情報が格納してある、なんて、Vzではざらですよね。
 syoさんが、ワケワカだ! ケチるな! と言っていたのが懐かしい。
ありがとうございます、ご同輩さま。今もお友だちです。

 ま、とにかく、そうそう、窓割りモードって(あんまり使わないけど)内部的に
ワケワカなんだよなぁ、と思い、「1バイトは8ビットです。0,1,2,4,8 です」
とか、おお、当然ツナガッテル、です。

	(wt%2)? {#W w+,}		;wt 02 3 4 5 wsplit

;3 = 1+2
;5 = 1+4	たぶん。

c:\vzsrc\cmos\main.asm      498:GDATA wsplit0,	db,	0
c:\vzsrc\cmos\open.asm     1635:		mov	al,[bp].wsplit
c:\vzsrc\cmos\text.asm       34:	extrn	wsplit0		:byte
c:\vzsrc\cmos\text.asm     1001:		mov	wsplit0,al
c:\vzsrc\cmos\vz.inc      817:wsplit		db	?		; window split mode

 ちょっとずつ分かっていくのよ。



10639/10632 BQO00549  konno            Re^3: 16進計算機?
( 1) 23/03/18 01:14 10635へのコメント(文太さん) コメント数:1
> 表裏のファイルのフルパス・ファイル名を取得して、メニューの中に表示
> するだけです。こんなのkonnoさんだったら、10分で書けるでしょう?
>  僕は、いま書けと言われたら、30分かかると思うけど。(注1)

なるほど、メニューですか、私なら30分以上の自信はあります。(゚゜)☆\(--#)バキッ

> c:\0etxt\
> c:\0etxt2\
>  の部分が切られてVzのステータスバーに表示されると、どっちがどっちだか
> 分からない、ということになりますね。

これは確かに困る時がありますね。

>  仕様をかためて、konnoさん、たまには低レベルマクロでも、実用的に
> おいしい、というのを書いてみましょう!

いいアイデアが湧いたらですね。(^^;

>  LibreOffice Calc、見てみますね。ありがとうございます!
>  ふつうパソコンのソフトでやるだろう、とは思いました。

2008年からエクセルの表にしていますね。
始めはオープンオフィスでバグもあったかと、次にWPSオフィスだったか。
キングソフトはかの国製らしいのでパス、WPSもC国製? らしいので別の物を探したのでした。
全部オープンオフィス系かもですが、LibreOffice Calc が一番しっくりくる感じです。

> === ps_in by B ===;
>  Yeah! Wild & Heavy !!! Jitsuyo Only !!!

これは面白いですね、検索文字列リストを一気に登録とか。
目からうろこです。


10641/10632 BQO00549  konno            Re: TwoFname.def
( 1) 23/03/18 01:59 10636へのコメント(文太さん) コメント数:1
>  見つけました。Yメニューです。アルツ予防(なつかひ)に、そのまま
> 貼っておきます。
>  LFN対応は、がんばってください。
> === Twofname.def ===;a lot from 和生氏, 96/7/17, <nifty:FGALPK/MES/14/18037>
> フルパスファイル名と行番号をYメニューで表示(機能としてはそれだけ)。
> 分割画面では、上と左窓の情報は常に上の行に表示。

おお、いいですね。ありがとうございます。
LFN対応では上村さんの CAST.DEF(F03) が至高のメニューですね。
これらを参考にして、究極のマクロは果たして出来るのであろうか・・・

# ガラッ このマクロを作ったのは誰だ! (海原雄山風)


ちなみに

> (注1) &m("%s",wa+146) これで表ファイルのフルパス表示。メッセージライン版。

SL2 でロング名でオープンだと、これもロング名で表示されます。(^^;
いいのかしらん?


> ----- 和生氏,96/7/17, <nifty:FGALPK/MES/14/18037> -----
> =T

こちらは和生さんの PS マクロですね、これもいいですね。


10643/10632 CRG00666  文太             SLマジック!
( 1) 23/03/18 02:22 10641へのコメント(konnoさん)
>SL2 でロング名でオープンだと、これもロング名で表示されます。(^^;
 おお、そこまで行ったのですか!
 うーん、構造体にもろに入れるわけにいくわけないから、構造体にリンク
したところにバッファがある?
 うーん、これだから、konno版もいつかは解析したい!!!
 SL マジック!


10644/10632 CRG00666  文太             Re^4: 16進計算機?
( 1) 23/03/18 02:41 10639へのコメント(konnoさん)
konnoさん

 ありがとうございます。

>> === ps_in by B ===;"
>>  Yeah! Wild & Heavy !!! Jitsuyo Only !!!"
>これは面白いですね、検索文字列リストを一気に登録とか。
>目からうろこです。

 はい、僕も思いついたとき、まだまだ生きてるぞ、おれ、とか思いました。
 実際に、

-----------------------------------------------------
W
wait (Wait Until Not Busy) instruction, 783
warnclass symbols, 790
warnings (programs), 35-37

X
xadd (Exchange and Add) instruction, 784-785
xchg (Exchange) instruction, 784-785
xlat (Translate From Table) instruction, 443-446, 785

Z
zero (string instructions), 138
-----------------------------------------------------

 こんなのを走査したいとき、あの、機械の仕事だと思うのですが、と呆然と
して、まず、ここからだ、と思いつきました。
 こんな特殊な場合でなくとも、PSに複数の文字列をセットしたいとき、
いちばん簡単なのは、これだ! と思いました。
 i=26, が、すごいんです。

 とにかくエディタは(Vzは)、検索! といった使い方なので。

 なんか、深夜に燃えてしまいました。m(__)m
 おつきあい、ありがとうございます。
 どうかどうか、konno版、育んでやってください。いつか、ソースを見て、
なるほど! と思いたいです。shadowさんにも、ほんと感謝です。



10645/10632 CRG00666  文太             DeepLの限界
( 1) 23/03/18 12:22 10632へのコメント(文太さん) コメント数:1
 konnoさんは、英文はすっとばすことにしている。
 だ、ダメですか? ☆\(^^;)
 「DeepLくらい、かけて下さいよ」と思ったけど、なぜか、DeepL、ぜんぜんダメ。
というわけで、即席で修正訳。

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

このように2進数には果たすべき重要な役割がある。とりわけアセンブリ言語で
プログラミングしようとするなら、とても重要な役割だ。だから、二進法の計算法と
論理に親しむことは必須である。けれども、16進数の足し算を手作業で
できなくてはいけない、というのではない。プログラマー用の電卓を使えば良い
のだから(実際のところ、プロのプログラマーは皆そうしている)。それでも、
良いアセンブリ言語プログラムを書くためには、バイナリーの原理についての知識は
不可欠だ。電卓は使ってよい。が、基本的な知識はぜったいに身につけてほしい。
1分でも長くこれを学べば、将来において何時間にもおよぶ苦労をしなくてすむ
ことになるのだから。(トム・スワン、_Mastering Turbo Assembler_)

----------------------------------------------------------------------------
 (ちゃんとした日本語に建て直すには、あと10分かかるので、それは省略)

 では、そのプロが使うらしいプログラミング用「電卓」とは、どんなものなの?
というのが、僕の質問の主旨でした。

 LibreOffice Calcは、これからです。m(__)m



10646/10632 CRG00666  文太             CAL by 英斗恋
( 1) 23/03/18 12:59 10632へのコメント(文太さん) コメント数:1
 ふと思い出しました。
 これでいけるでしょう! sin, cos, tan とか、ぜったい要らないのですが。

 で、これのアーカイブファイルを見つけられる人はいませんでしょうか。
 僕の手元には、ソースがないのです。ソースがあったら、どうということでも
ないのですが。ベクタにはないみたい、、、。

 あるいは、元々のアーカイブ名が分かる方? そしたら、あそこで tosfind
できるかも?


----------------------------------------------------------------------------
本ソフトは,I/O '91年2月号掲載版の修正版です.(作者)
                  CAL               エイト レン
                 (カル)             ○英斗恋
                                                      (hyama@telestar.or.jp)
 最近,電卓ソフトがおまけでついてくるソフトがあります.それはそれで便利なの
ですが,どれもこれも(私の知る限り),普通の電卓の操作性を遵守したものばかり
です.
このようなソフトでは,
  +---------------+
  | “(1+2)*3+5” |
  +---------------+
という,カッコがついた計算ができません.そこで,簡単な電卓を作ってみました.
類似のソフトは既に出回っているでしょうが,勘弁してください.

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

 もちろん、16進の計算ができると、cal.txt の下のほうに記述がありました。

 かっこいいよね、「英斗恋」。



10647/10632 BQO00549  konno            Re: CAL by 英斗恋
( 1) 23/03/18 13:42 10646へのコメント(文太さん) コメント数:1
> 本ソフトは,I/O '91年2月号掲載版の修正版です.(作者)
>                   CAL               エイト レン
>                  (カル)             ○英斗恋
>                                                       (hyama@telestar.or.jp)

えーと、これでしょうか、「英斗恋 電卓」でググりました。

CAL/CAL_EXP [Open Source 1]
 DOS汎用の電卓2種.全ソース付きです
https://www.vector.co.jp/vpack/browse/person/an003474.html



10648/10632 CRG00666  文太             Re^2: CAL by 英斗恋
( 1) 23/03/18 15:47 10647へのコメント(konnoさん) コメント数:1
konnoさん

 ありがとうございます。

>えーと、これでしょうか、「英斗恋 電卓」でググりました。

 僕は何をしていたのでしょうか? ウソはついてないのですが。
 「英斗恋」で一発でヒットしそうなものですが……。

 なお、英斗恋は、Eight0Len という意味だそうです。0000-0000かな?
 すんごいCソースでした。当たり前だな、あれだけの計算させるのだもの。

 しかし、元々欲していたのは、PCの中のソフトではなく、外に物理的に
存在する電卓だったのだ。ぜったいその方が使い勝手いいって。シングル
タスクのDOSなら、なおさら(贅沢なブタです、わたくし)。

 英斗恋さん、コンパイラの勉強をしてる。see ○参考文献 in cal.txt.

 ちょっと前に思ったのですが、Vzのmacro.asmとexpr.asmって、小さな
コンパイラ(インタープリタだけど)ですね。main.asm, core.asm, text.asm,
disp.asm, key.asm。これらはエディタには必須。こう言っちゃなんですが、
エディタを作ろうとする人なら、当然、書かなくちゃいけない。書けなくちゃ
いけない。でも、macro.asmとexpr.asmは、、、。VzがVzたる所以ですね。

 LibreOffice 7.5 がなぜか動かない……。MS Office が邪魔してるのか?



10650/10632 CXB00940  としき           Re: DeepLの限界
( 1) 23/03/18 17:19 10645へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  「DeepLくらい、かけて下さいよ」と思ったけど、なぜか、DeepL、ぜんぜんダメ。

ほんとだ、これ、全然ダメですね。
google翻訳をまともに使うときのように改行をつなげて、あと冒頭のエムダッシュの
挿入句をカンマに変えたら、やっと少しまともな翻訳になりました。

----------------------------------------------------------------------------
アセンブリ言語によるプログラミングでは、2進数が重要な役割を果たすため、
2進数の算術と論理を熟知しておくことが重要です。だからといって、16進数の
列を手書きで足せるようになる必要はない。それならプログラマー用の電卓を
使えばいい。(プロのプログラマはたいていそうしているのだから。)
それでも、2進法の知識は、アセンブリ言語のプログラムを上手に書くために
欠かせません。電卓を使うのもいいですが、基本的なことを学ぶのも忘れては
いけません。このようなことを学ぶと、将来、何時間も困惑することがなくなる
でしょう。
----------------------------------------------------------------------------

だけど、ですます調とである調が混在していて、なんかいつもの調子ではない。
この手の人工知能系のものって、やっぱりまだまだ重箱の隅の突きがいがある。

>  では、そのプロが使うらしいプログラミング用「電卓」とは、どんなものなの?

プロじゃない私は、エスカルゴで十分間に合っています。


10651/10632 BQO00549  konno            Re^3: CAL by 英斗恋
( 1) 23/03/18 20:43 10648へのコメント(文太さん) コメント数:1
>  なお、英斗恋は、Eight0Len という意味だそうです。0000-0000かな?
>  すんごいCソースでした。当たり前だな、あれだけの計算させるのだもの。

ソース付きは良いですね、自分でカスタマイズ出来る夢があります。
ターボCならコンパイルも出来そうですね。

コマンドライン電卓と言えば、昔お世話になったしぶきさんのがあったと思い出しました。

まぜカルク
十進十六進混在関数計算機
http://www.vector.co.jp/soft/dos/personal/se160162.html

#1583 のしぶきさんのコメント
> > 特にDOS汎用版はVzの履歴が使えるんですね。これはいいかも。
> 履歴だけでなく、[SHIFT]+[RETURN]でファイラも起動します。
> エディタの編集中にDOS画面に切り換えながら使えるので、
> Vz常駐下では計算式や答えのコピー&ペーストが出来ます。

性能が同等ならこちらのほうがVZ使いには便利そうですね。
ソースが無いのは残念ですが。

>  LibreOffice 7.5 がなぜか動かない……。MS Office が邪魔してるのか?

あのう、MS Office があるならそれを使うのが一番かと。(^^;


10656/10632 CRG00666  文太             文太の限界
( 1) 23/03/18 23:44 10650へのコメント(としきさん)
としきさん、お久です。

>google翻訳をまともに使うときのように改行をつなげて、あと冒頭のエムダッシュの
>挿入句をカンマに変えたら、やっと少しまともな翻訳になりました。

 おお、使用可能、判読可能なほど、まとも!
 僕が使い方を間違えたのか。エムダッシュに弱いのね、とはすぐ気がついたけど、
改行コードとは! 前回は、それをしたんだっけ?
 次回から気をつけます。

>プロじゃない私は、エスカルゴで十分間に合っています。
 ですかね。僕もそれを、やがて考えるようになっていました(複雑な時制だ)。
 すぐにモノを欲しがる奴でして。m(__)m



10657/10632 CRG00666  文太             Re^4: CAL by 英斗恋
( 1) 23/03/18 23:48 10651へのコメント(konnoさん) コメント数:2
konnoさん

 ここから最後まで全部よんでしまいました。

#1472
PPP NP2画面切り替え、一応動作しました!
by USEI 2006/09/17

 いいですねぇ。niftyみたいだ。パスカルだ、Cだ、ベーシックだ、とお話だけでも
楽しい。
 WinCE, 触ったことも見たこともありませんです。
 でも、よく覚えてましたね、すごい記憶力だと思う。

 ひまつさんの「汎用版」なにやら美味しそう。DLだけしました。
 ありがとうございます。
 急に計算機オタク。Emmettさんのscalc.defが愛用の品ですが。10進の足し算しか
しませんけれど。

>あのう、MS Office があるならそれを使うのが一番かと。(^^;
 えと、エクセルで16進の足し算引き算、あとちょっとの掛け算ってできるのですか?



10658/10632 CXB00940  としき           Re^5: CAL by 英斗恋
( 1) 23/03/19 00:05 10657へのコメント(文太さん) コメント数:2
参照先:http://toshiki.la.coocan.jp/
>  えと、エクセルで16進の足し算引き算、あとちょっとの掛け算ってできるのですか?

概ねエスカルゴと同じ。
エスカルゴの場合、例えば「$12+3」と記入してリターンを押せば下に答えが出る。
エクセルの場合、任意のセルに「=$12+3」と記入してリターンを押せば、そのセル
そのものに答えが入る。

あとは、どういう結果がほしいかを書いてもらえれば、それなりにアドバイスできる
かもしれない。
一応、25年ぐらい前は統計担当としてエクセルでブイブイ言わせていましたから。
今ではすっかりさび付いていますけどね。
最新のエクセルの機能もフォローしていないし。


10659/10632 CXB00940  としき           Re^6: CAL by 英斗恋
( 1) 23/03/19 00:27 10658へのコメント(としきさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> エクセルの場合、任意のセルに「=$12+3」と記入してリターンを押せば、そのセル
> そのものに答えが入る。

おや?
新しいファイルを作ってから同じ動作をしたら計算しなくなった。
何か私、隠れた設定をしていたのかな?


10660/10632 CXB00940  としき           Re^7: CAL by 英斗恋
( 1) 23/03/19 00:37 10659へのコメント(としきさん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 何か私、隠れた設定をしていたのかな?

あなたが馬鹿なんですよ > としき
隠れた設定じゃない。
ドルマーク、単に通貨記号として認識されていただけ。
とはいえ、さっきは「=$12+$10」という式は正しく「$22」という結果が出たのに
今はエラーになる。さっきが変だったのかな。

とりあえず、エクセルは基本、計算は10進だけ。
16進で入力したら10進変換、演算後は16進変換で出力、というのが正規のようです。


10661/10632 CRG00666  文太             Re^6: CAL by 英斗恋
( 1) 23/03/19 00:43 10658へのコメント(としきさん)
としきさん

 ありがとうございます!
 とりわけ言い訳もいたしませんが、そうなんですね!
 エスカルゴとエクセルで同じなのが、式は消えてしまう、ということですね。
 エスカルゴは、\^M==print と結果プリントできるけど。
 直後に&?("%s",pw)で式も出せるか。

 エクセルも、こうすれば、式を残したまま隣のセルに結果を得られますよ、
とかあるのでしょうが、ま、必要になりましたら。m(__)m

 しかし皆さん、すごいです。
 エクセルでブイブイ言わせてた素晴らしい経験をお持ちであると。
 かんぜん異業種ですから、ほんと達人たちに見えます。
 豊かな人生だなぁ。神様とお天道様と、そしてもちろん、皆さまに深く深く感謝
いたします。

 実際にどんなことがしたいのか? いえいえ、Mastering TASM で、ああいう
一節に出会っただけなのです。いつか宜しくお願いいたします。

 近辺に介護とか訃報とかお葬式とかの現実がやってきています−−疲労期間が
長引いた理由。

 ああなる前に、したいことをしたいだけする、そんな覚悟になっています。
 大きなことを(まだ)したいなら−−CAD ソフトを使えるようになるとか−−
残り時間のことはいちおう考えなさい。
 そして、今日という日を無駄にしないように。
 今日また、自分に言い聞かせました。

 ありがとうございました。



10662/10632 CRG00666  文太             Re^8: CAL by 英斗恋
( 1) 23/03/19 00:55 10660へのコメント(としきさん) コメント数:1
>とりあえず、エクセルは基本、計算は10進だけ。
>16進で入力したら10進変換、演算後は16進変換で出力、
>というのが正規のようです。

 げっ? 何なんですかぁ、ブイブイの達人さん!
 それ、面倒そうですよ。
 やっぱ、Vzから cal.com by Eight0Len かな?
 コマンドライン・アプリが大好き。
 コンソールファイルも、いつだって見れるし。

 ついでに、どっかで読んだ面白い考え方を。
 「常駐アプリは常駐後DOSの一部となる」
 なるほど! 環境と合体するというか、環境の一部になる、ですね。そして
VzはDOSを拡張する。

 言いふるされていますが、「Vzは環境である」(「環境」という言葉の意味が
深い)。ひまつさんも、そんな表現をしていました。

 エミュ環境でいいから、Vzよ、永遠なれ!
 僕のDOS機とWinME機よ、永遠なれ。たぶん、心配ないです。僕があっちに
行ったあと、残った人たちが、捨ててくれます。



10663/10632 CXB00940  としき           Re^9: CAL by 英斗恋
( 1) 23/03/19 13:07 10662へのコメント(文太さん) コメント数:1
参照先:http://toshiki.la.coocan.jp/
>  げっ? 何なんですかぁ、ブイブイの達人さん!

いわゆる一つの、ヤキが回った、というヤツでしょう。
もう、かつての遺産で食っていけなくなった、という感じ。
そろそろいいかげん、現役を引退しろ、ということなんでしょう。

>  それ、面倒そうですよ。

そうなんです。
私のかつての記憶だと、入力はともかく、表示だけは16進ができたように思って
いたんですけどね。完全に記憶違い。

>  コマンドライン・アプリが大好き。

同じく。

>  エミュ環境でいいから、Vzよ、永遠なれ!

概ね同意なんですが。
どうも私のところでは、Vzを常駐させるとうまく動かないものも多くて。
それがちょっと残念なところ。


10664/10632 CRG00666  文太             Re^10: CAL by 英斗恋
( 1) 23/03/19 15:43 10663へのコメント(としきさん)
としきさん

>>  げっ? 何なんですかぁ、ブイブイの達人さん!
>いわゆる一つの、ヤキが回った、というヤツでしょう。
 あはははは。
 えと、成長スピードはゆったりとしたものになりますが、それでも
ちゃんと進化してますから、大丈夫ですよ。忘却(思い違い)も大切な
能力です。

>もう、かつての遺産で食っていけなくなった、という感じ。
 あまりあてにしないように。貯金もあてにならん。

>そろそろいいかげん、現役を引退しろ、ということなんでしょう。
 いえ、それはムリです。もう少しがんばってください。

>>  エミュ環境でいいから、Vzよ、永遠なれ!
>概ね同意なんですが。
>どうも私のところでは、Vzを常駐させるとうまく動かないものも多くて。
>それがちょっと残念なところ。

 たとえば何ですか?
 僕は、先日、「スワップなんて要らない」と豪語した直後に、超簡単
awkスクリプトが動かなくて(「メモリが足りません」)、すぐさま
バッチファイルを書き、Vzを終了させて、素のDOSで作業しました。
 逃げる方法はあるし、メンタリティも身につけたから今さら文句も出ませんが、
ここでなければ、こんなこと起きないんだけどなぁ、と(やっぱり)少し
ブーたれました。


10668/10632 BQO00549  konno            Re^5: CAL by 英斗恋
( 1) 23/03/20 00:40 10657へのコメント(文太さん) コメント数:1
>  でも、よく覚えてましたね、すごい記憶力だと思う。

いや、忘れていたんですが、コマンドライン電卓というので思い出したのです。
ほとんど使ってないんですけどね。(^^;

>  ひまつさんの「汎用版」なにやら美味しそう。DLだけしました。

しぶきさんのことですか? 飛沫と書いてしぶきと読むようです。

> >あのう、MS Office があるならそれを使うのが一番かと。(^^;
>  えと、エクセルで16進の足し算引き算、あとちょっとの掛け算ってできるのですか?

エクセルで16進の計算が出来るかは知りません。
というか、エクセルは家計簿の話だったはず。(^^;


10679/10632 CRG00666  文太             Re^6: CAL by 英斗恋
( 1) 23/03/21 00:33 10668へのコメント(konnoさん) コメント数:1
 まあ、済んだことです。
 ただ、以下は、本当は、真っ先にレスしたかった事柄です。

#10634
>私はオープンオフィス系のフリーの LibreOffice Calc を使っています。
>割といいですよ。
>毎月の収支や公共料金や毎年の
>電気料平均
>電気量平均
>電気料合計
>電気量合計
>なども表示させています。高くなりましたねぇ。(-_-;)

 この料と量を併記してるところが、素晴らしいです!
 僕は、本来の目的を忘れ(こればっか)、料金しか記載してなくて、
バッかだね、と3年前に思ったのに、そのまま、、、。
 そうです、お金の話でなく使った量の話なのです。
 少し余裕がでて、そして天気が良いものですから、太陽光発電による充電池
の調教などを再開しています。電子工作も、このすきに、ちょっとだけしちゃう!

 飛沫=しぶき。もうすっかりひっくり返っちゃう。しぶきってその字なんだ、
だったのに。気がついたら、「ひまつ」さんになってるし。



10681/10632 BQO00549  konno            Re^7: CAL by 英斗恋
( 1) 23/03/21 01:52 10679へのコメント(文太さん)
> >毎月の収支や公共料金や毎年の
> >電気料平均
> >電気量平均
> >電気料合計
> >電気量合計
> >なども表示させています。高くなりましたねぇ。(-_-;)
>
>  この料と量を併記してるところが、素晴らしいです!

文太さんはエクセルをあまり使っておられないのでしょうか。為念ですが
これらは全て1月から12月までの各セルの値を自動的に計算させて表示しています。
計算式を張り付けたセルに、計算結果が表示されるのです。
そのセルを翌年の同じ位置にまとめてコピーすればその年の分を計算表示してくれます。
非常に便利です。コンピュータを使っているという感じがしますね。

ちなみに私はBASICの縦横集計の表計算から始めて、DOSのロータス123も使っていましたので
エクセルも違和感なく使えました。

>  僕は、本来の目的を忘れ(こればっか)、料金しか記載してなくて、
> バッかだね、と3年前に思ったのに、そのまま、、、。
>  そうです、お金の話でなく使った量の話なのです。

私も2008年からのデータは取ってあった領収書から打ち込んだので、抜けもあります。(^^;

>  少し余裕がでて、そして天気が良いものですから、太陽光発電による充電池
> の調教などを再開しています。電子工作も、このすきに、ちょっとだけしちゃう!

やりたいことはやりたいと思ったときにやるのが一番ですね。(^^;

>  飛沫=しぶき。もうすっかりひっくり返っちゃう。しぶきってその字なんだ、
> だったのに。気がついたら、「ひまつ」さんになってるし。

人の名前はどう読むか難しいですよね、私もよく間違われます。(^^;