★XM7 V2用ファイルジェネレータ SEVEN2AV
== 説明 ==
XM7 V2を使用するにはFM-77AVシリーズから取り出したROMデータが必要になります。 このプログラムを使用すると、V1用のROMデータ(FM-7のROMデータ)から、V2に必要なROMデータを自動的に合成してくれます。
seven2av v0.1 ダウンロード (15KB)
== 使用方法 ==
毎度のことですが、32ビットコマンドラインプログラムです。引数がないのでエクスプローラから実行してもかまいません。
書式: seven2av
(引数なし)
seven2av.exeと同じディレクトリには、V1用の BOOT_BAS.ROM SUBSYS_C.ROM の2つのファイルおよび、ダウンロードした圧縮ファイルに含まれいる INITIATE.BIN ファイルがあることが必要です。エラー発生時には"Error!"と表示します。詳しいエラー内容は表示しませんが、たいていは上記のファイルがseven2av.exeと同じディレクトリに存在しないことが原因でしょう。
== 詳細内容 ==
このプログラムでは、V2に足りないROMをV1のROMを駆使して(?)補っています。 seven2avがやっている内容は以下のとおりです。
作成ファイル | 内容 | サイズ | 処理内容 |
---|---|---|---|
SUBSYS_CG.ROM | サブシステム拡張フォント | 0x2000 | SUBSYS_C.ROMの先頭から0x800バイトを4回コピー(=0x2000バイト) |
SUBSYS_A.ROM | サブシステムモニタA | 0x2000 | SUBSYS_C.ROMの0x800バイト目から0x2000バイト分をコピー |
SUBSYS_B.ROM | サブシステムモニタB | 0x2000 | SUBSYS_A.ROMを丸ごとコピー |
INITIATE.ROM | イニシエータROM (実質のブートROM) |
0x2000 | 1.INITIATE.BIN(Apollo作成の擬似イニシエータROM)をコピー 2.INITIATE.BINに続けて、0x1e00バイトまでを0で埋める 3.続いてブートROM(BOOT_BAS.ROM)を最後の2バイト(リセットベクタ)を除いてコピーする 4.最後にリセットベクタ(2バイト: 0x6000)を書き込む(リセット後イニシエータに飛ばすため) |
== 実行例 ==
C:\>seven2av
XM7 File generator for V2 v0.1
このプログラムは、XM7 V1用のファイルから、V2に必要なファイルを作り出すプログラム
です
同じディレクトリに、V1用の以下のファイルが必要です
BOOT_BAS.ROM, SUBSYS_C.ROM
Succeed to generate V2 files!
== その他(余談) ==
V1の開発が終了した今、FM-7しか持ってない人でもV2を使いたくなってきますね。また、V2ではV1では動かなかったWizardryが動くとの話もあり、V1(FM-7)のROMデータに不足するFM-77AVのイニシエータROMのなかの必要最低限の機能を盛り込んだイニシエータROMもどきを作成してV2を起動できるようになりました。 しかし、、、肝心のWizardryは動かないんです。。。どなたか、このプログラムを使ってWizardryを動かせた方がいたらご一報ください…
また、イニシエータROMのソースもアーカイブに入れておきましたので、「この機能が足りない」とか、「バグってる」とかどしどし意見をいただけたらありがたいです。 ずいぶん久しぶりに6809のアセンブラなんて書きましたが、いや~そこそこ書けるもんですね。体が覚えてるっていうか。。。 ちにみに、イニシエータの開発はDOS上のクロスアセンブラで開発しています。アブソリュートアセンブラにほぼ完全な互換性があるので、ASM9とかでもアセンブルできるはずですが、FM-7上でイニシエータを作っても意味がありません…(結局XM7を実行するプラットフォーム上に持ってくる必要がある)
このように、AVの機能を引き出すプログラムは一切(イニシエータは除く)組み込まれませんので、このプログラムを利用して起動したXM7 V2は、AVの周辺機能を持ったF-BASIC 3.0マシンに過ぎません。F-BASIC 3.3のディスクで起動もできないでしょうし(未確認)、4096色をサポートするサブモニタも持っていません。ただし、環境(H/W)的にはAVですので自分でプログラムさえ組めばAVの機能を堪能することが可能です。ま、アセンブラ必須ということになると思いますが…
ゲーム類はうまくすればAV専用のゲームが動くかもしれません(これも未確認。試した方はご一報いただけるとありがたいです…)。条件としては、
サブシステムのサブモニタは一切使わない(乗っ取る) イニシエータROMの内容は使わない ぐらいだと思います。どちらも本格的なゲームの場合条件的にはクリアできる(かえって中途半端なゲームのほうが一部BASICだったり、サブROM依存したりしてやっかいかも)と思います。
== 変更履歴 ==
v0.1 2000/05/09 新規作成