#148 Article 18010 Posted at 1995/05/11 23:33:04 by みやちゃん (MAP2821) [CHA.DOS]
Subject: Re:*4 チャチャDOSについて /17965 ... /17794 /17789
> COMMAND.COMを改造するわけにはいかんのでしょーか。 Human68K と違い、逆汗して再汗しても戻りません。 とりあえず「コマンドまたはファイル名が違います.」の表示を行う トリガの部分を引っかけなければならないのですが・・・・・・・・・・ COMMAND.COM のコマンド入力・解析処理部は非常駐部で、そこから子プロセス起動を コールしているらしいのだが、この非常駐部で環境変数 PATH も含めて コマンドファイルを探して見つからないと直にメッセージを表示して抜けると。 非常駐部だけにメモリ上の COMMAND.COM を書き換える訳にもいかないしねぇ。 (書き換えても、すぐにオリジナルで上書きされてしまう) 書き換えるならファイルレベルで書き換えないと・・・・・・・・・ となると当然 COMMAND.COM 自体を詳しく解析しなければならないし、 更にDOSのバージョンに激しく依存してしまう。 ユーザによって使用するバージョンがバラバラだしねぇ。 とりあえず NEC 版なら 3.30B 以降が殆どだけど、それだけでも一体いくつ? その点 Human68Kは 便利かも。 とりあえず 2.02 2.03 3.0x に対応しておけばなんとかなるだろうし。 (うちは今現在 3.00 を使用中) とりあえずは INT 21h を奪って AH=40h BX=2 DS:DX='コマンドまたは・・・・'の条件で 判別する位しか無改造のままでは対処方法が思い付かないですねぇ。 とりあえずはこの条件で NEC 版の 3.30D と 5.00A では確認出来ましたが、 トリガで引っかけるつもりが文字列表示そのものを引っかける結果になってしまった。 (トリガ自体、パスを追いかけていって最後にダメってだけだから存在しない) あ、文字列の実体を直接参照しているので、チャチャDOSなどに書き換えていたら その書き換えた文字列にこれも書き換えないと反応しないぞ(苦笑) それと、メニュー系プログラムから発行したコマンドが引っかかるとは思えない。 特にDOSコール(INT 21h AX=4B00h)で直接コマンドを起動する場合はね。 これはちゃんと別の方法で引っかけないといけないのよ。 COMMAND.COM を経由するやり方なら大抵引っかかると思うけど。 しまった、アニメ&PCMドライバの方の仕様を全然考えてないォィ ましてや常駐制御やパターンの登録/削除とかはまるっきりの手付かず\(・・;)ォィォィ とりあえず描画ルーチンは BOORIN.COM と同様のラスタコピー法でやろうかなぁ(^^; (プレーンコピーよりもちらつきが目立たないと思う) たしかPCMはフリーなソースがどこかにあったと思ったし・・・・・・ ところで、このプログラムの名称は何にしよう? 少なくともMACS(X68k)とのデータの互換性はまるっきり無視しているので MACSは使えないぞ。 みやちゃん