● v3.00Beta1
独自fwlib、つまり「fmlib」と命名しますが、とりあえず具合を確かめるためにベータリリースします。現在のところフラッシュカセットには一切サポートできていません。サポートできている範囲はセーブメモリのアクセスとゲーム(MASK
ROM)の吸出しです。ただしセーブメモリの種類がFLASHについては私の手持ちのものに限られます(黄金の太陽とポケモン)。実はジョイキャリーのDACS8Mはセーブメモリのカテゴリなのでそれもサポートしています。
また、GBAとの通信方法を変更しましたのでPLAにおいてはパフォーマンスが低下しています。ULAはファームで対応しましたので若干向上しました。F2A-ULはULAと共通の仕様です。つまり、PC5とPC6を同時に出力するタイプです。BTUについてはCRC32を行ないますので、fwlib版と比べると1/2程度に速度が低下します。
また、本バージョンからシェアウェアですが、まだベータということもありますし、レジストの準備もできておりません。ベータの間はレジストせずにご使用してかまいません。fmlibの件をはじめとしてv3への要望、そしてシェアウェア化についてご意見を掲示板までいただけると助かります。
● v3.00Beta2
私の手持ちのフラッシュカセットに対応しました。対応カセットは以下のとおりです。
F2A256M (i28F128J3A*2)、EZ-Cart512M (i28F128J3A*4)、EZ2-Cart256M
(MBM29PL12LM*2)、EZFA128M (MBM29LV651UE*2)、自作フラッシュ16M (MBM29LV160TE*1)
EZ系は専用書き込み機を使用するため、GBAからの書き込みを考慮されていません。fmlibでは少々強引にアクセスしているため、カセットやGBAの個体差、使用されている環境により書き込めない可能性があります。
書き込めない状況とは書き込み中にフリーズしたような状態になります。
他のフラッシュについては手に入り次第、対応して行きたいと思います。提供してくださってもよいと思う方はぜひよろしくお願いいたします。
GBAの通信処理およびCRC32計算部分を高速化しました。CRC32の計算を完全に通信処理内に畳み込みましたので、CRC32計算を行なっていないdevmanとほぼ同じ速度がでます。
→EZ系、EZFAカードの扱いについて
マルチゲームについては専用のローダを使用しなくてはなりません。専用の書き込み機およびソフトでローダを書き込み、その後FMなどで読み取ってバイナリエディタなどで切り出して使用します。よくわからない方は一つのゲームで書き込んでください。さらに、FMの仕様がFA系に合わせてあるためいろいろ不具合があります。たとえば最初のローダ+ゲームは予約で書き込まないと動作しません。リスト表示にも不具合がありますし、バックアップメモリサイズは種類を自動判別しますが変更はできません。また、バックアップメモリの種類がEEPROMやFLASHのものは専用のソフトではパッチを自動で適用しますが、FMでは別途srampatch.exeなどで適用してください。自動パッチの要望があれば情報を集めて組み込
むことも可能と思います。とりあえずは掲示板までご意見をください。
● v3.00Beta3
Flash2Advance USB
Linkerでの読み書きを高速化しました。ULAにおいてもAN2135やAN2136を使用しているときは相応の配線を行なえば同様の高速化が期待できます。相応の配線とはGBA:SC→EZ-USB:PC6およびPC7に接続、GBA:SO→EZ-USB:PC0および抵抗150オームを介してD0に接続、GBA:SI→EZ-USB:PC1およびD7に接続をします。詳しくはHayYahh! のページをご覧ください。この高速化に対応したハードウェアであるかどうかはファームで自動的に判別されます。
対応していないときは従来の速度になります。
EZ-Cartの書き込みの安定性を増しました。私の環境ではほぼ確実に書き込めます。また、Beta2でEZ系における予約書き込みのみの制限もなくなりました。ローダを直接追加・先頭書き込みを行なっても動作します。EZ系のローダについては別途吸い出しおよび加工を行なってください。
● v3.00Beta4
新型F2A 128M (28F320C3B*4)、新型F2A 256M (28F320C3B*8)、FA-TURBO 128M
(28F640J3A*2)
に対応しました。また、PRO以降のカセットか否かの判別の確実性を増しました。これらのフラッシュカセットはGameBoyBuilder管理人であるTacさん
より提供していただきました。Tacさん並びにTacさんに協力してくださった方々に感謝いたします。また、他のフラッシュカセットについても積極的に対応したいと考えておりますので、「フラッシュカセット交換キャンペーン」にご協力ください。
● v3.00Beta5
FA Xtreme 512M (28F128K3*4)、FA-TURBO 64M (28F320J3A*2)に対応しました。FA Xtreme 512Mについてはfmlibで512Mbitすべてを認識およびアクセス可能ですが、GBA
Loader(v3.2, v3.3)は512Mをサポートしていません。Xtreme専用のローダを使用すればよいのですが現在のFMではサポートできていませんので、256Mのみのサポートとなります。つじつまを合わせるためにリスト中に巨大なゲームが現れることがありますが異常ではありませんのでご了承ください。
● v3.00Beta6
初期型FA 64M (28F640J3A*1)、FA Xtreme 64M (28F320J3A*2), 128M (28F640J3A*2),
256M (28F128K3*2), 旧型F2A 128M (28F640J3A*2)、新型64M (28F320C3B*2)、XG2Lite 256M (28F128J3A*2)に対応しました。FA Xtremeは通常のROMカセットと同じ大きさの新型のものです。旧来の大きなカセットのものと互換性があるのかは不明です。もし互換性が無いようでしたら下記の「フラッシュカセット交換キャンペーン」をご一考ください。FA
Xtreme 256Mは512Mと同様にメモリ構造が特殊なため、GBA Loader(v3.2, v3.3)では128Mまでのサポートとなります。FMおよびfmlibでは256M分すべてにアクセスできますが、Xtreme専用のローダでゲームを起動しない限り128M以降のゲームにアクセスすることはできません。さらに現在のところFMではXtreme専用のローダはサポートできていません。バイナリエディタで加工すれば使用できますが、かなり困難です。行く行くはサポートしたいですが、ご意見があれば掲示板でお聞きします。
XG2light256MはEZ系と同様に専用のローダを吸い出して加工してから使用する必要があります。どなたか理解できる方に解説サイトをお願いしたいですが、まずは掲示板でもご質問を伺います。また、セーブが特殊なゲーム(EEPROM4K/64K,
FLASH1Mなど)ではパッチを必要とします。
FMで書き込み予約中にセーブ・データの読み書きを行なうと、予約ファイルが書き込み済みになってしまう不具合を修正しました。
FA-PRO以前のフラッシュカセットではローダ以外は32Mbit毎に配置しなければならないのですが、最後の32Mbitの部分にFMの容量計算の不具合でプログラムを書き込むことができませんでした。その不具合を修正しました。この修正に伴って、予約書き込みの容量表示が若干変更になりました。リスト中の容量は単純に各々のROMの容量を示します。空き容量はフラッシュカセットの制約に基づいて、実際に書き込んだ後の空き容量になるように計算しています。うまく見比べて予約、配置を行なってください。
● v3.00Beta7
ゲームカセットで128MbitのROMとEEPROMのバックアップメモリを持つときなど、一部のゲームで容量を誤って認識してしまう不具合を修正しました。
バックアップメモリ「FLASH1M」の読み込みに不具合がありました。バンクがうまく切り替わらないものですが、それを修正しました。
「コロコロパズル ハッピィパネチュ!」のバックアップメモリを認識しない不具合を修正しました。
フラッシュカセットのバックアップメモリに関する不具合が増えてきているとの報告を受けましたので、それを検査する機能を実装しました。詳しくは下記の「バックアップメモリチェック
」をご覧ください。
EZ-FlashとXG-Flashは完全な互換かと思っていましたが、バックアップメモリのバンク管理が異なることがわかりました。従いましてfmlibでは別のカセットとして扱うことにしました。
- バックアップメモリチェック
システムメニュー(タイトルバー左上のアイコンをクリック)に「バックアップメモリツール」という項目を選択します。ダイアログが表示されますのでメモリに書き込むテストパターンを選択して「開始」をクリックしてください。そして正常であれば「OK」と表示され、異常であれば「NG
at xxxxxxxx(xxxxxxxxは異常を発見した最初のオフセット値)」と表示されます。なお、このチェックではバックアップメモリの内容は失われますので、事前にファイルに保存しておいてください。テストパターンの意味は次のとおりです。
「データ 00 で埋める」バックアップメモリの内容をすべて「00, 00, 00
...」で書き込み、その後読み込んで一致するかを検査します。またこの機能はバックアップメモリの消去にも使えます。
「データ FF で埋める」バックアップメモリの内容をすべて「FF, FF, FF
...」で書き込み、その後読み込んで一致するかを検査します。またこの機能はバックアップメモリの消去にも使えます。
「データ 55 で埋める」バックアップメモリの内容をすべて「55, 55, 55
...」で書き込み、その後読み込んで一致するかを検査します。「55」の意味はビット配列で「(MSB)01010101(LSB)」です。
「データ AA で埋める」バックアップメモリの内容をすべて「AA, AA, AA
...」で書き込み、その後読み込んで一致するかを検査します。「AA」の意味はビット配列で「(MSB)10101010(LSB)」です。
「パターン 1」バックアップメモリの内容を4バイト単位で32bitのオフセット値「00, 00, 00, 00, 04, 00, 00, 00,
08, 00
...」を書き込み、その後読み込んで一致するかを検査します。この書き込みでは書き込まれているデータがアドレスになりますのでバンク管理の不具合の究明に役に立ちます。
「パターン
2」バックアップメモリの内容を乱数に近い値を書き込み、その後読み込んで一致するかを検査します。乱数に近いといいましても規則性があります。なるべく16進数での繰り上がりやバンク境界で周期性が発生しないように考えました。計算式は次のとおりです。
offset * 0x83 + (offset >> 8) * 0xEF ^ (1 << offset / 0x8000) - 1
これでバイト単位で計算し書き込んでいます。問題がありましたらご報告ください。
「読み込みのみ」バックアップメモリに書き込みを行わず読み込みのみの検査を行います。あらかじめ書き込みを含んだ検査をしておく必要があります。そして、その検査と同じパターンを指定してください。このオプションはバックアップメモリがGBAの電源を切っても正常に機能しているかの検査に使用します。最初に普通に検査を行いGBAの電源を切りしばらくしてから「読み込みのみ」の検査を行います。
● v3.00Beta8
F2A 128M (M6MGT323S4TP*4)に対応しました。
マルチブートプログラムの書き込みに対応をしました。マルチブートプログラムとはGBAのワークRAMで動作する自作のプログラムやGCのGBAミニゲームなどのことです。これでフラッシュカートに入れて持ち運んでゲームができます。これの実現には、私の開発したフラッシュカートからワークRAMに転送するプログラムを付加(パッチ)します。それを付加(パッチ)するかどうかは、書き込むROMファイル名で自動的に判別します。基本的にVBAと同じで「ReversiAdv.mb.gba」などファイル名に「.mb.」が含まれているとマルチブートと判別します。さらに重要なことですが自作プログラムの場合、書き込む前にFATV8などのツールでROMのヘッダ情報(Nロゴやタイトルなど)を修正しておいてください。
EZ, XG, EZFAの書き込み中にフリーズしてしまう不具合があったのですが改善しました。また、それらのカートでマルチゲームが構成できない不具合があったのを修正しました。
リスト中のゲームを選択して消去すると、そのゲームで使用されている領域のみを消去します。ROMの後部にある未使用領域は消去しません(以前は未使用領域も消去していました)。全消去するときも、リストを全て選んで消去すると時間が節約できます。
● v3.00Beta9
ポケモンなどのバックアップメモリが「FLASH 1M」タイプで新バージョンの「LE26FV10N1TS」に対応しました。
下記のフラッシュカートリッジに対応しました。
EZ-Cart 128M (MBM29PL64LM*2),
EZ2-Cart PS 256M (MBM29PL12LM*2), EZ2-Cart PS 512M (M58CR064P*8)
GBA Link ZIP_SE 256M (MB84VD23481FJ*4), X-ROM 512M (Am29LM256M*2)
ただしGBA Linkは非圧縮のROMのみのサポートとなります。圧縮アルゴリズムがわかればサポートは可能と思われます。もしGBA
Linkの圧縮アルゴリズムを解明できた方がいらっしゃいましたら、ぜひお知らせください。現在のところ私の認識ではZIP関係のアルゴリズムではないと見ています。
今回の追加されたフラッシュカートリッジは殆どがEEPROMおよびFLASHタイプのバックアップメモリに対応していませんのでsrampatchやFATV8などでパッチを充ててください。EZ系のカートリッジはGBAからの書き込みを考慮されていないために時々固まったような状態になります。しばらく(数十秒程度)待っていますと、進行します。私のところではこのような状態になっても正常に書き込まれていることを確認しています。
最新の各フラッシュカートリッジのマルチゲームローダ(メニュプログラム)に対応しました。そのローダの吸出しはそれなりの技術と環境を必要としますし、私とのバージョン違いによる不具合も考えられますので確認の取れたローダを「ここ」においておきます。
フラッシュカートリッジ消去時に、消去の必要なブロック(セクタ)のみを実行するようにしました。リストを全て選ばなくてもそれなりに高速に全消去ができます。しかしリストを選んだ方が高速です。
ジョイキャリカートリッジにマルチブートプログラムを書き込むとき、FM独自のWRAM転送プログラムを付加して書き込んでしまう不具合を修正しました。本来はオプティマイズのブートローダ(メニュプログラムのことです)をブートブロックに書き込むことによって、そのローダがマルチブートプログラムをWRAMに転送します。
逆にブートローダを書き込まないまたは書き込めないユーザにはこの不具合が有効でしたので不都合があるかもしれません。 ● v3.00Beta10
下記のフラッシュカートリッジに対応しました。
F2A-Ultra (1) 512M (28F128J3A*4), 1G (28F128J3A*8)
F2A-Ultra (2) 1G (28F128K3*8)
EZFA 256M (MBM29PL12LM10*2)
EZ-Cart2 PS 512M (E28F128*4)
F2A-Ultraで上記以外のサイズのものは非所持のため未検証ですが論理的な方法で検出できるようにしてあります。F2A-Ultraのメニュプログラムで使用するゲーム情報でCIZと言うものをFM内部である程度作成するようにしました。とりあえず、必要な情報だけに留めていますが、もしかすると不具合があるかもしれません。
バックアップメモリがFLASH512KでAT29LV512のものに対応しました。
マルチブート時にF2A-UL特有の高速転送を止めて大きなサイズのプログラムも実行できるようにしました。
フラッシュカート書き込み時のマルチブートファイルの判別方法を「〜.mb.〜」だけでなく「〜.mb」も検出することにしました。
外部ライブラリファイルを読み込む機能でファイル名を「fwlib.bin」から「fmlib.bin」に変更しました。この機能は潰そうと思ったのですが開発に支障があるため見送りました。
登録ユーザへのライセンス入力機能を装備しました。
fmlibのフォントを変えました。不評なら元に戻すかもしれません。
設定の保存する方法をレジストリからファイルに変更しました。
確認の取れたローダを「ここ」においておきます。
設定を変更したときにエラー終了する不具合を修正しました。
登録ユーザ向けにおまけとして、マルチブートプログラムを起動した時に別のGBAを通信ケーブルで接続しておくと両方のGBAで起動する機能を装備しました。これは自分で作ったプログラム(ゲーム)やFree,
PDのものを自分のフラッシュカートリッジに入れておき、学校などで友達に転送してあげることができます。言い換えると友達はマルチブートプログラムを起動するのにリンカーケーブルやフラッシュカートリッジを必要としません。お約束ですが著作権法を留意の上ご使用ください。なお、このおまけはライセンス登録をしていませんと有効になりませんのでご了承ください。
この機能は「FM v3.00Beta8」のマルチブートファイルの書き込みに対応した機能の拡張版です。通常はフラッシュカートリッジからEWRAMに転送して実行しますが、その転送の前に通信ケーブルを使用したマルチブートを試みます。手順は以下のように行ってください。
- 自作プログラムやFree, PDのものはヘッダが不正なので「FATV8」などで修正しておく
- いつものようにマルチブートファイル「〜.mb.〜」や「〜.mb」をフラッシュカートリッジに書き込む
- 転送したいGBAと通信ケーブル(対戦ケーブル)を接続する。このとき転送する側(フラッシュカートリッジがある方)を「1P」、転送される側を「2P」のプラグを差し込む
- 転送する側のGBAの電源を入れる
- 転送される側のGBAの[SELECT]+[START]を押しながら電源を入れる
- 転送する側のメニューから起動したいマルチブートプログラムを選択する
- 自動的に接続状態を検出してマルチブートを開始する
通信ケーブルが接続されていないときは、通常のマルチブートプログラムの起動だけとなります。ただし、ケーブルの状態などマルチブートに関する検査を行いますので起動までに2〜3秒ほどかかります。
また、普通の通信ケーブルを使用すると「Multi Player
Mode」という通信モードしかサポートできません。これは非同期のかなり遅い通信モード(115Kbps)です。少し面倒ですがクロスケーブルを自作すると「Normal
Mode」をサポートでき、これはかなり高速(2Mbps)です。次のように配線します。
SO(2) ---- SI(3)
SI(3) ---- SO(2)
SC(5) ---- SC(5)
GND(6) ---- GND(6)
これは、GBC用の通信ケーブルが同じようです。断言はできませんが使用できる可能性があります。私の場合はUGAMEの2人対戦ケーブル[GBA/GBC用]で開発を行いました。GBA/GBCはスイッチで切り替えられ、GBA用であれば低速の「Multi
Player Mode」、GBC用であれば高速の「Normal
Mode」になります。これらのモードは自動的に判別します。速度は実測で4〜5倍程度の差があります。
なお、この機能はBen's HPのBenzoさんにアイデアを頂きました。また、動作検証にはTeamKNOxの「Reversi
Adv」や「ZeroMine Adv」を使用しました(織田さん、対戦用作りませんか)。ありがとうございます。
F2A Ultra 256M (28F320C3B*8)に対応しました。
ULAなどEZ-USB系のリンカーに対してダブルバッファによるUSB通信を実装しました。通信速度にして数%程度の改善となります。ただし、EZ-USBをリセットするときにダブルバッファのクリアの方法が不明のためGBAのマルチブートが不安定のときがあります。そのときはFMを再起動してください。
FMのGBA通信部分の分離を行いました。これはSDKのためですが、プログラム上の大きな変更となりまして不具合があるかもしれません。ぜひ不具合の発見にご協力をよろしくお願いします。この通信部分が「FMCore.dll」というファイルになります。これの仕様公開やサンプルは動作が安定してからになります。FMのシェアウェアはこのファイルを使用することに対して課金されるものとします。この部分の開発が一番経費がかかっていますのでご理解をお願いします。このファイルを利用する開発や配布はいくつかのルールを設けて限りなく自由にしたいと考えています。ただしユーザはFMのレジストが必要となります。言い換えますと、ユーザは一度登録を行いますと、その登録時のメジャーバージョンの「FMCore.dll」を使用するFMをはじめとして他のアプリも利用できます。ここで、それぞれのアプリの使用許諾にも従ってください。
今までの登録ユーザは、本バージョンからライセンス情報を保存するファイルが異なるため再度入力してください。今までのライセンス情報は有効です。誤ってユーザ登録申請を行わないようにご注意ください。
F2A-HiSpeed Linker、GBA Link SP、X-ROM Linker、EZFA
Linkerが追加の対応となりました。また、特殊なピン配置のULAも選択できるようになっています。プリンタポート系のリンカーは自動的にアドレスを検索します。ドライバについては下記をご覧ください。
- EZ-USB系(ULA, ULA-FX, F2A-USB Linker, X-ROM Linker)
ベンダ独自のドライバがインストールされているときは、それを削除してください。
Cypressの「EZ-USB
General Purpose Driver」を使用します。X-ROM Linkerについてはinfファイルの変更が必要です。私が変更したドライバをここにおいておきます。
- プリンタポート系(PLA, F2A-HiSpeed Linker, GBA Link SP)
Windows98系のOSでは必要ありません。Windows2000やXP系のOSでは「GiveIO.sys」をインストールしてください。
- Boot Cable USB
オプティマイズで配布されている専用のドライバをインストールしてください。
- EZFA Linker
EZFA Clientに同梱されているドライバをご使用ください。
FlashManagerのリンカー表記と実際のリンカーの対応は以下の通りです。
- PLA : ブートケーブル(オプティマイズ製)
- F2A-HL : Flash2Advance HiSpeed LINKER(プリンタポート接続のF2Aリンカー)
- GBA Link : GBA Link SP用のリンカー(V3のみ動作確認をしておりますがおそらくV1,2も動作可)
- ULA/F2A-UL : ULA(TeamKNOx準拠)、Flash2Advance
USB LINKER
- ULA-FX : Mootan's RoomのUMJ-FXを流用したもの
- ULA(A) : ULAのピン配置をPC0->PC2, PC1->PC3, PC4->PC7, PC5->PC6に変更したもの
- ULA-KKJ : 携快電話充電ケーブル用にピン配置を変更したもの(詳しくはここ)
- X-ROM : X-ROMリンカー
- BTU : ブートケーブルUSB(オプティマイズ製)
- EZFA : EZF Advanceリンカー
下記のフラッシュカートリッジに対応しました。
- EZ2-Cart PS 256M (E28F128*2), 256M (E28F138*2), 512M (E28F138*4), 1G
(E28F128*8),
1G (E28F138*8)
- EZ POPULAR 64M (M6MGB641*1), 128M (M6MGT657*2)
- GBA Magic / XG2Turbo 256M (SST39VF160/MB84VZ128A), 512M (SST39VF160/MB84VZ128A*2)
- F2A fake? 256M (E28F128J3A*2)
最後の「F2A fake? 256M」は少し怪しいものです。カートリッジケースが従来の黒の半透明ではなく、水色の半透明です。またカートリッジアクセスコマンドの処理が若干異なります。まがい物であるかどうかは定かではありませんが、よく見るとやはりオリジナルとは異なります(アルミケースの刻印のフォントなど)。
また、今回で新しい系統のフラッシュカート(EZ POPやGBA Magicなど)に対応しましたので、私が確認したローダも更新しました。「ここ」においておきます。 下記のリンカーケーブルに対応しました。
- LinkUSB :
GBA Link USB Cable
- MagicLink :
GBA MAGIC LINK /
XG2Turbo Link
「GBA Link USB
Cable」を使用する方は、オリジナルソフトのインストール先にある「FTD2XX.dll」をFMと同じフォルダにコピーしてください。また、USBのポートにより動作しないことがあるようです。
上記表現を見てわかりますとおり、「GBA
Magic」と「XG2Turbo」は同じものです。どちらがオリジナルでどちらがOEMかパクリかはわかりません。これらはEEPROM4Kや64K、FLASH512K(おそらく1Mも)をハードウェアでエミュレートしているようです。
意外にしっかりしたカートのような気がします。
フラッシュカート書き込み消去時などのエラー処理を強化しました。これで、カートに不具合があってもFMが固まることはないと思います。エラーが発生したときに、中断するのか、再試行するのか、無視するのか選べます。また、書き込む前に通信データのCRCを検査することにしました。書き込んだ後ではフラッシュの書き換えはできませんので、前の段階で検査すれば正しいデータを書き込むことになります。更に、フラッシュに書き込んだ後、正しく書き込まれたかGBA内部で照合するようにしました。これにより若干書き込み速度が遅くなったと思いますが、あまり気にならないと思います。バージョンが進めば、この照合の機能をオフにすることも可能です。
ジョイキャリでブートセクタが書き換えられない方のために、書き換えられていないときはFM独自のEWRAM転送プログラムを付加するようにしました。
但し、未登録ユーザと同じ転送プログラムです。これは、登録ユーザ向け他のGBAにも転送するプログラムはC言語で書かれており、リロケータブル(再配置可能)なプログラムではないため、メモリマップが特殊なジョイキャリでは使用できないためです。要望があれば対応も考えますので掲示板までどうぞ。
新型F2A Ultra 1G (i4000L0YTQO*4)に対応しました。おそらく新型F2A Ultra 512M
(i4000L0YTQO*2)にも対応していると思います。
EZClient v3.11のローダに対応しました。私が確認したローダも更新しました。「ここ」においておきます。
ROMの読み込みに関する不具合を修正しました。
バックアップメモリの検出に関する不具合を修正しました。
ジョイキャリのライトプロテクト解除コマンドを実行するブロックを変更しました。
新型F2A Ultra 512M (i4000L0YBQO*2)に対応しました。おそらく新型F2A Ultra 1G
(i4000L0YBQO*2)にも対応していると思います。GBA Link ZIP2 256M
(M6MGT647*4)に対応しました。これに伴いまして、GBALink
4.50のローダにも対応しました。このローダは加工が必要なため私が加工したものを「ここ」においておきます。
実は公表し忘れていたのですが、GBA Linkは少し変則的なことをすればFMで圧縮したROMを書き込むことができます。GBALinkの「Add」ボタンで圧縮を指定してゲームROMを登録すると(まだカートに書き込む前です)GBALinkインストールフォルダの「temp」フォルダに「00000000.gba」のようにファイルができます。このファイルを別のフォルダにコピーし拡張子を「glz」にします。ファイル名はメニューの項目名になりますので適当な名前に変更してください。そのファイルをFMで直接指定して(予約はできません)書き込みます。しかし、この機能は試験的なものでして、いろいろ不具合があると思います。注意点は、使用するメニューローダのバージョンと圧縮するGBALinkのバージョンを一致させること、圧縮されたファイルはヘッダが不正となるためFM上ではリストに表示されないこと、FMでは圧縮する前の正規のROMサイズが不明であるため適当なサイズをメニューに書き込みメニューローダの展開プログレス表示がおかしくなることがあります。
新型のEZFAリンカーケーブルに対応しました。このEZFAリンカーケーブルを使用する方は、オリジナルソフトのドライバファイルにある「FTD2XX.dll」をFMと同じフォルダにコピーしてください。対応したとは言えませんがECUBE
1GのブートROM (16Mb)の書き換え・消去ができます。今後NANDフラッシュの部分やバックアップメモリにも対応したいと思います。 ●
v3.00Beta16
ダウンロード
Download (Sorry, English ver. is not available yet.)
今回はv3.00の完成に向けてGUIの変更を含めて初めから作り直しています。ですから機能はダウングレードしております。GUI等の方向性確認のためのリリースとお考えください。具体的に「初期・デバッグ」タブは完成しておりますので、マルチブートやデバッグは完全に機能します。他のタブ「GBAプログラム」や「GBAバックアップ」はほとんど実装しておりませんので、プログラムやバックアップデータの読み書きは全くできません。
改良点はEZ-USB系のリンカーのとき以前はマルチブートに失敗することがありましたが、今回からダブルバッファのクリアを行うようにしましたのでほぼ確実にブートできると思います。
また、開発が進みましたら中途半端で申し訳ありませんが少しずつでもベータリリースしたいと考えております。しばらく新しい対応はお休みとしますのでご了承ください。
ちょっとお得情報ですが、今回改良を以前のベータで利用したいときは(そうすれば全ての機能が使えます)以前のベータのFlashManager.exeのあるところにFMCore.dllをコピーすればその恩恵に与れます。このようにFMCore.dll部分の改良のときは、以前のバージョンのGUIで利用することができます。これは言い換えるとFMCore.dllは他のアプリにも利用ができます。夏ぐらいを目標に仕様公開を考えています。
v3.00の正式バージョン(リリース版)です。つきまして、厳密にシェアウェアとしての料金のお支払いとユーザ登録を要求いたします。どうぞよろしくお願いいたします。
今まで自己解凍形式で提供してきましたが、XPのユーザがほとんどでありzipは標準で解凍できる環境にありますので、今回よりzip形式で提供します。
お待ちかねの、次世代ULAである、「ULA-FX」に対応しました。通信速度は、従来のリンカーケーブルとは比べ物にならないくらい速いです。速度のランキング表はこちらから。「UMJ-FX」を流用するのですが、流用の仕方についてはこちらをご覧ください。なお、不定期にですが完成品をヤフオクで出品しています。
Beta16で新GUIを作りかけましたが、開発時間の確保がかなり厳しいため、今回はBeta15のGUIに戻しました。修正点は、登録ユーザがジョイキャリカートリッジにマルチブートファイルを書き込むと動作しない不具合を修正しました。また、予約書き込みで、GBA
ROMヘッダが正しいものしか予約できませんでしたが、データファイルをジョイキャリに書き込むことも考えられるため、警告のダイアログを表示しますがそういったファイルも予約できるようにしました。
バックアップメモリ
ツールで、テストを実行するとバックアップメモリの内容を破壊しますが、デフォルトで内容を退避し復元するようにしました。「バックアップメモリの保存・復元」のチェックを外すと従来どおりの動作となり、GBAの電源を切ることにより電池の状況などを確認できます。
処理の進行とGUIの変化の具合を若干調整しました。
新しい機能として、アンケートで要望の多かった、Visual Boy
AdvanceとのEEPROM形式のセーブデータ互換オプションを実装しました。システムメニューで「VBAセーブ互換」をチェックしてください。また、従来のEEPROM形式のセーブデータをVBA互換に変換したいことも考えられますので、「EEPROM変換ツール」を用意しました。これは、システムメニュから実行でき、カートリッジに関係なくファイルのみに作用します。さらにシステムメニュの実行を、FlashManagerの本体が起動する前(GBAが無い状態やブートする前)でも実行できるようにしました。つまり、GBAが無くても、ライセンス登録やEEPROM変換ツールが実行できます。
|