> > ということは、DOSVAXJ3の作者様にお願いすれば・・・> え〜〜(^o^;顔が笑ってますよ。(^^;> > Wengier Wu 氏による DOSBox-lfn の修正を取り込み、ロングファイルネームや> …と書かれているので,他に影響を及ぼすのではなかろうかと想像します。そうなんですが、オプションにしてもらえば行けると思います。(^^; === int_71A0.def === LFN が使えない場合(生DOS)の返り値は必ず AX=7100 CF=0 になる。 生DOS AX == 7100 CF0 Win95/98系 AX != 7100 CF0 WinNT系 AX != 7100 CF? LFNファンクションの返り値を、NT系でも CF=0 にすればどちらでも使える。 *m 80 ^\ "LFN? " ax$71A0,&i($21) ;LONG FILENAME - GET VOLUME INFORMATION &m(" AX=%04x CF=%d",ax,r) ;AX71A0 をドライブ指定無しで呼んだ場合 . * そう思ってこのマクロを DOSVAXJ3 で実行してみたら AX=0000 CF=0 になりました。あれえ? RCP.EXE のソースを見てみたら、それっぽいルーチンを見つけました。 xdos.c 369行目 Function 71A0h ボリューム情報の取得 int is_LFNsystem : 1 LFN サポート 0 非サポート regs.x.ax = 0x71a0; regs.x.cx = 5; regs.x.dx = FP_OFF(drive); sregs.ds = FP_SEG(drive); regs.x.di = FP_OFF(filesystem); sregs.es = FP_SEG(filesystem); intdosx(®s, ®s, &sregs); /* if(regs.x.bx & FS_LFN_APIS) */ ここを if(regs.x.ax != 0x7100) これに変えてみた { return 1; }else { return 0; } もしかして、BXの値で判断しているのかしら。 変更して Turbo C (Tc201) でエラー箇所をコメントにしてコンパイルしたら LFNが使える、というメッセージが出ました。 ただこの実行ファイルは不完全なようで、コピーなどが出来ません。 やっぱり Siさんに相談かな。 メールがわからないので、掲示板に書いてみようと思います。
関連記事一覧ツリー (▼ を押すとツリー全体を一括表示します)
返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
- 以下のフォームから自分の投稿記事を修正・削除することができます -