2020年6月7日から2020年6月3日までの日記を表示中

2020年 6月 7日 (日)

基板

初代ストIIIも、ジョジョのNO CD版とかと同じアドレスの最下位bitに1が立っていると、起動時のCDチェックをスキップできるっぽいですね。この辺がちょっと違うのはウォーザードだけ? というか、ウォーザードはゲームが起動した後も定期的にCDをチェックしているっぽいんですよね。やめて欲しい・・・と思いつつ解析メモが書かれたファイルを開いたら、「デモ中のCDは0x02000024」みたいな感じのメモ書きが残っていました。

MAMEのデバッガ上でですが、 試しにここに 1 (←嘘書いてました。正しくは→) 0 を書いてやったら起動後のCDアクセスが解消した模様。うーん、確かに何かそんなのを見つけたような記憶はあるんですが、どうやってそこに至ったのかの記憶が一切ないのが怖いw。このメモ書いたの、つい数日前なんですよねw

その後、カートリッジのBIOSを書き換えようとしたところ、再びEraseやProgramがエラーで失敗し続ける問題が発生しました。

アダプタ側の配線が一部切れかけていたりしたので、接触不良を疑い、この辺を一通りつけ直す修正をして、さらにカートリッジ内のはんだ付けもチェックしたりしたんですが、症状は特に改善せず・・・。うーん、カートリッジが悪いのかな・・・と別の実績のあるカートリッジを試したところ、こっちは一発パス。やっぱりこのカートリッジ側に問題があるのか・・・と思ったけど、再度このカートリッジで試したら今度は一発で書き込み成功。もしかして、1回何かの拍子におかしくなると、しばらくダメな状態が続いたりするのか・・・?

配線手直ししてだいぶいい感じにはなったけど・・・

液晶モニタ

DELLのWUXGAのモニタ U2415 が届きました。これで熱々のMDT242WGをリプレースしちゃうぜ!

DELL U2415届いた

MDT242WGで使っていたエルゴトロンの液晶アームに取り付け。

液晶アームに取り付け

無事設置完了しました。

無事設置完了

余ったスタンドは、特に使い途があるわけでもなく、モニタ部分をアームから外す日まで物置にw

余ったスタンド

2020年 6月 6日 (土)

基板

CPS3のBIOSをハックして、インストール時に暗号を解きながらフラッシュメモリに書き込むことでオリジナルのメディアを利用可能にする実験、フラッシュメモリのベンダごとの処理に分岐する前の段階でフックをかけるのにちょうど良い箇所が見つかり、無事パッチを修正することができました。

今までは、これからフラッシュメモリ書くというところでバッファ上の4Byte単位のデータをデコードしていたんですが、修正後は、CD-ROMから8KiB単位でデータを読み出したところでバッファ上のデータを全部デコードする形に。修正自体があっさり完了したのは、C言語の開発環境をしっかり整えておいたお陰でですね。

実機上で、日立のSIMMが混ざった場合でもError 60になることなく正常に起動することが確認できたので、これでCDなし起動に続き、2つ目のやりたかったことが完了したことになります。もう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月7日から2020年6月3日までの日記を表示中

中の人情報

名前:
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件のコメント

過去ログ