2007年12月14日

Flash種別の判別方法(GBA FLinkerの解析)

F2A Ultra 2Gの制御(リード/ライト)を行うプログラムを作成しようと思案中。
そのために、カートリッジのフラッシュをどのように判別・アクセスをするのかを調査してみる。

FLinkerというツールにおいて、GBAのフラッシュやマジコン系のフラッシュへアクセスするソースコードが公開されているので、内容を確認してみた。

フラッシュ種別の判別
  • カートリッジの先頭アドレス(0x08000000)に0x90を書き込む
  • カートリッジの先頭アドレスを読み出す。読み出した値により‥‥
  • 0x00 → Hudson Cartridge
  • 0x2e → 一般的なROM
  • 0x89 → Intelのフラッシュ(具体的なデバイス種別は、他の方法で判別する)
  • 0xb0 → Sharpのフラッシュ
上記のように、デバイス種別の判別にはデバイスごとに異なる様子。
F2A Ultraにどのようなデバイスが搭載されているのかわからないことにはどうしようも無いな‥‥


参考リンク
FLinker:http://www.devrs.com/gba/software.php#misc

0 件のコメント: