2010年9月23日の日記の1番目の記事へのコメント
■バーニングライバル
とりあえずMAMEでエミュレーションしているプロテクトの仕組みは理解したつもり・・・.単に,特定のアドレスが読み出された際に,羊羹が0を返すということをしているようです.ということは,CPU側がそのアドレスから読んだ値をチェックする部分にパッチを当てれば回避できるんじゃ? というわけで,ウォッチポイントを利用して,対象となる領域をアクセスして分岐している部分を探し,試しにそこをNOP埋めしてみたところ,起動後にテストモードに落ちなくなりました.うわー,簡単.ほんとにこれでいいのか (;´Д`)?
バイナリ直で探してみたら,全部で十数か所ほど同じような処理と思しき部分があったので,全部NOPにしてやったところ,プロテクションのエミュレートを切った状態のMAMEでももりもり動くようになりました.うおー,こいつは早く実機で試したいぜ! だが27C210がない! というわけで,ここから先はROMが手に入るまでお預けです.
ちなみに,羊羹のプロテクションはタイトルごとに全然違うようで,ソニックやダークエッジとかはここまで簡単ではなさそうです.電池の切れたダークエッジとか,あったら捨てる前にご一報をw
2010年9月23日の日記の1番目の記事へのコメント
[コメントを書く]