2020年7月28日の日記の1番目の記事へのコメント
■基板
ここ数日、再び何とかして綺麗な形でCDレス化出来ないか、CPS3のストIII 3rdとかのBIOSの処理を眺めていたりしたんですが、偶然、BIOSの処理のステートマシンの管理テーブルっぽいのがあるのをを発見しました。詳しく調べてみると、その中にドライブが未接続だった場合に行き着く状態(関数ポインタ)と、ドライブ接続時に起動直前の段階で遷移する状態があることがわかりました。ということは、もしかして、このドライブが未接続だった場合に行き着く先の状態を、起動直前に経由する状態の値に書き換えてやれば・・・おお、CDなしで起動した!
CPS3で起動時にドライブが検出できなかった場合でも、エラー状態にはいらずにそのままCDなしで起動するBIOS改造できたっぽい。別に複雑なパッチとかいらなくて、状態遷移の管理に使ってると思われるテーブルを2Byte書き換えるだけでよかった。これは便利かもw pic.twitter.com/tjcoQougRC
— のすけ (@konosuke) July 28, 2020
というわけで、当初思い描いていた「ドライブを探しに行って、ドライブががなかったらそのまま起動する」という処理の流れをようやく実現することができました。諦めかけていたので、かなりラッキーな感じ。
ちなみに、この方法、ジョジョやストIII 3rdではうまくいくんですが、ストIII初代ではダメそうですね。同様の状態管理テーブル自体は見つけられたんですが、CDなしのときに行き着く状態を差し替えてもうまくいきませんでした。残念。
2020年7月28日の日記の1番目の記事へのコメント
[コメントを書く]