240712 PS/55エミュ製作 [37]ESDIアダプター内蔵ハードディスク
![Image: 240712 PS/55エミュ製作 [37]ESDIアダプター内蔵ハードディスク](/blog/img/2024/pcem-internal-esdi.png)
PCemのビデオメモリーアドレスの仕組みが理解できなくて、グラフィックモードの開発が進まない。DOSBoxでもだいぶ苦労した部分なので、ここを突破するのは時間が掛かりそう。そういうわけで、エミュレーション精度を上げるために別の開発に取り組んでいた。
PS/55モデル5551-S,TはESDIハードディスク(リファレンスディスケットでは「アダプター内蔵ハード・ディスクII」と表示される)を内蔵しているんだけど、これをエミュレーションするのはそんなに難しくなかった。
ESDIコントローラー単体のMicroChannelアダプターとの違いは、ディスクBIOSのROMがない(システム・ボード側のROMで認識する)ことと、POS IDが違うこと以外はほとんど同じ。ただ、ESDI Fixed Disk Controllerのコードを流用すると、POSTでエラー10482(ハード・ディスク・エラー)が出る。BIOSを解析すると、デバイス7(アダプター)が対象のGet Device Configurationコマンドに対してセクターバッファーサイズを返す必要があって、少しコードを書く必要があった。こりゃBIOS ROMを逆アセンブルしないと分からないな。