[HOME]  [全部表示 会議室風]  [全部表示 保存用]  [リストへもどる]

一括表示

  MS-DOS Player 2025/11/26版 - konno 25/11/28-23:44 No.12610
(12610) 12610MS-DOS Player 2025/11/26版  投稿者:konno   2025/11/28(金) 23:44


MS-DOS Player 2025/11/26版が更新されました。

-----------------------------------------------------------
struprの処理であかんエンバグをしていました。
修正しましたので、11/22版をお使いの方は差し替えをお願いいたします。


2025/11/22
NP21/WのI386コアについて、SGDT/SIDT命令を修正しました。
os2museumの記事によると、常にベースアドレスの32ビット全体を保存するようです。

コンソールのコードページを変更した場合、そのコードページでファイルパスを扱うようにしました。
ファイルアクセス周りを大幅に書き換えていますので、不具合を見つけられましたらお知らせください。
基本的に、コードページを変更しなければ、従来通りの動作になっているかと思います。
…正直ここまでせんでも良かったような気がします(苦笑)

ホスト環境が日本語版Windowsで、上画面の通りのファイルがあるものとします。
ここで、eeeeeeee.txtの短いファイル名が作られていないのが分かります。
(Best-Fit有効で変換したファイル名が短いファイル名として有効だとそうなるらしい?)
また、いろはにほへと.txtの短いファイル名が、いろは~.TXTと日本語交じりになっています。

アクティブなコードページがOEMコードページと同じ場合、従来通りANSI系ファイル関数を使用します。
FindFirstFileA/FindNextFileAは、NTFS上のUNICODEのファイル名をBest-Fit有効で変換するようで、
eeeeeeee.txtがeeeeeeee.txtとして認識されてしまいます。
短いファイル名もないので、このファイルにアクセスすることはできません。

アクティブなコードページを変換すると、そのコードページでファイルパスを扱います。
実際にファイルにアクセスする際は、UNICODE系ファイル関数を使用します。
ファイルパスはBest-Fit無効で変換しますので、eeeeeeee.txtはそのまま認識されており、
このファイル名でファイルのアクセスも可能です。
日本語のファイル名は、このコードページでは扱えないため、???と認識されています。
短いファイル名も日本語交じりのため、このコードページではアクセスすることはできません。

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

上記の eeeeeeee.txt は実際にはアクセント付きの文字のようです。
それが読めないのを修正したということのようです。
私もたまたま #10734の話題で作ったテストフォルダを見た時に「確定申告」が
「凱定申告」に、「楽天」が「凱天」と表示されてそのファイルやフォルダが
開けなかったので、漢字の一部が化けてしまう副作用に気が付いた次第です。
今は UNICODE系文字が主流なのでこの手の修正は大変なのですね。
作者様に感謝します。

      - No.12610 -    このTreeへ           [リストへもどる] soft