★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専用のゲームが動くかもしれません(これも未確認。試した方はご一報いただけるとありがたいです…)。条件としては、

  1. サブシステムのサブモニタは一切使わない(乗っ取る)
  2. イニシエータROMの内容は使わない

ぐらいだと思います。どちらも本格的なゲームの場合条件的にはクリアできる(かえって中途半端なゲームのほうが一部BASICだったり、サブROM依存したりしてやっかいかも)と思います。

== 変更履歴 ==

v0.1 2000/05/09 新規作成