Sorry, this page is Japanese only. FlashManager for GBAdvance |
If you approve my development, please donate. But this is
NOT registration for my shareware. |
ここでは、ゲームボーイアドバンス用ブートケーブル(Parallel Linker Advance)やULA(USB
Linker Advance 市販はされていません。自作してください)、ブートケーブルUSB(BooT cable Usb=BTU)を使ってゲームカセットの吸出しやフラッシュカセット(Flash Advanceなど)への書き込みを行うソフトを公開しています。 また、私、Mootan はホームページの作成にはあまり興味がありません。よって、あまり洗練されていないので、読みにくい部分があるかもしれません。何卒、ご容赦のほどよろしくお願いします。 未対応のフラッシュカートリッジやゲームカートリッジのバックアップ(セーブ)メモリに積極的に対応したいと考えております。ぜひ下記の「フラッシュカセット交換キャンペーン」をご一考ください。場合によっては実費による買取も考えます。 |
【使用許諾契約書】
本ソフトウエアは、正規に購入され所有しているゲームについて便利に遊ぶために趣味で開発しました。
便利にとは、複数のゲームを1つのカセットで遊べるようにしたり、エミュレータで遊んだり
オリジナルのゲームを大切に保存したりすることを想定しています。
具体的な事例をここでは取り上げませんが、違法コピーの使用は禁止いたします。法律を遵守の上ご使用ください。 以上のことに同意できる方のみダウンロードし使用することを許可いたします。 |
バージョンアップの履歴、修正・機能追加の詳細、古いバージョンのダウンロードは次をご覧ください。
→ Version1, Version2 系 |
ダウンロードした「FM240.exe」というのは自己解凍形式の Zip 圧縮されています。
それを実行して適当なフォルダに解凍し FlashManager.exe を抽出する必要があります。 操作方法は devman.exe を使ったことがある人は直感でわかると思います。 ● GBA と接続中についてまず、本ソフトウエアを起動すると「GBAと接続中です...(?LA)」とでます。PLAの方でNT系OSを使用しているときはgiveio.sysをインストールしないと認識しません。ULAの方はULAを接続し、Cypressの「EZ-USB
General Purpose Driver」をインストールしないと認識しません。「?LA」の表示にご注意ください。その表示が「PLA」の時はPLA経由のみのGBAを検出します。「ULA」の時も同様です。「xLA」の時はPLAまたはULAに接続されたGBAで、先にSELECT+START電源オンで検出された方が有効になります。 ● ゲームを吸い出すときプログラムデータの「読み込み」ボタンを押します。 ● フラッシュカセットに単独のゲームを転送するときプログラムデータの「先頭書き込み」ボタンで行います。前に何か書き込まれていても上書きされます。 ● マルチゲームにするとき一旦「消去」ボタンでフラッシュカセットを消去してから、 次にローダプログラムの「追加書き込み」を行い、ゲームの「追加書き込み」を行ってください。ローダプログラムとは「gbaldr32.bin」のことで、Visoly社のダウンロードページから「Game Pack 3.2」を取得すればよいのですが、閉鎖されているようですので検索エンジンなどで探して入手してください。 ● 消去についてフラッシュカセットのとき、リストにあるゲームを選択せずに「消去」ボタンを押すと、フラッシュカセットの内容全てを消去します。部分的に消去を行いたいときは、消去したいゲームを選択してから「消去」ボタンを押します。ただし、消去機能の制限として選択したゲーム以降を消去することになります。つまり、リストの最後まで連続して選択しなければなりません。リスト中ほどのまたは頭のゲームのみを消去することはできません。この機能を有効に使うためには、よく遊ぶゲームを前の方に書き込み、書き換えるゲームを後の方に書き込むと書き換え時の効率が上がります。また、技術的な話になりますがブロック単位での消去になりますので、ゲームの境界がブロック中にあると自動的に保存し復元しますので、消去の前後で時間がかかることがあります。 ● セーブデータについて普通のゲームカセットから読み書きするときはバンク及びサイズの指定は
必要ないと思います。 ● ROM ファイルの予約書き込みリストに表示されているゲーム名の先頭の「□」印は、そのゲームが ROM
に格納されていることを示します。リスト下にあるファイルを開くボタンで書き込みたいファイルを選択し予約します。一度に複数のファイルを選択することが可能です。
同様にファイルをドロップしても予約ができます。予約されたファイルはリストに表示されているゲーム名の先頭に「○」印が表示されます。予約された
ROM ファイルは個別に削除したり順序を入れ替えることが可能です。リスト下のボタンで行います。すでに ROM
に格納されているゲームについてはこの操作は行えません。そして、予約された ROM
ファイル群を「先頭書き込み」または「追加書き込み」ボタンを押して書き込みを開始します。それぞれの動作は1つずつファイルの書き込みを行っていたときと同じです。注意点はマルチゲームにするとき、書き込み後にローダプログラムが先頭になるようにしてください。また、フラッシュカセットの残りの容量を超えて予約したときは、「追加書き込み」ボタンが押せなくなります。フラッシュカセットの全容量を超えて予約しようとしたときは、警告メッセージが表示されて予約できません。 ● 空き容量表示について「追加書き込みするときの空き容量 / 先頭書き込みするときの空き容量」と表示されます。予約 ROM ファイルが無ければ、「フラッシュカセットの残りの容量 / フラッシュカセットの全容量」の表示になります。ROM ファイルの書き込み予約を行うと、自動的に計算されて表示されます。また、ROM の刈り込み機能が有効になっていれば、刈り込み後の容量で計算されます。フラッシュカセット以外では「0 / 0bit」と表示されます。 ● ROM の刈り込み機能についてROM の末尾の「00」及び「FF」バイトデータを刈り込む機能です。この機能により、小さいプログラムを詰め込むことができます。このいずれかのデータは未使用のことが多いですが、そうとも限りません。そのため刈り込み機能を無効にするオプションを用意しました。システムメニューより選んでください。システムメニューとはタイトルバー左のアイコンをクリックすると表示されます。また、この設定は保存され次回起動時に設定が復元されます。デフォルトでは有効になっていますが、ゲームの動作がおかしいときには無効にしてみてください。 ● セーブデータの「EEP 4K」変換機能についてセーブメモリに「EEPROM 4K」を使用しているソフトをフラッシュカードで遊ぶときは、カードでエミュレートして SRAM に保存します。その保存された SRAM の内容はオリジナルのセーブデータと構造が違うため、オリジナルのカセットやエミュレータとのセーブデータのやり取りに変換を必要とします。その変換を行うオプションを用意しました。このオプションはフラッシュカセットのときに選択することができます。また、私が確認したものは、フラッシュカセットについては「FA2 256M」で、ソフトについては「マリオアドバンス」です。 ● セーブデータの「EEP 64」変換機能についてセーブメモリに「EEPROM 64K」を使用しているソフトをフラッシュカードで遊ぶときは、カードでエミュレートできませんのでパッチを必要とします。そのパッチを適用したソフトでセーブするとオリジナルのセーブデータと構造が違うため、オリジナルのカセットやエミュレータとのセーブデータのやり取りに変換を必要とします。その変換を行うオプションを用意しました。このオプションはフラッシュカセットのときに選択することができます。また、私が確認したものは、パッチについては「Flash Advance Toolkit v8」で、ソフトについては「マリオアドバンス2」です。 ● デバッグ機能ユーザ作成の GBA プログラムを GBA の外部ワーク RAM (02000000h) に転送して起動し、そのプログラムから PC
上のファイルにアクセスしたり、FM のウインドウに文字列を表示させるデバッグ機能を搭載しました。オプティマイズの
btcons.exe (旧 xlacons.exe)
に準拠しています。現在はそのソースが公開されていますので、それを見ていただくと詳細がわかります。また、私の方ではフラッシュIDを表示するプログラムやBIOSを吸い出すプログラムの動作を確認しておりますので、それらのソースを見ていただくとどのようにデバッグコードを実装したらよいかお分かりになると思います。他にTeamKNOxのReversiAdvanceでも動作を確認しております。現在のところテキスト出力、ファイルI/Oのみですが他にデバッグ機能として必要でしたら掲示板にご要望をお書きください(32bit値をGBAに転送する機能など)。 ● ULA にアクセス LED を実装するULA ファームウエアでは AN21xx の PA4 を読み込み LED 用、PA5 を書き込み LED 用としています。それぞれ、オープンコレクタに同等で Low アクティブで動作します。 具体的な配線は以下のとおりです。 LED の (A) とはアノードのことで足の長い方です。(K) とはカソードのことで足の短い方です。また、LED は低電流で動作するものとし 1〜2mA で十分な輝度を得られるものをお選びください。十分な輝度を得られないときは、直列に挿入されている抵抗値を下げます。560 オームまで下げて私は動作を確認していますが、AN21xx の定格を超えて使用していることを理解してください。バッファを挿入すれば十分な電流を確保でき明るく動作させることも可能です。私は今後も EZ-USB のデバッグ用に使用したいこともありトランジスタでバッファを構成します。これについては「USB Linker Advance 作成部屋」で紹介しています。 ● ジョイキャリーカートリッジこのカートリッジを使用する前にオプティマイズでの「ジョイキャリー」のページをよく読んでください。要は、メモリマップが特殊なことと、ブートブロックが存在することを理解してください。ブートブロックにはローダなどの特殊なプログラムを格納する必要があります。FMでは「先頭書き込み」で直接ファイルを指定したときのみに書き込むことができます。全削除を行ってもブートブロックは削除しないようにしてあります。意図的にブートブロックを選択したときは削除できます。ブートブロックはリストの先頭に表示されます。 ● 対応しているフラッシュカートリッジについて同じメーカー製でもかなり沢山のバージョンや種類が存在するため厳密な見分けは難しいです。 ● 対応しているリンカーケーブルについて→ 通信速度についてのベンチマークのランキング表
● GBAとの通信やフラッシュカートリッジへの書き込みの正確性についてGBAとの通信は、ケーブルが長かったり、コネクタの接触不良、外来ノイズ、GBAの性能ぎりぎりの高速通信などの理由で通信エラーが起こらないとも限りません。これにはCRC32によって通信内容を検証しています。フラッシュカートリッジへの書き込みはフラッシュチップの劣化やアクセスタイミングの問題で書き込みに失敗することがあります。これには、書き込み後GBA内部で読み込みを実行し書き込みデータと比較しています。これらの理由により、メーカーオリジナルのツールより通信速度が若干遅くなります。しかし、信頼性は高くなります。読み込みエラーについては、書き込みエラーに比べると格段に少ないですし、エラーがある場合には読み込み操作以前にエラーとなるため、何の検証もしていません。もちろん、読み込み時でも通信についてはCRC32で検証しています。 ● GBAカートリッジのバックアップメモリが正常か、電池切れではないか知りたいシステムメニュー(タイトルバー左上のアイコンをクリック)に「バックアップメモリ ツール」という項目を選択します。ダイアログが表示されますのでメモリに書き込むテストパターンを選択して「開始」をクリックしてください。そして正常であれば「OK」と表示され、異常であれば「NG
at xxxxxxxx」と表示されます(xxxxxxxxは異常を発見した最初のオフセット値)。
● マルチブートプログラムをフラッシュカートに書き込みたいマルチブートプログラムとはGBAのワークRAMで動作する自作のプログラムやGCのGBAミニゲームなどのことです。
普通マルチブートプログラムはフラッシュカートに書き込んでもアドレスが異なるため実行することができません。これの実現には、私の開発したフラッシュカートからワークRAMに転送するプログラムを付加(パッチ)します。それを付加(パッチ)するかどうかは、書き込むROMファイル名で自動的に判別します。基本的にVBAと同じで「ReversiAdv.mb.gba」などファイル名に「
〜.mb.〜」や「〜.mb」が含まれているとマルチブートと判別します。さらに重要なことですが自作プログラムの場合、書き込む前にFATV8などのツールでROMのヘッダ情報(Nロゴやタイトルなど)を修正しておいてください。 ● フラッシュカートに書き込んだマルチブートプログラムを別のGBAに通信ケーブルで転送したい登録ユーザ向けにおまけとして、マルチブートプログラムを起動した時に別のGBAを通信ケーブルで接続しておくと両方のGBAで起動する機能を装備しました。これは自分で作ったプログラム(ゲーム)やFree, PDのものを自分のフラッシュカートリッジに入れておき、学校などで友達に転送してあげることができます。言い換えると友達はマルチブートプログラムを起動するのにリンカーケーブルやフラッシュカートリッジを必要としません。お約束ですが著作権法を留意の上ご使用ください。なお、このおまけはライセンス登録をしていませんと有効になりませんのでご了承ください。通常はフラッシュカートリッジからEWRAMに転送して実行しますが、その転送の前に通信ケーブルを使用したマルチブートを試みます。手順は以下のように行ってください。
通信ケーブルが接続されていないときは、通常のマルチブートプログラムの起動だけとなります。ただし、ケーブルの状態などマルチブートに関する検査を行いますので起動までに2〜3秒ほどかかります。 SO(2) ---- SI(3) これは、GBC用の通信ケーブルが同じようです。断言はできませんが使用できる可能性があります。私の場合はUGAMEの2人対戦ケーブル[GBA/GBC用]で開発を行いました。GBA/GBCはスイッチで切り替えられ、GBA用であれば低速の「Multi
Player Mode」、GBC用であれば高速の「Normal
Mode」になります。これらのモードは自動的に判別します。速度は実測で4〜5倍程度の差があります。 ● Visual Boy Advance(GBAエミュレータ)と実機でセーブデータのやり取りがしたいシステムメニュー(タイトルバー左上のアイコンをクリック)で「VBAセーブ互換」をチェックしてください。基本的に互換の無いものはEEPROMのものとなり、それだけに適用されます。このチェックをすると、VBAと互換になりますが、従来のFMと互換がなくなります。どちらの互換モードについてもファイルの拡張子は「sav」となり見分けがつかなくなりますのでご注意ください。なお、互換性を確認しているのはVBA 1.8.0 beta3のみです。 ● 従来のEEPROMのセーブデータをVisual Boy Advance(GBAエミュレータ)用に変換したい
ユーザによっては、全てVBA互換のセーブデータに統一したい場合があります。そのために、過去のセーブデータファイルをVBA用に変換するツールを実装しました。但し、EEPROM形式のセーブデータに限られますのでご注意ください。システムメニュー(タイトルバー左上のアイコンをクリック)で「EEPROM変換ツール」を選択します。そこでセーブファイルを選択するとフォーマットを、従来の標準のものと、VBA互換のものとで交互に変換されます。ここで、注意しなければならなのが交互に変換されるということです。ファイル名では見分けがつきませんので、フォルダに区別してまとめるなど工夫してください。また、この仕様によりVBA用のセーブファイルを従来の標準ファイルに変換することもできます。元のファイルは元のファイル名に「.bak」を追加して保存されます。 ● ライセンス登録をしたい
本ソフトウェアは、シェアウェアですので、1ヶ月以上継続して使用される場合、または本ソフトウェアを使用して転送したまたは生成したデータを1ヶ月以上継続して使用される場合はユーザ登録を要求します。次のページから申請を行うとライセンス情報が届きます。 ● その他マウスカーソルをダイアログのボタンなどに合わせて少し待つと簡単な説明が表示されます。 |
FlashManager Ver.3 でサポートしたカセットを増やすために、まだサポートできていないカセットを引き取り
F2A 256Mに交換するキャンペーンを行ないたいと思います。このキャンペーンの実施にあたりまして
★ゲーム坊や★又はCODING
FACTORY TEA 4 TWOに全面的に協力をお願いしております。
概要は下記のとおりです。
おかげさまでFA系はほぼ揃ったようです。協力してくださった方々ありがとうございました。引き続き対応できていない
フラッシュカセット、市販ゲームカセットでセーブの読み書きのできないものも募集いたします。
ゲームカセットの場合は私のお支払いできる限度が\2000-程度で買取を考えております。掲示板で要望のありましたVBAとゲームカセットでセーブデータの交換ができるようにも考えております
(VBA-Sとは異なります)。
FM v3(fmlib)で対応済みのフラッシュカセットは下記のとおりです。下記のカセットであるにも関わらず不具合があるとき 、下記のカセット以外にも読み書きできるカセットを発見されたときは掲示板までご報告ください。
未検証ですがおそらく対応していると思われるものは下記の通りです。
|
ぜひ開発にご協力ください。他にゲームカセットのバックアップ(セーブ)メモリが未対応のタイプ、
つまり未対応のバックアップ・ フラッシュROMの場合も提供、買取、場合によってはお貸し出し
いただくことも考えております。 対応して欲しいカセットがありましたら、メールでご相談ください。
オプティマイズで公開されているソースなどたくさんの情報を利用させていただいております。
ULA 対応にあたってはTeamKNOxの織田さんにお世話になりました。
また、リンク先からも有用な情報を得ています。この場を借りてお礼を申し上げます。
持ち運び便利な ULA を作成することと、FlashManager の不具合修正などです。
要望は受け付けておりますので、何なりと掲示板にお書きください。
管理人へメール
Since Dec-16-2003: 249102