[HOME]  [リストへもどる]  [全部表示]  [最新100]  [最新50]   [新着40] 
新着記事 30

7780rensave.def v2.0 の再改造 投稿者:konno   2017/08/21(月) 01:45


ねこさんの RENSAVE.DEF の再改造です。


昔FGALDCの会議室で改造したんですが、テンポラリエラーが出るようになって、
使わなくなっていました。
今回また必要性が高まったので、見直してバグを見つけました。


> 08064/08074 KFR04247  H.Konno          rensave.def v2.0 にバグ?
> (14)   04/05/06 01:01
> 
> みなさんこんにちは。
> 
> 私は毎日のように rensave.def 2.0(世代管理セーブ by ねこ)の
> お世話になっています。(ねこさん、ありがとうございます。)
> これが無いとVZのバージョン管理も出来ないんですが、最近、
> バグと思われる現象に出会いました。
> 
> それは、拡張子が1文字の時に使用すると、ピリオドが消えて、
> ファイル名と拡張子がつながってしまうと言うものです。
> たとえば、
> 
> abc.c のようなファイルを編集し、rensave.def でセーブすると、
> abcc になってしまうんです。オリジナルVZでも、XP、Win98Me、
> LX でもなるので、rensave.def のバグかと思ったわけです。
> 皆さんの所ではどうでしょうか。
> 
> 08066/08074 KFR04247  H.Konno          RE:rensave.def v2.0 にバグ?
> (14)   04/05/12 02:34  08065へのコメント
> 
> > 問題のコードは,
> >        #82 #h #m #82 #u #m                     ;ファイルを読み込む
> >…の部分です。
> 
> 手動でやってみて納得しました。未修正のファイルも修正済みになりますね。
> 
> 最初の (mr-1)?. というのは、mr が1以外なら終了と言うことですよね。
> とすればこの時点で mr は1になっている?
> と言うことで、この部分をコメントにして見ました。
> 
> ;        #82 #h #m #82 #u #m                     ;ファイルを読み込む
> 
> なんかバグが無くなって正常に動いているように見えます。(^^;
> 
> -- H.Konno --

こんなやり取りをしていたんですが、実はこの部分が重要だったという落ち。
短いので全部張り付けます。


====== rensave.def    世代管理セーブ  by ねこ ======
;====== rensave.def 2.0  世代管理セーブ by ねこ ======
* m
80 [ESC]F "rename save"
	?. (mr-1)?. ;&s				;Readonlyは除外
	&m("世代管理セーブ")		;メッセージ
	#]					; ★k cp をテキストバッファに
	&s
;;	#82 #h #m #82 #u #m			;ファイルを読み込む
	&Sh(pf,nm) 				;ファイル名コピー
	ax$4e00, cx-, dx=pf, &i($21) n-,	;ファイル検索
	(ax!=$12)?{				;見つかったら
		&Sy(pf)				;ファイル名解析
		&Sc(pr,pf,cx-pf+(r&2/2-1))	;prにコピー
	:A	&Sp(r,".%03d",n)		;連番拡張子付加
		ax$5600,dx=pf,di=pr,
	#M #_ #U				; ★k テンポラリエラー対策
		r[, &i($21) r],			;rename
		(ax==5)?{n++,>A}		;既に有るなら連番増分
		&Sh(pf,pr)			;ファイル名ヒストリにコピー
	}
	&d &m("%sにバックアップ",pf) &s		;メッセージ
	#S #m &d #?				;現テキスト保存
	&m("%sにバックアップしました",pf)		;メッセージ
	#C
*
====== bottom of rensave.def ======


★印が今回の改造部分です。
要は、セーブ前にディスク上のファイルをリネームするのですが
その時点で大きいファイルでは一部しか読み込んでいないため
セーブ時にファイルの追加読み込みをしようとして、ファイルが無い!!
で、テンポラリファイルエラーになるわけです。

これは手動でやっても同じなので、セーブ前にディスク上のファイルを
リネームするときはその前にいったんテキストの最後までジャンプさせる
必要がある、ということでした。


# 過去に積み残したお宝が山積みで掘り起こしが大変だぁ〜!!


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

7779#if から始まる真苦労道 投稿者:konno   2017/08/17(木) 22:36


MSDOS PlayerでVZが使えるようになると色々検証することになります。
高橋版VZでLFNファイラーが使えるかどうか、また、新VZのバグ出しの
ためにRfとLfを連動させるようにファイラーマクロを修正した。

vzFl.def の SFN → LFN 切り替えマクロ、修正前は

.:V	 (s-3)?{ r'W'-fg.51&4, >^ }		 ;walkmnu:fg+51 dw
	&Sc(si=pa,pi,3) r++.0-,di=r,cx=ha-4,	;without si,di,cx ?
	ax$71a0, &i($21) (ax-$7100)?{		;H.Konno for XP etc.
#if tVZ
	(fv&4)?fv1,?(lf!)??fv5, fv^=4,} 
	#V.	;5-->1-->LFN
#else
	} #V.	;5-->1
#endif


これを、下記のように修正

.:V	 (s-3)?{ r'W'-fg.51&4, >^ }		 ;walkmnu:fg+51 dw
	&Sc(si=pa,pi,3) r++.0-,di=r,cx=ha-4,	;without si,di,cx ?
	ax$71a0, &i($21) (ax-$7100)?{		;H.Konno for XP etc.
#if (rf<2)					; Rf 対応VZ
	(fv&4)?fv1,?(lf!)??fv5, fv^=4,} 
;	#V.	;5-->1-->LFN
	rf=lf,#V.	;5-->1-->LFN		; Rf を Lf と連動(仮)
#elseif (Lf<2)					; Lf 対応VZ
	(fv&4)?fv1,?(lf!)??fv5, fv^=4,} 
	#V.	;5-->1-->LFN
#else
	} #V.	;5-->1
#endif


ここからが本題です。

#if (rf<2)					; Rf 対応VZ
#elseif (Lf<2)					; Lf 対応VZ

ここで、Rf や Lf に対応したVZ だけ通り、それ以前のVZは、スルーします。
どちらもフラグなので、この式で0でも1でも真になります。
こういう形式にすることで、オリジナルのVZでも未定義のIDとしてスルーし、
エラーにならず、全てのVZで共通のマクロが動作します。

この形式は高橋版で拡張された機能ですが、説明はFGALDCの会議室のログ
にしか存在しないので、知らない人もいるのではないでしょうか。
 stkhlp.def の VZMACRO.SHD にもありませんでした。

ということで、stkhlp.def と VZMACRO.SHD にまで手を付ける羽目に。


# 海賊VZの船長は積み残したお宝を乗せるためにVZの載る船を作ってくれる
  船大工を仲間に引き入れた。
  いつでもどこでもVZしたい、が当初からのテーマ、船は多い方がいい。
  (VZを)産めよ増やせよ地に満てよ
  いよいよマクロの4高の一角に手を出す展開に。
  さあ、次はどんな冒険が待っているんだ。


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

7778MS-DOS Player 2017/8/12 の更新 投稿者:konno   2017/08/14(月) 20:28
  7758 番 konno さんへのコメント

MS-DOS Player が更新されていました。
以下引用です。

----------------------------------------------------------------
2017/8/12
キーバッファの処理を改良しました。
SO1において、キー入力が安定するようになりました。

従来は、MS-DOS Playerのコード上のFIFOバッファで管理していたのですが、
これを、BIOSデータエリア上のキーバッファで管理するようにしました。
キーバッファの内容を直接参照するソフトの動作が改善しているかと思います。

また、BIOSデータエリア上のキーバッファが空でない場合は、32msecおきに
IRQ1(キーボード割り込み)を発生するようにしました。
キーバッファにまだデータが残っているのに読みに来なくて、次にキーが押されて
割り込みが発生したときに、その前に押されてキーバッファに残っていたキーが
遅れて取り込まれて、今押されたキーは取り込まれないままバッファに残る、
みたいな状況が改善しています。

ただし、BIOSデータエリア上のキーバッファはたった16文字分しかありません。
これに収まりきらない分は、従来のFIFOバッファの方に入れておいて、
BIOSデータエリア上のキーバッファに空きができたら、従来のFIFOバッファから
順次移していくようにしています。
IME上で長い文章を入力して、一気に変換して確定すると、コンソールに対して
一気に入力が反映されるので、このような仕組みが必要になります。

2017/8/11
INT 10h, AH=0Ehを修正しました。
画面に1文字表示する機能ですが、AH=09h/0Ahと同様に、BHに出力先の画面番号が
入っているものと勘違いしていました。
現在選択されている画面への出力、ということでいいみたいですね。

MEU.COM対策で、キー入力をチェックをしながらスピンロックしている場合に、
Sleep(10)のかわりに、_mm_pause()を実行するよう修正した件について、
もう少し修正をおこないました。

2017/8/9
メモリユーティリティのMEU.COMの表示が遅い問題を修正しました。

キー入力の有無のチェックの処理を、短期間に繰り返し実行している場合には、
スピンロックをしていると見做して、キーチェック毎にSleep(10)してやることで、
キー入力をスムーズにする処理が入っています。
こちらのソフトでは、1文字表示する毎に、何故かINT 21h, AH=06h, DL=FFhで
キー入力のチェックをしており、上記の条件に当てはまっていたため、
1文字表示する毎にSleep(10)してしまっていました。

Sleep(10)の代わりに、_mm_pause()を実行するように修正しています。

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

おお、MEU の表示が速くなった。\(^^)/ ヤッタ-

最近はVZのほうを弄っているので、あまり動作報告できないです。
10#さんから頂いたパッチを積み残したままだったんですが
最近必要を感じて、泥縄を弄っているところです。例えば、

MS-DOS Player for Win32-x64 謎WIPページ

このような長いタイトルのWEBのページをテキストに落として
VZで見るのに、SFNだとタイトルがわかりにくいので
LFNで表示させたいが、半角空白があるとうまくないのです。

やっと形が出来てきたところですが、MS-DOS Player+VZだと
現状開けないので、まずVZをきちんと形にしないとね。
この文章はMS-DOS Player+VZで書いてます。

# 全てはVZのために


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

7777MS-DOS Player の使い方 投稿者:konno   2017/08/07(月) 00:06
  7776 番 konno さんへのコメント

MS-DOS Player のページが更新されました。  
今回は、MS-DOS Player の使い方の記事になっています。
長いですが以下に引用します。

----------------------------------------------------------
2017/8/4
子プロセスとして32bit/64bitのプログラムを実行できるようになった件ですが、
 子プロセスとして起動した32bit/64bitのプログラムが終了するまで、
MS-DOS Playerに処理が戻らないことを意識していただく必要があります。
 特に子プロセスとパイプを繋ぐときはご注意ください。

 例題として、TYPEコマンドとMOREをパイプで繋ぐケースを考えてみます。
 以下、話を単純化するため、64bit Windows上の話とします。
COMMAND.COM, MORE.COMは16bit、CMD.EXT, MORE.EXEは64bitのプログラムとします。
 使用するMS-DOS Player(MSDOS.EXE)も64bit版とします。


	>MSDOS.EXE COMMAND.COM
	>TYPE HOGE.TXT | MORE.COM

MS-DOS Player上で動いている、16bitのCOMMAND.COMと、16bitのMORE.COMを
 パイプで繋いでいますが、これは問題なく動作します。
このパイプは、MS-DOS Playerの仮想DOS環境上で繋がれたパイプとなります。


	>MSDOS.EXE COMMAND.COM
	>TYPE HOGE.TXT | MORE.EXE

子プロセスとして起動した64bitのMORE.EXEが終了するまで、MS-DOS Playerに
処理が戻りませんので、TYPE HOGE.TXTの出力はMORE.EXEに繋がりません。
つまり、MS-DOS Playerの仮想DOS環境上では、32bit/64bitの子プロセスと
 パイプを繋ぐことはできません。


	>MSDOS.EXE COMMAND.COM
	>CMD.EXE
	>TYPE HOGE.TXT | MORE.COM

MS-DOS Playerから子プロセスとして起動された64bitのCMD.EXE上では、
16bitのMORE.COMは動作しません。
また、CMD.EXE上でEXITして終了するまで、MS-DOS Playerには処理は戻りません。


	>MSDOS.EXE COMMAND.COM
	>CMD.EXE
	>TYPE HOGE.TXT | MORE.EXE

MS-DOS Playerから子プロセスとして起動された64bitのCMD.EXEと、64bitのMORE.EXEを
 パイプで繋いでいますが、これは問題なく動作します。
MS-DOS Playerとは関係なく、普通にコマンドプロンプト(CMD.EXE)を起動して、
 普通にTYPE HOGE.TXT | MORE.EXEを実行したときと同じ状況です。
このパイプは、64bit Windows上で繋がれたパイプだということにご注意ください。


	>MSDOS.EXE COMMAND.COM
	>CMD.EXE
	>TYPE HOGE.TXT | MSDOS.EXE MORE.COM

MS-DOS Playerから子プロセスとして起動された64bitのCMD.EXEと、別に起動された
MS-DOS Playerとパイプを繋いでいますが、これは問題なく動作します。
このパイプは、64bit Windows上で繋がれたパイプだということにご注意ください。
またこのとき、MORE.COMは、最初に起動したCOMMAND.COMとは別のDOS仮想環境上で
動作していることにご注意ください。


	>MSDOS.EXE COMMAND.COM /C TYPE.HOGE.TXT | MORE.EXE

64bitのMS-DOS Playerと、64bitのMORE.EXEをパイプで繋いでいますが、
これは問題なく動作します。
このパイプは、64bit Windows上で繋がれたパイプだということにご注意ください。
またこのとき、MORE.EXEは、MS-DOS Player上の子プロセスとしてではなく、
MS-DOS Playerとは別のプロセスとして起動していることにご注意ください。


	>MSDOS.EXE COMMAND.COM /C TYPE.HOGE.TXT | MORE.COM

MORE.COMは、MS-DOS Player上の子プロセスとしてではなく、MS-DOS Playerとは
別のプロセスとして起動することになりますが、勿論、64bit Windows上では
16bitのMORE.COMは動作しません。


	>MSDOS.EXE COMMAND.COM /C TYPE.HOGE.TXT | MSDOS.EXE MORE.COM

MS-DOS Playerと、別に起動されたMS-DOS Playerとパイプを繋いでいますが、
これは問題なく動作します。
このパイプは、64bit Windows上で繋がれたパイプだということにご注意ください。
また、COMMAND.COMとMORE.COMは、別のDOS仮想環境上で動作していることに
 ご注意ください。


	>MSDOS.EXE -cMORE32.EXE MORE.COM
	>MSDOS.EXE COMMAND.COM /C TYPE.HOGE.TXT | MORE32.EXE
	>MSDOS.EXE COMMAND.COM
	>CMD.EXE
	>TYPE HOGE.TXT | MORE32.EXE

16bitのMORE.COMを、MS-DOS Playerに埋め込んで、64bitのプログラムに変換すれば、
64bitのプログラムとパイプを繋ぐことが可能です。

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


どうやら、今回の32ビットのGrep が挙動不審だった原因も同じようですね。
16ビットのVZから32ビットの対話型コマンド(Grep)は使えないようです。
WGREPなどの16ビットのGrepを使えば問題ないということですね。

あるいは、shadowさんご紹介のKWIC FinderなどのGUIアプリを使って、
クリップボード経由でVZに張り付けるか。

今回の一連のVZ対応更新で、VZ使用環境が飛躍的に向上したのは間違いなく
本当にありがたいです。

よくわからないものを無理して使うのは素人ユーザーの所以か。


#ああ、またまた妄想が・・・


「消滅しただと!! 丸ごとか!!」
「よくわからないものを無理して使うから、使途が暴走したんだわ。」
「だがこれも全てシナリオ通りだ。四回文書が無くなるのも計画の内さ。」
「ああ、そうだな。」
「われわれが最初のVZを参考にして人の手で作り上げたものだからな。」
「VZ改シリーズは完成していたのか。」
「これで〇〇補完計画も進むだろう。」


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

7776Re^4: MS-DOS Player の試用報告 投稿者:konno   2017/08/02(水) 00:47
  7775 番 10♯ さんへのコメント    コメント数 1

> VTDOS+VZでも年数回はフリーズすることありますけどね…
> 初回リリース時点でその頻度には落ち着いてましたけど。

そうですね、VTDOS登場のころを思い出します。
それで思い出したのが、各種command.comの非互換性です。
#4473 で、Win98やWin95のcommand.com で

> dirとたたいた結果は

>> 'r' は、内部コマンドまたは外部コマンド、
>> 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

>なんか、最初の2文字がどこかに消えてしまった模様。

ということがあり、純DOSのcommand.comで調整されたVTDOSでは
Win98やWin95のcommand.com で ポインタのずれがあったような気がします。
MS-DOS PlayerはWin98のcommand.comを使用しているようなので、逆に
ポインタがずれたりとかないでしょうかね。

また、#5744 で、

> どうやら、DOSは、引数が無い場合、引数エリアのメモリをクリアしていないようです。
> なんという手抜き!!
> おそらくVTDOSと擬似常駐VZの環境ではクリアされていたということでしょうね。
> スペースによる違いはスペースまで読むか無視するかという動作の非互換性ですね。

と書いたように、command.com によって、スペースの処理とか違ったりして
今回の事象と何か関連ありそうにも思ったりしました。


> MS-DOS Player + yagrep
> C:\VZ\K07T5>C:\UT\YAGREP.EXE "AF"
> 'C:\UT\YAGREP.EXE" "AF' は、内部コマンドまたは外部コマンド、
> 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

これ、よく見ると引用符の位置がおかしくなっていますね。

C:\VZ\K07T5>C:\UT\YAGREP.EXE 'AF'

と変えてみたら、コマンド入力待ちになって、^C で終了出来ました。


あとは、編集中、特定の文字入力でVZマクロが起動したりしました。
VZのキーコード取得は変態的なことをやっているので
キーバインドの調整が必要かもしれないと素人考えで思いました。
編集中に固まったのはこれが原因かもと思いました。
いずれにしても、再現できないと特定が難しいですね。


ところで、今までの動作検証は全て非常駐VZでした。
MS-DOS Player ではまだVZを常駐で動作できていません。
どなたか常駐で使用できている人はいませんか?

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

7775Re^3: MS-DOS Player の試用報告 投稿者:10♯   2017/07/31(月) 21:52
  7774 番 konno さんへのコメント    コメント数 1

VTDOS+VZでも年数回はフリーズすることありますけどね…
初回リリース時点でその頻度には落ち着いてましたけど。
    - No.7775 -   [コメント元:7774]     [リストへもどる ]
soft

7774Re^2: MS-DOS Player の試用報告 投稿者:konno   2017/07/30(日) 15:47
  7773 番 konno さんへのコメント    コメント数 1

GREP の動作の違い

VTDOS + izgrep
VTDOS|C:\VZ\K07T5>C:\UT\IZGREP.EXE "AF"
^C で終了できる。

MS-DOS Player + izgrep
C:\VZ\K07T5>C:\UT\IZGREP.EXE "AF"
^Cが効かない、どのキーでも終了できない。


VTDOS + ygrep
VTDOS|C:\VZ\K07T5>C:\UT\YGREP.EXE
検索 pattern を指定してください。
ygrep.hlpをygrepを起動するdirectoryに置いてください。

VTDOS|C:\VZ\K07T5>C:\UT\YGREP.EXE "AF"
普通に検索されます。

MS-DOS Player + ygrep
C:\VZ\K07T5>C:\UT\YGREP.EXE
何もしない?

C:\VZ\K07T5>C:\UT\YGREP.EXE "AF"
何もしない?


VTDOS + yagrep
VTDOS|C:\VZ\K07T5>C:\UT\YAGREP.EXE "AF"
^C で終了できる。

MS-DOS Player + yagrep
C:\VZ\K07T5>C:\UT\YAGREP.EXE "AF"
'C:\UT\YAGREP.EXE" "AF' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。


MS-DOS Player +VZで操作中何度か完全に固まりました。
一度はファイラーだったかな? キーコード調査中だったかな?
一度は日本語文の編集中で、作成中の文章が保存できなくなって困った。
窓を閉じることもできない状態でした。
タイトルバーのアイコンをクリック→編集→全選択→コピー
で、表示画面のデータは別窓VZに保存出来た。やれやれ

int29h 対応でかなり手を入れてもらったので、その影響かも。
VZ固有の問題かもしれないですが、追及は難しいですね。
ということで、実用にはまだ厳しいです。


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

7773Re: MS-DOS Player の更新 2017/7/27版 投稿者:konno   2017/07/28(金) 21:55
  7772 番 konno さんへのコメント    コメント数 1

MS-DOS Player でVZをアセンブルしてみた。

ver
Windows 98 [Version 4.10.2222]

mk6.bat
Turbo Link  Version 2.0  Copyright (c) 1987, 1988 Borland International
msdos error, ax= 0006h
exe2com: can't find input file vzibmj.exe
exe2com 1.04 by Chris Dunford/The Cove Software Group

 ドライブ C: のボリュームラベルはありません.
 ボリュームシリアル番号は 0000-0000
 ディレクトリは C:\VZ\vzk\K07T4

ファイルが見つかりません.
                        24,118.86 メガバイトの空きがあります.


ということで、TLINK.EXE でエラーになって実行ファイルができないです。

Turbo Link  Version 2.0  Copyright (c) 1987, 1988 Borland International
Warning: no stack

正常ならこういう警告表示が出て、実行ファイルは出来ます。
警告表示でエラーになって終了しているのかな?

いっぽう、comannd.com 6.20 の場合、DELコマンドでエラーになります。

ver
MS-DOS Version 6.20

del *.obj
不明なエラーです.


VZ使用で出る不具合もあるかもしれませんが、実用にはもう少し検証を
続けるようですね。使いながら気づいたことを書いていきます。


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

7772MS-DOS Player の更新 2017/7/27版 投稿者:konno   2017/07/27(木) 21:42
  7771 番 konno さんへのコメント    コメント数 1

MS-DOS Player 2017-07-27版が出ました.

以下、更新内容の引用です。
--------------------------------------------------------
2017/7/27
通常のMS-DOS環境上で、Win32/64のプログラムを実行すると、
This program cannot be run in DOS mode.
と表示されて、そのままプログラムが終了するようになっています。
これは、Win32の実行ファイルのヘッダ内に、このようなメッセージを表示して
そのまま終了するようなMS-DOS用スタブプログラムが埋め込まれて、
MS-DOS環境ではそちらが実行されるようになっているからです。

MS-DOS Player上でWin32のプログラムを実行した場合も同様の動作でしたが、
INT 21h, AX=4B00h, INT 2Eh, またはINT 2Fh, AX=AE01hなどのサービスで、
Win32のプログラムを子プロセスとして起動しようとした場合は、
system() Win32 APIを使って、Win32の子プロセスとして実行するようにしました。
このとき、子プロセスが終了するまで、MS-DOS Playerは待機します。

ただし、INT 21h, AX=4B01h/4B03hなど、プログラムファイルをロードするだけで、
実際には実行しない場合は、プログラムファイルがそのままロードされます。
その後に、メモリ上にロードしたプログラムに処理が移った場合は、従来通り、
This program cannot be run in DOS mode.が表示されて終わりです。

なお、指定されたコマンドラインをそのまま丸ごと、system()に投げています。
16bitのプログラムとパイプで繋ぐようなケースは考慮していません。
また、子プロセスがコンソールに文字を表示する際、MS-DOS Player側のINT 29hは
経由されませんのでご注意ください。

こちらの処理は、あくまで子プロセスの起動時のみとなります。
「msdos (プログラム名)」で起動時に指定したプログラムがWin32の場合は、
This program cannot be run in DOS mode.が表示されますが、
この場合は素直に対象のプログラムを直接起動してください、ということで(を

MS-DOS PlayerでCOMMAND.COMを実行して、その上でWin32のコンソールアプリを
シームレスに使用できるようになっているかと思います。

Windows上でVZエディタを使用する際、CLPPST.EXEというWin32のプログラムを使って、
Windows側のクリップボードと連携しているそうです。
今回の修正で、この仕組みが動くようになっているといいのですが…。
素直にINT 21h, AX=4B00h辺りを使っててくれれば大丈夫だと思うんですけどね。

# DOS時代はSEDIT派でしたので、VZエディタの使い方をよく知らなかったり(苦笑)
# 検証ご協力お願いいたします>今野様

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

ということで、MS-DOS Player上のVZで CLPPST.EXEが動くようになりました。
その他のWin32プログラムもばっちり動いています。
武田さん、ありがとうございます。

前回の記事で
> command.com についてですが、Win98 の command.com が良いようです。
> Dir で LFN が表示出来ます。
> -V オプションがあると起動できないみたいです。
と書きましたが、使い方がいまいちわかっていなかったようです。
武田さんからメールを頂いたので引用します。

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

Microsoft純正のCOMMAND.COMは、INT 21H, AX=3306Hを使ってDOSのバージョンを取得して、
それが期待した値であるかをチェックするようになっています。
デフォルトではV7.10を返すようになっていますので、Win98のCOMMAND.COMを使う場合は
-vオプションを指定しなくてもそのまま動作します。
(逆に、V7.10以外を-vオプションで指定してしまうと動作しなくなります。)

例えばMS-DOS V6.22のCOMMAND.COMを使用する場合は、"msdos -v6.22 command.com"のように
バージョンを指定する必要があります。
または、MS-DOS Player内蔵のデバッガを使って、INT 21H, AX=3306Hを呼んでいるところで
ブレークを掛けてやれば、起動時のバージョンチェックのルーチンを簡単に見つけられますので、
ルーチンを潰すようにCOMMAND.COMにパッチを当ててもいいかと思います。

FreeDOSで使われているFreeCOM辺りだと、そもそもバージョンチェックすらしてないので、
こちらを使う方が簡単かもしれません。

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

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

7771MS-DOS Player の更新 2017/7/24版 投稿者:konno   2017/07/26(水) 01:32
  7758 番 konno さんへのコメント    コメント数 1

MS-DOS Player 2017-07-24版が出ました.

以下、更新内容の引用です。
--------------------------------------------------------
2017/7/24

キーの押し離し、キーの読み込みがあった際に、BIOSデータエリア内にある、
キーバッファの内容や、キーバッファの書き込み・読み込み位置の情報を、
然るべく更新するように修正しました。
キーバッファの内容を直接参照するソフトが動作するようになったかと思われます。

こちらの不具合は、Pedro Pablo Lopez Rodriguez様にご指摘いただきました。
スペインのマドリード工科大学(Polytechnic University of Madrid)で、
Operating Systemの教授をされているそうです。
もし拙作が、教育や研究のお役に立てているようでしたら光栄ですね。

Shift+F8〜F10、Ctrl+F1を入力できない不具合を修正しました。
WindowsキーおよびMenuキーを無視するために、スキャンコードが5Bh〜5Ehの場合は
キーバッファに入れないようにしていたのですが、
ShiftまたはCtrlキーとファンクションキーを同時に押したときのスキャンコードで、
5Bh〜5Ehになるものがあり、これらも無視されてしまっていたようです。

また、-nオプションが機能していなかった不具合を修正しました。

これらの不具合は、前回に引き続き、金野様にご指摘いただきました。

INT 29hの処理中、TSCが正しく更新されない不具合を修正しました。
RDTSC命令はPentium以降ですので、リリースしているバイナリでは無関係です。

また、INT 29h、またはINT 21h/2Fhでキー入力待ちなど時間が掛かるサービスの実行中に、
タイマ割り込みによって更にINT 21h/2Fhで時間が掛かるサービスを呼び出した場合は、
サービスの処理待ちの為に更に別スレッドを立ち上げないようにしました。
普通はそのようなことはないかと思いますが、念のための安全対策です。


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

ということで、Shift+F8〜F10、Ctrl+F1の不具合が修正されました。
武田さん、ありがとうございます。

command.com についてですが、Win98 の command.com が良いようです。
Dir で LFN が表示出来ます。
-V オプションがあると起動できないみたいです。

MEU というメモリ表示ソフトは表示が超遅いですね。
どこかでウエイトが効いているのかな。


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

7770Re^3: 新コンテンツ 「BBS 新着情報」 Ver0.4 投稿者:konno   2017/07/24(月) 23:22
  7769 番 めざら さんへのコメント

> こりゃーいいや。
> ブラウザのホームにある野ざらしをこっちに差し替えちゃえ。

おお、需要があったようで。(^_^)
私も更新チェックのためにいくつもクリックしていたのが一回で済むように
なったので、サンプルを提供してくれたとしきさんに感謝です。

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

7769Re^2: 新コンテンツ 「BBS 新着情報」 Ver0.4 投稿者:めざら   2017/07/24(月) 15:33
参照先:http://mezala.la.coocan.jp/
  7768 番 konno さんへのコメント    コメント数 1

こりゃーいいや。
ブラウザのホームにある野ざらしをこっちに差し替えちゃえ。
    - No.7769 -   [コメント元:7768]     [リストへもどる ]
soft

7768Re: 新コンテンツ 「BBS 新着情報」 Ver0.4 投稿者:konno   2017/07/24(月) 01:05
  7757 番 konno さんへのコメント    コメント数 1

タマの猫ハウス新コンテンツ 「BBS 新着情報」Ver0.4 に更新しました。
としきさんから頂いた、LWPのソースを元にしています。
板塀の対応ありがとうございます。

VTDOS BBS
やしきの板塀
野ざらし言
今日のテーマ
の新着記事4タイトル表示します。


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

7767Re^2: MS-DOS Player の現状 投稿者:konno   2017/07/21(金) 23:57
  7766 番 konno さんへのコメント

> > C:\UT\msdos.exe -x -v7.0 e:\command /c c:\ut\vzp.bat
> さて、この指定で Windows10 Pro Ver 1607 のノートPCは動くが
> Windows10 Home Ver 1703 のデスクトップPCが動かない。
> この詳細はもっと調べてから書きますが、まず現状の問題点を。

調べてみると、幽霊の正体見たり、みたいな面妖なことになっていた。
DOS6.2のcommannd.com が悪いのかも、と思ってFreeCOMのに入れ替えようと
VZで削除しようとしたが出来ない。他で使っていないのを確認して
エクスプローラーで削除しようとしたがファイルが見つからない。

システムファイルが表示されてないのかと確認し、隠しファイル
の表示にチェックを入れたら見えるようになった。
よく見ると、アイコンの色が薄いので、隠し属性になっているのか?
だが、VZの属性表示では何も属性が付いていない。
取りあえず、エクスプローラーで削除して、FreeCOMのに入れ替えた。

そうしたら、あっけなくMSDOS Player が動きましたよ。何だったんだ。

ところが今度はフォントのトラブルが。
英語モードになったのか、変なフォントに切り替わってしまった。
MSゴシックも消え、ターミナルもサイズ表示が消えて最小表示になる。

再起動しても変わらず、何をしても直らない。
色々試行錯誤した末にやったことはよく覚えていないが、たぶん
最小表示のまま起動させ、その窓の上のアイコンを右クリック
プロパティのフォントタブを開き、たぶん数字入力窓に20と入れて
Enter したら直ったみたいな。

ところで、CLPPST.EXE が動きませんね。古いデータを貼り付けるだけで
別窓のデータの切り張りができないです。

c:\vz\CLPPST.EXE /W c:\vz\CLPPST.TMP
This program must be run under Win32

コンソールの履歴にはこんな表示が。
32ビットコマンドがだめなのかなあ。

ZCPY32もダメみたい。

c:\vz\CLZCPY32 /u C:\VZ\-LES\12C1EA~1 C:\UT\IME
This program cannot be run in DOS mode.

ちょっと表示の化けがあるかな。

ZCPY32 /u C:\VZ\-LES\12C1EA~1 C:\UT\IME
This program cannot be run in DOS mode.

もう一度実行したら違う表示に。

ここまでMSDOS Playerで書いたが、CLPPST.EXEが動かないので
SAVEしてVTDOS窓で開いて切り貼りする羽目に。(^^;

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

7766Re: MS-DOS Player の現状 投稿者:konno   2017/07/20(木) 20:18
  7759 番 konno さんへのコメント    コメント数 1

ショート−カットアイコンのプロパティのリンク先に

C:\UT\msdos.exe -x vzibmj.com /vz -nq

で取りあえずVZは起動しますが、やはり commannd.com が無いとまともに動かない。
この環境で、set , Ver などのコマンドは動くが、CMD.EXE なのかしら?
これらの内部コマンドはVZのコンソールに反映されません。
 toint29 を使用してもダメなので、もしかして内部コマンドとか?

この環境での Vmap これはVZのコンソールに反映されます。

VMAP Version 2.01  Copyright (C) 1989-91 by c.mos

addr PSP  blks   size  owner/parameters           hooked vectors
---- ---- ---- ------  -------------------------  -----------------------------
0205 sys    4    9152  <config>
0445        1    8192  <free>
0646 <--    1    3888  vzibmj 1.60t /vz -nq       1B 22 29
073A        1  724032  <free>
B800 sys    1       0  <config>

----- EMS ver4.0 (frame: C000h) -----       ----- XMS ver3.00 -----
handle pages   size  name                   HMA not used
------ ----- ------  --------               EMB free: 31680 KB
  free  2033 32528k
 total  2048-32768k


> command.com を使えば、BAT も常駐もできます。
> C:\UT\msdos.exe -x -v7.0  e:\command /c c:\ut\vzp.bat

さて、この指定で Windows10 Pro Ver 1607 のノートPCは動くが
 Windows10 Home Ver 1703 のデスクトップPCが動かない。
この詳細はもっと調べてから書きますが、まず現状の問題点を。

 shift + F08〜F10 キーが効かない
 ctrl  + F01 キーが効かない

これは痛いです。切り貼りなどで使っているので、これが使えないと実用出来ない。
この文は最初素のVZで書き始めたが、マクロも動かないので、Vmapの表示だけ。
次にcommannd.com経由のVZで続きを始めたが、切り貼り出来なくて即諦めました。

VTDOS 付属の KEYCODE.EXE で、キーコードが発行されてないのを確認しました。
 alt + F04 でMS-DOS Player が終了するのは仕様だから仕方ないですね。

ああ、やっぱりVTDOS環境は極楽だぁ。

> MSDOS Ver2.0〜Ver7.1 Win98のcommand.comまで動くそうです。
> PCDOS,DRDOSやFreeCOMやGRDOSまでも・・・凄いですね。

すみません、GRDOS は勘違いだったようです。
 GWBASIC をなぜかGRDOS と思い込んでしまったようです。
もうろくじじいだなぁ。

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

7765Re: マッシュアップもどき その2 投稿者:konno   2017/07/19(水) 07:18
  7764 番 としき さんへのコメント

> ご要望にお答えして、いろいろと検討してみました。
> まず、#7733で検討依頼を受けた更新情報の件。
> 結局、サーバ上で時刻指定でバッチを動かし、定期的に更新情報をアップロード
> することにしました。アップロード先はLaCoocan。URLは以下のとおり。
> tp://toshiki.la(略)jp/itabei.rss


おお、ブラウザで開くとRSSの更新情報そのままなんですね。
対応いただきありがとうございます。

> 次に、このRSSを使って、再びマッシュアップもどきを作ってみました。
> 今度は、うちの板塀とVTDOSの掲示板です。

おおお、これはいいですね。完璧です。

> その他、いろいろと小技も盛り込んでいます。
> 例えば、文字コードの変換。
> せっかく、LaCoocanにはEncodeってライブラリが組み込まれているのですから、
> こいつを使いましょうよ、というサンプルになっています。

うおおお、凄いですね、やっぱりライブラリで出来たんですね。

> 最後、おまけ。
> これはもしかしたら10#さんが嫌がるかな。
> VTDOS BBSへのリンクに、妖しいオプションを仕込んでみました。
> FC2 BBSにはこんな機能もあるんだよ、というサンプルになっています。

おお、わくわく、これから中身を見てみます。

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

7764マッシュアップもどき その2 投稿者:としき   2017/07/18(火) 16:08
参照先:http://toshiki.la.coocan.jp/
   コメント数 1

ツリーも大きくなっているので、新しいツリーを起こします。

ご要望にお答えして、いろいろと検討してみました。
まず、#7733で検討依頼を受けた更新情報の件。
当初は、投稿があるたびにどうするか、ということを考えていました。
実際、とりあえず動く程度のサンプルを実装してみたのですがね。
ちょっとサーバのタイミングがずれるだけでエラーを吐いてくださる。この点は、
ロジックを変更せずとも、もっと速いサーバならば問題は出ないはずです。
あと、このルーチンをどこに入れるか、というのも問題。
投稿完了メッセージ出力直前が一番簡単なんですが、するとエラーになった場合、
投稿が完了しているにもかかわらずエラーメッセージが表示されるわけで、これ
はよろしくない。
また、発言の修正や削除があった場合にも情報は更新される必要があると思うの
ですが、そんなあちこちに不安定なルーチンを仕込みたくないというのもあって。
結局、サーバ上で時刻指定でバッチを動かし、定期的に更新情報をアップロード
することにしました。アップロード先はLaCoocan。URLは以下のとおり。
tp://toshiki.la(略)jp/itabei.rss
わざと、微妙に正時からずれた時刻にしてありますが、毎日、だいたい午前4時
ごろにアップロードされます。こういう形なので、即時性は担保されませんが、
少なくとも1日たてば確実に更新情報は反映されます。

次に、このRSSを使って、再びマッシュアップもどきを作ってみました。
今度は、うちの板塀とVTDOSの掲示板です。
当初はVTDOSの掲示板もRSSを取得する形にしたかったのですが、FC2のBBSで提供
しているRSSって、件数が少ないのですね。
でも、そうしなかった最大の理由(または本当の理由)は、日付の形式。
月が、数字ではなく、アルファベット3文字だったのですね。
これの変換が、難しくはないのですが、面倒で。
いや、面倒というのも変か。関数一発ですから。
やっぱり、件数が少ないことが真の理由かも。

その他、いろいろと小技も盛り込んでいます。
例えば、文字コードの変換。
せっかく、LaCoocanにはEncodeってライブラリが組み込まれているのですから、
こいつを使いましょうよ、というサンプルになっています。
使い方としては、
  外部から読み込んだデータは内部コードにdecode
  外部にデータ出力する前に内部コードからencode
  文字列処理は内部コードで行う
  ただし、スクリプト自体がShift-JISなら、日本語の文字列定数もdecode要
  (スクリプト自体がUTF-8なら文字列定数の処理不要)
といったところでしょうか。

最後、おまけ。
これはもしかしたら10#さんが嫌がるかな。
VTDOS BBSへのリンクに、妖しいオプションを仕込んでみました。
FC2 BBSにはこんな機能もあるんだよ、というサンプルになっています。

ということで、いろいろと怪しいサンプルCGIのURLは以下のとおりです。
tp://toshiki.la(略)jp/cgi-bin/rssget.cgi
例によって、拡張子を変更すればダウンロード可能。
もちろん、サンプルなんで、エラーチェックは甘アマ。
顕在化していませんが、動かないパターンやこけるパターンは頻出の予定です。
    - No.7764 -             [リストへもどる ]
soft

7763Re^4: 新コンテンツ 「BBS 新着情報」 Ver0.3 投稿者:konno   2017/07/17(月) 21:20
  7762 番 としき さんへのコメント

> タイトルではなく、本文に 2017-07-14といった日付が入っているのがいけないの
> ではないかと思います。

うう、完全にボケてました。頭が全く働かなくなってますね。(;_;)


> あと、今日のテーマの新着情報だけ、不等号が尻尾にくっついていたりします。
> それから、太字指定タグがついているけど閉じタグがないとか、なんかいろいろ
> 微妙に不自然。

正規表現の使い方がわかっていませんでした。
夜も寝ないで昼寝して試行錯誤を重ねてやっとまともになったと思います。

> > 早速VerUPか(違うって)
> いや、違いません。
> ここは一発、ぜひとも。

VerUP って、改善されたものを言うイメージを持っているんです。
今回のは単なるバグ取りなんでねぇ。
仕事では書類などの更新を リビジョンアップと呼称しているので
どう違うのかなと思ったら

> 「バージョン」は「版」と言う意味で、ソフトウェアの機能が異なる(機能の追加や変更がある)場合に異なった番号になります。
> 「リビジョン」とは「修正」「改訂」といった意味で、機能は変更せずに不具合を修正する場合にリビジョン番号を変更します。

こういうことですか。
表示ではなく呼び方的な違いということかな。
せっかくなので、見栄えも少し弄りました。

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

7762Re^3: 新コンテンツ 「BBS 新着情報」 投稿者:としき   2017/07/16(日) 13:45
参照先:http://toshiki.la.coocan.jp/
  7761 番 konno さんへのコメント    コメント数 1

> ああそうか、タイトルに日付を入れたせいか。なんでかなぁ〜と思ってました。

タイトルではなく、本文に 2017-07-14といった日付が入っているのがいけないの
ではないかと思います。
あと、今日のテーマの新着情報だけ、不等号が尻尾にくっついていたりします。
それから、太字指定タグがついているけど閉じタグがないとか、なんかいろいろ
微妙に不自然。

> 早速VerUPか(違うって)

いや、違いません。
ここは一発、ぜひとも。

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

7761Re^2: 新コンテンツ 「BBS 新着情報」 投稿者:konno   2017/07/15(土) 23:53
  7760 番 としき さんへのコメント    コメント数 1

> いや、何がいいたいかというと、バグってます。

思いっきりバグってましたね。

> それも、私のサンプルからして。
> まさに、#7326で私が書いた事の類例といってもいいかも。

うう、1年以上前の書き込みですか、ほとんど覚えてない・・・
ツリーがやたら長いし、思わず読みふけってしまうし・・・

> 何が悪いかというと、発言日時の取得ルーチン。
> これ、最低限のチェックしかしていません。なので当然、余分なものがいっぱい
> 引っかかってきてしまいます。

ああそうか、タイトルに日付を入れたせいか。なんでかなぁ〜と思ってました。
早速VerUPか(違うって)


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

7760Re: 新コンテンツ 「BBS 新着情報」 投稿者:としき   2017/07/15(土) 13:49
参照先:http://toshiki.la.coocan.jp/
  7757 番 konno さんへのコメント    コメント数 1

> 永遠のみかん製ともいう。

みかんせいじんのこうげき!
うゎ〜、やられたぁ〜!

いや、そうではなくて。
大元のサンプルにバグがあると、それをそのまま使ったプログラムにも当然バグ
が組み込まれるわけで。
いや、何がいいたいかというと、バグってます。
それも、私のサンプルからして。
まさに、#7326で私が書いた事の類例といってもいいかも。

何が悪いかというと、発言日時の取得ルーチン。
これ、最低限のチェックしかしていません。なので当然、余分なものがいっぱい
引っかかってきてしまいます。
結果、#7758のように、発言本文中に日付形式の文字列があると、その部分が全て
発言日時のフィールドだと誤解して、以下、不具合発生。
解決策は、チェックを厳しくすること。

とりあえず、うちのdummy.cgiは、今回のkonnoさんの発言だけは誤認しない程度
にチェックを厳しくしましたが、当然、その程度はすり抜ける発言が現れること
は十分に考えられます。

この際、きちんと対応されることを強くお奨めいたします。

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

7759MS-DOS Player の使い方と利点 投稿者:konno   2017/07/15(土) 01:03
  7758 番 konno さんへのコメント    コメント数 1

・MS-DOS Player の使い方と利点

i486_x86 の中のmsdos.exeをパスを通したフォルダにコピーして
ショート−カットアイコンのプロパティのリンク先に

C:\UT\msdos.exe -n40,120 vzibmj.com /vz

と入れて起動したら、120桁40行のV-TEXTで起動する


・・・と思ったら、今回のVerでは、80桁25行のままみたい。
どうやら、-n を入れるとダメみたいですね。
-n は使えないが、プロパティの中のレイアウトで行桁数変更できます。

command.com を使えば、BAT も常駐もできます。

C:\UT\msdos.exe -x -v7.0 e:\command /c c:\ut\vzp.bat


・MS-DOS Player の利点

多種類のcommand.com が動作する
MSDOS Ver2.0〜Ver7.1 Win98のcommand.comまで動くそうです。
PCDOS,DRDOSやFreeCOMやGRDOSまでも・・・凄いですね。
ただ、Win95のcommand.comで試したら、DIRが表示しないようです。
なので、現状 DIR でLFN表示は実現出来ていません。

ソーサーが動く(英語版ソフトなので文字化けはするが80*25で)
VTDOSでは動かないソフトも動く可能性があるということですね。


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

7758MS-DOS Player の更新 投稿者:konno   2017/07/14(金) 23:42
   コメント数 3

MS-DOS Player 2017-07-14版が出ました!!
最近頻繁に更新がありましたが、今回の更新はびっくり!!うれしい!!

MS-DOS Player for Win32-x64 のページです。
http://takeda-toshiya.my.coocan.jp/msdos/index.html

以下、更新内容の引用です。
--------------------------------------------------------
2017/7/14
INT 21h, AX=440Ch, CL=5Fhをサポートしました。
INT 2Fh, AX=1A01h, CL=5Fhをサポートしました。
いずれもディスプレイの情報を設定するサービスですが、画面サイズのみ設定可能です。
MODE CON COLS=40 LINES=25とか出来るようになっているかと思います。

INT 21h/2Fhのサービスによって、コンソールに文字を表示する際に、
INT 29hの処理がフックされている場合は、INT 29hを経由するように修正しました。

制限として、INT 29hの処理がフックされている場合、STDINからの入力を待って、
更に入力に対してエコーを返すサービス(INT 21h, AH=01h/0Ah/3Fh)を実行中は、
仮想マシンのCPUの動作が停止して、タイマ割り込みが発生しなくなります。

これらのサービスの入力待ちの処理は、仮想マシンのCPU上でループするのではなく、
MS-DOS Playerのサービスの処理上でループすることで待機しています。
この待機中も、タイマ割り込みが発生できるように、CPUを回し続けるために、
別スレッドでサービスの処理を実行して、そちらで入力待ちをしてやって、
メインスレッドでは、CPUでダミールーチンを実行し続けるようになっています。
(この辺りについては、2017/2/22の記事をご参照ください。)

この別スレッドで実行しているサービスの処理内で、コンソールにエコーを返す際に、
INT 29hを実行するために、メインスレッドで回っているCPUに茶々を入れることが
構造的にとても難しかったため、INT 29hの処理がフックされている場合は、
サービスの処理をそのままメインスレッドで実行するようにしました。
このとき、メインスレッドで入力待ちをしている間、CPUの動作が停止してしまうため、
タイマ割り込みは発生できなくなります。

また、INT 29hの処理内で、再度コンソールに文字を表示するINT 21h/2Fhのサービスが
呼び出された場合、無限ループに入らないように、INT 29hは再発生しません。

今回の実装で、CPUコアからDOSのシステムコールのエミュレーションが呼ばれて、
その中で、INT 29hを実行してIRETするまでCPUコアを回してやって、
その中で、またDOSのシステムコールのエミュレーションが呼ばれて、といった感じで、
再入することを想定していなかった色々な処理を再入しまくってます。
何かしら処理に矛盾を来たしていないか、安定性に問題ないか、色々と苛めテストに
ご協力いただけますと幸いです。

本件は、VZエディタの私家版を開発されている、金野様よりご指摘いただきました。
VZエディタからDOSコマンドを実行する際に、INT 29hをフックすることで、
DOSコマンドの実行結果を取り込む、みたいなことをしているそうです。

Windows NTやOS/2上のコマンドプロンプトでも、コンソールに文字を表示する際に、
INT 29hを経由しないそうですが、意外と互換性が微妙なんですかね?
(この問題を補うために、toint29というソフトが公開されています)

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

ということで、実はMS-DOS Player 作者の武田さんに、
VZのコンソールが使えるようにならないかメールしたのです。
構造的に難しいとのことで、諦めていたんですが、実現してくれました!!
超嬉しいです!!

VZerにとってコンソールは大きな武器なので、これが使えないと実使用が難しい。
これから MS-DOS Player を本格的に試験運用していくつもりです。

武田さん、本当にありがとうございます。

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

7757新コンテンツ 「BBS 新着情報」 投稿者:konno   2017/07/12(水) 23:29
   コメント数 2

タマの猫ハウスに新コンテンツ 「BBS 新着情報」(仮)を追加しました。

トップページの一番下のリンクです。

としきさんから頂いた、LWPのソースを元にしています。
ありがとうございます。

VTDOS BBS
野ざらし言
今日のテーマ
の新着記事3タイトル表示します。

VTDOS BBS は解析が不十分なので、親記事が上になる変則的な表示になっています。

完全試行錯誤の泥縄式(縄文式)どつぼです。

永遠のみかん製ともいう。

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

7756Re^29: 壁の穴 投稿者:konno   2017/07/11(火) 22:55
  7755 番 としき さんへのコメント

> うちで試すと直っているようなんですけど。
> もしかして、ブラウザ側に問題があって、フレームの中が再読み込みされていない
> とか。

あれ? 今試したら直ってる!?
共用のPCでは直ってましたね。
ノートPCのほうは、挙動がちょっと違っていて、フレーム無しの表示になりました。
再読み込みしたらフレームが現れてそれ以降は増殖しなくなりました。
うう、フレーム無しがよかったのにぃ・・・・

> 暴走っていうのは、制御が効かない状態なワケです。
> なので、設計の段階で、きちんと負帰還が効くようになっていれば、ちょっとや
> そっとはメンテの手を抜いても、大抵は大丈夫なはずなんですがねぇ。

機械はそうなんですが、最近の暴走は人の誤操作や思い込みやなんやらで
人間系の暴走が増えていますよね、

でも壁の穴をふさげばもう安心。
さあ、これから人類の反撃ののろしをあげ
人類補完計画の完遂だぁ!!



・・・ああ、暴走が止まらない。


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

7755Re^28: 壁の穴 投稿者:としき   2017/07/10(月) 13:30
参照先:http://toshiki.la.coocan.jp/
  7754 番 konno さんへのコメント    コメント数 1

> えーと、試した範囲では変わっていないような気がします。
> 以下に直リンクを

うちで試すと直っているようなんですけど。
もしかして、ブラウザ側に問題があって、フレームの中が再読み込みされていない
とか。
まず、再読み込みしないで状況が再現するか確認し、それから再読み込みして、
さらに状況が再現するか確認してみてください。あと、ブラウザが異なると
状況が異なるという可能性もあるかもしれません。


> これが切れると暴走が止められないわけですね。(^^;
> やはりメンテは大事ということでまとまるのだらうか。

暴走っていうのは、制御が効かない状態なワケです。
なので、設計の段階で、きちんと負帰還が効くようになっていれば、ちょっとや
そっとはメンテの手を抜いても、大抵は大丈夫なはずなんですがねぇ。
例えば、原子炉でも、既存の商用炉は穴をあけると冷却が止まって暴走しますが、
開発中の高温ガス炉なんかでは、冷却を止めると反応が止まる方向に進むように
なっているわけだし。もちろん、穴をあければ放射能は漏れますし、利点がある
だけ欠点も多々あるはずですけどね。

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

7754Re^27: 壁の穴 投稿者:konno   2017/07/09(日) 19:08
  7753 番 としき さんへのコメント    コメント数 1

> とりあえず、無限に増殖する問題に対して、最終的な解決を与えることができた
> ようです。

えーと、試した範囲では変わっていないような気がします。
以下に直リンクを

  http://152.081.hinocatv.ne.jp:9801/bbs/wforum.cgi

これで見てもらえますか。
まあ、「掲示板トップ」という罠を踏まなければ問題ないんですが。

板塀#2737 のようなリンクは正常に動作しているようです。
この応用で更新情報できないかしらん。

> AT field ではなく AT fluid なら、そこらのイエローハットあたりで売っている
> かも。エネルギー保存則は維持されるはずですが。

これが切れると暴走が止められないわけですね。(^^;
やはりメンテは大事ということでまとまるのだらうか。

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

7753Re^26: 壁の穴 投稿者:としき   2017/07/09(日) 01:54
参照先:http://toshiki.la.coocan.jp/
  7752 番 konno さんへのコメント    コメント数 1

増殖といったらYMOのアルバム。
#古いなぁ

とりあえず、無限に増殖する問題に対して、最終的な解決を与えることができた
ようです。宇宙のかなたへ送ったわけではありません。
そうです、残さず食べてしまえばいいのです。
#それはくりまんじゅう

って、これも古いネタですな。
まじめな話、何とか解決したっぽい。
例によって、十分な試験は行われておりません。


> 実は、板塀の直リンクをお気に入りから行くとフレーム無しになるんですね。
> ところが、うちの掲示板に張り付けた直リンクをクリックすると・・・
> なんと、無いはずのフレームが現れるではないですか。

過去数年は、お気に入りからもフレームが現れるようになっていました。
ところが、ほんの数ヶ月前、それでは不都合がある状況というものが存在する
ことに気がつきまして。あいにく、私の技術力では、その辺の問題を解決できな
かったので、このような仕様となっております。

> やっぱりATフィールドは存在したのか。

AT field ではなく AT fluid なら、そこらのイエローハットあたりで売っている
かも。エネルギー保存則は維持されるはずですが。

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

7752Re^25: 壁の穴 投稿者:konno   2017/07/08(土) 22:06
  7750 番 としき さんへのコメント    コメント数 1

> > ところで、板塀のフレームの中の「掲示板トップ」というリンクを
> > クリックすると、フレームが無限に増殖しますね。

なるほど、ようやくわかってきましたよ。
実は、板塀の直リンクをお気に入りから行くとフレーム無しになるんですね。
ところが、うちの掲示板に張り付けた直リンクをクリックすると・・・
なんと、無いはずのフレームが現れるではないですか。
こ、これは・・・

CGI経由を検知したらごにょごにょ・・・ですか〜

やっぱりATフィールドは存在したのか。
それも、無限力の井出ONの謎の壁力か。
壁は伝説の巨人に守られていたのだらうか。


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

7751Re^9: LaCoocanのCGIでXMLの解析 投稿者:10♯   2017/07/08(土) 02:16
  7749 番 konno さんへのコメント

エラーの内容が分からないのでなんともあれなんですけど、
LaCoocanでは JSON は使えないようになってるのかな?
ハッシュが使えないって事はないと思うんだけど…

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