PC-9801-RA35などの内蔵SASI BIOSにNECチェックがある!?

PC-9801-Ra35などの内蔵SASI用のBIOSにNECチェックがある可能性を発見したので報告。
なお、このNECチェックが害をなすことはPC-9801-55と違って通常ありえません。
気にせず安心して使ってください。
理由は簡単でこの内蔵SASI I/F基板にはST-506変換部分が含まれていて分離できないからです。
問題になるのはこのBIOSを抜き出してエミュレーターでPC-9801-27用のSASI BIOSの
代わりとして使う場合やこのスロットに新規にSASI I/Fを構築する場合に限られます。

何をやっているのか?(あくまで想像)
SASI BIOSはおそらくST-506変換基板に対して0x12(SCSIでいうINQUIRY)を発行し
返ってきたデータのベンダIDがNECであるかチェックしているものと思われる。
(詳しくはSCSIのINQUIRYのレスポンスを参照)
NECが含まれてなければDISK ERROR!を出して停止する。

DISK ERROR画面

対策
エミュレーターを使う際にこのBIOSイメージしか持っていない場合は
エミュレーターの作者に連絡して対策してもらうかBIOSイメージにパッチを当てるしかない。
もしくはPC-9801-27または互換ボードを買ってBIOSを抜き出すという手もある。
パッチを当てる箇所とかツールは公開していいか分からないので今のところ公開しない予定。

このスロットにSASI I/Fを構築したい場合はINQUIRYを正しく返してあげればよい。
ST-506変換基板を内蔵するのならST-506変換基板のファームで対応するなど。
27互換で実装する場合はINQUIRYをSASIバスに流さないようにして
ホスト側で独自にデータを返してやればうまくいくはず???
インテリジェントSASIコントローラ???の開発が必要?

この件は独自研究による推測なのでなにかあったらツイッター等で連絡ください。

カテゴリー: PC-98, メモ, 修理,改造 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です