2012年1月28日の日記を表示中
2012年 1月28日 (土)
■E-SWAT
実家で待機している間、暇だったのでE-SWATの電池切れ対策をしてみました。E-SWATはFD1094なので、コード空間部分のみを見つけ出してデコードしてマージすればOKです。当初、手でちまちまと追っていたのですが、途中でデータとプログラムの境界に必ず「4e 71 (NOP)」が現れることを発見。これを利用して一気に切り分けが完了しました。ひとまずエミュレーター上で動かしてみたところ、あっさり起動。戻ったら実機で動かしてみましょう。
ちなみに、作業の途中で再びdis.xでaddi.bなどの一部が未定義命令となってしまう問題に遭遇しました。さすがに耐えられない感じだったので、調べてみたところ、どうもアドレッシングモードが Absolute Short のときに発生しているようです。その辺をヒントにソースを追ってみたところ、disasm.cでDisasm_ExactがTRUEになっているのがまずいっぽいことが判りました。この値をFALSEに変更してやったところ、無事未定義命令扱いが解消。いやー、よかったよかった。これでSDIの逆アセンブルの問題も解決ですね。
[コメントを書く]
■帰宅
用事が済んだので、夜に自宅に戻りました。眠い・・・。
[コメントを書く]
■板
帰宅後、届いていた阿修羅ブラスターを動かしたりしていたら、ケイゴさんがナムコクラシックコレクションのスコアのリセット方法を掲載したサイトを見つけてくれました。何と、標準で用意されていたんですね。というわけで、さっそく試してみました。
初期化前。
初期化後。
バッチリですねー。ちなみに、上記サイトに掲載されている方法だとうまくいかなかったので、以下のようにちょっと変更して行ってます。
- テストスイッチを押しっぱなしにしてテストモードに入る
- 1Pのスタートとサービススイッチを押しっぱなしにする
- テストスイッチを離す
で、その後は、昼間実家で作業したE-SWATの実機上での動作確認。CPUを68000に交換して、プログラムROMをデコード済みのものに差し替えます。
おー、バッチリ。
しかし、テストプレーが苦痛だww
おっと、直さないと。
[コメントを書く]
2012年1月28日の日記を表示中
初めまして、COOLと申します。
先ほどのすけ様のブログをみて
もしかして?と思いまして、ご相談して頂きたいことがあります。
ブログにアップしたセガ・システム16基板E−SWAT電池が切るパッチ作業をみました。
私が持っているE−SWATの基板のバッデリが切れて起動できません(涙)
もし、宜しければのすけ様が作業したE−SWAT電池無くても起動出来る
プログラム・ロムファイルを私に送って頂けないでしょうか?
どうしてもいかしたいです・・・
初めてなのでこんな御願いして大変申し訳ございません。
ご検討してくださいませんか?
では、返事お待ちしております。