2020年6月5日から2020年6月1日までの日記を表示中

2020年 6月 5日 (金)

基板

今日もCPS3の改造BIOSのError 60問題調査中。ボリュームラベルとタイトルコード(?)を比較した後、結果に関係なく「一致」判定にして先に進むようにいじってみたところ、今度はインストールが終わったところで画面がブラックアウトするようになりました。

エラー画面に遷移していないということは、もしかして、フラッシュメモリも初期化されていないのかも?これは、Security Cassette Utility で中を覗くチャンス!というわけで、見てみました。

・・・むむむ、SIMM1の中身はデコードされていない!? ボリュームラベルと比較するのは、SIMMをデコードすると出てくる文字列なので、デコードできてないのであれば文字列が不一致でエラーとなるのは納得です。問題はなぜデコードされていないのかということ。

SIMM1の先頭

おっと、SIMM2はバッチリデコードされているぞ。

SIMM2の先頭

SIMM1とSIMM2の差は、フラッシュメモリが富士通版か否か・・・。まさか、富士通版のSIMMに書くときだけ呼ばれるベンダ固有のルーチンにフックをかけてしまったとか?

MAMEの再現させてみようと思い、フラッシュメモリを富士通製のものからシャープ製のものに変えてみたんですが、エミュレーションしているメモリにBIOSが対応していないようで認識すらされず (´・ω・`)。しからばと、実機でプログラム用のSIMMを両方とも富士通版にしたところ、見事にインストールが完走し起動するようになりました。やはりそうか・・・。

解決策としては、日立のフラッシュメモリ向けのルーチンにフックを掛けるという手がありますが、MAMEでデバッグできないのは辛いところ。やはりフラッシュメモリの種類に応じて分岐するよりも手前の段階でデコードするようにパッチを修正する方が無難そうです。さてどこがいいか・・・。

2020年 6月 4日 (木)

基板

今日もCPS3の改造BIOSでError 60問題を調査。昨日作った、インストール直後のチェックサム確認を潰した版を動かしてみましたが見事に失敗。ここではなかったようです。で、ちょっと作戦を変えて、プログラム上でERROR 60の文字列の先頭アドレスを参照している箇所を探し、そこから遡ってみたところ、CDのボリュームラベルとプログラム中に記録されているゲーム名 (CAP-なんちゃら) が一致しないときに出るエラーっぽいということがわかりました。いやでも、オリジナルのCDでインストールしているわけで、ボリュームラベルを間違うわけがないよなぁ・・・。

ところで文字列といえば、CPS3のセキュリティカートリッジのBIOS、stringsをかけてみると、通常の Security Cassette Utility の他に、Developer's Security Cassette Utility なる文字列があったりするんですよね。そしてその中には「CODE:」という非常に気になる文字列が・・・。この辺追ったら何か新しい発見あったりするのかな? というかもうBIOS端から全部読んだ方がいいのかもw

BIOSに含まれる謎の文字列

2020年 6月 3日 (水)

基板

CPS3の改造BIOSでインストールすると最後にError 60が出てしまう問題を追っています。最後まで行ってから出るので、チェックサム不一致を疑い、チェックサムを比較している箇所を潰してみました。確認は明日以降。

あと、ハードの方は、何か不調で全然フラッシュメモリが認識されないカートリッジをメンテ。どこかでハンダ不良を起こしていたのか、フラックスを塗ってコテを軽く当てててやったところ無事復活しました。ふぅ。

ゲームギアミニ

とりあえず予約はしたけど、メガドラミニと違ってちょっとモヤモヤするものが・・・まあセガらしいといえばセガらしい判断なんでしょうけど。

2020年 6月 2日 (火)

基板

CPS3のBIOSをハックして追加した、オリジナルのメディアからデコードしながらSIMMに書き込む機能、実機で動作確認してみました。いい感じで動いているようです。

実機テスト中

・・・と思ったら、いつの間にかError 60が出て失敗していました。MAMEだと完走するのになぁ。何が起きているんだ・・・。

ERROR 60

フラッシュメモリの中身を確認できれば何が起きているかわかるんですが、CPS3はエラーが出ると勝手にフラッシュメモリ初期化しちゃうみたいで要因調査できないんですよね。この○○な仕様で、当時のサポート現場は困らなかったのかな・・・。

あ、CDスキップ機能の方は実機でもイメージ通り機能してくれました。

2020年 6月1日 (月)

基板

CPS3のCDありタイトルで、CDスキップ機能をどうやったら簡単に実現できるか検討してみています。当初、「起動途中でCDアクセス → CDが見つからなかったら『CDなしモード』にして起動」 というイメージでいたんですが、軽く処理を追った感じ、CDが見つからなかったときに「CDなしモード」の初期化処理に巻き戻すのが結構面倒そう。デフォルトはCDドライブの有無に関係なく「CDなしモード」で起動するようにして、何かしらボタンが押しっぱなしになっていたらCDを見に行くような仕様にした方が簡単っぽいです。この辺、ディップスイッチがあればスマートなんですが、CPS3にはないんですよねー。

2020年6月5日から2020年6月1日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2020年6月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ