[HOME]  [リストへもどる]
一括表示

  IME制御つきのVz(ckwv+vtdos) - 文太 14/05/09-02:26 No.6446
  ┣ Re: IME制御つきのVz(ckwv+vtdos) - konno 14/05/10-11:57 No.6447
  ┃┣ Re^2: IME制御つきのVz(ckwv+vtdos) - 文太 14/05/10-14:11 No.6448
  ┃┃┗ IME制御のチェック(VTDOS) - 文太 14/05/10-14:13 No.6449
  ┃┣ Re^2: IME制御つきのVz(ckwv+vtdos) - 文太 14/05/10-14:47 No.6450
  ┃┃┗ &g()の何かのクセに引っかかっている??? - 文太 14/05/10-20:21 No.6452
  ┃┃ ┗ Re: &g()の何かのクセに引っかかっている??? - konno 14/05/11-14:49 No.6457
  ┃┃  ┗ Re^2: &g()の何かのクセに引っかかっている??? - konno 14/05/11-23:38 No.6461
  ┃┃   ┗ Re^3: &g()の何かのクセに引っかかっている??? - 文太 14/05/12-01:04 No.6462
  ┃┃    ┗ &g()だけとは言えない - 文太 14/05/12-21:40 No.6466
  ┃┗ Re^2: IME制御つきのVz(ckwv+vtdos) - 10# 14/05/11-02:20 No.6453
  ┃ ┣ Re^3: IME制御つきのVz(ckwv+vtdos) - 文太 14/05/11-10:51 No.6454
  ┃ ┣ vtdos138での32ビットコマンド - konno 14/05/11-14:50 No.6458
  ┃ ┃┗ Re: vtdos138での32ビットコマンド - 10# 14/05/11-15:56 No.6459
  ┃ ┃ ┗ Re^2: vtdos138での32ビットコマンド - konno 14/05/11-17:26 No.6460
  ┃ ┃  ┣ Re^3: vtdos138での32ビットコマンド - 文太 14/05/12-01:21 No.6463
  ┃ ┃  ┗ Re^3: vtdos138での32ビットコマンド - 10# 14/05/12-03:07 No.6464
  ┃ ┃   ┗ Re^4: vtdos137〜139の空きメモリ - konno 14/05/12-21:27 No.6465
  ┃ ┃    ┗ Re^5: vtdos137〜139の空きメモリ - 10♯ 14/05/12-22:39 No.6467
  ┃ ┃     ┗ Re^6: vtdos137〜139の空きメモリ - konno 14/05/14-00:30 No.6468
  ┃ ┗ Re^3: IME制御つきのVz(ckwv+vtdos) - 文太 14/05/16-21:50 No.6481
  ┗ 大事なこと - 文太 14/05/10-15:08 No.6451
   ┣ VTDOS Version 1.39 出ました! - 文太 14/05/11-13:53 No.6455
   ┗ command.comについて - 文太 14/05/11-14:36 No.6456

(6446) 6446IME制御つきのVz(ckwv+vtdos)  投稿者:文太   2014/05/09(金) 02:26
   コメント数 2

 (以下で、何回か小さな修正をしています。既に前にみていて環境設定の
  参考にした方は、混乱しないように。正しくあろうとしております。)


ふれまわっちゃう!

 皆さま、ついにこの日が来ました!

 あじゃさんも、 キャロルさんも、 あきろさんも、その他その他の皆さま方、
Win XP/7/8/8.1 で IME 制御付きVzで、「Vzよ、永遠なれ」を一緒に歌っち
ゃいましょう!
 なんだそれ? ☆\(^^;)

 VTDOS が、IME の制御に成功しました。 きっと近日中に 10# さんから発表が
あると思いますが、VTDOS 側が ias の偽装ドライバ的仕組みをもち、CKWV と一
緒に MS-IME(IME の ATOK も)を制御しちゃうのです。よく分かんないんだけど、
あはは。
 たぶん、近日発表予定の VTDOS 1.39 にて。


 早い話が、FEP感覚で、VzからIMEが使えてしまうのです。ばっちり制御され
てますよ。Vista以降、16ビットだから日本語を扱うのが無理と言われてきた
僕らのVzが、ほとんど旧8時代と同じ姿で現れました。ワイド・テキストつきで。


 ゆっくりやりましょうね。以下は、VTDOS未経験な方へのガイドです。予習ね。
経験ありでも、僕みたいにおおかた忘れてる場合もあるでしょう。この場合、
復習と予習(139リリースは、まだだから)になります。

 (1)CKWV を導入(インスールも何も要らない。レジストリいじらない。解凍
するだけ。c:\ckwv が普通だと思うけど)。CKWV  Rev.7  です。ckwv.exe を
クリックで ckwv が起動です。でも、これはちょっと待ってね。
 VTDOS と連動するよう設定してあるはずですから、ほとんどなんの調整もいら
ない。僕が ckwv.cfg でいじってるのは、以下ぐらい。

CKWV.CFG----------------
Ckw*fontSize: 22
Ckw*geometry:  90x38-600+0
------------------------

 (2)VTDOS。 まだの人はすぐにレジストしたほうがいいです。僕は試用
に失敗して、面倒だから、「シェア代金送りますから、起動させるのをお許しく
ださい」 とかメールしました。 ¥4320なり。

 CKWV 単独で起動させるには、ckwv.cfg  をいじらなければなりません。VTDOS
の設定を先にしておきましょう。

 VTDOSの設定(かつてのあきろさんの説明が絶妙でした。Vz Wiki参照のこと。
この例はCKWV+VTDOS+VZを起動させる完成形)。

VTDOS.CFG---------------
BREAK=1
USECMD=1
TMP=C:\tmp
SHELL=c:\vtdos\command.com /e:8192 /p /msg /k c:\vtdos\vzks3.bat
;SHELL=c:\vtdos\command.com /e:8192 /p /msg /k c:\vtdos\vtvz.bat
WIDTH=90
HEIGHT=38
POWERSENSITIVITY=3000
DISKFREE=K
------------------------
 僕のはこんな感じ。

 (3)command.com、必要です。
 どうにか入手しましょう。 やはり、PC DOS 6.3 / 2000, MS-DOS 6.2V あたり
が良さそう。 買うしかないです。ヤフオクで何とかしてください。PC DOS 2000
は、新品がアマゾンで1万円。DOS での PCMCIA サポートも実際上使えなかった
し、 V-text もあれだったんですが、しょうがないなら、しょうがないですよ。
Vzが、おじさんな僕らには、一生ものになるんですから。

 vzks3.batは、普通。
------------------------
@ECHO OFF
PATH=C:\VTDOS;C:\;C:\VZ;C:\TOOL;C:\BIN;C:\BAT;C:\WINDOWS
SET VZDEF=C:\DEF\
SET VZBAK=\TRASH
SET VZPATH=C:\ C:\DEF C:\TK C:\DOC
SET VZSYM=S16 ME
SET LFN=Y
PROMPT $P$G
cls

CHKTSR 2F VWX
If not errorlevel 1 c:\vz\vwx -z2 -l6144 -x1 -v1 -w
CHKTSR 15 VKEYC
If not errorlevel 1 c:\vz\vkeyc
c:\vz\vzks3 -z
c:\vz\vzks3 %1 %2 %3 %4 %5 %6 %7 %8 %9
------------------------


 (4)【1番大事なのはコレ!!!】

 vz.com  は、VZK07s3 を使うこと。10# さんは、FEP 制御なんか知らない人な
のです。プロのプログラマーだから、エディタはプログラムを書くために使って
る。FEP/IME を立てたまま、マクロを使ったりしない。だから、何となくこの版
で止まった。konno さんのその後の改変が好きとか嫌いとか、まったくなくです。
 ただ、この版で調整してあるそうなので、ぜったいこの版の vzibmj.com を使
うこと。


 (5)IMEとVzのキーバッティング回避。
 MS-IME のキー設定で、「変換」= IME オン・オフ(ATOK 派の僕の場合)、
「無変換」=空にする(Vzから NFER として使える)かな。

 (6)CKVW.EXE と VTDOS.EXE
  CKWV.EXE(場合によっては CKWV.CMD の場合もあるとか)のショートカット
を作って、クリックで、はい、IME 制御つきVzが起動してくれます。
 CKWV  が VTDOS を呼び、VTDOS が Vz を呼ぶわけです。 途中に command.com
を入れて(知らない人いないと思うけど、忘れてる場合もあるかな、と)。

 ということは、上でしてきた環境設定で、
  CKWV をクリックすれば CKWV+VTDOS+Vz が起動し、
  VTDOS をクリックすれば、CKWV なしで、VTDOS+Vz が起動するわけです。

 CKWV をクリックと VTDOS をクリック。
 この2つのやり方で、何か問題が発生したとき、原因の切り分けがやりやすく
なります。「そこを別々にやってみてよ」と前に 10# さんに言われたのでした。


 雑な説明でごめんなさい。あきろさんの記事が役に立ちます。

 がんばってくださいね。


 追伸1: VTDOS が完成されているとは、僕は思ってません。おい、わざわざ
大声で言うな >文太。10#さんに失礼だろう!
 ともかく、完成してないものを完成させるのは、ユーザです。誰もがVzをと
ても限定された使い方で使ってます。10# さんの使い方は我々、あるいは僕とは
ずいぶん違う。だから、皆で使うのが良いと思うのです。Vzもそんな風にして
今の姿になった。

 追伸2: IME 制御に関して、&j(n) 関数は、n>0,0,-1 が引数になります。
ATOK8 用とかに &j(10) なんて決め打ちしてるマクロな方も、修正する必要
はありません。

 追伸3: IME 制御のテストをざっとしました。facemenu.def もちゃんと制御
していました。  マクロ関係はテストがとても少ないですが、インスタント窓で
「&j(1)」が効かなかったのが、ちょっと、むにゃむにゃでした。マクロの中の
&j(1)は効くんですけどね。
 (これについては see #6452。今回、問題視すべきことではない。VTDOS に直接
起因することではないと思われるから。記憶しておくべきは、&j(1)はVTDOS下で
は、インスタント窓で効かない。が、マクロでは普通に通じる)。


 追伸4:僕のFEP関連オプションは以下です。あまり関係ないような気がしてい
るのですが。

VZ.DEF------------------
FP+			;vjeb/mttk/atok を制御
FR-			;日本語入力モードで起動
FK+			;拡張ファンクションキー
FQ-			;プリフィックスキー押下げ時にFEPをOFFにする
			;(隠しオプション)DOS/Vでは意味がない? by m.gann
			;96/09/17 (15) #01335
------------------------
FTはとりわけ指定せず。

 追伸5:きっと  konno さんは、FEP 制御でずっと頭を悩ませてきたと思いま
す。とりわけ僕なんかのために。ありがとうございます。でも、僕もそうですが、
死んで肥やしになるのが生命の本質です。何一つとして無駄なことはありません。
 文太のヒステリーに耐えてきてくれたこと、そして、これからも耐えてくれる
だろうことに、ただただ感謝します。本当に。Thanks in advance(先にお礼を
言わせてくださいね)とか。(^^; ありがとう。

 追伸6:超保守派なものですから、僕は主に VTDOS をXPで使ってます。 カ
ーソル移動がめっちゃ速くて、NTVDM 環境よりずっと快適です。これもIME制
御のおかげ。そして、ワイドテキスト。カーソルがきびきび飛び回ってくれるV
zって、ほんと気持ちがいい。これが純DOSや WinME の快適さだったのです。
 イエイ! 猿飛び佐助! 30年若返ったみたい。



      - No.6446 -    このTreeへ           [リストへもどる] pre

(6446) 6447Re: IME制御つきのVz(ckwv+vtdos)  投稿者:konno   2014/05/10(土) 11:57
    6446 番 文太 さんへのコメント    コメント数 3

文太さん

>  皆さま、ついにこの日が来ました!

いったい何が起こっているのかと、理解するのに時間がかかりました。(^^;

>  VTDOS が、IME の制御に成功しました。 きっと近日中に 10# さんから発表が
> あると思いますが、VTDOS 側が ias の偽装ドライバ的仕組みをもち、CKWV と一
> 緒に MS-IME(IME の ATOK も)を制御しちゃうのです。よく分かんないんだけど、

もしかしたらIME制御VTDOSの実験機が手に入ったのかと、VTDOS掲示板を見に行ったら
怒涛の書き込みでしたね。

それでVTDOS138やckwv7を落として起動実験するもシンクロせず。
ここでようやく、「もしかしたらうちのメールに来ているかも!!」と思い至り、
ゲットできました。
zipを解凍してできたBINをEXEに変えて無事起動し、シンクロ率が大幅に上がっている
のを確認しました。
10#さん、文太さん、ありがとうございます。

>   マクロ関係はテストがとても少ないですが、インスタント窓で
> 「&j(1)」が効かなかったのが、ちょっと、むにゃむにゃでした。マクロの中の
> &j(1)は効くんですけどね。 ? ちょっと複雑なマクロではあるんでしょう。

ところでDOSV版VZで$IASって完全対応してましたっけ。MSKANJIしか見てないもので。
FEPがらみのソースを見ていると$IASの部分は怪しい感じがしたような気が。
インスタント窓で「&j(1)」が効かなかったのも関係ありそうな気がしてます。

138以降かな、32ビット外部コマンドが動かなかったりしてますが環境設定もあわせて
見直さなくては。
文太さんのところでは問題ないですか。

>  文太のヒステリーに耐えてきてくれたこと、そして、これからも耐えてくれる

  (^^;;

>  追伸6:超保守派なものですから、僕は主に VTDOS をXPで使ってます。 カ
> ーソル移動がめっちゃ速くて、NTVDM 環境よりずっと快適です。

> POWERSENSITIVITY=3000
これを0にするとKVZ限定ですが、もっときびきびになりますよ。Win7でも。
お勧めはしませんが。
XPはもうやばいので使ってないですね。


これからサードインパクトが始まるのか

      - No.6447 -    このTreeへ    コメント元:6446 へ [リストへもどる] soft

(6446) 6448Re^2: IME制御つきのVz(ckwv+vtdos)  投稿者:文太   2014/05/10(土) 14:11
    6447 番 konno さんへのコメント    コメント数 1

konnoさん

>いったい何が起こっているのかと、理解するのに時間がかかりました。(^^;

 あ、そっか、分かりづらいか。皆さん、ちょっとまってね。VTDOS って個人営
業なので、レジストに1,2日かかります。まだの方はそっちをやっておいてし
まいましょう。
 IME制御付き VTDOS の公式リリースはまだです。すいません。

 僕とkonnoさんは、テスター、レビューアーとして、プロジェクトに参加させて
もらっているのです。もちろん、レジストしてあるから。

 けっして僕は 10# さんの営業(?)活動を手伝ってるわけではないですよ、
もちろん。それ相応の手間賃がかかってもいいでしょう? そして、VTDOS は、
Vzユーザだけのものでもありませんし。>未レジスト状態の方々。

 ただ、もう我々Vzerには、この選択肢しかないのです。別のエミュレータ
やリナックス環境で冒険をしたい、あるいは研究をしたい、というハイスキルの
方を除いて。Win8.1でも動くVz環境を今1つゲットしておくのは、けっして損
ではありませんぜ(やっぱり商売やってるな。リベートいくらもらってんだ? 
もらってないってば!)。



>ところでDOSV版VZで$IASって完全対応してましたっけ。MSKANJIしか見てないもので。
>FEPがらみのソースを見ていると$IASの部分は怪しい感じがしたような気が。
>インスタント窓で「&j(1)」が効かなかったのも関係ありそうな気がしてます。

 なるほど。 一瞬、だって NTVDM@XP + ATOK8(FEP) では効くんですよ、と思い
ましたが、そうか、FEP 制御のために使ってるルーチンがVzの中で違うわけで
すね。こっちは MS-KANJI だ。

 あ、でも、これもおかしい。

 念のため現象をもう一度整理すると、

 IME制御付VTDOS1.39のインスタント窓で&j(1)が効かない。
 同じ環境で、&j(1)だけのマクロを書いて動かすと、効く。(A)
 XP + FEP ATOK8でも、インスタント窓で効く。
 m.gann作インスタント窓、オリジナル【マクロ文の実行】窓で、現象同じ。

 とすると、(A)があるから、$IASが原因とは、どちらかというと考えづらいで
すよね。&e() なの? 何が違うんだろう?

>10#さん、文太さん、ありがとうございます。

 konnoさんが参加してくれたから、もう僕は安心。v(^^)z


      - No.6448 -    このTreeへ    コメント元:6447 へ [リストへもどる] soft

(6446) 6449IME制御のチェック(VTDOS)  投稿者:文太   2014/05/10(土) 14:13
    6448 番 文太 さんへのコメント

  (ちょこっと修正してます。)

 以下は、2日前に、10# さんに送ったレポートを少し整理したものです。
 足りないところや間違っているところは、突っ込みをいれ、正しい答えをお教え
ください。VTDOS新版は必要ありません。Vzとはこう振る舞うものである、とご
指摘いただければよいのです。
 あるいは、この項目抜けてない? でも。

 ま、後日、必要があればご確認ください。VzにおけるFEP制御は、どこでなされ
るのか、という課題です。


 マニュアル操作のVzで、IME制御は、完璧にできている、という感想でした。
 僕がVzの動きを間違って理解してる可能性はありますけどね。


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

 【CKWV Rev.7 + VTDOS 139 + VZK07s3: iasルーチン経由でのMS-IME制御について】


 FEP制御とは、必要な場面でVzがFEPをオフし、そして作業が済んだらVzが
FEPを復帰=オンにすることです。オフであったらオフのまま。[ESC]Oとすると、
FEP OFFになり、キャンセルすると、ONに戻る。これ。


プリフェクスキー			すべてOK
* C コマンドキー
00 ^Q ^K [ESC] ^O ^I ^N	;2ストロークキー(最大6個)

もちろん、コマンドキー(^Aなど)も	OK

s==1(入力窓)−−主にきちんと復帰するか、制御なしは制御なしか

 Open File    【入力ファイル】   [ESC]O   (#O)       OK
 Save As      【出力ファイル】   [ESC]S   (#S)       OK
 New File     【新規ファイル】   [ESC]N   (#N)       OK
 Append to    【追加ファイル】   [ESC]A   (#A)       OK
 Path/mask    【パス・マスク】   filer P  ((#P))     OK
 Search       【検索文字列】     ^QF      (#F)       OK
 Replace      【置換文字列】     ^QA      (#56)      OK
 Put String   【複写文字列】     ^KA      (#61)      OK
 Line         【行番号】         ^QJ      (#J)       OK
 Rename       【ファイル名】     [ESC]P   (#82)      OK
 Title String 【タイトル文字列】 ^KT      (#84)      OK
  (vz.def 「* T テキストウィンドウ」より)

s==2(コマンドライン)
 編集画面から				OK
 ファイラから				OK

s==3(ファイラ)
 編集画面から(#O #m)			OK
 コマンドラインから(shift+return)	OK

s==4(メニュー・yes/no 1文字入力)	両方OK

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

VTDOS (iasでの制御つき)			XP + ATOK8
start,    fr,0; mg.-9,0			start,    fr,0; mg.-9,0
FEP on,   fr,0; mg.-9,0			FEP on,   fr,0; mg.-9,0
FEP off,  fr,0; mg.-9,1			FEP off,  fr,0; mg.-9,10
FEP back, fr,0; mg.-9,0			FEP back, fr,0; mg.-9,0
-----------------------			-----------------------
#O,       fr,0; mg.-9,0			#O,       fr,0; mg.-9,0
#F,       fr,1; mg.-9,0			#F,       fr,1; mg.-9,0
#J,       fr,0; mg.-9,0			#J,       fr,0; mg.-9,0
-----------------------			-----------------------
#E,       fr,2; mg.-9,1; sm,2; s,2	#E,       fr,2; mg.-9,10; sm,2; s,2
filer1,   fr,0; mg.-9, 0; sm,3; s,3	filer1,   fr,0; mg.-9, 0; sm,3; s,3
filer2,   fr,2; mg.-9,1; sm,3; s,3	filer2,   fr,2; mg.-9,10; sm,3; s,3
        ^^^^^^^ここからして、&j(1)でMS-IME起動ということなんだな。
		^^^^^^^ 1 だけでなく、1以上の数字。

 ほぼ同じ、おめでとう!!! ハレルヤ!!! メリークリスマス!!!
 新しい時代の始まりです。パチパチパチ。


以下のマクロを使用して、上を調査した。
=== Macrotmp by B ===
;FEP制御の仕組みを知ろうとする、たぶん徒労に終わるもがき

* M
50 ^^ "Macrotmp"

?.  &00 &01 &02 &03 &04 &05 &06 &07 &08 &09 	;バッファ確保

&20
&Sp(a,"start,    fr,%d; mg.-9,%d",fr,mg.-9)	;a,b,c .. と順にデータ格納

; --- &j(n) func ---
&j(10)
&Sp(b,"FEP on,   fr,%d; mg.-9,%d",fr,mg.-9)

&j(0)
&Sp(c,"FEP off,  fr,%d; mg.-9,%d",fr,mg.-9)

&j(-1)
&Sp(d,"FEP back, fr,%d; mg.-9,%d",fr,mg.-9)

; --- commands, Change sysmode (s) ---
&20
#O 		;s==1
&Sp(e,"#O,       fr,%d; mg.-9,%d",fr,mg.-9)
#[

&20
#F		;s==1
&Sp(f,"#F,       fr,%d; mg.-9,%d",fr,mg.-9)
#[

&20
#J		;s==1
&Sp(g,"#J,       fr,%d; mg.-9,%d",fr,mg.-9)
#[

;-----

&20
#E		;s==2
&Sp(h,"#E,       fr,%d; mg.-9,%d; sm,%d; s,%d",fr,mg.-9,sm,s)
#[

;--- ここまでFEP制御、完璧。以下は駄目
&20
mx[+,
#O #m		;s==3
&Sp(i,"filer1,   fr,%d; mg.-9, %d; sm,%d; s,%d",fr,mg.-9,sm,s)
#[ #[
mx], 

;--- このルーチンはFEP制御が効く
&j(10)
&20
mx[+,
#E #98		;s==3
&Sp(j,"filer2,   fr,%d; mg.-9,%d; sm,%d; s,%d",fr,mg.-9,sm,s)
#[ #[
mx], 

&?("%s",a) #m  &?("%s",b) #m  &?("%s",c) #m  &?("%s",d) #m
&?("-----------------------") #m
&?("%s",e) #m  &?("%s",f) #m  &?("%s",g) #m
&?("-----------------------") #m
&?("%s",h) #m  &?("%s",i) #m  &?("%s",j) #m 

&m("") .

;----- local macros; buffers & init routine -----

00:	a=5+$,."$(40,00)$[64]"
01:	b=5+$,."$(40,00)$[64]"
02:	c=5+$,."$(40,00)$[64]"
03:	d=5+$,."$(40,00)$[64]"
04:	e=5+$,."$(40,00)$[64]"
05:	f=5+$,."$(40,00)$[64]"
06:	g=5+$,."$(40,00)$[64]"
07:	h=5+$,."$(40,00)$[64]"
08:	i=5+$,."$(40,00)$[64]"
09:	j=5+$,."$(40,00)$[64]"

20:	fr=0, mg.-9=0,

*

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

 でも、マクロの関数。&j(n)で、は、はまった。
 最大の難関といわれるfacemenu.defはいける。

 が、m.gann作インスタントマクロの窓で「&j(1)」を再び。ぐぐぐぐ。効かない、、、。
 XP+ATOK8(FEP)では効く。どういうことだろう?【未解決、僕には分からないだろう】
      - No.6449 -    このTreeへ    コメント元:6448 へ [リストへもどる] pre

(6446) 6450Re^2: IME制御つきのVz(ckwv+vtdos)  投稿者:文太   2014/05/10(土) 14:47
    6447 番 konno さんへのコメント    コメント数 1

konnoさん

>138以降かな、32ビット外部コマンドが動かなかったりしてますが環境設定もあわせて
>見直さなくては。
>文太さんのところでは問題ないですか。

 見落としていました。
 たとえば何でしょう?
 僕は、tosfindとonigsedを使って問題なかったと記憶しているのですが。

C:\>tosfind /naaa.txt
/ C:\ /
C:\aaa.txt
C:\BUN_M\AAA.TXT
C:\TRASH\aaa.txt

3 files in 15560 dirs.

C:\>onigsed -n -e "/konno/p" c:\aaa.txt
konnoさん
 僕とkonnoさんは、テスター、レビューアーとして、プロジェクトに参加させて

 うん、大丈夫みたいですけど……?

      - No.6450 -    このTreeへ    コメント元:6447 へ [リストへもどる] soft

(6446) 6452&g()の何かのクセに引っかかっている???  投稿者:文太   2014/05/10(土) 20:21
    6450 番 文太 さんへのコメント    コメント数 1

 「マクロ文の実行」(通称「インスタント窓」)を裸にしました。

=== Macrotmp by B ===;
* M
50 ^^ "test1"

a="&j(10)",
&e(a)

51 ^\ "test2";"マクロ文の実行"

a="&j(10)",
&Sc(pw,a)
&e(pw)

52 ^A "test3";"マクロ文の実行"

&m("hit return")
&g("【マクロ文】",10,r"&j(10)")
&e(pw)

*

 現象把握に間違いはないようです。

	VTDOS+IME	NTVDM+FEP(atok8)
50	OK		OK
51	OK		OK
52	NG		OK

 こんな結果になりました。
 本物のマクロ師にしか解けない謎。僕には無理。
 けっこうVzマクロを思い出したみたいだけど。

 CKWV+VTDOSのIME制御の話なので、ま、Vzってこういう不可解な奴
なんだよなぁ、でいいと思います。
 &j(1)が効くんだから。

      - No.6452 -    このTreeへ    コメント元:6450 へ [リストへもどる] pre

(6446) 6457Re: &g()の何かのクセに引っかかっている???  投稿者:konno   2014/05/11(日) 14:49
    6452 番 文太 さんへのコメント    コメント数 1

文太さん

> 	VTDOS+IME	NTVDM+FEP(atok8)
> 52	NG		OK

おお、ほぼ特定できたんですね。インスタントの窓、 &g() の窓ですか。
&g窓はほんとにクセものですね。
でもこれ以外は完璧みたいなので実用には問題ないですね。
あとはじっくりやりましょう。


      - No.6457 -    このTreeへ    コメント元:6452 へ [リストへもどる] pre

(6446) 6461Re^2: &g()の何かのクセに引っかかっている???  投稿者:konno   2014/05/11(日) 23:38
    6457 番 konno さんへのコメント    コメント数 1

> おお、ほぼ特定できたんですね。インスタントの窓、 &g() の窓ですか。
> &g窓はほんとにクセものですね。

VTDOS139+CKWV7+VZのインスタントの窓(by m.gann)で

&j(1)

でIME ON にならないですが

&j(1) fr-

だと IME ON になりました。
タイミングとかでしょうかねぇ。

      - No.6461 -    このTreeへ    コメント元:6457 へ [リストへもどる] soft

(6446) 6462Re^3: &g()の何かのクセに引っかかっている???  投稿者:文太   2014/05/12(月) 01:04
    6461 番 konno さんへのコメント    コメント数 1

konnoさん、さすがです。そして、どんぴしゃです。

>&j(1) fr- だと IME ON になりました。タイミングとかでしょうかねぇ。

 再現できました。

 はい、 僕も VTDOS のIMEチェックを網羅的にしていたときに、このイディ
オムがとても気になったのです。「もしかしてずっと使ってきたこの書き方、間
違っていたのかなぁ」、と。

; --- log selection (control FEP & mode)
        &j(0) ((mg.-9)[, &j(0) fr+,		;FEP info save (ATOK, WX)

  :b    &s &m("") fr-, ((mg.-9)], &j(-1)	;FEP restore; thanx to Musai.
(blogjumpより)

とかです。

 &j(n) してから、frを操作してる。
 でも、インスタント窓で、(fr-)&j(1) でも効きました。は?

 でも、やはり、何がしかの理由で、このイディオムは正しいんですね。
 訳はわかりませんが(するとあのfr, mg.-9リストアップマクロも怪しいものですね)
やっぱり、伝統を守ります。昔から伝わってるものには、理由は分からぬとも、とりあえず
従っておけ、と。
 Vz、お前は深いのぉ、やっぱり。

 ありがとうございました。Win7からでーす。カ、カーソルがとろい、、、。


      - No.6462 -    このTreeへ    コメント元:6461 へ [リストへもどる] pre

(6446) 6466&g()だけとは言えない  投稿者:文太   2014/05/12(月) 21:40
    6462 番 文太 さんへのコメント

----------------------------------------------------------------------------
        &j(0) ((mg.-9)[, &j(0) fr+,		;FEP info save (ATOK, WX)
  :b    &s &m("") fr-, ((mg.-9)], &j(-1)	;FEP restore; thanx to Musai.
----------------------------------------------------------------------------

 それほど多くはないですが、僕はこれを何も考えずに使ってきました。今回初めて
考えてみたのですが、これがこうでなければならない理由や理屈については、榊原さん
発表の「frをコントロールすることで、VzのFEP自動制御の裏をかく」作戦では
説明がつかないことだけ知りました。
 榊原さんの作戦は、あくまで窓開閉時対策だからです。

 とはいえ、あきろさんが報告されているのを見かけたのですが、たとえシステムモード
が変わらない&j(n)でも、fr操作が必要な場合がある、というのは、やっぱり本当そうです。

 ですから、&g()窓の特殊性だけではなく、きっと、&j(n)関数には、場合によっては
frが絡んでくる、と考えいることにしました。

 分かりませんけれど。

 イディオム、ママ、でゆきます。動いているものには手をださない主義。

      - No.6466 -    このTreeへ    コメント元:6462 へ [リストへもどる] pre

(6446) 6453Re^2: IME制御つきのVz(ckwv+vtdos)  投稿者:10#   2014/05/11(日) 02:20
    6447 番 konno さんへのコメント    コメント数 3

お久しぶりです。10#です。
長文になりますが、IAS関連で補足説明させていただきたいと思います。


僕が調べたところ、VZのDOS/V版(vzibmj?)は、FEPの制御として、
MS-KANJIとIBM-IASのみに対応しています。
上記以外のFEPに関しては、MS-KANJI互換APIによって制御されていると
思われます。
このうち、MS-KANJI APIは仕様的により高機能で複雑であることが一つと、
APIコールの方法が16bitコードを必要とするfar call呼び出しであることの
2点の理由により、MS-KANJIは不採用とし、さしあたり仕様的に単純な
IAS互換を試してみることにしました。


オリジナルのkeyibm.asmを調べると、VZのFEPの制御は
FEP_ON/FEP_OFF/fep_act/fep_mask の4種類のメソッドがあります。
このうち FEP_ON/OFFは一般的なFEPのモード切替です。
それに対して、fep_act/mask はFEP経由、バイパスとなっていました。
FEPのバイパスとはFEPを経由しないBIOSキー入力ですが、
これは特殊な方法を用いて実現されています。

TSRやデバイスドライバーで一般的に用いられるBIOSの拡張方法として、
割り込みフックという方法があります。
割り込みを拡張するプログラムは既存の割り込みベクタの内容を保存して、
自身のエントリーポイントに設定します。
割り込み処理ルーチンが呼び出されると、必要な処理を行った後、
通常は保存した割り込みベクターへFAR JMPします。

FEPが保存した割り込みベクターのアドレスが把握できれば、
アプリケーションはFEPをバイパスしてキー入力を行うことが可能ですが、
このアドレスを把握する一般的な方法はありません。

オリジナルのVZは、割り込みベクターから取得したアドレスからFEPの
jmp far cs:[xxxx]というコードをスキャンしてこのアドレスを取得して
いました。
このコードが見つかるまで終了しないため、見つからなければフリーズ
するようです。
VTDOS1.39にはこのコードは存在しないため、おそらくオリジナルのVZは
フリーズします。

この特殊機能、fep_act/fep_maskはk07s3のソースではマスク状態を保存
した後に、FEP_ON/FEP_OFFを呼び出すように変更されていました。


通常IASの検出はオープンハンドル法といって、"$IBMAIAS"というデバイスを
オープンできるかどうかで判断しています。
この"$IBMAIAS"というファイル名は終端にNUL文字が必要で、オリジナルの
ソースにはあるのですが、k07s3のソースには見当たりません。
このため、"$IBMAIAS∀・ッヘクヘUヘqヘッヘクヘPサ"というファイルをオープン
しようとしています。
未確認ですが、おそらく通常のIASは検出できないものと思われます。
VTDOS1.39では先頭8文字のみを比較して、強制的にIASを検出させています。


VTDOS1.38で32bitプロセスを起動できない件ですが、
これはおそらく環境変数に問題があると思われます。一度、

$xset >env.txt

と実行して、おかしな環境変数が存在しないか確認願います。

僕が調べた限り、command.com 6.3 と freecom では、
Windowsにより設定された環境変数をうまく処理できない場合があり、
"KEY=value"
といった、通常の様式でない異常な環境変数を作ってしまう場合があるよう
です。

VTDOS1.38はこの環境変数をそのまま32bitプロセスに渡しています。
XPまでは異常な環境変数を渡されても、32bitプロセスを正常に起動して
いましたが、7以降はこれがエラーを返すようになりました。
VTDOS1.31-1.37は、32bitコンソールコマンドの起動時のみ、DOSの環境変数
を渡さずに、VTDOS自身の環境変数を渡すことで、この問題を対処療法的に
回避していましたが、1.38では問題の原因が特定できたため、DOSのエラーを
返すように変更しました。

もし、おかしな環境変数が出来ているようであれば、setの代わりに、$xsetを
使ってみてください。

command.com 6.3を使っていない文太さんはこの問題に遭遇していないかも
しれません。

      - No.6453 -    このTreeへ    コメント元:6447 へ [リストへもどる] soft

(6446) 6454Re^3: IME制御つきのVz(ckwv+vtdos)  投稿者:文太   2014/05/11(日) 10:51
    6453 番 10# さんへのコメント

10#さん

 長文の解説、ありがとうございました。いつの日にか、きちんと理解できたり
したら楽しいだろうな、と思っております。
 fep_act/fep_msk、少しイメージが。もがいた意味が少しはあったと。
 少なくともメールで書いた僕の懸念をはらしてくださいました。一番最初の懸
念です。ありがとうございます。

>もし、おかしな環境変数が出来ているようであれば、setの代わりに、$xsetを
>使ってみてください。
 たしかに、XP + MS command.com 6.2では、おかしな環境変数はできていないようです。

>command.com 6.3を使っていない文太さんはこの問題に遭遇していないかも
>しれません。
 僕には正確な原因は分かりませんが、問題に遭遇してはいません。OSと
command.com それが原因なんでしょう。ありがたや、ありがたや。


      - No.6454 -    このTreeへ    コメント元:6453 へ [リストへもどる] soft

(6446) 6458vtdos138での32ビットコマンド  投稿者:konno   2014/05/11(日) 14:50
    6453 番 10# さんへのコメント    コメント数 1

10#さん、詳細な説明ありがとうございます。
参考にさせていただきます。

> この"$IBMAIAS"というファイル名は終端にNUL文字が必要で、オリジナルの
> ソースにはあるのですが、k07s3のソースには見当たりません。

気が付きませんでした。確認してみたところ、高橋版以外はありました。
したがって高橋版の系列は皆抜けています。これは直します。

高橋版は初期のものでNULが一つ足りなくて、それ以降のはNULが無くなっています。
これはVZIBMJ.COMをVZで開いて、"$IBMAIAS"を検索してわかりました。

> VTDOS1.38で32bitプロセスを起動できない件ですが、
> 僕が調べた限り、command.com 6.3 と freecom では、
> "KEY=value"
> といった、通常の様式でない異常な環境変数を作ってしまう場合があるようです。

ダブルクオートで囲われるような書式ということならありませんでした。
MSDOS6.2 です。
32bitプロセスは起動しますね。
問題は32bitのコピーコマンドで、実行してもコピーできていないのです。
RCP32、CPY32、XCOPY CLPPST.EXE、どれもコピーできないようです。

XCOPY ではエラーが記録されていました。
2014-05-11 14:28:04 COMMAND(10BA) 94F3:2EC7 'Win32コンソールプロセス起動エラー 87 'CMD /C Xcopy VZIBMJ.COM C:\UT\VTDOS\VTDOS139''

あ、MASM32 もまともに動かないですね。これは痛い。

UMB=1 を設定しないと TAGLIGHT.EXE 常駐でエラーになりVTDOSが止まります。
Runtime error 105 at 0000:2674.
2014-05-11 14:33:25 COMMAND(10BA) 15C4:7602 '無効命令 65'

何が悪いかわかりません。

      - No.6458 -    このTreeへ    コメント元:6453 へ [リストへもどる] soft

(6446) 6459Re: vtdos138での32ビットコマンド  投稿者:10#   2014/05/11(日) 15:56
    6458 番 konno さんへのコメント    コメント数 1

環境変数についてもう少し補足します。
正常な環境変数は

KEY=value

という形式の末尾にNUL文字が付いたものが続きますが、
不正な環境変数は、

KEY

という形式で、右辺と左辺を分ける'='が存在しません。
この形式が従来は認められていましたが、7以降は認められていません。
エラー 87 は CreateProcessのエラーコードで、
環境変数不正時に返されます。

command.com 6.3 および freecom はVTDOS上では、この異常な環境変数を
作ってしまう場合があり、Windows上で設定されている、DOSとは互換性の
低い環境変数に原因があると思われます。
(英数大文字以外を含む左辺であったり、数100バイトに及ぶ長さのもの)

最近のVTDOSでは拡張コマンド $XSET の使用を推奨しています。


UMBに関してですが、
1.38でコンベンショナルメモリーの構成に多少の変更があります。
従来はコンベンショナルメモリーの最終メモリーブロックはセグメントA000
未満までを占有していましたが、1.38は9FFF未満までとし、
9FFFのMCBは、MCBチェーンの終端、あるいはUMBへのチェーンが格納されます。
(UMB APIによって切り替えられる)
TAGLIGHT.EXE常駐に関してはこの辺りが関係しているものと思われます。
ざっと、ネットを検索して、TAGLIGHTの詳細情報が得られなかったので、
現状推測のみです。
以前konnoさんに伺った Malloc.def も関連してると思われます。

      - No.6459 -    このTreeへ    コメント元:6458 へ [リストへもどる] soft

(6446) 6460Re^2: vtdos138での32ビットコマンド  投稿者:konno   2014/05/11(日) 17:26
    6459 番 10# さんへのコメント    コメント数 2

10#さん

> 不正な環境変数は、
> KEY
> という形式で、右辺と左辺を分ける'='が存在しません。

ありました。

WIN32Path=

が抜けていました。
実は私は、YSET というのを使っていて、問題ないと思っていたんですが

PATH=

が問題だったようです。

YSET PATH=

としたら解決しました。もちろん $XSET でもOKでした。
ありがとうございます。


> TAGLIGHT.EXE常駐に関してはこの辺りが関係しているものと思われます。
> ざっと、ネットを検索して、TAGLIGHTの詳細情報が得られなかったので、

TAGLIGHT.EXE はソースもないのですが、VZ検索文字列をカラー化でき重宝してます。

> 以前konnoさんに伺った Malloc.def も関連してると思われます。

これは難しそうですね。現状UMB=1なら動作するので問題ないです。
ただ、コンベンショナルめもりが64Kほど減ってしまいますね。(^^;

      - No.6460 -    このTreeへ    コメント元:6459 へ [リストへもどる] soft

(6446) 6463Re^3: vtdos138での32ビットコマンド  投稿者:文太   2014/05/12(月) 01:21
    6460 番 konno さんへのコメント

 (記録として書いておきます)

 僕も Win7 で RCP32, Onigsed, Tosfind で試してみました。 とりわけ環境変
数の異常は観察されず、ツールたちはふつうに仕事をしてくれたようでした。
 それでも、起きるときには起きるのですね。
 忘れてしまうかもしれませんが(そのときは、きっと誰も助けてくれない。自
分で解決するしかない)、現象報告と原因の解説、ありがとうございました。

 UMBとTaglightの件、ご指摘ありがとうございました。大事です。3年に一度、
ぜったいに必要になったりします。>konnoさん

 ソースがない以上、あまり意味はないと思いますが、以下にTaglightはありま
す。>10#さん
 寅治さんは、W95時代の「伝説のマクロ師」です。

http://homepage3.nifty.com/mezala/vz/history/maclib1.html
 ここから「TAGLIGHT.EXE 06」を検索すれば落とせます。そこまですることはない
ように思いますけれど。でも、Vzerは感動したものです。寅次さんは、すご
かった。


      - No.6463 -    このTreeへ    コメント元:6460 へ [リストへもどる] soft

(6446) 6464Re^3: vtdos138での32ビットコマンド  投稿者:10#   2014/05/12(月) 03:07
    6460 番 konno さんへのコメント    コメント数 1

TAGLIGHT 僕も動かしてみましたが、
コンベンショナルメモリーは3kぐらいです。
よかったら一度vmapの出力を見せていただけないですか?

      - No.6464 -    このTreeへ    コメント元:6460 へ [リストへもどる] soft

(6446) 6465Re^4: vtdos137〜139の空きメモリ  投稿者:konno   2014/05/12(月) 21:27
    6464 番 10# さんへのコメント    コメント数 1

10#さん

> よかったら一度vmapの出力を見せていただけないですか?

すみません、確認したら、VTDOS.CFGのオプションが違っていました。

TPALOW=1  VTDOS137

;TPALOW=1  VTDOS138 

このオプションの違いでメモリが少なかったのでした。
一応VMAPを貼り付けます。

;TPALOW=1  VTDOS138 

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

addr PSP  blks   size  owner/parameters           hooked vectors
---- ---- ---- ------  -------------------------  -----------------------------
EF01 1538   1   65520  umb
                       --- UMB total:  64 KB ---
1001 10BA   4   19632  command                    23 24 2E
14D0 <--    1     176  atclock                    28
14DC        1    1632  <free>
1543 <--    1    1648  vwx 1.08b -z2 -v2 -x1 -l4
15AB        1    1648  <free>
1613 <--    1    3088  taglight /v stay           10 2F
16D5        1    1696  <free>
1740 <--    1    3888  vzibmj 1.60s -sw2 -z       1B 21 29
1834-9FFE   1  556192  <free>

----- EMS ver4.0 (frame: C000h) -----
handle pages   size  name
------ ----- ------  --------
     1     1    16k  $ExtEnv$
     2     2    32k  for Vwx!
     3    14   224k  VZIBMJ
  free  2031 32496k
 total  2048-32768k


TPALOW=1  VTDOS137

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

addr PSP  blks   size  owner/parameters           hooked vectors
---- ---- ---- ------  -------------------------  -----------------------------
0081 013A   4   19632  command                    23 24 2E
0550 <--    1     176  atclock                    28
055C        1    1632  <free>
05C3 <--    1    1648  vwx 1.08b -z2 -v2 -x1 -l4
062B        1    1648  <free>
0693 <--    1    3088  taglight /v stay           10 2F
0755        1    1680  <free>
07BF <--    1    3888  vzibmj 1.60t -sw2 -z       1B 21 29
08B3-9FFF   1  619712  <free>

----- EMS ver4.0 (frame: C000h) -----
handle pages   size  name
------ ----- ------  --------
     1     1    16k  $ExtEnv$
     2     2    32k  for Vwx!
     3    14   224k  VZIBMJ
  free  2031 32496k
 total  2048-32768k


TPAEXT=1
TPALOW=1  VTDOS139  ※この二つをONにするとメモリが大幅に空く

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

addr PSP  blks   size  owner/parameters           hooked vectors
---- ---- ---- ------  -------------------------  -----------------------------
EF01 05BD   1   65520  umb
                       --- UMB total:  64 KB ---
0081 013D   4   19680  command                    23 24 2E
0553 <--    1     176  atclock                    28
055F        1    1664  <free>
05C8 <--    1    1648  vwx 1.08b -z2 -v2 -x1 -l4
0630        1    1680  <free>
069A <--    1    3088  taglight /v stay           10 2F
075C        1    1712  <free>
07C8 <--    1    3888  vzibmj 1.60t -sw2 -z       1B 21 29
08BC-DBFE   1  865312  <free>

----- EMS ver4.0 (frame: DC00h) -----
handle pages   size  name
------ ----- ------  --------
     1     1    16k  $ExtEnv$
     2     2    32k  for Vwx!
     3    14   224k  VZIBMJ
  free  2031 32496k
 total  2048-32768k

!! おお!! 865Kも空きができた !!

EMSのフレーム位置も変わりましたね。



      - No.6465 -    このTreeへ    コメント元:6464 へ [リストへもどる] pre

(6446) 6467Re^5: vtdos137〜139の空きメモリ  投稿者:10♯   2014/05/12(月) 22:39
    6465 番 konno さんへのコメント    コメント数 1

なるほど。
ちなみに僕はコワいのでTPALOW/TPAEXTは使ってなかったりします(^^;)
      - No.6467 -    このTreeへ    コメント元:6465 へ [リストへもどる] soft

(6446) 6468Re^6: vtdos137〜139の空きメモリ  投稿者:konno   2014/05/14(水) 00:30
    6467 番 10♯ さんへのコメント

> ちなみに僕はコワいのでTPALOW/TPAEXTは使ってなかったりします(^^;)

そ、そんなぁ・・・
10#さんのお墨付きがあると思って安心して使っているのに。

何かこういう使い方は危険だとか、具体例のようなものでもあればありがたいです。
まあ使ってみてトラブルが出たら戻せばいいかと思ってますが。
TPALOW=1 はずっと使っていますが私の使い方では問題は感じないですね。
しばらくは超大容量空きメモリ(笑)VZを堪能します。(^_^)

      - No.6468 -    このTreeへ    コメント元:6467 へ [リストへもどる] soft

(6446) 6481Re^3: IME制御つきのVz(ckwv+vtdos)  投稿者:文太   2014/05/16(金) 21:50
    6453 番 10# さんへのコメント

誰宛でもなく備忘録

>XPまでは異常な環境変数を渡されても、32bitプロセスを正常に起動して
>いましたが、7以降はこれがエラーを返すようになりました。

>command.com 6.3を使っていない文太さんはこの問題に遭遇していないかも
>しれません。

 WinXP + MS command.com 6.2 でも、ばっちり出ているようです。
 set -> $XSET ですね。

 因みに、Windows 全体の環境変数の編集は、「マイコンピュータ」右クリック
--「プロパティ」--「詳細設定」--(下のほうのボタン)「環境変数」で調べら
れます。編集できます。
 え、こんな設定してあったのか、どうしてあれが通じるのか、と不思議に思っ
たことがあったのでした。これが原因かぁ。Win32Path に自分しか通さないよう
なパスが切ってあった。

 あう、VTDOS 環境では、右クリックで、クリップボードの内容がペーストされ
るよ(CKWV のほうの機能なのかな?)

      - No.6481 -    このTreeへ    コメント元:6453 へ [リストへもどる] soft

(6446) 6451大事なこと  投稿者:文太   2014/05/10(土) 15:08
    6446 番 文太 さんへのコメント    コメント数 2

 まさかね、ですが、僕は混乱を振りまく人なので、為念ですが(なつかし)。
 IME制御の効くVTDOS 139のリリースはまだです。たぶん、すぐですが。ちょっと僕が
10#さんと相談もなしに先走りました。興奮しちゃって。m(__)m

 CKWV も最近、Revision 7 と、新版になっています。
 レジスタード・ユーザの方も、ちょっと待って、両者とも最新版でご利用ください。

 あ、しつこいけど、レジストしなくちゃ、事実上、使えませんよ。試用時間15分かな。

 もう一点。command.com の調達。グレイにフリーなものや、あまり強くは推奨
されてはいない(制限のある)freecom のもの。これらはオウン・リスクで使う
しかないですね。 ここの過去ログと 10# さんのところの掲示板に(最近の 10#
さんの発言)、断片的情報はあったと思います。
 Windows2000 についているもの(特殊形態)、モバギに内臓のものが、ライセ
ンスがはっきりしていて、たしか割とちゃんと使えるものだったように記憶して
います。

 これらの点を考えると、スタートの準備のために時間がかかる場合もあると思
いました。
 ヤフオクに出ていた PC DOS 2点、もう落札されちゃいましたしね。

      - No.6451 -    このTreeへ    コメント元:6446 へ [リストへもどる] soft

(6446) 6455VTDOS Version 1.39 出ました!  投稿者:文太   2014/05/11(日) 13:53
    6451 番 文太 さんへのコメント


 ここを見てる人は、
http://vtdos.bbs.fc2.com/
 も見ていると思いますが、ついに出ましたよ。

 DLはこちらから。
http://vtdos.web.fc2.com/

      - No.6455 -    このTreeへ    コメント元:6451 へ [リストへもどる] soft

(6446) 6456command.comについて  投稿者:文太   2014/05/11(日) 14:36
    6451 番 文太 さんへのコメント


 vtdos.txtの「■シェルについて」をお読みください。
 有益な情報があるみたいですよん。

      - No.6456 -    このTreeへ    コメント元:6451 へ [リストへもどる] soft