Windows上でJWASM(フリーのMASM6互換アセンブラ)と98エミュを使ってのプログラム作成に関するエトセトラ。また、PC-98プログラミング関係の書籍紹介とか自作ソフトの進捗とかも。

IPLの作成テストとディスクBIOSの勉強を兼ねて、エミュレータ環境用のIPL直接起動型フォーマッタを作成してます。
BIOSを呼び出すだけなので簡単に大枠ができたのですが、そっちはまだ寝かしておいて、その際に見つけたDiskExplorerのマニュアFDルイメージ読み込みのバグ?について書いておこうかなと。
ヘルプファイルがwindows10のデフォルトでは開けないので既知のものかもしれませんが、大したバグでもないので、そこまで調べる気もなく…。

DiskExploreは言わずと知れたディスクイメージ読み書きソフトです。
しかし、私のよく使うNFD形式に対応していないため、マニュアルFD機能で68112バイト目(16進数で0x10a10)から読み出す設定にして読み込んでいます。
今回はフォーマットしたディスクの確認にバイナリエディタと併用して使いました。
通常は68112でやっているのですが、ヘッダサイズを16進数で入力できないかと0x10a10を入力してみたところ、セクタ情報等はきれいに読み込めました。
これは楽だとイメージを開いたのですが、よくわからないファイルが多数表示され、そのファイルを削除すると0x1400から32byte毎に6KBの範囲にだけE5が書き込まれています。
で、そのイメージは通常では読み込めなくなりました。
バグなのか仕様なのかわかりませんが、注意すべき挙動ではあるかなと。

さて、FATに詳しい方ならもう御察しでしょうが、これはディレクトリ情報がヘッダサイズを16進数で入力しても反映されず、0バイト目から読み込んでいることで起こっている可能性が非常に高いです。
フロッピーの0x1400からはディレクトリ領域であり、E5は未使用だという情報を表しています。
1つのディレクトリのサイズは32byte、ディレクトリ領域の大きさ6KBなので、状況証拠的にはほぼ当確だと思います。

仕様外の16進数入力をしないでwindowsの電卓機能で16進数からワンタッチ変換すればいいだけなんですけど、中途半端にセクタ情報等だけ読み取れるので注意喚起で書いておきます。

Menu

管理人/副管理人のみ編集できます