レトロフリークカートリッジアダプタ活用テクニック(4)dumpfreak


SFメモリカセットも書き換えられます


注意


概要


dumpfreakとは?
前回、ウルトラコア吸出しに成功し、次のテーマはSFメモリカセットの吸出し、また可能であれば書き込みに挑戦してみようと思いました。
前回のプログラムをベースに改造していたのですが、ソースファイルが1本なのが猛烈にメンテナンスしにくかったもので、新たにプログラムを作り直しました。
以降、このプログラムをベースに各ゲーム機の吸出し機能を実装したいと思います、たぶん・・・?
実は当初目的にしていたSFメモリカセット書き込みができてしまったので、今後当分アップデートはないかもしれません。
戦士の休息です。♪ありがとう〜、ぬく〜もりを〜


dumpfreakのダウンロード
dumpfreak_v1.1.zip

Windows+python3+pyserialを入れた環境で開発しています。
pythonのインストール方法は本ページでは説明しません。

展開すると2つの.pyファイルとclassesディレクトリができます。


dumpfreakの起動方法
ファイルとディレクトリをpythonへのパスの通ったフォルダに置き、前回同様、引数をつけずに実行してみてください。
使用方法と、現在使用可能なシリアルポート一覧が表示されます。

c:\Temp\Python\test>python dumpfreak.py
usage: dumpfreak.py ComPortName
       ComPortName : シリアルポート名(例: COM1)

使用可能なシリアルポート名一覧:
COM5
COM6
COM7

RFCAと通信するためのシリアルポート名が分かったら、そのシリアルポート名を引数に与えて

> python dumpfreak.py COM7

などと実行してください。メニューが表示されます。

==========================================================
                     <<トップメニュー>>
==========================================================
接続中カセット種別: 未接続
----------------------------------------------------------
1: メニュー:メガドライブ
2: メニュー:スーパーファミコン
q: 終了
----------------------------------------------------------
選択してください:

『1: メニュー:メガドライブ』
こちらで説明しているウルトラコア吸出しができます。


『2: メニュー:スーパーファミコン』
以下のようなメニューが表示されます。
==========================================================
             <<メニュー:スーパーファミコン>>
==========================================================
接続中カセット種別: メガドライブ
----------------------------------------------------------
 1: 先頭512バイトをダンプ表示
 2: 指定アドレスから512バイトダンプ表示
 3: カートリッジヘッダー表示
 4: HiROM各バンク先頭&末尾ダンプ
 5: ROM読み出し&ROMファイル作成
 6: [SFM]SFメモリカセットWakeup(HIROM:ALL)
 7: [SFM]ディレクトリ一覧表示
 8: [SFM]Wakeup&全体吸出し&ROMファイル作成
 9: [SFM]Wakeup&ゲーム選択吸出し&ROMファイル作成
10: [SFM]Wakeup&マップ情報表示
11: [SFM]Wakeup&マップ情報ファイル保存
12: [SFM]SFメモリカセット用イメージ書き込み
13: [SFM]マップ情報書き込み
14: [SFM]全セクターのプロテクト状態表示
----------------------------------------------------------
                    [※!警告!※]
   以下の処理は、SFメモリカセットが復旧できない状態になる
   危険性があります。
----------------------------------------------------------
15: [SFM]マップ情報イレーズコマンド送信
16: [SFM]c0/e0リセットコマンド送信
17: [SFM]Flash c0セクタープロテクト有効化
18: [SFM]Flash c0末尾セクタープロテクト無効化
19: [SFM]Flash c0プロテクト有効化
20: [SFM]Flash c0プロテクト無効化
b: 戻る
q: 終了
----------------------------------------------------------
選択してください:

今のところ、以下の機能しかありません。
◆SFメモリカセットを書き換える場合の手順
1.メニュー8&メニュー11で、書き換えるSFメモリカセットのバックアップを取得します
2.メニュー9で、SFメモリカセットのMENU PROGRAMを吸出してファイル化します(SF-Memory-Binary-Makerで使う)
3.何らかの方法でSFメモリカセットのイメージファイル&マップ情報ファイルを作成します。推奨:SF-Memory-Binary-Maker
4.メニュー12で、3のイメージファイルを書き込みます
5.メニュー13で、3のマップ情報ファイルを書き込みます
※4は、2時間くらいかかるので、のんびり待ちましょう。

イメージファイルって何?マップ情報って何??という方は、こちらを先にお読みください。


参考にさせて頂いたサイト、情報
kako blog
PLUTIEDEV
moldovさんのSF-Memory-Binary-Maker


(2019/12/19)



トップへ戻る