> 金野さん版で試してみましたが、$IBMAIASとかMS$KANJIとかをオープンするときに、
> デバイス名がnull terminatedされていないため失敗しています。
試していただきありがとうございます。
私の版はFEP関連は高橋版のままなので、オリジナルとの違いを見てみたのですが
オリジナルがテーブル方式なのを別の方式に大幅に変えている感じです。
おそらく多くのFEPに対応するためだと思われます。
想像ですが、テーブル方式を止めたために逆に存在確認が出来なくなったとかかなぁと。
> MS-DOS Player側でその辺を対処して、$IBMAIASをオープンできるようにして、
> INT 21h, AX=4400hでデバイス情報として0080hを返すようにして、
> これでデバイスが存在すると認識してくれたはずなのですが、
> それでもVZがINT 16h, Ah=13hを使ってくれない、という状況のようです。
複雑すぎて私には全く見当もつかないです。
> 試みに、MS$KANJIをオープンできるようにしたところ、
> INT 21h, AX=4402hでデバイスの情報を問い合わせに来てくれました。
> これはMS$KANJIをちゃんと実装すれば、そちらを使ってくれるかもです。
そういえば、高橋版はデバイス名のヌルが抜けてるというのを思い出して過去記事を検索してみました。
#6453 で10#さんが調べてくれていました。
> 通常IASの検出はオープンハンドル法といって、"$IBMAIAS"というデバイスを
> オープンできるかどうかで判断しています。
> この"$IBMAIAS"というファイル名は終端にNUL文字が必要で、オリジナルの
> ソースにはあるのですが、k07s3のソースには見当たりません。
> このため、"$IBMAIAS∀・ッヘクヘUヘqヘッヘクヘPサ"というファイルをオープン
> しようとしています。
> 未確認ですが、おそらく通常のIASは検出できないものと思われます。
> VTDOS1.39では先頭8文字のみを比較して、強制的にIASを検出させています。
これだ! 思い出した! これが原因だと思います。
私は #6458 で
> > この"$IBMAIAS"というファイル名は終端にNUL文字が必要で、オリジナルの
> > ソースにはあるのですが、k07s3のソースには見当たりません。
>
> 気が付きませんでした。確認してみたところ、高橋版以外はありました。
> したがって高橋版の系列は皆抜けています。これは直します。
>
> 高橋版は初期のものでNULが一つ足りなくて、それ以降のはNULが無くなっています。
> これはVZIBMJ.COMをVZで開いて、"$IBMAIAS"を検索してわかりました。
こう返していて、当時のVZソースを以下のように変更していました。
IFDEF IBMAX
db FP_MSKANJI
db 0
ENDIF
db 0 ; ##k07t2 14-05-11
vct16 dd 0 ; tVZで抜けていた
ところがそれ以降の版ではこれを忘れていて抜けたままになってしまったようです。
これを追加した版で試したらキチンと動作しました。
お騒がせしました。m(__)m
高橋版に対応させるために 10#さんは上記のような対応で WinIME制御を実現してくれたのだと思います。
できましたらそのようにして高橋版でも動くようにお願いいたします。m(__)m