[HOME]  [掲示板トップへもどる]  [全部表示]  [最新100]  [最新50]   [新着40] 
 番号順 全部表示   FGALVZ   

08113/08113 CRG00666 文太 fkylabel.def (v.1.00)
( 1) 18/09/18 01:36 コメント数:2

 ふう、で、できました。これは、どうしてだか、疲れていたのだか、時間、かかりました。
 で、で、で、できました。
 ファンクションキーラベルの書き換えマクロです。
 僕は、うおおお、と機械になって働かなくてはならないとき、ファンクションキーを多用
します。使い捨てマクロを量産して、使いまくって作業します。
 ノートでも、Fnキーとか押したくないので、すぐFキーに逃げます。

 で、すぐ、どのFキーが、どの機能だか分からなくなる。いえ、本当は、紙に書いて、
Fキーのすぐ上に軽く貼ってました。
 それで、いつか、Fキーラベルの書き換えをやってやろうと思っていたのです。
 まだ、プロトタイプですが、できたようです。

 たぶん、守らなければいけなりルールは(少なくともここでは)、ラベルの文字長は、
1キー=5バイトに統一すること。空白もちゃんと埋めること。全半スペースで。
 このマクロバッファ(たぶん)の無駄遣いがないと、このやり方ではいけません。
"""""""""" etc みたいにして、ファンクキーラベル表示無効にしていると、マクロ
バッファがお得になるみたいですが(ほんと?)、こういうのには、まったく対応して
いません。
 ぜんぜんインテリジェントではない、ということです。でも、これが欲しかった。

 しかしねぇ、このprを使っての、確認、もう少しなんとかならないものでしょうか?
 buffer (key label buffer) check のところ、なんとかならないのでしょうか?
 何か思いつかれましたら、アドバイス頂ければ幸いです。
 4バイトずつを、照合してるだけなんですけどね。

 01: のラベルは、ただいま整理中の僕のものです。デモとしては使えると思います。
 「なんだよ! 怒」となったら、すいません、vz の再起動をお願いします。

 震災対策報告は、そのうちです。ついに、太陽光パネル(50W)が届きました。
 新品バッテリー各種も届きました。システム完成まで、地震が来ないことをひたすら
祈っています。


=== fkylabel.def (v.1.00) ===
* M
50 ^^ "fkeyin"

	i=c-,
	&00 di=p=b=r, &10 i-,
	&01 di=p=a=r, &10

;	--- buffer check: is 4 org func label length same as new?
	(pr.0==pr.4)?? >z
	(pr.1==pr.5)?? >z
	(pr.2==pr.6)?? >z
	(pr.3==pr.7)?? >z

	n=b, >05

:z	&m("error") .

51 ^\ "fkeyout"
	n=a, >05

05 ""	pq..100[=n, pn.4-, . 		;pq..100, fkeytbl
					;pn.4, fkeymode

10:
  :a	(i==4)? .
	cx=75, di=p,
	&i("$(B0,0D,F2,AE,C3)")		;length to '0dh'
	l=di-p,				;or find '0dh'
	pr.c=l,
	p+=l,
	i++, c++, >a


00:	(3+$)."$	;N,S,C,A
	[Nml]$(0)[F02]$(0)[F03]$(0)[F04]$(0)[F05]$(0)[F06]$(0)$
	[F07]$(0)[F08]$(0)[F09]$(0)[F10]$(0)[F11]$(0)[F12]$(0)$
	$(d)$
	[Sft]$(0)[F02]$(0)[F03]$(0)[F04]$(0)[F05]$(0)[F06]$(0)$
	[F07]$(0)[F08]$(0)[F09]$(0)[F10]$(0)[F11]$(0)[F12]$(0)$
	$(d)$
	[Ctl]$(0)[f02]$(0)[f03]$(0)[f04]$(0)[f05]$(0)[f06]$(0)$
	[f07]$(0)[f08]$(0)[f09]$(0)[f10]$(0)[f11]$(0)[f12]$(0)$
	$(d)$
	[Alt]$(0)[f02]$(0)[f03]$(0)[f04]$(0)[f05]$(0)[f06]$(0)$
	[f07]$(0)[f08]$(0)[f09]$(0)[f10]$(0)[f11]$(0)[f12]$(0)$
	$(0D,FF)"

01:    (3+$)."$
	ファイル $(0)窓換 $(0)文換 $(0)窓割 $(0)改行 $(0)   $(0)$
	   $(0) タグ $(0)   $(0)   $(0)   $(0)   $(0)$
	$(d)$
	   $(0)   $(0)比較 $(0)窓動 $(0)複写 $(0)英熟 $(0)$
	複写2$(0)D_SPC$(0)ペースト$(0)KMAC $(0)RBLK $(0)STKHP$(0)$
	$(d)$
	bmama$(0)^222 $(0)^333 $(0)^444 $(0)^555 $(0)^666 $(0)$
	^777 $(0)^888 $(0)^999 $(0)^000 $(0)isrch$(0)STKHP$(0)$
	$(d)$
	Hyo  $(0)Kei  $(0)     $(0) cp  $(0)It!M $(0)It!J $(0)$
	FOPN $(0)     $(0)PROJT$(0)@000 $(0)@Csr $(0)T_AWK$(0)$
	$(0D,FF)"

*
	mov	al,0dh
repne	scasb
	ret



08114/08113 CRG00666 文太 Re: fkylabel.def (v.1.00)
( 1) 18/09/18 02:10 08113:文太さんへのコメント コメント数:1

0,4	+4
1,5
2,6
3,7

	;--- もともとの設計が間違っている、たぶん
	;--- こんなの、ぜんぜん読みやすくない
	m-,
	(4) { (pr.m==pr.(m+4))?? >z m++,}

	;--- まだ、こっちがまし。
	(pr.0==pr.4)?? >z
	(pr.1==pr.5)?? >z
	(pr.2==pr.6)?? >z
	(pr.3==pr.7)?? >z

 誰か、教えてください。
 8個だから、ビット演算! << ダメです。どうか、他の方法を。



08115/08113 CRG00666 文太 fkylabel.def (v.1.01)
( 1) 18/09/18 02:37 08114:文太さんへのコメント コメント数:1

 動くと思います。少しましでしょうか。
 面倒くさい方は、こちらでお試しください。

=== fkylabel.def (v.1.01) ===
* M
50 ^^ "fkeyin"

	i-, fy-,			;<fy> 0: new, 1: old (org)
	&00 p=a=r,      &10 i-,		;new
	&01 p=b=r, fy+, &10		;old (back)

;	--- buffer check: Is 4 new func labels' length same as old?
	i-,
	(4) {(pr.i==pa.i)?? >z, i++, }

	n=a, >05

:z	&m("error") .

51 ^\ "fkeyout"
	n=b, >05

05 ""	pq..100[=n, pn.4-, . 		;pq..100, fkeytbl
					;pn.4, fkeymode

10:
  :a	(i==4)? .
	cx=74, di=p,	;74, when cx==73, '0dh' is supposed to be found
	&i("$(B0,0D,F2,AE,C3)")		;length to '0dh' or find '0dh'
	l=di-p,
	(fy)? pa.i=l, ? pr.i=l,
	p+=l,
	i++, >a


00:	(3+$)."$	;N,S,C,A
	[Nml]$(0)[F02]$(0)[F03]$(0)[F04]$(0)[F05]$(0)[F06]$(0)$
	[F07]$(0)[F08]$(0)[F09]$(0)[F10]$(0)[F11]$(0)[F12]$(0)$
	$(d)$
	[Sft]$(0)[F02]$(0)[F03]$(0)[F04]$(0)[F05]$(0)[F06]$(0)$
	[F07]$(0)[F08]$(0)[F09]$(0)[F10]$(0)[F11]$(0)[F12]$(0)$
	$(d)$
	[Ctl]$(0)[f02]$(0)[f03]$(0)[f04]$(0)[f05]$(0)[f06]$(0)$
	[f07]$(0)[f08]$(0)[f09]$(0)[f10]$(0)[f11]$(0)[f12]$(0)$
	$(d)$
	[Alt]$(0)[f02]$(0)[f03]$(0)[f04]$(0)[f05]$(0)[f06]$(0)$
	[f07]$(0)[f08]$(0)[f09]$(0)[f10]$(0)[f11]$(0)[f12]$(0)$
	$(0D,FF)"

01:    (3+$)."$
	ファイル $(0)窓換 $(0)文換 $(0)窓割 $(0)改行 $(0)   $(0)$
	   $(0) タグ $(0)   $(0)   $(0)   $(0)   $(0)$
	$(d)$
	   $(0)   $(0)比較 $(0)窓動 $(0)複写 $(0)英熟 $(0)$
	複写2$(0)D_SPC$(0)ペースト$(0)KMAC $(0)RBLK $(0)STKHP$(0)$
	$(d)$
	bmama$(0)^222 $(0)^333 $(0)^444 $(0)^555 $(0)^666 $(0)$
	^777 $(0)^888 $(0)^999 $(0)^000 $(0)isrch$(0)STKHP$(0)$
	$(d)$
	Hyo  $(0)Kei  $(0)     $(0) cp  $(0)It!M $(0)It!J $(0)$
	FOPN $(0)     $(0)PROJT$(0)@000 $(0)@Csr $(0)T_AWK$(0)$
	$(0D,FF)"

*


08116/08113 CRG00666 文太 ちょっと急いで
( 1) 18/09/18 15:01 08115:文太さんへのコメント コメント数:2

 さらりと書いておきます。
 このマクロはこのままで、エラーチェックをクリアして動いてしまうはずです。
 ただ、それは、01のほうが、僕のvz.def
* F ファンクションキー表示
 と同一になっているからで、00とも合致しているからです。僕のところでは、
事故は起こらない。(そういう風に設計されています)。
 皆さまのところでも、所期の目的は達せられるでしょう。あくまでデモとして。
「あ、書き変わった」「あ、戻った、けど、これ文太のラベルじゃねーか」と。
ただ、不要にVz作業を続行しないでください。不要も何も、続行しちゃダメです。
きっと、Vzのお腹の中を壊していますから。
 ファイラの表示が乱れるどころでなく、ほんとに。
 検証不足、研究不足ですが、Fキーラベルのあたりは、Vz起動時に、
「さすがVz」と言いたくなるほど、ケチくさく最適化されていると思います。
なので、自分の環境とそのマクロを完全に一致させないと、キーラベル以降に入っ
ている「内部マクロバッファ」(vz.defじゃん)を壊すと思う。
see
http://mezala.la.coocan.jp/vz/workshop/mtool.html#csegmap

 というわけで、「しゃーない、文太のために動かしてやる?」という親切心に
仇でお返しすることになっちゃやばいと、すぐこれを書きました。
 他人のマクロを読んでから動かす人は、めったにいないとも思いますので。

 読みきって、自分の環境と合わせられる人は、どうぞ。
 2、3日中ぐらいに、環境一致を容易にするマクロを書きます。誰も要らないで
しょうけどね。これも自分のためなんですよね、すいません。m(__)m



08117/08113 CRG00666 文太 fkylabel.def (v.1.50)
( 1) 18/09/18 20:34 08116:文太さんへのコメント

 はいいい、安全になりました。でも、たぶん、皆さまのところでは動かなく
なりました。
 カスタマイズのポイントは、vz.defのFキーラベルのところと、マクロ内の
ダミーラベル(?)を、バイトワイズに(バイト的に)、完全に同じにすること
です。
 僕は、もう全部1マス5バイトにしてしまったので、下のと同一バイトなわけ
です。
 見れば分かるとおり、全体長と12個のラベルで構成される1行を(後者は4回)
チェックしています。

 戻すほうはですね、たぶん、現実的には戻れないと思います。仕様的にそれで
いいよ、と思ってます。だって、例によって、マクロバッファからこのマクロが
消えたら、自前に保存しても、もう取り返せないわけで。
 というわけで、運がよければ取り戻せるよ、とか、この生意気マクロは申します。
(注)

 前のは、なんとプッシュしたまま終わっておりましたぁ。ああああ。すいません。

 こうサクサクいったときはバグがあるのでしょう。バグ発見にご協力いただけ
れば、これ幸いです。

(注)皆さん、これにあまり愚痴とかこぼしませんね。ずっと30年近くにわたり、
という意味で。どうしてもデータ保存したけりゃ、ファイルに書き出せ、という
ことなのでしょうけど、誰も不満を口にしたことがないような気がする。当たり前
すぎて愚痴るほうが馬鹿げてる? 僕は不満たらたらなんですが。
 なんか、やっぱりsyoさんは偉い、とかよく思います。1kbuf.comをどんどん使い
たくなる。でも、複雑すぎるんだよねぇ、手続きが。EMSよりも確実。だって、
マクロの中だと、ハンドルの情報も消えちゃうわけで。
 ま、Vzの俊敏さ快速さ小ささetcとの、トレードオフなんですよね。
 データ書き出し処理も含め、瞬時に仕事を終える、これがVzマクロの宿命。
仕事はやり遂げたのだから、いつあっち世界へ行ってもいい、、、。
 でなけりゃ、モードかなんかにして、ずっとその中にいろ、あるいはインクルード。
ふぅ。


=== fkylabel.def (v.1.50) ===
#if 0
 ^^ write in new labels,  ^\ write (get) back the original labels
				if you are lucky!
#endif

* M
50 ^^ "fkeyin"

	f=pq..100,			;func key label ptr
					; <f>
	;--- get buffer for org data
	&00 a=r,			;<a> new labels
	&01 b=r,			;<b> for org data (jimae)

	;--- check org label & new label (length overall)
	di=f, cx=295,			;org label length
	&08				;srch '0ffh'
	pr.0=di-f,			;<o> len overall of org labels
	b..150=o=di-f,			;save <o> in jimae buffer's tail
					;little out the way
	di=a, cx=295,
	&08				;new label length
	pa.0=di-a,

	;--- compare them
	(pr.0==pa.0)?? { &m("lengths overall of 2 labels do NOT match!") .}


	;--- check each line (4 lines in all)
	;--> in pr.0-3, pa.0-3, data will be stored
	 				;<fy> 0: new labels, 1: org l
	p=a, fy-, &10			;new
	p=f, fy+, &10			;org (to be saved & restored)


	;--- buffer check: Is 4 new func line length same as org?
	i-,
	(4) {(pr.i==pa.i)?? >z, i++, }

	;--- save org 4 label lines	;<f> fkey label ptr
	&Sm(b,f,o)			;<o> len of org
					;<b> jimae
	;--- now exec!  Rewrite func lines ---
	&Sm(f,a,o) pn.4-, .		;<a> new items
					; pn.4, fkeymode

:z	&m("4 lines one set. Difference!") .


51 ^\ "fkeyback"

	f=pq..100,			;func key label ptr
	&01 b=r,
	o=b..150,
	(o==0)?? { &Sm(f,b,o) pn.4-, &m("lucky?") . }

	&m("Coffee break! Fkeyin gone once, so restart Vz to get THEM back!") .



	;* ===== * =====   LOCAL MACROS (& data & buffer)   ===== * ===== * 


08:	&i("$(B0,FF,F2,AE,C3)")		;length to 'ffh'

10:	;--- measure the lengths of each label line & save them 
	;<-- di (ofs) (p), cx (max srch length)	;in <pa> <pr>
	;--> di (ofs), l (length)

	i-,
  :a	(i==4)? .
	di=p, cx=74, 			;74, when cx==73, 
	&i("$(B0,0D,F2,AE,C3)")		; '0dh' is supposed to be found
	(fy)? pa.i=di-p, ? pr.i=di-p,	;length to '0dh'
	p+=(di-p),
	i++, >a


00:	(3+$)."$	;N,S,C,A
	[Nml]$(0)[F02]$(0)[F03]$(0)[F04]$(0)[F05]$(0)[F06]$(0)$
	[F07]$(0)[F08]$(0)[F09]$(0)[F10]$(0)[F11]$(0)[F12]$(0)$
	$(d)$
	[Sft]$(0)[F02]$(0)[F03]$(0)[F04]$(0)[F05]$(0)[F06]$(0)$
	[F07]$(0)[F08]$(0)[F09]$(0)[F10]$(0)[F11]$(0)[F12]$(0)$
	$(d)$
	[Ctl]$(0)[f02]$(0)[f03]$(0)[f04]$(0)[f05]$(0)[f06]$(0)$
	[f07]$(0)[f08]$(0)[f09]$(0)[f10]$(0)[f11]$(0)[f12]$(0)$
	$(d)$
	[Alt]$(0)[f02]$(0)[f03]$(0)[f04]$(0)[f05]$(0)[f06]$(0)$
	[f07]$(0)[f08]$(0)[f09]$(0)[f10]$(0)[f11]$(0)[f12]$(0)$
	$(0D,FF)"

01:    (3+$)."$[304]

*

--- len of label line, each (0dh) & overall (0ffh) ---
	mov	al,0dh (0ffh)
repne	scasb
	ret
------------------------------------------------------


08118/08113 BQO00549 konno Re: ちょっと急いで
( 1) 18/09/18 20:49 08116:文太さんへのコメント コメント数:1

> === fkylabel.def (v.1.01) ===

試してみました。書き換わりますね。ばっちりです。

>  検証不足、研究不足ですが、Fキーラベルのあたりは、Vz起動時に、
> 「さすがVz」と言いたくなるほど、ケチくさく最適化されていると思います。
> なので、自分の環境とそのマクロを完全に一致させないと、キーラベル以降に入っ
> ている「内部マクロバッファ」(vz.defじゃん)を壊すと思う。

私の環境はまさにこうなっているので、試した後はVTDOS再起動しました。

>  というわけで、「しゃーない、文太のために動かしてやる?」という親切心に
> 仇でお返しすることになっちゃやばいと、すぐこれを書きました。
>  他人のマクロを読んでから動かす人は、めったにいないとも思いますので。

まさにそのとおりで、私はとにかくすぐに動かしてみる派なんですよね。
事前に危険性を書いてもらえるのはありがたいですね。

>  2、3日中ぐらいに、環境一致を容易にするマクロを書きます。誰も要らないで
> しょうけどね。これも自分のためなんですよね、すいません。m(__)m

ファンクションキーを書き換えるマクロは他の人もやっていたと思いますが
そういう必要と言うか、場面が思い浮かびません。
例えるなら、多段メニューマクロ的な使い方でしょうか。



08120/08113 CRG00666 文太 Re^2: ちょっと急いで
( 1) 18/09/19 00:57 08118:konnoさんへのコメント コメント数:2

>私の環境はまさにこうなっているので、試した後はVTDOS再起動しました。
 ああ、よかった。怒、怒、怒 とかなってたら、タイヘン、でした。m(__)m

>>  他人のマクロを読んでから動かす人は、めったにいないとも思いますので。
>まさにそのとおりで、私はとにかくすぐに動かしてみる派なんですよね。
 ですよね。最初にもさらりとは書いたつもりだったのですが、、、。m(__)m
 お手数をお掛けしました。

>事前に危険性を書いてもらえるのはありがたいですね。
 事前であったらよかったのですが、、、。m(__)m

>>  2、3日中ぐらいに、環境一致を容易にするマクロを書きます。誰も要らないで
>> しょうけどね。これも自分のためなんですよね、すいません。m(__)m
 これはもう上げないことにしました。
 真面目に色んな環境を考えたら、たまらん、ということに気づきました。
 すげえ、つまんないマクロだし。そして、ちゃんと動かすの大変。
 はい、古いデモ・ヴァージョンで試し、すぐさま再起動していただき、本当に
ありがとうございました。

>ファンクションキーを書き換えるマクロは他の人もやっていたと思いますが
 はい、mikomeさんとか、他にも。ただ、僕の必要と違ったんですね。
 ワーク暗黒時代のことでした。mikomeさん、すごく面白がってました。
 ねこさんは途中で挫折して、NEC98用の(たぶん)fkey.exeかなんかに頼って
ました。

>そういう必要と言うか、場面が思い浮かびません。
 ちょっと前に書きましたけど、2ストロークキーさえ面倒、Fキー一発にしたい、
そんな小マクロが8つあったりするのです。それらを駆使しないと仕事が進まない。
そんな場面です。
 僕には、たとえば、e-textを作る場面とかがそうです。たとえば明日、というか今日。

 そんな使い捨てマクロを8つ(たとえば)、連打しまくる、そんな方法しかない場合、
Fキーに割り当てる。でも、どれがどれだったか分からなくなるから、サクっと、
Fキーラベルを書き換えたいな、と。
 そのとき、もともとアサインされていた常用マクロは、後マクロ優先で、眠ってて
くれるわけです。

 ないでしょうね、こんな需要も場面。

 funkie.defのときも、ちょっと触れてました。そんな繋がりでこちらに上げました
(funkieはラベルを消す、これはラベルを書き換える。そんな繋がり)。ちょっと
個人的環境に依存しすぎるマクロなので、これは、この辺で打ち止めにしておきますね。
 あのキーワード2つで、簡単に書き換えられるよ、というだけのお話でした。

 ところで、ファイラーのFキーラベル、有用な使い方ってありますか?
 僕には思いつけなくて、封印しています。
 (これやばいかもしれないけど)としきさんは、大昔、編集場面とのキー共通を恐れずに、
ファイラー用マクロを、どうやらFキーに割り当てていたそうです。試しにやってみた
だけかもしれませんが。
 知っていると思いますが、ファイラー用ファンクラベルは、wanamaさんのリクエストで、
高橋さんが入れました。情報を見せられる余地が余計にあるというのは、悪くないことなの
でしょうけれど、僕には今のところ使い道が、、、。



08121/08113 CXB00940 としき Re^3: ちょっと急いで
( 1) 18/09/19 02:08 08120:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

>  (これやばいかもしれないけど)としきさんは、大昔、編集場面とのキー共通を恐れずに、
> ファイラー用マクロを、どうやらFキーに割り当てていたそうです。試しにやってみた
> だけかもしれませんが。

ファイラー用マクロって、VZFL.DEFに入っているものの事でしょうか。
そういう意味であれば、今でも3つくらい、ファンクションキーにアサインされています。
ただ、[F02] と [F03] は #if 98 でくくられているので、実質的には #if tVZ で
くくられている [F04] のみですね。
ちなみに、こんな感じ。

#if tVZ
8 [F04] "" >?{ #Y .. * }. *		;
	lf~, #V (fv==5)?#V
#endif

もはや忘却のかなたですが、全天候型、とかいうやつでしょうかね。
[F02] と [F03] も、最初の条件分岐は似たような形になっていますから。


08123/08113 BQO00549 konno Re^3: ちょっと急いで
( 1) 18/09/20 00:51 08120:文太さんへのコメント コメント数:1

> >ファンクションキーを書き換えるマクロは他の人もやっていたと思いますが
>  はい、mikomeさんとか、他にも。ただ、僕の必要と違ったんですね。
>  ワーク暗黒時代のことでした。mikomeさん、すごく面白がってました。
>  ねこさんは途中で挫折して、NEC98用の(たぶん)fkey.exeかなんかに頼って
> ました。

そういえば、私もその辺の過去ログを読んで試したことがあります。
結局その時は使えなかったような。
今はワーク情報があって、簡単安全に出来るようになりましたね。
過去ログは先人の知恵の結晶ですね。もう感謝感謝です。

>  ちょっと前に書きましたけど、2ストロークキーさえ面倒、Fキー一発にしたい、
> そんな小マクロが8つあったりするのです。それらを駆使しないと仕事が進まない。
> そんな場面です。

なるほど、私もキー一発でやりたいことはいくつかありますが、手間と
必要性を天秤に掛けると、メンドウサが勝ってしまいますね。

>  そんな使い捨てマクロを8つ(たとえば)、連打しまくる、そんな方法しかない場合、
> Fキーに割り当てる。でも、どれがどれだったか分からなくなるから、サクっと、
> Fキーラベルを書き換えたいな、と。
>  そのとき、もともとアサインされていた常用マクロは、後マクロ優先で、眠ってて
> くれるわけです。

いいですね、私も使ってみたくなってきました。
何か思いついたらその時は、参考にさせてもらいます。

>  ところで、ファイラーのFキーラベル、有用な使い方ってありますか?
>  僕には思いつけなくて、封印しています。
>  (これやばいかもしれないけど)としきさんは、大昔、編集場面とのキー共通を恐れずに、
> ファイラー用マクロを、どうやらFキーに割り当てていたそうです。試しにやってみた
> だけかもしれませんが。

私もファイラーのFキーは仕込んであります。でも全然使って無いなぁ。

>  知っていると思いますが、ファイラー用ファンクラベルは、wanamaさんのリクエストで、
> 高橋さんが入れました。情報を見せられる余地が余計にあるというのは、悪くないことなの
> でしょうけれど、僕には今のところ使い道が、、、。

ええ、この逸話は過去ログにしっかり残ってますから。
それでファイラー用ファンクラベルも拡張できたわけですが、使い道がいまいち
無いですねぇ。


08124/08113 CRG00666 文太 Re^4: ちょっと急いで
( 1) 18/09/20 02:31 08123:konnoさんへのコメント コメント数:2

>なるほど、私もキー一発でやりたいことはいくつかありますが、手間と
>必要性を天秤に掛けると、メンドウサが勝ってしまいますね。

 ここだけ、簡単に。
 僕はノートを、けっこう使います。DOSだったり、MEだったりしますが。
Win7のいちおうのメインマシン(デスクトップ)は、ね?!
 そのとき、^QEとか、Fn+↑ とかがすごく億劫なんですよ。Fキーは遠い
のですが、まだまし、と、それらカーソル移動やページ送りのコマンドを
F05-F12に割り当ててしまうのです。
 でも、そういうふざけたモードのときは、紙に機能を書いてFキーの上
に貼ったりしませんから、げ、間違えた、を連発してしまうのです。

 検索しまくりのときは、^QFさえ(僕は^Fです)億劫で、F12にシフト
します。病気っぽい気するし、賢くない? という気もしています。
 ワンキーは楽ですよ。ホームポジションから外れますが、まあ、そう
いうときは、まったりやってますから、いいんです。

 としきさんが、ファイラキーラベルの正しい使い方を教えてくれました!
 1マス・5バイトから4バイトへ変更! ひぇぇぇ。


08125/08113 BQO00549 konno Re^5: Fキー見直し活用
( 1) 18/09/20 21:09 08124:文太さんへのコメント コメント数:2

>  そのとき、^QEとか、Fn+↑ とかがすごく億劫なんですよ。Fキーは遠い
> のですが、まだまし、と、それらカーソル移動やページ送りのコマンドを
> F05-F12に割り当ててしまうのです。

なるほど、私も検索で、^QR とか特定のキーをよく使うので考えてみます。
F10〜F12 はほとんど使っていないので、それらを裏に回してみようかな。
記号出力系などはメニューを出して一覧できた方がいいですね。
色々カスタマイズしたくなりました。

>  としきさんが、ファイラキーラベルの正しい使い方を教えてくれました!
>  1マス・5バイトから4バイトへ変更! ひぇぇぇ。

何でしょう? うちは5バイトにしてます。
もしかしてPC98とかオアポケ3がらみとか?


08126/08113 CRG00666 文太 Re^4: ちょっと急いで
( 1) 18/09/20 22:35 08121:としきさんへのコメント

 ありがとうございます。呼び出したみたいで。
 でも、どんぴしゃの回答でした。質問あるいは問題は、「高橋版以降、5本目
のFキーラベル(ファイラ用)が使えるのですが、どう使いましょう?」でした。

 なるほど、編集画面とファイラと同じキーアサインのものを、vz[fl].def  で
分岐させて、2種類のマクロを使えば、ファイラでのFキーラベルが、意味を持つ
というわけですね。

>ファイラー用マクロって、VZFL.DEFに入っているものの事でしょうか。

 これはどっちでも。ファイラで使われるマクロという意味です。釈迦説ですが
(要らない情報、忘れたい情報)、vzfl.defはふつうインクルードされてvz.def
の後ろに来るので、vzfl.def のほうが後優先で呼ばれることになりそうですね。
キーがバッティングしてなければ、そのマクロだって、vz.defに入っていても
問題ないと思いますよ。

8 [F04] "" >?{ #Y .. * }. *
	lf~, #V (fv==5)?#V

 機能は一目瞭然です。ただ、この米米が。でも、ピリオドが }の外に出てい
る意味は分からない。そのほうが安全なのかなぁ? この形、前にも見たことある…。
 *はコメント機能です。1つ目の*に飛ぶと、次の*まで読み飛ばすというか、
飛ぶ。うまいことやってます。ラベルが1つ省略できるというのがメリット。

>もはや忘却のかなたですが、全天候型、とかいうやつでしょうかね。

 正確に言うと、「全天候」ではないです。編集モードとファイラモードの2つ
の場面でのみ別々に機能する。他では何もしない。「.」がその意味。

tomo, 94/10/9, <nifty:FGALPK/MES/13/1983>
89 ^\ "必ずコマンドライン"
        (s)>?{#E #m * #H #[ }>^ *

 こういうのが全天候。どのモードにいても機能するから。ここでは、どっから
でもコマンドラインモードに行くよ、ということ。が、またしても米米クラブ。
 4回ぐらい釈迦説したみたい。
 因みに、米米は榊原さんが発見したやり方です。使い方も開拓した。

 でも、ありがとうございます。おっきなヒントでした。おかげさまで、Fキー
ラベルが5行に戻りました。さて、何を入れる?
 入れたいマクロが2つしかないぞ。ファイラのマクロって難しいんですよねぇ。
exmenuから外すか? あんまり意味ないなぁ。いくらか、マクロバッファの節約、
になりそうもないけどなぁ。
 キーアサ忘却病が進行していてですね、見て分かるものは、どんどん活用しよ
うよ、という感じなの。甘やかすと、脳がますます働かなくなる、というジレンマ
はあるのですが。


08128/08113 CRG00666 文太 Re^6: Fキー見直し活用
( 1) 18/09/20 22:59 08125:konnoさんへのコメント コメント数:1

>色々カスタマイズしたくなりました。
 なっちゃうんですよねぇ。ただ今、キーアサの大改革中。慣れ親しんでいた
はずのキーアサなんだけど、忘れてるのばっかなんだもの。えい、見えるところ
におけ、と。#if 98だけでなく、98用マクロも要らないだろう、などなど。
 「終わりなきロールプレイングゲーム」なのだそうです。(c) y.mikome。
 もっとも、今回の僕の作戦は、あくまで臨時の場面のための対策です。です
から、メンドウサが勝つ、というのも十分ありえます。

>>  1マス・5バイトから4バイトへ変更! ひぇぇぇ。
>何でしょう? うちは5バイトにしてます。

 せこい話です。fkylabel.defを作ろうと思ったときに、最初にしなくちゃいけない
のは、vz.defのあそこの整理(当然* Macroの本物のキーアサも)で、形を整えるため、
マクロを簡単にするため、

[Nml]$(0)[F02]$(0)[F03]$(0)[F04]$(0)[F05]$(0)[F06]$(0)$		;入れ替え用
[F07]$(0)[F08]$(0)[F09]$(0)[F10]$(0)[F11]$(0)[F12]$(0)$

ファイル $(0)窓換 $(0)文換 $(0)窓割 $(0)改行 $(0)   $(0)$	;本物の写し
     $(0) タグ $(0)   $(0)   $(0)   $(0)   $(0)$

 と5バイトに統一したのです。でも、「ファイル」の項も「窓換」の項も、1バイト
無駄になってるじゃないですか。ファイラ行を入れてさらに圧迫するなら、せめて
4バイト統一にしよう、というだけのことです。
 もちろん、そんなマクロのことを気にしなければ、そもそも統一なんてしなくて
いいのですが。あるいはマクロ内データを正確に維持できる自信があれば、、、。
 復活させたファイラ行は、まだ、
"","","","","","","","","","","",""
 これでも+12バイト。

>もしかしてPC98とかオアポケ3がらみとか?
 いえ、どっちも持ってませんよ。
 モバが変則的なのは、基本、Fキーは10個だけなのに、中身がDOSVだから、
ラベルだけ12個あり、[F12]は[AP切替]という特殊キーで機能するけど、[F11]は
ラベルだけあり、キー自体が存在しないということでした。
 発見したのか、昔は分かっていたのかさえ、分からない事態でした。



08130/08113 CXB00940 としき Re^5: ちょっと急いで
( 1) 18/09/21 01:03 08124:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

>  としきさんが、ファイラキーラベルの正しい使い方を教えてくれました!

ん?
明示的にお教えした記憶は全くないんですが。
いつのことでしょうか。
私の頭の中の錆とりのためにも、ご教示いただけると幸いです。


08131/08113 CRG00666 文太 Re^6: ちょっと急いで
( 1) 18/09/21 02:04 08130:としきさんへのコメント

 こんな風にするのが、正しい使い方だということです。
 一般的に正しいだけで、これがとしきさんにとって、有用かどうかは、
申し訳ないけれど、分かりません。
 記憶力が確かなうちは、こういう姑息な手段に訴えないほうがいいような
気もしています。

--- from vz.def ---
* F ファンクションキー表示

"","","","","","","","","","","",""	;normal
"","","","","","","","","","","",""	;shift
"","","","","","","","","","","",""	;ctrl	ここまでの4行については
"","","","","","","","","","","",""	;alt	分かりません。個人情報?
						;-----------------------
"","","","LFN","","","","","","","",""	;filer



08133/08113 CRG00666 文太 としきさんのヒント
( 1) 18/09/21 15:20 08125:konnoさんへのコメント コメント数:2

konnoさん

Ygrep "\.[ ]*\.[ ]*\*[ ]*\}[ ]*\.[ ]*\*" c:\tk\vzlog\dc
 こんなこと、してみて。
 としきさんがくれたヒントを解くコツ。今、見つけたんですけどね。

 先回りの解説。

>?{#Y .. * }. *
 これがカンマ(,)なら意味が分かったのですが、ピリオドは分からない。今でも。
 でも、m.gannさんがやっているのだから、ループカウンタ界隈で意味があるのだろうと
勝手に納得。
 で、分からないから、どうグレップするか、どうygrepするか、と思案した。

 .. * }. *
 がキー。じゃ、特殊文字を全部エスケープして( "}" はygrepの特殊文字だったと思う)
スペースはあってもなくてもいいとしてみよう。

..*}.*
\.\.\*\}\.\*				;エスケープしまくり。
\.[ ]*\.[ ]*\*[ ]*\}[ ]*\.[ ]*\*	;スペースは0個か1個(2個もあり得るが)

 で、おお、ファイラ用マクロの登録方法の定番だった。達人たちのあいだで、だけど。
 当時、ファイラにファンクラベルなんて、なかったはずだけど。達人にラベルなんて
要らない。
 凡人の僕は、要る。



08134/08113 BQO00549 konno Re^7: Fキー見直し活用
( 1) 18/09/21 22:08 08128:文太さんへのコメント

>  ただ今、キーアサの大改革中。慣れ親しんでいた
> はずのキーアサなんだけど、忘れてるのばっかなんだもの。

私もマクロキーの変更始めています。
IMEをONにしたままにすることが増えたのですが、F10 や、^F10 は
IMEに取られてしまうので、タグジャンプは、@F10 にしていました。
試してみると、F12 はそのまま使えたので、F12 に割り当てました。

>  と5バイトに統一したのです。でも、「ファイル」の項も「窓換」の項も、1バイト
> 無駄になってるじゃないですか。ファイラ行を入れてさらに圧迫するなら、せめて
> 4バイト統一にしよう、というだけのことです。

ファイラでFキーを使わないなら、ファイラ行の記述自体を省略でいいのでは。
4バイト統一にして、後で5バイト必要になったりは無いですか。(^^;

>  モバが変則的なのは、基本、Fキーは10個だけなのに、中身がDOSVだから、
> ラベルだけ12個あり、[F12]は[AP切替]という特殊キーで機能するけど、[F11]は
> ラベルだけあり、キー自体が存在しないということでした。

オアポケ3も同じだったような。改造版で10個にしたような気が。
ラベル変更だけで、マクロキーが使えたかは確認してないですが。



08137/08113 BQO00549 konno Re: としきさんのヒント
( 1) 18/09/22 01:47 08133:文太さんへのコメント コメント数:1

> Ygrep "\.[ ]*\.[ ]*\*[ ]*\}[ ]*\.[ ]*\*" c:\tk\vzlog\dc
>  こんなこと、してみて。
>  としきさんがくれたヒントを解くコツ。今、見つけたんですけどね。

まったく意味が分からないままやってみました。

VTDOS|>Ygrep -r -t  "\.[ ]*\.[ ]*\*[ ]*\}[ ]*\.[ ]*\*"
dc13_995.log 23343:》8 [F02] "" >?{ #W .. * }. *		;ex_retcd
dc13_995.log 23738:》》8 [F02] "" >?{ #W .. * }. *		;ex_retcd
dc15_968.log 81969:8 [F06] "" >?{ #46 .. * }. *            ;mark block / to mark file
dc15_968.log 82529:  標準キーアサインなら最初は [F06]"" ?>{#F..*}.* でしょうか??
dc15_968.log 83876:| 8 [F06] "" >?{ #46 .. * }. *            ;mark block / to mark file
dc15_968.log 84233:》 標準キーアサインなら最初は [F06]"" ?>{#F..*}.* でしょうか??
dc15_988.log 58323:8 [F06] "" >?{ #46 .. * }. *            ;mark block / to mark file
dc15_997.log 21769:8 [F02] "" >?{ #W .. * }. *             ;ex_retcd

こんなん出ました。
ログを読んでやっと言いたいことがわかりました。


>  先回りの解説。
> >?{#Y .. * }. *
>  これがカンマ(,)なら意味が分かったのですが、ピリオドは分からない。今でも。

私は、>?{  }  が今でもよくわかっていなかったりして。
これは、>?{s1の時 s2の時 s3の時} ということでいいんですかね。

おお、ピッタリな記事を見つけました。

> 15132/15136 ********  和生             RE:RE^4:Q:VZファイラーのカスタマイズ
> (15)   99/12/21 20:13  15120へのコメント

80 [F07] "" >?{         ;(s)>?
               #56      ;s==0 編集モードなら置換
               .        ;s==1
               .        ;s==2
               >f       ;s==3 ファイラーなら :f へ
               }.

これで、 .. の謎もばっちりですね。和生さんに感謝です。


> ..*}.*
> \.\.\*\}\.\*				;エスケープしまくり。
> \.[ ]*\.[ ]*\*[ ]*\}[ ]*\.[ ]*\*	;スペースは0個か1個(2個もあり得るが)

なるほど。私は正規表現がn苦手なので、CODEX.DEFの複数ワード検索です。

>  で、おお、ファイラ用マクロの登録方法の定番だった。達人たちのあいだで、だけど。
>  当時、ファイラにファンクラベルなんて、なかったはずだけど。達人にラベルなんて
> 要らない。
>  凡人の僕は、要る。

私もラベルが無いと無理なので、お仲間ですね。(^^;



08138/08113 CRG00666 文太 Re^2: としきさんのヒント
( 1) 18/09/22 02:18 08137:konnoさんへのコメント コメント数:1

 通じてよかった。うん、あの正規表現+αは解説しないとまず意味不明だろうと思ったので。
誰にとっても。
 けっこう前の、めざらさんのところで「%%」エスケープのときから、メタ文字のエスケープ
って、いつでもメンドウなんだよな、と思っていて、ygrepはとりわけそうで、それで、
あれがうまく通ったとき、けっこう嬉しくて。

>> 15132/15136 ********  和生             RE:RE^4:Q:VZファイラーのカスタマイズ
>> (15)   99/12/21 20:13  15120へのコメント
>80 [F07] "" >?{         ;(s)>?
 僕は、この記事はまだ見てないのですが、僕にとっての注目ポイントはここです。
 [F07]。
 ファイラマクロに、ちゃんとFキー使ってる!

 ファンクションキーをファイラで使う。これがこの件の、最初からのトピックでした。
 これが当たり前だったから、和生は高橋さんにファイラでのFキーラベルをお願いし、
高橋さんも、あっさり了解した、ということだったんですね(そのときのやり取りは、もっと
高度みたいでしたが)。

 もちろん、その前に、ファイラと関係なく、Fキーラベルの書き換えという、もっと
切実な課題が僕にはあったのですが。ファイラマクロとは関係がないけど。そんなの書き換え
ないもの。


08139/08113 CRG00666 文太 5fk_Open.def
( 1) 18/09/22 12:28 08138:文太さんへのコメント コメント数:2

これでした

 もう、「ひつこい」ようなものですが。
 Fキーラベル書き換えがさくっとできたい場面とは、こんなのを使うときです。
 \vzdefディレクトリも、お掃除中。
 中身は前回作業のものがそのまま残っていたので、今、使えるものに書き換え
ました。

 ふっと、最後の5行を書き加えたたら、なんだ、やりたかったのは、こういうこと
だったじゃないか、と。
 ほんとにちゃんちゃん。整理はするものですねぇ。HDも頭の中も。汎用性・可搬性
とか、考えていたのが間違い。

=== 5fk_Open by B ===;
 5つのファンクションキー(F05, F098〜F12)でファイルオープン。
 F05は、このファイル自身(c:\def\5FK_OPN.DEF)
 5つまでのファイル、複数をファイルを行ったり来たり時の定型業務用。
 作業終了後、vz再起動のこと。ファンクラベル復活のため。
 Fキーラベルがそのままでよいなら、^KOあるいは、このマクロをマクロバッファ
から消すだけでよい。

* M
50 [F05] "f05"
		a="c:\def\5fk_opn.def ->1D5",		;here
>51
50 [F09] "f09"
		a="c:\def\exmenu.def ->BQF",		;menu
>51
50 [F10] "f10"
		a="c:\def\vzfl.def ->10DC",		;* Macro
>51
50 [F11] "f11"
		a="c:\def\vz.def ->11CD",		;* Macro
>51
50 [F12] "f12"
		a="c:\def\vz.def ->BCB",		;* Func label
>51
51 ""
	&s mx[+, #O &?("%s",a) #m mx], &d

	f=pq..100,			;func key label ptr
	&00
	&Sm(f,r,61) pn.4-, .

00:	(3+$)."$
	ファイル$(0)窓換$(0)文換$(0)窓割$(0)5 fk$(0)FOPN$(0)$
	  $(0)tagJ$(0)exmn$(0)vzfl$(0)VzMc$(0)VzFn$(0)$
	$(d)$

*


08142/08113 BQO00549 konno Re: 5fk_Open.def
( 1) 18/09/22 22:16 08139:文太さんへのコメント

>  ふっと、最後の5行を書き加えたたら、なんだ、やりたかったのは、こういうこと
> だったじゃないか、と。
>  ほんとにちゃんちゃん。整理はするものですねぇ。HDも頭の中も。汎用性・可搬性
> とか、考えていたのが間違い。

私もこの話題の中で錆びた頭が回り出し、いくつもマクロの更新出来ました。
いい刺激がもらえて、お互いに有意義だったのではと思います。
刺激が無いとただのボケ爺になっているんじゃないかとかは秘密です。

> === 5fk_Open by B ===;
>  5つのファンクションキー(F05, F098〜F12)でファイルオープン。
>  F05は、このファイル自身(c:\def\5FK_OPN.DEF)

これ、ざっと眺めて、あれ? 最初のマクロ起動時はFキーラベル表示が
無いんじゃ? と思いましたが、最初のF5は標準であるんですね。
なるほど、こういうのも有りか。


08154/08113 CRG00666 文太 Fラベル書き換えの意味
( 1) 18/09/24 23:57 08139:文太さんへのコメント

 やや長文です。不親切にマクロコードばっかし(一生懸命コメント入れたのですが)
のアーティクルです。

 以下、今回のまとめです。
 実戦投入まったくされていないので、あれれ、なミスが入っている可能性は
かなり高いです。
 ただ、「意味」を汲み取れば、使える場面が、ある、か、ないか、だと思います。
今回、野望を達成できたのは、情報提供いただいた方、ちゃちゃを入れてくれた方、
付き合ってくれた方、はい、約3名の方々のお陰です。ありがとうございました。
 以下のマクロ「ファイル」名は、%vzdef%で、とりあえず頭に集まってほしい
ときの僕のやり方です。(汗)

 散発的には戻ります。
 あの野望が、まだ、残っている。

 悲しいミスが、なければ、いいんだけど。あるだろうなぁ。

=== 001func by B ===;
 サンプル1
 あくまで即席マクロです。
 ここでは、5つのファンクションキー(F05, F09-F12)でファイルオープン。
 F05は、このファイル自身(c:\def\5FK_OPN.DEF)
 このシリーズは、マクロファイルをオープンして、再カスタマイズして使用
することを、されることを、想定しています。

* M

50 [F05] "f05"
	a="c:\def\5fk_opn.def ->296",	;here, myself!
	>51
50 [F09] "f09"
	a="c:\def\exmenu.def ->BQF",	;menu (exmenu)
	>51
50 [F10] "f10"
	a="c:\def\vzfl.def ->10DC",	;* Macro (vzfl.def)
	>51
50 [F11] "f11"
	a="c:\def\vz.def ->11CD",	;* Macro (vz.def)
	>51
50 [F12] "f12"
	a="c:\def\vz.def ->BCB",	;* Func label (vz.def)
	>51

51:
	&s mx[+, #O &?("%s",a) #m mx], &d

	f=pq..100,			;func key label ptr
	&00
	&Sm(f,r,122) pn.4-, us+, .

00:	(3+$)."$
	ファイル$(0)窓換$(0)文換$(0)窓割$(0)HERE$(0)DDWn$(0)$
	FOPN$(0)tagJ$(0)exmn$(0)vzfl$(0)VzMc$(0)VzFn$(0)$
	$(d)$

*


=== 002func by B ===;
サンプル2

* M
51 ^\ ""	;func label 書き換え(起動キーを与える場合)
	f=pq..100,			;func key label ptr
	&00
	&Sm(f,r,122) pn.4-, us+, .

00:	(3+$)."$
	ファイル$(0)窓換$(0)文換$(0)mddl$(0)Top $(0)Bttm$(0)$
	R_up$(0)Rdwn$(0)fstU$(0)fstD$(0)PGup$(0)PGdn$(0)$
	$(d)$


52 [F12] "PGdwn"	mp[=0, #36 mp],		;^C [RLUP] pagedown
52 [F11] "PGup"		mp[=0, #35 mp],		;^R [RLDN] pageup

52 [F10] "FAST↓"	(3){#x}			; 高速↓
52 [F09] "FAST↑"	(3){#e}			; 高速↑

52 [F08] "RollDwn"	#32			;\[RLUP] rolldown
52 [F07] "RollUp"	#31			;\[RLDN] rollup

52 [F06] "Btm"		#40			;^QX End of Win ^QX
52 [F05] "Top"		#39			;^QE Top of Win ^QE
52 [F04] "middle"	a=(lc-2)/2, &y(a) ky=a, &d

*


=== 003func by B ===;
サンプル3
毎回ファンクラベルを書き換えるの(単に同じ「文字列」の上書き)って
無駄じゃないですか?
us flagとかを立てて、既に書きかえられているかをチェックするほうが、
無駄だと僕は考えてるんです。改変大歓迎ですので、どうぞ。そして、
ここか、どっかで、発表してくださいね。
 便利な子マクロもつけてくれると嬉しいです。

* M
50 [F12] "uimm"	;immeditate serch up (^r)
	?. &51
	#F &Cr #r

50 [F11] "dimm"	;immeditate serch down (^c)
	?. &51
	#F &Cr #c

51:
	f=pq..100,			;func key label ptr
	&00
	&Sm(f,r,122) pn.4-, .

00:	(3+$)."$
	ファイル$(0)窓換$(0)文換$(0)窓割$(0)窓動$(0)DDWn$(0)$
	FOPN$(0)tagJ$(0)Gtag$(0)dDOS$(0)Dsch$(0)Usch$(0)$
	$(d)$

*


=== 0fncfile by B ===;make func label file with many weird chars ($d and $00)
funcfile.txtという名のFキーラベル・ファイルを作る。
エッセンスだけなので、必要な方は読んで、適切な起動方法・使用方法を考えてください。
エラーチェックとか一切なしです。
vz.defのFキーラベルの4行(A)をfuncfile形式に変換します。

* M
50 ^^ "funcfile"

	?.
;	x="c:\tmp\funcfile.txt",	;たとえばこのファイルに
					;あらかじめ(A)を貼っておく
	;--- del quotation marks	;以下は、それをリフォーマットする
	#56 "$"" #m "" #m "AY"

	;--- change linetail \n to $d
	(4){#> #g &o($d)}

	#<
	;--- change comma to null
:a	l=lx,			;weird, but this is THE only way (?)
	#d			;ditto  [#d (r==-1)?] does not work.
	(l==lx)? >z		;ditto
	(cd==',')? {#g &o(0)}
	>a

;	;--- add $ff at tail
;:b	&o($ff)

:z	&m("finished") .

*


=== 009func by B ===;
ファンクラベル・ファイルを開き、ラインバッファに送ってから、
その「文字列」(1行)をファンクラベル領域(pq..100)に送り、
ファンクラベルをオリジナルに戻す。
ファイル名は決め打ち。c:\tmp\funcfile.txt。変更したければどうぞ。
ただし、上 (0fncfile.def)と連動すること。 
* M
50 ^^ "funcback"

	x="c:\tmp\funcfile.txt",
	mx[+,
	#R &?("%s",x) #m		;open funcfile
	#28				;send line to lbuf
	&Sm(pq..100,wa..18,244)
 	pn.4-,                          ;func key label ptr
	#C				;close funcfile
	mx], .

*
5*12*4=240	;(4 bytes(/box) + null) * 12 boxes * 4 lines
1*4=4		; $d (delimiter of 4 label lines)
244


08172/08113 CRG00666 文太 修正と雑情報
( 1) 18/10/01 01:29 08133:文太さんへのコメント コメント数:1

>\.[ ]*\.[ ]*\*[ ]*\}[ ]*\.[ ]*\*	;スペースは0個か1個(2個もあり得るが)

 瑣末といえば瑣末ですが、ここのところsedを使っていた文太くんとしては、
恥ずかしい間違いです。

--- izgrep.doc より ---
        基本表現*       基本表現の0回以上の繰り返しを意味する
        基本表現+       基本表現の1回以上の繰り返しを意味する
        基本表現?       基本表現の0回以上1回以下の繰り返しを意味する
-----------------------
 これは、ERE (extended)です。どこまで現実に即しているかは別として、
BRE (basic)には、「+」も「?」もありません。sedでは、「*」を多用する
のです。
 が、serow版sedには、「+」があります。
 VWXには、3つともあります。
 ms-dosの世界では、BもEもないの。
 GNU sedでは、「\+」「\?」が使えます。やれやれ。喜ばしいのだけど。

 余計なことを2点。

 もし32bitのWindowsを使っていて、メモリが余っていたら、ラムディスクに
しましょう。Gavotte_RAMDiskがキーワードです。やっぱ速い!
 うちのWin7は32bitなのに、8ギガのメモリを積んでいた。たぶん、64は嫌だ、
32にダウングレードしてくれ、メモリはそのままでいい、みたいなことをお店で
言ったのでしょう。忘れてました。
 (さらに余談ですが、Win7のサポート終了は、2020年1月だそうです。2021年
ぐらいには、、、。)

 VTDOS環境なら、grepは、32bit アプリを使いましょう。Yagrepはタグジャンプが
できないので、GNU grepで。たぶん、ネイティブでマルチバイト対応しているみたい。
そんな記事をどっかで読みました。c:\progra~1\gnuwin32\bin\grep.exe
(素直にインストーラーを使うのが吉。xxx.dllとかね。)

2009/02/13  17:19            96,256 grep.exe  (version 2.5.4)
 こんなの。>grep -Hn で、タグジャンプできます。

 100メガ程度の英辞郎ファイルをグレップしたら、
izgrep 3分、GNU grep 15秒 だった。15秒なら、なんとか耐えられる。
出してくれる情報が、そこでしか得られないものだから。


08175/08113 CRG00666 文太 Re: さらに修正
( 1) 18/10/02 22:14 08172:文太さんへのコメント コメント数:1

>Yagrepはタグジャンプができないので、
 嘘です。
 yagrep -Hn で、タグジャンプできます。

yagrep (based on GNU grep 2.5.4)
  patch level 10
  Oniguruma version 2.5.4

 だって、元々GNU grepじゃないの。
 すいません、また間違えました。何をやっているんだ?!


 えーとOnigurumaは、Perl5の強力な正規表現が使えます。

  -R, -r, --recursive       equivalent to --directories=recurse
      --include=FILE_PATTERN  search only files that match FILE_PATTERN
      --exclude=FILE_PATTERN  skip files and directories matching FILE_PATTERN
      --exclude-from=FILE   skip files matching any file pattern from FILE
      --exclude-dir=PATTERN directories that match PATTERN will be skipped.

 あ、これじゃん、僕が長年もとめていたのは、、、。
 使い慣れたつもりの道具でも、たまにはちゃんとヘルプを見ましょう。あは (/_;)
 --exclude !!!

 面倒なインストーラも、変な*.dllも要らない、こっちがオススメ。
 純正GNU grepのマルチバイトについては何も知りませんが(きっと問題ないでしょう、
開発に協力した日本人プログラマがいたので)、でも、Onigurumaは日本人による開発
です。こっちが日本語に対しては安心だと思う。
 --ctype=SJISって指定もできるし。このあたりは良く分かってはいませんけれど。



08176/08113 BQO00549 konno Yagrep の質問ですが
( 1) 18/10/03 01:26 08175:文太さんへのコメント コメント数:2

> >Yagrepはタグジャンプができないので、
>  嘘です。
>  yagrep -Hn で、タグジャンプできます。

私はまだ Yagrep 使いこなせていないんですよ。
それでググってみたら、某掲示板で文太さんの書き込みが出ました。(^^;
手持ちの Yagrep.exe は、2006年のものでした。
2009年版があったんですね。
先ほど落としました。(^^;

それで、ディレクトリの再帰検索、-r の出力結果って

VTDOS|\FGAL\DC>YAGREP -H -n -i -r "bf88" *.*
15/DC15_971.LOG:39811:        bf[$d00, &z(ptr) bf], >*        ;by Sk-, Bf88, ..
15/DC15_971.LOG:39814:・メインメモリ逼迫時も、マクロファイルサイズ約 32KBまで対応(Bf88時)
15/DC15_97C.LOG:39521: 一つ質問なんですが、 m.gann さんの方法は、起動時に Bf88 とやってメモリを
15/DC15_97C.LOG:39724:   へぇ〜。m.gann さんは Bf88 なのか。
15/DC15_97C.LOG:39937: ああ、了解了解。ですから、m.gann さんの方式は、Bf88 で起動しておいて、最
15/DC15_97C.LOG:39942:  極端に貧弱な環境ですが、 Bf88 であれやったら、テキストを TC フルにオープ

こんなふうに出て、タグジャンプ出来ないんですけど、何かオプション有りましたっけ?



08177/08113 CXB00940 としき Re: Yagrep の質問ですが
( 1) 18/10/03 11:14 08176:konnoさんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

> こんなふうに出て、タグジャンプ出来ないんですけど、何かオプション有りましたっけ?

ん?
私はタグジャンプできましたよ。
もしエラーなら、画面左下のほうに、何か黄色いメッセージが出ていませんか?

wgrepとか、他にも再帰検索のできるgrepはあったかと思います。
他のgrepを使った結果ならタグジャンプできる訳ですよね。
なら、その結果をこの形式に書き直したらタグジャンプできますか?
あるいは、他のgrepの出力結果そのままでタグジャンプできるか否か。

といった形で切り分けていけるかな、と。

08178/08113 CRG00666 文太 Re: Yagrep の質問ですが
( 1) 18/10/03 12:14 08176:konnoさんへのコメント コメント数:2

 はい、僕も悩んでます。というか昨晩、気がついて、今少しだけ試したのですが、分かんない。

c:\tk\vzlog\dc\15>Yagrep --ctype=SJIS -Hni "bf" *.log >k.txt

DC15_968.LOG:6221:   そうなんですか。 非力なLXにぴったりの grep かも知れませんね。FENG の
 そもそも、なんでこんな行に当たるのか? SJISダンプしても、「bf」ないんだけど、、、?

NG 15/DC15_971.LOG :39811:        bf[$d00, &z(ptr) bf], >*        ;by Sk-, Bf88, ..
NG 15/DC15_971.LOG -39811:        bf[$d00, &z(ptr) bf], >*        ;by Sk-, Bf88, ..
NG 15\DC15_971.LOG -39811:        bf[$d00, &z(ptr) bf], >*        ;by Sk-, Bf88, ..
NG \15\DC15_971.LOG -39811:        bf[$d00, &z(ptr) bf], >*        ;by Sk-, Bf88, ..
OK? c:/tk/vzlog/dc/15/DC15_971.LOG:39811:        bf[$d00, &z(ptr) bf], >*        ;by Sk-, Bf88, ..
	;条件によってはダメかも
OK c:\tk\vzlog\dc\15\DC15_971.LOG:39811:        bf[$d00, &z(ptr) bf], >*        ;by Sk-, Bf88, ..

 試行錯誤はこんなところまでです。
 「/」と「\」が混在するとだめ、「/」だけならOKというところまでです。「***LOG:39811」の
ところには問題ないようです。
 konnoさんのサンプル、僕も飛べませんでした。ログの切り方が違うので、飛べてもその箇所に
到着はできなかったでしょうが、でも、それ以前で、飛べませんでした。
 この辺のVzの仕様って、ソース見るしかないのでしたっけ?

 ちょっとかかりそうです。それより、--exclusiveの使い方が分からないよぉ、というのが昨晩の
悩みでした。
 分かったら、教えてください。


08179/08113 CRG00666 文太 Re^2: Yagrep の質問ですが
( 1) 18/10/03 12:16 08177:としきさんへのコメント

>「再帰検索のできるgrep」
 この問題ではないと思う。そっちはそっちで、指定法その他、なんだ? という感じなのですが。


08180/08113 CRG00666 文太 Re^2: Yagrep の質問ですが
( 1) 18/10/03 14:40 08178:文太さんへのコメント コメント数:1

タグジャンプの仕様

 の問題だろうと思う。
 それにはカレントディレクトリとの関係も含まれる。

15\DC15_971.LOG -39811:        bf[$d00, &z(ptr) bf], >*
>c:\tk\vzlog\dc\
 がカレントで、上なら飛びます。

15/DC15_971.LOG -39811:        bf[$d00, &z(ptr) bf], >*
 これでは飛びません。
 おそらく、「\」と「/」が混在してしまうから。

 結果をいつもsedにかける?
s|/|\\|
 (試してないので通るか分かりません)

 困りますねぇ。Yagrepがディレクトリのデリミタとして「\」か「/」を
選ばせてくれればいいのでしょうが、たぶん、無理です。UNIX由来のGNUツール
って、みんなそうなのかなぁ?
 Vzのタグジャンプ・ルーチンを弄れませんか?

 ここのところ弄っている辞書引きマクロ(eiji.def)では、こんな風になってました。

	  a..2="R:\DIC\EIJI\*.EJR",		;file <x>
	  a..3="R:\DIC\EIJI\WAEI\WAEI*",	;file
#if DOSS MG
	  a..10="Izgrep -t",					;cmd1 <y> for waei
	  a..11="Izgrep -twi",					;cmd2     for English
#else
	  a..10="c:\progra~1\gnuwin32\bin\grep.exe -Hn",	;cmd1 <y> for waei
	  a..11="c:\progra~1\gnuwin32\bin\grep.exe -iwHn",	;cmd2     for English
#endif
 このGNUグレップも、きっと、「/」を出すのでしょうが、コマンドラインでここまで与える
と、タグ表記にこのコマンド文字列を使うので、タグジャンプに困らなかったのです。

 こうなると、本当に、「再帰」の問題ですね。


08181/08113 CRG00666 文太 Re^3: Yagrep の質問ですが
( 1) 18/10/03 17:25 08180:文太さんへのコメント コメント数:1

 切れ切れです。時間なくて。


 ・「/」でタグジャンプできるときはあるのか?

c:/tk/vzlog/dc/15/DC15_968.LOG -6221:   grep かも知れませんね。FENG の
 上はダメです。
 少なくとも安定してはできません。


 ・なぜ「echo"。F" | Yagrep -i "bf" 」(echoコマンドの仕様もよく分からないが、
意味くんで。)がヒットしてしまうのか。
 。(8142)F(46) と BF (4246)だから。でも、これバグですね。c[y|iz]grepでは
誤判定しませんから。

 困りましたねぇ。僕、Bruce.さん(木村浩一さん)に、報告する気持ちがありません。
 どなたか。
 僕は諦めちゃいます。


 タグジャンプに関していえば、GNU grepでも、同じだと思う。

c:\progra~1\gnuwin32\bin\grep.exe -iHn "bf" c:/tk/vzlog/dc/15/*.log >k1.txt
c:/tk/vzlog/dc/15/DC15_968.LOG:7389:FDC2:62F3 BFBE04         MOV    DI,find1st_buff
 飛べない

c:\progra~1\gnuwin32\bin\grep.exe -iHn "bf" c:\tk\vzlog\dc\15\*.log >k2.txt
c:\tk\vzlog\dc\15\DC15_968.LOG:7389:FDC2:62F3 BFBE04         MOV    DI,find1st_buff
 飛べる

 漢字判定のバグはこちらにはないようですね。

>echo"。F" | bc:\progra~1\gnuwin32\bin\grep.exe -iHn "bf"
no hit!

 GNU grepで、sed -e"s|/|\\|g" (or #56 "/" #m "\\" #m @Vz macro)が現実解ということに
なっています。
 再起の話になってませんが、躓きストーンは同じところに存在するのでしょう。
 あ、--excludeだった、課題は。

>それでググってみたら、某掲示板で文太さんの書き込みが出ました。(^^;
 それぐらい、使っている人がいないということです。バグ出しも進みません。
 僕が諦めちゃう理由です。





08182/08113 CRG00666 文太 Re^4: Yagrep の質問ですが
( 1) 18/10/03 20:37 08181:文太さんへのコメント コメント数:2

 混乱!

c:/tk/vzlog/dc/15/DC15_971.LOG:39811
c:/tk/vzlog\dc/15/DC15_971.LOG:39811

 #60 の仕様としては、上のどっちも行けます。下が純vz.defマクロ。

18 \[F10] "タグジャンプ"
	?.
:A	#60 (r)?{ #x (r)?. >A }
	#x #O #e #m
	(s)?{ #[ #[ >A }

c:\vzsrc\cmos\open.asm -1201
;--- Is slash ? ---
	public	isslash
isslash	proc
	cmp	al,'\'
	je	islsh9
	cmp	al,'/'
islsh9:	ret
isslash	endp
 ん? 許してるみたい、、、。
 こんな感じなんだもん。

 僕が混乱したのは、とらじさんマクロを使っていたから。でも、ふつうなら#60を
使うみたいに見えたのだけど、ファイラに行ってしまう???
 うーん、昨晩(だっけ)は、ほんとにタグ行として認識せず、下の行にカーソル移動
してた場面があったんだよなぁ。

 さて、どうしたものか、、、。
 「再帰問題は?」というか、excludeは、個人的に大きな問題なんですけど。

 konnoさん、深いみたいなので、正しい解答をお教えください。


08183/08113 CRG00666 文太 個人的結論
( 1) 18/10/03 21:01 08182:文太さんへのコメント コメント数:2

>grep -Hnirw --exclude-dir=ct bf c:\tk\vzlog\dc
kek:
c:\tk\vzlog\dc/13/DC13_968.LOG:9080:   メインメモリーにあった場合は、その後ろに Bf
etc

 標準vz.defのタグジャンプ・マクロなら、上で問題なく飛べます。
 リカーシブ(再帰)で、どっかのディレクトリを除外したいときは、上のように指定します。
 とらじさんのタグジャンプはざっと見たところ確かにすごいけど、大半僕は使ってないなぁ
ということで、標準に戻してみます。
 グレップは、僕はYagrepでなく、GNU grep(パスを通しました)で行きます。
 日本語の処理に問題がなければいいのだけど。がんばってGNUに貢献してきた、という
日本人の記事を見かけましたから、きっと大丈夫。grep & sedで。sedもいけるのかな?
 yコマンドでテストする!


08184/08113 CRG00666 文太 GNU sed も日本語対応に!
( 1) 18/10/03 21:18 08183:文太さんへのコメント コメント数:1

--- 1.sed ---
y/abcde/あいうえお/
y/かきくけこ/hijkl/

--- 1.txt ---
なななななabcdefghijklmnすすすすす
xyzxyzmnopqあいうえおかきくけこxxxyyylll

--- kek.txt ---
なななななあいうえおfghijklmnすすすすす
xyzxyzmnopqあいうえおhijklxxxyyylll

>sed --version
GNU sed 4.2.1版 <-- mite, mite

Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
to the extent permitted by law.

GNU sed home page: <http://www.gnu.org/software/sed/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.
E-mail bug reports to: <bug-gnu-utils@gnu.org>.
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.

>sed -fc:\1.sed c:\1.txt >c:\kek.txt
 see above!

 おめでとう! インターナショナライゼイションの成果です!

 きっかけをくれたkonnoさんに感謝!
 イエーイ!

>sed --help
使用法: SED.EXE [オプション]... {スクリプト(他になければ)} [入力ファイル]...

  -n, --quiet, --silent
                 suppress automatic printing of pattern space
  -e スクリプト, --expression=スクリプト
                 実行するコマンドとしてスクリプトを追加
  -f スクリプト・ファイル, --file=スクリプト・ファイル
                 実行するコマンドとしてスクリプト・ファイルの内容を追加
  -i[接尾辞], --in-place[=接尾辞]
                 ファイルをその場で編集 (拡張子があれば、バックアップを作成)
  -b, --binary
                 open files in binary mode (CR+LFs are not processed specially)
  -c, --copy
                 use copy instead of rename when shuffling files in -i mode
		 (avoids change of input file ownership)
  -l N, --line-length=N
                 「l」コマンド用の行折返し長を指定
  --posix
                 GNU拡張を全部禁止。
  -r, --regexp-extended
                 スクリプトで拡張正規表現を使用。
  -s, --separate
                 ファイルを一連の入力にせず、別々に処理。
  -u, --unbuffered
                 入力ファイルから極小のデータを取り込み、
                 ちょくちょく出力バッファーに掃出し
      --help     この説明を表示して終了
      --version  バージョン情報を表示して終了

-e、--expression、-f、--fileオプションのどれもないと、オプション以外の
最初の引数をsedスクリプトとして解釈します。残りの引数は全部、入力ファ
イル名となります。入力ファイルの指定がないと、標準入力を読み込みます。

GNU sed home page: <http://www.gnu.org/software/sed/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.
E-mail bug reports to: <bug-gnu-utils@gnu.org>.
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.

 あ、Perl-likeはないのだっけ?
 我足るを知る。


08185/08113 CRG00666 文太 そう甘くないよ
( 1) 18/10/03 21:41 08184:文太さんへのコメント コメント数:2

grep [、-◯ぁ-んァ-ヶ亜-腕弌-龠] 1.txt >k.txt
... Invalid range end
 ったく。SJISの壁なのかな? 分かんない。だから、いつまでも
純DOSとかWinMEと、手が切れないのだよぉ。
 あ、嘘嘘、元々手放す気はまったくありません。
 Win7とかWin10とか、訳分かんないもの。
 訳の分かるOS、訳の分かるエディタ。手放せません。
 しかし、上の謎を解いてくれる人はいませんでしょうか。「全角文字
に当てよ」と命令してるつもりなのですが。


08186/08113 BQO00549 konno Re^2: 問題はTRA_TAG.DEF でした
( 1) 18/10/03 21:51 08177:としきさんへのコメント コメント数:1

> 私はタグジャンプできましたよ。
> もしエラーなら、画面左下のほうに、何か黄色いメッセージが出ていませんか?

あれぇ? もしかして標準のタグジャンプは飛べるのかなぁ?
と、試してみたら、キチンと飛べました。
げげげ、、、

TRA_TAG.DEF が駄目だったんですね。
お騒がせしました。m(__)m



08187/08113 CRG00666 文太 比較対照実験
( 1) 18/10/03 22:02 08185:文太さんへのコメント

>Yagrep --ctype=SJIS [、-◯ぁ-んァ-ヶ亜-腕弌-龠] 1.txt >k.txt

--- 1.txt ---
abc
あいうえお

12345
12345

--- k.txt ---
abc
あいうえお

12345

 がーん、「abc」は入っちゃまずいですよね。

>Izgrep [、-◯ぁ-んァ-ヶ亜-腕弌-龠] 1.txt >k.txt

--- k.txt ---
File 1.txt:
あいうえお


 えっ?

検算
12345
8250, +1, +1, +1

、-◯ぁ-んァ-ヶ亜-腕弌-龠
8141-81fc, 829f-82f1, 8340-8396, 889f-9872, 989f-ea9e

 あ、正規表現が間違っていた! やっぱりdosソフトでしょう。
 Yagrepも間違えた、ということですよね。

 手放せません。くっ。何が便利になってんだか。憎たらしい台詞。
 こっちのスキルが低いから、バグレポートとかも送れませんしね。
 LINUXすればいいじゃん、とか言われるに決まってる。SJIS、何それ? とか。
 VzはSJISしか相手にできないんですよ。そうでもないとkonnoさんは
言うのか?


08188/08113 CRG00666 文太 Re^3: 問題はTRA_TAG.DEF でした
( 1) 18/10/03 22:04 08186:konnoさんへのコメント コメント数:1

>TRA_TAG.DEF が駄目だったんですね。
>お騒がせしました。m(__)m
 同じ結論です。でも、不安要素をいっぱい見つけてしまいました。
 枯れた16bitアプリが安心なようです。


08189/08113 BQO00549 konno Re^5: Yagrep とTRA_TAG
( 1) 18/10/03 22:13 08182:文太さんへのコメント コメント数:1

>  #60 の仕様としては、上のどっちも行けます。下が純vz.defマクロ。

文太さん、お騒がせしました。私も確認しました。m(__)m
問題が出たらまず基本に返る、というのが大事ですね。(^^;

> c:\vzsrc\cmos\open.asm -1201
> ;--- Is slash ? ---
>  ん? 許してるみたい、、、。
>  こんな感じなんだもん。

VZのソースまで確認していただいて。m(__)m
私は今見ても全然わかりませ〜ん。(;_;)

>  僕が混乱したのは、とらじさんマクロを使っていたから。でも、ふつうなら#60> 使うみたいに見えたのだけど、ファイラに行ってしまう???
>  うーん、昨晩(だっけ)は、ほんとにタグ行として認識せず、下の行にカーソル移動
> してた場面があったんだよなぁ。

文太さんも使ってたんですね。まさか標準で出来るものが出来ないとは
思ってもいませんでした。

>  「再帰問題は?」というか、excludeは、個人的に大きな問題なんですけど。
>  konnoさん、深いみたいなので、正しい解答をお教えください。

私は下のようにしてしまいました。
標準で駄目な時にTRA_TAG に飛ぶ形です。

18 ^[F10] "タグジャンプ"
	?.
:A
;	#60 (r)?{ #x (r)?. >A }
	#60 (r)?{ #x (r)>T >A }
	#x #O #e #m
	(s)?{ #[ #[ >A }
	.
:T	&z("tra_tag") >* .


これで、LFN は飛んでくれました。(^^;
でも駄目なものもあるので、これをベースに研究しますね。



08190/08113 BQO00549 konno Re^4:Yagrepにも 問題あり?
( 1) 18/10/03 23:18 08188:文太さんへのコメント コメント数:1

> >TRA_TAG.DEF が駄目だったんですね。
> >お騒がせしました。m(__)m
>  同じ結論です。でも、不安要素をいっぱい見つけてしまいました。
>  枯れた16bitアプリが安心なようです。

Yagrepにも 問題ありということですか。
今のところ、Wgrep は速度面以外では特に不満も無いので、当面このまま
行くしかないですかね。


08191/08113 CRG00666 文太 Re^5:Yagrepにも 問題あり?
( 1) 18/10/03 23:48 08190:konnoさんへのコメント コメント数:1

>今のところ、Wgrep は速度面以外では特に不満も無いので、当面このまま
>行くしかないですかね。
 グレップ対象がそんなに大きくなければ、それほど差はないし、特殊な正規表現でないなら、
Yagrep or GNU grep より、dos grep ([w|c|iz|y]grep)でしょう。
 僕は100メガとか150メガが相手なもので。シリアスでシビアです。ラムディスクに味を
しめてしまって。32bit winだと、4ギガのうち0.7ギガぐらいが使われていない!
 ログは確か20メガぐらい? ちょっとの辛抱ですよ。ラムディスク、いかがでしょう?
みんなSSDにしてしまいたい。まだ高いよ。大容量化だけして、もう安くなんないのかな。


08192/08113 CRG00666 文太 Re^6: Yagrep とTRA_TAG
( 1) 18/10/03 23:49 08189:konnoさんへのコメント コメント数:1

 お騒がせではないですよ。
 まあ、3時間くらい、やっちゃいまして、されるべきお仕事の数々が、明日へ持ちこされて
しまいましたけれど。まずいなぁ。プールにも行きそびれたぁ、、、。

 僕の課題でもありました。m(__)m 発見多数。YagrepかGNU オリジナルか。難しいところですね。

	#60 (r)?{ #x (r)>T >A }
		;      ^^^ いいのでしょうか? 見た瞬間発見。

 はい、#60のLFN版とは、さすがとらじさんですね。でも、僕には、まず必要ないな、と。
 ちゃんと読むの大変そうなマクロ。でも、キレイ。眺めただけで(コメントだけで)、だいたい
流れが掴めたもの。僕、1分しか見てません。(^^; ここでは、ふつうに#60してるぞ、とか。


08193/08113 CRG00666 文太 Re^2: Yagrep の質問ですが
( 1) 18/10/04 00:06 08178:文太さんへのコメント コメント数:1

> ちょっとかかりそうです。それより、--exclusiveの使い方が分からないよぉ、というのが昨晩の
>悩みでした。
 く、く、く。--exclude-dirだったんですね、間違いは。recursiveと混ざった?
 exclude dirかexclusive dirか。後者のほうが英語っぽいと思うぞ >ネイティブな人たち。

 もうヤケになってるな。おやすみなさい。長い1日でした。あらゆる事柄がぜんぜん進んで
ないんですけど。


08194/08113 CRG00666 文太 excludeと「スキップ」(grep & rcp)
( 1) 18/10/04 12:48 08183:文太さんへのコメント コメント数:1

RCP32.exe 知ってる?

 お昼を食べながら、ソフトのdocを読むのが趣味の文太です。く、暗い趣味。
 grep -r --exclude-dir= の流れで書いてしまいます。
 なんで除外したいかというと、あじゃさんのNif_tree.defがctというディレクトリを
作ってくれるのですが(たいへんに有用なマクロです)、検索するときには誤ヒット
の原因になってしまう。なので除外したかったわけ。

 で、rcp32.exe。
 あるのねぇ。はい、ラムディスクにログを転送してしまうのです。10秒かからなかった
と思う。もうVz窓をあけるときに。辞書も一緒。で、そもそも転送しないでくれると
誤ヒットしないのだけど。
 あるじゃない! スキップディレクトリ。詳細は、rcp.txtをどうぞ。rcpのdoc群、
素晴らしい!

  [skipdir] :コピーしないあるいは削除しないディレクトリ名を []  の中に
               列挙します。 各ディレクトリ名は半角空白で区切って複数指定
               できます。ワイルドカードは使えません。 スキップディレクト
               リの指定可能件数は 20 まで、また [...] 内の文字列の長さは
               ピリオドを含めて全体で 80 バイトまでです。 このパラメータ
               ーは省略可能です。[v2.00βa3]

 長さは大丈夫です。ctとish16とlibだけですので。

 さあ、次はzcopyです。echoが使えそうなの。



08195/08113 CXB00940 としき Re: excludeと「スキップ」(grep & rcp)
( 1) 18/10/04 13:55 08194:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

使い勝手とか、文太さんの合目的性とかは一切勘案しないでコメントしています。

> RCP32.exe 知ってる?

windows純正のxcopyにも/excludeってオプションがありますよね。
スピードとか、その他のオプションの問題もありますが。
とりあえず、比較対象には入れてあげてください。


08196/08113 CXB00940 としき Re^3: Yagrep の質問ですが
( 1) 18/10/04 14:45 08193:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

>  exclude dirかexclusive dirか。後者のほうが英語っぽいと思うぞ >ネイティブな人たち。

コンピュータ屋さんだと、includeという言葉に非常に馴染みがありますからね。
それに引きづられて、ついついexcludeという言葉を選んだ、という気がする。
どのくらい馴染み深いかというと、Vz初期値の場合、検索窓で上矢印を押すと
表示されるというくらい。

日本語でもそうですが、どうしても業界用語というのはあると思います。
例えば、私、学歴としては情報系です。
でも、学部のころ、文献講読という講義があって、英語の授業とは別に、英語の
論文をひたすら読まされたのですね。そのときに読んだ各種論文は、主に電子系。
あと、OSの授業で読まされたのは、MINIXの英語の教科書。
会社に入ったら、今度は通信系の国際規格の文書。CCITTとかITU−Tと
いう、ほとんど謎の秘密結社のような組織の発行したものですね。
そして、世紀の変わり目の前後には、電磁波の健康影響というのが気になって、
それ関係の医学論文の、abstractとsummaryだけですがね、英文を読みました。
で、これら全部、同じ単語でも、微妙に意味が違ったりする。
もう細かいことは覚えてはいませんがね。
もしかすると、コマンドラインツールなんて、もはや使用者として一般人を想定
していない可能性もあったりなんかするかも。つまり、ネイティブの英語使用者
は使わないような用例の宝庫だったりして。


08197/08113 GST01234 10♯ Re^6:Yagrepにも 問題あり?
( 1) 18/10/04 20:14 08191:文太さんへのコメント コメント数:1
参照先:https://www.olasonic.jp/product/?id=1526376032-555870

> みんなSSDにしてしまいたい。まだ高いよ。大容量化だけして、もう安くなんないのかな。

ローエンドだったらそんな高いわけでも無いんだから換えればいいのでは?

08198/08113 CRG00666 文太 Re^2: excludeと「スキップ」(grep & rcp)
( 1) 18/10/04 21:09 08195:としきさんへのコメント

>windows純正のxcopyにも/excludeってオプションがありますよね。
>スピードとか、その他のオプションの問題もありますが。
>とりあえず、比較対象には入れてあげてください。

 お知恵、ありがとうございます。zcopy の-echoとかも、としきさんの
入れ知恵。まだ、目的に合致してるか見られていませんが。

 XCOPY
  /EXCLUDE:ファイル1[+ファイル2][+ファイル3]...
              コピーの除外対象を特定するための文字列を記述したファイルを指定
              します (複数指定可)。文字列は、1 行に 1 つずつ記述します。

 うーん、ステキな仕様。このファイルからの指定(入力)って好き。
 考えておきます。いつか。だってもうバッチ書いちゃってるから。20メガのログ
ならrcp32で5秒ですね。to ramdisk

 性能を比較しようとtimeitなどというものを見てみたが、どうもバッチは通らない
みたい。やーめた。see resource kit @2003 server ???
 うちのtimex(DOS汎用)は、秒単位なんだもの。小数点以下なし。実用になるけど、
何かガクっとくるものがあります。ときめかない。

 僕がxcopyに偏見を持っていて差別しているのではないか、とのことですが、
当たりです。
 だって、dos3.3からwin10までずっと、姿を変えて生き残り、性能アップを図って
きたってずるい(ような気がする)。
 xcopy --help (?)の書き出しが、xcopy.docとしてあるのですが、何でだか心が
ときめかないのですよねぇ。堅物な顔してるのかなぁ。zcopy.docにしても、20年
以上前に同じように感じたのだろう。

 ヴァージョンによって使えるオプションが違うというのが、やや面倒ですねぇ。
何か混乱のきっかけとなりそう。別人と思えばいいんだよなぁ。
 かつては、xcopyなどzcopyの敵ではなかった、、、時代もあった、、、らしい。

 でも、情報ありがとうございます。心にとめておきます。

 どうでもいいことですが、zcopy -e について教えてくれたのは、
初回「ディレクトリ構造のコピー」のときのことでした。しばらく前にログを整理
して、読んでしまった。ジャガイモ、サツマイモ関連のログはとってありません。


08199/08113 CRG00666 文太 SSD
( 1) 18/10/04 21:24 08197:10♯さんへのコメント コメント数:1

SSDについて。
>ローエンドだったらそんな高いわけでも無いんだから換えればいいのでは?

 そうですね、たぶん、そのうちやり始めてしまうのでしょう。
 ただ、ラムディスクに燃えたのは、100円で500MBとか1GBのメモリがハードオフ
で買えてしまったことからきています。DDR2, DDR3。知らなかった(知ろうとし
なかった)規格。
 純DOSでも、500メガのラムディスクとか。

 そういう貧乏価値観からすると、やっぱり、SSDは、、、。この馬鹿でかい
OSがそんな高価な保存媒体に載るなんて、、、。
 すでに2つ持ってはいるのですけれど、、、。

 何だろう、Vista以降、パソコンはつまらない家電で、楽しく向かうものでは
なくなっています。なのでハードもソフトもOSも、勉強してなくて。Win10の
チャーム(?)を見たときは、このやろう、俺を馬鹿にしてるのか、要らん! 
みたいになってしまいまして、、、。ノリは星一徹。
 やっぱり黒い画面でプロンプトがチカチカしてくれないと、、、。
 完全にじじいです。
 同じ話を何度も繰り返していて、すいませんね。言うても何も変わらん!
 粛々とZen of Optimizationとか読みすすめます。アセンブラ(C)本の古典
です。怖いぐらいに分からない。


08200/08113 BQO00549 konno TRA_TAG 改
( 1) 18/10/04 21:28 08192:文太さんへのコメント コメント数:2

> 	#60 (r)?{ #x (r)>T >A }
> 		;      ^^^ いいのでしょうか? 見た瞬間発見。

げげげ、頭がウニになっていました。(>_<;;
 
>  はい、#60のLFN版とは、さすがとらじさんですね。でも、僕には、まず必要ないな、と。
>  ちゃんと読むの大変そうなマクロ。でも、キレイ。眺めただけで(コメントだけで)、だいたい
> 流れが掴めたもの。僕、1分しか見てません。(^^; ここでは、ふつうに#60してるぞ、とか。

色々試してみると、標準マクロではロング行番号には対応してませんでした。
結局、Tra_TAG.def を直して使うことにしました。
マクロの20行目を

;		(r!=-1)?{ r=si+1, >C }	;行頭からもLFNが取得出来ないときは
		 r=si+1, >C ;}		;★LFNが取得出来なくても進む

こう変更して、強引に進めたら無事動作しました。
他も少し弄ったので、TEST#65 に修正版をUPしました。
よろしかったらお試しください。



08201/08113 CRG00666 文太 Re^4: Yagrep の質問ですが
( 1) 18/10/04 21:41 08196:としきさんへのコメント

>コンピュータ屋さんだと、includeという言葉に非常に馴染みがありますからね。
>どのくらい馴染み深いかというと、Vz初期値の場合、検索窓で上矢印を押すと
>表示されるというくらい。
 これ知ってる。たぶん『続天』を読んでようやくVzがまともに使えるように
なった頃、最初に消してカスタマイズしました。今でも要らない。include。

:string
	include define static extern typedef struct switch default return
 これだ。うーん、サクっとでる。情報管理してる感じ。
 C用なんですよね。

>でも、学部のころ、文献講読という講義があって、英語の授業とは別に、英語の
>論文をひたすら読まされたのですね。
 いい学校ですねぇ。このあいだ学会でいったら、もっと美しくなっていた。
恐ろしく使い物にならなそうな図書館に不満を覚えたのは20年くらい前ですが、
そんなものいらなかったのだ、と悟った先日。
 美しい庭。キャンパスに求められるのは、それだけ。創造せよ。
 でも、必要でしょう、その授業。ぜったい静かに役に立ってる。変な自慢を
したがるのですけどね、あはは。

>もしかすると、コマンドラインツールなんて、もはや使用者として一般人を想定
>していない可能性もあったりなんかするかも。つまり、ネイティブの英語使用者
>は使わないような用例の宝庫だったりして。
 こういうこと。とりわけ前半、だよねぇ、って感じ。
 パソコンが必要とされない、というか、PCが何かをしてくれるという期待は
世の中から消えたのだろうな、と思う。情報「管理」とか、しなくていいみたい
ですね、瞬時に情報が得られる(らしい)時代においては。
 これ、人びとの感性がそう変わってきてるらしい、という観察です。
 健全な世界に戻りつつあるのかな。


08202/08113 BQO00549 konno Re: TRA_TAG 改
( 1) 18/10/04 21:47 08200:konnoさんへのコメント コメント数:1

> こう変更して、強引に進めたら無事動作しました。
> 他も少し弄ったので、#test65 に修正版をUPしました。

げ、ディレクトリのジャンプが出来なくなっていました。
差し替えましたので、すでに落としていたら
21時42分の版に差し替えお願いします。
m(__)m


まだあまり試してないので、不具合があったら言ってください。


08203/08113 CRG00666 文太 Re: TRA_TAG 改
( 1) 18/10/04 21:58 08200:konnoさんへのコメント コメント数:1

>げげげ、頭がウニになっていました。(>_<;;
 おほほ。(*^。^*)
 僕なんか、konnoさんの200倍くらいやってますから、気にしない、気にしない。

>色々試してみると、標準マクロではロング行番号には対応してませんでした。
 うん、それもありましたね。たぶん、ほんとにそう認識した記憶。

>他も少し弄ったので、TEST#65 に修正版をUPしました。
>よろしかったらお試しください。
 ちょっと先になると思いますが、それでは「試す」のではなく、実用します。
修正コードを見直しておくか、ちゃんと使ってバグは取っておいてくださいよ。もう
残りの人生「Tra_Tag(改)」で過ごすつもりでおりますので。
 この前半、僕が絶対にしないこと。おほほ。

 もっとも(余計なお世話ですが)、ロング行番号が必要になるような大きなファイル
は、あまりお使いにならないほうが、、、。ビューモード? テンポラリーファイル・
エラー・ブルーというのが流行っているらしいので。
 深みにはまると鬱になりますよ。


08204/08113 CRG00666 文太 Re^2: TRA_TAG 改
( 1) 18/10/04 22:26 08202:konnoさんへのコメント コメント数:1

>まだあまり試してないので、不具合があったら言ってください。
 まだです。じっくり試してください。ユーザが何か言ってくれるなんて、期待
してはいけません。ほら、YagrepとかGNU grepとか。大変なんだろうなぁ、と
僕は暖かく見守ってます。それを使わなければいいだけなので。冷たい。
 とりわけ他人の作品を改造するときには、慎重にしなくちゃいけません。
 (全部、自分がやってないことだ、おほほ)

 正直いって、昨晩差し替えたばかりである、今のところリカーシブのあの罠
に嵌ってはいない、GNU grepを使ったログ・グレップ・マクロがようやく形に
なった(深く掘ってるから\/の混在なし)、そして、昨晩、とらじさんの多機能
を僕は使ってなかったのだと発見したという理由で、(改)については、ちょっと
この多忙モード抜けてからねぇ、みたいな感じです。
 修正箇所、読みますからね。(^_-) diffしちゃいます。
 あ、rcp32のおかげで、あそこ要らないんだ、とか思いつくし。>ボクマクロ。


08205/08113 GST01234 10♯ Re: SSD
( 1) 18/10/04 23:38 08199:文太さんへのコメント コメント数:1
参照先:https://www.olasonic.jp/product/?id=1526376032-555870

ソフトが分るとか、スクリプトでもいじれればアプリとかサービスとか作るのは
それなりに楽しいものではあるんですけどね。
ネットワークの世界になるとパソコンって物体自体は単なる端末なので
つまらない家電と言ってしまうと確かにそうかも知れませんね。

最近職場でサーバーいっちょ組んでるんですけど、
今時のマザボとかその気になったらメモリー64Gとか積めるんですけど、
機械いじりもまだちょっとおもしろみがある部分もあります。
M-ATXの筐体、ドリルで加工して3.5インチのドライブ4発積んだりとかしてますw


08206/08113 BQO00549 konno Re^2: TRA_TAG 改
( 1) 18/10/05 00:57 08203:文太さんへのコメント コメント数:1

> >他も少し弄ったので、TEST#65 に修正版をUPしました。
            ^^^^^^^
すみません、ここ、リンクにしたつもりが、書式を間違えていました。
テスト掲示板へのリンクは、#test65 という書式+番号です。

>  もっとも(余計なお世話ですが)、ロング行番号が必要になるような大きなファイル
> は、あまりお使いにならないほうが、、、。ビューモード? テンポラリーファイル・
> エラー・ブルーというのが流行っているらしいので。
>  深みにはまると鬱になりますよ。

私は巨大ファイルは基本ビューモードなので、大丈夫です。
編集するときはバックアップコピーは取るように心がけています。(つもり)

うちで最大のテキストは 11,734,237 bytes   xxxx.htm  でした。
全23008行で、11メガ以上はありますね。
このファイルの終端近くのタグジャンプはできました。

XXXX.HTM 219593: 需要予測

だけど、この、「需要予測」 が、Yagrep だと検索引っかからないんですよ。
「予」が、$975C なので、「¥」$5C と認識しているのかも。
      --ctype=SJIS              force matching in Shift-JIS mode
このオプションを付けてもダメだったような。

多少余計なものが引っかかるならまだしも、必要な文字が引っかからないと
使えないですね。
Izgrep も癖がありそうで、使いこなすのが大変そう。

ということで、やっぱり当面Wgrep 中心でやっていきます。



08207/08113 BQO00549 konno TRA_TAG 改 V02
( 1) 18/10/05 01:16 08204:文太さんへのコメント コメント数:1

>  まだです。じっくり試してください。ユーザが何か言ってくれるなんて、期待
> してはいけません。ほら、YagrepとかGNU grepとか。大変なんだろうなぁ、と
> 僕は暖かく見守ってます。それを使わなければいいだけなので。冷たい。

文太さん、冷たい(;_;)
うそですよ、ただ、試してくれる人がいないとバグ取りも進まないかも。

>  とりわけ他人の作品を改造するときには、慎重にしなくちゃいけません。
>  (全部、自分がやってないことだ、おほほ)

これ、私ほど慎重でない人は居ないかも、てくらいバグったものをUPしてますね。
たぶん死ななきゃ直らないたぐいのものかも。

>  修正箇所、読みますからね。(^_-) diffしちゃいます。

う、マズい、バグだらけだった。
ということで、V02 を、#test66 にUPしました。

・ロング行番号対応
・ディレクトリ対応
・LFN対応
・LZH非対応 (^^;

LZH非対応にしないと今のところ他の機能を実現できないという状態です。
バグは・・・・
diff って確認してください。(^^;



08208/08113 CRG00666 文太 Re: TRA_TAG 改 V02
( 1) 18/10/05 16:16 08207:konnoさんへのコメント コメント数:1

>ということで、V02 を、#test66 にUPしました。
 リンクがバグってるみたいでーす。

>(42) 66:Re: タイトル表示を付けてみた  投稿者:H.Konno   2004/10/20(水) 12:17
>    65 番 H.Konno さんへのコメント    コメント数 1

>スレッド一覧、のほうが良いかな。
 こんなのが出ましたが?


08209/08113 CRG00666 文太 Re^2: SSD
( 1) 18/10/05 16:48 08205:10♯さんへのコメント コメント数:2

>ソフトが分るとか、スクリプトでもいじれればアプリとかサービスとか作るのは
>それなりに楽しいものではあるんですけどね。
 まだ完全趣味のプログラミングにはなれません。修行が足りませぬ。
 必要なものが存在しないみたいだから、しょうがなく、自分で作るので。
 存在せず自分で作れなければ、なしで済ませるのです。
 欲望を誰かに喚起させられるのは、あまり好きじゃないですし。広告に興味がない、
あるいは、それに対し緊張ないし警戒するのは、そのせいでしょう。
 「倚りかからず」(c)茨木のり子。これがモットー。

>最近職場でサーバーいっちょ組んでるんですけど、
>今時のマザボとかその気になったらメモリー64Gとか積めるんですけど、
 あへへへへ。め、メモリが64ギガバイト!
 事情に通じている人には驚いてる奴の存在が驚きかもしれませんが、16Gとか
ならあるんだろうと思ってましたが。すでに3年くらい時代から遅れている。情報に関して
だけで。
 でも、64Gは、ちょっと、【まだ】普通ではないでしょう? 特殊な用途のために
がんばれば、ってとこでしょう?
 で、SSDは? と思ったら、240G(6千円)がローエンドですか?
 5年前くらいの割と初期に近い頃のローエンドは、60Gだったような……? けっ、
ちいせえなと、40GのIDE・HDを使っている僕が思った。
 Win7のこのマシンは、500GのHDでした(調べないと分からない)。
 とうぜん余ってます、膨大に。

>M-ATXの筐体、ドリルで加工して3.5インチのドライブ4発積んだりとかしてますw
 これが絶対に楽しい! 僕もあのプロジェクトを再開したい、、、。

おまけ:

 もはや
 いかなる権威にも倚りかかりたくはない
 ながく生きて
 心底学んだのはそれくらい
 じぶんの耳目
 じぶんの二本足のみで立っていて
 なに不都合のことやある

 これのどこが詩なのか、いまでも分かりませんが、好きです。
 若いころ、馬鹿にして、申し訳ありませんでした。 >茨木さま

 こういうのが、一般にアピールした時代があったことはあったのでしょう。
 経験してないけど、懐かしい。


08210/08113 CRG00666 文太 Re^3: TRA_TAG 改
( 1) 18/10/05 17:07 08206:konnoさんへのコメント コメント数:1

>テスト掲示板へのリンクは、#test65 という書式+番号です。
 これも違うところへ行ったみたいです。

>うちで最大のテキストは 11,734,237 bytes   xxxx.htm  でした。
 こういう確認は時々必要ですね。

 うちではこれかな。Vzで開く可能性がある、英辞郎の分割ファイル。
co.ejr  4,762,169  2017-03-29  23:06

>wc -l c:\dic\eiji\co.ejr
 83,853
 ああ、とらじさんが必要だ。

>だけど、この、「需要予測」 が、Yagrep だと検索引っかからないんですよ。
 再現しました。


>Yagrep --ctype=SJIS 需要予測 1.txt
no hit
 ありゃあ。

>type 1.txt
需要予測

>Grep (GNU) 需要予測 1.txt
需要予測


>多少余計なものが引っかかるならまだしも、必要な文字が引っかからないと
>使えないですね。

 いちおうBruce.さんに伝えてみますかねぇ。いっぱいあるからなぁ。

 しかし、「需要予測」って、何の話ですか? 笑


08211/08113 GST01234 10♯ Re^3: SSD
( 1) 18/10/05 18:07 08209:文太さんへのコメント コメント数:2
参照先:https://www.olasonic.jp/product/?id=1526376032-555870

ついでに言うと、arduinoとかRaspberryPieとかで機械的なことで遊んでる知り合いもいますね。
これとか中身はLinuxサーバーなんですよね。
スクリプトがメカをコントロールする。

パソコンのパソコン的な要素が薄まって、なんなら白物になりつつあるんですけど、
その要素が波及展開して世界や人がパソコン的になりつつあると。

一方で僕の周りにはスマホ等ITを活用しながら原始的な娯楽を楽しんでる一群もあります。


08212/08113 GST01234 10♯ Re^3: SSD
( 1) 18/10/05 19:54 08209:文太さんへのコメント
参照先:https://www.olasonic.jp/product/?id=1526376032-555870

>  でも、64Gは、ちょっと、【まだ】普通ではないでしょう? 特殊な用途のために
> がんばれば、ってとこでしょう?

今時は一台の物理サーバーに仮想マシンを何台か入れたりするのでメモリーは何ギガあってもよかったりとかしますわ。
まあうちの場合、ユーザーのDBのコピーをいくつも取ってあるのでそのキャッシュ用にってのもあります。
DBのインスタンスがいくつも同時に走ってたりします。
でもまだ64ギガまでは不要ですけどねw

08213/08113 BQO00549 konno Re^2: TRA_TAG 改 V02
( 1) 18/10/05 22:03 08208:文太さんへのコメント コメント数:1

> >ということで、V02 を、#test66 にUPしました。
>  リンクがバグってるみたいでーす。

あうう、移転後全くチェックしてませんでした。m(__)m

直しましたので、今度は大丈夫です。


08214/08113 BQO00549 konno Re^4: TRA_TAG 改
( 1) 18/10/05 22:19 08210:文太さんへのコメント コメント数:1

> >テスト掲示板へのリンクは、#test65 という書式+番号です。
>  これも違うところへ行ったみたいです。

元が直ってなかったのが原因でした。
移転後何回リンクしたような気がするんですが・・・

> >Grep (GNU) 需要予測 1.txt
> 需要予測

おお、GNUGrep は大丈夫なんですか。
ちょっと探してみます。

>  いちおうBruce.さんに伝えてみますかねぇ。いっぱいあるからなぁ。

GNUGrep のほうが大丈夫だったとは、意外でした。
漢字で "\"($5c) の対策はSJISでは今や必須ですね。

>  しかし、「需要予測」って、何の話ですか? 笑

いや、たまたま巨大ファイルの最後尾の文から適当に取っただけです。
雑文が多いので、興味のない話も一緒に落としていましたので。(^^;


08215/08113 CXB00940 としき Re^4: SSD
( 1) 18/10/05 23:50 08211:10♯さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

全く本質とは関係ないレスをつけます。

> ついでに言うと、arduinoとかRaspberryPieとかで機械的なことで遊んでる知り合いも

「らずぱい」は既存の単語の組み合わせなんで読めます。
でも「arduino」は、どう発音していいのかがわからない。
つ〜か、アクセントの置き方がわからない、というべきか。

いろんなインターフェースがつなげそうなんで、どちらも面白そうなんですがねぇ。
例えば、温度センサーとか水分センサーとか。
温度が何度になったら温室の窓を開けるとか、土壌中の水分が欠乏したら自動給水、
なんていうのが、もちろん自分で作ることも可能ですが、すでに作った人が多数いて、
そのためのソフトが公開されているのはとても魅力的。
そのうち、私も何か作りたいものです。
ちなみに、最近私が作ったハード関連のものというと、怪しい発振回路。
ごくありふれたトランジスタを1石だけで構成したもの。
でも、3本の脚のうちの2本しか使っていないので、動作原理としてはトンネル効果を
使っているのだろうなぁ。
これ、回路には詳しいけど物理には疎い人に見せると、びっくりすること必定。


余談。
近々、母校の大学祭が開催予定。
大体、そういうところでは、研究室の研究発表というのも行われます。
当然、私には理解不能な最先端のものもあるでしょうが、それも含め、いろいろと
インスピレーションというかアイディアの元になってくれるものも期待できそう。
ということで、母校以外の学園祭も含め、諸々の研究発表というものにはとても
興味や関心があります。
あぁ、とても楽しみ。


08216/08113 CRG00666 文太 tra_tag改 飛びました!
( 1) 18/10/06 00:01 08214:konnoさんへのコメント コメント数:2

R:/DIC\EIJI/IN.ejr:76142:■io  {国名ドメイン}
                  ;65536 むふふ。無理だね。
■io  {国名ドメイン} : 英領インド洋植民地(British Indian Ocean Territory)
 おめでとう! 飛びました!

 僕のマクロでは上のタグは出ないのですが、作為的に作りました。
 テスト板って、どこのことだ? みたいにサイトトップから探しましたよ。

;		&m("2 ok %s",pf)	;●
 最後のこれは消させていただきました。
 デバッグコードの入れ方の勉強もさせていただきました。m(__)m
 いいっすよ、これ。

 lzhへのジャンプ、僕がwgrepを使わないのは、アーカイブファイルにタグを付けたり、
そこへ飛んだりする必要が、いままで一度としてなかったからですね。dietとかも、、、。
 HDだけはいつも富豪だったのでしょう。
 最初のHDが120メガだったはずですが、それを捨てたときも、40ギガくらいしか
使ってなかった。Vzログが全部入ってたと思うのだけど。
 PC買って最初のころ、HDに入れるデータがなくて、寂しかった。
 nifty入っても、まだまだ残ってた、、、。

 Yagrepの件で、Bruce.さんにメールしました。
 GNU grepのキャラクタクラスが直るのは(それがあるとして)、何年も先でしょうからね。
 直してくれないんじゃないかな。たぶん、ご本人がお使いでないのでしょう。SJISと関係
のない世界にいるのだろうと思います。

 どうしても冒険したくない、バグに悩みたくない場合、リカーシブするなら、こんな手も。

;これでいけます。ディレクトリ再帰のフルパスファイル名リスティング
;C:\AD\GENKO>tosfind /n*.txt >c:\y.txt

 こんなメモが残ってました。
 何かにすがるのではなく、方法を見つけよ。>自分

 tosfind.exe。素晴らしい基本工具。 はあと>としきさん


08217/08113 CRG00666 文太 原始的な娯楽
( 1) 18/10/06 00:12 08211:10♯さんへのコメント コメント数:1

>一方で僕の周りにはスマホ等ITを活用しながら原始的な娯楽を楽しんでる一群もあります。

 「原始的な娯楽」って何ですか?
 焚き火ではないな。スマホが要らない。
 スマホだけが文明との入出力という、自給自足系の友だちは、けっこういます。


08218/08113 GST01234 10♯ Re: 原始的な娯楽
( 1) 18/10/06 01:31 08217:文太さんへのコメント コメント数:1

以前にもお話したことありますけど、スマホのナビ機能やSNSの機能を駆使すれば、
体を使って色んなところへ移動することが比較的容易に安全になります。
山の上だったり100キロ以上離れた場所だったりとか。
駆使って程の事でも無いですけどねw
ハイテクを活用して自然環境に体を使って赴くってことですね。
まあ使うツールはスマホなどIT機器だけでは無いですけどね。
例えばハイテク素材とか。
それから、SNSを通じてそのノウハウを共有することで、それらを効果的に効率的に実践します。
しかし、あくまで肉体を活用することではあります。

08219/08113 GST01234 10♯ Re^5: SSD
( 1) 18/10/06 01:40 08215:としきさんへのコメント

この手のことは僕以前業務でV25を使った通信端末を設計したことありますわ。
回路設計や基盤実装もそうですが、DOS用のC++コンパイラのスタートアップコードを改変してファームウェア自作して32KBのUVEPROMに焼いたりとかしてました。
OS無しの組み込み機でオブジェクト指向w
良い時代でした。


08220/08113 CRG00666 文太 GNU grep, sedの不具合のその後
( 1) 18/10/06 01:45 08185:文太さんへのコメント コメント数:1


http://www.intellilink.co.jp/article/column/oss-gnu01.html

 今日までに見つかった不具合については、報告しました。
 それぐらいは、貢献するべきなのでしょう。英語の文章まで一生懸命つくってねぇ。
 何も期待していませんけれど。
 MS-DOS, WinMEで、僕は幸せなのです。500MBのラムディスク、欲しいのはこれだけ。
 買えない、自分を信じるだけ。
 お金は解決してくれないからね。そんな茨の道を選んだのも自分なんだからね。


08221/08113 CRG00666 文太 Re^2: 原始的な娯楽
( 1) 18/10/06 02:05 08218:10♯さんへのコメント コメント数:3

>それから、SNSを通じてそのノウハウを共有することで、それらを効果的に効率的に実践します。
>しかし、あくまで肉体を活用することではあります。

 ありがとうございました。とても良く分かりました。
 でも、山登る人たちは、ここでスマフォが通る、通らないをしょっちゅうチェックしてる
そうで、生命線なのだろうけど、命綱の点検にそんなに一生懸命にならなければならないの
だとすれば、逆に危険なんじゃないの、とか憎たらしいことを思ったことがあります。
 うーん、俺、性格悪い。

 だいたいするべきことはし終えたつもりです。
 いいのかな?

 あ、最後に一つだけ。10#さん、Vzでコンソールファイルって使いますか?
少なくともWin7 32bitでは、いつの頃からか、出なくて、ここ1週間の書き込みとか、僕は
かなりの困難を強いられてきたんですよ。
 WinXP@職場では、問題なかった(おそらくvtdosが古い)。今日、確認しました。

 コマンドラインの >type (の再現)とか、全部手書きをしてきたのです。
 Shift+[ESC]が効かないということです。コンソールファイルをマクロが開けることが
できることは確認しているのですが。

 ctrl+breakのマクロストップも効いていません(あ、2つ目だ)

 こうなると、これは人生の無駄遣いだ、何が大事か考えよ、とかなってしまうのです。



08222/08113 GST01234 10♯ Re^3: 原始的な娯楽
( 1) 18/10/06 05:21 08221:文太さんへのコメント コメント数:1

>  でも、山登る人たちは、ここでスマフォが通る、通らないをしょっちゅうチェックしてる
> そうで、生命線なのだろうけど、命綱の点検にそんなに一生懸命にならなければならないの
> だとすれば、逆に危険なんじゃないの、とか憎たらしいことを思ったことがあります。

スマホを登山の生命線にするのは確かに危険かも知れませんね。
今時はそういうツールのお陰でにわか登山家も増えてるかも知れません。
未踏の山に一人で登って遭難しかけるような人もいるらしいです。
ただ、それらは娯楽といって良いほど確実に身近になってると思います。
あとまあ、そういった場所で本当に生命線になるのはどっちかというと基地局では無く、
衛星の電波だったりしますね。これは街中の方が誤差が多かったりします。

>  あ、最後に一つだけ。10#さん、Vzでコンソールファイルって使いますか?

コンソールファイル使えてはいますし、Shift+ESCも効いています。
ctrl+break は右ctrl+breakで int 1bhが掛かることを確認しています。
謎ですね。


08223/08113 CXB00940 としき Re^3: 原始的な娯楽
( 1) 18/10/06 12:19 08221:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

>  コマンドラインの >type (の再現)とか、全部手書きをしてきたのです。

表示されているコンソール画面をマウスで右クリックで範囲指定、って技は
使えないのでしょうか。それの使用可否というのも、デバッグや不具合探索の
重要な手がかりになるかと。


08224/08113 CRG00666 文太 リカーシブ処理(超汎用版)
( 1) 18/10/06 12:48 08216:文太さんへのコメント コメント数:1

 対象ファイルのフルパス・フルリストからバッチファイルを作れば良い。
 それだけ。

;該当ディレクトリをカレントにして
;>tosfind /n*.txt >c:\k.txtとかして、以下を作る。
;何回もやる予定なら、予め作っておいて保存しておく。
;NT系Win以外でtosfindが動かない場合、Win9x系以外でtfindが動かない場合、
;やしきの板塀#3102などを参照しつつ、以下の【付録】へ。

(sample);フルパスで記述された対象ファイルのリストです。
C:\AD\GENKO\0\PREFACE.TXT
C:\AD\GENKO\0\TITLE.TXT
C:\AD\GENKO\1\AD_00.TXT
C:\AD\GENKO\1\AD_00YK.TXT
C:\AD\GENKO\1\AD_01.TXT
C:\AD\GENKO\1\AD_01YK.TXT

 上のファイル上で以下のマクロを実行。
	;出力ファイルが1つだけになってくれると、嬉しい場合です。
	;出力が入力と同じ数だけ、つまりフィルター系を通すばあいには、
	;Siさんのwildをどうぞ。リカーシブはないはずですが。

=== recrsive by B ===;make batfile for pseudo-recursive procedure
大人気ないのだけど、こういうマクロを書いているとき、本当に幸せ。
同じところをグルグルグルグル回っております。

* M
50 ^^ "recrsive"

	?.
	a="Cgrep 壮麗 ",	;コマンド、オプション、検索語など
	b="	>> c:\kek.txt",	;結果ファイル名 etc
	c="c:\a.bat",		;でき上がるバッチファイル名

	&s
	ps[=pa,
	#56 "\x ^" #m &?("%s",a) #m "AY"
	#56 "\x $$" #m &?("%s",b) #m "AY"
	#82 #H &?("%s",c) #m (s)? 'Y'		;rename
	#S #m (s)? 'Y'
	ps],
	&m("OK, %s is created.",c)
	&d .

*


【付録】:フルパスリストの作り方。awk版。

日本語OS用(Win7)。この辺、dirコマンドの出力フォーマットに依存。
該当ディレクトリをカレントにして、
>dir /s |jgawk -flist.awk

----- list.awk -----
# list.awk
# >Dir /s | jgawk -flist.awk 入力ファイル

/ 個のディレクトリ/ || / 個のファイル/ || /<DIR>/{	# * でフィールド4つならとか
	next					#いい加減なことをしていますので、
	}					#混入するゴミをここで掃除しましょう。
/ のディレクトリ/{				#除外行、キーワードリストです。
	dire=$1;				#LFN で途中にスペースが入るとか
	}					#一切考慮していません。
		{ if (NF==4)				# *
		printf("%s%s\n",dire,$4)
	}
--------------------



08225/08113 CRG00666 文太 サイト内リンク・ジャンプ成功
( 1) 18/10/06 12:58 08213:konnoさんへのコメント

 飛びました! m( )m

08226/08113 CRG00666 文太 「右」CTRL+BREAK !!!
( 1) 18/10/06 13:03 08222:10♯さんへのコメント


 ありがとうございます。右ですね。あれれ。過去ログにありました。
 さて、コンソール。疑わしきは、キーボードそのもの。



08227/08113 CRG00666 文太 Re: tra_tag改 飛びました!
( 1) 18/10/06 13:34 08216:文太さんへのコメント

カレントドライブ・カレントディクレトリは、
r:\dic

EIJI/IN.ejr:76142:■io  {国名ドメイン}		;OK!
EIJI\IN.ejr:76142:■io  {国名ドメイン}		;OK!

 お見事! >konnoさん。
 ここで失敗するとは思ってませんでしたが、念のため。
 優しすぎてもいけないな、と念のため。

 何しろ、%vzdef%にもう入っていて差し替えられているので、何かあると、
ほんとにあれを読まなくちゃならなくなり、、、、。
 ありがとうございました。グッジョブ!


08228/08113 CRG00666 文太 コンソールファイル
( 1) 18/10/06 13:38 08223:としきさんへのコメント コメント数:1

>表示されているコンソール画面をマウスで右クリックで範囲指定、って技は
>使えないのでしょうか。それの使用可否というのも、デバッグや不具合探索の
>重要な手がかりになるかと。
 ヒントをありがとうございました。
 使えました。重要な手がかりですね。
 やっぱりキーボード自体?
 皆さん使えてるんだろうなぁ、とは思ってたのですが、、、。しくしく。


08229/08113 GST01234 10♯ Re: コンソールファイル
( 1) 18/10/06 16:04 08228:文太さんへのコメント コメント数:1

> >表示されているコンソール画面をマウスで右クリックで範囲指定、って技は
> >使えないのでしょうか。それの使用可否というのも、デバッグや不具合探索の
> >重要な手がかりになるかと。
>  ヒントをありがとうございました。
>  使えました。重要な手がかりですね。
>  やっぱりキーボード自体?
>  皆さん使えてるんだろうなぁ、とは思ってたのですが、、、。しくしく。

その線で行くなら、VTDOS自体がコンソール出力のバックログって機能も持ってたりします。
デフォルトだとCtrl+Alt+PageUpだとか、Ctrl+Shift+Eだとかってのが。

08230/08113 BQO00549 konno Re^3:VZキーの変
( 1) 18/10/06 16:07 08221:文太さんへのコメント コメント数:1

>  あ、最後に一つだけ。10#さん、Vzでコンソールファイルって使いますか?
> 少なくともWin7 32bitでは、いつの頃からか、出なくて、ここ1週間の書き込みとか、僕は
> かなりの困難を強いられてきたんですよ。
>  WinXP@職場では、問題なかった(おそらくvtdosが古い)。今日、確認しました。

32bitGrep の結果がコンソールに出てこないということですか。
今はWin7環境が無いですが、今まで使えなかったことは記憶に無いですね。
と思ったら、キーの問題ですか。

>  コマンドラインの >type (の再現)とか、全部手書きをしてきたのです。
>  Shift+[ESC]が効かないということです。コンソールファイルをマクロが開けることが
> できることは確認しているのですが。

特定のキーが使えないという事ですね。
私は最近カレンダーマクロ等弄っていてキーがおかしくなる経験を何度もしています。
マクロ内でキーのすり替えをしているのが何かのバグがあると、他のキーも
おかしくなって、VZを終了しても直らず、VTDOSを再起動させています。

PCをスリープモードで使用していると、ずっとVTDOS開きっぱなしになっていますが
VTDOS再起動しても変わりませんか。
外しているかもですが。

>  ctrl+breakのマクロストップも効いていません(あ、2つ目だ)

キーがおかしくなったときはこれも効かない時があった様な気がします。
ちなみに、コマンドラインから、Shift+Enter は効きますか?



08231/08113 CRG00666 文太 Re^4:VZキーの変
( 1) 18/10/06 22:23 08230:konnoさんへのコメント コメント数:2

 皆さま、ありがとうございます。
 皆さまの暖かい心遣いに支えられて、どうにか少しだけ進展させることができました。
 これ、やる気にぜんぜんならない、重い重い課題なのです。逃げたい、見たくないで、
もう2週間以上。もしかしたら1月以上?

 現象:\[ESC]が効かない。peek consoleという#95の機能が失われていました。
 これは、\[ESC]というキーに問題があり、現在、\[F01]にアサインして、機能は
回復しています。さっきですが。
 また、\[ESC]に別マクロを割り当てても、そのマクロは起動しません。

 調査:vtdosディレクトリにある、keycode.exeで状態を調べてみた。
 [ESC]はもちろん(keycode.exeが終了する)、ShiftもShift+[ESC]も無反応。
そういうものなのかな、と思っていたのですが、別のコンソールファイル機能が失われて
いないWin7ノートがあることを思い出し(使ってない、、、)、そこで同じく調査。
なんと、<3:001B>と出る=Shift+[ESC]。きっとこれが健全な姿。
 論理的に前後しますが、僕はキーボードの故障を疑っていました。コーヒーかビールを
ひっかけたことがあったから。
 でも、それはないです。今、別のキーボードでこれを打っています。依然として効かない
\[ESC]。

 とにかく、メインのマシン(目の前のマシン)では、\[ESC]が失われているのです。
で、空想するに、これはやはり、vtdos内のvz環境に起こっていることで、マシンで起こって
いることではないのではないか。
 コマンドラインからファイラへの\[CR]など、別に不具合のあるキーは見つかっていません。
 別路線で、Winの別アプリでShift+[ESC]をアサインして使ってみる、普通に反応するなら
vtdos環境(vtdosより上位というかvz.com+vz.def+etcあたり、たぶん)にのみ問題あり、と
言えると考えたのですが、僕は、別のWinアプリのキーカスタマイズの方法を知らない。
 ワード、秀丸、Wzで昔やったのですが、もう完全に忘れてしまっているんです。
 これを先にやるべきでしょうか? お、重いのですが、、、。

 これだけの情報で解決の道にいたれるでしょうか。
 何か思いつくことがあれば、どうか。m(__)m


08232/08113 CRG00666 文太 Re^2: コンソールファイル
( 1) 18/10/06 22:33 08229:10♯さんへのコメント コメント数:1

 バックログの機能の紹介、ありがとうございまいた。
 vtdos.txtを読ませていただき、試しました。今日は、がんがんコンソール(コマンドライン)
を使ったので、もう延々と。そんな昔(今日ですが)の記録を持っていたのかよ、もの。
 20行のバッチファイルを50回くらい走らせましたから。今日は特別。意味はないのですが。

 でも、これはこれで楽しいのですが、クリップボードもメモ帳も遠すぎるので、何とか\[ESC]
の機能を取り戻したいと考えています。
 何かお知恵はありませんでしょうか。
 keycode.exeがキーを認識しない、というのは、どういうことなのか、ということです。
 キーボードにもマシンにも、本質的な問題はないのだろうと空想しているのですが。
 マシンに問題があると、僕は\[ESC]問題解決のために、OS再インストールみたいのは、あと
1年くらいはしないと思います。やだぁ、こんな化け物。また悪口いっちゃった。この祟りかと
も思ったけど、ずっと前からです。WindowsUpdateとかCKWとかAvastとかではないと思うのだけど
なぁ。


08233/08113 BQO00549 konno Re^5:VZキーの変
( 1) 18/10/06 23:12 08231:文太さんへのコメント コメント数:2

>  調査:vtdosディレクトリにある、keycode.exeで状態を調べてみた。
>  [ESC]はもちろん(keycode.exeが終了する)、ShiftもShift+[ESC]も無反応。

 Shift+[ESC] キーは反応していないようですね。

1、Shift キーは反応しているのでしょうか?
2、VTDOS を再起動させても変わらないですか?
3、同じマシンで、DOS窓、あるいは、CMD窓 では、Shift+[ESC] キーは反応しますか?

この全てで駄目なら、ハード的に駄目になっている可能性が高いでしょうね。
後は、PC再起動してどうかですかね。


08234/08113 CXB00940 としき Re^5:VZキーの変
( 1) 18/10/06 23:21 08231:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

>  何か思いつくことがあれば、どうか。m(__)m

なんか、藁にもすがる状態のようなので、思いつきで物を言います。
vtdosではなく、Win純正DOS窓でVzを動かしたらどうなりますでしょうか。
常用する訳ではなく試験だけですから、常駐はさせず。
常駐させると不具合が出ることが多そうだし。
で、ファイル窓で[RET]でファイラーを経由して、ファイラーから[H]でシェルに
降りて、そこで\[ESC]。

ま、何の切り分けにもならないかもしれませんが、最初に言ったとおり、思いつき
で物を言うとこんなものです。


08235/08113 CXB00940 としき Re: リカーシブ処理(超汎用版)
( 1) 18/10/06 23:28 08224:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> #LFN で途中にスペースが入るとか
> #一切考慮していません。

ここだけ。
定番の技法としては、sub関数を使って、後ろの部分を削除します。
そうすれば、途中にスペースが入っていても、望みのものが得られる可能性が高くなります。


08236/08113 CXB00940 としき Re^6:VZキーの変
( 1) 18/10/06 23:30 08233:konnoさんへのコメント
参照先:http://toshiki.la.coocan.jp/

あ、konnoさんのレスのほうが親切かつ的確だ。

> 1、Shift キーは反応しているのでしょうか?

ついでにいうと、右Shiftと左Shiftの両方で実験する、というのは必要かも
しれません。


08237/08113 GST01234 10♯ Re^3: コンソールファイル
( 1) 18/10/06 23:45 08232:文太さんへのコメント

プレーンの状態でkeycodeが反応しないなら物理かドライバーかキーリマッパーになりますね。

キーリマッパー、僕はkeytweak使ってますけど、これも物理キーのテストに使えます。

そもそもメカニカルキーボード使ってるので接触不良はしばしば起こるので、
打鍵のテストはたまにやってます。


08239/08113 CRG00666 文太 Re^6:VZキーの変
( 1) 18/10/07 00:53 08233:konnoさんへのコメント コメント数:3

 皆さま、ありがとうございます。
 色々な祟りでしょうね。家電だ、SSDでない、などなど、言いたい放題で怒ったね。
いや、1月以上前から、ご主人様が自分をちっとも評価していないのを知っていたのだ。


 以下、明晰です。さすがです。そうですよねぇ。

1、Shift キーは反応しているのでしょうか?
 keycode.exe的にはしてません。右も左も同じく反応しません。でも、たぶん、これは健康。
シフトキーでのマクロの分岐などなどで不具合を経験していませんから。大文字も書けるし。

2、VTDOS を再起動させても変わらないですか?
 もちろん、何度やっても。

3、同じマシンで、DOS窓、あるいは、CMD窓 では、Shift+[ESC] キーは反応しますか?
 ここです。そうだよ、まず、vtdos環境か、もっと外かを見なくちゃ。
 そして、このマシンと他のマシンの比較(できるんじゃん、持ってるのだから)。
 DOS窓とCMD窓って、違うのですか? は、おいておいて、
 CMD窓で、健康と思われるノートと比較した結果、このメインのマシンは、明らかにおかしい。
 <2:01B>で終了するのが正しいのでしょう。このマシンでは反応しないことが非常に多く、
たまにそう反応することがある、くらい。

>この全てで駄目なら、ハード的に駄目になっている可能性が高いでしょうね。
 この結論に賛成。
 でも、買い替えも引越しもたまらないので、しばらく\[F01]でしのぎます。
 今失われているのは、コンソール参照機能用だったキーだけなので。
 「だから、それは予兆なんだって、ありがたいワォーニングなんだって」
 「賛成です。でも、、、。1組のキーだけじゃん」

 しかし、マシン、死ぬの早すぎ。3年つかったっけ? 中古だからなぁ。でも、
短命すぎる。ジャンク買っても、こんなに早く死なない。
 ノートを調教を始めておくか。嫌いなんだよなぁ。
 まずバックアップだ。データのバックアップ。これはさすがにシステムができてる。
 買っちゃおうか、、、。
 引越しは嫌だ、悪夢だ。
 悪魔度は、Win7とWin10で同じなのだけど、それでも、どうせ、細かく無意味な
ところで色々と違うんでしょ、あーあ。

>後は、PC再起動してどうかですかね。
 これはもちろん、しょっちゅうしてます。書き方が悪かったのだと思いますが、
たぶん1か月以上前からですから。

 ありがとうございました。自分を誤魔化してきましたが、きちんと向き合いたい
と思います。
 告白モードでしたから。
 認めよう。
 死につつある、俺のマシン。半年か1年後かにSSDマシン。OSはなに? Win10? 
あのチャームとやらをまず殺さなければ。殺すか殺されるか、ですね。悪い、殺す。
で、\[ESC]にストライキさせて反撃かよぉ。仲良くしよーぜ。戦争反対! でも
チャームも反対! skypeなんてデフォで常駐させるな! やはり戦争モードなのか。
比喩ですよ、比喩。リテラルとフィギュラティブを混同しないように。
 ふう、ありがとうございました。
 さすがに疲れました。
 でも、すっきりしたじゃん、ちゃんと現実が分かって良かったよ、と自らを慰めてます。
 ありがとうございました。

 壊れてんだ、俺もこいつも。



08240/08113 CRG00666 文太 Re^6:VZキーの変
( 1) 18/10/07 01:02 08234:としきさんへのコメント

 ありがとうございます。

>vtdosではなく、Win純正DOS窓でVzを動かしたらどうなりますでしょうか。
 やってみたら楽しいかもよ。EMSがない、というのは、もう致命的です。
 英語モードで立ち上がりました。日本語SJISで書かれたファイルは化け化けでした。

>そこで\[ESC]。
 向こうの健全マシンではやってませんが、ここでも黄色のコンソールファイルは見えず。
この問題に関しては、これは有意味な実験だったと思います。
 オールドタイマーの思いつきは、あなどれません。


08241/08113 CRG00666 文太 Re^2: リカーシブ処理(超汎用版)
( 1) 18/10/07 01:04 08235:としきさんへのコメント

>定番の技法としては、sub関数を使って、後ろの部分を削除します。
 なるほど。ありがとうございます。頭のどっかにとどめておきます。
 ただ、それじゃ、sedと同じじゃん、とか思って、LFNを切らせていただきました。
 しっかりつっこまれたけど。


08242/08113 GST01234 10♯ Re^7:VZキーの変
( 1) 18/10/07 04:48 08239:文太さんへのコメント コメント数:1

なんかいろいろおもしろいw
Vz使ってるような人々がPCの更新を拒絶するのはごく自然なことですよね。
誰をdisってんの?って話ですけど、その目的のためにエミュレータまで作った人間もいますw

PCとか車とかって生涯に渡って関わってく機械って機嫌がありますよね。
僕はこれは100%否定しますけど、そういう現象が存在することは認めます。
どっちかというと機械じゃ無くて人間の認識の問題ですね。

DOS窓、CMD窓とかって区分は人によって用語や認識がまちまちですよね。
それでVTDOSのサポート難儀すること多々あります。
それはどれのことですか?っていうw
VTDOSからCMDに降りることも出来るし、人によってはckwvも混同してます。
で、非VTDOS環境用に kcode32.exe というのも用意してます。
あ、CMDからVTDOSを起動することも出来ますし、
なんならCMDが起動していないコンソールというのも論理的にはあり得ます。
僕としてはコンソールとGUIで統一しています。
WindowsはAPIレベルでこの二つが明確に区分されています。

休止やサスペンドが実用的になってからは僕も再起動の類はほとんどしなくなりました。
WindowsUpdateが勝手に再起動して、勝手になにしやがんだ、て話です。
その感覚からすると、VTDOSやWindowsの再起動を切り分け項目に盛り込むのは
ごく自然な行為に思います。

デスクトップ機ならキーボードが駄目になればキーボードを換えればいいじゃない?
て話なので、Win10が!チャームが!って拒否反応には????ですね。
健全状態な比較対象が「ノート」と呼ばれてる事がなおさらデスクトップであると読めます。
僕そういえばWin10になってチャームは一度も見たこと無いですわ。
設定すれば出るのかも知れないですけど、出し方すら知らない。
Win8.1の影響が残る初期のWin10は確かに細かく無意味な違いは確かにあった気がするけど、
今のバージョンは表面的には Win7にかなり寄せてる印象です。
内部的にはいろいろ大きく変ってるはずなので、これの操作感の調整はかなり手が入ってる印象です。
むしろ悪魔的なのはWin8で、更に言うとそれがベースになってるServer2012はまだ現役
だったりします。こいつ本当に大丈夫か?と思うことしばしばあります。
しかし逆に、Win10やそれベースの2016も????って挙動は多々あります。

確かに引っ越しは面倒い話ですけど、僕の場合OSのアプグレ時は既存のOSの起動ドライブのコピー
そのまま凍結保存しています。
その為、起動ドライブはなるべく小さめのサイズに切ってたりします。
それからWin10はもう引っ越し無いですね。
必要なのはたまに起動ドライブやマザボの更新って感じですね。

個人的に一般的なOADGキーボードはスペースのサイズが駄目なので10年ほど前から付属品は使ってません。
今使ってるのは配置やサイズが独特のもので、もう作ってないため死ぬまで使う分の予備も確保してます。
余談ですけど、VTDOSにはUS配列でJIS固有の文字を入力するためのキーマッピングオプションが存在します。
一時的にUS配列しか通さないPS/2-USB変換器を使わざるを得なかったことが原因です。

今のWin10はそんなに悪くないんですけど、ここに至るまでは確かに紆余曲折はあります。
夜中に掃除機かよ!ってぐらいファンの爆音まき散らして勝手に起動してきたりとか、
なんかよく分らんアドレスに勝手に繋ぎに行ってルーターの警告がなりまくるとか、
ckwvがおかしいってとばっちり食らったこともありました。
なのでまあ7に固執したい気持ちはすごく分ります。
世の中にはまだ2000に手を入れて最新アーキテクチャで使ってる人もいるぐらいですしね。
僕も出来ればそうしたい口でした。
大体今時のOSは勝手に仕様追加するのはいいけど、その説明が事前には全くと言って良いほど無い。
もっともその為、改版の度に電話帳みたいな取説読まされても困りますけどね。
アーキテクチャは勝手に更新されるから追従できる人は追従するし、出来ない人はしんどい。
なんかよく分らんけど変ったことは変ったことと認識して受け入れることが出来れば世渡りも楽になります。
所詮はそれだけのことで人生そんなもの。


08243/08113 CRG00666 文太 Re^8:VZキーの変
( 1) 18/10/07 14:42 08242:10♯さんへのコメント コメント数:2

 たいへんに詳細に、そして想像力を駆使して、丁寧に丁寧に僕の書きこみを読
んでくださり、ありがとうございました。

 1点だけ、とりあえず、修正と補足をさせていただきますね。
 キーボードに問題はありませんでした。よかった。Win キーのない20年もの
ミニベア製なのですが、きっと30台くらいのキーボードを試して(軽く20万
円は使ったろう)、これ、と決めてきたものなので、これは朗報。
 たぶん、キーボードから送られた信号を解析したりするMBのチップか、ある
いはOSか、あたりが原因だろうと思っています。
 こうなるとOS再インストールかマシンの買い替えか、となり、どちらにして
も重すぎて鬱になりそうなので、とりあえずしばらく様子見です。それでも、僕
の日常がどれだけこのPCに依存しているのか(サイトのログイン情報とか
Facebook のパスワードとか etcetc)を洗い出していこうと思います。しょうが
ない。重要情報は書き出してあるのですが、いっぱいあるからなぁ。

 KeyTweak, 物理的破損も検知するとのことで、インストールだけしましたが、
doc を読み始めて、もう目的を忘れてる。doc はとても優しくフレンドリーに書
かれていて面白いです。なぜこんなものを作ったのか、から始まるお話。奥様が
Win キーが大好きなのに、ないのか、壊れたのか。Win キーのためなら、「右オ
ルトを代わりに差し出してもいいから、Win キーちょうだい」。そんな場合に使
えるわけです、とかとか。
 もっとキーボード調教の原理的・歴史的な説明もあって(10分かそこいらし
か読んでないのですが)、面白いですね。早い話が、昔は低次なところまで下り
ていってやるしかなかったんだけど、MSがレジストリーにして、下は全部やっ
てくれることになったから楽になったのだけど、素人がレジストリーはいじるの
は事故のもとだから、これ、作りました、というお話でした。

 もっと馬鹿みたいな顛末もあって。
 今変えた富士通高見沢系(懐かしい)のKBを使っているのですが(戻すのが
億劫)、これがまた20年もの(18年間は使われていなかった)。で、昔キー
トップを洗ったのですね。 そしたら、その復元時に <,>,?,_ の4つがずれてい
た。キー・ナーバスになってるところで、そんな機能キーもどきが狂っていると、
もう半狂乱。か、完全に狂ってる、このマシンと。
 ちがう、キートップを間違って戻したのだよ、君が、きっと15年くらい前に。
 祟りですね、まったく。

 ほんと面白い観察・感想の数々、ありがとうございました。
 そうか、いまどきは、電源落とさないなんてオプションもあるのか、と。レジ
ュームって偉大ですよね、ラムも消えないし。ドコモバでは常用してますが、そ
れ以外のマシン・環境で使えたことがなかった。
 はい、としきさんのアドバイスで、CMD 窓で、Vzを立ち上げたのは面白かっ
た。 あ、英語モードだけど起動したよ、command.com を cmd.exe は内蔵するだ
けは内蔵してるの? と。
 たぶん原理的には同じ理由で、keycode.exe  を CMD 窓で起動させると、英語
モードに。
 kcode32.exe も試しました。ただ情報が多すぎて、DOS ファンクションコール
でキー入力を見よう見まねでエミュレートするみたいなことを1回だけしかやっ
たことがない僕としては、あかん、訳が分からん、となりました。
 ゆっくり実験し勉強します。

 DOS 以前のことから最新のことまで分かる人が近くにいて、味方をしてくれる
と、ほんと心強いですよ。
 dis られてるなんて、これっぽっちも思ってません。
 しかし、vtdos には、まだぜったいに改良の余地があると思う(すいません)。
その部分を 10# さんは使われていないのだと思う。 これはこれで仕方がないこ
とで、我々がピンポイントに現象が再現する形でレポートするのが筋なのですが、
これが、また、、、、。
 「再現しません」とかね。

 困らせるだけみたいなサンプルを挙げると、 Vz は 16MB までのファイルを扱
えるはずなのですが、そのずっと手前でテンポラリーファイルエラーが出る、と
か。もっとも、これでは大ざっぱすぎて、困らせるだけですよね。
 恩を仇で返しているつもりはまったくないのですけれど。

 ふう、まだあと15年くらいはPCのお世話になり、個人情報管理もその助け
を得なければやっていけないので、まんじゅう怖いでなく、Win10 とかと仲良くして、
世渡り的に楽な方向を目指しましょうか。そのための苦労を厭わず(って言って
もねぇ)。いざとなれば、WinME はいつでも健在なんだから(これに依存してる
んだよ)。
 あのルーティーン化してる書類作製とかなんて、PCなかったら悪夢だ。お金
とかクレジットカード情報の管理とかも。

 車とPC。どっちも趣味の範囲で(実用・必要ふくむ)、死ぬまで付き合うの
だろうな、でも、PCには選択の余地があって、なしでも生きられるだろう、そ
んな選択をすることも十分ありうる、とは思ってます。車は、人を殺してしまう
ことがない、と信じられるところまで。
 信じてても、運が悪ければ、殺しちゃうのでしょうけれど。



08244/08113 GST01234 10♯ Re^9:VZキーの変
( 1) 18/10/07 19:40 08243:文太さんへのコメント

僕は長いことNEC98で仕事してたので短いスペースに移行出来なかったんですけど、
VZじゃなきゃ仕事出来ないのも同じような感じですね。
○○が変ったらもう○○出来ないって人いますよねw

kcode32.exeはWindowsがキー信号を受けてるかどうかの確認なので、
この場合ctrl+esc押して反応が返ってくるかどうかのテストだけで十分ですよ。
キーボードの仕組み上MB側やキーボード側のI/Fチップ(8251?)の不良でキーがピンポイントで
駄目になるのは考えにくいですね。
普通に考えると物理接点なんですけど、OSのドライバー周りの方が可能性が高い。
故意にキーリマッパーでいじってないとするとレジストリーが勝手に書き換わったとかそんなの?
て話なので、システムになんらか問題が起こってる事になる。

僕が使ってるメカニカルだと接点が接触不良を起こして入ったり入らなかったりするようなことはあります。
ミネベアも機械接点でしたっけ?

テンポラリーファイルエラーは僕も経験してますね。
大サイズのファイルはログの類が多いので、そこでVZは使わないって事で対応しています。
そもそもVZはEMSのハンドリングにちょっと怪しい部分はあると思ってます。
これは、その辺りのソースを見たり挙動の確認をした上での感想です。
EMMのAPIコールのログとかも取って調べたりもしてますよ。


僕の友達が戦時中のハーレーを所有してるんですけど、ナンバー取って車検通れば公道走れるんですよね。
エンジンのコントロールがスロットルだけじゃ無くて点火タイミングとかもコントロールする必要がある、
超絶ローテクですね。
もう保守部品も存分には無いはずなので、その運用は騙し騙しだったりとかってことだと思いますが、
僕にとってVTDOSやらVZやらはそんな感覚だったりします。
ネットワークっていう公道を走るPCが陳腐化することはあるかも知れませんけど、
ネットワーク自体から人が切り離されることは無いでしょうね。
そんなことがもし起これば暴動になるでしょう。水道と同じです。

余談ですけど、遠からずVTDOSのサポートは終了しようかと考えてます。


08245/08113 CXB00940 としき Re^7:VZキーの変
( 1) 18/10/07 21:10 08239:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

う〜ん、変。なのかな。

まず、Shiftキーに問題はない、ということでよろしいのですよね。
次に、該当マシンの[ESC]キーを単体で使って問題が起きるのか否か。

・他のソフトで[ESC]キー単体で問題発生?
・vtdosで [ESC] 単体で問題発生?
・vtdosで [CTRL]+[ESC] で問題発生?

という切り分けを行い、ソフト的に[ESC]がおかしい、という結果になった、と
言うことでよろしいでしょうか。
で、ソフト的におかしいのであれば、OSの再インストールで回復する可能性も
あるけど面倒、という結論だと読んだんですが、よろしいですかね。

もし、そういう結論であれば、大いに納得というか同意できます。
仮に、私が読み間違えているようであれば、ご指摘ください。


08246/08113 CXB00940 としき Re^9:VZキーの変
( 1) 18/10/07 21:18 08243:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

>  はい、としきさんのアドバイスで、CMD 窓で、Vzを立ち上げたのは面白かっ
> た。 あ、英語モードだけど起動したよ、command.com を cmd.exe は内蔵するだ
> けは内蔵してるの? と。

つい先日、HDDが壊れた実家のVistaでは、chcp 932 しないと日本語モードに
ならなかったのですが、職場のWin7では chcp 932 不要で日本語モードになります。
何かこの辺、あるのでしょう。

ところで、前にも話が出たことがあると思うのですが。
古いOSが必要なのであれば、最新の高速なマシンでOSそのもののエミュレート、
というのではダメなんでしたっけ?


>  困らせるだけみたいなサンプルを挙げると、 Vz は 16MB までのファイルを扱
> えるはずなのですが、そのずっと手前でテンポラリーファイルエラーが出る、と

これ、PC-98のDOS6でも経験しているので、ごく普通の挙動だと思っていました。


08247/08113 GST01234 10♯ Re^8:VZキーの変
( 1) 18/10/07 22:38 08245:としきさんへのコメント コメント数:1

文太さんの説明って切り分けを行った形跡がいつも無いですよねw

08248/08113 CXB00940 としき Re^9:VZキーの変
( 1) 18/10/07 23:27 08247:10♯さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

人間、煮詰まってくると、いろいろとヌケ・モレ・オチが発生しがち。
もっと煮詰まってくると、自分が煮詰まっていることすら自覚できなくなる。
いえ、私の場合、よくあることなもんで。


08249/08113 CRG00666 文太 Re^10:VZキーの変
( 1) 18/10/08 02:00 08248:としきさんへのコメント

 お手数をお掛けしております。

 Shift(右・左)、ESCのキー。これら個別の3つのキーについては、
問題は見られません。
 Shift+ESC (\[ESC]が vz macro 表記)にだけ問題があります。

 僕が出した結論、レジストリーかOSかキーボードの信号を解析・解釈
するドライバが壊れているらしい、については、僕もたいへんに疑わしい
と思っています。その組み合わせだけ壊れるの? 確率はすごく低いように
思えるけど。

 繰り返しですが、物理キーボードには問題がないと思っています。
2台で同じようにキーボードのチップや接点がおかしくなるとは思えません
から。

 他のアプリ。Shift+ESCってかなり特殊なキー・コンビネイション
ではないのかな、と感じています。これが使われているアプリが
見つかりません。

 さて、どう切り分け問題解決にせまるべきなのでしょう?
 健全なWin7マシンがあるので、それとの比較対象が最優先ですね。
 少しずつでも、答えを見つけていきたいと思っています。
 おそらく長く長くかかって、知るか、そんなこと、というふうに
なるような予感が強くあります。

 お騒がせしております。


08250/08113 CRG00666 文太 エミュ?
( 1) 18/10/08 02:44 08246:としきさんへのコメント

>ところで、前にも話が出たことがあると思うのですが。
>古いOSが必要なのであれば、最新の高速なマシンでOSそのもののエミュレート、
>というのではダメなんでしたっけ?

 これはないでしょう。使っている人が状況を報告しあっている場面を見たことが
ないのと、その環境にどんな制限・制約があるのかすら分からない状況で(けっこう
あるらしい)、僕ごときの低レベルユーザが挑戦する領域ではないですよ。
 この領域でパイオニアにはなれません。なれるなんて思うなよ、と。

 たとえば、linuxのdosemu(?)で、あじゃさんがVzに挑戦されてたと思います
けれど、その環境で快適にしてるという人にその後で会わなければ、僕は辞退して
しまいます。

 WinME以降、Vzの生存は一般ユーザにはかなり厳しいものになった。EMSが
取れなければ話にならない、MEにおいてすら、という認識です。
 そんな意味で、EMSmagicとVTDOSは、救世主だったんだろうな、という感想です。

 このような防戦一方なんだったら、いっそ、Vz卒業したら? とも思います
が、たかだかあと15年です、あのジャンクの山を整理できたら、PCに僕が期待
することは、やっていけるだろう、というところなんですよ。知ってたと思うけど。

 過去にしがみつくなら、とことんやれ、所詮パソコンという情報処理機械の
話なんだから、と言ったら不快かな。それでも、思いもかけず、面白い趣味を
見つけたものだよね、とも思ってます。
 本を作るという意味では、ものすごくお世話になったし、MS-DOSとVzがあった
からやれた、という部分は間違いなくあります。これからも、そうでしょう。

 Progressive和英辞典。Win95あたりのMS Bookshelfに入っていた辞書。これが
テキストで処理できるなんて、夢みたいなんですよ。大学2年生のときに感動
した辞書です。つい先日も感動した。板橋先生、さすがです、と。
 (現代語に翻訳すれば)高校生のときに、「頭のアルファベットだけ入れて、
ワイルドカードを使って、タイプライタのように辞書ひければいいのに」と
思った記憶が今でも強烈です。それが実現した。
 正確にはそれ以上。だって例文を検索することも、そこで正規表現を使うこと
だって、できるのですから。グレップ、正規表現、タグジャンプ、ファイルの分割法、
Vzの扱えるファイルの限界、ビューモード。覚えてよかった。経験のなせる技。
 自画自賛は育ちの卑しさを物語ってしまうよ、、、。

 今は、紙の辞書を引くのに幸福感を覚えてますけどね。
 過去、ですねぇ。
 でも経験は蓄積する。消耗品ではない。
 過去を捨てるなんて、できないことなんだよ。時々わすれられるけどね。
 たかだかPC、それもDOSソフトの話なのかなぁ。(^^;



08251/08113 CRG00666 文太 Shift+ESC
( 1) 18/10/08 03:02 08245:としきさんへのコメント コメント数:2

 切り分け、ありがとうございます。

>Shiftキーに問題はない
 ありません。

>[ESC]キーを単体で使って問題は?
 ないですね。

>他のソフトで[ESC]キー単体で問題発生?
 これもありません。

>vtdosで [ESC] 単体で問題発生?
 ありません。

>vtdosで [CTRL]+[ESC] で問題発生?
 Shift+ESCで、Vzで、あります。
 それ以外では、分からないのです。

 vtdos環境で、dosエミュ環境で、このキーが機能するアプリって、Vz以外で、
思いつきますか?

 Shift+ESCが、コンソール参照というかなり特殊な機能に割り当てられてる意味
は何なのだろうと考えています。

 コンソール参照の機能って、僕は最初かなり感動しましたが(いかにもDOS
コマンドラインもVzが管理してるという感じで)、VzのためのVz、マクロ
のためのマクロ、掲示板に結果を報告するための機能以外としては、意外に使わ
ない機能なんだろうな、と考えています。

 10#さんも、としきさんも、Ctrl+ESC って書いていて(これはVzマクロキーにな
いですよね)、Shift+[ESC] は、ほとんど使ってないんだろうなとの感想を持ち
ました。
 僕も、日常業務では、ほとんど使わない機能だったな、と思い至りました。
 それでも、いつもいつもリダイレクションというのは、けっこう辛いですね。



08252/08113 CRG00666 文太 Win7 の command.com
( 1) 18/10/08 03:26 08246:としきさんへのコメント


 夜中にふらふらしながら、失礼いたします。

>つい先日、HDDが壊れた実家のVistaでは、chcp 932 しないと日本語モードに
>ならなかったのですが、職場のWin7では chcp 932 不要で日本語モードになります。
>何かこの辺、あるのでしょう。

 この件なのですが、command.comをWin7は持っていました。\system32\にあり、
これがVzの起動を可能にしていたようです。

Win7 root にて。
>tosfind /ncommand.com
 で、7つくらいヒットしました。3つは僕が持ち込んだ古いcommand.com。
 所要時間、5分くらい?

 cmd.exeがcommand.comを内蔵してるなんてことはないと思っています。

 chcp932については、僕も、えっ、と思う経験をしています。
 が、これはとしきさんに受けない姿勢だろうと思いますが、でも、vtdosが
なければ、ckwvがなければ、普通のVzは今時のOSでは無理です、という
ことだと思っています。
 深追いなしです。


08253/08113 GST01234 10♯ Re: Shift+ESC
( 1) 18/10/08 03:39 08251:文太さんへのコメント コメント数:2

僕の"ctrl+esc"はshift+escの間違いですね。
この機能は僕も水や空気のように常用してますよ。
コンパイル→タグジャンプ→編集とか、開発のルーチンです。

切り分け過程が明確になれば無駄な推測も省略することが出来ますな。

shift+escはオリジナルのFreeComが対応してなくて、
改変して対応させた事があります。

これってVZのキーバインドの問題じゃないですかね?
これに類似する問題は僕も経験がありますが、
僕のVZはファイラーでのメニューキーが正常に機能しない事があるようです。

DEFをいじったときになにがしか問題が起こることはありますけど、
そういうときに、一つ前のDEFに戻したりとか、差分を抽出したり、
アタリ付けてコメントアウトしてテストするとかは何回かやったことあります。


08254/08113 CRG00666 文太 Re^2: Shift+ESC
( 1) 18/10/08 09:20 08253:10♯さんへのコメント コメント数:1

その後

 それでは、とりあえず、ここに繋げさせていただきますね。

 朝一の健康の頭で単純に、順序良く、的をしぼってやってみました。

 僕の結論は、Win System(ハードのどっかも含む) に不具合がある、Vzを含む
vtdos環境に原因があるわけではない、すると、やはりほおっておいて、マシンを
新調したときに直ってくれることを期待するより他にない、というものです。


 結論を出したやり方は、組み合わせ的に少しだけ複雑。
 しかし、keycode.exe と kcode32.exe でだけ調べればよい、vtdos 環境、CMD
窓環境(非 vtdos 環境)を比較すれば良い、2台のマシンで比べる、と道は
単純化されています。

 ツール: keycode.exe, kcode32.exe の2種。
 方法1:2台のマシンの比較:
      不健康機(デスクトップ、HP 8100 Elite)と
      健康機(ノート、Dell Latitude)
 方法2: Vz 内(vtdos環境)とCMD 窓(非vtdos環境)の比較

 2台のマシンで差異があり、問題マシン(デスクトップ)においては、2種の
ツールで、\[ESC] で、ほぼ反応がない。 健康マシンでは常に反応がある。そして、
この大きな違いは、vtdos環境、非vtdos環境でも同じく観察される。
 問題機はいつも問題機である、vtdos 環境は関係がない、ということ。

 もっとも、 どちらのツールも ESC で終了し、Shift+[ESC] でも終了してくれ
るので(想定されている不具合ゆえデスクトップ機はほぼ終了しないが、両機で
kcode32は、シフトだけの状態だけでも反応するので)、キーを押すタイミングに
よって、どう検査結果を出してくれているのか、けっこう分かりづらかった。

 強いて教訓を引き出せば、可能なら不具合のない環境・状態と比較対照できる
と切り分けで混乱しないよ。あるいは、実験ツールの正しい使い方(keycode.exeとか)
が分かりやすいよ、ということでしょうか。


 キーボード自体は、昨日変更したままなので、ここに物理的な問題があるとは
思えません。問題のマシンに接続された2台(2種)のキーボードで、同じ現象。

 少しすっきりしました。こっから先は大規模な作業をするしかないから、問題
を無視し、コンソール参照は \[F01] という別のキーで行う。
 これ以上の調査と問題解決は、もうできないだろうと思ってます。

 お世話になり、お騒がせいたしました。
 どうしてもマルチ・タスクになってしまう日常で(したがる性分で)、混乱して
しまいました。お手数をお掛けいたしました。
 また、貴重な知恵、アドバイス、励まし、ありがとうございました。



08255/08113 CRG00666 文太 Re^2: Shift+ESC
( 1) 18/10/08 09:24 08253:10♯さんへのコメント

>shift+escは僕も水や空気のように常用してますよ。
>コンパイル→タグジャンプ→編集とか、開発のルーチンです。

 ですよね。ただ、GNU系のグレップに長らくタグジャンプ用のタグ
出力がなかったというのは、統合環境で開発するからなのかなぁ、とか
思っていました。
 -tがあるグレップを見たことがない。最近の -Hn (ファイル名と
行番号)は、ちょっと前までなかったようです。


08256/08113 BQO00549 konno Re^7:VZキーの変
( 1) 18/10/08 21:06 08239:文太さんへのコメント コメント数:1

>  CMD窓で、健康と思われるノートと比較した結果、このメインのマシンは、明らかにおかしい。
>  <2:01B>で終了するのが正しいのでしょう。このマシンでは反応しないことが非常に多く、
> たまにそう反応することがある、くらい。
> >この全てで駄目なら、ハード的に駄目になっている可能性が高いでしょうね。
>  この結論に賛成。

可能性としては、OSレベルのキーテーブルがそこだけおかしくなっているという
事もあり得ると思います。

私なら、復元で、一月前くらいに戻してみると思います。
今まで何度もやっていますが、それでおかしくなったことは無いので。
ただ、今のPCは復元できない(HDに空きがない)ので、何とかしないと。

>  しかし、マシン、死ぬの早すぎ。3年つかったっけ? 中古だからなぁ。でも、
> 短命すぎる。ジャンク買っても、こんなに早く死なない。

うちのノートもキーボードがよく壊れます。猫に引っかかれたりするもので。
今使っているのも、"F6"が傾き、"T"キーが外れやすくなっています。(^^;
前のやつは、外付けキーボードで暫く凌いでいたんですが、あまりボロボロに
なったので買い替えたしだいです。

そろそろコア4くらいのに買い替えないと、寿命が近いかもしれないし。(^^;
そうなると、当然64ビットにするので、DOS窓は無くなってしまいますね。

> あのチャームとやらをまず殺さなければ。殺すか殺されるか、ですね。悪い、殺す。

10#さんも言っていましたが、私もWin10でチャームは記憶に無いですねぇ。
慣れればWin7より悪い、とは思わなくなってますね。



08257/08113 GST01234 10♯ Re^3: Shift+ESC
( 1) 18/10/08 21:42 08254:文太さんへのコメント コメント数:1

konnoさんの推測(Windowsキーテーブル)の話は次のサイトが詳しいです。

ttp://exlight.net/devel/windows/keyboard/index.html

レジストリのエントリーはこの辺りになりますね。

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

OSの問題なら一番怪しいのはここなんですが、これがもし書き換わってたとするなら、
その原因はなんなのか?ということにはなります。

08260/08113 CXB00940 としき Re: Shift+ESC
( 1) 18/10/09 02:16 08251:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

自分のところの掲示板にいっぱい書いていて、そろそろ眠くなってきました。
ということで、朦朧とした頭で一つだけ。

私、職場のWin7マシンではCMD窓で[SHIFT]+[ESC]って多用しているんですよ。
何やっているかというと、VZTOWER.DEFとかFREECELL.DEF。
それはさておき、Vzでは[CTRL]+[ESC]ってアサインできないんでしたっけ。
えっと、[CTRL]+[Fn]はアサインできるんですよね。
なんかこの辺で混乱を来たした可能性があります。


08261/08113 DGF01024 めざら [CTRL]+[ESC]
( 1) 18/10/09 08:15 08260:としきさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/

> それはさておき、Vzでは[CTRL]+[ESC]ってアサインできないんでしたっけ。

そういえば使ったことないなぁ…と思って実験してみたら,
カスタマイズエラーにならないけれど,マクロの実行はできませんでした.(HP200LX)

Windows環境だと,スタートメニューに取られちゃいますね.
他の環境がないので,実験は中途半端.

資料的には,^[ESC]はキーの値として「0xDA(218)」を発行することになっています.
LXは色々通らないキーがあるので,実はよくわからなかったりします.	



08262/08113 CRG00666 文太 復元、チャームなど
( 1) 18/10/09 18:03 08256:konnoさんへのコメント

 ありがとうございます。

>私なら、復元で、一月前くらいに戻してみると思います。
 うーん、これがしたくない事情がありまして。
 もっとも、XPのときは何度もやったのに、今回、思いつきませんでした。
老化っていうか、不注意っていうか、怠惰っていうか、、、。
 お知恵、ありがとうございます。

>うちのノートもキーボードがよく壊れます。猫に引っかかれたりするもので。
>今使っているのも、"F6"が傾き、"T"キーが外れやすくなっています。(^^;
 ぜんぜん違う話でしょうが。☆\(^^;)
 お気遣いに感謝。

>そうなると、当然64ビットにするので、DOS窓は無くなってしまいますね。
 なるほど、そういう意図なんですね。了解。

>10#さんも言っていましたが、私もWin10でチャームは記憶に無いですねぇ。
 すると、Win8.1だけなのか。ありがとうございます。
 Win8.1とWin10機(もちろん両方ノートです)を探し出して確認するのに2、3日
かかると思うので、ごっくんさせていただきます。

 そう、OSなんて慣れてしまえば、なんですよね。ただ同時にWinMEとか使って
いると(手放さないねぇ、こいつ)そっちを卒業できないものだから、いつまでも
違和感が残る、、、。
 XPにはけっこう慣れたんだけどねぇ。


08263/08113 CRG00666 文太 Windowsキーテーブルとレジストリエントリー
( 1) 18/10/09 18:05 08257:10♯さんへのコメント コメント数:1

 ありがとうございます。
 次のステップとしては、そちらに進むのがロジックというものなのですね。そうだろうな、
と僕も少しだけ空想していました。「0000」のヘッダ、抜かすな、みたいなのを違うサイトで。
 ただ、僕にも分かるのは、疲れてるときに手をだしていい事柄じゃないということ。そして、
時間かかるよ、その勉強、ということ。
 色んな事が落ち着いたら、いつか挑戦してみたいと思います。
 多謝。

 原因は(上のどちらかであったとして)、皆目見当もつきません。何かのアプリを
入れたとき? ぐらいです。
 ま、マシン全体の健康度については、瀕死の重態ではなかろうと思っています。ただ、いつ
壊れるとも知れないので(防災だ)、それへの対応策は講じておいたほうがいいですね。
 ちょっと失うわけにはいかないものが、かなりありました。



08264/08113 CRG00666 文太 ^[ESC], @[ESC]
( 1) 18/10/09 18:06 08261:めざらさんへのコメント

 DOS機の出番というわけですね。

=== Macrotmp by B ===;
* M
50 ^[ESC] ""
&m("^[ESC]")	;OK!

51 @[ESC] ""
&m("@[ESC]")	;OK!

52 \[ESC] ""
&m("\[ESC]")	;OK!

*
 お、驚き! 
 3つ目が、いいな健康そうで、という言葉をこぼれさせる。
 色々な事柄が好転してきているのだろうと、お喜び申し上げます。


08265/08113 CRG00666 文太 Fn
( 1) 18/10/09 18:08 08260:としきさんへのコメント

--- from keytewak.doc (or .help) ---
Keytweak cannot affect the Fn key of most laptops. This because the Fn key
itself does not generate a scancode, but rather modifies the scancode of other keys
on the keyboard. The scancode modifications take place upstream of
KeyTweak's functionality.

 これの話、してませんよね。このnの使い方、たしかに難しくて、Vz1.6マニュアルか、
mac16.docの中でどうするかで、c.mosさんと田野村さんの間でもめた、というか、うーん
な会話がありまいた。がんがん、ずれてゆく。

(以下は参考、何?)
Keytweak cannot combine keystrokes. You cannot merge Ctrl+Alt+Del into a
single key for example, nor can you map Alt+num key sequences into a single
key. The reason for this is because each keystroke generates a scancode and
multiple scancodes are typically combined into a single keycode by the keyboard
processor. The keycode combinations take place downstream of KeyTweak’s
functionality.

 [F01]
\[F01]
^[F01]
@[F01]
 は、ファンクションキーラベルにも使えます。
 「わざと! に、30点」。「はらたいらさんに、50点」。
 難しいんだよねぇ。そういう難しさは、、、。


08266/08113 GST01234 10♯ Re: Windowsキーテーブルとレジストリエントリー
( 1) 18/10/09 20:20 08263:文太さんへのコメント コメント数:1

別にレジストリエントリーをいじる必要は無いんですよ。
ただ、健全なマシンとこれを比較すれば、問題機の原因がこれかどうか特定出来ます。

08267/08113 CRG00666 文太 意図した長文です m(__)m
( 1) 18/10/10 01:03 08266:10♯さんへのコメント コメント数:2

 とはいえ、最後の部分は、まったく意図しておりませんでした。シェアウェア
・ユーザの責任として書きました。


 『Hero』というキムタク主演のTVドラマがありました。中卒の検事なのに、
しょっちゅう徹夜して事件を調べあげ(く、くそ寝れんという場合以外、僕は意志
してこれをやったことがありません。意志に反してその経験をすると、人生最大の
不幸を感じます)ガンガン正義しちゃうクールで通販オタクの彼もかっこいいので
すが、ヒロインの松たか子がかわいんだよな、と思っています。彼女の成長物語
だよ、と。おそらく第一シリーズの最終話で、これから左遷されるキムタクに、
松がカメルーンのサッカー選手の名前を暗記して伝えるシーン、その表情は、女
優松たか子が本物の職人であることを示していたように思います。「カメルーン
代表の名前を全員言えたら、ワールドカップに連れて行ってやる」という約束だ
ったのです。松はサッカーなんかに興味はまったくなかったのに、恋する、そし
て尊敬するキムタクのために、選手の名を11人分、ぜんぶ言ってのけるのです。
カメルーンです。彼女が言うとおり、「変な名前ばっか」です。

 ご存知のとおり、松たか子のお父さんは松本幸四郎で、彼がゲスト出演して、
キムタクの敵・ライバル・教師役をする回があります。よくあるように、教師が
教え子から何かを学ぶという要素は、ちゃんとあります。松本はヤメ険の弁護士で、
キムタクの恩師小玉清(正義派の超エリート次席検事。中卒のキムタクが検事に
なったのは、小玉のようになりたかったから)と同期の仲なのですが、官僚制に
うんざりして、少しは正しくありたいと思ったからだったと思いますが、弁護士
になりました。現実の父娘の関係もちょっと面白いのですが、松本弁護士とキム
タク検事の勝負は、くだらないと言えばくだらないし、デキレースともメロドラ
マとも言えるものでした。でも、久利生検事(キムタク)は前向きでひたむきで
す。「好きっすよ、千本ノック」と言って、松本幸四郎のしごきに耐えます。

 この台詞はドラマ的には決めるよねぇ、とは思わせてくれましたが、千本ノック
を僕は、生まれてから好きだとか思ったことがない、ノック50本で勘弁して
くださいよ、と実際に言ってたな、と昔のことを思い出しました。へたれ〜、と。

 長く下らないお話におつき合いくださいまして、本当にありがとうございます。
 でも、これ、千本ノックです。

 レジストリはね、この巨大ファイル。 これを A.reg として8GBのUSBメ
モリにコピー。健康機のレジストリを B.reg として、同じくコピー。>FC -b A.
reg B.reg としてごらん。というわけにはいかないでしょう。まさかその2つの
中に、 Shift+ESC=0000999977771234 って書いてあるわけもあるまい、と想像し
ています。

 おつき合いくださり、ありがとうございました。


 VTDOS のサポート終了は、さすがにもう、作者の権利だろうと僕は考えていま
す。もしかしたら、少しだけ早いかもしれませんが。
 違う板で書いたのですが、vtdos は商品だったのでそういうわけにはいかない
のかな、とか、そもそもそうすべきなのかもわかりませんが、いちおう伝えてみ
ます。Vzの伝統文化では、卒業するときソースや資料を後輩にゆずって去ると
いう習慣が、一部にはあり踏襲されてきました。サポート終了と卒業は違うのだ
ろうと思いますし、 10# さんがVzと vtdos を卒業するとき、我々の誰かが残
っているような気はしませんが、こんななかなかないぐらいに美しい、伝統文化
のことを、ご一考くだされば幸いです。

 サポートと言わずとも、へたれの面倒をこれからも時々ぐらいはみてくれると
嬉しいのですが、とは、さすがに、言えない。僕としても、あの、虫よしすぎ、
と思いますので。v(^^)z

 そうそう、PCがなくなることはあるでしょうが、ネットワークがなくなるこ
とはないでしょう。これは、大して深く理解できてはいませんが、なるほど、そん
な感じがする、と思えた、ありがたいお言葉の一つ、教えてもらったことの一つ
でした。

 文太って奴にはうんざりするな、との感想をもっていただくことを目的に長々
と書きました。意図です。



(参った。予定外)

 ここのところ、vtdos 落ちないねぇ、もしかしたらマクロを書いてないから?
と思っていたら、今落ちました。整形マクロを走らせようとしただけです。
オープンファイルは1枚。 ファイルサイズは、241,927 bytes.  今落ちたので、
こんなことを書くつもりはまったくなかったのですが、やはりレポートします。
 としきさんは、ああ言ってますが、証拠も何もないのですが、体感として、こ
んな落ち方、XP でも ME でも、ありませんでした。 頻度もぜんぜん違います。
 まったく憶測ですが、10#さん以外のvtdosユーザは知っている事実なんじゃな
いのでしょうか。ただ言わないだけ? 今アクティブな2人+1人の感想につい
ては、まったくの憶測です。間違っていたら、本当にごめんなさい。

 同じVz環境を WinME と Win7 でほぼ毎日生きている僕には、これがVz本体
のEMS処理が原因だなんて、これを伝えなければならいことを本当に申し訳ない
と思うのですが、ちょっと信じることはできません。
 作者さま、もしかしたら、その推測は間違っているかもしれません、と伝える
のもユーザの責任かな、と。
 協力もできないので、ある意味では無責任、でも責任感も少しあって、お伝え
しました。
 お客様の我侭ではないつもりです。

 すごく運が悪いようで、申し訳ないと思っています。
 「簡単に言うなよ」。分かってます。現在の状態で、もうあり得ない幸運を我々
は生きてきました。分かっています、分かっているつもりです。本当です。

 念のため申し添えますと、これは問題機であるデスクトップではなく、DELLの
ノートのほうで書いています。マシンがおかしくて落ちた、ということは、99%
ありません。
 ざっくばらんに言うと、日常的に落ちています。僕は、10#さんがよくこれで
プログラム開発ができてるな、と前から思っておりました。Vzの使う所が違う、
まったく違う、と。

 本当にごめんなさい。
 今日、こんな展開になるとは思っておりませんでした。

 先ほど落ちた直後に、同じファイルを読み込んだときのメモリの状態です。

C:\>vmap
VMAP Version 2.01  Copyright (C) 1989-91 by c.mos

addr PSP  blks   size  owner/parameters           hooked vectors
---- ---- ---- ------  -------------------------  -----------------------------
FE01-FF00   1    4080  <free>
                       --- UMB total:   4 KB ---
1001 10ED   3   20384  command                    23 24 2E
14FE        1    2160  <free>
1587 <--    1    1648  vwx 1.08b -z2 -l6144 -x1   2F
15EF <--    1      48  vkeyc                      15
15F3 <--    2  193168  vz 1.60t -z                1B 21 29
451E-9FFE   1  372224  <free>

----- EMS ver4.0 (frame: C000h) -----       ----- XMS ver2.00 -----
handle pages   size  name                   HMA used: 63 KB by DOS
------ ----- ------  --------               EMB free: 32767 KB
     1     2    32k  for Vwx!
     2     6    96k  VZ
  free  2040 32640k
 total  2048 32768k


 vtd_err.log  351,907  2018-10-09  23:49
 これをお送りすることに、意味はありますでしょうか?



08268/08113 GST01234 10♯ Re: 意図した長文です m(__)m
( 1) 18/10/10 01:18 08267:文太さんへのコメント コメント数:2

前半部分は読み飛ばしてます。

レジストリの比較は出来ないと思いますけど、レジストリエントリの比較は出来るんじゃ無いですかね?
例えば僕のマシンだとこんなような内容です。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,08,00,00,00,79,00,01,00,01,00,29,00,\
1d,00,3a,00,3a,00,1d,00,37,00,46,00,29,00,79,00,00,00,52,e0,00,00,00,00

vtdosが落ちてる場合エラーログが出来てるかどうかは不明ですがタイムスタンプは近いですね。
落ちてる原因になってるかどうかは分りませんが。

08269/08113 CXB00940 としき Re: 巨大な全体から一部を取り出し
( 1) 18/10/10 14:04 08267:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

もともと私は芸能関係に弱くて、ドラマというものはもう数十年見ておりません。
キムタクという人物がいることは知っておりますが、おそらく、高い確率で、顔
を見ても判別がつかない可能性が高そう。女優さんに至っては、高い確率どころ
ではなく、「非常に」高い確率で判別不能という自信あり。
当然、俳優の親子関係なんていうのはほぼわからない。船越親子とか中井さんの
ところの親子兄弟ぐらいは知識として知っているけど、やっぱり顔がわからん。
ということで、そっちはさっくりパスさせていただいて。

>  レジストリはね、この巨大ファイル。 これを A.reg として8GBのUSBメ
> モリにコピー。健康機のレジストリを B.reg として、同じくコピー。>FC -b A.
> reg B.reg としてごらん。というわけにはいかないでしょう。まさかその2つの
> 中に、 Shift+ESC=0000999977771234 って書いてあるわけもあるまい、と想像し
> ています。

regeditを立ち上げて、レジストリエントリ(左側の部分)で右クリック。
すると「エクスポート」という項目があるので、それを選択しファイル名を指定
して保存。デフォルト拡張子は .reg になるのかな。
こうして保存したファイルはテキストファイル。あいにく、UnicodeなのでVzでは
開けないけど、メモ帳ではオープン可能。そして、メモ帳でANSIで保存すれば、
当然、Vzでもオープン可能となります。
特定のエントリだけなら、そんなに巨大なファイルにもならないでしょう。


>  としきさんは、ああ言ってますが、証拠も何もないのですが、体感として、こ
> んな落ち方、XP でも ME でも、ありませんでした。 頻度もぜんぜん違います。

私の経験では、PC-98のDOSの場合、大体13MBを超えると高い確率で落ちました。
高いといっても、2%に満たない割合ですけどね。


08270/08113 CRG00666 文太 レジストリ無傷
( 1) 18/10/10 15:08 08268:10♯さんへのコメント コメント数:1

>レジストリの比較は出来ないと思いますけど、レジストリエントリの比較は出来るんじゃ無いですかね?
>例えば僕のマシンだとこんなような内容です。
 ありがとうございました。ヘッダは二桁ゼロ8個でした。で、一瞬、違う! と思ったのですが、
エントリー項目(?)の順番が違うだけで、内容は同じでした。僕にとっては永遠になされるキー入れ替え
ですね。caplock<->ctrl, esc<->zenhan。終端のヌルをカウントして5。
 ノック51本目? でも、打ち止め?
 お陰様で、まあ引っかかりはしますが、僕はもう不安の外にいます。


08271/08113 CRG00666 文太 レジエン・エクスポート
( 1) 18/10/10 15:13 08269:としきさんへのコメント

 ありがとうございます。

>regeditを立ち上げて、レジストリエントリ(左側の部分)で右クリック。
>すると「エクスポート」という項目があるので、それを選択しファイル名を指定
>して保存。デフォルト拡張子は .reg になるのかな。
 最初わからなくて逃げたのですが、よーく10#さんの書き込みをみたら、あと別のサイトを
みたら、必要最小限の知識は瞬間的に得られたので、手と目と紙とシャーペンでやりました。
 でも、としきさんのヒントがあったから、これがやれると思いました。
 はい、恐かったです。


08272/08113 GST01234 10♯ Re: レジストリ無傷
( 1) 18/10/10 15:26 08270:文太さんへのコメント コメント数:1

> エントリー項目(?)の順番が違うだけで、内容は同じでした。僕にとっては永遠になされるキー入れ替え
> ですね。caplock<->ctrl, esc<->zenhan。終端のヌルをカウントして5。

てことはキーリマッパー使ってるんですね。KeyTweakとは違いますが。
しかし結果的に原因は不明ですね。
原因不明なことが明確化して、ある種の不安は取り除けましたけど、
超微レベルでシステムが破局してるようなので、いよいよ抜本的な解決方法しか無くなって来てるように思えます。

読んで無くてあれなんですけど、僕テレビ一切見ないんですよね。
そんな時間ないんで。
「キムタク?知らんがな」て感じです。

08273/08113 CRG00666 文太 ラップアラウンド
( 1) 18/10/10 15:45 08268:10♯さんへのコメント コメント数:2

>vtdosが落ちてる場合エラーログが出来てるかどうかは不明ですがタイムスタンプは近いですね。
>落ちてる原因になってるかどうかは分りませんが。

 これは、10#さんのところでも、よく見る現象ですか? 直らない複雑な事情が
あるのでしょうか? (だろうと思っています)
 それとも、もしかしたら僕のオペミス? これはちょっとないと、思うの、だけど、、、。

2018-10-09 23:49:11 VZ(15F3) 15F3:DC5B 'REP MOVSW 命令ラップアラウンド'

AX=000C BX=269C CX=009F DX=FF7D SI=2440 DI=FFE4 BP=CF52 DS=D000 ES=C000 FLAGS=0206

CS:IP=15F3:DC5B
15F3:DC4B 67 EB 8E C0 58 8B F7 36 8B 3E 40 06 51 56 F3 A5 
15F3:DC5B 5E 59 36 03 36 46 06 48 75 F2 8B C7 40 40 36 87 

SS:SP=2532:CE28
2532:CE18 02 00 00 00 00 D0 C0 12 9F 00 9C 26 7D FF BE C7 
2532:CE28 40 24 9F 00 32 25 32 25 B4 BB 5A 3B 83 10 1A 17 

 時間的にほぼ間違いないんです。
 このあと僕はすねてタバコすって、下らない文章に手直しをし、そしてレポートを書いた
ので、1時間以上のラグがあるのが正しいからです。

 4年半で、70回程度起こっていたようです。ygrep, diffdirもありましたが、これらは
なにかミスオペっぽいと思う。各1回。
 残りの70回はVz。
 なんか、昨晩のは、ものすごく分かりやすい、現象を再現させることすらできるかも
しれない(まだできてませんが)ぐらいに、なんだろう、単純、基礎的なことが起こっている
ように感じられるのですが。
 連発しています。
 ブラウザがWindowsメモリで何かして、それにvtdosが引っかかるとか?

 曖昧でも、こんな感じだと思うけど、だけでも、避けるヒントになると思うのですが。
甘いか。ヒントを活用できる自信は、まったくないですね。
 少しだけですが意識的になったので、さあアップ、というところで、seikei.defする前に、
ファイルセーブ、これが現在、身につけようとしている習慣です。


08274/08113 CRG00666 文太 落ちる?
( 1) 18/10/10 15:46 08269:としきさんへのコメント コメント数:2

>私の経験では、PC-98のDOSの場合、大体13MBを超えると高い確率で落ちました。
>高いといっても、2%に満たない割合ですけどね。
 これはリードオンリーですか、ビューモードですか、どっちもなしですか?
 そんなこと、危険だから止めたほうがいいと思うよ。
 どのモードにせよ、vtdosで10MBのファイルでやる勇気はありますでしょうか? 必要性
を含めて教えてもらって、ご回答いただいて構わないのですが。m(__)m
 教えてもらってもね、根性と勇気の問題になってしまう。

 しかし一緒くたにしたのは僕ですが、昨晩の事例は、僕だけ? ファイル1枚。200キロ
バイトだよ? これは頻発していた。同じパターンのことが何度も起こったことがある。
seikei.defとexmenu.defがいけないとは思えない。他で同じ操作を100回以上、もしかしたら
1000回ぐらいやってきたけど、落ちたことないもの。途中webをみたけど(これが臭い)、
Vz的にはそのファイルしか弄っておらず、seikei.defで、どん。
 またまた曖昧な空想ですが、僕のばあいには、たまたまseikei.defだった、ということ
だと思ってます。



08275/08113 CRG00666 文太 Re^2: レジストリ無傷
( 1) 18/10/10 15:51 08272:10♯さんへのコメント

>てことはキーリマッパー使ってるんですね。KeyTweakとは違いますが。
 うは、見てわかるんですね。KeyTweakは物理的破損のチェックのためでした。
 キーボードを入れ替えたので、そっちに原因がないとなったのに、前から
抱えていた疑問に解答を出してくれる、面白いdocをちらと読みました。m(__)m

>しかし結果的に原因は不明ですね。
 はい、ありがとうございます。
 本当に貴重なお時間を取らせてしまいました。m(__)m


08276/08113 GST01234 10♯ Re: ラップアラウンド
( 1) 18/10/10 16:56 08273:文太さんへのコメント コメント数:1

> 2018-10-09 23:49:11 VZ(15F3) 15F3:DC5B 'REP MOVSW 命令ラップアラウンド'
> AX=000C BX=269C CX=009F DX=FF7D SI=2440 DI=FFE4 BP=CF52 DS=D000 ES=C000 FLAGS=0206
> 
> CS:IP=15F3:DC5B
> 15F3:DC4B 67 EB 8E C0 58 8B F7 36 8B 3E 40 06 51 56 F3 A5 
> 15F3:DC5B 5E 59 36 03 36 46 06 48 75 F2 8B C7 40 40 36 87 
> 
> SS:SP=2532:CE28
> 2532:CE18 02 00 00 00 00 D0 C0 12 9F 00 9C 26 7D FF BE C7 
> 2532:CE28 40 24 9F 00 32 25 32 25 B4 BB 5A 3B 83 10 1A 17 

Microsoft Symbolic Debug Utility
Version 3.01
(C)Copyright Microsoft Corp 1984, 1985
Processor is [80186]
-e100
3C70:0100  2E.67   8B.eb   16.8e   68.c0   92.58   2E.8b   03.f7   16.36
3C70:0108  64.8b   92.3e   4A.40   B7.06   07.51   CD.56   10.f3   2E.a5
3C70:0110  8E.5E   06.59   99.36   93.03   E8.36   91.46   C0.06   5E.48
3C70:0118  E8.75   95.F2   00.8B   2E.C7   A0.40   4E.40   0E.36   E8.87
3C70:0120  D2.
-u 100
3C70:0100 67             DB     67
3C70:0101 EB8E           JMP    0091
3C70:0103 C0588BF7       RCR    Byte Ptr [BX+SI-75],F7
3C70:0107 368B3E4006     MOV    DI,SS:[0640]
3C70:010C 51             PUSH   CX
3C70:010D 56             PUSH   SI
3C70:010E F3             REPZ
3C70:010F A5             MOVSW
-u
3C70:0110 5E             POP    SI
3C70:0111 59             POP    CX
3C70:0112 3603364606     ADD    SI,SS:[0646]
3C70:0117 48             DEC    AX
3C70:0118 75F2           JNZ    010C
3C70:011A 8BC7           MOV    AX,DI
3C70:011C 40             INC    AX
3C70:011D 40             INC    AX
-q

これは D000:2440 から C000:FFE4 へ 9FH×2バイト転送しようとしてるんですが、
おかしなアドレスからEMSの特定の場所におかしなバイト数転送しようとしてるのが分りますか?

csを見る限りVZ内で起こってるんですが、このcs:ipで示されてるコード列に該当する
ソースがDOS/V版では見当たりません。

Vzはメモリー転送はなんらかの下請けルーチンで行ってることが多いのですが、
おそらくこれの呼び出し側がおかしなパラメータを与えてるということです。
C的な表現をするとポインターの内容が狂ってるって状況なのですが、
それが何故そうなったのかここでは判別することが出来ないということです。

こういったことは僕も非常に低い確率ですが経験はしています(直近が2017/1)


08277/08113 GST01234 10♯ Re: 落ちる?
( 1) 18/10/10 16:58 08274:文太さんへのコメント コメント数:1

僕の経験上ですが、64キロを越えるファイルの、特に複数個の編集はおすすめしません。


08278/08113 CRG00666 文太 Re^2: ラップアラウンド
( 1) 18/10/10 20:51 08276:10♯さんへのコメント コメント数:1

 たいへんに、ありがとうございました。完璧です。
 おおまかには分かったつもりです。分からない点を家庭教師してもらうのは
搾取なので。m(__)m
 「低い確率」か。いや、年月日まで正確に入れていただき、怖いくらいに信頼感
がありました。
 ソースに該当コードが見つからず、それを呼んでいる元が分からない。了解です。
いつまでもいつまでも、追い続けてみたいと思います。分かる日が来るかもしれません。
まったく不可能というわけではない、と感じるのは、やはり傲慢というものでしょうか。
 「64KB」了解です。こういう具体的な目安は、安心感を与えてくれます。小さい
ファイルみたいに見えるかもしれませんが、実際上、失くすわけにはいかない作業中の
ファイルは、その瞬間に大事なファイルは、じつは常にそれ以下です。本当に。過去
の事例で確認しました。大丈夫。
 なんでも書く雑記帳ファイルがc:\aaa.txt(このファイル)。これを旧版に送り込み
0バイトからスタートさせました。これが多くのトラブルの原因だ、おそらく。

 ほんとうにありがとうございました。
 このマシン、元気になるかも。掃除してやろ〜。

 以下、付録。見ないでください。

 あれ? やはりsymdebの、あの前の数字のおまじないが必要なんだ。ちょっとだいぶ
復習&実力が足りない。
C:\>Symdeb <c:\tmp\disasm.tmp
Microsoft Symbolic Debug Utility
Version 3.01
(C)Copyright Microsoft Corp 1984, 1985
Processor is [80186]
-e cs:0 67,EB,8E,C0,58,8B,F7,36,8B,3E,40,06,51,56,F3,A5
-u cs:0 F
1FD4:0000 CD20           INT	20 
1FD4:0002 FE9F0000       CALL	FAR [BX+0000] 
1FD4:0006 0000           ADD	[BX+SI],AL 
1FD4:0008 0000           ADD	[BX+SI],AL 
1FD4:000A A6             CMPSB	 
1FD4:000B 00FF           ADD	BH,BH 
1FD4:000D FF4A01         DEC	Word Ptr [BP+SI+01] 
 32bitだから、あのおまじない! 予習が、、、存在せず。

 今落ちましたが、犯人がsymdebであることは分かっていました。うっかりしてた。
 WinMEも、これには勝てないんだ、たしか。


08279/08113 GST01234 10♯ Re^3: ラップアラウンド
( 1) 18/10/10 21:29 08278:文太さんへのコメント コメント数:1

※二度編集してます

cs:0 はpspなんで使っちゃダメですよ
あと、eコマンドの使い方も間違ってますね。

これひょっとしたらマクロがバイナリ直書きとかそんなの?
それがVZのワークを直参照してるけどVZの方が改版しててワークのアドレスズレてるとか。

ちなみにですが、VTDOSは明白におかしなアドレスへのブロック転送は、
それを検出してエラーとしますけど、一般的なDOS環境(というかx86CPU)は
メモリアクセス違反でも起こらない限り何も起こらなかったこととしてるはずです。
しかし、VTDOSではこれは論理的に不具合が起こっていると見做しています。

08280/08113 CRG00666 文太 結果
( 1) 18/10/10 21:40 08220:文太さんへのコメント


 記事を書かれた田中さまより、たいへんに丁寧な返事がありました。
 いちおう簡単に結果を報告させていただきます。

 LinuxかCygwinを、とのこと。Gnuwin32(僕が今回DLしたところ。きっと
欲しい人はそこに行っていたでしょう)は、ロケールの実装まではできない
から、日本語が通るのは無理。
 田中さんは、記事は、Linux/Unixの話をされていました。

 つまり、日本人が個人的にやらなければ、やっぱりないわけです。そして、
Linux, Cygwinがなんら特別でない現在(とっても丁寧に田中さんは多くの
ディスクスペースが必要と書いていたけど、、、)、たぶん、すでにマルチ
バイト化されているものを、バグを避け避け使うしかないのでしょう。
 もう誰もWin32用に移植はしてくれないと思う。
 で、僕がLinuxする、ということは、ないですね。一瞬、考えたけど、時間
ない。

 serow版、logos版で、通らない4行くらいのスクリプトを見つけて
しまった。他のsedでは通る。スクリプトのロジックをただ今解析中。あそこ
イディオムだと思うのだけど、、、。
 もちろんsedのコマンドはほとんど不変なので、あれが通らないのは
変なのです。

 32bitだと、こんなラインナップ。

 1999/06/20 13:40 90,112 sed32.exe  ;GNU 3.02 +m 1.07 (=) ERE Perl5
 2005/08/24 06:32 311,296 OSED.EXE   ;GNU 4.1.4 +Onig 2.4.2 -r -R
 2007/07/13 09:22 159,744 mbsed.exe  ;GNU 4.1.4 (Bruce.)   -r
                     ; \{n,m\} OK
 2009/10/01 01:45 278,528 onigsed.exe ;GNU 4.1.5 +Onig 2.5.0 -r -R

 mbsedかな? あのバグどうなってたっけ? sed32かな、オススメは。
 onigsedにあるのは知っているのです。「直せない」ということでした。
 複行を対象にする複雑なのを避けて、単純なコマンドの羅列なら、onigsed
でいけます。s/srch/replace/の羅列とかなら、どれも問題ないはずです。
 32bit版のほうが、スクリプトも対象ファイルもスピードも上です。5行の
スクリプト、5つのファイルなら、16bitで十分です。
 僕は50行のスクリプトを5つ、ファイルオープンするコマンドを使い
(writeという普通のコマンド)、100個の対象ファイルなんて状況になる
ので、全部バッチに分割とかすると、やっぱりでかいのが扱えるのが嬉しい。
 なんの話? という方は、 野ざらし言#3088を。普通の人には関係ないです。
 似たようなこと、最近、またやりました。お仕事がら、です。

 大したことができるわけではありませんが、コンピュータが吐き出すフォーマット
のある情報って、sedで処理したくなってしまって、、、。
 あの簡潔なコマンドがステキ。将棋か碁の感覚。



08282/08113 CRG00666 文太 Re^4: ラップアラウンド
( 1) 18/10/11 01:04 08279:10♯さんへのコメント コメント数:1

>cs:0 はpspなんで使っちゃダメですよ
>あと、eコマンドの使い方も間違ってますね。

 お教えありがとうございます。
 キムタクねたよりは受けたのかな、なんて不謹慎なジョークが脳裏に浮かんでしまい
ました。

 世の中には、自分の使っている道具の意味がまったく分かってない奴がいる、と
想像していただければ幸いです。
 そんな表現が頭に浮かぶと、それが道具の定義じゃないのか、などというはた迷惑な考え
が浮かんできてしまいました。ごめんなさい。

 僕は、この領域で、見栄をはったり、逆に無知を武器に何かを得るつもりは、最低限
でも、ありませんが、同時に、迷惑は、かけたくはないんです、自分のことは自分で始末
つけたいと思っています。
 ご迷惑をお掛けしました。何なんだこれ? に答える知識の全体像が僕にはありません。
それでも、vtdosはこんな不測の事態にこう振舞うからね、という部分は、貴重な情報と
して、記録にとどめておきたいと思います。

 どこまで馬鹿をやったのか(うっかりというより、自分がいる文脈がまったく見えて
いない)、考えるのに、しばらく時間が必要なようです。

 逆アセマクロです。純DOSでは、機能していたと思います。ただVzマクロのための
マシン語コードを逆アセすることを目的にしていたものなので、今回、まったくとんちん
かんだったのだと思います。
 「努力してます、勉強しようとしてます」みたいに、コードを貼ったことを、バカ、
と思っています。ナンセンスなのは、分かっておりましたので。
 ナンセンスからセンスを引き出すべきとの考えは、ありませんでした。
 またしても貴重なお時間を僕なぞのためにさいていただき、恐縮し申し訳なく思って
おります。

 そして、僕は、本当に16bitな世界で生きるべきなんだな、と思いました。Win9xまで、
ですね。


08283/08113 GST01234 10♯ Re^5: ラップアラウンド
( 1) 18/10/11 02:07 08282:文太さんへのコメント コメント数:1

ああなるほど。
元がdefファイルのマクロの様式なんですね。
これでもvtd_err.logのダンプと同じコード列ですね。
まあやはりおそらくバイナリマクロが出所だと。


バイナリマクロもアセンブラのソースでもあればまだ解析のしようもありますけど、
元が16進列だとそれも骨が折れる話になりますね。

でもこれ、","を" "に置換してムニャムニャすればsymdebに通る形式には整形出来ますね。
VZerが好きなヤツでしょこれ?w

symdebの使い方、文法は既に多くの文献がヒットしてくると思いますし、
僕のコピペを参考にしていただいても何となく推測出来るかな?とは思います。

ソフト開発の経験が無い人はコンピューターはその文法に従わないと動作しない、
ってのが染みついてない部分はあるでしょうね。
それゆえ融通の利く人力検索に依存することになる。

現時点ではおそらくオリジナルから相当乖離してるVZですが、
バイナリマクロとの互換性をどう保ってるのかって僕からすると相当謎なんですね。
おそらく保てないと思うので僕は公開されてる高度なマクロは利用していません。
それがDOSに対する直接アクセスなどを行ってたりとかするとVTDOSとの相性も出るでしょうね。
もし自分的にどうしてもこれじゃ無きゃってのがあれば自力で解析なりなんなりしてますけどね。
もっともkonnoさんはマクロの互換性には相当留意されてるって印象はあります。
ただ、僕にはそれは真似出来ない。

それこそ膨大な資産となっているVZマクロの検証を一つ一つ個人的に行うのは
率直に言うとキビシイものがあります。
これがどういうことなのか理解というか、想像出来ますでしょうか?
だからまあ極力初期切り分けぐらいまではユーザーさんの方で出来ないかな?ぐらいには思ってます。
それが難しければ攻めの運用はお勧めしません、って表現になっちゃいますね。

僕もVTDOSに問題があることが明確化するまでは特別な手法を使うことあまり無いんですよ。
ていうか、初期切り分けはその手の方法があまり有効で無い。
エラーログを元にsymdeb叩いてVZのソースgrep掛けてとかそんなんです。
この辺りまでは一般的にそれほど難しい話じゃ無いと僕は思ってるんですけどね。
クラシックカーのメンテナンスにキャブレターの調整は必要かも知れませんけど、
コンピューターは不要みたいな感じです。
ガッツリやんなきゃいけないときはデバッガーで見たりソース改変してログ吐かせたり、
仮想の実機とVTDOSで数時間掛けてsymdebのトレースした数100MBの出力を差分抽出したりとかありますよ。
ソースの無いバイナリーを逆アセ掛けてやるときが一番大変です。


キムタクっていうか、文学的な表現を楽しむほどの余裕が無いんですよ。
難解な説明から事実を汲み取るのって相当消耗します。


08285/08113 CRG00666 文太 Re^6: ラップアラウンド
( 1) 18/10/11 13:09 08283:10♯さんへのコメント コメント数:1

 いくらかお教えいただけますでしょうか。

 流してしまいたいという気持ちとご迷惑はかけたくないという気持ちも強いのですが。m(__)m

 僕が今回使ったマクロの詳細は意味がないので、おいておきます。自分の書いたものでもないので。
使い方が悪い、僕のミスです。

 このマクロは、Vzマクロ内の16進のマシン語コードを逆アセするものです。
対象defファイルを前にして、逆アセ.defを起動して、そこから文字列を拾い、ワークファイルに
文字列を写して、コマンドラインに下り、symdebに入力ファイルとしてワークファイルを渡す。
このマクロ自体は、マシン語コードを必要としていません。手作業の再現ですから。

>ああなるほど。
>元がdefファイルのマクロの様式なんですね。
 元のファイル、というのは、上でいう「16進コードを持つ対象defファイル」ですよね。

>これでもvtd_err.logのダンプと同じコード列ですね。
>まあやはりおそらくバイナリマクロが出所だと。
 普通の16進マシン語コード文字列と、エラーログのダンプ文字列は、ぜんぜん違う
ということでしょうか。でもないですよね? 呪文数字が1つ1つついているだけで、
普通の16進コードが逆アセされていると思ったのです。
 ここの「バイナリマクロ」は、「16進コードを持つ対象def」のことでしょうか、
それとも「逆アセ.def」のことでしょうか。
 「バイナリマクロ」って、マシン語コードを持つ、&i("")を持つ、マクロのことですよね?(゚o゚;

>でもこれ、","を" "に置換してムニャムニャすればsymdebに通る形式には整形出来ますね。
>VZerが好きなヤツでしょこれ?w
 はい、もちろん、これをしました。好きです。逆アセ.defが必要としたので、&i("")も
つけました。m(__)m


 10#の推測(させて、本当にごめんなさい)は正しく、そして分かってみれば単純なことなの
だろうと想像しているのですが、ここを流してしまうと、あとで後悔しそうだと思いました。

 もちろん、いつかはエラーログを自分で解析したいのです。m(__)m
 エラーログの利用法という話は、いままでなかったですよね。あったのかな。自信ありません。
ついていけなくて飛ばしてしまった可能性も高いです。m(__)m


08286/08113 CXB00940 としき Re: 落ちる?
( 1) 18/10/11 13:15 08274:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> >高いといっても、2%に満たない割合ですけどね。
>  これはリードオンリーですか、ビューモードですか、どっちもなしですか?

おおむね、ビューモードですね。
私、明示的には、ほとんどリードオンリーは使わない人間なんです。
マクロがリードオンリーにするときにはそのまま従っていますけどね。
あと、通常の編集モードで巨大ファイルをうっかり開いてしまっても、最後尾
へのジャンプくらいではあまり落ちませんでしたね。行番号ジャンプのときは
ごくまれに落ちることがあって、ジャンプ後にさらにカーソルを移動させると
さらに落ちる頻度が上がった、という感じ。
で、落ちて気がついてビューモードで開きなおしたときは、大抵落ちない。
むしろ、最初から明示的にビューモードで開いているのに、なぜか落ちること
があったというのが不思議でした。

>  どのモードにせよ、vtdosで10MBのファイルでやる勇気はありますでしょうか?

必要があれば、EMSが不安な状態であるWin7のCMD窓でだって、オープンするだけ
であればオープンしますよ。ただ、編集する必要性はあまりないですね。
編集するときは、やはり、メモ帳を使うかな。
Windows上では、巨大ファイルでマクロをバリバリ使って編集する必要性という
ものはほとんどありません。マクロを使わなければVzである必要はないし。
最近は、整形済み巨大テキストであれば、ExcelなりAccessに読ませてしまいます。
なので、エディタで扱うデータといったら、小さめの不定形のテキストのみ。
もっぱら、Webからとってきたものが多いかな。


08287/08113 CXB00940 としき Re^2: 落ちる?
( 1) 18/10/11 13:16 08277:10♯さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> 僕の経験上ですが、64キロを越えるファイルの、特に複数個の編集はおすすめしません。

これは、vtdos上では、ということですよね。
PC-98のDOS6のころは頻繁に行っていましたが、特に問題が起きた記憶はありません。


08288/08113 CRG00666 文太 Re^2: 落ちる?
( 1) 18/10/11 13:35 08286:としきさんへのコメント

 ありがとうございます。
 それが、特殊技術職でなくとも、普通の使い方ですよね。かなり参考になりました。
 いちおう自分のVzの使い方が(Vzを使うこと自体はおくとして)、それでも、
かなりいびつであるという自覚はあるつもりでしたが、この話は、自分に対する警告と
して、ありがたかったです。
 つまり、Windowsや昨今のマシンの能力を利用して、もっともっととVzしようと
すると、ちゃんと限界をみておかないと痛い思いをするし、普通にWindowsのアプリ
を使って何も悪いことはない、と、思い出しました。
 それでも、そっちの能力が信じられないくらいに低いから、ストレスフルになって、、、。
 そんなの普通に勉強しろ、ですね。


08289/08113 GST01234 10♯ Re^7: ラップアラウンド
( 1) 18/10/11 16:23 08285:文太さんへのコメント コメント数:1

あー僕勘違いしてる気がしますわ

A)
> CS:IP=15F3:DC5B
> 15F3:DC4B 67 EB 8E C0 58 8B F7 36 8B 3E 40 06 51 56 F3 A5
> 15F3:DC5B 5E 59 36 03 36 46 06 48 75 F2 8B C7 40 40 36 87

B)
> -e cs:0 67,EB,8E,C0,58,8B,F7,36,8B,3E,40,06,51,56,F3,A5

僕が思ったのは元々なんらかのdefファイルにBの内容があって、
それを動かしたらAのログが出たのかってことなんですけど、
文太さんおそらくAからBに整形して逆アセdefを動かしてるんですよね?
あーそうですか、て感じなんですが、逆アセdefがどんなものかよく分らんですが、
マクロがこのsymdebのコマンド出力してるんだったらこのマクロ大丈夫なん?
て感じにはなります。

でもおそらくその文太さんがやろうとした行程って僕がその前にやってたsymdebのヤツと
同じ事ですよね?

なんか面倒くさくなってきたw


08290/08113 GST01234 10♯ Re^3: 落ちる?
( 1) 18/10/11 16:29 08287:としきさんへのコメント

> > 僕の経験上ですが、64キロを越えるファイルの、特に複数個の編集はおすすめしません。
>
> これは、vtdos上では、ということですよね。
> PC-98のDOS6のころは頻繁に行っていましたが、特に問題が起きた記憶はありません。

ですです。
ただ僕の場合98DOS6の頃も大サイズのファイル編集はやってないですね。
無印VZだったです。

08291/08113 CRG00666 文太 Re^8: ラップアラウンド
( 1) 18/10/11 17:14 08289:10♯さんへのコメント コメント数:1

 ありがとうございます。
 なにやら誤解の2乗の泥沼に誘ってしまったようで、申し訳ございません。m(__)m
 つまり、別のVz解析マクロが、vtdosのエラーダンプ出力と同じ結果を出したと思われたと。
 そのような超絶マクロは、僕の知るかぎり存在していないと思います。
 また、話がぜんぜん食い違ってしまっていたら、ただただスルーしてください。
 ごめんなさい in advance(予め)。

 konnoさんの保守性(安全第一主義)は、ご指摘のとおり、ものすごくありがたいものなのですが
(感謝足りないぞ>自分)、いわばVzの伝統です。今までのマクロが走らないvz.comを作っても、
誰もそれを使いませんから。それでどう困るのかわからないポインタが1つずれただけで、
けっこうな騒ぎになったこともあります。

 僕の個人史の中で今までの経緯のことを振り返ることが多いです。榊原版がdos/v機でのatokの
FEP制御を可能にしてくれました。ckwvがIMEに。分かれ道だったんだな、と。
 ありがとうございました。

 MS-IMEを「前候補」でON/OFFしています。それを押したら落ちました。
2018-10-11 17:05:41 VZ(15F3) 15F3:DC5B 'REP MOVSW 命令ラップアラウンド'
 ふう、めげます。
 ごめんなさい。止めますね。まるで嫌がらせみたいです。ごめんなさい。



08292/08113 GST01234 10♯ Re^9: ラップアラウンド
( 1) 18/10/11 19:05 08291:文太さんへのコメント コメント数:1

意思疎通…

>  つまり、別のVz解析マクロが、vtdosのエラーダンプ出力と同じ結果を出したと思われたと。

いやいや、&i("")の中身を文太さんが貼り付けてsymdebに喰わせたと思ったんです。

いずれにしても、ログに残ったコード列はVZに無いコード列になるので、
&i("")のマクロが出所では無いかと推測しています。

僕のエラーログに残ってたラップアラウンドのログはVZでは無かったですわ。
個人的に改変してたファイラーソフトの改変途中の非常に不安定な状態のものでした。

>  MS-IMEを「前候補」でON/OFFしています。それを押したら落ちました。

これの意味がよく分らないですけど、MS-IMEには「前候補」って機能があるのですか?
ckwvでIMEをON/OFFすることに関して問題は無いようですが。


原因は文太さんの固有の環境のどこかにあるとは思うので、もし可能ならdefファイルの切り分けを行って下さい。
どのマクロ、どの設定項目なのかが特定出来ないと糸口にはならないと思います。


08293/08113 CRG00666 文太 Re^10: ラップアラウンド
( 1) 18/10/11 20:19 08292:10♯さんへのコメント コメント数:1

>いやいや、&i("")の中身を文太さんが貼り付けてsymdebに喰わせたと思ったんです。
>いずれにしても、ログに残ったコード列はVZに無いコード列になるので、
>&i("")のマクロが出所では無いかと推測しています。

 分かりました。なるほどぉ、そういうことですか。理解できます。ありがとうございます。

 でも、どっから来たのかはまったく想像もつきませんが、もしvz.comの中にそれが
ないのだとしたら、僕が意識して管理している(つもり)の環境中にはないと僕は考えます。

 exmenu.def+seikei.def+vz.def+vzfl.def+outlaw.defには、そのようなマシン語
コードは存在しないからです。
 少なくとも、&i("")=Vzマクロから来たのではないと僕は考えます。

>>  MS-IMEを「前候補」でON/OFFしています。それを押したら落ちました。
>これの意味がよく分らないですけど、MS-IMEには「前候補」って機能があるのですか?
 申し訳ございません。「前候補」キーとは呼ばず、「変換」キーと呼べば誤解がなかった
のだと思います。

 ものすごい空想ですが、僕は、ckwvか、スペース左右の「無変換」キーと「変換」キー
が怪しい(WindowsとIMEとckwvとvtdosの関係?)のかと思っています。「無変換」キーには
exmenu.defがアサインされています。これは、「無変換」->NFER読み替えの高橋版
(konno版も同じ)の機能で実現しています。知ってますよね、失礼しました。NF+

 ただ、諦めました。本当にお手数をお掛けいたしました。
 僕の実力であり、僕の環境の中でだけ、起こっていることなのでしょう。
 WinMEに帰りたいと思います。部屋の改造です。この本棚を動かさなきゃ、みたく。
 しょうがないです。こんな時代でも、Vzできるのですから。これが幸運な選択だか
わからないぞ、とか、自分に突っ込みを入れているですが。


 あ、最後に、先生、先生、見て、見て! できたよ、僕。
 MOVSWを見たかった。
 これが、vtdosでうまくいかなかったことについて、僕は何も考えていません。DOSでは
通るようですよ。これは、おそらく例外的に。DOS時代に作られたマクロですから。WinME
でも、僕はしません。と言いつつ、やるな、きっと。ただ、Symdebは、VzのスイッチSW
との相性が強くあり、、、
 cs:0は、い、いけないらしい。わ、分かっておりません。マクロの中に書いてあります。
m(__)m

C:\>Symdeb <c:\tmp\disasm.tmp
Microsoft Symbolic Debug Utility
Version 3.01
(C)Copyright Microsoft Corp 1984, 1985
Processor is [80286]
-e cs:0 67,EB,8E,C0,58,8B,F7,36,8B,3E,40,06,51,56,F3,A5
-u cs:0 F
29AA:0000 67             DB     67 
29AA:0001 EB8E           JMP    FF91 
29AA:0003 C0588BF7       RCR    Byte Ptr [BX+SI-75],F7 
29AA:0007 368B3E4006     MOV    DI,SS:[0640] 
29AA:000C 51             PUSH   CX 
29AA:000D 56             PUSH   SI 
29AA:000E F3             REPZ   
29AA:000F A5             MOVSW   

 コンソールファイルを取れる喜びもまた。これはDOS機で取りましたが。
 前進してるよ。v(^^)z



08294/08113 GST01234 10♯ Re^11: ラップアラウンド
( 1) 18/10/11 21:00 08293:文太さんへのコメント コメント数:1

あー、symdebのコマンド、僕が勘違いしてました。
で、このコマンドはvtdosでも通りました。
結果も文太さんのと同じです。

意思疎通…

しかし、それではこのコードはどこから来たのか?…

無変換キーは僕も常用してますよ。キーバインドは全く別ですけどね。


08295/08113 GST01234 10♯ Re^12: ラップアラウンド
( 1) 18/10/11 21:24 08294:10♯さんへのコメント コメント数:2

改めて調べてみたら該当箇所はscrnibm.asmのpushwindowでした。
ざっと見た感じではfarsegの内容?のように思えますが、
これが何なのか…


08296/08113 CRG00666 文太 Re^13: ラップアラウンド
( 1) 18/10/11 22:14 08295:10♯さんへのコメント コメント数:2

>改めて調べてみたら該当箇所はscrnibm.asmのpushwindowでした。
>ざっと見た感じではfarsegの内容?のように思えますが、
>これが何なのか…

 見つかったのなら喜ばしいです。おめでとうございます。


29AA:0001 EB8E           JMP    FF91 
29AA:0003 C0588BF7       RCR    Byte Ptr [BX+SI-75],F7 
29AA:0007 368B3E4006     MOV    DI,SS:[0640] 
29AA:000C 51             PUSH   CX 
29AA:000D 56             PUSH   SI 
29AA:000E F3             REPZ   
29AA:000F A5             MOVSW  

@rcr @RCR 
ビットシフト命令
 RCR  Rotate Right through Carry
 キャリーを含めて右へオペランドで示された
 回数だけローテイトする
 ex) mov ax 1       ;ax=1 000 0000 0000 000 0 b
   rcr ax,1       ;   └──← cf ←───┘
           ;axはcf=1ならax=8000h、cfは1に
 RCR XYZ,CL ;XYZの内容をCLで示される回数
       右へローテイトする
 意味不明じゃ。

 ただ、落ち着いて考えてみたら、こんなコードを書く人はいるのだろうか?
まったくのナンセンスなんじゃないのか、と思っていました。c.mosさん、movsw
の直前でcxやsiをpushするような書き方、するのかなぁ、と。
 僕なら、場合によってはあるかも。高橋版の高橋さんは、「突撃ラッパ」と
表現されてましたね。僕は高橋さんと面識はありませんが。

 転送先がEMSかどうかは、分からないだろう、とは思いましたけれど。

 当たり前ですが、c.mosさんは、ものすごく秩序立てて、分けて分けて
分けて書いて、小さく小さくして、そのルーチンの意味が分かるようにする。
そのモジュール数にして50個。プロシージャにして1100個。小さくは読めるが、
その全体は他者には容易に読めない、そんな作品を書いたのだと思います。
(知ったかぶり、けっこう。(^^; )

 まあ、これは余生の楽しみです。
 余生に入る前に、するべきことが、まだまだある。やれやれ。
 お疲れ様でした。
 おつき合い、ありがとうございました。たくさん、たくさん、勉強させていただき
ました。m(__)m
 決心が必要なタイミングでした。まだまだ中途半端だった。ありがとうございます。



08297/08113 BQO00549 konno Re: ラップアラウンド
( 1) 18/10/11 23:43 08273:文太さんへのコメント コメント数:1

文太さん、状況がよくわからなかったので静観していました。

> >vtdosが落ちてる場合エラーログが出来てるかどうかは不明ですがタイムスタンプは近いですね。
> 2018-10-09 23:49:11 VZ(15F3) 15F3:DC5B 'REP MOVSW 命令ラップアラウンド'

これ、ちょっと調べてみたいので、VZのヴァージョンと、option.lst
教えてもらえますか。



08298/08113 CXB00940 としき Re^14: ラップアラウンド
( 1) 18/10/12 00:16 08296:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

> @rcr @RCR
> ビットシフト命令
>  意味不明じゃ。

ローテートとシフトは、きちんとビットがわかっていないと難しいかも。
アーキテクチャによっては、レジスタのサイズとかにも依存するし。
あ〜、CASL/COMETとかZ80とか、なんか思い出しかけてる。
ここは思い出してはいかんというか、最封印。


>  当たり前ですが、c.mosさんは、ものすごく秩序立てて、分けて分けて
> 分けて書いて、小さく小さくして、そのルーチンの意味が分かるようにする。
> そのモジュール数にして50個。プロシージャにして1100個。小さくは読めるが、
> その全体は他者には容易に読めない、そんな作品を書いたのだと思います。

小さく分けて書くのが正義、という流儀がありまして。
ま、ある時代の主流ではありますな。
そういえば、1つのプロシージャの最大は何行であるべきか、という、不毛とも
思えるような論争があったような気がする。25行とか66行とか100行とか。
関係ありませんが、私の見るところ、vtdosのプロシージャ数は300から4000の間
だと思う。はずれかな。
実際がいくつかはとても興味がある。


08299/08113 CRG00666 文太 Re^2: ラップアラウンド
( 1) 18/10/12 00:19 08297:konnoさんへのコメント コメント数:2

vz version: 1.60t03k k07t

---------- option.lst --------------------- 2018/10/12 (Fri) 00:10 --------
 DOSV  VZt  z+  St-  vw+  zk-
 
 Bt64     Bf4096   Bo32768  EM80     XM2000   Bm444    Ba2      Hs1024
 Hf512    Hx1024   Ha128    Hw512    Bl8192   Bc768    Bu512    Bv256
 
 SW2   TC15  WD160 We160 PG0   RS4   Ta8   Tb4   Ci0   Co6   WL0
 LC42  VM0   CA52  Sr167 Qt10  Qc50  Qw0   RM0
 
 An$0F  Ac$13  Al$1A  Ah$B0  As$F0  Ao$E0  Ar$B0  Am$0E  Ab$B0  At$70
 Aw$70  Af$E0  Ai$0F  Aj$74  Ak$0E  Ag$01  Au$4F  Ae$12  Ay$00  vs$00
 vy$00  Ad$07
 
 Dl-  Dc+  Dt-  De+  Ds+  Db-  Dn-  Du+  Df+  Dp+  Dh+  Dg+  Dr+  Dj-  Dv+
 
 FM31    FW2048  FV1     FS1     FO3
 
 Ei+  Es-  Ez-  Eb+  Eu-  Et+  Eh-  Ew-  Ec-  Ex-  En-  Ev-  Ek+  Ea-  RO-
 Ej-  Eo-  El-
 
 RX-  ZH-  Sx+  Se+  Sd+  Sk-  Sy+  YN-  Sn+  Sq-  FP+  FR-  FK+  FQ-  Sz-
 
 Sc-  Nd-  Vb-  Sv-  Tv+  YM-  CH-  Hp-  Hp-  lf-  Is-  Da-  Nf+
 Ce0      ml+  mc*  Ys$03  Yo$60  Yr$30
---------- End of option.lst ----------------------------------------------

 ネット社会的です。何に恥ずかしがればいいのか、分からない。
 でも、まだ、このWin7上のVz落ちてない。よかった。ajaさんのあのマクロという
のはすぐわかったのですが、グレップしまくりで、探しました。情報のリンクで、ish16階
でしたね。vzdefディレクトリに入っていないとは。
 落ちないときは、落ちないんですよ。
 とはいえ、うん、Vzを僕は止めません。でも、WinMEが僕の舞台です。仕方がないの
です。スペース作るべく、書架移動の目的で、本の移動は始めました。
 人生の新たなフェーズです。



08300/08113 CRG00666 文太 Re^15: ラップアラウンド
( 1) 18/10/12 00:39 08298:としきさんへのコメント

>> @rcr @RCR
>> ビットシフト命令
>>  意味不明じゃ。
>ローテートとシフトは、きちんとビットがわかっていないと難しいかも。

 あの文脈において、という意味ですよ。
 誰でも忙しいから、文脈をすっとばすのは、分かりますけれど。
 トラウマとか語らないで。フラッシュバックみたいに、出てきてしまった
のかもしれないけど。

 興味をもってくれていることに、感謝しています。
 ここは、「2ちゃんねる」ではないですからね。



08301/08113 GST01234 10♯ Re^3: ラップアラウンド
( 1) 18/10/12 01:42 08299:文太さんへのコメント コメント数:2

これSW2が原因だと思います

08302/08113 GST01234 10♯ Re^14: ラップアラウンド
( 1) 18/10/12 01:48 08296:文太さんへのコメント コメント数:1

ここで出てくるRCRは命令バイト列の途中から始まったことに起因するゴミですよ。
ソースはこんな感じです。
なぜ見落としたかというと IFDEF J31の行で命令の連続性が途切れてる。
-----------------------------------------------------
        public  pushwindow
pushwindow proc
        call    issilent
        pushm   <cx,dx,si,di,ds,es>
        call    initpwind
        push    ax
        call    getgvseg
        mov     es,ax
        pop     ax
        mov     si,di
        mov     di,imagep
_repeat
        pushm   <cx,si>
IFDEF J31
  _repeat
        and     si,0FFFh
        movsw
  _loop
ELSE
    rep movsw
ENDIF
        popm    <si,cx>
        add     si,doswd2
        dec     ax
_until z
        mov     ax,di
        inc     ax
        inc     ax
        xchg    ax,imagep
        mov     es:[di],ax

08303/08113 CRG00666 文太 Re^4: ラップアラウンド
( 1) 18/10/12 02:05 08301:10♯さんへのコメント

 ありがとうございます。
 部屋の作り直しが済むまで、いろいろと試してみたいと思います。
 本当にありがとうございます。


08304/08113 GST01234 10♯ Re^15: ラップアラウンド
( 1) 18/10/12 02:16 08298:としきさんへのコメント

> 小さく分けて書くのが正義、という流儀がありまして。
> ま、ある時代の主流ではありますな。
> そういえば、1つのプロシージャの最大は何行であるべきか、という、不毛とも
> 思えるような論争があったような気がする。25行とか66行とか100行とか。
> 関係ありませんが、私の見るところ、vtdosのプロシージャ数は300から4000の間

まあ大まかな推測範囲ですがアプリレベルではその範囲ですね。
サポートルーチンやフレームワークまでは数えること出来ないので不明、としておきます。

僕のポリシーとしては、行数や見通しからの理由によって分割することはほぼありません。
繰り返しパターンや共通部分を抽出して共用すれば総ステップ数、総コードサイズの削減に繋がりますが、
これは近代的なプロセッサではキャッシュや分岐予測が効き性能の向上が見込めます。
しかし、そういった措置を施すとある程度見通しの良いコードにはなります。

VTDOSでいうと最も性能が要求されるx86エミュレータのメインルーチンは1000行弱ぐらいですね。
これは一般的なプロセッサで言うところの命令デコーダと単純命令実行ユニットに相当する部分ですが、
物理CISCプロセッサでも負荷の大きい部分ではあります。

まあ今時の高級言語の場合可読性はコーディングスタイルによる部分が大きいので、
単位辺りの複雑性はそれほど考える必要はなくなってると思います。
アセンブラの世界はまた別でしょうね。


08305/08113 CRG00666 文太 Re^15: ラップアラウンド
( 1) 18/10/12 16:31 08302:10♯さんへのコメント コメント数:1

 ありがとうございました。
 将来のある日のため、万が一のため、記録に残させていただきますね。

        pushm   <cx,si>
    rep movsw
        popm    <si,cx>

>Cgrep -t -B -W4 -a -e"cx" -e"si" -e"rep" -e"movsw" c:\vzsrc\kon7\vt\*.* >c:\k.txt

 確かにここしか見つかりませんでした。

 なお、エラーログに残された、約40個の「'REP MOVSW 命令ラップアラウンド'」の
記録のうち、5つぐらいが同じコード列を残していました。
 まったく無意味、あるいは偶発的、ではないのかもしれません。

 猿真似をしているだけです。失礼いたしました。


08307/08113 BQO00549 konno Re^3: ラップアラウンド
( 1) 18/10/12 18:38 08299:文太さんへのコメント コメント数:1

文太さん、option.lst 見ました。メモリ関係は特に変わっていないようですが
私の環境と違っているので、下記の項目だけ一時的に合わせてみました。
VZ も、VZk07t1 に入れ替えています。

 Bf64		;bf88	;64*64=4096   
 EM80		;em1024     
 XM2000   	;xm8192
 Ba2      	;ba128

うーん、普通に使っていても全く変わらないですね。
最近マクロの再履修で色々弄ったせいか、全然落ちなくなったんですよ。

それで思ったんですが、VTDOSの設定が関係してないでしょうか。
 'REP MOVSW 命令ラップアラウンド' この関連で、
 SCASB_MODE=1 
というオプションスイッチが新設されています。

関連の記事が、#6580 あたりにありますが、必ず落ちるマクロとして

1997/10/06  23:03             8,273 SORT.DEF

(高橋版)があります。
これで、同じく高橋さんの

1998/08/23  21:18            18,312 dseg.map

をファイル先頭から最後までブロックしてマクロ起動し
メニューが出たらそのまま Enter すると、ソートされます。
Esc で終了すると、VTDOSが'REP MOVSB 命令ラップアラウンド' で落ちます。

今やってみたら、落ちませんね。
VTDOS.CFG を見たら、SCASB_MODE=1 になっていました。
あれぇ? ずっとこの設定で使っていたのか。

SCASB_MODE=0
に変更してやってみたら、やっぱり落ちますね。
ということで、このオプションは文太さんのところではどうなっていますか?

私の現在の、VTDOS.CFG の内容は

BREAK=1
PASTEDELAY=10
USECMD=1
TPAEXT=1
;TPALOW=1
PAGEFRAME=0xEC00
;ENVSIZE=16192
UMB=4
SCASB_MODE=1

こうなっています。
SCASB_MODE=1
では、上のマクロの動作はどうなるでしょうか。



08308/08113 BQO00549 konno Re^4: ラップアラウンド
( 1) 18/10/12 18:44 08301:10♯さんへのコメント コメント数:1

> これSW2が原因だと思います

私は、VTDOS で、SW3 が不安定で、SW2 が安定しているという事で、ずっと
SW2 にしています。

10#さんの、option.lst では、SW3 になっていましたね。
今は、SW3 で安定しているんでしょうか。


08309/08113 BQO00549 konno Re^13: ラップアラウンド
( 1) 18/10/12 18:49 08295:10♯さんへのコメント

> 改めて調べてみたら該当箇所はscrnibm.asmのpushwindowでした。
> ざっと見た感じではfarsegの内容?のように思えますが、
> これが何なのか…

私も確認しました。
これはおそらく、メニューウインドウの裏のテキストを退避、復帰している
のだと思います。

なので、普通ここでおかしくなることはないと思うので、どこかでおかしくなって
ここでエラーになっているのでしょうか。

大抵はマクロの潜在的なバグだと思います。


08311/08113 GST01234 10♯ Re^5: ラップアラウンド
( 1) 18/10/12 19:48 08308:konnoさんへのコメント

これちょっと飛ばしすぎだったかも知れません。
僕の設定はSW1になってます。

> > これSW2が原因だと思います
>
> 私は、VTDOS で、SW3 が不安定で、SW2 が安定しているという事で、ずっと
> SW2 にしています。
>
> 10#さんの、option.lst では、SW3 になっていましたね。
> 今は、SW3 で安定しているんでしょうか。
>
>

08313/08113 CRG00666 文太 SCASB_MODE=1
( 1) 18/10/12 20:37 08307:konnoさんへのコメント コメント数:1

 *最後の部分を追記しました。

--- vtdos.cfg ---
BREAK=1
USECMD=1
TMP=C:\tmp
SHELL=c:\vtdos\command.com /e:8192 /p /msg /k c:\vtdos\vtvz.bat
WIDTH=160
HEIGHT=43
DISKFREE=K
UMB=1
WHEEL_UP=0x04900
WHEEL_DOWN=0x05100
SCASB_MODE=1
-----------------

 僕のdseg.mapは、他の方の資料なども貼り付けているから、少々サイズが大きいのですが、
これは関係がないでしょう。
dseg.map 65,342 2014-05-03 00:19

 konnoさん、ビンゴ、というべきなのか、どういうべきなのか、上の指定で、高橋版
sort.defが見事に

2018-10-12 20:21:49 VZ(15F3) 15F3:09DA 'REP MOVSW 命令ラップアラウンド'

 指定しているのにも、かかわらず、ですよね。呪われた環境、呪われたマシン。
 今日は、やめときゃ、よかった。
 疲れているときは、これ、ダメージが大きいんです。

 もう、何をどう考えてもムダなのですが、#6580 近辺で、shadowさんとグレップの話
をされてますよね。僕が(考えちゃいけないのに)今日、考えていたのは、グレップで
落ちたことがない、ということでした。もっとも、wgrepの使用はほぼゼロに近いので、
グレップ一般とくくってはいけないのでしょう。ygrepとかsedとかけっこうコマンドライン
ツールは使うのに、それで落ちた、という記憶はないみたい、と。
*
 ここで考えていたのは、コマンドラインツール自体のこともそうですが、Ygrep, Sedと
したときのVzのスワップのことでもありました。SWです。

08336/08113 CRG00666 文太 回数の訂正
( 1) 18/10/14 12:22 08305:文太さんへのコメント コメント数:1

 個人的環境や使用法に依存する数値なので、どこまで有意味なのか分かりません。
 が、正確な数字が出せるときには、出しておいたほうがいいと考え、過去の記載を
「編集・修正」しようとしたのですが、このような形のほうが、記事の有用性は
ともかく、数字が読みやすいと思い、ここにこれを繋げておきます。

 文字列を同一文字列で置換すれば、正確な回数が出たのに、といちばん最初に
思ったのに、さぼっていました。


 僕のエラーログでの出現回数

A:
'REP MOVSW 命令ラップアラウンド'	76回

B:
67 EB 8E C0 58 8B F7 36 8B 3E 40 06 51 56 F3 A5
 上記のエラーダンプ、コード列		49回
(こちらには、前の僕の記事に誤記があったはずです。ずっと少なく数えていた)


 BがすべてAに含まれているのかまでは分かりません。
 「ラップアラウンド」以外で、同一のコード列が出力されていた可能性もある
でしょう。
 ちょっとしたスクリプトかマクロを書けば、これを調査することは可能ですが、
そもそも上のA、Bのデータにどれだけの意味があるのか分からないときに、
Cのデータを出す行為は不要だろうと考えました。


 最初にこの話題をあげたとき、こんなに頻繁に(多数回にわたり)、起こって
いた事象だとは思いませんでした。
 ただ、オペレーションのパターンと不具合発現のパターンには、たしかな
手ごたえ、「前にも何度もあった」という感触があったのです。そして、起きたとき、
オペレーションが、ふだんよりずっとシンプルだったのです。それで原因解明が
比較的容易かもしれないと、、、。
 ずっと深いですね、きっと。


08337/08113 BQO00549 konno Re: 回数の訂正
( 1) 18/10/14 15:56 08336:文太さんへのコメント コメント数:1

>  僕のエラーログでの出現回数
> 'REP MOVSW 命令ラップアラウンド'	76回
>  ただ、オペレーションのパターンと不具合発現のパターンには、たしかな
> 手ごたえ、「前にも何度もあった」という感触があったのです。そして、起きたとき、
> オペレーションが、ふだんよりずっとシンプルだったのです。それで原因解明が
> 比較的容易かもしれないと、、、。

そのログのVZはずっと K07t1 なんですよね。
原因究明に役立つかもしれませんので、そのエラーログをメールで
送ってくれませんか。

エラーの出たアドレスが手掛かりになるかもしれないからです。
私のログはVZのバージョンがコロコロ変わっているので特定が難しいのです。
今までは特定が無理だと思って諦めていたのです。



08338/08113 CRG00666 文太 Re^2: 回数の訂正
( 1) 18/10/14 17:08 08337:konnoさんへのコメント コメント数:1

 送らせていただきました。
 10分ぐらい経って、戻ってきておりませんので、届いているかと
思います。



08339/08113 BQO00549 konno Re^3: 回数の訂正
( 1) 18/10/14 18:33 08338:文太さんへのコメント

>  送らせていただきました。
>  10分ぐらい経って、戻ってきておりませんので、届いているかと
> 思います。

ログいただきました。
VZのどこでエラーが多いかなど色々参考にさせていただきます。



08375/08375 BQO00549 konno VTDOS+VZ で #N、#P でのエラー
( 1) 18/10/18 20:58 コメント数:2

VTDOS+VZ でファイル編集中に #N や、#P で、拙作の TAGL_F5.DEF を実行すると
&z("expand") を呼ぶところでマクロエラーになります。
ESC を押すと、VTDOSが、ラップアラウンドエラーで落ちます。

実は、私の環境では、expand.def が無かったんです。
つまり、ファイル操作窓で、マクロ呼び出しなどでファイルが無いエラーになると
ESC で入力窓を閉じる時、VTDOSが、ラップアラウンドエラーで落ちるのです。
エラー内容は

2018-10-18 20:29:03 VZIBMJ(17EA) 17EA:DE8E 'REP MOVSW 命令ラップアラウンド'

AX=0023 BX=4000 CX=0082 DX=FF00 SI=EA60 DI=FF04 BP=CBEE DS=E800 ES=F800 FLAGS=0246

CS:IP=17EA:DE8E
17EA:DE7E 40 06 51 57 51 57 E8 B1 00 E8 2D 04 5F 59 F3 A5 
17EA:DE8E E8 44 04 5F 59 36 03 3E 46 06 48 75 E5 E8 AC 2E 

SS:SP=274A:CACE
274A:CABE 00 00 04 FF CD E2 04 FF 23 00 8A DE 04 FF 82 00 
274A:CACE 04 FF 82 00 4A 27 4A 27 76 03 DB A3 90 06 00 FF 

-u 17EA:DE7E
17EA:DE7E 40            INC	AX                                 
17EA:DE7F 06            PUSH	ES                                 
17EA:DE80 51            PUSH	CX                                 
17EA:DE81 57            PUSH	DI                                 
17EA:DE82 51            PUSH	CX                                 
17EA:DE83 57            PUSH	DI                                 
17EA:DE84 E8B100        CALL	DF38                               
17EA:DE87 E82D04        CALL	E2B7                               
17EA:DE8A 5F            POP	DI                                 
17EA:DE8B 59            POP	CX                                 
17EA:DE8C F3            REPZ	                                   
17EA:DE8D A5            MOVSW	                                   
17EA:DE8E E84404        CALL	E2D5                               
17EA:DE91 5F            POP	DI                                 
17EA:DE92 59            POP	CX                                 
17EA:DE93 36            SS:	                                   
17EA:DE94 033E4606      ADD	DI,[0646]                          
17EA:DE98 48            DEC	AX                                 
17EA:DE99 75E5          JNZ	DE80                               
17EA:DE9B E8AC2E        CALL	0D4A                               
-q

 0000:DE59       POPWINDOW

ここは、入力窓ルーチンの窓を閉じるところですね。
SORT.DEF も、バックアップルーチンで、#N を使用していますが、
何かエラーが出ていた気がします。

MSDOSPlayer や、DOS窓では、マクロエラーがあっても落ちません。
この辺に何かありそうな気がするのですが。



08376/08375 GST01234 10♯ Re: VTDOS+VZ で #N、#P でのエラー
( 1) 18/10/18 21:54 08375:konnoさんへのコメント コメント数:1

ざっくりですが、画面の出力座標かサイズに問題が起こってるようですね。
外してるかも知れませんけど、scrn.asm の win か doswd2
これらはマクロからアクセスしてログを取ることなどは出来ますか?

08377/08375 CRG00666 文太 Re: VTDOS+VZ で #N、#P でのエラー
( 1) 18/10/18 22:03 08375:konnoさんへのコメント コメント数:1

 いつもの超断片的補足です。(^^;

http://tamaneko.world.coocan.jp/vz/TAGL_F5.def

=== tagl_f5.def v.06 ===
* M
24  [F05] "検索文字列の取得"
	(s==1||s==2)? { &z("expand") >* }	; コマンドライン

 このように、tagl_f5.defは、sが

     1 : 文字列入力モード
     2 : コマンドラインモード

であると、expand.defが呼ばれる仕様になっているのですが、
expand.defがないばあい(%vzdef%ディレクトリに、かな?)、つまり

>ファイル操作窓で、マクロ呼び出しなどで、ファイルが存在せずエラーになると
>ESC で入力窓を閉じる時、VTDOSが、ラップアラウンドエラーで落ちるのです。

 失礼しました。
 マクロを見るまで、何を言ってるのかよく分からなかったもので。m(__)m


#N
 #72  #N  新規ファイルオープン
 [ESC]N @N

#P
 #25  #P  ファイル名の複写
 ^QN  le_copyfile
   r は常に 0
   編集中のフルパスのファイル名が
   カーソル位置に書き込まれる
   &?(wa+146) と同じ

 に何かあるのかも? と。

 追試するには、まだまだ環境整備がままなりません。m(__)m



08378/08375 BQO00549 konno Re^2: VTDOS+VZ で #N、#P でのエラー
( 1) 18/10/18 22:20 08376:10♯さんへのコメント コメント数:1

> ざっくりですが、画面の出力座標かサイズに問題が起こってるようですね。
> 外してるかも知れませんけど、scrn.asm の win か doswd2
> これらはマクロからアクセスしてログを取ることなどは出来ますか?

えーと、何をすればいいのかわかりませんが

VTDOS環境では、全てのVZで同じ操作で落ちました。
オリジナルVZとオリジナルDEFでも、#Nで、拙作の TAGL_F5.DEF を実行して
落ちます。

TAGL_F5.DEF の冒頭は

24  [F05] "検索文字列の取得"
	(s==1||s==2)? { &z("expand") >* }	; コマンドライン

こうなっていて、これは、上村さんの、GET.DEF と同じです。
私はこのマクロをベースに改造したのですが、expand.def が無いのに
気が付かなかったのです。

入力窓の中で、マクロがエラーで止まって、フラグとか
スタックとかの数値に矛盾が出てるんでしょうかね。



08379/08375 BQO00549 konno Re^2: VTDOS+VZ で #N、#P でのエラー
( 1) 18/10/18 22:47 08377:文太さんへのコメント コメント数:1

文太さん、解説どうもです。(^^;
私はいつも説明不足というか、舌足らずというか。

#8378 に書いたように、上村さんの、GET.DEF をベースに改造したので
この部分が問題になるとは思ってもいませんでした。

上村さんの、GET.DEF の最後のほうには

 ●ファイル名の補完
 文字入力ウィンドウまたはコマンドラインで実行すると、ファイル名を補完
します。(T.Tanomura氏作EXPAND.DEF必要)

とあります。
上村さんが他人のマクロを組み込むなんて想像もできなかった。
T.Tanomura氏も凄い人だったんだなぁ。



08380/08375 CRG00666 文太 Re^3: VTDOS+VZ で #N、#P でのエラー
( 1) 18/10/19 00:13 08379:konnoさんへのコメント コメント数:1

>#8378 に書いたように、上村さんの、GET.DEF をベースに改造したので
>この部分が問題になるとは思ってもいませんでした。
 こんな風に話がすぐに先に進むのであれば、何の問題もありません。
 上村さんの、GET.DEFは、存じておりませんでした。

>上村さんが他人のマクロを組み込むなんて想像もできなかった。
>T.Tanomura氏も凄い人だったんだなぁ。
 うーん、どうなんだろう。
 でも、fgalapぐらい?、fgalpk初期には、「たのむら〜、たのむわ〜」
みたいな感じで、上村さんは色んな人から貪欲に、超速で、勉強して
いましたよ。ほんとVzの基本を徹底的に勉強した人でしたねぇ。
いまごろ、ほんと偉いと思う。
 田野村さんは、計算に強い人だった感じかなぁ。expand.def、僕も
使ってますよ。
 って、何か変な感じ。
 ボク、1999年くらいにniftyデビューだったので。もう高橋さんも
いない頃。


08381/08375 CRG00666 文太 Re^4: VTDOS+VZ で #N、#P でのエラー
( 1) 18/10/19 00:35 08380:文太さんへのコメント コメント数:2

 もう少し問題を絞り込んだほうが良いような気がしますが。
 マクロのどの部分でかとか。 
(s==1||s==2)? { &z("expand") >* }	; コマンドライン
 この部分だけで落ちますね。

 で、落ちるのはvtdos環境に限定されていないと思います。今、純DOSで
expand.defを0expand.defにリネームして、
=== tagl_f5.def v.06 ===
* M
24  [F05] "検索文字列の取得"
 のマクロを再カスタマイズ、検索窓で[F05]したら、マシンが落ちました。
落ちるのはまずいだろう、とは思いますが。
 マクロがいけない? vz.comがいけない? マシンが落ちるのが正しい?
 補足でした。


08382/08375 CRG00666 文太 vz.com, s>0の問題みたい
( 1) 18/10/19 00:55 08381:文太さんへのコメント コメント数:1

 す、すげえ。
 「画面の出力座標かサイズに問題」。これに一票。
 vz.comの問題だと思う。

=== Macrotmp by B ===;
* M
50 ^^ "Macrotmp"

&z("expand") >*

*
  これをexpand.defがない環境でやりました。
 s==0, [ESC]が効いて、マシンは落ちない。「c:\def\expand.defが見つかりません」
のメッセージが出る。
 s==1, 落ちる。
 存在しないファイルを窓を開けた状態から&z()(???)でファイルオープンしないこと、ですかね。
 #Nとかについては、また別件でしょうか?




08383/08375 CRG00666 文太 痩せたVz、太ったVz
( 1) 18/10/19 01:26 08382:文太さんへのコメント コメント数:1

 お疲れ様です。
 僕の一票で候補者が当選しても、とうぜん、僕にできることは何もありません。
 冗談でなく。

 ふと、これは高橋さんも知らなかったのかなぁ、と考えていて。いや、この手
のことを全部潰していたら、ゼロ戦Vzはゼロ戦でなくなり、きっと、comに
収まらなくなっていたのだろうと想像しました。
 大昔の10#さんのVzソースレビュー(メモリ管理?)を思い出してそう
思いました。
 これってマクロで対処できるのでしょうかね? 僕はユーザがそういうことを
しないこと、でいいような気がしました。
 もう我々しかいないのだから、Vzを無意味に(?)太らせないほうがいい、と。


08384/08375 BQO00549 konno Re^3: VTDOS+VZ で #N、#P でのエラー
( 1) 18/10/19 02:18 08378:konnoさんへのコメント コメント数:1

とりあえず、VZ.DEF か、VZ2.DEF のようなインクルードマクロに
エラーイベントマクロ

1 "!Abort" /

を入れると、今回のエラーで落ちるのは無くなったようです。
'/' は、全マクロ終了だったかな。
副作用はわからないです。

おそらく、マクロ終了時の処理、オプションの初期化みたいなことを
やっているのではと想像しますが、本当のところはわかりません。


でも、SORT.DEF はやっぱり落ちるみたい。



08385/08375 CRG00666 文太 Re^4: VTDOS+VZ で #N、#P でのエラー
( 1) 18/10/19 11:05 08384:konnoさんへのコメント コメント数:1

 /     マクロの実行を終了
   ネストレベルに関係なく全てのマクロが終了する
   マクロを終了するときは '.' を使うほうがよい
   (モード型のマクロも終了してしまうため)

 誰かがもう少し詳しく纏めていたような気もしますが、僕に分かったのは
これだけです。使ったことないですよね。ほとんど禁止されてたみたいなもの
だった気もするし。

 「/ マクロを強制中断(使用禁止?)」(上村さんの「道場」より)
 プッシュ・ポップも戻さないで、強制終了。
 僕の印象のソースは、ここかもしれません。

 でも、その!abort技、ありなんじゃないでしょうか。かなり稀な緊急事態のような
気もするし。こうなったら、Vzを再起動せよ、で、いいような。


08386/08375 BQO00549 konno !Abort でエラー回避
( 1) 18/10/20 01:57 08385:文太さんへのコメント

過去ログを読んでも、!Abort 処理は挙動がよくわからないので、
皆さん入れてない人が多いのではないでしょうか。
老師の言によると

> 03777/03785 XXXXXXXX  m.gann           RE:Q:lbuf を文字列として扱うのは可
> (15)   97/01/03 21:30  03719へのコメント

>  通常、「変更できません」や「オープンできません」などのエラーで、実行中
>  の全マクロ(モード型を含む)が強制終了してしまいます。
>  これは、'/' 抜きの !Abort で解消できますが、各マクロで、(r)?. などの、
>  自前のエラー処理が必要となります。

> === test
> * M
> 1 ^\ "" ?. mr[$80, #28 mr], #] &b(3) &m("r: %d",r)
> 1 "!V"  ?. &m("a") &b(3) &w(60) ''
> 1 "!A"  &m(r) &b(3) &w(60)
> *


こういう記事を見て、下記のようにしました。

1 "!Abort" 
	 &m("!Abort %s",r) &b(3) &w(60) 
;        (r>0&&r<45)?&m(r) s-, &w(60) &d &b(3) cm0~,

下側のコメントは、別の書き込みの物で、今交互に試しています。
!Abort を通ると、"/" が無くても、#N の事例でVTDOSが落ちないようです。

現状副作用として、View モードの時、Enter でファイルが閉じなくなりました。

1 "!View" マクロの

	(cm==4)?{ &m("") (mb)?. #C &d. }			;#m

この行が最後のほうにあったのを、先頭に持ってきたら正常動作になりました。
これでしばらく様子を見ようと思います。



08387/08375 GST01234 10♯ Re: 痩せたVz、太ったVz
( 1) 18/10/20 13:55 08383:文太さんへのコメント コメント数:2
参照先:http://q

この件でVTDOSに手を入れてログを取ったりしてちょこっと追っかけてみたけど、
これやるの?って所まで来てる(精神的に

08388/08375 BQO00549 konno si と di のチェック?
( 1) 18/10/20 20:02 08387:10♯さんへのコメント コメント数:1

> この件でVTDOSに手を入れてログを取ったりしてちょこっと追っかけてみたけど、
> これやるの?って所まで来てる(精神的に

10#さん、ご面倒をおかけして、すみません。

SCRNIBM.ASM	 の中のエラーになるルーチン
popwindow proc 	 のところで rep	movsw の手前に

	cmp	si,imgstack
	jc	popw8
	cmp	si,di				;★追加
	jbe	popw8				;★
	mov	si,[si-2]
	mov	imagep,si
_repeat
IFDEF J31
	call	putline
ELSE
	pushm	<cx,di>
  IFDEF DOSV
	pushm	<cx,di>
    IFNDEF US
	call	chkkanjilow
    ENDIF
	call	vrestore
	popm	<di,cx>
    rep	movsw				;★★★


このように、si と di のチェックを追加したら、#N でのマクロエラーで
!Abort が無くても落ちなくなりました。

これで何かわかりますでしょうか。


ちなみに、CX がゼロ以下かのチェックを入れても変わらなかったです。


08389/08375 BQO00549 konno Re^5: VTDOS+VZ で #N、#P でのエラー
( 1) 18/10/20 20:18 08381:文太さんへのコメント コメント数:2

>  で、落ちるのはvtdos環境に限定されていないと思います。今、純DOSで
> expand.defを0expand.defにリネームして、
> === tagl_f5.def v.06 ===
> * M
> 24 [F05] "検索文字列の取得"
>  のマクロを再カスタマイズ、検索窓で[F05]したら、マシンが落ちました。

これは環境によって落ちたり落ちなかったりしているのかも。
つまりメモリのどこかを壊しているが、たまたまそこで落ちないだけとか。

そうだとすると、VTDOSのチェックは、VZが異常になっていることを
教えてくれているということで、マクロや環境を見直した方がいいと
いうことかもしれませんね。

DOSのメモリ管理は厳密ではないとはちょっと思いますね。


08390/08375 GST01234 10♯ Re: si と di のチェック?
( 1) 18/10/20 21:38 08388:konnoさんへのコメント

このmovswのsiはおそらく窓がセーブした内容でdiが画面のバッファでは無いかと思ってるんですが、
だとするならsiとdiの比較はあまり意味が無い気はします。
ログを見るとdiがFF4Cとかって異常値になってるんですよね。
おそらく窓の表示位置が異常値になってる。

08391/08375 CRG00666 文太 暗闇の中の僕
( 1) 18/10/20 22:12 08389:konnoさんへのコメント コメント数:1

(A)
>これは環境によって落ちたり落ちなかったりしているのかも。
>つまりメモリのどこかを壊しているが、たまたまそこで落ちないだけとか。
 すいません、話が見えておりません。

 検索窓を出す、&z("xxx") >*をする、xxx.defは%vzdef%に存在しない。
 これで落ちない環境ってあるのでしょうか?
 申し訳ないことに、vtdos環境ではやっていないのですが、DOS, WinMEでは、
上でしっかり100%落ちました(実験2回ですが)。
 窓落とすのもマシン落とすのも嫌い。

 通じていると思いますが、s==0の編集モードでは、エラーメッセージが
出て、落ちません。


 こちらは僕が完全に話の流れを見失ったのかもしれませんが、上の件と、#N
は繋がってるのですか? 「ここで繋がっていたでしょう!」というばあい、
発言番号でポイントしていただけますでしょうか。
 #Nって、sort.defから来てますよね?
 (#Nって、よっぽど特殊なファイル名?を指定しないとファイルオープン
に成功するのじゃなかったでしたっけ? これでは上のファイルオープン
失敗の&z("")の話とのリンクがない???)

 上の件(A)は、&z("")の手抜き仕様(仕様は仕様)みたいに想像していました。

 ご面倒でしたら、スルーしていただいて構いませんよ。
 何か、僕に考えられることは、もうないような、気が、して、おりまして、、、。


>マクロや環境を見直した方がいいということかもしれませんね。
>DOSのメモリ管理は厳密ではないとはちょっと思いますね。
 話が見えません。m(__)m


08392/08375 CRG00666 文太 Re^2: 痩せたVz、太ったVz
( 1) 18/10/20 22:27 08387:10♯さんへのコメント コメント数:1

 ゆっくりと、お休みくだされ。さ、さ、粗茶を。
 (もうちょっと巧い表現があったんだけどなぁ。絵文字が
ないのが、いけないのかなぁ)
 む、無責任。
 うーん、でも、お休みじゃないですか。もうすぐ日曜だし。



08393/08375 GST01234 10♯ Re: 暗闇の中の僕
( 1) 18/10/20 22:31 08391:文太さんへのコメント コメント数:2

90 [F11] ""
   &z("xxx") >*

これで窓(なんでもいい)でF11押すと落ちます。


08394/08375 GST01234 10♯ Re^3: 痩せたVz、太ったVz
( 1) 18/10/20 22:32 08392:文太さんへのコメント コメント数:1

休日にこれはやりません

08395/08375 CRG00666 文太 Re^4: 痩せたVz、太ったVz
( 1) 18/10/20 22:45 08394:10♯さんへのコメント

 正しい! に1票。


08396/08375 CRG00666 文太 Re^2: 暗闇の中の僕
( 1) 18/10/20 22:48 08393:10♯さんへのコメント

 でしょ? だから、&z("xxx")をxxx.defがないときに、窓で、
してはいけない、&z("")の仕様、なんでしょ? >konnoさん, too

08397/08375 CRG00666 文太 まとめの試み
( 1) 18/10/20 23:04 08389:konnoさんへのコメント コメント数:1

 もちろん、僕にはVzのソースを読むことなんてできません。
 い、いつか、、、。

in #8375 konno wrote:
(上に逆アセコード)
>ここは、入力窓ルーチンの窓を閉じるところですね。
 これをみて、

in #8376 10# wrote:
>画面の出力座標かサイズに問題が起こってるようですね。

 細かい点がちゃんと分かっているわけでもない文太は、偉そうに

in #8382 文太wrote:
>「画面の出力座標かサイズに問題」。これに一票。
>vz.comの問題だと思う。
 とか書いてます。窓が出るか、出ないか、この違いだ、と。


 下がkonnoさんの仮説ですが、うーん、ですよね。
>SORT.DEF も、バックアップルーチンで、#N を使用していますが、
>何かエラーが出ていた気がします。


>MSDOSPlayer や、DOS窓では、マクロエラーがあっても落ちません。
>この辺に何かありそうな気がするのですが。
 検索窓で&z("xxx") >*をする、xxxは存在しない。
 これで、落ちませんか? 純DOSで落ちる場合、Vz的には
落ちるのが正しい、というのが僕の判定なのですが。



08398/08375 BQO00549 konno Re: まとめの試み
( 1) 18/10/20 23:38 08397:文太さんへのコメント コメント数:2

> >MSDOSPlayer や、DOS窓では、マクロエラーがあっても落ちません。
> >この辺に何かありそうな気がするのですが。
>  検索窓で&z("xxx") >*をする、xxxは存在しない。
>  これで、落ちませんか? 純DOSで落ちる場合、Vz的には
> 落ちるのが正しい、というのが僕の判定なのですが。

ここは、同じ実験をした結果なので、手順を間違えていなければ
どちらも事実だと思います。
VTDOSでは、REP 命令でチェックしているために落ちていますが
DOS窓やMSDOSPlayerではそこにチェックルーチンはありません。
そして、私の環境では落ちなかったのです。

純DOS環境は今無いので、私の環境ではどうなるかわかりません。
でも、すぐにVZが落ちることはなかったですね。
#N などの入力窓で出た記憶は無いので。

マクロがエラーになると、画面下に黄色くマクロコードが出ますよね。
私のマクロはバグが多いので昔からよくこの状況に会っていますが
このエラーが出ると大抵マクロの動作がおかしくなって、VZを再起動
するはめになっています。
ポインタやスタックが狂ってしまうんでしょうね。



08399/08375 GST01234 10♯ Re^2: まとめの試み
( 1) 18/10/20 23:54 08398:konnoさんへのコメント コメント数:1

VTDOSで見る限りは、V-TEXTの疑似テキストバッファに対して、
その逸脱した位置に書き込みを行ってるようですが、
他の環境でも同じ事が起こっていると仮定すると、
疑似テキストバッファがどこに置かれてるかによって
その後の挙動は変わってくるでしょうね。


08400/08375 BQO00549 konno Re^2: 暗闇の中の僕
( 1) 18/10/21 00:18 08393:10♯さんへのコメント コメント数:1

> 90 [F11] ""
>    &z("xxx") >*
> 
> これで窓(なんでもいい)でF11押すと落ちます。

DOS窓やMSDOSPlayerではやっぱり私の環境では落ちなかったです。
私家版は弄っているので、オリジナルVZで確認しました。


MSDOSPlayerでは、
#N 窓では、エラー表示は出ますが、黄色いマクロコードは表示しません。
ESC 2回までは画面が変化なし。
ESC 3回目で入力窓が消えるので、画面の再表示になっているのでしょう。


DOS窓では、
げげ、オプションエラーのせいか、起動前に窓が落ちた。
高橋版も同様でした。
修正前の公開版VZk07t1 では、カスタマイズエラーと出ますが起動成功。
Rf オプションが無いからですね。

で、#N 窓では、エラー表示が出て、黄色いマクロコードも表示しました。
ESC 1回で、画面にゴミが表示されます。
ポップウインドウで、違う領域のメモリを画面に書き込んでいると思われ。

ESC 3回目で入力窓が消え、画面も再表示されて正常に戻ります。
その後、おかしくなりやすいファイラーコマンドなども特に異常なしです。



08401/08375 BQO00549 konno Re^3: まとめの試み
( 1) 18/10/21 00:30 08399:10♯さんへのコメント コメント数:1

> VTDOSで見る限りは、V-TEXTの疑似テキストバッファに対して、
> その逸脱した位置に書き込みを行ってるようですが、
> 他の環境でも同じ事が起こっていると仮定すると、
> 疑似テキストバッファがどこに置かれてるかによって
> その後の挙動は変わってくるでしょうね。

外しているかもですが
私の見た感じでは、入力窓のプッシュポップは、表示画面に対して実行して
いると思ったので、テキストデータには影響ないのかなと思いました。

あ、テキストバッファというのが、VRAM のことですか。

純DOS時代もマクロのバグで画面がおかしくなったり、ファイラーコマンドの
キーがずれたり、マクロが起動しなくなったりはよくありましたが
VZが即座に落ちたというのは、QVIEW.DEF (DOS窓)くらいの記憶です。

たぶんVZが即落ちしたら即座にマクロを修正して、憶えていないだけかも。(^^;



08402/08375 CRG00666 文太 EMSがらみと言う
( 1) 18/10/21 00:56 08401:konnoさんへのコメント コメント数:1

 (どこに繋げていいのか分からないので、ここに)

 MS-DOS 6.2Vの環境で、#Nの窓で試しました。
 s==1なんて一般論でなく、#Nの窓にこだわっていたわけですね。
 お二人のやり取りを見ていたら、以下にあまり深い意味があるような気は
しないのですが、いちおう報告です。
 落ちました。しかし、今日は、こんなメッセージが出て、エンターを押して
マシンを再起動してね、と。
 「EMM386はエラー#6をアプリケーション内のメモリアドレスに見つけました。
0048:096B etc etc」
 アプリケーション内っていうから、Vzかと思ったら、DOSのお腹じゃないの?
とだけ思いました。
 必要とあれば追試しますが、僕が口を出せる領域ではないですね。


08403/08375 GST01234 10♯ Re: EMSがらみと言う
( 1) 18/10/21 01:12 08402:文太さんへのコメント コメント数:1

ttp://radioc.web.fc2.com/weblib/ms/dos62v/405963.htm

どういう訳かあらぬアドレスにジャンプしたようですね。
あらぬアドレスが書き換えられたのであればあらぬアドレスにジャンプすることも起こりえるでしょう。
例えばスタックのリターンアドレスが書き換わったとか。

08404/08375 GST01234 10♯ Re^3: 暗闇の中の僕
( 1) 18/10/21 01:19 08400:konnoさんへのコメント コメント数:1

VTDOSでもセグメントラップアラウンドチェックでアボートするようにしなければ、
素知らぬ顔して動き続けると思います。


08405/08375 CRG00666 文太 うーむ
( 1) 18/10/21 01:28 08404:10♯さんへのコメント

 (またしてもどこに繋げてよいのか分からない。直近のここに失礼します)

#8273

2018-10-09 23:49:11 VZ(15F3) 15F3:DC5B 'REP MOVSW 命令ラップアラウンド'
AX=000C BX=269C CX=009F DX=FF7D SI=2440 DI=FFE4 BP=CF52 DS=D000 ES=C000 FLAGS=0206
CS:IP=15F3:DC5B
15F3:DC4B 67 EB 8E C0 58 8B F7 36 8B 3E 40 06 51 56 F3 A5 

 この話、ここから始まっているんですよね。
 で、


#8349 (sort.defのコード)
	pf[=pr,bl[=kp-k,#N #P #m  
	(r<0||wa..13+v<bl+v) bl],pf],?{ #C r+,>e}		;<v>僕、読んでませーん。

 の#N #P に何かあるということになった(???)
 僕は、マクロコードを説明しただけです。ここに何かあるなんて言ってません。


#8375 
VTDOS+VZ でファイル編集中に #N や、#P で、拙作の TAGL_F5.DEF を実行すると

 うーん、僕も、#8273 のことを後で考えていたとき、その前に、何かが起こって、
デバッグエラーコードが指すルーチンは、おかしなsi, diをもらって発狂したんだろう、
そのルーチン(pushwindow)に問題があるわけではなく、と思ったのです。教えて
もらって、そう想像したのです。

#8309

>> 改めて調べてみたら該当箇所はscrnibm.asmのpushwindowでした。
>> ざっと見た感じではfarsegの内容?のように思えますが、
>> これが何なのか…

>私も確認しました。
>これはおそらく、メニューウインドウの裏のテキストを退避、復帰している
>のだと思います。

 すると、今回の件も、そもそも、&z("")に手抜きの仕様があり、#Nで起きていることは
「おかしなsi, diをもらって発狂」という事態なんじゃないのかな、sort.defの#N #P
と繋げるべきなのかなぁ、などと思っています。

 それより、sort.defが#Nの箇所で狂っている、って事実は確認されたのかなぁ、と
いうことが、少し気になりました。


 総じて、引っ込んでいたほうがいいようですね。そうさせて頂きます。お休みの日です。
安息日です。敬虔なクリスチャンなのです。嘘です。クリスチャンは嘘をつきません、
たしか。だといいな。

 あ、まだ休んでない。休みましょうよ、疲れた。



08406/08375 CRG00666 文太 Re^2: EMSがらみと言う
( 1) 18/10/21 01:34 08403:10♯さんへのコメント

 ありがとうございました。
 こんなことが調べられるとは、、、。

EMM386.EXEのエラー(Exception Error)について
#6   Invalid opcode  (無効オぺコード)

 どっか変なところへ飛んでいった。
 お休みなさい。


08407/08375 CRG00666 文太 Re^2: まとめの試み
( 1) 18/10/21 11:12 08398:konnoさんへのコメント コメント数:1

Bunta wrote:
>>  検索窓で&z("xxx") >*をする、xxxは存在しない。
>>  これで、落ちませんか?

konno wrote:
>ここは、同じ実験をした結果なので、手順を間違えていなければ
>どちらも事実だと思います。〔=MSDOSPlayer や、DOS窓では、
>マクロエラーがあっても落ちません。〕
>VTDOSでは、REP 命令でチェックしているために落ちていますが
>DOS窓やMSDOSPlayerではそこにチェックルーチンはありません。
>そして、私の環境では落ちなかったのです。
>
>マクロがエラーになると、画面下に黄色くマクロコードが出ますよね。
>私のマクロはバグが多いので昔からよくこの状況に会っていますが
>このエラーが出ると大抵マクロの動作がおかしくなって、VZを再起動
>するはめになっています。
>ポインタやスタックが狂ってしまうんでしょうね。

(A)
#N &z("xxx") >*		;xxx.def存在せず

 というコードで、落ちたり、あるいは、致命的打撃を受け、その後Vz
の再起動を余儀なくされたりする。
 &z()は、s>0でのエラーチェックが弱いので、si, di(たとえば)を
ぐちゃぐちゃにする。
 #N時に&z()されると、まだ#Nは処理を終了していないのに&z()に
「ポインタやスタックを狂わされている」ので、落ちる、あるいはやがて
再起動ということになる。

 #Nの問題なのだろうか、というのが、変わらぬ(進歩しない)僕の疑問
です。

>MSDOSPlayer や、DOS窓では、マクロエラーがあっても落ちません。
 を僕は、ここ以降の記述も考慮して、上で「致命的打撃を受けたけれど」
と解釈しました。
 (A)のあと、ふつうにVzで作業を続けられる状態【だった】のですか?
続けられる状態【なの】ですか?

 konnoさんのvtdos+vz.comにむけての意図は理解しているつもりです。
 上の僕の疑問点に回答をいただいても、もう僕にできることはないだろう、
と思っております。
 話の整理をしようとしているだけで、2年後の僕に、状況を分かりやすく
してやっているだけです。



08408/08375 CXB00940 としき Re^3: まとめの試み
( 1) 18/10/21 21:48 08407:文太さんへのコメント コメント数:3
参照先:http://toshiki.la.coocan.jp/

話題の進行が速すぎてついていけていませんが。

> Bunta wrote:
> >>  検索窓で&z("xxx") >*をする、xxxは存在しない。
> >>  これで、落ちませんか?

#8382の文太さんのマクロ、および#8393の10♯さんのマクロをWin7のCMD窓で試して
みました。Vzは1.60t03k非常駐。
s==0でもs==1でも「c:\def\expand.defが見つかりません」のメッセージが出て
マクロは止まります。左下には黄色く「>*」が表示されています。
編集モードでは、以後、そのまま編集可能。
窓では、[ESC]で抜けると画面が乱れますが、そこで何か文字を入力すると画面は
復旧します。カーソルキーでは画面は復旧しませんでした。
なお、試した窓は検索窓とファイルオープン窓だけです。他の窓は試していません。

>  (A)のあと、ふつうにVzで作業を続けられる状態【だった】のですか?
> 続けられる状態【なの】ですか?

上記の後、正常に編集継続可能。しばらくの間、普通に編集操作を続けていました
が、ファイルが失われるようなことはありませんでした。
このことから考えて、もしかしたら、これが原因で爆弾が埋め込まれた可能性は
あるかもしれませんが、何らかの起爆スイッチが押されない限りは爆発しないの
かもしれません。もちろん、爆弾は埋め込まれていないかもしれませんが、ここ
までの調査から、その可能性は低いかと。


08409/08375 CRG00666 文太 &z("") on dos6.2
( 1) 18/10/21 23:07 08408:としきさんへのコメント コメント数:2

 konno版07t(旧版) on MS-DOS 6.2Vでは、以下の結果でした。
 きれいに全部落ちました。
 ラップアランドを見直すことで、vz on vtdosの振る舞い全般が改善するので
あれば、それは僕にとっても喜ばしいことですが、、、。

=== Macrotmp by B ===;
xxx.defは%vzdef%に存在しない。
窓はもう少しあったと思うけど、いいんじゃないですか? 描画のし直しで問題が
顕在化する(そこでVzが死ぬ)と分かっているのだと思うので。
* M
50 ^^ "Macrotmp"
			;常駐			非常駐
#F &z("xxx") >*		;dead emm386 etc	dead 0で除算
;#N &z("xxx") >*	;dead 0で除算		dead 0で除算
;#O &z("xxx") >*	;dead emm386 etc	dead 0で除算
;#J &z("xxx") >*	;dead 0で除算		dead emm386 etc
*


08412/08375 GST01234 10♯ Re^4: まとめの試み
( 1) 18/10/22 06:12 08408:としきさんへのコメント コメント数:1

例のマクロをVTDOS上で、80X30の画面サイズで実行したら正常に動作しました。
画面サイズに限界点があるようですね。


08413/08375 CXB00940 としき Re^5: まとめの試み
( 1) 18/10/22 17:57 08412:10♯さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

うわ、画面サイズも関係しますか。
まさか関係あるとは思わなかったので書かなかったのですが、実は#8408の実験は
いずれも80x50で行っているんですよ。

すると、人によってTcだのFwだのの値が違うわけで、画面の限界サイズも異なって
来るということが容易に予想できます。うぅん、今頃になって、Vzの暗黙の仕様
またはバグが表面化するなんて。konnoさんが簡単に手を入れられるところだと
うれしいな。
そしてSORT.DEFの場合、アセンブラで書かれている中身がアクセスしている部分が
やはりどこか限界を突破しているのでしょうけど、とりあえず、こちらは一旦
保留して、Vz本体のほうを調べたほうがいいのかも。もちろん、一つの山を攻略
するのに複数の方角からアプローチするというのも悪くはないかもしれませんが、
下手をすると二正面作戦になりかねない。

とりあえず、めざらさんがCSEGMAP.DEFを作られたいきさつのニフティのログを
再度読み返してきます。


08414/08375 CXB00940 としき Re: &z("") on dos6.2
( 1) 18/10/22 18:00 08409:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

>  konno版07t(旧版) on MS-DOS 6.2Vでは、以下の結果でした。

常駐と非常駐で結果が変わるというのがとても興味深いですね。
例によって勘でモノを言いますが、EMSドライバのない環境では、全てゼロ除算に
なると想像しました。


08415/08375 GST01234 10♯ Re^6: まとめの試み
( 1) 18/10/22 19:43 08413:としきさんへのコメント

今追試したら80X30でやっぱりダメでした。
あと、僕のテスト環境はEMS無しです。

08416/08375 CRG00666 文太 &z("") on WinME
( 1) 18/10/22 22:06 08414:としきさんへのコメント


 意味ないでしょうね。

=== Macrotmp by B ===;
マシンにしろ窓にしろ、落とすの嫌だなぁ。EMSありです。
* M
50 ^^ "Macrotmp"
			;常駐(80x25)	非常駐(80x25)
#F &z("xxx") >*		;マシン落ち	マシン落ち
			;常駐(80x30)	非常駐(80x30)
;#F &z("xxx") >*	;窓落ち		窓落ち
*

*当然のことながら、このような場面で、WinMEは大変に弱いOSです。
 「マシン落ち」はOS再起動を、
 「窓落ち」はOSは落ちないが窓は落ちること
 を意味します。
*問題の切りわけのため必要な作業なのでしょうが、EMSなしのVzは、
 そのような状態でVzが起動する設定(各種バッファの縮小)を捜すのが、
 そもそも大変なことなので、パスです。

4F1A <--    2  138512  vz 1.60t -z                1B 21 29 FA
70ED        1  115920  <free>
8D3B 0007   4   72736  emsmagic

----- EMS ver4.0 (frame: 8F00h) -----       ----- XMS ver3.00 -----
handle pages   size  name                   HMA used: 61 KB by DOS
------ ----- ------  --------               EMB free: 2048 KB (max: 5120 KB)
     1     2    32k  for Vwx!
     2     6    96k  VZ

 このようにファイルをほとんど読み込んでいなくても、EMSは6ページ確保
されるvz.defでありvzfl.defです。NEC98の時代から、こうなのです。
 このノートは元XP用で、emsmagicを使わないといけないという特殊なマシンです。
ありがたいけど、これすら嫌い。このように我侭な人間には、昨今のOSでVzする
のは、やはり困難なことなのでしょう。



08418/08375 BQO00549 konno &z("") on DOSモバ (dos6.22)
( 1) 18/10/22 23:27 08409:文太さんへのコメント コメント数:2

>  konno版07t(旧版) on MS-DOS 6.2Vでは、以下の結果でした。
>  きれいに全部落ちました。

#8417 で、DOSモバ 復活したので、検証してみました。

EMM386 エラー #6 で即落ちました。

うーむ、EMM386 は、メモリチェックをキチンとしているという事ですかね?

ちなみに、PC98エミュの、NP2 では問題なく動作しました。

VZ の &z は、編集モードのみ動作保証しているようで、ファイラーで誤動作は
周知徹底してますが、入力窓も駄目ということですね。



08419/08375 GST01234 10♯ Re: &z("") on DOSモバ (dos6.22)
( 1) 18/10/22 23:50 08418:konnoさんへのコメント コメント数:1

> EMM386 エラー #6 で即落ちました。
> うーむ、EMM386 は、メモリチェックをキチンとしているという事ですかね?

既出ですが、EMM386の#6は無効命令例外ですね。
この例外は8086/88には存在しないため通常のDOSにはそのハンドラーは存在しないはずです。
これらのCPUで無効命令を実行した場合の挙動は未定義になってると思います。
仮想86モードを利用するEMM386にはそのハンドラーが存在するようですね。
通常、この状態になると言うことは、予期しないアドレスで実行してるはずなので、
8086/88ではフリーズか暴走してると思われますが、問題なく動作しているということは、
PC98では現象が発生してないように思います。


08420/08375 CRG00666 文太 Re: &z("") on DOSモバ (dos6.22)
( 1) 18/10/23 00:22 08418:konnoさんへのコメント

>VZ の &z は、編集モードのみ動作保証しているようで、ファイラーで誤動作は
>周知徹底してますが、入力窓も駄目ということですね。
 いろいろありそうだよなぁ、とは思いますが、以下のようなのは、ふつうにうまく
いきましたよ。
 もちろん、expand.defがある状態で実行しました。

=== Macrotmp by B ===;
* M
50 ^^ "Macrotmp"

#F "auto" &z("expand") >*
&m("%s",ps)
*
kekka: autoexec.bat

C:\>type autoexec.bat
REM Dummy file for NTVDM
 そういうものだったんだ。


08421/08375 CXB00940 としき Re^4: まとめの試み
( 1) 18/10/23 01:25 08408:としきさんへのコメント コメント数:3
参照先:http://toshiki.la.coocan.jp/

とりあえず、自分のところにつけます。

すぐに引っ張り出せる古い環境というと、WinXPしかありませんでした。
そこで、#8382の文太さんのマクロ、および#8393の10♯さんのマクロをWinXPの
CMD窓で試そうとしてみました。あいにく、CMD.EXEおよびcommand.comの設定等を
忘れてしまっています。なので、CMD窓は画面サイズが80x50にしてあっても、
command.comを呼び出すと80x25に縮んでしまう。これ、command.com直呼び出し
でもこのサイズ。どうやれば80x50にできるかわからない。

それはさておき。Vzは1.60t03k。EMSは10ページ。
常駐と非常駐の両方で試してみました。
結果。
全て、#8408と全く同じ。すなわち

> s==0でもs==1でも「c:\def\expand.defが見つかりません」のメッセージが出て
> マクロは止まります。左下には黄色く「>*」が表示されています。
> 編集モードでは、以後、そのまま編集可能。
> 窓では、[ESC]で抜けると画面が乱れますが、そこで何か文字を入力すると画面は
> 復旧します。カーソルキーでは画面は復旧しませんでした。
> なお、試した窓は検索窓とファイルオープン窓だけです。他の窓は試していません。

です。
うぅん、落ちない。
みなさんとはVzのバージョンが異なるせいかなぁ。
もしかして、新しいkonno版なら落ちる、ということではありませんよね?
オプションの数値をいじれば落とせるようになるかなぁ。

08422/08375 CRG00666 文太 落ちない悩み WinXP
( 1) 18/10/23 08:58 08421:としきさんへのコメント コメント数:1

>オプションの数値をいじれば落とせるようになるかなぁ。
 落とせない悩み(笑)
 XPのntvdmが、ある意味優秀になったということなのかな?

>すぐに引っ張り出せる古い環境というと、WinXPしかありませんでした。
>command.comを呼び出すと80x25に縮んでしまう。これ、command.com直呼び出し
>でもこのサイズ。どうやれば80x50にできるかわからない。
 XPでvtdosを使用していないばあい、25行にしかなれない、というのがXP
の仕様だったんではなかったでしたっけ?

#F &z("xxx") >*

 はい、WinXP with command.com	落ちません
 はい、WinXP with vtdos	落ちます

 konno版(k07t, 旧版)+EMSあり。



08423/08375 CRG00666 文太 Re: 落ちない悩み WinXP
( 1) 18/10/23 09:10 08422:文太さんへのコメント

http://mezala.la.coocan.jp/bbs/upload/clip.cgi?
 XPでも色々と無理すれば、できなくはなかったのですね。
 僕は荒野に一人で足を踏み入れないタイプなのだった。


08424/08375 BQO00549 konno Re^5: まとめの試み
( 1) 18/10/23 21:59 08421:としきさんへのコメント コメント数:1

> そこで、#8382の文太さんのマクロ、および#8393の10♯さんのマクロをWinXPの
> CMD窓で試そうとしてみました。あいにく、CMD.EXEおよびcommand.comの設定等を
> 忘れてしまっています。なので、CMD窓は画面サイズが80x50にしてあっても、
> command.comを呼び出すと80x25に縮んでしまう。これ、command.com直呼び出し
> でもこのサイズ。どうやれば80x50にできるかわからない。

これ、もしかして、#5819 の記事

> 2chの情報で、もうだいぶ前の書き込みですが、参考にさせていただき、
> Win7のDOS窓VZで30行以上の表示ができました。\(^^)/ ヤッタ-

これの事ではないですか?
Win7 ではVZで50行に出来たけれども、WinXP では、出来なかったような。



08425/08375 CRG00666 文太 懐かしがれない過去
( 1) 18/10/23 23:38 08424:konnoさんへのコメント

>これ、もしかして、#5819 の記事
 懐かしい記事を紹介くださりありがとうございます。
 というのは嘘で、僕は、このやり取りについての記憶がまったく
ありません。懐かしくなれない。たったの6年前なのに。
 古い話を持ち出して恐縮ですが、emsmagic+atok8は、EMS不可で
ずっときています。Vzが起動できれば、atokがEMSにいってくれなくても、
僕の使用感としては大きな問題ではない、という感じでずっときています。
 我侭いうな、というのは、WinXP以来、しっかり仕込まれました。
 ほんとか?


08426/08375 CXB00940 としき Re^5: まとめの試み
( 1) 18/10/24 03:28 08421:としきさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

とりあえず、自分のところにつけます。

> すぐに引っ張り出せる古い環境というと、WinXPしかありませんでした。

このマシンに、古いVTDOSが入っていました。VTDOS122。
2010年のタイムスタンプですね。
これを起動したら、80x50で立ち上がりました。
当時の私がそのように設定したのでしょう。

それはさておき。同じマシンなのでVzは1.60t03k。EMSはたくさん。
常駐と非常駐で試してみました。
結果。
全て、#8408と全く同じ。すなわち

> s==0でもs==1でも「c:\def\expand.defが見つかりません」のメッセージが出て
> マクロは止まります。左下には黄色く「>*」が表示されています。
> 編集モードでは、以後、そのまま編集可能。
> 窓では、[ESC]で抜けると画面が乱れますが、そこで何か文字を入力すると画面は
> 復旧します。カーソルキーでは画面は復旧しませんでした。
> なお、試した窓は検索窓とファイルオープン窓だけです。他の窓は試していません。

です。
落ちません。

みなさんとの違いといったら、Vzのバージョンと、あとは、各オプションの値。
えと、私も含めみなさん、自分が普段使っているVZ.DEFで試していると思うのです
が、もしかして、例えばオリジナルというか、1993年12月6日のタイムスタンプの
DEFファイルでVzを起動して、落ちるか試してみるべきなのかもしれません。
純正というか、その設定なら状況は発生しないけど、Windows時代に合わせて、
とあるオプションの値を潤沢にしたら落ちるようになった、というようなことが
あるかも。そして、たまたま私は、みなさんが大きな値にしているところが小さな
値のままだった、とか。
あるいは、あとのバージョンで追加されたオプションを、みなさんはきちんと設定
しているけど、私は使わないからと設定をサボっていた、とか。

08427/08375 BQO00549 konno rep 命令で矛盾があった時の動作
( 1) 18/10/26 23:04 08419:10♯さんへのコメント コメント数:2

> 既出ですが、EMM386の#6は無効命令例外ですね。
> この例外は8086/88には存在しないため通常のDOSにはそのハンドラーは存在しないはずです。
> これらのCPUで無効命令を実行した場合の挙動は未定義になってると思います。
> 仮想86モードを利用するEMM386にはそのハンドラーが存在するようですね。
> 通常、この状態になると言うことは、予期しないアドレスで実行してるはずなので、

なるほど、これが出るという事は、致命的なエラーなのだという事ですね。
ユーザー的には、エラーで落ちずに安全に止まってくれればとは思います。

> 8086/88ではフリーズか暴走してると思われますが、問題なく動作しているということは、
> PC98では現象が発生してないように思います。

PC98エミュのNP2 も落ちなかったので、そうなんですかね。

それで思ったんですが、NT系のDOS窓など、落ちないDOS環境もあるのはなぜかと。

例えば素人プログラムなどでは、CLD とSTD を間違えるとか、VZマクロでも
プログラムミスやエラー中断などで、si と di の関係がおかしくなることは
よくありそうな気がします。

そのたび窓が落ちたりしないように、rep 命令で、si と di が矛盾していたら
そのループ命令は実行しないでスルーするという風なルーチンを仕込んでいる
DOSがあるという事は無いでしょうか。
つまり、0回のループとしているとかで。

これは妄想の想像にすぎないかもしれませんが、VTDOSに現在ある、SCASB_MODE=1
というオプションは、rep 命令で矛盾があってもスルーするのですよね。
ということは、上記と似たようなルーチンになっているのでしょうか。

このモードで、矛盾を検知した時には、エラーログは出力していないですよね。
これを、エラーログ出力するようにできないでしょうか。
SCASB_MODE=2
というように、オプションで切り替えるとか。
動作がおかしいと思った時に、エラーログでチェックできれば意味があるかな
と思います。



08428/08375 CRG00666 文太 Re: rep 命令で矛盾があった時の動作
( 1) 18/10/27 00:24 08427:konnoさんへのコメント

>rep 命令で、si と di が矛盾していたら
>そのループ命令は実行しないでスルーするという風なルーチンを仕込んでいる
>DOSがあるという事は無いでしょうか。

 10#さんからの解説を待ちたいところではあるのですが。
 konnoさんが目指している「方向」については、おぼろげながらも理解している
つもりです(ほんとうなのだろうか?)

 でも、ここで、konnoさんは、「si と di の矛盾」をどのようにイメージ
(「定義」は硬すぎると思うので)されていますでしょうか。

 僕ら人間は先読みができます。でも、このsi, diはないよ、という判断を
プログラムはどうすれば下せるのだろう? と思いました。
 XPのntvdmとかは、確かにそれをしてそうではあるよな、とは思っているの
ですが。
 お教えいただければ、幸いです。

 窓ないしマシンを落とすところまで行かせないような「保護回路」みたいな
ものが働いてるみたいだ、という感触はあったのですけれど。

 これを言ってはお終いですが、僕はVzのあくまでユーザとして、とにかく、
思ったとおりにVzが動かなければ何もできない、そうでなければ、そもそも
Vzをいまどき使っている意味はないと、安定のプラットフォーム、WinME or
MS-DOSでの使用を真剣に考え始め、環境整備を進めています。m(__)m



08429/08375 GST01234 10♯ Re: rep 命令で矛盾があった時の動作
( 1) 18/10/27 01:49 08427:konnoさんへのコメント コメント数:1

既に説明していますけど、EMM386#6は定義されていない命令を実行しようとしたときに発生するもので、
通常これは予期しないアドレスにジャンプした場合か、予期していたジャンプ先が書き換えられた場合に発生します。
その直接的な原因はスタックのpush/popが狂った、スタックのリターンアドレスが書き換えられた、
ジャンプテーブルの内容が書き換えられた、ジャンプテーブルのインデックスが異常になった、
コードセグメントの一部が書き換えられた、割り込みベクタが書き換えられた
等が考えられます。

> そのたび窓が落ちたりしないように、rep 命令で、si と di が矛盾していたら
> そのループ命令は実行しないでスルーするという風なルーチンを仕込んでいる
> DOSがあるという事は無いでしょうか。
> つまり、0回のループとしているとかで。

一般的なx86プロセッサはストリング命令のセグメントラップアラウンドはそのまま処理します。
この命令にトラップを掛ける機能はありません。
例えば転送先が 8000:fff0 で転送バイト数が100hバイトだった場合、8000:fff0からffffまでに転送したのに続いて
8000:0000から00efまでに転送します。

DOSのEMM386#6の原因にストリング命令は直接的には関与していないと思われます。
間接的に関与していたりとか、双方の原因となる論理的なエラーが発生している可能性はあります。
少なくともMS-DOS/V+EMM386とNP2/NTVDMの間には非互換性があるようです。   

> これは妄想の想像にすぎないかもしれませんが、VTDOSに現在ある、SCASB_MODE=1
> というオプションは、rep 命令で矛盾があってもスルーするのですよね。

SCASB_MODE=1 はスルーしているのではなく、セグメントラップアラウンドを正確にエミュレートしています。


08430/08375 CXB00940 としき Re^6: まとめの試み
( 1) 18/10/27 22:07 08426:としきさんへのコメント コメント数:3
参照先:http://toshiki.la.coocan.jp/

とりあえず、自分のところにつけます。

みなさんの発言から、落ちる/落ちないを拾って表にしてみました。

       発言 試験          常駐   画面      
報告者 番号 方法 結果     有無   サイズ 環境         VzVer
konno  8314 SORT 落ちる   ?      ?      VTDOS        ?
konno  8342 SORT 落ちない ?      ?      DOS窓(?)     ?
konno  8342 SORT 固まる   常駐   ?      VTDOS        榊原版
konno  8342 SORT 落ちない 非常駐 ?      VTDOS        榊原版
konno  8375 &z   落ちる   ?      ?      VTDOS        ?
konno  8375 &z   落ちない ?      ?      DOS窓(?)     ?
文太   8381 &z   落ちる   ?      ?      純DOS(6.2?)  ?
文太   8391 &z   落ちる   ?      ?      純DOS(6.2?)  ?
文太   8391 &z   落ちる   ?      ?      DOS窓(WinME) ?
10#    8393 &z   落ちる   ?      ?      VTDOS        ?
konno  8400 &z   落ちない ?      ?      DOS窓(?)     ?
文太   8402 &z   落ちる   ?      ?      DOS6.2       ?
としき 8408 &z   落ちない 非常駐 80x50  DOS窓(Win7)  1.60t03k
文太   8409 &z   落ちる   常駐   ?      DOS6.2       k07t
文太   8409 &z   落ちる   非常駐 ?      DOS6.2       k07t
文太   8416 &z   落ちる   常駐   80x25  DOS窓(Win7)  ?(k07t)
文太   8416 &z   落ちる   常駐   80x30  DOS窓(Win7)  ?(k07t)
文太   8416 &z   落ちる   非常駐 80x25  DOS窓(Win7)  ?(k07t)
文太   8416 &z   落ちる   非常駐 80x30  DOS窓(Win7)  ?(k07t)
konno  8418 ?    落ちる   ?      80x25  DOS6.2       ?(k07t)
としき 8421 &z   落ちない 常駐   80x25  DOS窓(WinXP) 1.60t03k
としき 8421 &z   落ちない 非常駐 80x25  DOS窓(WinXP) 1.60t03k
文太   8422 &z   落ちない ?      80x25  DOS窓(WinXP) k07t
文太   8422 &z   落ちる   ?      80x25  VTDOS        k07t
としき 8426 &z   落ちない 常駐   80x50  VTDOS122     1.60t03k
としき 8426 &z   落ちない 非常駐 80x50  VTDOS122     1.60t03k

純DOSは80x25と決め打ちさせていただきました。
V-TEXT使っていたらごめんなさい。
また、間違っている部分があれば、それもごめんなさい。併せて、私が見落として
いる部分や、不明で「?」としている部分を補完していただけると助かります。

この表を一見してわかることは、いろんなOSや画面サイズで事象が発生していると
いうこと。一方で、報告者に偏りがあるところが弱点ではありますが、高橋版では
全く落ちていないという状況があります。
やはりこれ、Vzのバージョンとか各人のvz.defでのオプション設定が影響している
可能性があるのではないかなぁ。


08431/08375 CRG00666 文太 Re^7: まとめの試み
( 1) 18/10/28 00:10 08430:としきさんへのコメント コメント数:2

>純DOSは80x25と決め打ちさせていただきました。
 文太的には問題ありません。
 僕の純DOSは、MSの6.2Vです。
 たぶん正確だろうと思いますが(そうしてください)、僕のvz versionは
すべてk07tです。
 常駐・非常駐で不明の箇所は、「常駐」で統一していただいて良いと思います。

>高橋版では全く落ちていないという状況があります。
 あはははは。このあいだ作るだけ作ったのですが、どうするぅ? みたいな
ことになってます。
 k07t3(最新版)って、avか何かで変なことになりませんか。
 画面に縦方向に色が残ることがあるのですが?
 うん、縦にカーソルを動かすとavの色が残るみたい???
 Win7+vtdosの環境下での話です。他の環境は、k07tのまま。怠惰。



08432/08375 BQO00549 konno Re^2: rep 命令で矛盾があった時の動作
( 1) 18/10/28 02:26 08429:10♯さんへのコメント コメント数:1

> 既に説明していますけど、EMM386#6は定義されていない命令を実行しようとしたときに発生するもので、
> 通常これは予期しないアドレスにジャンプした場合か、予期していたジャンプ先が書き換えられた場合に発生します。
> その直接的な原因はスタックのpush/popが狂った、スタックのリターンアドレスが書き換えられた、
> ジャンプテーブルの内容が書き換えられた、ジャンプテーブルのインデックスが異常になった、
> コードセグメントの一部が書き換えられた、割り込みベクタが書き換えられた
> 等が考えられます。

なるほど、VZマクロはスタックセグメントで実行されているため、マシン語マクロも
同じセグメントで動作するので、マクロのエラーや中断などでセグメントが違ってしまう
事もあるかのなと思っていました。
セグメントが違えば、そこには実行コードと違うものが存在しているので、無効命令と
なってしまうのかなと思っていました。

とすると、EMM386 の場合は、rep 命令で落ちているのではなくて、そのメモリ操作
によって、予期しない不正な場所のメモリが書き換えられたからエラーとなる。
こういう理解で合ってますかね。

VZの入力窓のポップは、退避していたVRAMデータを書き戻しているだけなので
多くても2000bytes 程度だし、辻褄が狂ってゴミデータをVRAMに書き込むだけなら
実害は無いのですが、別の場所(セグメントなど)に書き込むとしたら危険ですね。
例のマクロでEMM386 エラーが出るのはその実例ということですかね。


> DOSのEMM386#6の原因にストリング命令は直接的には関与していないと思われます。
> 間接的に関与していたりとか、双方の原因となる論理的なエラーが発生している可能性はあります。
> 少なくともMS-DOS/V+EMM386とNP2/NTVDMには非互換性があるようです。   

> SCASB_MODE=1 はスルーしているのではなく、セグメントラップアラウンドを正確にエミュレートしています。

ここが最初あれ? と思ったのですが、上の文章と合わせて読むと、非互換性に対処する
処理を追加したモードというか、互換性を高めたモードと考えればいいわけですか。


ポップウインドウの問題はVZの手抜き仕様が原因なので、VZのソースで対策した
ほうが良さそうな気がしています。
単にスルーさせるだけより、何かエラーメッセージ的なことが出来ないかなと
考えています。



08433/08375 BQO00549 konno k07t3 は内部ワークの位置ズレ有り、公開停止します
( 1) 18/10/28 02:37 08431:文太さんへのコメント コメント数:1

>  k07t3(最新版)って、avか何かで変なことになりませんか。
>  画面に縦方向に色が残ることがあるのですが?
>  うん、縦にカーソルを動かすとavの色が残るみたい???
>  Win7+vtdosの環境下での話です。他の環境は、k07tのまま。怠惰。

k07t3 は、内部ワークの位置をずらしていました。
TAGLIGHT.EXE などでも問題がありましたので、この版は公開停止します。

互換性を考えると、k07t1 までが良いと思います。



08434/08375 BQO00549 konno Re^7: まとめの試み
( 1) 18/10/28 02:53 08430:としきさんへのコメント コメント数:1

> 一方で、報告者に偏りがあるところが弱点ではありますが、高橋版では
> 全く落ちていないという状況があります。

高橋版では落ちていないという報告は見てないような気がします。
SORT では、私の手持ちの主なVZを全て試したので、高橋版も駄目だったです。
榊原版は、その後の追試で落ちたように思います。

&z は高橋版も試したか忘れましたが、ここのルーチンは同じなので
落ちると思います。
今試しましたが、やっぱり落ちました。
si、di のチェックを入れた私家版では落ちません。

これに関しては、VZの手抜き仕様で、こういう操作をしたらバグるという
事例だと思います。
メモリを壊す危険性があるということなので、対策はした方がいいでしょう。



08435/08375 GST01234 10♯ Re^3: rep 命令で矛盾があった時の動作
( 1) 18/10/28 03:58 08432:konnoさんへのコメント

> なるほど、VZマクロはスタックセグメントで実行されているため、マシン語マクロも
> 同じセグメントで動作するので、マクロのエラーや中断などでセグメントが違ってしまう
> 事もあるかのなと思っていました。
> セグメントが違えば、そこには実行コードと違うものが存在しているので、無効命令と
> なってしまうのかなと思っていました。

x86は全て命令実行はcsとなってますね。スタックセグメントで動作する、というのは、
csとssが同一であるということですかね?確かVzはss=dsでcsは分離でしたが、
マクロのマシン語はss配置ですか。
「セグメントが違う」というのはいろんな意味合いに取れてしまいますが、
例えばセグメントレジスタが予期しないものとなった場合は予期せぬ動作からの無効命令は
あるかもしれません。

> とすると、EMM386 の場合は、rep 命令で落ちているのではなくて、そのメモリ操作
> によって、予期しない不正な場所のメモリが書き換えられたからエラーとなる。
> こういう理解で合ってますかね。

ストリング命令が無効命令例外を発生させることはありませんが、その結果が無効命令例外に
繋がる可能性はあります。別の所に原因がある可能性もありますよ。


> VZの入力窓のポップは、退避していたVRAMデータを書き戻しているだけなので
> 多くても2000bytes 程度だし、辻褄が狂ってゴミデータをVRAMに書き込むだけなら
> 実害は無いのですが、別の場所(セグメントなど)に書き込むとしたら危険ですね。
> 例のマクロでEMM386 エラーが出るのはその実例ということですかね。

VTDOSのエラーログを見る限りdiがFFxx付近を示してるため、ここは疑似VRAMとは違う場所になります。


> > DOSのEMM386#6の原因にストリング命令は直接的には関与していないと思われます。
> > 間接的に関与していたりとか、双方の原因となる論理的なエラーが発生している可能性はあります。
> > 少なくともMS-DOS/V+EMM386とNP2/NTVDMには非互換性があるようです。   
> 
> > SCASB_MODE=1 はスルーしているのではなく、セグメントラップアラウンドを正確にエミュレートしています。
> 
> ここが最初あれ? と思ったのですが、上の文章と合わせて読むと、非互換性に対処する
> 処理を追加したモードというか、互換性を高めたモードと考えればいいわけですか。

セグメントラップアラウンドの説明は以前に行いましたので省略しますが、
これをなにがしかの実装テクニックとして活用する可能性もなきにしもあらずなんですが、
一般的なセグメントの構成は上位伸張か下位伸張かのどちらかで、通常はオフセット0000付近か
FFFF付近(スタック)に集中するため、セグメントの両端を一度に操作するセグメントラップアラウンドを
活用する設計はきわめて不自然であると言わざるを得ません。
実際にVZのソースに於いてストリング命令の箇所は全て確認しましたけど、そのようなメモリ配置を
行ってると推測される事例は見当たりませんでした。
こういった理由からVTDOSではセグメントラップアラウンドは何らかの問題の結果と見なして、
通常は致命的エラーとしています。
また、セグメントラップアラウンドのエミュレーションはコスト高になるというのも理由です。
SCAS_MODE=1は、わざわざコストを払って何らかの問題を見て見ぬふりをしてるというのが僕の認識です。


08436/08375 CRG00666 文太 Re: k07t3 は内部ワークの位置ズレ有り、公開停止します
( 1) 18/10/28 13:57 08433:konnoさんへのコメント

>互換性を考えると、k07t1 までが良いと思います。
 了解です。それでは、t1でいきましょう!
 サンクスです。m(__)m


08437/08375 CXB00940 としき Re^8: まとめの試み
( 1) 18/10/28 14:02 08434:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> 高橋版では落ちていないという報告は見てないような気がします。

そうですか、それは申し訳ありません。
#8430の表も含め、今まで何回も書いた「1.60t03k」というのは高橋版のつもり
だったのですが、99年12月19日版というのは高橋版ではなかったようです。
大変失礼しました。

> SORT では、私の手持ちの主なVZを全て試したので、高橋版も駄目だったです。

ごめんなさい。
今度は逆に、私のほうがその報告を見落としていたようです。
何番の発言に掲載されておりますでしょうか。
あの表に追記したいと思っておりますので、発言番号を教えてください。


08438/08375 CXB00940 としき Re^8: まとめの試み
( 1) 18/10/28 14:22 08431:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

>  文太的には問題ありません。

例の表について、文太さんが報告を上げられた部分については、環境と常駐有無
について追記させていただきます。

>  あはははは。このあいだ作るだけ作ったのですが、どうするぅ? みたいな

えと、作れるということは、オリジナルのVzとオリジナルのDEFファイルがあると
いうことですよね。
であれば、それらを使って、DOS6.2の#N窓から&zでどうなるかの実験を行えます?

・93年版Vzと93年版DEFでDOS6.2
・konno版Vzと93年版DEFでDOS6.2
・93年版Vzと文太常用DEFでDOS6.2

最後のやつはカスタマイズエラーが出るかな。
これらの結果がわかれば、DEFファイルのオプションの値によって、すなわち各種
バッファの位置などによりバグが顕在化するのか、それとも全く関係ないのか、
ということが明確になりそうです。
ならない可能性も高いけど。


08439/08375 CRG00666 文太 Re^9: まとめの試み
( 1) 18/10/28 15:31 08438:としきさんへのコメント コメント数:1

>ということが明確になりそうです。
>ならない可能性も高いけど。
 ならなかったと思う。

 全て非常駐です。

・93年版Vzと93年版DEFでDOS6.2	落ちる
・konno版Vzと93年版DEFでDOS6.2	落ちる(0除算)k03t3(まだ、、、)
・93年版Vzと文太常用DEFでDOS6.2	落ちる		5つエラー。Nf,dw,色3つ


08440/08375 CXB00940 としき Re^10: まとめの試み
( 1) 18/10/28 16:26 08439:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

>  ならなかったと思う。

そんな感じですね。
でも、今まで誰からも報告がなかったことが報告されるということは、解決できる
かどうかは別として、少なくとも解決の方向に1歩進んだことは間違いない。
誰かのせりふで
「失敗したということも大切な成果」
というようなのがありましたよね。

あと、

> ・93年版Vzと93年版DEFでDOS6.2	落ちる

これがわかったことは、私にとっては大収穫。
なぜなら、現状の私は落ちない環境を持っているわけなので、比較すれば、どこ、
または何が悪いか、絞り込める可能性があるというわけで。
もちろん、スキルその他の問題で、絞り込めない可能性のほうが高いのですけど。
あともう一つ、ある意味で純粋な環境で落ちたということは、エミュレーション
環境であるVTDOSでも落ちる必要がある、ということを意味すると思うのですが、
この私の解釈であっていますでしょうか。

えと、確認ですが、DOS6.2で落ちるということは、リセットが必要になるという
ことでよろしいですよね。EMMあたりがエラーをはくか、単に黙ってフリーズする
か、そのあたりは別として。なぜ、それほど特殊とも思えないような設定による
不具合が今まで発覚しなかったのか、というのも不思議な気はします。

とりあえず、私が次にできることは、落ちる環境探しです。
がんばってみましょう。

08441/08375 CRG00666 文太 Re^11: まとめの試み
( 1) 18/10/28 17:58 08440:としきさんへのコメント コメント数:1

>とりあえず、私が次にできることは、落ちる環境探しです。
>がんばってみましょう。
 がんばってください。爆。
 ポケ3で落ちるでしょう?

>環境であるVTDOSでも落ちる必要がある、ということを意味すると思うのですが、
>この私の解釈であっていますでしょうか。
 さて。vtdosはともかく、僕は前に「VZ的に落ちるのが正しい」と表現しました。

>えと、確認ですが、DOS6.2で落ちるということは、リセットが必要になるという
 はい。窓がありませんので、リセットです。

>それほど特殊とも思えないような設定による
>不具合が今まで発覚しなかったのか、というのも不思議な気はします。
 そうですかねぇ。特殊ですよ、この「#F (#N) &z("xxx") >*」に限って言えば。
 僕はやったことがありそうな気がしますが、かなり間抜けてますよ、これ。
ちゃんとロード関数を【書いて】いながら(これをマニュアル操作する人は
まずいない)、該当デフがvzdefディレクトリにないのですから。
 あるいは、そのときに書かず、既にvz.defに書いてあったとしても、vz.def
はあるのに、他のデフはないのですから。
 僕のように、病気で、何台もマシンを管理して、USBメモリからがばっと
defs をコピーするなんて、少なくとも昔はそんなこと誰もしませんでしたよ。
 こんなことが普通に可能になったとき、Vzerの数は、、、。
 USBメモリ一般化、たぶん2003年近辺。

 感触としては、まだマシンの設定が済んでなくて、落ちた、いけね、俺が
いけない(Vzの手抜きとは思わない)となってたんじゃないですかね。
 Win95でも、すでに、色々ありましたから。
 僕は、Win95でniftyしながら、NEC98でVzしてました。
 まず、皆がWindowsを嫌がり、最初、誰もがかなりの低レベルからスタート
した時代とか。dirwriteで、WinのLFNをぐちゃぐちゃにしちゃった、とか。
 やばい、懐古モードだ。



08442/08375 BQO00549 konno Re^9: まとめの試み
( 1) 18/10/28 18:43 08437:としきさんへのコメント コメント数:2

> > 高橋版では落ちていないという報告は見てないような気がします。
> 
> そうですか、それは申し訳ありません。
> #8430の表も含め、今まで何回も書いた「1.60t03k」というのは高橋版のつもり
> だったのですが、99年12月19日版というのは高橋版ではなかったようです。
> 大変失礼しました。

あう、す、すみません、私が見落としていただけでした。m(__)m
こちらこそ大変失礼いたしました。
ごめんなさい。m(__)m


> > SORT では、私の手持ちの主なVZを全て試したので、高橋版も駄目だったです。
> 
> ごめんなさい。
> 今度は逆に、私のほうがその報告を見落としていたようです。
> 何番の発言に掲載されておりますでしょうか。
> あの表に追記したいと思っておりますので、発言番号を教えてください。

試したのは、#8342 です。

> SORT.DEF(高橋版)を色々な環境で試してみました。

> ここからは、SCASB_MODE=0 のVTDOS環境です。
> 
> ・VZS 榊原版VZ
> 常駐ではソート実行時に固まった。
> 非常駐では動いた。何で?
> 
> ・その他のVZは皆駄目でした。
>  なお、非常駐VZだと、エラーになってもVZが落ちるだけで
>  VTDOSは動き続けますね。

このように書いたので、これではわからないですよね。
事象を正確に伝えるのも把握するのも難しいものだと改めて思いました。


ところで、私も思い込みで書いてしまったのは、#8430 の記事で

> この表を一見してわかることは、いろんなOSや画面サイズで事象が発生していると
> いうこと。一方で、報告者に偏りがあるところが弱点ではありますが、高橋版では
> 全く落ちていないという状況があります。
> やはりこれ、Vzのバージョンとか各人のvz.defでのオプション設定が影響している
> 可能性があるのではないかなぁ。

ここを読んで、あれ? と思ったからですが、私が高橋版と書かなかったのと逆に、
としきさんは、高橋版でテストしていたんですね。

#8416 の文太さんの環境は、Win7のDOS窓ではなくてWinMEのDOS窓だと思ったのですが。
つまり、私が読み間違えていなければ、NT系のDOS窓ではどのVZも落ちないという認識です。


VTDOS122 では、&z テストが落ちないんですね。
それで、過去ログを見てみたら、#6582> 20100326 0125	REP MOVSB セグメントラップアラウンド修正・LHA対応
> 20100123 0122	ストリング命令セグメントラップアラウンドチェック不具合修正
> これで、もしかして、と思い、VTDOS Ver121 でSORT.DEFを試してみたら
> 無事に動きましたよ。

とありました。
この辺のVTDOS は何かが違うのかもですね。



08443/08375 CRG00666 文太 Re^10: まとめの試み
( 1) 18/10/28 18:53 08442:konnoさんへのコメント

>#8416 の文太さんの環境は、Win7のDOS窓ではなくてWinMEのDOS窓だと思ったのですが。
>つまり、私が読み間違えていなければ、NT系のDOS窓ではどのVZも落ちないという認識です。
 konnoさんが正しいです。僕は見落としてました。

>それで、過去ログを見てみたら、#6582>> 20100326 0125	REP MOVSB セグメントラップアラウンド修正・LHA対応
>> 20100123 0122	ストリング命令セグメントラップアラウンドチェック不具合修正
>> これで、もしかして、と思い、VTDOS Ver121 でSORT.DEFを試してみたら
>> 無事に動きましたよ。

 す、すごい。執念。


08444/08375 CXB00940 としき Re^7: まとめの試み
( 1) 18/10/28 22:13 08430:としきさんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

例によって、自分のところにつけます。

私の持っているPC-98時代のフリーウェアに対する引き合いが来たもので、実家に
来ています。ついでなんで、&zの実験をしました。かなり意味ないと思うけど。
Vzのバージョンはk08q2。NECのDOS6.2ですが、画面は30biosで80x30です。

[F11]にキーをアサインして、編集画面で起動すれば、ごく普通に、左下に黄色く
「"xxx"は入力できません」のメッセージと *> のマーク。
ところが、次に#Nの窓で[F11]を押しても、マクロが無反応。黄色いメッセージも
出ないし、特に何かが落ちるということもない。PC-98だからかなぁ。
念のため、#Oの窓でも同じ状況であることを確認。
次、検索窓では[F11]を押したら、これは危ない。
テキストVRAMの裏のG-VRAMに、何か怪しげなビットが現れました。
つまり、明らかに、変なメモリに変なデータを転送している。
ただ、それだけ。落ちない。以降の挙動に関しては、#8408と全く同じ。すなわち、
編集モードに戻ったら、以後、そのまま編集可能。
窓は、[ESC]で抜けた直後は画面が乱れますが、そこで何か文字を入力すると画面
は復旧します。カーソルキーでは画面は復旧しませんでした。

おそらく、かなり高い確率で、使い続ければ何かが起こるのでしょう。
ただ、スクロールとカーソル移動、それにほんのちょっとの文字入力という程度
だと、30分あまりの継続使用では落ちませんでした。


うぅん、なぜに落ちない。


08445/08375 GST01234 10♯ Re^8: まとめの試み
( 1) 18/10/28 22:19 08444:としきさんへのコメント コメント数:2

この98の事例に関して言うとヒットした先がG-VRAMだったから実害が無かったんじゃ無いですかね?
DOS/Vの疑似VRAMが通常どの辺りに割り当てられているのか把握していませんけど、
もし、実際に意味のあるコードやらデーター領域の隣接する辺りであるなら、
その周辺にヒットすれば実害が出る可能性はあると思われます。


08446/08375 CXB00940 としき Re^10: まとめの試み
( 1) 18/10/28 22:21 08442:konnoさんへのコメント
参照先:http://toshiki.la.coocan.jp/

> #8416 の文太さんの環境は、Win7のDOS窓ではなくてWinMEのDOS窓だと思ったのですが。

あ、本当だ、表が間違っている。あとで訂正します。
タイトルを読まずに、本文だけ読んで思い込みで表を作った模様です。
いや、タイトルを読んだ上で転記ミス、という可能性もあるけど。

> この辺のVTDOS は何かが違うのかもですね。

その可能性はありますね。
ただ、現在のVTDOSの挙動の方が正当というかエミュレーション度合いが高いの
かもしれません。つまり、落ちるほうが正解、という意味で。


08447/08375 CXB00940 としき Re^9: まとめの試み
( 1) 18/10/28 22:24 08445:10♯さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> この98の事例に関して言うとヒットした先がG-VRAMだったから実害が無かった

あぁ、なるほど。
コードとして走る部分ではないところなら、いくら書き換えられても大丈夫、という
ことですね。
ということは、このまま継続使用しても落ちない可能性が高い、ということですね。

だんだん挙動が見えてきました。

08448/08375 CXB00940 としき Re^12: まとめの試み
( 1) 18/10/28 22:33 08441:文太さんへのコメント
参照先:http://toshiki.la.coocan.jp/

>  ポケ3で落ちるでしょう?

あ゛〜、引っ張り出してくるのがちょっとだけ面倒。
PC-98でも落ちなかったくらいだから、もしかしたらポケ3でも落ちないかも。

>  そうですかねぇ。特殊ですよ、この「#F (#N) &z("xxx") >*」に限って言えば。

あ、そうか。
マクロ名の間違い、というか、存在しないマクロファイルを指定しなければ発現
しないわけか。特殊というか、確かに、悪条件が重なる必要がありますね。

>  USBメモリ一般化、たぶん2003年近辺。

いや、フロッピーだって、その気になれば。


08449/08375 GST01234 10♯ Re^10: まとめの試み
( 1) 18/10/28 23:24 08447:としきさんへのコメント コメント数:1

> テキストVRAMの裏のG-VRAMに、何か怪しげなビットが現れました。

98の場合TEXT-VRAMが0a000h:0からで、0a800h:0からがG-VRAM青プレーンになってます。
この現象で青色のノイズが出ていればVTDOSで起こってる現象と一致すると思われます。


08450/08375 GST01234 10♯ Re^9: まとめの試み
( 1) 18/10/28 23:39 08445:10♯さんへのコメント コメント数:1

> DOS/Vの疑似VRAMが通常どの辺りに割り当てられているのか把握していませんけど、
> もし、実際に意味のあるコードやらデーター領域の隣接する辺りであるなら、
> その周辺にヒットすれば実害が出る可能性はあると思われます。

なお、この「DOS/Vの疑似VRAM」はコンベンショナルメモリー内に存在しますが、
ディスプレイドライバーが定義する場所であり、ディスプレイドライバーによってまちまちになる可能性があります。
一般的にはCGAとは別の場所に設けられるようです。


08451/08375 CXB00940 としき Re^11: まとめの試み
( 1) 18/10/28 23:49 08449:10♯さんへのコメント
参照先:http://toshiki.la.coocan.jp/

> この現象で青色のノイズが出ていればVTDOSで起こってる現象と一致すると思われます。

青です。間違いなく、青いノイズが出ていました。


08452/08375 CXB00940 としき PC-98のファンクションキー
( 1) 18/10/29 10:20 08444:としきさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

誰が得をするんだ、という話もありますが、とりあえず備忘録として。
PC-98で例の試験マクロをアサインしたファンクションキーの挙動について。

あとから^K^でマクロを組み込んでいるわけですから、後優先の法則が働くはず
で、実際、先にファンクションキーに割り付けていた機能は効かなくなります。
でも、例の試験マクロがきちんと動いているかというと、ちょっと怪しい。

試したキーは[F01][F02][F10][F11]の4つです。
また、状況としては、編集画面、新規ファイルオープン窓、検索窓です。

先に報告したとおり、[F11]の#N窓では、何も反応がありませんでした。
ところが、[F01]では、三つの状況のすべてで無反応。
[F02]と[F10]の検索窓でも[F11]の検索窓と同じで、エラーが表示されてVRAMへの
怪しい転送が発生します。
問題は、[F02]と[F10]の#N窓。いずれも、窓が勝手に閉じます。
そして、もとのカーソルがあった位置に、半角アルファベットが1文字、勝手に
入力されていました。[F02]だと「T」、[F10]だと「Z」です。
何がどうしてこんなことが起こっているのかは不明です。

だからなんだというような話ですが、とりあえず報告まで。


08453/08375 CXB00940 としき Re^11: まとめの試み
( 1) 18/10/29 11:19 08440:としきさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> とりあえず、私が次にできることは、落ちる環境探しです。

どうも再現性が不安定なんですが、落ちそうなマシンに当たりました。

先の、VTDOS122が入っていたマシンよりももっと長く使っていないマシンが出て
きました。WinXPマシンですが、中に入っていたファイルから、それなりに使って
いたのは2009年ごろが最後みたい。
これに入っていたVzはk08q2。
奇しくも実家のPC-98に入っていたのと同じバージョンですが、あたりまえですが
こちらはDOS/V版です。おそらくPC-98と同時にバージョンアップをしたのですが、
こちらのマシンは新居に運んでそのまま触らなかった、というパターンかと。

このマシン、まだそんなに何回も試していませんが、いろいろと不安定。
まず、デスクトップにMS-DOSのアイコンがあるのですが、こいつが起動しない。
スタートメニューからファイル名指定ならCOMMAN.COMで起動するし、CMD窓からの
Vz起動も可能ですが、当時の私はなぜ、使えないアイコンをデスクトップに放置
していたのやら。
そして、&zの試験マクロを実行させると、一発でNTVDMエラーが出たこともある。
その他にも、CMD窓から起動させたときだったかな、エラーは出なかったのだけど
勝手にCMD窓に戻ったり、検索窓からの実行時かな、窓が固まってしまって閉じる
ボタンで強制終了する必要があったり。


とりあえず、これで手元に、落ちる環境と落ちない環境がそろいました。
共通点はWinXPというだけ。
Vzのバージョンは異なるし、おそらく、DEFファイルも異なることでしょう。
いろいろと環境を入れ替えて、何が悪いか切り分けたいと思います。
あ、あと、Vzのオリジナル版も確保しました。
ということで、93年版、99年版、06年版の比較もできます。
konnoさんの手元では99年版でも落ちているようなので、私の手元で99年版が落ち
る、または落ちない条件が特定できればうれしいのですが、難しいかな。
仮に条件が特定できたとして、それが回避できるか否かはもっと難しい問題かと。


08454/08375 CXB00940 としき 【訂正】PC-98のファンクションキー
( 1) 18/10/29 11:26 08452:としきさんへのコメント
参照先:http://toshiki.la.coocan.jp/

大変ごめんなさい。

> 試したキーは[F01][F02][F10][F11]の4つです。

> ところが、[F01]では、三つの状況のすべてで無反応。

単に[F01]キーが死んでいるだけでした。
ごめんなさい。

あぁ、キーボードを何とかしなくては。


08455/08375 GST01234 10♯ Re^10: まとめの試み
( 1) 18/10/29 19:09 08450:10♯さんへのコメント コメント数:1

V-TEXTは環境によって実装が異なり、疑似VRAMの割り当て位置も違っていると思われますが、
それらの情報を表示するVTI.EXEというソフトが存在します。
VTDOSでは以下のような表示になります。

ttps://www.vector.co.jp/soft/dos/hardware/se012553.html

VTI.EXE Version 1.10  (c)鯖/LP-Project,1994.

--- BIOS ($Disp.sys) ---

Video Mode          70h
Screen Size         127x62
Int 10h Vector      FFFF:0060h
DOS/V $Disp.sys     Installed.
$IAS.sys            Installed. (Not Active.)
Psuedo Text Buffer  F800:0000h
Buffer Size         7B08h (31496 Bytes)

EGA Palette  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  Ovr
            00h 01h 02h 03h 04h 05h 06h 38h 07h 09h 12h 1Bh 24h 2Dh 36h 3Fh 00h

--- DOS/V Extension Info. ---
Not Supported.


08456/08375 BQO00549 konno Re^11: まとめの試み
( 1) 18/10/30 02:02 08455:10♯さんへのコメント コメント数:1

> V-TEXTは環境によって実装が異なり、疑似VRAMの割り当て位置も違っていると思われますが、
> それらの情報を表示するVTI.EXEというソフトが存在します。
> VTDOSでは以下のような表示になります。

おお、これがありましたね。
DOS窓では、V-TEXT が無いので、v.com というもう一つのソフトと
両方表示させてみました。


vv	; ====== Win10 DOS窓 ======
V - Video mode information
    R1.0  (C)ChaN,1993

Current Video Mode = 03h
Screen Size        = 80x28
Character Height   = 14
VRAM Mode          = A/N
VRAM Address       = B800:0000 (Real VRAM)

vti
VTI.EXE Version 1.10  (c)鯖/LP-Project,1994. 

--- BIOS ($Disp.sys) ---

Video Mode          03h
Screen Size         80x28
Int 10h Vector      08BE:0A11h
DOS/V $Disp.sys     Not Installed.   (Int 7Dh not Defined!)
$IAS.sys            Not Installed.
Psuedo Text Buffer  --- None ---
Buffer Size         1180h (4480 Bytes)

EGA Palette  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  Ovr
            00h 01h 02h 03h 04h 05h 14h 07h 38h 39h 3Ah 3Bh 3Ch 3Dh 3Eh 3Fh 00h

--- DOS/V Extension Info. ---
Not Supported.


; ====== MSDOS Player ======
vti
VTI.EXE Version 1.10  (c)鯖/LP-Project,1994. 

--- BIOS ($Disp.sys) ---

Video Mode          03h
Screen Size         120x32
Int 10h Vector      08EC:0A11h
DOS/V $Disp.sys     Installed.
$IAS.sys            Installed. (Active.)
Psuedo Text Buffer  F800:0000h
Buffer Size         2000h (8192 Bytes)

EGA Palette         --- Not Supported ---

--- DOS/V Extension Info. ---
Not Supported.


; ===== Win10 VTDOS =======
VTDOS|C:\VZ>vti
VTI.EXE Version 1.10  (c)鯖/LP-Project,1994. 

--- BIOS ($Disp.sys) ---

Video Mode          70h
Screen Size         126x33
Int 10h Vector      16AA:0A11h
DOS/V $Disp.sys     Installed.
$IAS.sys            Installed. (Active.)
Psuedo Text Buffer  F800:0000h
Buffer Size         40F8h (16632 Bytes)

EGA Palette  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  Ovr
            00h 01h 02h 03h 04h 05h 06h 38h 07h 09h 12h 1Bh 24h 2Dh 36h 3Fh 00h

--- DOS/V Extension Info. ---
Not Supported.


こうして見ると、VTDOS だけ、Video Mode 70h と認識されてますね。
これが何か関係しているのだろうか。


VTDOS121 落ちない

VTI.EXE Version 1.10  (c)鯖/LP-Project,1994. 

--- BIOS ($Disp.sys) ---

Video Mode          70h
Screen Size         100x40
Int 10h Vector      FFFF:0060h
DOS/V $Disp.sys     Installed.
$IAS.sys            Not Installed.
Psuedo Text Buffer  D000:0000h
Buffer Size         3E80h (16000 Bytes)

EGA Palette  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  Ovr
            00h 01h 02h 03h 04h 05h 06h 38h 07h 09h 12h 1Bh 24h 2Dh 36h 3Fh 00h

--- DOS/V Extension Info. ---
Not Supported.


VTDOS124 落ちない

BREAK=1
;PASTEDELAY=10
;USECMD=1
;TPAEXT=1
TPALOW=1

VTI.EXE Version 1.10  (c)鯖/LP-Project,1994. 

--- BIOS ($Disp.sys) ---

Video Mode          70h
Screen Size         80x25
Int 10h Vector      FFFF:0060h
DOS/V $Disp.sys     Installed.
$IAS.sys            Not Installed.
Psuedo Text Buffer  D000:0000h
Buffer Size         1F40h (8000 Bytes)

EGA Palette  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  Ovr
            00h 01h 02h 03h 04h 05h 06h 38h 07h 09h 12h 1Bh 24h 2Dh 36h 3Fh 00h

--- DOS/V Extension Info. ---
Not Supported.


VTDOS125 落ちる

VTI.EXE Version 1.10  (c)鯖/LP-Project,1994. 

--- BIOS ($Disp.sys) ---

Video Mode          70h
Screen Size         80x25
Int 10h Vector      FFFF:0060h
DOS/V $Disp.sys     Installed.
$IAS.sys            Not Installed.
Psuedo Text Buffer  FC00:0000h
Buffer Size         1F40h (8000 Bytes)

EGA Palette  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  Ovr
            00h 01h 02h 03h 04h 05h 06h 38h 07h 09h 12h 1Bh 24h 2Dh 36h 3Fh 00h

--- DOS/V Extension Info. ---
Not Supported.


VTDOS.CFG を、124に合わせても落ちる

VTI.EXE Version 1.10  (c)鯖/LP-Project,1994. 

--- BIOS ($Disp.sys) ---

Video Mode          70h
Screen Size         80x25
Int 10h Vector      FFFF:0060h
DOS/V $Disp.sys     Installed.
$IAS.sys            Not Installed.
Psuedo Text Buffer  D000:0000h
Buffer Size         1F40h (8000 Bytes)

EGA Palette  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  Ovr
            00h 01h 02h 03h 04h 05h 06h 38h 07h 09h 12h 1Bh 24h 2Dh 36h 3Fh 00h

--- DOS/V Extension Info. ---
Not Supported.


VTDOS124までは落ちなくて、125 以降は落ちるようです。
何が違うかは、わかりません。



08457/08375 GST01234 10♯ Re^12: まとめの試み
( 1) 18/10/30 02:21 08456:konnoさんへのコメント コメント数:2

このサンプルだけに関して言うと、VTDOSがセグメントラップアラウンドを致命的エラーにしてる、というだけのことだと思います。
Win10のNTVDMはDOS/V相当では無く、CGAとして扱ってるようですね。あるいはJEGA?
MS-DOS/Vのサンプルがあれば、それが落ちる理由がはっきりするかも知れません。

#僕が試験したWIn10ではVTIは動作しませんでした。


08458/08375 GST01234 10♯ Re^13: まとめの試み
( 1) 18/10/30 14:36 08457:10♯さんへのコメント コメント数:1

> Win10のNTVDMはDOS/V相当では無く、CGAとして扱ってるようですね。あるいはJEGA?

WinXPのNTVDMも同じVRAMだとすると、この領域でセグメントラップアラウンドが発生しても、
近い領域にUMBを確保してTSRをロードしていない限り現象は顕在化しませんね。


08460/08113 CXB00940 としき Re: fkylabel.def (v.1.00)
( 1) 18/10/30 22:32 08113:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

>  震災対策報告は、そのうちです。ついに、太陽光パネル(50W)が届きました。
>  新品バッテリー各種も届きました。システム完成まで、地震が来ないことをひたすら
> 祈っています。

なんか、お部屋の模様替えもされていたようですが、システムの進捗状況は
いかがですか?

というのはさておき。
実は、先日、実家のPC-98を触っていて思い出しました。
私も当時は、結構ファンクションキーを駆使していたなぁ、と。
ただ、単機能というか、一つの機能を、自分ではほとんど使っていない\[F06]に
割り当てるくらいで、キーのラベルを書き換えるまでには至りませんでした。

で、誰にともなく質問というか。
昔、FGALDCの時代だったと思いますが、和生さんが、なにかファンクションキー
の関係のマクロに言及していたようなしていなかったような。
このツリーでも#8137#8138あたりで言及されていますが、それではなくて。
PC-98ようだったか否かも今でははっきりしませんが。
どなたか、覚えておられる方、いらっしゃいますか?


08461/08375 CXB00940 としき Re^12: まとめの試み
( 1) 18/10/30 22:32 08453:としきさんへのコメント
参照先:http://toshiki.la.coocan.jp/

> どうも再現性が不安定なんですが、落ちそうなマシンに当たりました。

う〜ん、どうもよくわからん。
もしかしたら、ハードウェアの問題も絡んでくるのかも。
とりあえず、途中経過。

試験方法としては、DOS窓、またはVTDOS122窓を開き、対象Vzのあるディレクトリ
をカレントにして、誤って別のDEFファイルを読まないようにしました。そして、
Vzを起動し、存在しないファイルを&zで呼ぶマクロのファイルをオープン。^K^で
読み込み。そのまま、そのマクロファイルを開いた状態で、新規ファイルを開く
窓と検索窓でファンクションキーから呼び出し、というもの。
マシンについては、2台のWinXPマシンで行いました。
1台は、VTDOS122の入っていたマシン、富士通の一体型デスクトップです。
もう1台はVz k08q2の入っていたマシン、東芝のノートです。
なお、DEFファイルは、93年版のCOMファイルには93年版のDEFファイルを、その他
はそれぞれ同じディレクトリに入っていたものを使っております。


さて、結果です。

       試験          常駐   画面      
マシン 方法 結果     有無   サイズ 環境         VzVer
Note   &z   落ちない 両方   80x25  DOS窓(WinXP) 931206
Note   &z   落ちる   両方   80x25  DOS窓(WinXP) 1.60t03k
Note   &z   落ちる   両方   80x25  DOS窓(WinXP) k08q2

DskTop &z   落ちない 両方   80x25  DOS窓(WinXP) 931206
DskTop &z   落ちない 両方   80x25  DOS窓(WinXP) 1.60t03k
DskTop &z   落ちない 両方   80x25  DOS窓(WinXP) k08q2

DskTop &z   落ちない 両方   80x50  VTDOS122     931206
DskTop &z   落ちない 両方   80x50  VTDOS122     1.60t03k
DskTop &z   落ちない 両方   80x50  VTDOS122     k08q2


う〜ん、これは。
VTDOS122はロバストだから、Vzがどんなバージョンでも落ちないのかもしれない
けど。でも、Vzのバージョンによって落ちるか否かが決まる、という私の仮説は
もろくも崩れ去りました。あ、落ちないというのも、単に落ちないというだけで
あって、画面は乱れまくるので、一旦コマンドラインに抜けるなりしてから編集
画面に戻る必要はあります。
でも、私の環境では、オリジナルバージョンが、なかなか落ちない。
文太さんのところでは簡単に落ちたようだし、konnoさんのところでも落ちている
のですよね。そうすると、やっぱりハードウェアの関係もあるのかも。

新しく話が出てきたのは、疑似VRAMの位置ですか。
あとで、それぞれの環境で調べてみます。


08462/08375 BQO00549 konno Re^13: まとめの試み
( 1) 18/10/31 00:08 08457:10♯さんへのコメント コメント数:1

> このサンプルだけに関して言うと、VTDOSがセグメントラップアラウンドを
 致命的エラーにしてる、というだけのことだと思います。

なるほど、納得です。

> Win10のNTVDMはDOS/V相当では無く、CGAとして扱ってるようですね。あるいはJEGA?

JEGA ってなんだっけ? と思ったら、昔のAXの規格ですか。
基本は、CGA なのかなとは思います。

関係ない話ですが、Win10の64ビット版にVTDOS導入するときに、漢字の片割れ
半角分しか表示しなくて、焦ったことがあります。
フォントの設定がなかなか入らないんですよ。

> MS-DOS/Vのサンプルがあれば、それが落ちる理由がはっきりするかも知れません。

MSDOS6.22 の DOSモバで試してみました。メモリカードのデータ移動が大変でした。

A:\DOS>A:\UT\VTI.EXE
VTI.EXE Version 1.10  (c)鯖/LP-Project,1994. 

--- BIOS ($Disp.sys) ---

Video Mode          70h
Screen Size         80x15
Int 10h Vector      097C:37F0h
DOS/V $Disp.sys     Installed.
$IAS.sys            Not Installed.
Psuedo Text Buffer  0AA1:0000h
Buffer Size         0960h (2400 Bytes)

EGA Palette         --- Not Supported ---

--- DOS/V Extension Info. ---
Not Supported.


DOSモードの初期状態では、VZIBMJ.COMは表示が異常で動作しません。

A:\DOS>vv
V - Video mode information
    R1.0  (C)ChaN,1993

Current Video Mode = 03h
Screen Size        = 40x25
Character Height   = 0
VRAM Mode          = A/N
VRAM Address       = B800:0000 (Real VRAM)

確かこんなだったような。
英語版VZは動くだろうか。



08463/08375 GST01234 10♯ Re^14: まとめの試み
( 1) 18/10/31 00:30 08462:konnoさんへのコメント コメント数:1

> Video Mode          70h
> Screen Size         80x15
> Int 10h Vector      097C:37F0h
> DOS/V $Disp.sys     Installed.
> $IAS.sys            Not Installed.
> Psuedo Text Buffer  0AA1:0000h
> Buffer Size         0960h (2400 Bytes)

ディスプレイドライバーのロードアドレスは不明ですが、エントリーポイントが097c:37f0hで、
疑似VRAMが0AA1:0hとなってますね。
ディスプレイドライバーが自分自身のロードアドレスの直後に疑似VRAMを配置してると思われます。
TPAがどこからスタートしているかは不明ですけど、このセグメントのオフセット0FFxxh付近に書き込みが
行われれば何らか問題が生じるんじゃ無いですかね?
これの VMAP は見れますか?


08464/08375 BQO00549 konno Re^15: まとめの試み
( 1) 18/10/31 01:24 08463:10♯さんへのコメント コメント数:1

> ディスプレイドライバーのロードアドレスは不明ですが、エントリーポイントが097c:37f0hで、
> 疑似VRAMが0AA1:0hとなってますね。
> ディスプレイドライバーが自分自身のロードアドレスの直後に疑似VRAMを配置してると思われます。
> TPAがどこからスタートしているかは不明ですけど、このセグメントのオフセット0FFxxh付近に書き込みが
> 行われれば何らか問題が生じるんじゃ無いですかね?
> これの VMAP は見れますか?

ちょっと長いですが

A:\DOS>Vmap 
VMAP Version 2.01  Copyright (C) 1989-91 by c.mos

addr PSP  blks   size  owner/parameters           hooked vectors
---- ---- ---- ------  -------------------------  -----------------------------
D403 sys    1   11376  cardlite                   1A
D6CC sys    1   11184  sramata
D989 sys    1    4640  power                      13 14 17 25 26 28 2A 6C
DAAD sys    1    4080  kkcfunc
DBAD        1     112  <free>
DBB5 <--    1    2192  dblpatch
DC3F-DCFE   1    3056  <free>
E003 sys    1    3072  apmexdrv
E0C5 sys    1    1552  sounddrv
E128 sys    1    3680  ssricoh
E210 sys    1   34976  dblspace
EA9B ED25   1     112  unstick (env)
EAA3 <--    1   10256  keyb JP,932,J:\DOS\KEYBOA
ED25 <--    1    6928  unstick                    0F 33 81
EED7 EEDF   3     736  setpow
EF08 <--    1     720  dkick                      09
EF36        1     112  <free>
EF3E <--    1    1008  cmfctrl                    84
EF7E-F000   1    2080  <free>
                       --- UMB total: 100 KB ---
0271 sys    1    1104  himem
02B7 sys    1    2688  ramdrive
0360 sys    1   10416  emm386                     4B 67
05EC sys    1    4592  unfont
070C sys    6    5312  <config>
085E <--    3    4240  command                    22 23 24 2E
096A        1     256  <free>
097C <--    1   18480  mogd -v4                   10 15 16 7D
0E00 <--    1    3088  pansi                      2F
0EC2 <--    1    3888  vz 1.60t -z                1B 21 29
0FB6-9FFF   1  590992  <free>

----- EMS ver4.0 (frame: C000h) -----       ----- XMS ver3.00 -----
handle pages   size  name                   HMA used: 63 KB by DOS
------ ----- ------  --------               EMB free: 106 KB
     1     6    96k  VZ
  free    32   512k
 total    38   608k


DOSモバのディスプレイドライバーはいくつかありますが
ここでは、MOGD.COM というのを使っています。
入力窓などでのキー入力に若干問題があって、常用するには難があります。
今回&zテストではすぐに落ちず、ファイルクローズでEMM386エラーが出ました。



08465/08375 GST01234 10♯ Re^16: まとめの試み
( 1) 18/10/31 01:34 08464:konnoさんへのコメント コメント数:2

このVMAPからすると、例の現象が発生していればVZのセグメントの
オフセット0bfc0h付近にヒットしてると思われます。
VZの版にもよりますけど、おそらくコード領域ですよね。


08466/08375 GST01234 10♯ Re^17: まとめの試み
( 1) 18/10/31 01:38 08465:10♯さんへのコメント

MS-DOS/Vであればオリジナル版でも検証は出来そうですね。


08467/08113 CRG00666 文太 部屋の整理
( 1) 18/10/31 19:42 08460:としきさんへのコメント

>なんか、お部屋の模様替えもされていたようですが、システムの進捗状況は
>いかがですか?
 書架の移動はとりあえず終了、WinMEはふつうに動く、太陽光パネルは確かに
発電する。しかし、これらが生活にフィットしているか、邪魔をしてないか、というと
けっこう怪しい状況です。台をつくって、イーゼル作って、みたいな邪念がうごめき
ます。

 和生さんマクロは、それではヒントが少なすぎ。98系のFキー関連なら、きっと
dosvよりずっと前じゃないかな。16階、ish部屋とかは?


08468/08375 BQO00549 konno Re^17: まとめの試み
( 1) 18/10/31 19:43 08465:10♯さんへのコメント

> このVMAPからすると、例の現象が発生していればVZのセグメントの
> オフセット0bfc0h付近にヒットしてると思われます。
> VZの版にもよりますけど、おそらくコード領域ですよね。

たったこれだけの情報でそこまでピンポイントに分るとは驚きです。

どっちにしても&z の不具合はVZ で直すしかないと思われるので
アセンブラの再履修やります。



08469/08469 BQO00549 konno アセンブラの再履修 popwindow
( 1) 18/10/31 21:09 コメント数:3

#8388 で書きましたが

> SCRNIBM.ASM	 の中のエラーになるルーチン
> popwindow proc 	 のところで rep	movsw の手前に

	cmp	si,imgstack
	jc	popw8
	cmp	si,di				;★追加
	jbe	popw8				;★
	mov	si,[si-2]
	mov	imagep,si
_repeat
IFDEF J31
	call	putline
ELSE
	pushm	<cx,di>
  IFDEF DOSV
	pushm	<cx,di>
    IFNDEF US
	call	chkkanjilow
    ENDIF
	call	vrestore
	popm	<di,cx>
    rep	movsw				;★★★


> このように、si と di のチェックを追加したら、#N でのマクロエラーで
> !Abort が無くても落ちなくなりました。


よく考えたら(よく考えなくても)普通 si と di を直接比較するのは意味ない
のに、やってしまうのがど素人ですね。

真面目にソースを追いかけたら、このルーチンでは意外と有効だったように
思えてきました。もちろん読み切れてはいないですが。


さて、この時貼り付けたここのルーチンとその後のソースを比べると
違っています。あれ?

	cmp	si,imgstack
	jc	popw8

		↓

	cmp	si,imgstack
	je	popw8

これが正しいです。上は色々試行錯誤していた時のものでした。


さて、本題に入って、入力窓の&z の不具合は、マクロが中断してレジスタなどの
辻褄が狂ってしまい、その後の、ESC などの操作で、開いたままの窓を閉じる
ルーチンを通って、不正なメモリへの書き込みになるのだと思われます。

入力窓のプッシュポップはマクロのサイレント、&s の使い方を間違えても
プッシュポップの辻褄が狂って不具合を起こします。
そこで、このルーチンに対策を入れてみました。

popwindow proc
	call	issilent
	pushm	<cx,dx,si,di,ds,es>
	call	initpwind
	push	ax
	call	getgvseg
	mov	ds,ax
	pop	ax
	mov	si,imagep		;vp..11  退避イメージのポインタ
	cmp	si,imgstack		;pq..153 イメージスタックの起点
	jbe	popw8			;
	cmp	cx,0			;##k 181031
	jbe	popw8			; 一応念のため
	cmp	si,di			; imgstack と比較
	jbe	popw8			;
	mov	si,[si-2]
	mov	imagep,si

中略

	jmps	popw9			; 通常は初期化しない
popw8:
	mov	si,imgstack		;##k 181031	pq..153 ポインタを
	mov	imagep,si		;		vp..11  初期化
popw9:					;
	call	ems_loadmap
	popm	<es,ds,di,si,dx,cx>
	ret


このようにして、試験運用していますが、問題ないようです。
プッシュポップの辻褄が狂った時不具合を起こす前に初期化します。

ソースに間違いがなければ、これで公開しようと思います。



08470/08469 GST01234 10♯ Re: アセンブラの再履修 popwindow
( 1) 18/10/31 22:11 08469:konnoさんへのコメント コメント数:1

ああつまり、スタックのアンダーフローをチェックしていなかったと。
底を突いたときはリセットすると。

VZのマクロは大体どんな状態でも大体のことが出来るのに対して、
それのアボートはいろんな状態の終了処理をスキップすると。

プッシュしたつもりがプッシュしてなかったところにポップしようとしたとか…
かな?


08471/08469 BQO00549 konno Re^2: アセンブラの再履修 popwindow
( 1) 18/10/31 22:51 08470:10♯さんへのコメント

> ああつまり、スタックのアンダーフローをチェックしていなかったと。
> 底を突いたときはリセットすると。

考え方としてはそんな感じでいます。
とにかく辻褄が合っていなかったらポインタを初期化する方針ですが
作りがいい加減なので、不正な数値の時は誤動作もありそうです。

> VZのマクロは大体どんな状態でも大体のことが出来るのに対して、
> それのアボートはいろんな状態の終了処理をスキップすると。

ソースが読み切れないので想像ですが、プッシュして開いた窓はマクロ中断しても
ポップ実行しているように見えたもので。

> プッシュしたつもりがプッシュしてなかったところにポップしようとしたとか…
> かな?

サイレントマクロではよくあるミスの様で、vp..11 を、pq..153 に合わせて
初期化する技も出されています。



08472/08469 BQO00549 konno スタックのプッシュポップ確認
( 1) 18/10/31 22:54 08469:konnoさんへのコメント

スタックのプッシュポップの辻褄が合っているか確認するために m.gann さんの
Instant.def を改造しました。軟体にあるものです。
短いので、全部貼り付けます。


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(60)
	p[32+pa, (i[16){ p.i--=49-(r&1<<(15-i))!, }	;eggchi
	&m("%s: %d %u %xh %16s '%c' $"%16s$"",pw,w=r,r,r,p,r,r)
	(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])

*

これで、インスタントマクロメニューのタイトルにスタックサイズが表示されます。
mx+, をコメントにした理由は憶えていません。(^^;

うちの環境では、通常 254 と表示されますが、このマクロを連続で起動させると
入力窓がどんどん増えていき、そのたびに数字が2ずつ減っていきます。

対策したVZでこの時に&zで中断させると、入力窓が全部無くなってから数字が
元に戻った様な気がします。(もう覚えていない)

マクロ中で "r" を使ったら、何かまずいことがあるでしょうか。
元のマクロと動作の違いは見つけられませんでした。



08473/08473 BQO00549 konno VZk07t5 アップ
( 1) 18/10/31 23:28 コメント数:1

VZk07t5 をアップしました。

k07t5 (2016-01-04 2018-10-31)
 ・Rf+ 2重オープン、ポインタ位置ズレによる不具合修正
    バッファの制限により、パスの長さ約80文字以上ではSFNとなる。
 ・Hn の初期値でファイラーの#R RENできる長さ可変に。64 以上 160 まで。Hnの値は256まで指定できる
 ・Of+ ステータスラインを非表示に。和生さんのFANKEIの拡張マクロで使用します。
 ・コード領域の内部ワーク pc が1バイトずれていたのを修正、差し替え(2018-10-17)
 ・入力窓でプッシュポップの辻褄が狂った時ポインタの初期化する対策

 ダウンロードは VZのへやからどうぞ

  VZK07t5.lzh ver1.60k07t5 (2018-10-31版) new!


   高橋版VZに対する自己解凍差分になっています。
  バグ等あるかと思いますので、ご使用は自己責任で。



# はろーWin 版で間に合ったかな。(^^;

# Rf+ が使えないと困るのよ。(^^;



08474/08469 GST01234 10♯ Re: アセンブラの再履修 popwindow
( 1) 18/11/01 01:27 08469:konnoさんへのコメント コメント数:2

僕のソースセットに手を入れる際に例の現象についてちょこっと検証してみました。
気になったことをお伝えします。

> popwindow proc
> 	call	issilent
> 	pushm	<cx,dx,si,di,ds,es>
> 	call	initpwind
> 	push	ax
> 	call	getgvseg
> 	mov	ds,ax
> 	pop	ax
> 	mov	si,imagep		;vp..11  退避イメージのポインタ
> 	cmp	si,imgstack		;pq..153 イメージスタックの起点
> 	jbe	popw8			;
#1 利いていない

> 	cmp	cx,0			;##k 181031
> 	jbe	popw8			; 一応念のため
#2 利いていない

> 	cmp	si,di			; imgstack と比較
> 	jbe	popw8			;
#3 利いてる

> 	mov	si,[si-2]
> 	mov	imagep,si

1,2 は予防的措置といった意味合いになりますかね。
3 に関してはimgstack(si)の配置が高オフセットになっているため
利いているようですが、ソースを読むと「?」といった印象がどうしても…
例えばdiが0f000h以上の場合をエラーとするとかは。
明確な上限値を把握しない形での措置なので、
画面サイズが巨大な場合(250*80とか)は正常な処理でもエラー認定される、
という可能性もなきにしもあらずかな?と。
まあ動いているので良しと言えば良しなんですが。
VZのソースに可読性や妥当性を期待するのも今更過ぎる話でもありますね。


08475/08469 GST01234 10♯ Re^2: アセンブラの再履修 popwindow
( 1) 18/11/01 01:46 08474:10♯さんへのコメント コメント数:1

文太さんのセグメントラップアラウンドは pushwindow の時でしたね。
これも di がおかしな値を示していました。
理由は分りませんけど、ウィンドウスタックに問題が生じたんじゃ無いか?
という気がしました。


08476/08469 BQO00549 konno Re^2: アセンブラの再履修 popwindow
( 1) 18/11/01 02:24 08474:10♯さんへのコメント コメント数:2

> 1,2 は予防的措置といった意味合いになりますかね。
> 3 に関してはimgstack(si)の配置が高オフセットになっているため
> 利いているようですが、ソースを読むと「?」といった印象がどうしても…
> 例えばdiが0f000h以上の場合をエラーとするとかは。

それでいいのかわからないので、取りあえず今の形で様子を見ます。
予防的措置なので、メモリが壊れる確率はかなり少なくなると思うので。

> 明確な上限値を把握しない形での措置なので、
> 画面サイズが巨大な場合(250*80とか)は正常な処理でもエラー認定される、
> という可能性もなきにしもあらずかな?と。

げげ、そんな巨大画面有りですか? って、やってみたら出来ましたね。
5*8 のフォントで、ノートだと文字がやっと見えるくらい。(^^;

これで、改造したインスタントマクロを連続起動させてみたら
16段で新規窓が開けなくなりました。VZの仕様ですね。
この状態で、F5 (&z) をやっても反応なしでした。
8段くらいに減らしたらF5でマクロ中断効きました。

やっぱり中断しても入力窓の中の状態にあるようです。
上カーソルでヒストリが出るので。
ただし、カーソルは画面の左上、ステータスラインの中になります。
ESC を窓の段数分入力すると窓状態を抜けるようです。

さらに、ESC 2回で正常な画面に戻ります。
これは、私の環境では、ESC 2回 で、mp0 にするマクロを仕込んでいて
その中で、&d が効いているのかもしれません。

> まあ動いているので良しと言えば良しなんですが。
> VZのソースに可読性や妥当性を期待するのも今更過ぎる話でもありますね。

(^^; (^^;



08477/08469 BQO00549 konno 画面サイズ250*80 はVZの限界?
( 1) 18/11/01 02:46 08476:konnoさんへのコメント コメント数:1

> げげ、そんな巨大画面有りですか? って、やってみたら出来ましたね。
> 5*8 のフォントで、ノートだと文字がやっと見えるくらい。(^^;

其の後、ファイラーへ移行したら、ファイラープールが壊れてる。
コマンドラインに降りてから VMAP やったあとは表示が直った。
と思ったら、其の後、VTDOSが落ちました。

もう一度立ち上げ直して、普通にファイラーからテキストオープンしたり
やっていたら、メモリアロケーションエラーで落ちた。
オリジナルVZでも落ちたから、VZの限界かなぁ。



08478/08469 CRG00666 文太 Re^3: アセンブラの再履修 popwindow
( 1) 18/11/01 10:34 08475:10♯さんへのコメント コメント数:1

 以下、あくまで戯言です。


2015/01/28(約3.5年前)
in #6580, konno wrote:
>SORT.DEF(高橋版)はやっぱり落ちますね。
 ☆konnoさんの出発点

2018/10/10(約20日前)
in #8273, bunta wrote:
>2018-10-09 23:49:11 VZ(15F3) 15F3:DC5B 'REP MOVSW 命令ラップアラウンド'
 ☆文太の出発点

2018/10/11
in #8295, 10# wrote:
>改めて調べてみたら該当箇所はscrnibm.asmのpushwindowでした。
 ☆原因特定

2018/10/14
in #8336 , bunta wrote:
>'REP MOVSW 命令ラップアラウンド'	76回
>67 EB 8E C0 58 8B F7 36 8B 3E 40 06 51 56 F3 A5	;pushwindowで止まる
> 上記のエラーダンプ、コード列		49回
 ☆過去4年間の文太の悲惨な過去


 調べてみたら、上のような具合でした。
 どこかでとしきさんが書かれていたように、そもそも25*80+αで動くよう設計
されていたVzは、Windows時代のもっともっとで、ずいぶん苦労していたみたい
ですね。OSやマシンがどんどんパワーアップすると、それにある程度Vzが
付いていける、みたいな気がしてしまいますから。
 そして、vtdosが、この無理を極限まで(限界を超えて)可能にしてしまった。
 無理をさせれば、vtdosが止める(落ちる)みたいになってた部分は大きいの
だろうなと曖昧に、抽象的に、納得しています。(注)

 konnoさんの執念と10#さんの的確なアドバイスで、我等がVz,けっこう進歩
してくれたのではないでしょうか。
 「限界ここだからね」と誰かが言ってくれれば、ちゃんとそれを守りますよん。
 konnoさんの、ファイラプールが壊れる、メモアロが起こる、なんて、なるほどぉ
と、思わせてくれる実験報告でした。多謝、m(__)m

(A)
 もっとも、pushwindow前に、siかdiをぐちゃぐちゃにしてるところがあるはず
なんだよなぁ、それは、&z("")なんて特殊な場合ではないだろう(だって49回
だもの)、と思ってます。変なことすれば(たとえば、WIDTH=160, HEIGHT=43 
@vtdos.cfg ???)、検索窓だけでも落ちれるのかな???
 WIDTH=140に、今、しました。

 sw==0で、けっこう落ちなくなってますよ。というか、その設定以来、一度も
落ちてません(Vzの使用法、頻度がvtdos環境では、かなり少ないから、やっぱり
あてにならないレポートですが。落ちて悩んでいる方は、一度おためしを。)

>dir aaa.txt
2018/11/01  10:29            83,915 aaa.txt
 こんなのもへっちゃら。


(注)偶然だろうと思いますが、Win9xではワイドテキストは容易でした。WinXPでは
英語モードでないとほとんど無理。ntvdmが(少なくとも日本語版は)ワイドテキスト
をほぼ不可能にしていたのは、こんな事態への深い配慮があったから。嘘だろうな。


 (A)に書いたとおり、pushwindowでの落ち防止はあくまで予防策で、本当の原因
(Vzの限界超え)は、違うところで起こっているのだろうと想像しています。



08479/08469 GST01234 10♯ Re^4: アセンブラの再履修 popwindow
( 1) 18/11/01 14:40 08478:文太さんへのコメント コメント数:2

ソースを眺めてると80*25で決め打ちしてる部分は至る所にあるのですが、
それとV-TEXTとの整合性をどう保ってるのかはもはや知るよしも無い、って感じです。
この都合で画面待避のバッファとかをヒープ領域に割り当てたりしてるようなのですが、
こういった部分は解析とか把握が非常に困難且つ不安な部分でもあります。
(例えばバッファサイズが肥大化した結果64キロ上限はどうなるのか、とか?)

VZがスワップするのは、このヒープ領域も含めてだと思いますが、
この加減もあって積極的なスワップはやはり不安はあります。
既に述べてますけど、僕の場合今はSW=1で落ち着いてきます。

NTVDMが塩漬け状態になってるのは費用対効果だと思いますけどね。


08480/08469 GST01234 10♯ Re^5: アセンブラの再履修 popwindow
( 1) 18/11/01 19:46 08479:10♯さんへのコメント コメント数:1

それから、今回のkonnoさんの措置も、あくまで対処療法であり、
根本的な原因が究明、解消されてるわけではありません。


08481/08469 CRG00666 文太 Vzの歴史、DOS/Vの歴史
( 1) 18/11/01 21:28 08479:10♯さんへのコメント コメント数:1

 あまり見やすくはないのですが。

「DOS/Vの歴史 ?」より
ttp://radioc.web.fc2.com/column/dosvhist.html
1991/1/25
 兵藤嘉彦、日経MIX v.c.分科会にて「VZIBMV 1.56 DOS/V対応版」差分を公開。

----------------------------------------------
おもに「VZ年表」より
ttp://mezala.la.coocan.jp/vz/history/chrono.html
1987/1/
 PC World Japanより『EZ Editor』発売
1989/5/
 VZ v1.00
1989/12/
 VZ v1.50 (EMS対応,NEC98,EPSON286,J31,IBMPC,AX)
1990/9/			1990, 日本IBM、DOS J4.05/Vをrelease(注)
 VZ v1.55
1990/12/
 VZ v1.56
1991/1/25
 日経MIX v.c.にて「VZIBMV 1.56 DOS/V対応版」差分を公開。
1991/6/
 VZ v1.56a (DOS/V)
1991/12/16
 VZ v1.57  (DOS/V) (1992/01/08版にバグfix再アップ)
1992/2/
 VZ v1.57a (J31,DOS/V,AX,US)
1993/9/25
 VZ v1.58a(nifty, CSとDSを分離,XMS,etc) 
1993/12/
 VZ v1.60 (c.mos最終版)

(注)「DOSの歴史セミナ: DOS/V」
ttp://hp.vector.co.jp/authors/VA000199/history.html#dosv

 c.mosさんがdos/v機(環境)をどれくらい愛用していたのかは?
 コーディングという意味では、3年近くは付き合ったはずですけれど。
 c.mosさんの手元にいたVzって、5年程度??? 最長で8年?
 そういえば、高橋さんも、NEC98組だったなぁ、たしか。
 というより、27インチなんてディスプレイが、想定されてないよね。



08482/08469 CRG00666 文太 Re^6: アセンブラの再履修 popwindow
( 1) 18/11/01 21:31 08480:10♯さんへのコメント

 ありがとうございます。
 大丈夫です、そういう死活問題にかかわる事柄は、しっかり読み解きます。
 外れると、死んじゃうので。
 命をかけて、dos機やWinME機を作ってます(嘘です)。
 なんか嘘ばっかついてる。


08483/08469 BQO00549 konno Re^3: アセンブラの再履修 popwindow
( 1) 18/11/02 00:32 08476:konnoさんへのコメント

> > 明確な上限値を把握しない形での措置なので、
> > 画面サイズが巨大な場合(250*80とか)は正常な処理でもエラー認定される、
> > という可能性もなきにしもあらずかな?と。

250*80とかはVZが限界の様でしたが、それ以外の場合でもエラー認定される
ことはあるかもしれません。

この場合は、メニュー窓の表示が消えずに残るだけで、実害は無いと思います。
もしもこういう事象が出たり、その他副作用と思われる事象がありましたら
ご報告いただければ幸いです。



08484/08473 BQO00549 konno Re: VZk07t5 バグありました
( 1) 18/11/02 01:34 08473:konnoさんへのコメント

うう、バグが有りました。

rf+ の時に、LFN で、半角スペースのあるファイル名をオープンすると、
ファイル名がおかしくなったり、拡張子が TXT なのに、ビューモードに
ならなかったりします。

rf- なら問題ないとは思いますが。
取りあえず公開停止します。


これは、VZk07t4 の時から同じだったようです。
未公開の私家版は対策できているんですが、ステータスラインの表示が
いまいちよろしくなくて・・・互換性も考慮してないし。



08485/08469 CRG00666 文太 Re: Vzの歴史、DOS/Vの歴史
( 1) 18/11/03 11:04 08481:文太さんへのコメント コメント数:2

>1991/1/25
>兵藤嘉彦、日経MIX v.c.分科会にて「VZIBMV 1.56 DOS/V対応版」差分を公開。
 あくまで文化史的考察のつもりだったのですが。
 なるほどぉ、とちょっとだけ嬉しい。


Vz ver.1.56
>dir C:\VZSRC\156CMOS\SCRNIBM.ASM
1990/12/07  10:56            26,086 SCRNIBM.ASM

Vz ver.1.57
>dir C:\VZSRC\157CMOS\SCRNIBM.ASM
1992/01/08  01:57            41,562 SCRNIBM.ASM

Vz ver.1.56
>type C:\VZSRC\156CMOS\SCRNIBM.ASM

;****************************
;	'scrnIBM.asm'
;****************************

--- (skip)
IFDEF J31		;まったく知らないのですが、J31って、IBM
--- (skip)		;に中身がそっくりなんですかね?
ENDIF

IFDEF IBM
ATTR_REV	equ	0
ATTR_UL		equ	0
ENDIF

;--- Store to VRAM ---	;このVRAMというものが分かってない、、、。
			;VTEXTも、、、。NEC98 -> Win95な人なもので。
			;ふつう、こんなこと知らないで、Vzすると思うけど、、、。
			;このご時勢にいたっては、これは無理かなぁ? 無理しちゃう!

Vz ver.1.57
>type C:\VZSRC\157CMOS\SCRNIBM.ASM

;****************************
;	'scrnIBM.asm'
;****************************

;--- Equations ---

IFDEF DOSV
DOSV_WCSR	equ	TRUE
DOSV_BLINK	equ	TRUE
ENDIF

IFDEF IBM
--- (skip)
ENDIF

INBLK		equ	80h
dosscrn_sx	equ	044Ah		; ##156.123
dosscrn_sy	equ	0484h

IFDEF J31
--- (skip)
ENDIF

;--- Store to VRAM ---

 もちろん、全体にジョークです。
 しかし、ド文系な僕が、こんなところまで来てしまって、、、。
 もう満足、満腹。



08486/08469 BQO00549 konno Vz昔話
( 1) 18/11/03 19:42 08485:文太さんへのコメント コメント数:1

> >1991/1/25
> >兵藤嘉彦、日経MIX v.c.分科会にて「VZIBMV 1.56 DOS/V対応版」差分を公開。
>  あくまで文化史的考察のつもりだったのですが。
>  なるほどぉ、とちょっとだけ嬉しい。

> IFDEF J31		;まったく知らないのですが、J31って、IBM
> --- (skip)		;に中身がそっくりなんですかね?
> ENDIF
> ;--- Store to VRAM ---	;このVRAMというものが分かってない、、、。
> 			;VTEXTも、、、。NEC98 -> Win95な人なもので。
> 			;ふつう、こんなこと知らないで、Vzすると思うけど、、、。
> 			;このご時勢にいたっては、これは無理かなぁ? 無理しちゃう!

文太さん、懐古モードになってしまいますね。(^^;
では私も昔話をしてしまいましょう。(^^;


めざら資源より一部引用

1989 05 兵藤嘉彦:VZ Editor v1.00
(PCワールド・ジャパンから発売されたEZを機能強化・改称した) 
1989/05/10  01:00            64,445 VZ.DOC

多分この年の夏ごろ私は聖地神田のビレッジセンターに行って
PSE(ポータブルスクリーンエデイタ)を購入、その時に
兵藤さんらしき人が、「J3100 を使っているなら、これを試してみて。」と
VZJ31 v1.00 サンプル版の3.5インチフロッピーを手渡ししてくれた。
私は、PSE そっちのけで、VZ の虜になってしまった。
 
1989 12 兵藤嘉彦:VZ Editor v1.50
(EMS対応,マルチ機種版同梱) 
1989/12/10  01:50               412 README.BAT

1990 02 兵藤嘉彦:VZ Editor v1.53 

1990/03/10  01:53            42,715 README.DOC
	VZ Editor Version 1.53a Copyright (C) 1989 by c.mos

私が秋葉で購入したのは、この 1.53a のようである。
其の後、職場の PASOPIA16 で、VZを動かそうと試行錯誤を始めた。
このPCは、IBMPC ほぼ互換で、J3100 とは VRAM アドレスも構造も違った。
グラフィックス画面が 640*500 で、VGA より広かった。


吉祥寺OFF の時、頑張って大深度地層から古のデータを発掘出来た。

 E:\LOG\MIX\J31\SR のディレクトリ

1990/03/10  01:53             9,782 KEYIBM.ASM
1991/12/26  07:07            25,907 SCRNIBM.ASM
1992/02/07  17:49           161,338 TBASIC.ASM
1991/12/23  01:48           149,690 VZJ31.ASM
               5 個のファイル             352,284 バイト
               0 個のディレクトリ  19,152,605,184 バイトの空き領域

当時VZのために MASM5.1、ソーサー など購入した成果である。
KEYIBM.ASM は変更無いので、そのまま使えたようだ。
当時は(今もか)夜更かししたり朝早くから弄っていた様子がうかがえる。
カレンダーマクロで曜日を確認してみた。

1991/12/26(木)	07:07		 25,907 SCRNIBM.ASM
1991/12/23(月祝)01:48		149,690 VZJ31.ASM


さて、ついでに、PASOPIA16 用の変更部分をあげてみよう。
当時のPCマニュアルには、VRAM などのハードの説明もあったので
素人の私でも何とか改造することができた。

1990/02/20  01:53            25,862 SCRNIBM.ASM
;	'scrnIBM.asm'

	count = count + 1
if (count and 3)
	add	di,bx
else
	add	di,2000h+WD-bw
	and	di,1FFFh
endif

	↓

1991/12/26  07:07            25,907 SCRNIBM.ASM

57行目
	count = count + 1
;if (count and 3)
;	add	di,bx
;else
	add	di,800h+WD-bw
	and	di,7FFh
;endif

81行目
;bmap		_farptr	<0,0B800h>
bmap		_farptr	<0,0c000h>

1945行目
;	mov	bx,0B800h
	mov	bx,0c000h


たぶんこれだけでVZが動いたと思う。
ただし、漢字表示の仕組はわからなかったので、英語モードのみであった。
PASOPIA16 は、MSDOS ver2.11V だったと思うが、良く動いたものだ。(^^;



08487/08469 CRG00666 文太 Re: Vz昔話
( 1) 18/11/03 22:46 08486:konnoさんへのコメント コメント数:2

 いやいや、楽しいお話、ありがとうございました。
 僕にとっては、懐かしがれない過去なのですが。僕がやっていたのは、考古学で、
化石の発掘です。見たことないものを見た。
 そこで一緒に僕のミイラは寝ていなかった。

https://www.starbrother.net/pasopia16.html
40万円! 驚かないかな。僕のNEC98セット(dos3.3)も、ディスプレイ+プリンタ
を入れたら、それぐらいしたはずだから。清水(きよみず)だったなぁ、人生で
いちばん貧しい頃だったから。

 1982年かぁ。僕がパソコンと出会うのに、まだあと8年か9年はかかる。僕がマクロ
プログラミングなんてことに手を出すのに、まだあと15年!

 この頃すでに、アセンブラのコードの、ここをこう弄ったら動く、とかやってた
わけですね。筋金入りですね、やっぱり。
 T-BASIC、それだけ何それ? でしたが、wikiで解決。そういうものだったんだ。
vtdosを落としまくっていたqbasic、その後、まったくやってません、、、。いろいろ
ありすぎて、、、。
 英語モードのVz環境をつくり、はい、僕もsourcerを動かしてやろうという野心
はもってます。いまや入手は簡単。
 sort.defのエンジン部分を見てみたい。見るだけだけど。
 いろんなところで、マニュアルがないのが、やっぱり痛いのですが。
 そして、時間がないから、やりたいこと、ぜんぜんやれないの、、、。

 「パソピア」は初めて聞いたし、そうかぁ、東芝系はJ31にいって、ダイナなわけ
ですね。上村さんがダイナ系で、僕はずっと(今も)NECと違うパソコンなんだなぁ、
通なのか反逆児なのかマイナー好きなのか、とか思ってました。
 FMRとともに、早くからマイコンいじりを始めた人にとっては、やがて終わることに
なったNECの日本制覇は、一過性のものだったのでしょうね。

 「これからは論文も出版もパソコンの時代だから」と言われて、しょうがなくPC
を買ったとき(イメージ的に原稿用紙の万年筆のほうが文人っぽい。ま、僕は英語派
なのでタイプライタのイメージですが)、世の中は、すでに98の世界でした。
ちょっとあとで、ゲームオタクの友人がdosv機を買い、「これはMS-DOS=98機とは
違うのだよ、分かってないね」と言ってましたねぇ。
 今も分かってないんだけど、、、。

 ナツメ社『MS-DOSマクロアセンブラ活用法』を読んでます。アセンブラマクロの擬似命令
の意味がよくわかります。
 これくらい噛みくだいてVRAMの(PCでの画面表示の)仕組みを解説してくれる本は
ないか? ないんだろうなぁ。当時のマニュアルも、これは、入手困難だし、、、。
 MS-DOSだけでいいのだけど。
 Vzに限っていうと、イメージスタックがどうのこうのなんて、高橋さんしか言って
ませんでしたよね? エディタとエディタマクロを話題にするフォーラムだったのだから、
まあ、当然なのかな?

 c.mosさんに会ったんだ。「売れないかな、このエディタ」とか自信なさげな青年
だったのかなぁ。そのあと短期間にヒットしすぎたんですよねぇ。ヒットしただけのこと
はあると、やっぱり思うけど。
 考えてみると(そんなに持ってないけど)、あのVz使い方本の多さは、社会現象
だったのだ、と言っても良いのでしょうね。バブルの影響もあるのかな?

 僕は、あと20年くらいVzです。僕自身が化石になっても。
 秀丸を使ってみて(ヘルプとか分かりやすい!)、便利だが、つまらん、と思った。
何度も使ってみてはいるのですけどね。



08488/08469 CXB00940 としき Re^2: Vz昔話
( 1) 18/11/04 00:16 08487:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

ベーマガとか、まだ手元に何冊もある人間としては、いろいろといいたいことも
ありますが、それはさておき。

>  ナツメ社『MS-DOSマクロアセンブラ活用法』を読んでます。アセンブラマクロの擬似命令
> の意味がよくわかります。
>  これくらい噛みくだいてVRAMの(PCでの画面表示の)仕組みを解説してくれる本は
> ないか? ないんだろうなぁ。当時のマニュアルも、これは、入手困難だし、、、。

手元に、ナツメ社の「MS-DOSマクロアセンブラ入門」という本があります。
藤木文彦著。ISBN4-8163-0515-7、2800円。
いつか読もうと思って、まだ読んでいません。
状態は、最悪とまではいいませんが、あまりよくありません。中に書き込みもあるし。
もし、引き取っていただけるのであれば、お譲りしますよ。


08489/08469 CRG00666 文太 Re^3: Vz昔話
( 1) 18/11/04 01:01 08488:としきさんへのコメント コメント数:1

>ベーマガとか、まだ手元に何冊もある人間としては、いろいろといいたいことも
>ありますが、それはさておき。
 いっぱい、ゆっくり、語ってくださいよ。
 たぶん、konnoさんやとしきさんが経験したことって、あんまりVzerに共有
されてないんじゃないんですかねぇ。パソコンの基礎です。もちろん、AP, PKな頃には、
そういう基礎の基礎を体で覚えた人がいっぱいいたのでしょう。でも、その後は、
Vzマクロのためのマクロになってしまっていたのかも。

>手元に、ナツメ社の「MS-DOSマクロアセンブラ入門」という本があります。
>藤木文彦著。ISBN4-8163-0515-7、2800円。
 実は体調を崩しておりまして、体も頭もうまく動かないものですから、昨晩か
その前かに通読しました。「ゆっくり読み返す価値のある本」との印象。debugの使い方
解説がすばらしい。
 というわけで持ってます。

>いつか読もうと思って、まだ読んでいません。
 あんまり、としきさんには必要ないのかな。基礎の基礎。でも、basic, pascal, C
<< assembler みたいな構図がよく見えました。
 僕は32bitとかWinとかに興味がないので、いろいろと勉強になる本です。
 意外にこの2冊みたいな本って、ないよね。
 って、知らないか。
 要らないんでしょうね。



08490/08469 GST01234 10♯ Re^4: Vz昔話
( 1) 18/11/04 01:46 08489:文太さんへのコメント コメント数:2

パソピアが出てくるところがkonnoさんらしいと言えばらしいですね。
パソピア16は当時の例に漏れず独自アーキテクチャだとばかり思ってましたけど、
PC互換機だったんですね(ATにあらず)時代背景を考えると相当初期の互換機路線ですよね。
海外向けのT300に独自の日本語カードを付けた物のようですね。
パソピアのシェアを考えるとダイナブックが返り咲くのは想定外ですけど、
ノート型の一番乗りだったことは大きいようですね。
それで東芝はダイナブックのブランドを確立した訳ですから大した話です。
当時のノート型の開発競争は非常にエキサイティングでした。
8キロあるような可搬型(バッテリー非搭載)が80万ぐらいとかしてました。
ショルダーホンが笑えませんw

VRAMはソフト的には相当単純な話で、メモリ空間の特定のアドレスに文字コードを書き込むと、
それが表示に反映される、といった物です。
昔のパソコンは全てメモリマップが取説で公開されてましたから、ごくありふれた情報でしたね。
それを表示に反映させるハードウェアの仕組みとなるとまた奥深い話にはなりますけど。

なおこの、書き込むと即表示に反映させる、という仕組みはハード的には簡単な話なんですけど、
エミュレータ的にはやや負荷の高い仕組みになりますね。
DOS/Vは曲がりなりにも表示部分を全てAPI化してるため、その後V-TEXTに発展し、
VTDOSも比較的容易に実現することが出来ました。

そういった、I/Oを全てAPI化して(抽象化して)ハードウェアから分離する、というのは近代的な
コンピュータシステムの基本だったりとかするんですけど、
そう考えると16ビット機というのは、橋渡し的な存在だったかも知れませんね。
一方で、それ以前の原始的なコンピュータに触れる機会を得られた人は、
その仕組みを体験できたという意味ではラッキーだったかも知れません。
分らない方が幸せだ、っていう説もありますけどw


08491/08469 CXB00940 としき Re^5: Vz昔話
( 1) 18/11/04 14:20 08490:10♯さんへのコメント
参照先:http://toshiki.la.coocan.jp/

> パソピア16は当時の例に漏れず独自アーキテクチャだとばかり思ってましたけど、

私もそう思い込んでいました。
今回のkonnoさんのお話で、新しく古いこと(なんだそりゃ)を知ることができ
ました。

> 8キロあるような可搬型(バッテリー非搭載)が80万ぐらいとかしてました。

トランスポータブル、って言い方をしていたモデルもありましたね。
日本では、ワープロのOASYSでこのタイプが非常に売れていましたが、海外製の
パソコンではCompaqかどこかの製品を使ったことがあります。
新入社員のころ、このマシンにNetwork Snifferのソフトを仕込んだ測定器を使う
ことになったのですが、よりによって、壊してしまいまして。初任給が20万円の
時代、この装置はおそらくソフト込みで(もしかしたらハード単体で)400万円も
する、と聞かされて真っ青になりました。翌日、職場の大先輩が、こともなげに
「ソフト再インストールで直ったよ」ということで、大いに胸をなでおろした
ものです。

> 分らない方が幸せだ、っていう説もありますけどw

あ〜、遺憾ながら、賛成せざるを得ないかも。

08492/08469 BQO00549 konno Re^2: Vz昔話
( 1) 18/11/04 17:02 08487:文太さんへのコメント コメント数:1

>  そこで一緒に僕のミイラは寝ていなかった。

ミイラ取りがミイラになったのは私だった!! という落ちか。
私のVZとの因縁は半端ないのかもしれませんね。(^^;

>  英語モードのVz環境をつくり、はい、僕もsourcerを動かしてやろうという野心
> はもってます。いまや入手は簡単。

何と!! 簡単なんですか? 当時のソフトは1本数万〜10万ぐらいが普通でしたからねぇ。
私の金の使い方は絶対間違っていると思う。(^^;

>  c.mosさんに会ったんだ。「売れないかな、このエディタ」とか自信なさげな青年
> だったのかなぁ。そのあと短期間にヒットしすぎたんですよねぇ。ヒットしただけのこと
> はあると、やっぱり思うけど。

このVZ世界を創造した神様ですからねぇ。絶対売れると確信していたと思います。
あの時あの店では輸入物のソフトやPCばかりありました。
その中で、PSEやEZエディターがどちらも9800\ で売っていたのです。
EZはPCATマシンでちょっとだけ動かしてみたけど、VZと同じく素っ気ない感じでした。

その頃の私は、ベーマガやPCワールドなど興味のある記事が載っている時だけ買って
いたのですが、PSEの開発記事(ソース付き)がベーマガに載っていて、DOS汎用なので
パソピア16でも動くと思って注目していました。

一方、PCワールドだったか、EZエディタをパソピア16で動かすパッチの記事を見て
興味はあったものの、J3100 で動かないと買うのは躊躇してしまいます。
また、c.mos さんが、「エディタが常駐したら面白いよね」とどこかで言っていて
VZエディタPC98版が出たのも知ってはいたと思います。

# 戦いは非情さ、そのくらいは調べてある・・・

ソース付きのエディタが同時期に2つも同じ値段で世に出たというのも偶然とは
思えませんでした。

# よしんばPSEが駄目でもVZがあるさ、と、2段構えの作戦(なわけはないって)

結果的に私は選択を間違えていて、改めてVZを買いなおすことになったわけで。(;_;)


続く(のか)



08493/08493 BQO00549 konno 備忘録 LXCLND.defの改造
( 1) 18/11/04 17:29 コメント数:1

#8486 で書きましたが、

> カレンダーマクロで曜日を確認してみた。

LXCLND.def で曜日を確認しようとしたら、テキストが見えなくなる!! げげ!!

という事で、他のカレンダマクロで確認しなおしたのでした。
この事をカレンダマクロの記事に追加しようと思ったら、げげ、ツリーが無い!!
最近掲示板が賑わっているのはとてもうれしいことですが、9月10月の記事が既に
過去ログになってるとは!!

ということで、新たに備忘録スレを立てましたとさ。
ちなみに、#8144 が関連記事です。


改めて、LXCLND.def を見直したら、動作中はテキストが暗い青になっていたんですね。
Emmett さんの好みなんでしょうが、ほとんど見えないのは困る、という事で改造です。
LXCLND.def の152行目あたり

===== LXCLND.DEF   (v2.01) =========

	;---- set color ----
	&s
	(mm==-1)?{			;if color, set background
		an=7, ;1,		;normal color ★★★テキストカラー
		ac=1,			;controle code color

こう修正すればバッチリ!!
an1 は暗い青
an7 は暗い白なので、このくらいがいいですね。



08494/08493 BQO00549 konno 備忘録 VTDOS と pkxarc
( 1) 18/11/04 17:57 08493:konnoさんへのコメント コメント数:1

超古代遺跡の発掘で発見したこと。

VTDOSで PUSHFJ31.ARC に秘められた宝物を取り出そうとしたら

VTDOS|C:\VZ\K07V>pkxarc -v C:\VZ\ASM\PASOPIA\SR\PUSHFJ31.ARC
Insufficient memory

何だこれ?
メモリ不足ですか?


MSDOS Plaer では

pkxarc -v C:\VZ\ASM\PASOPIA\SR\PUSHFJ31.ARC

PKXARC    FAST!    Archive Extract Utility    Version 3.5    04-27-87
Copyright (c) 1986,1987 PKWARE Inc. All Rights Reserved. PKXARC/h for help

Searching: C:/VZ/ASM/PASOPIA/SR/PUSHFJ31.ARC

Filename	Length	 Method     Size   Ratio    Date      Time    CRC
--------	------	 ------    ------  -----    ----      ----    ---
POPF.COM           123   Stored       123    0%   09-18-88  02:20:24  4BDA
PUSHF.COM          181  Crunched      176    3%   09-18-88  02:15:58  BF3B
README.DOC         319  Crunched      307    4%   09-18-88  02:32:06  823C
-----           ------             ------  -----
0003               623                606    3%

おお、暗号の解読が出来た。どうやらお目当てのお宝とは違うようだが。
では、開封の呪文を

pkxarc -x C:\VZ\ASM\PASOPIA\SR\PUSHFJ31.ARC

PKXARC    FAST!    Archive Extract Utility    Version 3.5    04-27-87
Copyright (c) 1986,1987 PKWARE Inc. All Rights Reserved. PKXARC/h for help

Unarcing: C:/VZ/ASM/PASOPIA/SR/PUSHFJ31.ARC
 Extracting: POPF.COM
unCrunching: PUSHF.COM
unCrunching: README.DOC


pkxarc は、VTDOS では問題あるのかな。
現状では、MSDOSPlayer なら使えるという事で。

この記事も、MSDOSPlayer で書きました。IME もそれなりに使えるようになって
喜ばしいことです。



08495/08493 GST01234 10♯ Re: 備忘録 VTDOS と pkxarc
( 1) 18/11/04 18:03 08494:konnoさんへのコメント コメント数:1

PKなんとかはPKZIP,PKUNZIPは動作しますけど、初期のPKLiteは動きません。
初期のPKLiteはHMAに問題があったりとかしたんですけど、pkxarcはどうなんでしょうね。


08496/08469 CRG00666 文太 VzのDOSV対応(1.56->1.57)
( 1) 18/11/04 18:21 08485:文太さんへのコメント

 風邪かインフルエンザか。ぼろぼろ。
 16時間寝たあとに、こんなことをしている。
 まだ死んだままだと言ってよいでしょう。

 いやぁ、やっぱり、当たり前のこととして受け止めてきたけど、PCの
スクリーンにエディタが描画するのって、大変なことなのですねぇ。
 edlinとかからスクリーンエディタへの進化の意味(苦労)が、少しわかった
ような気がしました。
 sedというのはstreamなのだけど、基本的にラインエディタなのですよ。
あいつ、描画しなくていいから楽してやがるな、とか思いました。
 連想は正しいでしょ?


scrnibm.asm  26,086  1990-12-07  10:56
scrnibm.asm  41,562  1992-01-08  01:57
 約1年で以下の進化を遂げました。前回、これが言いたかったの。

 ※表示がいまいちなので、タブをスペースに展開しています。

                  1.56            1.57
--------------------------------------------------
ALIAS.ASM        8,601           8,601
                BLOCK.INC        1,460          **
CHAR.ASM         4,052           4,052
CORE.ASM        18,828          18,859          +
DISP.ASM        12,015          12,187          +
DOS.ASM         17,579          17,803          +
EMS.ASM          5,526           5,564          +
EXPR.ASM        11,486          11,502          +
FILER.ASM       34,528          37,251          *
FROLL.ASM        9,564           9,857          +
GETS.ASM         7,810           7,810
HARDERR.ASM      2,027           2,118          +
INST.ASM        15,953          16,427          *
KEY.ASM         10,408          11,731          +
KEY98.ASM       11,400          13,146          +
KEYIBM.ASM      10,410          16,715          *
LEDIT.ASM       10,904          10,966          +
LK.BAT             463             606
MACRO.ASM       23,820          24,155          *
MAIN.ASM        31,464          32,143          *
MEMO.ASM        19,703          19,574          -
MENU.ASM        15,240          15,252          +
MISC.ASM         3,934           3,934
MK.BAT             792           1,193
MSG.ASM          5,514           6,036          +
OPEN.ASM        18,999          18,983          -
PRINTF.ASM       4,953             706          --
SCRN.ASM         6,857           5,775          -
SCRN98.ASM      21,804          23,701          *
SCRNIBM.ASM     26,086          41,562          **
SMOOTH.ASM       4,417           4,417
                SPRINTF.INC      4,127          **
STD.INC          6,464           7,241          *
STRING.ASM      13,903          13,281          -
SWAP.ASM         8,613           8,613
TEXT.ASM        23,584          23,786          +
VIEW.ASM        14,740          14,777          +
VZ.INC          12,127          12,991          +
VZ.LNK             212             212
VZ.MAK           1,251           1,256
VZ.OMK           1,192           1,197
VZSEL.ASM          824           1,697          +
WIND.ASM         9,169           9,291          +
XSCR.ASM         6,903           6,903


 表示系(disp, scrn, xscr)を眺めて、あと20年で何かが分かるように
なるとは思えませんな、と思いました。
 wind.asm。複数ファイルをエディットできるというのは、そういうことなのかぁ。
 やっぱ、macro.asmだけですね。正しいVzマクロイドの判断。

>> 分らない方が幸せだ、っていう説もありますけどw
>あ〜、遺憾ながら、賛成せざるを得ないかも。
 遺憾かどうか分からないけど、賛成。


08497/08469 CRG00666 文太 Re^3: Vz昔話
( 1) 18/11/04 20:06 08492:konnoさんへのコメント コメント数:1

(sourcer)
>何と!! 簡単なんですか? 当時のソフトは1本数万〜10万ぐらいが普通でしたからねぇ。
>私の金の使い方は絶対間違っていると思う。(^^;
 ご本人も承知のうえだと思いますが、konnoさんのお金の使い方は間違ってませんよ。
お金の正しい使い方です。物事には旬があり、その人の人生の「そのとき」があるはずです。
今ごろ、sourcerをタダで手に入れて動かすのが、病気です。退廃的です。
 でも、パチンコには、あまり、、、。もうないか。(^^;

>>  c.mosさんに会ったんだ。
>このVZ世界を創造した神様ですからねぇ。絶対売れると確信していたと思います。
 僕は、兵藤さんという人を知らないからなんですが、その後のお金の使い方からして、
あんまりお金でものを考える人じゃないのだろう、とか空想してますけどね。
 もちろん「売れる」というのが「支持される」の意味なのでしょうから、売れて欲し
かったし、売れて嬉しかったとは思うのだけど。
 でも、はっきり言って、お金の使い方、下手。ま、ああいう状況になったら、うまく
ハンドルできる人も少ないだろうけど。
 あんなに売れなければよかったのかも、とか思う。

 ふと、昔のソースを眺めていて、専門職の時代への適応とかあったのだろうけど
(Windowsの時代)、Vz 2.00まで、やり遂げて欲しかったなぁ、とか思いました。
 きっと本人も充実し、満足していたと思う(仮定法)。
 わからんちんが何を言っているのだか、ですが。

>あの時あの店では輸入物のソフトやPCばかりありました。
 へぇ。神田のお店(事務所)には僕も2回行きました。最初歓迎、2回目、Vzユーザ
なんて邪魔者扱い。「古い」って感じで。97年くらいかなぁ。1年前とえらい変わりよう
だな、とか思いました。すでにして時間の流れの圧力を感じていた。
 97年は、1年ずれているかもしれません。
 VCにも色々あったんでしょうね。

>EZはPCATマシンでちょっとだけ動かしてみたけど、VZと同じく素っ気ない感じでした。
 すげぇ。マクロやファイラを別にすれば、基本は完成していたんでしょうね。
 さっき、1.56->1.57を比較していたときに、1.57->1.60もちらと見たら、EMS対応は、
かなり太ってましたね。大変なんでしょうね。

>その頃の私は、ベーマガやPCワールドなど興味のある記事が載っている時だけ買って
>いたのですが、PSEの開発記事(ソース付き)がベーマガに載っていて、DOS汎用なので
>パソピア16でも動くと思って注目していました。
 最新情報を雑誌から入手する時代だったのですね。

>一方、PCワールドだったか、EZエディタをパソピア16で動かすパッチの記事を見て
>興味はあったものの、J3100 で動かないと買うのは躊躇してしまいます。
 sourcerとVzの値段の違い。ダメです、そこで躊躇してはいけません。将来のVzの
歴史が変わってしまいます。

>また、c.mos さんが、「エディタが常駐したら面白いよね」とどこかで言っていて
>VZエディタPC98版が出たのも知ってはいたと思います。
 ほう。
 僕も「常駐」にどれだけ意味があるのか分からなくなってます。ファイルオープンしてない
ときのコンソールファイル? [ESC]でファイルオープン窓?
 昔、mikomeさんが、「常駐の無意味さ」をsyoさんに説得しようとしていましたねぇ。
 でも、常駐しててくれると、やっぱり安心。PC=Vzなので(そうも言えない、昨今か。
LFNで、あるいは印刷で、Vzファイラからexplorer, 秀丸、Wz、ワードなどなどを起動
してますからねぇ。)

 戻って。
 僕の忘れられないc.mos語録は、たぶん大学からの帰り道。
 「家に着いたら、今日はあのルーチンを完成させてやるんだ」とルンルンで家路を急ぐ青年
c.mos氏。大学つまんねぇ、と。
 ただただ楽しかったのですね、と。
 少しだけ、僕もその気持ちが分かってしまうようになりました(レベル違いが段違いなのは、
いわずもがな、ですが)

>ソース付きのエディタが同時期に2つも同じ値段で世に出たというのも偶然とは
>思えませんでした。
 PSEもソース付きだったというわけですね。
 付いてても、改造は容易ではないだろうけどねぇ。それでも、なんか可能性と誠意を感じさせ
ますね。「バグあったら、取ってね、ユーザさん」とか。
 ハイレベルのユーザがいっぱいいれば、トリクルダウンで僕も助かる。

>結果的に私は選択を間違えていて、改めてVZを買いなおすことになったわけで。(;_;)
 いえ、あれだけの作品です。何回か買うのはありです。
 自分への投資。ちゃんと充実の人生が、その後、展開したでしょう?
 僕は1回(1.60)しか買ってないけど。でも、友人にプレゼントしたから、2回買ってます。

>続く(のか)
 続けて。是非是非。


08498/08469 CRG00666 文太 VRAMなど
( 1) 18/11/04 20:07 08490:10♯さんへのコメント コメント数:1

>VRAMはソフト的には相当単純な話で、メモリ空間の特定のアドレスに文字コードを書き込むと、
>それが表示に反映される、といった物です。
 的確にお教えいただき、感謝です。
 下では、BIOS経由と直書きだと3倍速度が違うよ、掛け算でなくshift(ビット演算)すると
もっと速いよ、と言っているようです。Cはあれですが、付いては行けそう。付いて行って
どうなる、のかは、またまたあれですが、分からないことが少し減る(「分からない」が
activated ignoranceなので)のは、楽しいことです。
 ありがとうございます。

David Brackeen, 1996 tutorial on VGA graphics programming for DOS.
http://www.brackeen.com/vga/basics.html
 何とかなりそう、、、たぶん、、、。
 ありがとうございました。


08499/08469 GST01234 10♯ Re: VRAMなど
( 1) 18/11/04 20:25 08498:文太さんへのコメント コメント数:1

グラフィックモードが稀少だった頃はテキストVRAMのことが所謂VRAMと呼ばれてまして、
V-TEXTの疑似VRAMというのはこれのことで、僕もその説明をしています。

文太さんのURLにあるVGAの説明はグラフィック用のG-VRAMとかフレームバッファとか呼ばれてるものですな。
これは描画に手間が掛かるため、DOS/VでAPIが整備されました。
グラフィックアクセラレータによって仕様やアクセス方法が異なりますが、V-TEXTのAPI経由で描画する限りは、
同じ手順で描画可能で、これによりV-TEXTが発展したもので、
WindowsやMaxOSやXなどの近代的なGUIも本質的には同じ考え方で構成されています。


08500/08469 CRG00666 文太 Re^2: VRAMなど
( 1) 18/11/04 23:00 08499:10♯さんへのコメント コメント数:2

 「そっちじゃないよ」とのこと。了解。
 しかし、正直いって、上のコメントは読めません。「これ」って
何を指しているのでしょう? という具合に。
 でも、いいです。分かっても、別に何ができるわけでもありませんから。
 知識が深まらなくても、道具としては、じゅうぶん使える奴ですから。
 そして、それがいちばん大事なので。m(__)m


 というのも、投げやりに見えると失礼(?)なので、いちおう解析を試みさせて
いただきますが、スルーするのが良いと思われます。m(__)m


>グラフィックモードが稀少だった頃はテキストVRAMのことが所謂VRAMと呼ばれてまして、
>V-TEXTの疑似VRAMというのはこれのことで、僕もその説明をしています。

 テキストVRAMが、VRAMと呼ばれていた。
 V-TEXTの疑似VRAMは、このテキストVRAMのことである。

>文太さんのURLにあるVGAの説明はグラフィック用のG-VRAMとかフレームバッファとか
>呼ばれてるものですな。
>これは描画に手間が掛かるため、DOS/VでAPIが整備されました。

 Brackeenさんのサイトの解説は、グラフィック用のG-VRAM(など)を対象にしていて、
V-TEXTの疑似VRAMとは別の話である。

 DOS/VでAPIが整備され、これによりV-TEXTの疑似VRAM=テキストVRAMにおいて、
文字の表示がなされている。もちろんVzによって。(ファイラの枠とかテキストボックスの
枠とかは別かな?)

 「メモリ空間の特定のアドレスに文字コードを書き込むと、それが表示に反映される」とは、
疑似VRAMに文字コードを書くと、それが文字自体として表示される、ということ。
 文太さんが知りたがっているのは、これでしょう? きっと。

 合ってますでしょうか?
 まだ激しく外れていますでしょうか?

 何が新しくて何が古いのか、分からないよなぁ、というのが正直でストレートな感想でした。
GUIなWinやMacの方向なら、そっちが新しいですよねぇ。
 ふつう読書百遍なんですけどねぇ。Vzのソースさえ。
 でも、Vzって古そうなのだけど、DOSVは新しそう、、、。
 DOSVな技術が現在の技術に直接繋がっている、と読めたような気がしました。
 文字を書くより絵を描くほうが、だんぜん大変そうだし、、、。



08501/08469 GST01234 10♯ Re^3: VRAMなど
( 1) 18/11/04 23:42 08500:文太さんへのコメント コメント数:2

PCのBIOSは画面に文字を表示するAPIを持ってたんですけど、
これがあんまり速くないってので、みんなCGAのVRAMに直書きしてたんですな。
98だとBIOSに文字表示の機能が無く、DOSのおっそい表示も使えないので、
やっぱりTEXT-VRAMに直書きでした。

そのころ国内PC互換機メーカー各社は漢字表示の出来るTEXT-VRAMカードを開発して、
国内向けに出してたんですな。

それに対してコンピュータの性能が上がってきた上でのDOS/VはTEXT-VRAMを持たず、
VGAのG-VRAMに文字を表示するAPIを整備して、それまでのソフトの修正を最小限に
押さえた上で、TEXT-VRAMカードを不要にしてコストを削減したわけですな。
開発したのはIBMですけど、国内用の漢字VRAMが不要ってことで、
ハード的な非関税障壁が無くなったことで海外のメーカが日本国内に展開する糸口を作ったと。
いわゆるコンパックショックってやつです。

なおこのDOS/Vって規格は日本だけでなく、世界中の非ラテン文字圏が対象になったはずです。

その後、Windows時代になって、ハードウェアに依存する必要が無くなってGUIアクセラレータが
普及した時代にも、各種ビデオカード向けにV-TEXTドライバーを開発することが出来た訳です。

TEXT-VRAMと疑似VRAMのソフト的な一番大きな違いは、
TEXT-VRAMはその領域に書き込んだ内容が画面に即反映されるのに対して、
疑似VRAMは書き込んだ後に、その書き込んだ領域をAPIでドライバーに知らせることで、
初めてG-VRAMに描画されて画面に表示されます。
VTDOSもこのタイミングでWin32コンソールに描画しています。

08502/08469 CXB00940 としき Re^3: VRAMなど
( 1) 18/11/05 00:33 08500:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

>  文字を書くより絵を描くほうが、だんぜん大変そうだし、、、。

ここだけ、10♯さんの説明だと誤解が解けていなさそうな気がして。
ほとんどのパソコンでは、文字を書くより絵を描くほうが、圧倒的に楽なのです。

絵を描くというのは、究極的には、一つ一つのドットを光らせるか否か、という
ところに行き着きます。それが、文太さんの紹介されたBrackeenさんのサイトで
解説されていることだと思います。英語は読めていませんが、図からそのように
理解しました。
でも、文字を書くためには、複数の点を光らせなくてはいけない。
しかもそれは、8x16とかって感じで、横一列だったりはしない。
これの関連付けって、実は結構大変。

昔は、10♯さんが#8501で説明されておられるとおり、TEXT-VRAMにバイトを書け
ば、CPUがCG(キャラクタジェネレータ)にアクセスしてフォントを読み出して、
TEXT-VRAMのアドレスに対応する画面上の位置に文字を表示してくれました。
ところが、DOS/Vって、TEXT-VRAMではなく、グラフィックVRAMに文字を表示する
規格なんですよ。

ここまでを前提として抑えておけば、10♯さんの#8501の説明がいっそうわかり
やすくなることと思います。



余談をいくつか。
上記のとおり、文字を画面に描画するって言うのは、思ったより大変。
ですから、コンピュータ草創の時代はCRTなんてものすらなくて、出力先としては
ラインプリンタが基本。もちろん、8単位の紙テープをそのまま読んでしまう、
なんていうのも特撮的にはよくありましたが。
もう一つ。
パソコンの場合はいろんなアーキテクチャがあって、台数的に一番普及していた
のは、TEXT-VRAMとG-VRAMを重ね合わせて表示できるといったもの。PC-88やPC-98
で使用されていましたからね。その他にも、重ねあわせ表示ができないだとか、
アドレスマッピングが同一でバンク切り替えが必要だの、いろいろと混沌とした
時代もありました。面白かったけれどね。
こういったものを、ある意味で統一したのがDOS/Vで、面白みはなくなったけれど
プログラムを作る側にも使う側にも大きなメリットがありました。
パソコンの家電化とかコモディティ化の第一歩といえるかもしれません。

08503/08469 GST01234 10♯ Re^4: VRAMなど
( 1) 18/11/05 00:47 08502:としきさんへのコメント コメント数:1

> 昔は、10♯さんが#8501で説明されておられるとおり、TEXT-VRAMにバイトを書け
> ば、CPUがCG(キャラクタジェネレータ)にアクセスしてフォントを読み出して、

ここだけツッコミですけど、CGにアクセスするのはCPUではなく、画面表示ハードウェアになりますね。
今で言うGPUですけど、当時はCRTCとかいろんな呼び名がありました。


08504/08493 BQO00549 konno Re^2: 備忘録 VTDOS と pkxarc
( 1) 18/11/05 01:09 08495:10♯さんへのコメント コメント数:1

> PKなんとかはPKZIP,PKUNZIPは動作しますけど、初期のPKLiteは動きません。
> 初期のPKLiteはHMAに問題があったりとかしたんですけど、pkxarcはどうなんでしょうね。

ドキュメントももう残っていないし、NETでも情報がほとんどないですね。
やっぱり初期のPKLite 同様な問題があるんでしょうか。

余談ですが、件のパソピア16用のファイル群は、diet で圧縮されていました。
当時はHDD領域も10M とかで、diet を常駐させて、データを圧縮したままVZで
読み書きしていました。
VTDOSが、UTF8 のデータをAPIレベルでSJISに自動変換してくれるのと似たような
ことをやっていたことになりますかねぇ。



08505/08469 CRG00666 文太 Re^4: VRAMなど
( 1) 18/11/05 01:27 08501:10♯さんへのコメント

 なるほど!
 何が分かったのか、と訊かれたら、モゴモゴするしかないですが、ここですね。

>DOS/VはTEXT-VRAMを持たず、VGAのG-VRAMに文字を表示するAPIを整備して、
>TEXT-VRAMカードを不要にしてコストを削減したわけですな。

>TEXT-VRAMと疑似VRAMのソフト的な一番大きな違いは、
>TEXT-VRAMはその領域に書き込んだ内容が画面に即反映されるのに対して、
>疑似VRAMは書き込んだ後に、その書き込んだ領域をAPIでドライバーに知らせることで、
>初めてG-VRAMに描画されて画面に表示されます。

 うん、DOS/VではTEXT-VRAMの代わりに疑似VRAMを使い、結果は、G-VRAMに描画される。
 疑似VRAM使用では、APIでドライバーに知らせる必要がある。

 イエイ!
 体感的には、ぜんぜん進歩してませんが、文章が読めるような気がする(主語と目的語が
倒置されていても、逆だと判別できる、というレベル)というのは気持ちの良いものです。
 多謝。m(__)m



08506/08469 CRG00666 文太 Re^4: VRAMなど
( 1) 18/11/05 01:53 08502:としきさんへのコメント コメント数:1

 ご名答! ありがとう!

>ところが、DOS/Vって、TEXT-VRAMではなく、グラフィックVRAMに文字を表示する
>規格なんですよ。
 ここです、ここです。よくぞ迷子の文太くんを正しき道に導いてくださった。
 ありがとうございます。m(__)m

>ほとんどのパソコンでは、文字を書くより絵を描くほうが、圧倒的に楽なのです。
 はあ、としか言いようがない。だって画面全体を書き換えなくちゃじゃない、、、。

>でも、文字を書くためには、複数の点を光らせなくてはいけない。
>しかもそれは、8x16とかって感じで、横一列だったりはしない。
 うーん、そうなのですかぁ? と不思議がっている顔と頭。
 縦が8なら、8行(ドット?)同時に描画してしまえばいいのに、、、、。
 これでも25(行)の1(行=8ドット←これ違うと思うけど)だけだよ。
 ラインバッファなイメージ。

>これの関連付けって、実は結構大変。
 ふーん、としか。

>昔は、10♯さんが#8501で説明されておられるとおり、TEXT-VRAMにバイトを書け
>ば、CPU〔修正:画面表示ハードウェア、らしい〕がCG(キャラクタジェネレータ)
>にアクセスしてフォントを読み出して、TEXT-VRAMのアドレスに対応する画面上の位置に
>文字を表示してくれました。
 昔って、どれくらい昔のことでしょう?
 NEC98は、ロムに日本語フォントをもっていたから高速だったのでしょう?
 そのときが「昔」?
 これが「関連付け」なのかなぁ。


 で、上の指摘(君が分かっていないのはココでしょ)がなければ、やっぱり無駄な
骨折り(しないのだけど)になっていたと思いますが、やっと見つけました。
 杉浦明美さん他の『DOS/Vプログラミング技法:98からDOS/Vの世界へ』(SHOEISHA)。
これがいちばんとっつきやすそう。明美さん、どっかでも優しかった。あまり一生懸命
読むとも、少なくとも今は、思えてませんが。

 コンパックの話も、この辺で読んだのかな。
 「テキストモードとグラフィックモード、併用不可」とかあって、じぇんじぇん
分からなくなっていました。
 こういうの最初からちゃんと教えてよ、と言いたい記述が他の3冊には、いっぱい。
(『ガイド』、『ハンドブック』、『レファレンスマニュアル』)
 だからナツメ2冊本は偉いと思う。はいはい、僕が低レベルなだけです。もっと基礎
からやってきな、と。はいはい。

 お助け、感謝いたします。m(__)m

 しかし、よく思うのは、こういう体系的な書籍なくして、雑誌だけで(僕には断片的
情報のように思える)、よく「全体」が把握できたものですねぇ。積み重ねと持続する
好奇心のなせる技? konnoさんの話とか、ねぇ。
 昔の人は根性があったのかな?

 「全体」なんて、DOSVの話をすれば、たとえば画面処理、キーボード、RS232C
とかあって、後者2つは、今の僕にはどうでもよいよぉ、なんですけどね。もう少し狭く
「全体」という意味で。
 DOSV本は疲れました。病み上がり(まだ上がってないけど)のせいではあるまい。



08507/08469 CXB00940 としき Re^5: VRAMなど
( 1) 18/11/05 02:09 08503:10♯さんへのコメント
参照先:http://toshiki.la.coocan.jp/

> ここだけツッコミですけど、

ありがとうございます。
何が混乱したかはわかっていて。
PC-88の時代ですが、DMAの割り込みをとめるとモロモロの処理が高速化する、と
いう技があって、そのときにテキスト表示は止まるけどグラフィック表示は継続
する、というのが頭に引っかかって、用語やらメモリの出入りの方向とかがあれ
これと変になっていました。
要するに、端的に言って、私の頭が変になっていた、ということで。
ひとつよろしく。


08508/08493 GST01234 10♯ Re^3: 備忘録 VTDOS と pkxarc
( 1) 18/11/05 02:09 08504:konnoさんへのコメント コメント数:1

pkxarc はVTDOSが用意した環境変数を処理しきれないようですな。
試しに $xset =clear を実行後にpkxarcを起動すると動作するようです。
VTDOSはwin32の環境変数を全て引き継ぐため、不要な環境変数と削除するか、
autoexec.batの頭で $xset =clear をカマして、環境変数を全部設定するとかしたほうが、
使い勝手はいいかも知れません。


08509/08469 CRG00666 文太 Re^4: Vz昔話
( 1) 18/11/05 02:17 08497:文太さんへのコメント

>1.57->1.60もちらと見たら、EMS対応は、かなり太ってましたね。大変なんでしょうね。

 ここを読み返していて、ふと思った。
 CSとDSの分離がv1.6の最大の進化の一つでしたよね。VzのEMS対応はけっこう古いのに。
 きっと、システムとしてEMSを使う場面が、v1.6で格段に増えたんだ。それでコード
もいっぱい増えた。

 先日、過去ログをvmapのEMS記述を検索してみていて、僕は標準で6ページ、
konnoさんは、14ページとかあった。テキストを読み込んでいる可能性もあったけど、
swのオプションとかでも、大きく変わるでしょう。

 どうでもいいことなのですが、気づいたら、なんだか嬉しくなってしまって。

 高橋さんは、EMSがらみだとうるさいというか、すごく慎重だった。恐いぐらいに。
(なんか知ってるみたいは書き方ですが)Vzが1.6で終わらずに、2.0で完成されれば
良かったのに、と勝手に僕が夢想している根拠の一つが上の件でした。



08510/08469 GST01234 10♯ Re^5: VRAMなど
( 1) 18/11/05 02:24 08506:文太さんへのコメント コメント数:1

例えば初期の8ビット機では1文字のフォントは8*8ドット、8バイト必要で、
これを白黒のビットマップディスプレイで2000文字表示しようとすると、
およそ16キロバイトのメモリーが必要で、一文字表示するのに8バイト転送する必要があります。
これに対して、TEXT-VRAMだと、およそ2キロバイト必要で、一文字表示するのに1バイトで済みます。
98の場合だと、1文字のフォントは8*16ドット、16バイト必要でした。
これは、G-VRAM描画は、TEXT-VRAMの16倍遅いということで、
先の8ビット機を例にすると、画面表示用のメモリーが8倍必要になることでもあります。
メモリーの値段が高かった8ビット時代はグラフィック表示を持たないことも珍しくありませんでした。
昔ってのはそれぐらい昔って事ですね。

あと、昔の人も雑誌だけ読んでいた訳では無く、体系的な本も出てましたよ。

08511/08375 GST01234 10♯ Re^14: まとめの試み
( 1) 18/11/05 03:06 08458:10♯さんへのコメント

XPのNTVDMはDOS/V相当でした。
疑似VRAMはアッパー領域に取っているため、例の現象が発生しても落ちません。

VTI.EXE Version 1.10  (c)鯖/LP-Project,1994.

--- BIOS ($Disp.sys) ---

Video Mode          03h
Screen Size         80x25
Int 10h Vector      0617:19D3h
DOS/V $Disp.sys     Installed.
$IAS.sys            Not Installed.
Psuedo Text Buffer  D853:0000h
Buffer Size         1000h (4096 Bytes)

EGA Palette  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  Ovr
            00h 01h 02h 03h 04h 05h 14h 07h 38h 39h 3Ah 3Bh 3Ch 3Dh 3Eh 3Fh 00h

--- DOS/V Extension Info. ---
Not Supported.


08512/08469 CRG00666 文太 Re^6: VRAMなど
( 1) 18/11/05 05:17 08510:10♯さんへのコメント コメント数:2

 ありがとうございます。
 分かりそうな気がしてきています。多謝。

 表にしてみます。だって、日本語の回転速度が速すぎなんだもの。

8ビット機の場合(グラフィック表示あり=G-VRAMあり)
	フォント	(メモリ量)
1文字	8*8ドット、	8バイト必要		1バイト文字('A')の表示に8バイトのメモリ!
   (半角のこと)				そういうものなのですか!

これを2000文字表示	およそ16キロバイト(8*2000)のメモリが必要(※)


TEXT-VRAM利用の場合
2000文字表示		およそ2キロバイト	1バイト文字に1バイトのメモリ。
(25*80)

98の場合(グラフィック表示あり=G-VRAMあり)
1文字	8*16ドット	16バイト必要
   (全角のこと)

G-VRAM描画はTEXT-VRAMの16倍遅い
先の8ビット機を例にすると、
画面表示用のメモリーが8倍必要になることでもあります。	速度とメモリー量はどういう関係にある?
							画面表示を同じ速度にするためにメモリー量
							は増やすしかないということ?

>メモリーの値段が高かった8ビット時代はグラフィック表示を持たないことも珍しくありませんでした。
 TEXT-VRAMはあるが、Graphic-VRAMはない、と。

>昔ってのはそれぐらい昔って事ですね。
 大昔のことということですよね。

>あと、昔の人も雑誌だけ読んでいた訳では無く、体系的な本も出てましたよ。
 書名は記憶にありますでしょうか。パソコンにおける画面表示の仕組み、という主題の書籍ですが。
 8bitパソコンから16bitパソコンまでの射程でよいのですが。
 まず買えないだろうと思うから、インターライブラリーローンで、日本のどっかの図書館からは
持ってきてもらうことになるのだろうとは思うのですが。
 このために国会図書館に行くことは、よほどのついででなければ、ないと思います。

(※)妄想してみます。時代をワープすることになると思います。
   MS-DOS(16bit OS)の使えるメインメモリーは640KBである。1画面ぶん文字表示をするために
   16/640=1/40を使うわけにいくはずがない。それでグラフィックカード(現代もの)はメモリを
   独自にもっているし、グラフィックオンボのXP時代のMBが、マシン搭載メモリからグラフィック用
   にメモリを拝借するといっても、BIOSの設定で512MBのメモリ総量から8,16,32MBとか使う、という
   ようになっている。
    余談です。
   1週間ぐらい前に、USB2.0のPCIカードが欲しくなり(for WinME)、HOで「PC基盤(小)」の
   青箱をガチャガチャしました。ちゃんとUSBカードは見つかりました。VIAとNECがチップを作っていた。
   (WinMEがUSBドライバを持っているといっても、USB1.1どまりなのです。データの転送には遅すぎる)

   とにかく、そのとき、以下のグラフィックカードを50円で買いました。AGPでなくPCI接続でS3チップ
   だったので、「スーパードライバーズ」のあれが使えるかも、と。
   https://www.cnet.com/products/aopen-pt75-graphics-card-virge-dx-2-mb/specs/
   目的としてはダメかな、と思っていますが、僕が買ったカードは、4MBメモリを搭載していました。
   4メガのグラフィック用メモリ。640KB(@dos)とは、この時点で、比較になりませんね。
   このカード、メモリが8つ(500KB each)、BIOSrom(Winbond製と思しい)、そしてS3のGエンジン。
   発売当時、いくらしたんだろう? それが50円。もののあわれ、なのでしょう。
   いい時代というか、酔狂というべきか。

   MS-DOSでなくPC DOSを使ってれば、こんな苦労はなかったのかなぁ。
   ものはあるのに、PC DOSで純ドス・マシンを作ったことがないなぁ。マシンって、HDを入れ替える
   だけなのに。

 昼間、断続的ながら薬漬けでほぼ16時間ねています。ですから、まだ寝てません。でも、10#さんは
(言われる必要があるとも思えませんが。どういう健康管理をしているのだろ?)、くれぐれもお体を大切に。
文太なんかに振り回されたら、せっかくの才能が水の泡ですよ(え、えらそう)。
 そうそう、たぶん、yahooグループのアセンブラ・フロアの16ビットを扱うところで、MSDOS Playerが
一度メンションされてました。「面白い試みを日本人がやってるぞ」的に。反応なかったみたいだけど。
 売れないとは思いますが、VTDOSも、世界の酔狂な人びとに注目されていいはずですよね。
 トリクルダウンをめざす文太。

 さあ、寝ようか。おやすみなさい。
 そ、し、て、10#さんにあっては、おはようございます。
 グゥーーーーーード・モーーニング、ヴィエトナム。(気にしないでください。芸能ネタです。)
 すいません、月曜の今日も、お休みなのです。さすがに、この風邪、治したいぞ。
 スルーしてください。

追伸:
>昔ってのはそれぐらい昔って事ですね。
>あと、昔の人も雑誌だけ読んでいた訳では無く、体系的な本も出てましたよ。

 つまり16ビットPCでPC入門した人でも、8ビットPCの仕組みをおさらい
して、現在について勉強するというプロセスだったと。
 だいぶ遅れていますが、僕も同じことを(ま、病的にでしょうけど)しようと
してる、と。
 魂のあり方としては、健全なわけです。
 あと20年の命だ(と決めている、そんなに生きられるか分からないのに)、なら
Vzでいけるよ、それぐらいはハードも持つよ。たぶんね。





08513/08469 GST01234 10♯ Re^7: VRAMなど
( 1) 18/11/05 11:16 08512:文太さんへのコメント コメント数:1

98は半角のフォントが8*16で、全角だと16*16で32バイトでしたよ。
白黒で描画するのにこれだけ掛かるんですけど、実際にはカラー表示で、
初期の98はその3倍掛かってました。

同じ性能にするためには描画専用のチップを用意してその速度を画面の同期周波数以上にしたんですよ。
今で言うGPUですが、1秒間に画面を何回書き換えれるかって言うフレームレートって指標が60を越えるかどうか
ですが、これはVGAでは実現されていなかったと思われます。

40年近く前の話なんですけどw
8ビット機に関して言うと、「朝日新聞社電子計算室編パソコンPCシリーズ8001 6001ハンドブック」
とか、「ASCII SYSTEMSOFT PC-Techknow ○○」あたりですかね。
あとは、PCに付属してきた取説ですね。
16ビット時代はありすぎてあげきれませんけど、
98に関して言うと、「アスキーPC-9800シリーズテクニカルデータブック」あたりですね。
ハードウェアの概念的な説明はありませんけど、ソフト開発上のリファレンス的な感じです。
PCに関しては書籍よりもネット上の方が多かったです。
ISAに関しては、トランジスタ技術とかインターフェースの付録や別冊が割に充実してました。

08514/08469 CRG00666 文太 Re^8: VRAMなど
( 1) 18/11/05 13:08 08513:10♯さんへのコメント コメント数:1

 おはようございます。
 丁寧なお教え、ありがとうございます。

>98は半角のフォントが8*16で、全角だと16*16で32バイトでしたよ。
>白黒で描画するのにこれだけ掛かるんですけど、実際にはカラー表示で、
>初期の98はその3倍掛かってました。
 'あ'という1文字を表示するのに32*3=96バイトのメモリが必要だったと。
 ま、まじ。というか、今ではきっともっとなのでしょうね。
 マクロバッファでもデータセグメントでも2バイトしか使わないのに、、、。
 擬似TEXT-VRAMの利用でDOSV的な方法で描画がなされ省エネになっている
とはいえ、すごいメモリの使用量なんだ。
 'あ'ですよ、進歩なのか、、、。
 'あ'に色つけたり、微妙な陰影を表現したり、リアルな表現力で絵を動かして
みたり、、、。あ、ふつうのyoutubeじゃないか。

>同じ性能にするためには描画専用のチップを用意してその速度を画面の
>同期周波数以上にしたんですよ。
>今で言うGPUですが、1秒間に画面を何回書き換えれるかって言うフレームレート
>って指標が60を越えるかどうかですが、これはVGAでは実現されていなかった
>と思われます。
 やっぱり。これでグラボがPCの性能の鍵を握るようになったと。
 Win95, 98の頃って、PCIかAGPにGカードを挿さなければ、マシンの起動すら
確認できなかった(もちろん、XP時代にそんなことをごにゃごにゃやり始めました。
Vzが動かなくなり始めたから。)

>40年近く前の話なんですけどw
>「朝日新聞社電子計算室編パソコンPCシリーズ8001 6001ハンドブック」
>「アスキーPC-9800シリーズテクニカルデータブック」あたりですね。
>トランジスタ技術とかインターフェースの付録や別冊が割に充実してました。
 最後のが手っ取り早く、近場の図書館の書庫にがばっとありそうです。
 時間が作れるときに、ちらっと覗いてみます。
 NEC98がねぇ、仕組みを知っても使えない知識だからなぁ。壁。
 やっぱり、これ1冊で、というわけにはいかないのでしょうね。

>PCに関しては書籍よりもネット上の方が多かったです。
 これは、IBM PCという意味ですよね。ネットって、Win95時代以降あたりですか?
 遅くて、インターネットを実用的な目的で使う気になれなかった、、、。
 アメリカのアマゾンから本を買えるだけで、偉大なるIT技術の進歩だとは
思ったのですが。
 今も同じ。最近のコレクションは、Tom Swan, "Mastering Turbo Assembler" (1995).
電話帳。全908ページ。



08515/08469 GST01234 10♯ Re^9: VRAMなど
( 1) 18/11/05 13:41 08514:文太さんへのコメント コメント数:1

重要なのは知識と言うよりは概念なんですよ。
8ビットのアーキテクチャ2〜3と98のそれを知ってれば、
PCの仕組みを理解するのはそれほど難しい話ではありません。
んで、矛盾するようですけど、概念というよりは感覚とか体感的なものだったりもします。
実地体験無しで理論のみで理解することに最早何の意味があるのか?とは思います。
結局我々世代で理解出来てる人間てほとんどが8ビットを物理的にいじくってたんだと思います。
98もDOS時代は仕組みとしては8ビットとほとんど違わなかったですしね。


08516/08469 CRG00666 文太 Re^10: VRAMなど
( 1) 18/11/05 15:39 08515:10♯さんへのコメント コメント数:2

 ありがとうございます。
 そこまでうまく言えませんでしたが、言葉も浮かんでいませんでしたが、同じ
ようなことを考えていました。
 何をやってるの? 俺? と。

>実地体験無しで理論のみで理解することに最早何の意味があるのか?とは思います。
 これが効いてる。

>>トランジスタ技術とかインターフェースの付録や別冊が割に充実してました。
> 最後のが手っ取り早く、近場の図書館の書庫にがばっとありそうです。
> NEC98がねぇ、仕組みを知っても使えない知識だからなぁ。壁。

 しいてピンポイントに上げれば、この部分から来てますよね、10#さんの感想。


 うーん、で、どうする?
 とりあえず、『DOS/Vプログラミング技法』をちらちらしながら、8086の本
を眺め、アセンブラの本(どっかで誰かが書いてましたが、言語でなくPCの仕組みを
理解するのが最初なのね、だから、そればかり書くよ)をちょっとは真剣に読みながら、
実用Vzマクロについて構想します。
 ありがとうございます。
 (珍しく)歯切れが悪いぶん、10#さんのお言葉は、じつに真実をついている言葉
だと思いました。

 しかし、10#さんも、8ビットやったの? もっと若いと思ってた。小学生から?
僕、大学院生が終わってから(定職なし)、初めてパソコン(NEC98)に触れたのですが。
 そういう奴が8ビットだ16ビットだと言っている。今、64ビットの時代なのくらい
は、知ってます。


08517/08469 GST01234 10♯ Re^11: VRAMなど
( 1) 18/11/05 16:26 08516:文太さんへのコメント コメント数:1

小学校時代に大学ノートにボールペンで縦線引いてハンドアセンブルとかやって遊んでましたよw

マイクロソフトCEOのサトヤナディラが嘆いてるって話なんですけど、
今時の業界の若者は基本的な原理部分に触れずに来てるので脆弱です。
8ビットとかBASICとかMSXとかは現在のITの基盤を支えるには、
非常に効果的な教材だったと言えるでしょう。

ttps://gigazine.net/news/20180203-computing-power-microsoft/


08518/08469 CRG00666 文太 Re: 画面サイズ250*80 はVZの限界?
( 1) 18/11/05 23:42 08477:konnoさんへのコメント コメント数:1

 タイトルの「画面サイズ250*80 はVZの限界?」
ですが、たまたま整理していて見つけた本に、こんな記述がありました。

 「Vzエディタの1画面の桁数が80文字以上(どっかでajaさんが指摘していた)、
行数は128行以下という制限があります」
 (『DOS/Vスーパードライバーズ32』p.183)

 黒本にはきっと記載はないでしょうけど、限界は必ずどっかにあるのだろうと思う
ので、ソースで「ここが限界」と見極められるまでは、上の記述をとりあえず参考に
しても良いのではないでしょうか。



08519/08469 CRG00666 文太 Re^12: VRAMなど
( 1) 18/11/05 23:42 08517:10♯さんへのコメント コメント数:2

>小学校時代に大学ノートにボールペンで縦線引いてハンドアセンブルとかやって遊んでましたよw
 うーん、やっぱり育ちが違うんですね。

 さて、小学校でIT(プログラミング)教育。英語も要らないと思うから、母国語と
暴力に訴えることなく意見の相違を円満に解決する言語能力、そして食育、農業あたりが
僕のオススメですかねぇ。
 好きな人が専門にやればよろし、と思うけど、とりあえず数を確保しないと偏差値が
下がるのだそうなので、英語もプログラミングも小学校に入るのでしょうね。前者はすでに。
ムダで有害だと思うけど。
 入試で会話能力だって。信じられん。受験産業・資格産業に完全に丸め込まれている。
癒着でしょう。
 学校教育はおいておいて、コンピュータに純粋な喜びが見出せない人が増えているのか。
マイクロソフトのせいじゃないのかなぁ? とか思う。
 見栄えばっかり、要らない機能ばっかり、、、。
 やっぱり知的な喜びが根本にあると思うのだけど、、、僕が言っても説得力がありませんが。



08520/08493 BQO00549 konno Re^4: 備忘録 VTDOS と pkxarc
( 1) 18/11/05 23:49 08508:10♯さんへのコメント コメント数:1

> pkxarc はVTDOSが用意した環境変数を処理しきれないようですな。

なんと!! 環境変数が原因でしたか。
メモリ不足の意味は、pkxarc の環境変数領域の不足だったということですね。

> 試しに $xset =clear を実行後にpkxarcを起動すると動作するようです。

VTDOS.TXT に載っていましたね。読んでいませんでした。
入れてみたらバッチリ動きました!! ありがとうございます。

> VTDOSはwin32の環境変数を全て引き継ぐため、不要な環境変数と削除するか、
> autoexec.batの頭で $xset =clear をカマして、環境変数を全部設定するとかしたほうが、
> 使い勝手はいいかも知れません。

前からwin32の環境変数は多すぎるので懸念を抱いていましたが、これでスッキリしました。
これからはこの設定で行きます。



08521/08493 GST01234 10♯ Re^5: 備忘録 VTDOS と pkxarc
( 1) 18/11/06 00:02 08520:konnoさんへのコメント コメント数:2

これおそらくなんですけど、Lattice C 3.0 でコンパイルされたヤツが全部対象になります。


08522/08469 GST01234 10♯ Re^13: VRAMなど
( 1) 18/11/06 00:23 08519:文太さんへのコメント コメント数:1

まあ、公教育とか、ITの現状とかはさておき、です。
僕が子ども時代に8ビットパソコン以上にテンション上がるものはありませんでしたよ?
既にPCが道具だった人にとっては道具以上でも以下でも無いでしょう。
でも、マイコンって未知のものが世の中に出てきて、それを扱ったときに得られる体験は唯一無二のものでした。
ITが普通にある世界に生きてく子どもに必要なのはこの衝撃なんじゃ無いかな?って思ってます。
今時の子どもだってMSXでBASICのリスト打ち込んで走ったらめちゃくちゃ感動するんですよ。
僕はパソコンに触れることが無ければ数学も英語も学ぶ理由は無かったですよ。
こんな道具が最優先になるって大人になってからはあり得ない話で、
おそらく小学生の頃に触っておくのが一番いいんじゃないかな?って思います。
そう考えると僕の世代は幸運だったのかもと思います。


08523/08493 BQO00549 konno Re^6: 備忘録 VTDOS と pkxarc
( 1) 18/11/06 00:49 08521:10♯さんへのコメント コメント数:1

> これおそらくなんですけど、Lattice C 3.0 でコンパイルされたヤツが全部対象になります。

そういえば、そんなコンパイラが有りましたね。ということは、pkxarc はそれでコンパイル
しているということですね。
DOS時代には環境変数領域が充分であっても、今のWindowsは大量に使ってますからねぇ。
ということは、環境変数を取り込んでいるソフトは皆対象になるのではないですか。



08524/08493 GST01234 10♯ Re^7: 備忘録 VTDOS と pkxarc
( 1) 18/11/06 00:59 08523:konnoさんへのコメント コメント数:1

それは何とも言えないですね。
メジャーなコンパイラーはスタートアップルーチンが環境変数の処理を行ってるんですけど、こういった問題がないものもあります。
例えば、VTDCMDは Turbo C でコンパイルしてますけど、これは問題ありません。
あと、command.com の set は長い環境変数やWindows特有の、特殊な文字を含む環境変数を処理出来ないとか、いろいろあるようです。
そういった試行錯誤の為に用意したのが $xset =xxx の一連のヤツです。


08525/08469 BQO00549 konno Re^2: 画面サイズ250*80 はVZの限界?
( 1) 18/11/06 01:30 08518:文太さんへのコメント コメント数:1

>  「Vzエディタの1画面の桁数が80文字以上(どっかでajaさんが指摘していた)、
> 行数は128行以下という制限があります」
>  (『DOS/Vスーパードライバーズ32』p.183)

この本は持ってないですが、桁数と行数、もしかして逆とかじゃないですか?
80*128=10240=$2800 なんですかね。
250*80=20000=$4E20 で、この設定ではまともに動かないようなので、これ以下なのかな。

160*44=7040=$1B80 は普通に使っています。10# さんの環境は option.lst を見ると
WD250 We250 LC59 とあるので
250*59=14750=$399E のようですが、これで問題ないなら、この上に限界があるのかなぁ。

桁数は、1バイト256 なので、255桁以上は何か制限が出るような気はします。
行数80 は、うーん、わかりません。



08526/08493 BQO00549 konno Re^8: 備忘録 VTDOS と pkxarc
( 1) 18/11/06 01:39 08524:10♯さんへのコメント

> メジャーなコンパイラーはスタートアップルーチンが環境変数の処理を行ってるんですけど、こういった問題がないものもあります。
> 例えば、VTDCMDは Turbo C でコンパイルしてますけど、これは問題ありません。

なるほど。例えば一旦全部読み込むルーチンなら、溢れてエラーになるでしょうね。
検索や逐次読み込みなら問題ないとか。

> あと、command.com の set は長い環境変数やWindows特有の、特殊な文字を含む環境変数を処理出来ないとか、いろいろあるようです。
> そういった試行錯誤の為に用意したのが $xset =xxx の一連のヤツです。

色々細かい設定が出来るようにしているんですね。
今回の設定で、環境変数はほぼ問題なくなるかと思います。
ありがとうございます。



08527/08493 CRG00666 文太 Re^6: 備忘録 VTDOS と pkxarc
( 1) 18/11/06 01:54 08521:10♯さんへのコメント

藤木文彦
https://ja.wikipedia.org/wiki/%E8%97%A4%E6%9C%A8%E6%96%87%E5%BD%A6

 面白い人です。
 この人が初期のアセンブラ本『MS-DOSマクロアセンブラ入門』『同、活用法』
の著者です。(1985, 86)
 で、Lattice C ver2.12が『活用法』で使われています(インライン・アセンブラ
の例?)

Lattice C
https://en.wikipedia.org/wiki/Lattice_C

 「IBM PC用の最初の市販Cコンパイラ。5万円(当時)。MSに買い取られ、
MSC2.0になる」など。
 Byte誌、PC Magazine誌の評価も面白い。

 藤木さんの経歴も面白いけど、Lattice社の消沈も面白いですね。
 彼の経歴をみて、なるほど、と思った。筋が通せる書き方がしてあって、これは
読める、読ませる、と思ったのです。擬似命令の説明は、事実の羅列ですが、
こういうのは暗記するしかないよねぇ。誰がやっても面白く説明できるわけがない。

 というわけで、かなり由緒正しきCコンパイラみたいでしたよ、と。



08528/08469 CRG00666 文太 Re^14: VRAMなど
( 1) 18/11/06 02:12 08522:10♯さんへのコメント コメント数:1


>でも、マイコンって未知のものが世の中に出てきて、それを扱ったときに得られる体験は
>唯一無二のものでした。
 分かると言われたら心外でしょうけれど、「分かります」。

>既にPCが道具だった人にとっては道具以上でも以下でも無いでしょう。
 自分の仕事に誇りをもつ人は、もちたい人は、道具を愛します。道具にこだわります。
ちがうかな?

>ITが普通にある世界に生きてく子どもに必要なのはこの衝撃なんじゃ無いかな?って思ってます。
 僕は、言われる前から、今やこれが難しいのではないかと思ってました。
 時代とか環境とか条件とか。
 子どもは大人の欲望の先をみているのかも。夢のない話ですが。
 分からないけど、その感動は容易には再現されない気がします。文明全般に否定的な
僕がいうと、ますます信憑性がありませんが。

>今時の子どもだってMSXでBASICのリスト打ち込んで走ったらめちゃくちゃ感動するんですよ。
 そうあって欲しい! Vzマクロもやるんだよ。すごいよ、これも。
 結局のところ、パソコンの心臓にアタックできるのだから。

>おそらく小学生の頃に触っておくのが一番いいんじゃないかな?って思います。
 感動してくれればなんでもいいです。教育が感動を奪っている気がする。ほっとけばいい
んだ。そしたら、マイコンに感動する奴、野菜の生命に感動する奴、アメリカがかっこよく
見えて仕方なくて、そんな自分がかっこいいと思える奴が、けんかしたり仲直りしたりする
ふつうの学校になる、ような、気は、しないな。
 学校なんかやめちゃえ、どうせ社会的選別と階層化の道具にしかすぎない、
と、たぶん、思って、ます。

 偉そうですが、とっても、いい文章でしたよ。じーんとほんわか。
 通じました。暖かい。サンクス、マイフレンド。



08529/08469 CXB00940 としき Re^7: VRAMなど
( 1) 18/11/06 02:43 08512:文太さんへのコメント
参照先:http://toshiki.la.coocan.jp/

> >メモリーの値段が高かった8ビット時代はグラフィック表示を持たないことも珍しくありませんでした。
>  TEXT-VRAMはあるが、Graphic-VRAMはない、と。

そもそも、本当の初期はVRAMは一つだけ。
そして、そのVRAMにはバイトが格納されている。
ま、普通、文字コードですよね。
でも、そのバイトデータを修飾することによって、文字以外を表示させたり、なんて技術も
あったりしたのですよ。アトリビュート、って言い方をしていたと思いますが、英語の
ニュアンス的なものは文太さんにもなんとなくわかると思います。
それを使うと、1文字分(1バイト)で8ドット(2x4ドット)を表現できるわけです。
すなわち、横160ドット、縦100ドットという、What's high-definition! (ぉぃ)

まぁ、その後、8ビットマシンも発展していったわけで。
後期には、スプライトだのなんだので、グラフィックをぐりぐり動かしていたりしました。
同時にいくつ動かせるだのなんだの、競っていたなぁ。

> >あと、昔の人も雑誌だけ読んでいた訳では無く、体系的な本も出てましたよ。
>  書名は記憶にありますでしょうか。パソコンにおける画面表示の仕組み、という主題の書籍ですが。
>  8bitパソコンから16bitパソコンまでの射程でよいのですが。

16ビットマシンの書籍に関しては、量が多すぎるというか、私もぜんぜん把握していません。
8ビットマシンについては、10♯さんの紹介されているものの他に、電波新聞社や工学社が
各機種ごとに「活用研究」というタイトルの本を出していました。これらの本、もっぱら
営業的な理由だと思いますが、半分以上はゲームのソースリスト。でも、一番後ろのほう、
ほとんど付録程度の量ですが、技術資料が掲載されていたりして、これがわりと役に立った
という記憶があります。

>  グゥーーーーーード・モーーニング、ヴィエトナム。(気にしないでください。芸能ネタです。)

エセ国粋主義者としては、東京ローズが一押し。いえ、なんでもありません。気にしないでください。


08530/08469 CXB00940 としき Re^11: VRAMなど
( 1) 18/11/06 02:49 08516:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> >実地体験無しで理論のみで理解することに最早何の意味があるのか?とは思います。
>  これが効いてる。

これはつまり、実地に体験するにあたって、理論を知っていることはアドバンテージ
になりうる、ということだと私は思っています。この点、10♯さんと意見が一致して
いるのか相違があるのかわかりませんが、それはともかく。
もし仮に、文太さんがこの先もいろいろと経験を積もうとするのであれば、理論は
あって邪魔になるものではない、というのが私の意見です。

といいつつ、私、昔、文太さんに「経験を過剰に重視しすぎている」というような
意味のことを言われたことがあるようなないような。
ついでに言うと、みなさんお分かりだと思いますが、私よりは10♯さんのほうが
はるかに経験値は高いと思う。例えば、私がハンドアセンブルで遊んでいたのは、
大学の学部生のころだし。大学の先生に怒られそうですが、授業中に、いわゆる
内職というやつで、一生懸命クロックサイクルを数えて手作業で最適化を図って
いたのはいい思い出です。


08531/08469 CXB00940 としき Re^13: VRAMなど
( 1) 18/11/06 02:50 08519:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

>  好きな人が専門にやればよろし、と思うけど、

その点は同感なんですがね。
でも、裾野が広くないと、高い山はできないんですよ。
だから、小学校では、音楽とか図工とか体育とかがある。
いずれも苦手だった私ですが、現在は、存在理由を理解できたというか、カリキュラム
として教えることは仕方のないことだと思っています。
おそらく、プログラミングも、それらと同列なのかもしれません。

> コンピュータに純粋な喜びが見出せない人が増えているのか。
> マイクロソフトのせいじゃないのかなぁ? とか思う。
>  見栄えばっかり、要らない機能ばっかり、、、。

マイクロソフトに、少なくとも責任の一端はあるかもしれません。
でも、すばらしい見栄えを作り出せるコンピュータに感動する人も多いのですよ。


08532/08469 CXB00940 としき Re^15: VRAMなど
( 1) 18/11/06 02:50 08528:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

>  そうあって欲しい! Vzマクロもやるんだよ。すごいよ、これも。
>  結局のところ、パソコンの心臓にアタックできるのだから。

結局、Vzマクロって、テキストというか、基本的に文字しか扱えませんからねぇ。
もっと、絵とか音とかでパソコンの心臓にアタックできるもののほうが子供には
受けると思う。例えば、スマホのアプリとか。

>  分からないけど、その感動は容易には再現されない気がします。文明全般に否定的な
> 僕がいうと、ますます信憑性がありませんが。

む、文太さんが偽悪者モードに入っている。
本当に文明全般に否定的なら、パソコンやらマクロやら、使うわけがない。
ということは、ここは反語構文と理解するべきところなのでしょう。

それはさておき。
子供がどんなことで感動するかというのは、大人にはわからない部分があります
からねぇ。サッカーと野球とどちらが好きになるか、みたいな感じで。
人の迷惑にならなければなんでもいい、と突き放してみる大人も多いようだし。
この辺、実は半分くらい文太さんと似たような気持ちだったりします。


08533/08469 GST01234 10♯ Re^12: VRAMなど
( 1) 18/11/06 10:02 08530:としきさんへのコメント

対象に触れつつ内省する、対象と対話するのが物事を理解するのに最適ですね。
学習曲線とかも。
それが次の知見に繋がったりとかするんじゃないですかね?

08534/08469 GST01234 10♯ Re^14: VRAMなど
( 1) 18/11/06 10:07 08531:としきさんへのコメント コメント数:1

> だから、小学校では、音楽とか図工とか体育とかがある。

体感に基づくアクティビティーと創造性は繋がってる気がします。
発想ってロジックじゃないっていうか。
生産性と創造性って両輪ですよね。


08535/08469 CRG00666 文太 Re^3: 画面サイズ250*80 はVZの限界?
( 1) 18/11/06 14:49 08525:konnoさんへのコメント コメント数:1

>この本は持ってないですが、桁数と行数、もしかして逆とかじゃないですか?
>80(文字以上)*128(行以下)=10240=$2800(???可変)
wd*lc=
 え?
 桁数=wd、
 行数=lc、
 でいいですよね?
 実際にはできてます、その本の記述の信憑性は? という点について、僕には
意見がありません。総じて、無理はしない、という方針なので。

 24インチ・ディスプのWinMEでは、120*40くらいで十分かな、と落ち着きました。
 フォントを大きくする(老眼)が、大きな課題。
 RGBケーブルの破損が色ずれ(青かった)の原因と判明させるのに、4日
かかりました。


08536/08469 CRG00666 文太 Re^14: VRAMなど
( 1) 18/11/06 16:23 08531:としきさんへのコメント コメント数:1

 言ってること違うのでしょうけど、

>でも、裾野が広くないと、高い山はできないんですよ。
 この発想嫌い。一部のエリートを作るために、多くの下々の者に
犠牲になれといっているみたい。だとしたら、そんなエリート、要らないと
思う。大半の人びとは彼らがいなくても、困らないから。いると逆に困る。

>だから、小学校では、音楽とか図工とか体育とかがある。
 はい、でも世界的音楽家や芸術家やスポーツ選手を生み出すために
それらの科目があるわけではあるまい、と思います。

 ま、偽善者です、うふふふ。



08537/08469 CRG00666 文太 Re^16: VRAMなど
( 1) 18/11/06 16:35 08532:としきさんへのコメント コメント数:2

>もっと、絵とか音とかでパソコンの心臓にアタックできるもののほうが子供には
>受けると思う。例えば、スマホのアプリとか。
 間違いなく。そして現実化している。困ったものだ。

 程度問題ですが、そこまで技術が高度になってブラックボックスになったら
原理を【考える】ってなるのかしら。そうなっても、大変だよ。

 銀座や渋谷のイルミネーションにキャーキャー言うの、いつまで続けられるのだろう?
当然、売る側は見栄えをどんどん変えていきますよね、それしかないから。
 見栄えの違いだけを感知するように育てられませんかね。
 困ったものだ。偽善者より。

 もっとも微分・積分・行列(数2B? 受験科目にあらず)を、もう少し
見栄えよく教えてくれていたら、少しは興味をもったかもしれないですね。
 うん、あれは知的好奇心をまったく振るわせなかった。何をやっているのだか? と
思っていた。その後、何をやるにも基礎の基礎らしいと知ったのだけど。
 何にもしないから大丈夫、とさらに後になって知りました。
 知れることは高々しれてる。好きなことをやらせてください。やらせてあげて
ください。人生は我慢比べではないはず。



08538/08469 CRG00666 文太 Re^4: VRAMなど
( 1) 18/11/06 16:40 08501:10♯さんへのコメント コメント数:1

 どこに行っていいのか、繋げていいのか、分からない。
 とりあえず、ここで失礼します。m(__)m
 (調子いいぞ、vtdos、落ちない。今日はぜったい落ちると思ってたのだけど。
3時間以上、連続で使ってます。)


seg:
C000 --------------------------------
   | カラーテキストVRAM (32KB)  |
B800 | ------------------------------|
   | モノクロテキストVRAM (32KB) |※
B000 | ------------------------------|
   |                |
   |  グラフィックVRAM (64KB)  |※※
A000 --------------------------------
 ※日本語モードでは不使用。UMB or (1024x768以上高解像度)で
  拡張グラフィックVRAMとして使用することあり。
 (杉浦明美他『DOS/Vプログラミング技法』p.22)
 ※※ ここに$font.sysがフォントを展開、$disp.sysが「展開
  しといたよ」との情報を受け取り、描画。

>疑似VRAMは書き込んだ後に、その書き込んだ領域をAPIでドライバーに知らせることで、
>初めてG-VRAMに描画されて画面に表示されます。(#8501)
 あれ、擬似VRAMはどこへ行ってしまったの? 違うところにあるの?
 「カラーテキストVRAM」が「擬似VRAM」のことなんだ。おどおど、この仮説に1票。
 根拠:「AT互換機には(上のように)128KBの表示用VRAMが用意されています。この
     領域はメインボードではなく、装備するビデオボード上にあります」
     (p.22)

C:\>vmap
VMAP Version 2.01  Copyright (C) 1989-91 by c.mos

addr PSP  blks   size  owner/parameters           
---- ---- ---- ------  -------------------------  
FE01-FF00   1    4080  <free>
 ☆ ここにEMS frame?
                       --- UMB total:   4 KB ---
1001 10ED   3   20384  command                    
14FE        1    2160  <free>
1587 <--    1    1648  vwx 1.08b -z2 -l6144 -x1   
15EF <--    1      48  vkeyc                      
15F3 <--    2  191280  vz 1.60t -z                
44A8-9FFE   1  374112  <free>
 ☆ A000-C000ってここ? しかしUMBって、どうしてvmapは上に記載するの?
 ☆ というか、こっちか(EMS frame)
----- EMS ver4.0 (frame: C000h) -----

 ちょびっとだけ前進?
 ここのところの過去ログが読めるようになるのかな? なってないぞ。

 もう少しいけるぞ。PK, DCの過去ログに和生さんがいっぱい。
 NEC98の壁、ふたたび、、、。実機、もうないのよ。手に入れる気もないのよ。



08539/08469 GST01234 10♯ Re^17: VRAMなど
( 1) 18/11/06 16:58 08537:文太さんへのコメント コメント数:1

画面に直線を引くアルゴリズムがデジタル微分解析と言って分数の微分を使ってますね。
今ではGPUの仕事ですけど、昔はCPUの仕事でした。
ウィンドウズにもLineDDAというAPIがあります。
円を描くのは三角関数。
音声や映像の圧縮に用いるフーリエ変換などは行列演算の一種ですね。
応用から入っていけばなんてことない話ではあります。

08540/08469 CXB00940 としき Re^15: VRAMなど
( 1) 18/11/06 18:28 08536:文太さんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/

> >でも、裾野が広くないと、高い山はできないんですよ。
>  この発想嫌い。一部のエリートを作るために、多くの下々の者に
> 犠牲になれといっているみたい。だとしたら、そんなエリート、要らないと

あぁ、そう捉えましたか。
うん、まぁ、確かに、そう捉えられても仕方ない表現を、私はしていますね。
でも、私が考えていたのはそういうことではなくて。
う〜ん、適切な表現が見つかるかな。
見つからなかったからああいう表現になったわけなんですけど。

えと、私の誤解を招いた(招きやすい)表現では、一人ひとりが積み重ねられた、
というイメージがあるかと思います。要は、一人ひとりが垂直方向、という感じ。
縦に切ると一億人の血が流れる、というか。だから、下のほうの人は上にいる人
に踏みつけられているというように捉えられても仕方ないかもしれません。
でも、私の考えたのは、一人ひとりが水平方向というか、平面的に分散している
というイメージだったのですよ。すなわち、一人ひとりの能力が縦に伸びる、と
いうイメージ。だから、縦に切っても血は流れない。むしろ、横というか水平に
切ると血が流れる、というイメージ。
こういうイメージで考えたので、例えば、山梨と静岡をあわせたくらいの面積の
裾野と、猫の額くらいの広さの裾野を考えた場合、どちらが高い山を作れるか、
という発想になりました。
つまり、全ての子供に教育を授けるのか、それとも、当たるかどうかわからない
博打にかけて、恣意的に少数の子供を選択して教育を授けるか、という脳内比較
だったのです。

> >だから、小学校では、音楽とか図工とか体育とかがある。
>  はい、でも世界的音楽家や芸術家やスポーツ選手を生み出すために
> それらの科目があるわけではあるまい、と思います。

その点については同意。
でも、それらの科目の目的としては異なるかもしれませんが、結果的に、世界的
な何者かが生み出される可能性もあるわけです。なので、いわゆるエリート育成
が目的の英才教育なんぞにリソースをかけるのであれば、全ての子供たちに教育
を授けるほうがよいのではないか、というのが私の中の結論なのです。


って、いろいろあとづけしていますが。
実は、そうでも考えないと、その手の才能が全くなかった私の時間を返せ、とか
言い出しかねないもので。
とりあえず、私は偽善者を気取るつもりはないのですが、もしかするとその分、
私のほうが偽善者度合いは高かったりして。

08541/08469 CXB00940 としき Re^17: VRAMなど
( 1) 18/11/06 18:51 08537:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

>  銀座や渋谷のイルミネーションにキャーキャー言うの、いつまで続けられるのだろう?
> 当然、売る側は見栄えをどんどん変えていきますよね、それしかないから。
>  見栄えの違いだけを感知するように育てられませんかね。

いや、あれらって見世物ですから。見栄えが一番。
でも、例えば自動車。
デザインも重要ですが、性能なんかを無視していいものではないですよね。
あるいは、WEBサイトのデザイン。
閲覧者に、いかに理解してもらうかということを日々研究している人たちもいる
わけです。あるいは、お問い合わせページだとか通販サイトだとか、UIの重要な
部分にかかわってくるのがデザインです。
単体のソフトウェアでも、UIは重要ですし。

>  もっとも微分・積分・行列(数2B? 受験科目にあらず)を、もう少し
> 見栄えよく教えてくれていたら、少しは興味をもったかもしれないですね。

この点は、まさに同感。
いや、私の場合は高校時代の英語の授業を想起しました。
リーダーの先生もグラマーの先生も、軽音楽というのかフォークソングのような
ものをやられている方々だったせいで、音楽好きの生徒たちのハートはしっかり
キャッチ。でも、そっち方面の音楽に興味のないわたしはほとんどスルー。

でも、なにか目的があれば、必要性に迫られてマスターするのですよ。
コンピュータに喋らせたくて言語学の勉強を始める、とか。
コンピュータにもっと速く答えを出させたくて行列式とか確率論の勉強を始める、
とか。


08542/08469 GST01234 10♯ Re^16: VRAMなど
( 1) 18/11/06 21:05 08540:としきさんへのコメント コメント数:1

まあそれほどややこしい話で無くても、興味の湧かない知識に意味が無い訳では無いので、
つまらん公教育が無意味な訳では無いですな。
むしろそういった、一般教養の類は社会化の一環と捉えるべきかな?と。
お互いの共通認識をあらかじめ用意しておくことで相互の接点を持つことが出来る。
公教育の需要ってどっちかというとそれですよね。

でも、子供時分に個人を形成するほどのインパクトってのは固有の物なんだろうとは思います。
僕にとってのパソコンはその時点から誰とも話題を共有出来るものではありませんでした。


08543/08469 BQO00549 konno Re^4: 画面サイズ250*80 はVZの限界?
( 1) 18/11/06 22:00 08535:文太さんへのコメント コメント数:2

> wd*lc=
>  え?
>  桁数=wd、
>  行数=lc、
>  でいいですよね?
>  実際にはできてます、その本の記述の信憑性は? という点について、僕には
> 意見がありません。総じて、無理はしない、という方針なので。

あ、あくまで確認の意味だったのですが、VZの限界というには納得できない数字
だったもので。行数128は無理っぽい気はしますね。
もしかしたら、そのドライバー使用上の限界だったりして。
桁数は、実際にはもっと広い画面で使っているので、その数字に意味を感じないですが。

>  24インチ・ディスプのWinMEでは、120*40くらいで十分かな、と落ち着きました。
>  フォントを大きくする(老眼)が、大きな課題。

げげ、うちのノートは15インチで、この間まで158桁41行で使っていました。
さすがに文字が見えづらくなって、今は126桁33行です。ほぼ全画面。
ちょっと狭苦しく感じるので、24インチはうらやましいのですが、その大画面で
120*40 ですか・・・



08544/08469 CXB00940 としき Re^15: VRAMなど
( 1) 18/11/06 23:25 08534:10♯さんへのコメント
参照先:http://toshiki.la.coocan.jp/

> 体感に基づくアクティビティーと創造性は繋がってる気がします。

直感的には、まさにおっしゃるとおりだと思うのですがね。
少なくとも、自分の実体験としての実感は乏しいの。(泣)


> 発想ってロジックじゃないっていうか。

でも、そのひらめきを自分以外に理解してもらうためには、何らかの形で表現する
必要があって。そして、効果的なコミュニケーションのためには、ロジカルな表現
が必要だったりするわけで。
やっぱり結局のところ、一本足では直立し得ないという感じ。


> 生産性と創造性って両輪ですよね。

おっしゃるとおり。
両方があって、有効なアウトプットが得られると思います。


08545/08469 CXB00940 としき Re^17: VRAMなど
( 1) 18/11/06 23:26 08542:10♯さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> むしろそういった、一般教養の類は社会化の一環と捉えるべきかな?と。

あぁ、なるほど、#8519で文太さんのお薦めされている分野というのは、実は既に
形を変えて導入済みというわけですか。なるほど、理解できます。


> でも、子供時分に個人を形成するほどのインパクトってのは固有の物なんだろうとは思います。
> 僕にとってのパソコンはその時点から誰とも話題を共有出来るものではありませんでした。

人によって、UFOとか超能力とか、漫画とかアニメとか、文学歴史の30とか、
まさに様々。とりあえず、固有といってもあまり視野が狭くなってほしくはない。
あと、あまり世間様に迷惑もかけてほしくはありませんが、世間様に迷惑をかける
くらいでないと、いっぱしの大物にはなれないような気もしていて。
まぁ、一貫性に欠ける(純粋さを失う)というのが大人というものの条件かもしれません。


08546/08469 CRG00666 文太 Re^5: 画面サイズ250*80 はVZの限界?
( 1) 18/11/06 23:57 08543:konnoさんへのコメント コメント数:3

>  「Vzエディタの1画面の桁数が80文字以上(どっかでajaさんが指摘していた)、
> 行数は128行以下という制限があります」
>  (『DOS/Vスーパードライバーズ32』p.183)■追記:<--1994年の本

 桁数は80文字以上(79文字以下はダメ);250字か255字かの上限あり(注)
 行数は128行まで

 これでどうですか?

>桁数は、実際にはもっと広い画面で使っているので、その数字に意味を感じないですが。
 上限は書いていないと思うのですが、、、。

>VZの限界というには納得できない数字だったもので。行数128は無理っぽい気はしますね。
 現実的な視認性という意味では、今の時代の大画面でも、128行は無理でしょう、と僕も
思いますけれど。

 試しはしませんけれど、仮に128行までVzに可能なのだとしたら
100*128=12800=$3200	;試し算
120*128=15360=$3C00	;120字、いけるか?
250* 59=14750=$399E	;10#さんの例
 なのかもしれませんね?

 まったく魅力的ではないですが、この本の最初に、SD32 Art Galleryという画面を写した
写真があって(Vzをいっぱい使ってます。開発者たちはVzerだったのでしょう)、
70行ぐらいのVz画面を映した写真があります。桁は、おそらく170〜180字くらいかな。
170*70(解像度1600x1200, 16ドットフォント)

 ちょうどvtdosで見るVzみたいな見栄えです。Windowsじゃないので、デスクトップが端
から見えたりはしませんけれど。黒の全画面の左側にファンクションキーラベルが極端に
寄っています。X軸距離(!)の半分以下。
 書籍の書き方からして、ドライバの制限のようには思えませんでした。詳細不明ですが。


 WinMEは、僕の目の位置と画面が遠いせいもあります。手元に本を置かなければいけないし、
キーボードも2台。目からディスプレイまで60センチから70センチぐらい離れています。
うーん、と考え込んで頭を後ろに倒すと、80〜90センチ?
 あと近視・乱視・老眼が入りまくってます。しばしば「:」と「;」の区別がつきません。
ラベルジャンプで困ること多し。
 机の上の左に27インチ(Win7)、右に24インチ(WinME)ディスプレイという贅沢と
いうか悲しいというか、な書斎環境。こうなると本棚の移動が必要な理由、わかるでしょ。
机からディスプレイ、はみ出してまーす。

 株のトレーダーでなくても、こんなことして資料をいっぱい広げて作業してる人を
見かけたので、今回思い切りましたが、何をやっているのだか、とは思います。
 気持ちとしては、まだ落ち着けませんが、でも、そのうち慣れるでしょう。

(注)
--- dseg.map ---
58	fsiz		db	?	; WE field size, <byte値>

--- vzmacro.shd ---
 WD  *   デフォルトの表示カラム数
   (80)  <2〜250>  fldsz
 We  *   編集中のテキストの表示カラム数
   ($WD) <2〜250>  fsiz  wa.57
   初期値は WD に設定される



08547/08469 CRG00666 文太 Re^18: VRAMなど
( 1) 18/11/07 00:09 08539:10♯さんへのコメント コメント数:1

>画面に直線を引くアルゴリズムがデジタル微分解析と言って分数の微分を使ってますね。
 餅は餅屋でしょう。適材適所。分業の美なり。
 必要にならなくてよかった。進路・職業の選択に間違いはなかったようで、よかった。



08548/08469 CRG00666 文太 先生の趣味とUI
( 1) 18/11/07 00:12 08541:としきさんへのコメント コメント数:1

>リーダーの先生もグラマーの先生も、軽音楽というのかフォークソングのような
>ものをやられている方々
>そっち方面の音楽に興味のないわたしはほとんどスルー。
 言葉ってねぇ、文化がべったりついてくるの。つまり先生の趣味がべったり。
合わないとつらいよね。
 そして、なぜかロックやフォークに興味がないとイケナイ存在になっている。
 演歌の、サブちゃんの、アキちゃんの、どこがいけないと言うのか。俺はトラック
野郎だ、文句あっか、とか。不良になる。

 UIは大事です。でも、無骨なVzでも、その価値が分かれば好きになれます。


08549/08469 GST01234 10♯ Re^18: VRAMなど
( 1) 18/11/07 00:14 08545:としきさんへのコメント コメント数:1

> 人によって、UFOとか超能力とか、漫画とかアニメとか、文学歴史の30とか、
> まさに様々。とりあえず、固有といってもあまり視野が狭くなってほしくはない。

この辺りはあえて生産性の低そうなことを例示してると思われますけど、
それでもそれらに関するスキルを極限まで持ってってそれで飯喰ってる人はざらにいますしね。

> あと、あまり世間様に迷惑もかけてほしくはありませんが、世間様に迷惑をかける
> くらいでないと、いっぱしの大物にはなれないような気もしていて。

大物になったとしてもインチキ宗教とかはアカンかなとは思います。

> まぁ、一貫性に欠ける(純粋さを失う)というのが大人というものの条件かもしれません。

そして非論理的になっては僕の業界では生きていけなくなったりとかもしますね。
この辺りはある世代を境に大人の定義が変ってくる気がします。
あるいは、一貫的な世界とそうで無い世界の分断というべきかな?


08550/08469 GST01234 10♯ Re^19: VRAMなど
( 1) 18/11/07 00:24 08547:文太さんへのコメント

> >画面に直線を引くアルゴリズムがデジタル微分解析と言って分数の微分を使ってますね。
>  餅は餅屋でしょう。適材適所。分業の美なり。
>  必要にならなくてよかった。進路・職業の選択に間違いはなかったようで、よかった。

ちなみに僕がこの事例で初めて微分に触れたのも小学校の頃でなんですけど、
プログラミングってのはアルゴリズムを実際に組み立てて再現できるので、
数学の応用と理論を行き来できる、という形で学習曲線をブースト出来るってことあります。
物事の理解を深めやすい、ってことでもあると思うんですけど、
これ、コンピューターに関して言うなら「習うより慣れろ」って金言がそのまんまなんですよね。
プログラミングをやればコンピューターは理解出来ます。

08551/08469 GST01234 10♯ Re^5: 画面サイズ250*80 はVZの限界?
( 1) 18/11/07 00:42 08543:konnoさんへのコメント コメント数:2

24インチだと60行ぐらいは出せませんか?

08552/08469 GST01234 10♯ Re^6: 画面サイズ250*80 はVZの限界?
( 1) 18/11/07 00:45 08546:文太さんへのコメント

ああそっか。
僕の場合コロンとセミコロンとかカンマとピリオド間違えても文法エラーで弾かれるだけですけど、
相手が人間の場合は文字を視認できてないとそのまんま誤植になっちゃいますね。

08553/08469 BQO00549 konno Re^6: 画面サイズ250*80 はVZの限界?
( 1) 18/11/07 01:01 08546:文太さんへのコメント コメント数:1

>  桁数は80文字以上(79文字以下はダメ);250字か255字かの上限あり(注)
>  行数は128行まで
>
>  これでどうですか?

げげ!!
80「以上」を見落としていました。すみませんでした。m(__)m

画面最大値の話の流れだったので、最大80? と思い込んでしまいました。
最近こういう思い込みが増えたような。老化現象でしょうか。
気を付けます。m(__)m

> 70行ぐらいのVz画面を映した写真があります。桁は、おそらく170〜180字くらいかな。
> 170*70(解像度1600x1200, 16ドットフォント)
>  書籍の書き方からして、ドライバの制限のようには思えませんでした。詳細不明ですが。

当時のディスプレイは15インチくらいが主流だったように思うので、今のノート並みか。
文字が凄く小さくなりますよね。特に縦に潰れたフォントは見づらそう。

>  WinMEは、僕の目の位置と画面が遠いせいもあります。手元に本を置かなければいけないし、
> キーボードも2台。目からディスプレイまで60センチから70センチぐらい離れています。
> うーん、と考え込んで頭を後ろに倒すと、80〜90センチ?
>  あと近視・乱視・老眼が入りまくってます。しばしば「:」と「;」の区別がつきません。

なるほど、月と太陽が見た目は同じ大きさに見えるのと同じですね。(^^;
でもなんか、うらやましい・・・


# もうろくじいは隠居だなぁ(;_;)



08554/08469 BQO00549 konno Re^6: 画面サイズ250*80 はVZの限界?
( 1) 18/11/07 01:07 08551:10♯さんへのコメント コメント数:1

> 24インチだと60行ぐらいは出せませんか?

あれ? これって、文太さんへのコメント?
うちの最大は22インチで、今使えないのです。

ついでに聞いてしまいますが、10#さんのディスプレイ環境は
どんな感じですか?



08555/08469 CXB00940 としき Re: 先生の趣味とUI
( 1) 18/11/07 01:09 08548:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

幸い、というか、フォークもロックも好きではないという程度。決して嫌いではない。
聞くだけなら、レッツェもディッパも問題なし。パンクもフュージョンもOK。
でも、なぜかラップは嫌い。

>  言葉ってねぇ、文化がべったりついてくるの。つまり先生の趣味がべったり。
> 合わないとつらいよね。

教え方にもよる、というのはきっとあるはず。
2年のときのクラス担任、古文の先生でしたが、私、古文の成績はよかった。
この古文の先生もフォーク系というか、例の英語の先生方と、あともう一人か二人
ぐらいの先生と組んで、教員バンドとかいって文化祭で大人気でした。


>  UIは大事です。でも、無骨なVzでも、その価値が分かれば好きになれます。

Vzに対しては、私、無骨というよりも、機能美ともいうべき美しさを感じます。


08556/08469 CXB00940 としき Re^19: VRAMなど
( 1) 18/11/07 01:09 08549:10♯さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

> この辺りはあえて生産性の低そうなことを例示してると思われますけど、

おっと、これは意図していませんでした。
このあたりを例示した私の意図としては、とんがった、というとちょっと違うか、
あまり他の分野と交わることのない、いわゆる視野の狭くなりそうなものを考えた
ときに、私の頭の中に思い浮かんだものでした。すなわち、私の中に内在する、
ある種の偏見が表出したものと思っていただいて結構です。

> 大物になったとしてもインチキ宗教とかはアカンかなとは思います。

本人にインチキという自覚があるのは問題ですね。
でも、本人は本気の大真面目なのに、周りからはインチキに見える、というのは
往々にしてある話。
また、どちらであったにしても、教祖亡き後、信者が暴走するというのもよくある話。
むしろ、教祖が生きている間に信者を暴走させることができるか否かがインチキか
否かの境界線なのかも。あ、なんかこの、私が今でっち上げたばかりのでまかせ、
わりと正しそうな気がしてきた。とりあえず、日本の事例は棚に挙げて、最近、
アメリカで流行しているドナルド教はインチキだと、私は認定しておきます。


08557/08469 GST01234 10♯ Re^5: VRAMなど
( 1) 18/11/07 01:17 08538:文太さんへのコメント コメント数:1

> C000 --------------------------------
>    | カラーテキストVRAM (32KB)  |
> B800 | ------------------------------|
>    | モノクロテキストVRAM (32KB) |※
> B000 | ------------------------------|
>    |                |
>    |  グラフィックVRAM (64KB)  |※※
> A000 --------------------------------
>  ※日本語モードでは不使用。UMB or (1024x768以上高解像度)で
>   拡張グラフィックVRAMとして使用することあり。
>  (杉浦明美他『DOS/Vプログラミング技法』p.22)
>  ※※ ここに$font.sysがフォントを展開、$disp.sysが「展開
>   しといたよ」との情報を受け取り、描画。
> >疑似VRAMは書き込んだ後に、その書き込んだ領域をAPIでドライバーに知らせることで、
> >初めてG-VRAMに描画されて画面に表示されます。(#8501
>  あれ、擬似VRAMはどこへ行ってしまったの? 違うところにあるの?
>  「カラーテキストVRAM」が「擬似VRAM」のことなんだ。おどおど、この仮説に1票。
>  根拠:「AT互換機には(上のように)128KBの表示用VRAMが用意されています。この
>      領域はメインボードではなく、装備するビデオボード上にあります」


文太さんはわざとなのかな?と度々思います。

これは歴史的なPCのディスプレーアダプターのマッピングですね。
B000からがMDA、B800からがCGA、A000からがVGAですね。
SVGAとかXGAとかはVGAを後方に拡張してるので、
MDAやCGAの領域もフレームバッファに使うってことですね。

$disp.sysは疑似VRAMの文字コードを元に$font.sysから字体を読み込んでG-VRAMに描画します。
$font.sysはXMBかEMBにフォントファイルをキャッシュしてると思われます。

既に説明してますけど、
疑似VRAMはディスプレイドライバーが用意するもので、特定の場所ではありません。
例えば、konnoさんのDOSモバはコンベンショナルメモリーの低位にありますし、
WindowsXPのNTVDMはUMBにマッピングされてました。
VTDOSは通常F800:0とか、FC00:0あたりからマッピングしています。
文太さんもVectorからVTIをダウンロードしてご自分の環境で実行してみて下さい。


>  ☆ A000-C000ってここ? しかしUMBって、どうしてvmapは上に記載するの?
Upperだから?

>  NEC98の壁、ふたたび、、、。実機、もうないのよ。手に入れる気もないのよ。
エミュレーターであれば容易に入手可能ですよ。


08558/08469 GST01234 10♯ Re^20: VRAMなど
( 1) 18/11/07 01:29 08556:としきさんへのコメント

> あまり他の分野と交わることのない、いわゆる視野の狭くなりそうなものを考えた
> ときに、私の頭の中に思い浮かんだものでした。すなわち、私の中に内在する、
> ある種の偏見が表出したものと思っていただいて結構です。

なるほど。いわゆるサブカルという風にも言えそうですね。
確かに視野は狭そうですけど、今はその狭量なクラスターがネットって公共空間に
ひしめき合ってるのが興味深いですねw


> 本人にインチキという自覚があるのは問題ですね。
> でも、本人は本気の大真面目なのに、周りからはインチキに見える、というのは
> 往々にしてある話。

これに関しては本人に自覚が無くてもアカンのちゃうかな?とは思います。
まあ、宗教研究レベルなら問題無いかも知れませんけど、
一般的にカルトは多くの人を巻き込みますよね。(それ故にカルト)
別に宗教じゃ無くてもマルチでもなんでもなんですけど…
巻き込まれる人は大体人の良い人だったりするんですけど、それらの色んな事を破壊します。
これは無自覚であっても許容出来ませんね。


08559/08469 CRG00666 文太 Re^16: VRAMなど
( 1) 18/11/07 01:30 08540:としきさんへのコメント コメント数:1

 縦に並べるとの横に並べるのと、どっちで血が流れるか、という比喩はよく
分かりませんでした。(笑)
 メタファーは慎重に管理しないと、すぐ破綻します。

>つまり、全ての子供に教育を授けるのか、それとも、当たるかどうかわからない
>博打にかけて、恣意的に少数の子供を選択して教育を授けるか、という脳内比較
>だったのです。
 ま、僕も言葉じりを捉えたのだと思います。
 とはいえ、現実的には、個人間に能力差はあるし、どの資質が現代社会に「有用」か
で測られてしまうので(それしかないのでしょう?)、格差は必然だとは思いますよ。
 どっかで選抜がなされなければ秩序(階層秩序)もないのでしょう。
 ただ程度がねぇ。
 話、ちがうかな?

>なので、いわゆるエリート育成
>が目的の英才教育なんぞにリソースをかけるのであれば、全ての子供たちに教育
>を授けるほうがよいのではないか、というのが私の中の結論なのです。
 ただ現実はけっこうすごいですよ。驚かないかな。私学の理系は、学費が現在
年200万円ぐらいです(アメリカは倍。よって庶民はたいてい奨学金ローンを
抱えてます。40過ぎて、まだ家のではなく学生時代のローンを払ってる。そうして
トランプが勝つ。もうすぐ出ますね、大きな予想)。

 4年で800万円、6年で1200万円。出せない家はいっぱいあると思う。
 子どもが二人以上いたら(多数)、どうする?
 たぶん、無理やり仮定法で僕の親の収入とかを現在に合わせたら、僕は私学理系
には、行きたくても行けなかった(資質は問うまい)。
 国立の東工大が先陣をきって、学費を単独で値上げだって。すご。この前まで
横並びだったの。
 するいよ、こういうの、と思う。
 頭いいのか悪いのかわからないですが、このような現実を不可避の現実として、
学生さんたちは素直に受け入れているみたいです。「良かった、俺、払える家で」と。
「バーカ、お前に同じことができるわけないじゃないか」とは、言いませんけれど。

>実は、そうでも考えないと、その手の才能が全くなかった私の時間を返せ、とか
>言い出しかねないもので。
 人生、そういう経験も必要なんじゃないのかな。自分の適性を知る機会だったのかも。
 僕にだってありますよ、たぶん。ただ、手抜きとかサボリが許されていたような
気がするけど。高校2年のとき、たぶん数学、5段階評価で2だったんじゃないかな。
ぎりぎりで3かもしれないけど。好きじゃないけど、そこそこがんばったつもりだった
のに。
 でも、そこで、算数・数学は卒業! よかった。適正を知りました!

 あ、僕は、周りにあまり迷惑をかけていなければ、「お、クロック数えてるんだな」
程度で許す優しい人です。寝てたら起こしますけどね。これは感染性なのではた迷惑。
みんな我慢してんだよ、と。そうでないなら家で寝たほうが熟睡できていいよ、と。

 長くなるけど、でもね、理系なのに(差別)、電気系・機械系で、2進数も16進数
も、トランジスタもコンデンサもコイルも抵抗もCO2もメタンガスも知らない、という
のは、どういうことなのか、とこの間、深い疑問をもちました。
 受験科目が理由だけでここにいるんだ、と感じる若者が多いような気がする。
 間違いなく下っていくと思う、この国。構わないし大きな問題ではないと思いますけどね。

 A+A=14hだ。く、くそう、もう忘れてる。上の発見したとき、黒板を使って、この
暗記をしてました。だって、としきさん似のDuntemann先生が覚えろって言うんだもん。


08560/08469 GST01234 10♯ Re^7: 画面サイズ250*80 はVZの限界?
( 1) 18/11/07 01:32 08554:konnoさんへのコメント コメント数:1

> ついでに聞いてしまいますが、10#さんのディスプレイ環境は
> どんな感じですか?

自宅では24インチのWUXGAですね。
職場では20インチのUXGAと17インチSXGA縦のデュアルです。
ソースは18ドットフォントで60行ぐらい出してますけど、
ブラウザーの文字はもうちょっと大きめにしてます。

08561/08469 CRG00666 文太 Re^6: 画面サイズ250*80 はVZの限界?
( 1) 18/11/07 01:33 08551:10♯さんへのコメント コメント数:1

>24インチだと60行ぐらいは出せませんか?
 出せますけど、フォントが小さすぎるのと(たぶん7x14)、汚すぎます。
 100字x40行で、10x20のフォントサイズ。とりわけこれ以上の贅沢は言いません。
 日本語にしろ英語にしろ、画面いっぱいに字が埋まると、呼吸が荒くなって
しまいます。
 使い方がワープロなものですから。
 暇をみて、グラボをごにょごにょしてみようか、とは思ってますが、素直に
EMSが取れなくなったりするので、深みにはまらぬよう警戒しています。



08562/08469 GST01234 10♯ Re^7: 画面サイズ250*80 はVZの限界?
( 1) 18/11/07 01:41 08561:文太さんへのコメント

あー、ビデオカードが古いと24インチとかあってもFullHDとかWUXGAは出せないかも知れないですね。
ドットバイドットじゃないと文字も綺麗じゃ無いですし。

08563/08469 CRG00666 文太 Re^6: VRAMなど
( 1) 18/11/07 01:51 08557:10♯さんへのコメント コメント数:1

>文太さんはわざとなのかな?と度々思います。
 わざと何を僕はしているのでしょう?
 「度々」とは、前回は、たとえば、なんだったのでしょうか?
 後学のために、宜しければお教えください。

>これは歴史的なPCのディスプレーアダプターのマッピングですね。
 そうなのですか。

 わざと、はないんです。ただ、大きな歴史の話と目の前の問題はしばしばごっちゃになり、
ぐちゃぐちゃなことを言っているのでしょう。申し訳ございません。
 ただ、理解しずらいかもしれませんが、精一杯の実力なんですよ。
 「じゃあ、なんで今時Vzしてるの?」
 そんな人間を育んでしまう困った環境がniftyにあったからです。たぶん、いちばん正確な
回答になると思います。他人(ひと)のせいにしてる、ような気はしています。あまり
格好の良いことではございません。

 以下、よく検証させていただきます。m(__)m
>B000からがMDA、B800からがCGA、A000からがVGAですね。

>既に説明してますけど、
>疑似VRAMはディスプレイドライバーが用意するもので、特定の場所ではありません。
 でしたか。再度の説明、ありがとうございます。m(__)m
 何度も同じことを書かせてしまい、申し訳ございません。

>文太さんもVectorからVTIをダウンロードしてご自分の環境で実行してみて下さい。
 これはするべきだろうな、とは思っておりました。
 します。



08564/08469 CRG00666 文太 Re^7: 画面サイズ250*80 はVZの限界?
( 1) 18/11/07 02:19 08553:konnoさんへのコメント

>最近こういう思い込みが増えたような。老化現象でしょうか。
 ああ、通じてよかった。
 そもそも真剣に探していた情報でなかったので、いい加減を書いたのかなぁ、と不安でした。
 えと、老化してなくても生まれたときから老人レベルの人間が近くにいるばあい、konnoさん
の存在は、瞬間的癒しをもたらしておりました。失礼なの?
 いいっすよ、そのままで。

>当時のディスプレイは15インチくらいが主流だったように思うので、今のノート並みか。
>文字が凄く小さくなりますよね。特に縦に潰れたフォントは見づらそう。
 Art Galleryって言える、これ? ぐらい醜いです。ディスプレイ・ドライバーの宣伝に
ぜんぜんなってないと思う。そこまでしたいか、というのが正直な感想でした。
 技術に溺れて現実が見えてないのじゃない、と言ったらひどすぎるか。

 ギャラリーでこれいいな、と思ったのは、
 80字*30行(1024x768解像度、24ドットフォント)の画面ですね。
 情報量は、ふつうそれほど要らない。美しく落ち着かせてくれる画面を見せてください、
というのが僕の希望です。ちょっと情報量少なめだったけど、NEC98の画面。
 次回のどっかのオフで見せてあげます、ギャラリーの写真。

>なるほど、月と太陽が見た目は同じ大きさに見えるのと同じですね。(^^;
 です、です。的確な比喩。

>でもなんか、うらやましい・・・
 どの部分ですか? 27インチのディスプレイだって2万円くらいですよ、たしか。
 僕は誰かに羨ましがられる何かを持っている気はしてないのですけれど。
 僕がいちばん生産的で創造的だった(過去形かよ)とき、これが欲しかったか。少なくとも
視力がまだありましたから、14インチのノートで十分な仕事が、生きがいの実現ができてたと
思ってます。
 まだ自分に期待はしてますけどね。僕の領域は、そもそも中年の領域とされていますので。

>もうろくじいは隠居だなぁ(;_;)
 何を言っているのですか。許されません。これからkonno版Vzの本当の進化が始まるの
でしょう? 期待してますよ。Vzが限界を試されているわけですから。konnoさんに時間的
余裕もできたはずですし。どうか、ゆっくり、ゆっくりで。育ててやった文太が、お助けは
できず、、、、、、お邪魔します、あははははは。



08565/08469 BQO00549 konno Re^6: 画面サイズ250*80 はVZの限界?
( 1) 18/11/07 22:44 08546:文太さんへのコメント コメント数:1

> 58	fsiz		db	?	; WE field size, <byte値>
> --- vzmacro.shd ---
>  WD  *   デフォルトの表示カラム数
>    (80)  <2〜250>  fldsz
>  We  *   編集中のテキストの表示カラム数
>    ($WD) <2〜250>  fsiz  wa.57
>    初期値は WD に設定される

ここを忘れていました。
Wd はうちは、0 にしているので、自動的に画面幅最大になるのかな。
この数値があてにならないので、画面幅参照は、vp..13 ですね。

We は、インスタント窓で変更して、255 までは正常に動作するようですが、
それ以上の数値にすると、表示がおかしくなりますね。



08566/08469 BQO00549 konno Re^8: 画面サイズ250*80 はVZの限界?
( 1) 18/11/07 23:08 08560:10♯さんへのコメント コメント数:1

> 自宅では24インチのWUXGAですね。
> 職場では20インチのUXGAと17インチSXGA縦のデュアルです。

やっぱり大画面はあこがれますね。私は今は15インチのノートがメインなので。
場所があれば、横に2台並べるのもいいかも・・・ 将来の目標ということで。

> ソースは18ドットフォントで60行ぐらい出してますけど、
> ブラウザーの文字はもうちょっと大きめにしてます。

うちのノートも18ドットなら158桁表示で見通しがいいんだけど、文字が見えづらく
なったのが辛い所です。
フォントの大きさの違うVTDOS窓を2つ開きっぱなしで切り替えるという手もあるけど
ブラウザ窓も複数開けっ放しなのでメモリの負荷が大きくなるのがまた辛い所です。

画面サイズは切り替え出来ますが、フォントサイズは簡単に切り替え出来ないですよね。
全画面のままでフォントサイズをパッと切り替え出来たらうれしいかなとは思いますが。



08567/08469 GST01234 10♯ Re^9: 画面サイズ250*80 はVZの限界?
( 1) 18/11/07 23:53 08566:konnoさんへのコメント コメント数:1

> 画面サイズは切り替え出来ますが、フォントサイズは簡単に切り替え出来ないですよね。
> 全画面のままでフォントサイズをパッと切り替え出来たらうれしいかなとは思いますが。

コンソールの場合はシステムメニューで、になりますね。
ckwvはご自由に改変して下さい、ってことになります。
全画面のままフォントサイズを変えると文字数はどうなるとか、
それをどうやってDOSに通知するのかとかいろいろ出ては来ます。


08568/08469 BQO00549 konno CKWVで画面フォントサイズ変更
( 1) 18/11/08 01:27 08567:10♯さんへのコメント

> コンソールの場合はシステムメニューで、になりますね。
> ckwvはご自由に改変して下さい、ってことになります。
> 全画面のままフォントサイズを変えると文字数はどうなるとか、
> それをどうやってDOSに通知するのかとかいろいろ出ては来ます。

う、Win32API とか、ckwv を弄ればサイズ変更出来るという事ですか。
なるほど、勉強してみます。



08569/08469 CRG00666 文太 表示限界の話ではなく
( 1) 18/11/08 01:58 08565:konnoさんへのコメント コメント数:1

 WinMEの表示系の調教が完成しました。
 Geforce2 or 4がオンボだったのですが、嫌だなと思っていたので、昔からの
お気に入り、Matroxのボードを入れてみました。
 大した違いではないけど、十分に良いです。
 27インチと24インチのディスプレイが並立している、デイトレーダーのような
デスク周り環境になりました。

 左のWin7では、vtdosで140*43のVz風景(こっちのほうがフォントは小さくシャープ。
グラボはお仕着せなので知らない、調べない。nVidiaでしょう、きっと。もちろんオンボで
なく刺さってます。ゲーミング・パソコンらしいので)。

 右のWinMEでは、ディスプレイドライバは忘れたけど(伝統的にWin9xでVzerが使って
きた奴)+Matroxで、126*41(こっちのほうがフォントが大きい。ちょっとあった滲みも解消)。
だいたい黒いDOS画面の面積は同じくらいか、MEのほうが少し大きいか、ぐらいです。
 2GHzくらいのAthlonXPのWinMEマシン。意味不明。(参考:WinMEの高級デスクトップでも
1GHz近辺のCPUだったと思う。1GHzを超えるのは、AMDかIntelかが競われたらしい)。
自慢も何もありませんが、劇速です。この俊敏なレスポンスが好きなのです。MEもVzも。

 変な人生(書斎環境)になったなぁ、とは思いますが、アリです、これも。
 誰にそうしろと言われたのでもなく、自分で選びました。

 Vz的には、vtdosのvz.com(k07t01、両者とも)では、ci0がちゃんと効き、カーソルが
ブリンクしません(僕の好み)、MEではci0-15で全部ブリンク。嫌だな、と思っているのは
世界で僕一人だけだと思うので(こんな環境のVzerも世界で一人)、死ぬまでに、自分で
直せるようになりたいものだ、との野心を抱きました。
 く、くそう、WinMEのVzブリンクを直せないまま俺は死んでゆくのか、と眉間に皺を
寄せつつ、あっちの世界へ行くことになるのでしょう。

 avの色も少し違う。これはディスプレイの違いなのでしょう。両方av4の薄青ライン
(シャドウ)なのですが、左の大きいiiyamaが美しく、右の安物LGで薄くて安っぽい。
贅沢は言いませんし、すぐ、慣れてしまうものです。

 もう少し部屋の整理をして、まともな研究者の生活に戻りたいと思っています。m(__)m



08570/08469 CRG00666 文太 UIの話はなしで
( 1) 18/11/08 02:02 08555:としきさんへのコメント コメント数:1


>フォークもロックも好きではないという程度。
 歌詞が聞き取れる場合がある。

>レッツェもディッパ、パンクもフュージョンも
 歌詞が聞き取れないか、そもそも歌詞がない場合も多い。

>でも、なぜかラップは嫌い。
 歌詞ばっかだが、聞き取られることを期待していない場合が多い。

 語学学習としては、フォークかスローなロックでしょう。

 カシオペアのサウンドに、とおくジャズの魂や黒人の嘆きが聞き取れる場合、
努力と愛の深さによっては、英語学習に資する可能性がなくはないと思う。
 もちろん僕の知るカシオペアのサウンドに、歌詞はありません。黒人ジャズ
の痕跡も超希薄です。

>教え方にもよる、というのはきっとあるはず。
 やはり、教えてる・教わっている内容にもよる、というのも大きいと思われます。

 ただね、要らんものは要らんのです。「なしで済ます」(do without)でも
十分に幸せにやっていけると思います。なしでは済まないと思い込むと、
不幸になる場合が多いようです。たくさん犠牲者をみています。

 大学を出ると(日本国民の50%)計8年間英語を義務として学習することに
なります。習得するつもりなら、これくらいはかかると思うけど、その社会的機能が
英語の運用にあるのでなく、社会階層的な分離(選別)にあるのは、嘆かわしいこと
です。間違いなく有効に機能しているようですが、同時に多くの怨嗟と憎悪を
生んでいるみたいです。私はその犠牲者のように感じることもありますが、その怨嗟
と憎悪は誰かが引き受けなければならず、それで食っているので、文句はありません。

 でも何となく英語が必要というか「できたらいいな」という場面がこれからも
あるのなら、興味のもてる本(PC言語か通信系かOSの原理か)を英語で
しつこくしつこく読めば、やがてできるように分かるようになります(ぜったい)。
海外のフリーソフトのDOCの翻訳はもちろん有効です。『平家物語』でも同じで
しょう。(A)(注)
 僕にとってのVzソースです。(B)

 (A)と(B)でどちらが実現する可能性がまだ高いか? 答え:(A)


(注)自然言語は文化べったりなので、どのような英語か、の選択は重要です。
   ご存知のとおり、それでも、自然言語は汎用性が高すぎるので、C言語を
   英語で勉強しても、ハワイ旅行でレンタカーする際にも足しになります。
   おそらく。少しだけ。
   もう一点たいせつな点は、自然言語の習得には、原理的に、終わりがない
   ということかもしれません。これは知っておいて損はないと思う。
   我々の年齢になれば、とりわけ。永遠の未完成品をつくり続ける根性と
   諦念を、きっと身につけているから。希望的観測。でも、これ、子どもたち
   に教えちゃダメだよ。怨嗟がさらに強度を増してしまう。



08571/08469 CXB00940 としき Re^17: VRAMなど
( 1) 18/11/08 13:28 08559:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

えぇと、なんとなく歯がゆいというか、私の思っていることをきちんとお伝えでき
る自信がどんどん喪失しています。この思い、どう表現すればいいのだろう。

まず、出発点として、文太さんの#8536

> >でも、裾野が広くないと、高い山はできないんですよ。
>  この発想嫌い。一部のエリートを作るために、多くの下々の者に
> 犠牲になれといっているみたい。だとしたら、そんなエリート、要らないと
> 思う。大半の人びとは彼らがいなくても、困らないから。いると逆に困る。

ここの部分、すなわち、私の発想が嫌われているというところなんです。
で、この先、私が主張したいのは一体何か、が、私自身にわかっていない。
そんなに嫌うような発想ではありません、といいたいのか、それとも、私が自分
の考えをきちんと表現できていないから(的確な比喩でないから)誤解を与えて
います、といいたいのかすら、自分で把握できていないのです。自分自身でさえ
わかっていないのですから、他者にわかれというほうが無理。

と、ここまで自分の中で整理できたので、次に、なぜ私は、文太さんから嫌われ
るようなあの発想をしたのか、ということを考えて。
まず、私が考えるところの高い山。例として、VTDOSをつくった10♯さんを考えて
みます。最初はご自分のために作られたのだと理解していますが、ここまで高い
完成度に至ったのは、周辺の裾野であった文太さんやkonnoさんがいたおかげと、
私は考えます。でも、もし裾野の広さが今の百倍あって、ユーザ数が数千人とも
なれば、機能・性能は2倍くらいにはなっているのではないかなぁ、と思います。
#対数?

同様の例として、例えばシェークスピア。彼の周辺には裾野として、英語で上演
する劇団と、同様に英語を解する多くの観衆がいたからこそ、何百年も残る作品
を作れたのだと考えます。
逆の例は、レオナルド・ダ・ヴィンチ。彼の周囲には、機械工学や材料工学の面
において、裾野となるべき人たちがほとんどいなかった。それゆえ、後世に残る
各種のスケッチが様々な評価・批判を受けていますが、当時としての実現可能性
ははなはだ怪しいものになっている。もし彼の周囲にその方面の広い裾野があれ
ば、三十年戦争の時点で既に航空戦が行われていたりとか、スペイン無敵艦隊に
航空母艦が配備されていたりとか、ほとんどSFのような歴史が展開していたかも
しれません。

というような様々な例を頭に思い浮かべて、私は今でも、裾野が広くないと高い
山はできないという考えは維持しています。たとえ文太さんに嫌われようとも。



学費については、いろいろなお考えがあると思います。
とりあえず、教職にあるものは霞を食っていろ、という暴言を吐くつもりもない
し、ブラックな職場環境を改善するとなると、コストもかかるでしょう。それを
まかなうために個人に負担を求めて教育ローンか、公的な支出のために増税する
か、というのはデジタルな発想ですが、でも、両極端はその2つ。当然、落とし
どころはその間のどこかになるとは思いますが。
私個人としては、もし仮にその二択なら、増税を選択します。


08572/08469 CXB00940 としき Re: UIの話はなしで
( 1) 18/11/08 13:29 08570:文太さんへのコメント
参照先:http://toshiki.la.coocan.jp/

えと、いろいろとあるのですが。
最後の(注)の部分、私にとっては注釈どころでなく、一番重要な結論的な思い
だったりします。


08573/08469 BQO00549 konno Re: 表示限界の話ではなく
( 1) 18/11/08 23:26 08569:文太さんへのコメント コメント数:1

>  Vz的には、vtdosのvz.com(k07t01、両者とも)では、ci0がちゃんと効き、カーソルが
> ブリンクしません(僕の好み)、MEではci0-15で全部ブリンク。嫌だな、と思っているのは
> 世界で僕一人だけだと思うので(こんな環境のVzerも世界で一人)、死ぬまでに、自分で
> 直せるようになりたいものだ、との野心を抱きました。
>  く、くそう、WinMEのVzブリンクを直せないまま俺は死んでゆくのか、と眉間に皺を
> 寄せつつ、あっちの世界へ行くことになるのでしょう。

これは技術的には可能だと思いますよ。
逆転の発想でカーソル表示を消してしまって、アトリビュートで表示するのです。
私の自作ベーシックエデイタでもやりました。好きな色に出来るので、
見やすかったです。CKWVも同じようなことをしているのでしょう。

簡単に試すなら、和生さんとやり取りしていた、V_Line.def を試してみては。
v1 で、縦1行になるので、これでイメージがつかめると思います。

私としては、VZに内蔵させたい機能の一つです。

>  もう少し部屋の整理をして、まともな研究者の生活に戻りたいと思っています。m(__)m

うちもゴミ^H^H 物置部屋を整理して書斎を作るのが儚い夢です。(^^;



08574/08469 CRG00666 文太 裾野
( 1) 18/11/09 12:09 08571:としきさんへのコメント コメント数:1

#8517
>さて、小学校でIT(プログラミング)教育。
 ここから来ていると思うので、公教育の話かな、と。

(vtdosに関して)
>周辺の裾野であった文太さんやkonnoさんがいたおかげと私は考えます。
 事実をいえば、僕は何も貢献していません。しょうがない、事実ですから。
 としきさん、がんがん貢献してください。

>でも、もし裾野の広さが今の百倍あって、ユーザ数が数千人ともなれば、
>機能・性能は2倍くらいにはなっているのではないかなぁ、と思います。
 これは、やはりそうでしょうか。時代でしょう。
 そして、きっと明らかになったのは、Vzのほうも合わせて(?)調整
していかないといけないらしい、ということ。

 我々は(少なくとも僕は)、かなりきつい時代の圧力にさらされているのだ、
と最近感じています。予想以上に圧力は強い。
 WinMEマシンを調整していて、たしかにこれにはクラシックカーに近いもの
があるのかも、と思いました。パーツがぼろぼろ死んでいく。新規調達は
困難。コンデンサは死にますねぇ。半田ごてか。

>私は今でも、裾野が広くないと高い山はできないという考えは維持しています。
 問題なしですよ。

 この腑分けも難しくてケース・バイ・ケースですが、集団を相手にする場合と
個人を対象にする場合では違うよな、と考えていました。公教育も個人の成長が、
最終的には対象のはずなので。
 これがとしきさんは言いたい、と僕は考えていたということ。

 個人の才能に関していえば、長く地道な修行時代があって大輪の花が咲いた、
というのは美しい話なので。これもある種の裾野でしょう。

 そのための増税はムリ。学生以外に(中小企業を含む)死者が出ます。
 それ以外の理由での増税は、どうせくるでしょうけれど。



08575/08469 CRG00666 文太 Re^2: 表示限界の話ではなく
( 1) 18/11/09 12:20 08573:konnoさんへのコメント コメント数:2

>逆転の発想でカーソル表示を消してしまって、アトリビュートで表示するのです。
>簡単に試すなら、和生さんとやり取りしていた、V_Line.def を試してみては。
>v1 で、縦1行になるので、これでイメージがつかめると思います。
 ありがとうございます。
 ゆっくり研究してみます。言ってみるものですね。
 何とかできる余地があるというのは、希望です。
 眉間に皺をよせたままご臨終しないですむかもしれない。
 まだ何もやっていませんが、もともと、ci0って、ブリンクなしですよね。
 あ、XPのntvdmでも、ブリンクしてる。慣れてたのかぁ。
 でもブリンクしなくできるなら、しないで欲しいな、やっぱり。我が侭に
なるものですね。

>うちもゴミ^H^H 物置部屋を整理して書斎を作るのが儚い夢です。(^^;
 断舎利、難しいですよねぇ。でも、ぜったいこれもう使わない、自分が
死んだとき、誰が捨てるんだろう? それでも、今はまだ捨てられない、
とか思うことがけっこうあります。(^^;
 空間を有効に使いたい、、、。モノが溢れてる、、、。



08576/08469 CXB00940 としき Re: 裾野
( 1) 18/11/09 23:57 08574:文太さんへのコメント
参照先:http://toshiki.la.coocan.jp/

> #8517
>  ここから来ていると思うので、公教育の話かな、と。

あ、なるほど。
まぁ、公教育というのも時代背景や社会情勢に影響はされるものではありますね。
そして、裾野を広げるべき、という私の考えからしても、コンピューティングの
教育に力を入れるべき、ということになろうかと。
もちろん、好きな人が専門的な能力を伸ばせるような環境は別途必要でしょう。
でも、そういう人が一人さびしくカリカリとやっているよりは、みんなで楽しく
ワイワイとやっていたほうが、本人のモチベーションという面も含め、よりよい
結果が出ると考えます。そして、みんなでワイワイやるためには、周りの人々、
つまり私の言うところの裾野の方々が、その問題について本人と最低限の会話を
するためにも、基礎的な素養を、そしてできればなるべく高いスキルを、持って
いたほうがよい、という考えになってしまいます。
そのための教材として、まぁ、ゲームとか使うのは仕方ないかな、と。
絵とか音とかをぐりぐりできたほうが、子供は楽しいと思う。

ところで、#8517で10♯さんが紹介されているgigazineですが、セキュリティ関係
のネタが掲載されていたりするので、私もたまに目にしているサイトです。
いわゆる、大手ミドルメディアに分類されるサイト、だと思います。
そこに先日流れてきた記事。
ttps://gigazine.net/news/20181102-missing-computer-skill/
まぁ、ある特定の狭い界隈の経験談だとは思いますが。
でも、論理的に演繹して、世界共通の事象であってもおかしくはないよね、と。

>  我々は(少なくとも僕は)、かなりきつい時代の圧力にさらされているのだ、
> と最近感じています。予想以上に圧力は強い。

その圧力に対応できているのだから、それはすごいことなのではないかなぁ。
私を含め多くの人は、圧力に流されるがままになっているのですから。


>  個人の才能に関していえば、長く地道な修行時代があって大輪の花が咲いた、
> というのは美しい話なので。これもある種の裾野でしょう。

まぁ、そうかもしれない。
でも私は、孤高の天才よりも、談論風発なサロンで磨かれて伸びていく、という
ような形のほうが好きだな。というか、ほとんど信奉していたりします。

>  そのための増税はムリ。学生以外に(中小企業を含む)死者が出ます。

その点についてはほぼ同感ですがね。
でも、学生を殺すよりは学生以外を殺したほうがよい、というのが私の倫理観。
とりあえず、文太さんの考え方はよくわからないのですが、不満はあっても現状
を維持するのがベター、ということでしょうか。


08577/08469 GST01234 10♯ Re^3: 表示限界の話ではなく
( 1) 18/11/10 00:24 08575:文太さんへのコメント

PCのBIOSはブリンクレートをゼロに出来るんですけど、Win32Consoleはこの機能無いんですよね。
それに対してckwはブリンクレートがゼロ固定だっていう。
ckwがNTVDMで使えるかは未確認です。

08578/08469 BQO00549 konno Re^3: 表示限界の話ではなく
( 1) 18/11/10 01:13 08575:文太さんへのコメント

>  まだ何もやっていませんが、もともと、ci0って、ブリンクなしですよね。
>  あ、XPのntvdmでも、ブリンクしてる。慣れてたのかぁ。
>  でもブリンクしなくできるなら、しないで欲しいな、やっぱり。我が侭に
> なるものですね。

NT系のDOS窓やVTDOS (MSDOS Playerも?)では、カーソルの表示を OFF する
&v(0) が効かないようですね。

STKHLP によると、ci=co=-1, #] を実行すればカーソルを完全に消去できる
とありました。

インスタント窓で、ci=co=-1 を実行してみたら、Win10のDOS窓と、VTDOS では
カーソルがドット一つ分の下線になりますね。
インスタント窓で、ci=co=0 を実行すればカーソルが元に戻ります。

MSDOS Player では、カーソルがドット二つか三つ分の下線になります。
インスタント窓で、ci=co=0 を実行すればカーソルが元に戻ります。

CKWV では、カーソルが完全に消えます。
入力窓などでもカーソルが出なくなるので、試す時はご注意ください。
インスタント窓で、ci=co=0 を実行すればカーソルが元に戻ります。

色々試すうちに、V_Line.def の改造も進みました。(^_^)
これは別スレで。


>  断舎利、難しいですよねぇ。でも、ぜったいこれもう使わない、自分が
> 死んだとき、誰が捨てるんだろう? それでも、今はまだ捨てられない、
> とか思うことがけっこうあります。(^^;

まあ、死ぬまで捨てられないと思いますよ。だから考えないようにしています。
でも、整理はしないとどうしようもないなぁ。



08579/08469 GST01234 10♯ Re^7: VRAMなど
( 1) 18/11/10 10:48 08563:文太さんへのコメント コメント数:2

8ビットの8*8のフォントは1文字8バイト、256種類の文字で2キロバイト必要とします。
1文字32バイトの日本語フォントは第二水準6000文字で190キロバイト。
初期の国産16ビットPCは256キロバイトの漢字ROMを搭載してましたが、その分コスト高でした。
なお、PC98の初期の頃はこれはオプションでした。
8ビットPCにとっての2キロバイト、16ビットPCにとっての256キロバイトはメモリ空間を圧迫するのに十分で、
アクセスできる場合、バンク切り替えによるアクセスが一般的でした。
余談ですが、日本語フォントはその文字数の為開発コストも高く、
現在普通に使われている日本語のアウトラインフォントなどは安く見積もっても数千万円規模は掛かってると思われます。


コミュニケーションはしばしば問い合わせに対する応答という形で起こりますが、
このときやり取りされるメッセージ、それを受ける側はそのメッセージを理解するために
必要な要素を内側に持つことでそれが可能になる訳ですが、
送り手側にとってそれがどういったものなのかは見えないものではありますね。

例えば僕やとしきさんはVRAMを理解しているため、その言葉を意思疎通のために用いることが出来ます。
ならこの二人はこの用語をどうやって理解したのか、という話ですが、これは決まった方法があった訳ではありません。
それはそれぞれ経験の中で獲得してきたものだと思われますが、
僕はこれ8ビットパソコンを興味本位で遊ぶことで得ることが出来ました。

時代が変れば技術も進歩しますけど、これは漸次的ではあります。
その為、その都度差分としての知識を獲得していくだけのことであるため、
これに関して特段の努力をした訳ではありません。体系だった学習方法に拠ってきた訳ではありません。
唯々感覚的に理解しているだけであるとも言えます。

これを理由に「VRAM」の僕の中での印象は、明白に簡単な単純な物、という印象があります。
それ故、VRAMとはなんですか?という疑問には、8ビットや16ビットのPCに搭載されていた、
当時それを趣味にしてる人間には一般常識的な物、ざっくりとはこんな感じの説明になります。
印象的に簡単なだけに、詳細な説明は憚れるというか、雑な説明になってしまうかも知れません。
そして、それが伝わっていなかった場合は軽い衝撃を覚えることもあります。

8ビットで遊べば解るよ、とか98触れば解るよとか、冷静に考えれば答えになって無いですよねw
しかし、これが僕の辿ってきた道であることは間違いありません。

今のこの時代にその疑問の難しい事は、今現在のPCでは実質的に使われていない技術だということは言えますね。
それ故にその概念を習得せんとするインセンティブをゼロと見なす考え方もあるでしょう。
そもそもPCとはなんらか他の業務のために活用するための道具に過ぎません。
この為、ほとんどの人にとってはこれを概念的に理解することの利点はほぼ無いでしょう。
そんなことより本来業務に集中したいでしょう。そしてそれは、説明する側にも同じ事が言えます。

コンピュータとは本来問題解決を支援する為の道具でありながら、
それ自体に問題が無い、ということがあり得ません。(このことは数学的に証明されている事実です)
その為か、その利用者は問題意識からその内部構造に興味を抱くことはしばしばあります。
そして、その疑問点を周囲の誰かに問いかける事になる訳ですが、このとき問題になるのは、
その応答を理解するために必要な基礎知識を持っていないと言うことです。
なぜならそれは本人にとって優先的な課題では無いからです。
しかし、専門家と意思疎通することが困難であれば問題解決もまた困難な物となります。


08580/08469 CXB00940 としき Re^8: VRAMなど
( 1) 18/11/10 16:46 08579:10♯さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/

一番最後の段落は、重要なことですね。
特にその最初の2行は、一部の人には衝撃的かもしれません。

私なんかも、新しいOSやその他の何かに手を出した場合、誰かに質問したいことは
多々あります。でも、それをなんと表現していいかわからないから、適切な言葉で
質問できない、ということは、特に一番最初の段階ではよくあることで。
職務上の何かの場合は、形式的には問題処理票なんていうものが整えられていたり
するのですが、やっぱり、何をどう書いていいかわからないとか、そもそも書式と
して求められている項目の用語がわからない、なんてこともよくある。私の場合は、
いろんなものに手を出していて、逆に問処票を書くことに慣れてしまったかもしれ
ないというのがあって、相手に的確な再質問をさせることがうまくなってしまった。
これも本当はあまりよくないことなんですが、質問のキャッチボールになるよりは
はるかにマシ。
#いろんなコミュニティで、激しいラリーをよく見かける

あと、上にも書いたとおり、いろいろなところに手を出し続けているということも
あって、私は永遠の初心者。でも、そのせいか、ある程度の知識を持っているはず
の分野でも、その分野に手を出したころのことを比較的よく覚えているというか、
初心者と専門家の間に立って、互いの意思疎通のお手伝いみたいなことに巻き込ま
れることがたまにある。というか、よくある。
あ、そうだ、ちょっと自慢話。
うちの会社は通信建設業界。社員の実力の認定制度があります。私は、年齢的には
ベテランになっていなければならないのだけど、認定制度的には中堅扱い。実際に
その程度の実力しかないから仕方ない。
で、実力認定のほかに社内教育制度もあって、ベテラン勢のうち、教え方がうまい
方々が特別講師という肩書きを貰っています。その他に准講師という肩書きもあり
ます。これは基本的に、実力はあるけど教え方がいまひとつの人。特別講師の方の
推薦でもらえるもので、新入社員や若手の勉強会で特別講師と一緒に指導にあたる
ことで指導者側の教えるスキルも向上させる、というもの。
で、私、上記のとおり、実力はないのに、なぜか准講師の肩書きをもらってしまい。
推薦してくれた特別講師の方々に聞いたら、私が勉強会に入ると、新人の理解度が
少し高まるらしい。つまり、特別講師の言っていることをわかりやすく言い換える
とか、講師が言っていることがわからないけど質問するのに気後れするような若手
に代わって質問したり、というのが効果的らしい。

実力がない、とか、永遠の初心者、なんていうのが役に立つシチュエーションなど
そうそうあるものではない、というか、あんまりあってもいけないような気もする。
うん、よく考えたら、全然自慢話ではないような気がしてきた。




おまけ。

> なお、PC98の初期の頃はこれはオプションでした。

初代PC-88もオプションでした。
でもPC-8001は解像度の関係で漢字表示の機能そのものがなかったと思う。
そして私、当時4万円くらいしたPC-88の漢字ROMを買いました。
パソコン本体が20万円の時代、漢字ROMだけでその5分の1のコスト。
高校生の当時、親にカネを出させたのですが、どうやって親を説得したか、今では
全く覚えていない。
少しは使いましたよ。年賀状印刷とか。
でも、使った回数から考えると、絶対にコスト割れ。あぁもったいない。

08581/08469 GST01234 10♯ Re^9: VRAMなど
( 1) 18/11/10 20:01 08580:としきさんへのコメント

専門性もさることながら、網羅的であることも重要ですよ。
特に個人的な問題解決などではミクロな視点で集中する必要がある場合もありますが、
俯瞰的視点はそれらに優先すると思います。

08582/08469 CRG00666 文太 Re^8: VRAMなど
( 1) 18/11/10 23:47 08579:10♯さんへのコメント コメント数:1

 長い解説と背景説明、そして「理解」「意思伝達」「歴史」「体験」について
の深い洞察、ほんとうにありがとうございます。

 以下、対話になっていませんが、10#さんが書かれていることは、だいたい理解
できたと思っています。
 しかし、以下のかたちで対話になるのでしょう。


 ここのところ「これでいけるな」と思っている本が、前にも出した杉浦さん他
による『DOS/V プログラミング技法』という本で、8086やアセンブラ
(MASM6 とか)が何をしているのか、どうやら分かり始めてしまったように、
やがて、俺、これ分かるな、困るな、とか思っています。

 (余計なことをちょっとだけ書いておくと、DOS/V システムになり、抽象化さ
れてハードからソフトへと時代は流れた、は分かるのですが、グラフィックチップ
を指定されたら、少なくともこの時代の DOS/V は、まだまだ初期段階だよ、
再現できんだろう、とも思ってます。IBM PC DOS (DOS/V extention 2.0)も SD32 も、
利用可能チップを指定しています。該当チップの載ったグラフィックカードは、
まだ1枚も見つからない、、、。アメリカのebayから買ったら、きっと高いよ。
Win95で、抽象化完成? WTDISP.SYSが、WinMEで僕が使っているwide text driver
でした。Winの表示システムの助けも得て、ということなのだろうと想像していますが。
ttp://mezala.la.coocan.jp/vz/env/win/win98.html#widetext)

 さらに(本の購入が趣味です)、『98ハードに強くなる本1,2』(表示系
マクロにめっぽう強かった和生さんの愛読書。nifty の過去ログに出演多数)
まで買ってしまって(けっこう高かった)、それらが今日、手元に届き、机の上から、
今、僕を見つめています。
 見つめられても実機はないし、エミュレータというのはあまり好きではないし、
ソフトとハードの境目あたりのことを勉強するのにはエミュレータのこと自体を
調査しなくちゃだし、、、。 これぞ机上の理論。 実体験なくて、意味あるのw
8ビットの話レベルだよな、これ、、、。ムニャムニャムニャ。
 東工大生の奮闘は美しいのだけど。
 彼らもきっと小学生のときから、、、。

 で、これだけ教えてもらって、時間をさいていただいて、このようなことを
伝えるのは、 ずいぶんと無作法だよなぁ、 少しは嘘をつけよ、とも思うのですが
(注)、ようやく部屋の片付けのゴールが見えたので、「今日は髪の毛を切りに
行こう」 、と待ち時間の長い床屋へ行ったとき、 もっていったのは、Assembly
Language Step-by-Step。 相変わらず楽しい。おそらくどのような言語で書かれ
ていても、世界で1番目か2番目に丁寧に基礎の基礎から説明してくれる本。
文章もうまいし、下らないジョーク(比喩)もいっぱいだし、繰り返しも多いし、
という本(英語がけっこうできないと、かなり難しい本でしょう。アドバンテージ。
しかし内容的には基礎レベルなので、ここの3人はまったく必要がない本)。
 全 432 ページで 200 ページ目にして、まだ、ニーモニックが出てこない。
「さてここで核心部分のセグメントとメモリーの話をしなければならない。CPU
とメモリ。この2つを一緒に書く入門書はないと思うが、私はこれは一緒に語ら
なければ意味がない、本当の理解に至らないと考えるのだ」ですと。
 「プログラミングのまったくの初心者が私の想定する、この本の読者です」と
まで書いてある。「ふつうアセンブラを最初に学習するプログラミング言語には
しないものだろうから、かなり大胆な挑戦を、私はしようとしていることになると
思う」とも。
 仲間内ですから、どれだけ評価が当てになるのか分かりませんが、Tom Swan,
author of Mastering Turbo Assembler, Mastering Turbo Debugger etc が、
「これ以上のアセンブリ言語の入門書はない」という宣伝文を書いています。

 何がいいたいかというと、こっちのほうが、す、すいません、楽しい。少なく
とも今は。
 何度もそう自称してきましたが、僕はマクロイドなんですね。切った貼ったの
エディタマクロ、テキスト上で文字列を検索してカーソル飛ばしてといったマクロ
を量産してきました。 中でソートの作業が必要なら、sort.exe を使うのは当然
です、ソート・ルーチンを自分で書くなんて、、、。
 (Vz界隈には伝統があります。S.KinさんがVz1.5時代に激速sort.defを書いた。
1.6で動かなくなった。違うかもしれないけど、Aiming Offさんが1.6用に書きなおした。
そして、パラグラフソートまでやるの?(^^; な、高橋さんのsort.defが生まれた、
たぶん。僕は、必要なら、psort.exeです)

 もちろん、たとえばソートのアルゴリズムはプログラミングの基本のようなので、
クイックなのかバブルなのか、みたいなこともいつか(時間があれば)やりたい。
(次々でてきますが自慢してるわけではありません。自慢にならないレベルだから)
『使っておぼえるアセンブラ』(ナツメ社、tasm 使用、td 出演多数。これまた
超入門書)には、単純なバブルソートの例が出てくる(p.152)。
 脱線しました。
 いちおう釈明すると、「理解するぞ、今日こそわかってやるぞ」と力まずに、
ふとなんとなくこの手の本を読み流すのが好きなのです。効果絶大な気分転換に
なります。やっぱり変な人だな、俺、との自覚はあります。

 もちろん、ブリンクだとかグラフィック VRAM のラップラウンド処理(ちょっ
と違うけど、まあ原理は近いかな。 杉浦 p.47)だとかも、やりたいし知りたいし、
誰かに教えてもらいたいし(そうしないとできない奴。こ、この時代に?)、
なのですが、まあ、好きなところから(たとえばストリング命令)いこうよ、
一生楽しむつもりの趣味なんだから、と(恩知らずにも)思っています。

 もちろん仕事のための道具は道具なんですが、楽しすぎる道具でもあり、か、
かわゆい。
 不健全に仕事と趣味の両立をこの分野でやってしまおうと、ここ10年くらい、
どれだけヤフオクとハードオフでくだらない産廃もどきを買ってきたことか(上
に出てきたPC本も含め)。
 たとえ100万円つかってきたとしても、これはかわいいものだ、安上がりな
趣味だと思えますが、使ってきた時間は?
 だからぁ、、けっきょくのところ、、お金でなく時間で構成される人生という奴
を、より楽しく幸福に生きるためには、ある種の時間にはケチになってはいけない
のだよ、分かってないねぇ、と自分に言いきかせてます。


 さらに、分からなかった(つまり興味があって分かりたいと、分からないなと
思ったことがある)ことが分かるようになるというのは、やっぱり快感で、分から
なくて読み飛ばしていたことが理解できるようになって、その理解をVzマクロで
(com ファイルでもいいですが)応用できて、1ミリでも深くPCを手なずけられる
ようになると、もう、うはうは。(してないのだけど)「努力のたまもの」と心から
自画自賛できてしまう。たとえそのPCのOSが MS-DOS でも WinME でも。
 だって使えるのだもの。これ以上のもの、見つかるわけないもの。

 10#さんやとしきさんや konno さんが小学生のときにしてきたことを、僕は
50歳をすぎてやっている。もちろん、(他人に迷惑をかけないかぎり)何の
問題もない。

 キムタク話以上に意味のない、そしてプロットのない長文でした。
 が、どうかこれに懲りずに、またいつかおつき合いくださいませ。
 言ってみればOS側からみたVzの話、正直いってかなり分かりづらいのですが、
それでも 10# さんのお話は、いつでも刺激的ですから。m(__)m


(注)こんなことに注をつけるのか? おしゃべり。
 きっと知らないと思いますが、僕は、自分が頭がよくないのだ、という深い確信
をもっています。ですから、なるたけ嘘をつかないように生きてきました。非生産
的だからです。
 「本当のことだからといって、それを口にしていいわけではない」というのも真実
ではありますが。
 自分でも何が本当で何が虚構かが分からなくなって、「嘘がばれる」と、さすが
にかなり深い哀しみに打ちのめされるからです。格好悪い、バツが悪い、面子まる
つぶれ、という話ではありません。自分にとっての最低限の真実、「お前は頭はよく
ない」、この認識を自覚的に活用できなかった、これが哀しみを生みます。
 そこまで馬鹿じゃないはずなんだ、と。

 何を伝えようとしているのか分からない文章を、ここまで長々綴れるのも、才能
の一つ、な、の、か。
 じ、つ、は、僕は、自分が何をしているのか、知ってるつもりなのですが、相手
にはそれが伝わらない、だ、ろ、う、な。最後は、かなり傲慢。うは、ブンタ的!


 うーん、vtdosの落ちない稼働時間のレコードを今日も更新してしまっています。
やっぱswだったんじゃないですかね。

 このファイルは、ついに、
2018/11/10  23:30           153,301 aaa.txt
 にまでなっている。複数ファイルを使ってはいませんけれど。マクロもあまり
使っていないので、「攻めの運用」ではまったくありませんが。
 でも、久しぶりに、思い切って、seikei.defしてみた。落ちないじゃないか。
 かつて僕は、この何でも書いてしまうファイル、aaa.txtを1MBぐらいで切り替えて
ました。それまで、Vzはへっちゃらだったのです。

 僕は自分の仕事も仕事の道具もたいせつにしたいと思っているので、このタイミング
でデイトレーダーのような書斎を作ったことを後悔していません。もっと前にするべき
だったのです。
 そうしていたら、vtdosが落ちる、落ちると、少なくともパニックはしないで済んだ。
前にも書きましたが、何にパニックしたのかというと、マシンが落ちてもパニックしない
自分を発見して、いちばんパニックしていました。
 9月ぐらいから僕はここで色んなことをして、とっても楽しい時間(真剣な時間で本物
の時間です)を過ごしてきたんですね。
 ありがとうございました。
 すぱっと消えるわけでもないと思いますが(MS-DOSで試してほしい実験があればどうぞ)、
いちおう、区切りのつもりです。すぐ師走な年末がやってくるし。

 >としきさん、まったく関係ないのだけど、サツマイモ、まだ葉っぱが茂ってます。
  いつ収穫するのかな、と呆然としています。どこが産地だか分からない、3本150円
  のサツマイモ(家での熟成2週間以上)をオーブンで焼き芋にしたら、うまかった。



08583/08583 BQO00549 konno V_cursor.def Ver06
( 1) 18/11/11 01:35

V_line.def を [INS]キーのON/OFF で縦カーソルの色を変更するようにしました。
この機会に名称も、V_cursor.def と変更して、
V_cursor.def Ver06 として、VZマクロの部屋にUPしました。


V_cursor.def サイズ 2,494bytes 18-11-11
  縦カーソルラインを表示するマクロです。 和生さんとEPIさんのマクロを合体させて実現しました。
  アンダーラインと合わせて、十字カーソルとして、カーソル位置が見やすくなります。
 変数 v で縦カーソルの長さ変更可。v0= 画面高さ v1= 1行分 v2= 上下+行で、数字増分で上下に延びる。
 [INS]キーのON/OFF で縦カーソルの色を変更(v06)名称も変更した。
 &c 常駐。実行中もたいていのマクロは動くが,少し影響あり。
 動作保証は無いので実行は自己責任で。  


今回の目玉は、[INS]キーのON/OFF で縦カーソルの色を変更するようにしたことです。
CKWV では、[INS]キーのON/OFF の違いが判らないので、こういうやり方で違いがわかる
のはメリットがあると思います。
将来の改善のネタです。


ところで、この手の常駐マクロは、下手な呼び出し方では多重に常駐してしまいます。

80 @V "" ?. &z("V_cursor") >*

私は、VZ2.DEF で、通常このようにシンプルに呼び出していますが、これだと
すぐに多重に常駐してしまいます。(;_;)
これを防ぐには、やはり、手抜きをせずに

80 @V "" ?. &Zs("V_cursor") (r)?? &z("V_cursor") (rr)??. >*

こう記述するのが良いですね。(^^;



08584/08469 CRG00666 文太 Re^9: VRAMなど
( 1) 18/11/12 02:16 08582:文太さんへのコメント コメント数:1

konnoさん、V_cursor.def, 試せていなくてごめんなさい。
 EPIさんの「ヴァーティカル・ライン」、たぶんNEC98で試したことがありました。
「使える」とは思わなかったのですが、あの縦のスペシウム光線みたいなのは、ちょっと
忘れがたいですね。マクロ・プログラミングを、将来、自分がすることになるなんて夢
にも思わなかったけど、なんだか、これすごいな、カーソルや文字と関係ない次元で、
色が、線が、動いているみたいだぞ、と思った記憶は強烈でした。


> うーん、vtdosの落ちない稼働時間のレコードを今日も更新してしまっています。
>やっぱswだったんじゃないですかね。
> このファイルは、ついに、
>2018/11/10  23:30           153,301 aaa.txt
> にまでなっている。複数ファイルを使ってはいませんけれど。マクロもあまり
>使っていないので、「攻めの運用」ではまったくありませんが。
> でも、久しぶりに、思い切って、seikei.defしてみた。落ちないじゃないか。
> かつて僕は、この何でも書いてしまうファイル、aaa.txtを1MBぐらいで切り替えて
>ました。それまで、Vzはへっちゃらだったのです。

 この部分に関して、できたら丁寧に伝えておくべきだな、と思いました。

 まず、前置き:vz.comがc.mosさんにとって、歴史に名前の残す作品であったように、
10#さんにとって、vtdosは、渾身の傑作・作品であるのかもしれない。同じぐらいの情熱と
執念(集中力ということ)でつくられた作品なのだろう(プロシージャの数だけしか僕には
想像の根拠がありませんが、サンスク>としきさん)。

 しかし現在のvtdosには、素人からみて、3つの弱点がある。

 1. swの設定によって、色々とやばい場合がある。メモリー管理。
 2. 編集テキストファイルが大きくなると、やばい場合がある。最低で64KBの制限?
 3. 複数ファイルをVzで編集しようとすると、ユーザは最大限の注意を要求される。
 4. マクロが使用されると、と噂されているようですが、Vzマクロの基本は手入力の再現
  だと僕は思っています。マシン語マクロは、まあ、com/exe的なことができるにはできる
  けど、だいたい作法を守っているものだし、そもそも手入力の普通のVz使用でも、
  マシン語ガリガリ、EMSガリガリしているので(それ同等なので)、マクロが、多くの場合、
  原因と考えるのは、10#さんに気をつかいすぎていて、当たり前の事実が伝えられていない
  ユーザの怠慢なのではないかと、僕は考えています。

 vtdosは、OSです。日本語のDOSを、WinNTシステムで再現しようとするシステム。
 僕には、それがどれだけ無謀な試みなのか、分からない。世界でも類をみない、ということは
知っているつもり。
 それでも、僕の感触をいえば、僕が使うようなMS-DOS3.3以降のDOSアプリの挙動をみる
かぎり、じつに見事にDOS環境が再現されている。wgrepを使わないせいなのか、コマンド
ラインで落ちた記憶がない。

 が、VzのようにDOS自身たろうとする環境ソフトは、そもそものけっこうな手抜き
(微妙なバランス感覚。comファイルの制限)がゆえに、存分にその真価を発揮できない場合がある。
 Vzはvtodosを落とせる。けっこう得意みたいだ。

 Vzは、この環境ではとても安心して使えない、MS-DOSやWin9xシステムに戻るしかない
(エミュレータのほうが良いという話もある)、と判断される場合もありうる。

 焦点を定める(間違っているかもしれませんが)だけは、しました。
 どうか、どうか、がんばってくださいね。
 僕のためなんかではなく(自分の面倒は自分でみたがるタイプ)、10#さん自身のために。

 なぜ強くなろうとする? 弱い者を、かつての自分を、助けるためだよ。
 なぜ金持ちになりたい? 金持ちでなかったかつての自分を、下らない面倒から解放して
やるためだよ。お金に下らない問題を解決する力があるのは、知ってるだろう、さすがに。
 きれいごとだけど、そう単純にしたら、人生、けっこう楽だぜ。生きる意味は何かとかみたい
な泥沼から救ってくれるとは思うけどね。

 こう、今日、息子に言いました。よく言う口癖みたいなものですが。



08585/08469 BQO00549 konno 独り言など
( 1) 18/11/12 22:41 08584:文太さんへのコメント コメント数:1

> konnoさん、V_cursor.def, 試せていなくてごめんなさい。
>  EPIさんの「ヴァーティカル・ライン」、たぶんNEC98で試したことがありました。
> 「使える」とは思わなかったのですが、あの縦のスペシウム光線みたいなのは、ちょっと
> 忘れがたいですね。マクロ・プログラミングを、将来、自分がすることになるなんて夢
> にも思わなかったけど、なんだか、これすごいな、カーソルや文字と関係ない次元で、
> 色が、線が、動いているみたいだぞ、と思った記憶は強烈でした。

文太さん、一度も試してくれてなかったんですね。(;_;)
そういえば、過去ログを見直しても誰も話題に参加していないし。(;_;)
最初の、V_csr.def も、和生さんには実用品だったようですが、ライン上の
文字が見えないのが残念だったので、改造したのでした。
この話はあっちのスレで纏めたいと思います。


文太さんの思いは読ませていただきましたが、私の中では纏まりがつかないので
コメントは控えておきます。
代わりに私の独り言を。



私は、VZに出会って、これは最強の武器だと確信しました。
私は、これこそ我が剣と定め、仕事でも趣味でもVZでテキを切りまくってきました。
一生付き合っていく、と宣言したわけではないですが、内心では思いがあるかもですね。

私の頭脳スキルは正直大したことは無い平凡なものですが、VZやパソコンのソフトを
使いこなすことで、能力以上の仕事を成し遂げてこられたと思っています。

BASIC などのプログラムも自分の弱点を補って仕事の効率アップの目的で覚えました。
基礎をろくに知らなくても、必要な所の情報を周りから拾い集めて何とかする、という
スキルはあるようなので、XPでLFNが使えなくなり困ったときにVZ改造出来たわけです。
だから、ゼロから何かを作り出すのは苦手で、改造が得意になったのでしょう。

私のサイトも、ニフティのFGALDCが無くなるというので作った様なものですね。
このツリー式掲示板も受け皿として使えるように考えて色々改造したのですが
結局は自分が使いやすいようにする。というのが基本なんですね。

VZも同じで、私家版として公開しているのですが、スキルが足りないので
不具合があってもすぐに対応できないので、公開停止するしかないですね。
今使っている版もバグが残っているので公開できないですが、自分で使うには
バグがわかっているので問題なく使えているところはあるでしょう。
環境、考え方は一人一人違うので、これがいい!!というものも個々それぞれということで。

私の改造で、VZ以上に人気が出た?のが、NP2 です。
これも、どこでもVZがしたい!! という動機から手を出して、今では
VZ、NP2、掲示板が改造の3本柱になっています。
ASM、C++、CGI(Perl) の3言語とも言えますね。+VZマクロで四天王か。

ということで、舌足らずですが、この掲示板で出会った人は縁のある人だと思うので
これからもよろしくお願いします。m(__)m



08586/08586 BQO00549 konno GPD Pocket Windows10 64bit
( 1) 18/11/13 00:32 コメント数:1

ブログに書いた記事を転載します。そちらには写真もあります。(^_^)


先日、日比谷に「2001年宇宙の旅」を観に行った時、ビックカメラに寄った。
そこで、未知との遭遇が!!

最近NETで知り、気になっていた、超小型PC、GPD Pocket Windows10 64bit が、
店頭に在ったのである。

最近ノートPCの調子が悪くて、新しいPCが欲しいなぁ、と、それとなく言っていたのだが、
目の前の未確認小型物体を目撃して全てぶっ飛んだ。

私は即座に財務省の承認を得て、その未確認小型物体との遭遇に成功したのである。
ではその詳細を語ろう。

製品情報によると

Windows 10 Homeを搭載した7インチ ウルトラモバイルパソコン
CPU Intel AtomR x7-Z8750 Processor
メインメモリ8GB、eMMCメモリストレージ128GB搭載
1920×1200px 323PPI WUXGAの高解像度対応 
ゴリラガラス3採用、マルチタッチ対応IPS液晶パネル 7インチサイズ
高速無線LAN Wi-Fi 802.11ac、Bluetooth 4.1搭載
Micro HDMI、USB Type-A (USB3.0)、USB Type-C (USB3.0)
急速充電Power Delivery 2.0対応

とあるが、何より心を動かされたのはそのサイズである。
幅x高さx奥行:180x18.5x106 mm 重量:0.48 kg 
と、ほぼシグ3サイズで、液晶サイズが7インチ と大きいというのが決め手となった。

これなら、VTDOSでVZが使い物になる!!(そこかよ)
 
CPU:Atom x7-Z8750(Cherry Trail)/1.6GHz/4コア CPUスコア:1901 
ストレージ容量:eMMC:128GB メモリ容量:8GB 
OS:Windows 10 Home 64bit

Win10 を動かすにはスペック的に十分だし、これで駆動時間が12時間というのも凄い!!

一つだけ欠点がある。ファンの音がうるさいので、静かな所では使いづらい!!


では、お約束のVZ画面を。

VTDOS単体ではフォントが小さいというか、全画面に出来ない

ようなので、CKWVは必須か。

全画面で100*24行か
7インチ全画面なら文字も読みやすい
FUNKIE.DEF でこんな感じ。

表示が2行も増えて、ログ読みは断然お得。(^_^)
キーボードは変則というより変態だ。(^^;
でも慣れれば何とか。(^^;


おまけに、各機種のサイズ比較表を。

機種 --- OS -- CPU -- 動作周波数 -+- 画面 サイズ+- 幅 - 奥行 - 高さ ----+重量 +
HP200LX     DOS   80C186 7.91MHz*2 640*200  5.0  W160  D86.4 H25.4       312g  1994
OASYS Pocket3 DOS     80286  8MHz  640*200  7.2  W225  D114  H24         490g
Mobile Gear DOS MC-MK 80486 16MHz  640*240  7.3  W245  D122  H24.5       550g
VAIO typeP Win Vista atom 1.33GHz 1600*768  8.0  W245  D120  H19.8       636g
Jornada 720 CE2000   ARM   206MHz  640*240  6.5  W189  D95   H34         510g
Sigmarion2 WinCE    MIPS   200Mhz  640*240  6.2  W189  D107  H27         500g
Sigmarion3 WinCE4.1 PXA255 400Mhz  800*480  5.0  W189  D117  H21         455g
NetWalker Linux armiMX515 600〜1G 1024*600  5.0  W161.4D108.7H19.7〜24.8 409g  2009
mbook-M1  Linux atom 1.33G~1.1G   1024*600  4.8  W158  D94.1 H18.6〜25   344g
IS01  android                      960*480  5.0  W149  D83   H17.9(20)   227g  2010
IS02  WinCE                        800*480  4.1  W123  D66   H12.9       158g  2010
N-08B  android                     854*480  4.6  W180  D80   H18.1(18.9) 300g
GPD Pocket Atom x7-Z8750 (1.6GHz) 1920*1200 7.0  W180  D106  H18.5       480g
Gemini PDA 2xAndroid/Linux 2.6GHz 2880*1080 5.99 W171.4D79.3 H5.1        320g  2018
GPD Win Win10 64bit               1280*720  5.5  W15.5 D97   H22         363g  2016
GPD Win2 Win10 64bit              1280*720  6.0  W162  D99   H25         460g  2018
GPD Pocket Win10 64bit atom 1.6G  1920*1200 7.0  W180  D110  H20         480g  2017
機種 --- OS -- CPU -- 動作周波数 -+- 画面 サイズ+- 幅 - 奥行 - 高さ ----+重量 +



08587/08469 CRG00666 文太 Re: 独り言など
( 1) 18/11/13 00:36 08585:konnoさんへのコメント

>文太さん、一度も試してくれてなかったんですね。(;_;)
 す、すいませんです。ごめんなさい。
 そ、そういうことなのであれば、近日中にやりますよ。待っててね。
 僕の得意分野でない、かなりの不得意分野であるって、書いたじゃないの。

>そういえば、過去ログを見直しても誰も話題に参加していないし。(;_;)
 これって文脈とか時間の流れ方とかありますよ。
 詳細は分かりませんが、前回、和生さんが一緒だったときは、僕は、もうギリギリの
ラインで、和生さんの環境設定に、かなりの無理をして、口を出していたのです。
 もちろん、結果は、僕のスキルレベルゆえ、さんざんだったわけですが。
 ああいう風に無意味にテンションが上がると、ふつう、ちょっと距離をおかせてもらうね、
ってなるのが普通だと思います。
 普通でない文太みたいな奴は、それなりに、希少価値です。

 そうそう、1つ上に戻りますが、僕がこれはしなくちゃと思っているのは、純DOS
とWinMEでの、高橋版sort.defの挙動の確認です。これは、僕がやるべきだよな、と
ずいぶん前から思ってました。す、すいません。近日中に。あんまり近くない近日。
 でもパラグラフソートとか、データをそれ用にダミーで作らなくてならないので、気が
思いのですが。ディリミタの定義と設定。あうあう。フィールドソート、桁ソート、
数字を数字として読ませるか文字として読ませるか。もう、高橋さん、懲りすぎ。実用
はなれていると思いますよ、、、。でもないか。
 FGALDCで使用報告とか、なかったのかな? これ、調べるところから始まる、、、。
データが調べられるというのも、面倒な場合がありますよねぇ。

>文太さんの思いは読ませていただきましたが、私の中では纏まりがつかないので
>コメントは控えておきます。
 通じていると思いますので、ただ、ありがとうございます。

>私は、VZに出会って、これは最強の武器だと確信しました。
 ですよ、その直感、正しい。

>一生付き合っていく、と宣言したわけではないですが、内心では思いがあるかもですね。
 何があるか分かりませんけれど、結果的に、そうなったんだなぁ、でいいと思いますよ。
 卒業していった人に関しては、残していってくれた言葉とコードに、ただ感謝。

>私の頭脳スキルは正直大したことは無い平凡なものですが、VZやパソコンのソフトを
>使いこなすことで、能力以上の仕事を成し遂げてこられたと思っています。
 おめでとうございます。同じ思いです。

>BASIC などのプログラムも自分の弱点を補って仕事の効率アップの目的で覚えました。
 時代か。でも、konnoさんのその話を聞いて、その後過去ログで、あの人もこの人もBASIC
をやったのだと知って、その気になればできる、と純DOSマシンでqbasicをやってみた
というのは、どっかで書きましたよね。ビジュアル・ベイシックも(当たり前なのかもしれ
ませんが)とっても似てて、ムダな経験ではないとか思いました。
 何にもやってないくせして。
 たぶん、Windowsあるかぎり、ビジュアル・ベイシックは永遠に不滅でしょう。

>だから、ゼロから何かを作り出すのは苦手で、改造が得意になったのでしょう。
 知ってます。少しものが分かるようになって、これ、すごいことだよ、と納得してます。m(__)m

>VZも同じで、私家版として公開しているのですが、スキルが足りないので
>不具合があってもすぐに対応できないので、公開停止するしかないですね。
 こう言って無責任になるのかどうか分かりませんが、仲間を信じていいはずなんじゃないですか。
Vzerでkonnoさんに期待してる人は、試してみるよ、レポートできたらするね、という人は、
約2名、いつまでたっても使えないタコが約1名になってますから。

>私の改造で、VZ以上に人気が出た?のが、NP2 です。
 そうなんですか。ちょっと調べてみまーす。98のエミュレータですよね? (^o^;
ttps://www.google.co.jp/search?source=hp&ei=q5npW6SRCcuQmgWc87_YDA&q=NP2%E3%81%A8%E3%81%AF&oq=NP2%E3%81%A8%E3%81%AF&gs_l=psy-ab.3...950.3509.0.3837.8.7.0.0.0.0.364.1076.3-3.3.0....0...1c.1j4.64.psy-ab..5.3.1075.0..0j35i39k1j0i4k1j0i131k1.0.h5Ysup5Kpq8
 基本は間違ってなかったようだ。やたら親近感を覚えるWindowsのデスクトップがいっぱい。

>ということで、舌足らずですが、この掲示板で出会った人は縁のある人だと思うので
>これからもよろしくお願いします。m(__)m
 もちろんです。こちらこそ、どうかどうか末永くおつき合いくださいませ。

 あー、しまったぁ、宿題をつくってしまった。(~_~;
 中間試験なの、「いい先生」ぶりっこなので、採点(添削!)が、もう、大変なの。99%
感謝されないのだけど。これは、本当に、嫌いな仕事。Vzはぜんぜん効率化してくれない。
そもそも、そういう種類の仕事でないと割り切ってます、、、。記号の回答なし。記述。文字を
手で書けぃ!



08588/08586 DGF01024 めざら Re: GPD Pocket Windows10 64bit
( 1) 18/11/15 19:51 08586:konnoさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/

あらら.古い方を買っちゃったのね.

Thinkpad使いの自分としては,むしろトラックポイントのある古い方が欲しかったのだけれど,
後継新製品↓が出てしまったので,もう手に入らないかと思ってました.
http://gpdjapan.com/gpd_pocket2_info/

うーん,どうしようかな.


08589/08586 BQO00549 konno Re^2: GPD Pocket Windows10 64bit
( 1) 18/11/15 23:10 08588:めざらさんへのコメント

> Thinkpad使いの自分としては,むしろトラックポイントのある古い方が欲しかったのだけれど,
> 後継新製品↓が出てしまったので,もう手に入らないかと思ってました.
> http://gpdjapan.com/gpd_pocket2_info/

pocket2 のほうが性能も良いし、キーボードも見た目良い感じですね。
でも私はほぼVZしか使わないので、旧型で充分です。
実際使ってみて遅いとは感じないし、カーソルも速いです。

pocket2 は性能が上がった分駆動時間が約6~8 時間に落ちているので
旧型の公称12時間は余裕があります。
私も迷ったのですが、駆動時間の長い方を選びました。(ほんとは安いほうにしたの)

漢字入力は、ALT+Caps で出来ます。親指入力もできるので、
これなら200LX を超えたといってもいいかもしれませんね。(^_^)

> うーん,どうしようかな.

ファンの音は想像以上にうるさいですよ。ブログから転載しますが


GPD Pocket のファンの音がうるさいので対策ソフトを探したらありましたよ。


「GPD Pocket(Windows版)用の簡易的なファンコントローラを作りました」

http://www.miyake.me/2017/08/gpd-pocketwindows.html


このページにある PocketFanController を入れてみました。

スピード設定が出来るので、良さそうです。


また、どのページか忘れたけど、CPUPowerLimiter というのも落としました。

この2つを合わせればかなり改善するかもです。

GPD Pocket の不具合関連情報 のWiki もあります。


「GPD Pocket/不具合関連 - GPD Wiki」

https://gpd.wiki/index.php?plugin=related&page=GPD%20Pocket%2F%E4%B8%8D%E5%85%B7%E5%90%88%E9%96%A2%E9%80%A3


不具合は初期の個体差もあるでしょうが、ファンはスリープ中でも、電源を切って充電している時でも回ることがあるので、Wiki情報は参考になると思います。