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

  DOSプロンプトで COMMAND.COM 起動にならないようにしてみました - おうら 07/09/01-20:20 No.2698
  ┗ Re: DOSプロンプトで COMMAND.COM 起動にならないようにしてみました - konno 07/09/02-00:29 No.2700
   ┗ Re^2: DOSプロンプトで COMMAND.COM 起動にならないように - としき@会社 07/09/02-08:49 No.2701
    ┗ Re^3: DOSプロンプトで COMMAND.COM 起動にならないように - konno 07/09/02-23:42 No.2704
     ┗ Re^4: DOSプロンプトで COMMAND.COM 起動にならないように - おうら 07/09/03-13:47 No.2706
      ┗ Re^5: DOSプロンプトで COMMAND.COM 起動にならないように - konno 07/09/04-00:09 No.2712

(2698) 2698DOSプロンプトで COMMAND.COM 起動にならないようにしてみました  投稿者:おうら   2007/09/01(土) 20:20
   コメント数 1

こんばんわです。

さて、Vzで気になっていたところをどうにかしようと
自分なりにソースの書換えをしてみました。
識者の御意見が聴けるのならと思いこちら書き込むことにしました。

気になってしようが無かったのは、
非常駐 の Vz で DOSプロンプトを使っているときに
Enter だけを押してしまうと、COMMAND.COM に降りてしまいます。
こうなると Vz に戻るのに EXIT コマンドをいちいち打つことになってしまいます。
ちょっとウザ過ぎたので、どうにかならないかと思うようになりました。
dos.asm を以下のように書き換えることで 目的は果たせたようになりました。

ちゃんと実装するとなればオプション・スイッチで切り分けするべきなのでしょうけども
今回は クイック・ハックってことで 以下のような変更のみです。

何か御意見やツッコミなどございましたら、宜しくお願い致します。

--- tmp/dos.asm 2007-08-30 10:33:46.000000000 +0900
+++ vzsrc/dos.asm 2007-08-29 09:37:14.000000000 +0900
@@ -31,7 +31,7 @@
extrn doswapf :byte
extrn frompool :byte
extrn invz :byte
- extrn mg_exit :byte
+; extrn mg_exit :byte
extrn nm_vz :byte
extrn skipescf :byte
extrn swapmode :byte
@@ -327,10 +327,11 @@
stosw
call strcpy
_else
- stosb
- mov doswapf,TRUE
- mov dx,offset cgroup:mg_exit
- call cputmg
+ ;stosb
+ ;mov doswapf,TRUE
+ ;mov dx,offset cgroup:mg_exit
+ ;call cputmg
+ jmp to_edit1
_endif
exec21: mov al,CR
stosb
      - No.2698 -    このTreeへ           [リストへもどる] soft

(2698) 2700Re: DOSプロンプトで COMMAND.COM 起動にならないようにしてみました  投稿者:konno   2007/09/02(日) 00:29
    2698 番 おうら さんへのコメント    コメント数 1

> 非常駐 の Vz で DOSプロンプトを使っているときに
> Enter だけを押してしまうと、COMMAND.COM に降りてしまいます。
> こうなると Vz に戻るのに EXIT コマンドをいちいち打つことになってしまいます。
> ちょっとウザ過ぎたので、どうにかならないかと思うようになりました。

これは私も思ってました。皆さんおそらく経験あるのではないですかねぇ。
ただ、どこを弄ればよいかわからなかったんですよねぇ。

> dos.asm を以下のように書き換えることで 目的は果たせたようになりました。

うおお、すごい。試してみたら、空[Enter] で[Esc] と同じ動作になるんですね。
う〜ん、この辺を弄ればいろいろできそうですねぇ。個人的には空[Enter] なら
何もしないほうがいいかなぁ、と思うもので。

> 何か御意見やツッコミなどございましたら、宜しくお願い致します。

一点だけ気になったのは、ソースの修正点がわかりにくいというか、見にくい
ように感じました。--- が修正前で、+++ が修正後なんですね。これって何かの
ツール用なんでしょうか。YMFCST とか(^^;

あ、それと、タブやスペースが飛んでいますが、書き込む時に、pre(図表、プログラム)
にチェックを入れればそのまま表示されるようになります。掲示板の機能がわかりにくく
て申し訳ないですが、よろしくお願いします。

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

(2698) 2701Re^2: DOSプロンプトで COMMAND.COM 起動にならないように  投稿者:としき@会社   2007/09/02(日) 08:49
参照先:http://www.hinocatv.ne.jp/~toshiki/
    2700 番 konno さんへのコメント    コメント数 1

> > こうなると Vz に戻るのに EXIT コマンドをいちいち打つことになってしまいます。
> > ちょっとウザ過ぎたので、どうにかならないかと思うようになりました。
> これは私も思ってました。皆さんおそらく経験あるのではないですかねぇ。

私もうっとうしく思っていたのですが、でも、なぜ、もともとのバージョンでは
このようになっていたんでしょうね。何らかのメリットがあったからそのように
していると思うのですが、理由が全く思いつかない。

> 一点だけ気になったのは、ソースの修正点がわかりにくいというか、見にくい
> ように感じました。--- が修正前で、+++ が修正後なんですね。これって何かの
> ツール用なんでしょうか。YMFCST とか(^^;

ん?
ごく一般的な diff & patch の書式だと思いますが。

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

(2698) 2704Re^3: DOSプロンプトで COMMAND.COM 起動にならないように  投稿者:konno   2007/09/02(日) 23:42
    2701 番 としき@会社 さんへのコメント    コメント数 1

> 私もうっとうしく思っていたのですが、でも、なぜ、もともとのバージョンでは
> このようになっていたんでしょうね。何らかのメリットがあったからそのように
> していると思うのですが、理由が全く思いつかない。

c.mos さんくらいになると、間違って空Enterなどしないのかもしれませんね。
Vzの支配下に無いCOMMAND.COMを呼べると、便利な場合があるんでしょうが、
どう使うのか私も全くわかりません。

> ん?
> ごく一般的な diff & patch の書式だと思いますが。

ああ、そうでしたか。私は diff & patch をほとんど使ったことが無いので
わかりませんでした。あれは diff が吐き出した差分なんですね。なるほど。
そういえば板塀で話題になってましたね。私には縁が無い話題かと思って
いたんですが。(^^;

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

(2698) 2706Re^4: DOSプロンプトで COMMAND.COM 起動にならないように  投稿者:おうら   2007/09/03(月) 13:47
    2704 番 konno さんへのコメント    コメント数 1

こんにちはです。コメントありがとうございます。

* 空[Enter] で 何もしないようにする設定
あれから また更にいろいろとやってみました。それでどうやら、
最初のパッチで jmp to_edit1 となっている部分を jmp exec1 とすると
空[Enter] を押しても そのままになりました。

ただスタックのレベルがどうなっているのかなどまだ追いかけきれてません。
この修正で問題無しとしていいのか、自信が持てないところなのです。

* Vz 仕様の謎
今更過ぎることではありますが、、、
やっぱり c.mos 師と凡人の差は深いのですね。。。
らくだ本でも、そのかけ離れた所を感じずにはいられませんでした。

* パッチの形式
としき さんも仰られるように diff+patch です。
ワタクシは Gentoo Linux を使ってまして、
GNU diffutils http://directory.fsf.org/diffutils.html
に入っている diff -u で出力しました。

PC98 でよく使われてます wsp だとバイナリになってしまうので
ソースやテキストの比較には向かないなぁ、と思って diff に致しました。

* タブやスペースを飛ばさないように pre
コードを書き込むときは pre モードにするのですね。了解です。

それでは。
      - No.2706 -    このTreeへ    コメント元:2704 へ [リストへもどる] soft

(2698) 2712Re^5: DOSプロンプトで COMMAND.COM 起動にならないように  投稿者:konno   2007/09/04(火) 00:09
    2706 番 おうら さんへのコメント

> あれから また更にいろいろとやってみました。それでどうやら、
> 最初のパッチで jmp to_edit1 となっている部分を jmp exec1 とすると
> 空[Enter] を押しても そのままになりました。

うおおぉ、すご〜い! 積年の課題がこんなにあっさり解決できるとは!

> ただスタックのレベルがどうなっているのかなどまだ追いかけきれてません。
> この修正で問題無しとしていいのか、自信が持てないところなのです。

私も読めてないんですが、問題は出てないですね。しばらく試してみて、
問題ないようでしたら次のヴァージョンに取り入れさせて頂きます。m(__)m

> * Vz 仕様の謎
> 今更過ぎることではありますが、、、
> やっぱり c.mos 師と凡人の差は深いのですね。。。
> らくだ本でも、そのかけ離れた所を感じずにはいられませんでした。

Vzの全ての機能は必要があって作られたのでしょうが、その全てを使いこなしていた
人はそうそういないんでしょうね。作者のみぞ知るところでしょうか。
もっとも、Vzはたくさんのパワーユーザーの要望を取り入れているので、c.mos さん
自身も必要を感じなかった機能も多いのではないかと思います。

> * パッチの形式
> としき さんも仰られるように diff+patch です。
> ワタクシは Gentoo Linux を使ってまして、
> GNU diffutils http://directory.fsf.org/diffutils.html
> に入っている diff -u で出力しました。

あ、やはりそうだったんですね。知らなかったもので、失礼しました。
Linux でdosemu だったんですか。もしかしてXPのDOS窓より快適なんでしょうか。

> PC98 でよく使われてます wsp だとバイナリになってしまうので
> ソースやテキストの比較には向かないなぁ、と思って diff に致しました。

なるほど。テキストなら安心感が有りますよね。パッチ用に差分ファイルを作る
だけのモノかと思ってたんですが、比較にも使えるんですねぇ。

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