XM7は、1982年に富士通より発売された8bitパソコン、FM-7のエミュレータです。FM-7は「究極の8bitMPU」6809を2つ搭載したホビーパソコンで、FM-8の後継機種として登場しました。FM-7がベストセラーとなった後、FM-77→FM77AV→FM77AV40と拡張を続け、1988年発売のFM77AV40SXをもってシリーズ終了となっています。
XM7はV1〜V3まで3系統のバージョンに分かれており、いずれも開発終了しています。
バージョン系列 エミュレート機種 対応プラットフォーム 最終バージョン V1 FM-7 X68k,PC-98,Linux,Win16,FM-TOWNS,IBM-PC,Win32 V1.0L20 V2 FM-7,FM77AV Win32 V2.5L20 V3 FM-7,FM77AV,FM77AV40EX Win32 V3.0L30
XM7が動作するのは、シャープ製パーソナルワークステーションX680x0シリーズ、NEC製パーソナルコンピュータPC-9801シリーズ、Linux+X Window、Microsft Windows(Win16)、富士通製パーソナルコンピュータFM-TOWNSシリーズ、IBM製The PC互換機、Microsoft Windows(Win32)+DirectXの7種類です。このうちV2,V3が動作するのはWin32版です。
7つのプラットフォームとも、仮想マシンは全て共通のものを使っていますが入出力のエミュレーション状況で各々違いがあります。以下の表を参考にして下さい。
V1系
プラットフォーム 理想環境 CPUコア グラフィック サウンド ジョイスティック GUI X680x0 68060 50MHz C言語版 768×512(X68k標準) なし 2ポート(X68k標準) 共通GUI PC-9801 Pentium 133MHz アセンブラ版 640×400(PC-98標準) PC-9801-26K(BEEP音なし) 2ポート(PC-9801-26K) 共通GUI Linux PentiumII 400MHz アセンブラ版 ウインドウ(XSHM) /dev/dsp なし 共通GUI Win16 MMX Pentium 233MHz アセンブラ版 ウインドウ(GDI) なし なし Win16メニュー、共通GUI FM-TOWNS Pentium 166MHz アセンブラ版 640×400(FM-R50互換) なし 2ポート(FM-TOWNS標準) 共通GUI IBM-PC K6-2 300MHz アセンブラ版 640×200(EGA) Sound Blaster/Sound Blaster16 1ポート(ゲームポート) 共通GUI Win32 K6-2 400MHz アセンブラ版 ウインドウ(GDI/DirectDraw) DirectSound 標準ジョイスティックデバイス Win32メニュー
V2系、V3系
プラットフォーム 理想環境 CPUコア グラフィック サウンド ジョイスティック GUI Win32 K6-3 450MHz アセンブラ版 ウインドウ(GDI/DirectDraw) DirectSound 標準ジョイスティックデバイス Win32メニュー
XM7を実行するには、FM-7シリーズのROMデータをファイル化したものが必要です。以下のファイル構成を想定しています。
※XM7向けの互換ROMセットがApollo氏のXM7お手伝いぺ〜じから入手できます。あわせてご覧ください。ただFM-7アーテキテクチャの性質上、実機ROMとの完全な互換性はありません。
ファイル名 ファイルサイズ 内容 配置アドレス FBASIC30.ROM 31744 byte F-BASIC v3.0, F-BIOS メイン$8000-$FBFF BOOT_BAS.ROM 512 byte ブートROM (BASICモード) メイン$FE00-$FFFF BOOT_DOS.ROM 512 byte ブートROM (DOSモード) メイン$FE00-$FFFF SUBSYS_C.ROM 10240 byte 8x8フォント、サブモニタROM サブ $D800-$FFFF
V2の場合、更に下記のファイルが必要になります。
ファイル名 ファイルサイズ 内容 配置アドレス KANJI.ROM 131072 byte 第一水準漢字、非漢字 4バイトI/O経由 INITIATE.ROM 8192 byte FM77AVイニシエータ メイン$6000-$7FFF SUBSYS_A.ROM 8192 byte サブモニタROM(タイプA) サブ $E000-$FFFF SUBSYS_B.ROM 8192 byte サブモニタROM(タイプB) サブ $E000-$FFFF SUBSYSCG.ROM 8192 byte 拡張フォント(4バンク) サブ $D800-$DFFF
V3の場合、更に下記のファイルが必要になります。
ファイル名 ファイルサイズ 内容 配置アドレス KANJI2.ROM 131072 byte 第二水準漢字 4バイトI/O経由 DICROM.ROM 262144 byte 漢字変換辞書 メイン$2E000-$2EFFF EXTSUB.ROM 49152 byte サブモニタROM(タイプD,タイプE) メイン $2E000-$2EFFF
FM77AVを用いたROM取り出し方法を紹介しています(V1,V2対応)。こちらです。
FM77AV40EX/SXを用いたROM取り出し方法を紹介しています(V3対応)。こちらです。
V3.0L20→V3.0L30の変更点一覧です。今回のバージョンアップでは致命的なバグの 修正が目的で、機能や互換性に変更はありません。
- ステートロード時、環境によってはFDCアクセス位置が正常にロードされずメモリ破壊を起こしていたバグを修正。
- ステートロード時、OPN,WHG,THGでタイマコントロールがデバイス側に渡るバグを修正。
- 仮想マシンのスレッドを、プライオリティHighからNormalに戻した。
V2.5L20は上位バージョンであるV3.0L30をベースに、FM77AV40EX拡張部分を削除したバージョンです。動作としてはV3.0L30でエミュレート対象機種をFM77AVにした場合と同等ですが、バージョン判定・振り分けが不要な分軽くなっています。またROMはV2のセットで動作します。
V2.5L10→V2.5L20の変更点は多数にのぼるため省略します。
※より新しいバージョンがたけがみ りう氏のXM7ページから入手できます。あわせてご覧下さい。
XM7 for Win32 + DirectX (V3.0L30)
XM7.exeおよびドキュメントです。別途、FM77AV40EX/SXのROMデータが必要です。
XM7 for Win32 + DirectX (V2.5L20)
XM7.exeおよびドキュメントです。別途、FM77AVシリーズのROMデータが必要です。
XM7 Full Source (V2.5L20/V3.0L30)
XM7本体、周辺ツールの全ソースファイルです。V2.5L20/V3.0L30の兼用になっています。
XM7 for X680x0 + Human68k (V1.0L20)
xm7.xおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。
XM7 for PC-9801 + MS-DOS (V1.0L20)
XM7.EXEおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。
XM7 for Linux + X Window (V1.0L20)
xm7-linuxおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。
XM7 for Win16 (V1.0L20)
XM7.EXE,CTL3DV2.DLLおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。
XM7 for FM-TOWNS + MS-DOS (V1.0L20)
XM7.EXEおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。
XM7 for IBM-PC + MS-DOS (V1.0L20)
XM7.EXEおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。
XM7 for Win32 + DirectX (V1.0L20)
XM7.exeおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。
XM7 Full Source (V1.0L20)
V1.0L20本体、周辺ツールの全ソースファイルです。
公開日 バージョン 対応機種 ダウンロード 2001/06/23 V3.0L20 Win32 (169092 bytes) 2001/05/23 V3.0L10 Win32 (161180 bytes) 2001/04/23 V3.0 Win32 (159205 bytes) 2001/02/23 V2.5L10 Win32 (150395 bytes) 2001/01/23 V2.5 Win32 (140170 bytes) 2000/12/23 V2.4L20 Win32 (133838 bytes) 2000/11/23 V2.4L10 Win32 (125306 bytes) 2000/10/23 V2.4 Win32 (117006 bytes) 2000/09/23 V2.3L30 Win32 (108694 bytes) 2000/08/23 V2.3L20 Win32 (104417 bytes) 2000/07/23 V2.3L10 Win32,FreeBSD3+Qt2 (163848 bytes) 2000/06/23 V2.3 Win32 (92642 bytes) 2000/05/23 V2.2 Win32 (87041 bytes) 2000/04/23 V2.1 Win32 (99892 bytes) 2000/03/23 V2.0 Win32,Linux (141231 bytes) 2000/03/23 V1.0L10 X68k,PC-98,Linux,Win16,FM-TOWNS,IBM-PC,Win32 (472411 bytes) 2000/02/23 Version 1.00 X68k,PC-98,Linux,Win16,FM-TOWNS,IBM-PC,Win32 (472497 bytes) 2000/01/23 Version 0.90 X68k,PC-98,Linux,Win16,FM-TOWNS,IBM-PC (349727 bytes) 1999/12/23 Version 0.81 X68k,PC-98,Linux,Win16,FM-TOWNS (280568 bytes) 1999/11/23 Version 0.72 X68k,PC-98,Linux,Win16 (272915 bytes) 1999/10/23 Version 0.63 X68k,PC-98,Linux (137824 bytes) 1999/09/23 Version 0.55 X68k,PC-98 (93436 bytes) 1999/08/22 Version 0.43 X68k (36132 bytes)
Ys2 (C)1988 日本ファルコム (FM77AV専用)
![]()
過去のスクリーンショット
公開日 タイトル 2001/06/23 Comrade-HG Vol.18 (C)Comrade-HGよりオーダイン by GunBuster 2001/05/23 FM77AV デモンストレーション (C)1985 富士通 (FM77AV専用) 2001/04/23 FM77AV40 デモンストレーション (C)1986 富士通 (FM77AV40専用) 2001/03/23 FM-7 デモンストレーション (C)1982 富士通 2001/02/23 OS-9 Level2 (C)1986 マイクロウェア・富士通・星光電子 (FM77AV専用) 2001/01/23 うっでぃ ぽこ (C) 1987 dB-SOFT (FM77AV専用) 2000/12/23 Seles (C)1990 アスキー・LOGIN・ソフトベンダー武尊 2000/11/23 WHG音源動作例+FM音源ディスプレイ (V2.4L10) 2000/10/23 寿司麻雀 (C)1985 Oh!FM・米村 英明 2000/09/23 シルフィード (C)1987 ゲームアーツ (FM77AV専用) 2000/08/23 METAL-X- II (C)1991 HIDEYUKI YANAGIMOTO・Oh!FM (FM77AV専用) 2000/07/23 A列車で行こう (C)1985 アートディンク 2000/06/23 少年マイクのひとり旅 (C)1986 日本ソフトバンク・Oh!FM・天内 潤 (FM77AV専用) 2000/05/23 ディーヴァ 〜ストーリーII・ドゥルガーの記憶〜 (C)1986 T&Eソフト (FM77AV専用) 2000/04/23 シルフィード (C)1987 ゲームアーツ (FM77AV専用) 2000/03/23 マイト&マジック (C)1987 スタークラフト (FM77AV専用) 2000/02/23 組み込みデバッガ (v1.00) 2000/02/23 PACRIS v3.0J (C)1991 OFN SOFTWARE SERVICE(フリーウェア) 2000/01/23 アルファ (C)1986 スクウェア 2000/01/23 ザナドゥ・シナリオII (C)1986 日本ファルコム 1999/12/23 サンダーフォース (C)1984 テクノソフト 1999/11/23 リザード(テープ版) (C)1985 マイクロキャビン 1999/11/23 共通GUI (v0.72) 1999/10/23 太陽の神殿(アステカII) (C)1986 日本ファルコム 1999/10/23 ウルティマIV (C)1987 Fortune・PONY 1999/09/23 ザナドゥ (C)1986 日本ファルコム 1999/09/23 ぐっちゃんばんく (C)1985 日本ソフトバンク・Oh!FM・天内 潤 1999/08/22 デゼニランド (C)1984 ハドソンソフト 1999/08/22 ラリパッパ野球団 (C)1985 ホット・ビィ 1999/08/01 オールキャスト・スタートレック (C)1982 コムパック(FM-8向け) 1999/08/01 フラッピー (C)1984 デービーソフト 1999/07/20 F-BASIC V3.0 (C)1981 富士通
開発に使用しているハード・ソフトは以下の通りです。
X68000XVI(68000 24MHz+68882), 12MB RAM, 1GB HDD
+ gcc X68000 真里子バージョン Ver1.29
+ X68k High-speed Assembler v3.09
+ X68k SILK Hi-Speed Linker v3.01
PC/AT互換機(K6-III+ 550MHz), 384MB RAM, 20.5GB HDD
+ Borland C++ Builder 5 (Professional Edition)
+ Microsoft Visual C++ 4.0 (Standard Edition)
+ Netwide Assembler (NASM) v0.98
Let's note/S21(MMX Pentium 233MHz), 96MB RAM, 6.0GB HDD
+ gcc version egcs-2.91.66 19990314/Linux
+ Borland Borland C++ 4.0J
PC-9801BX4(Am5x86 160MHz), 64MB RAM, 4.3GB HDD
+ Borland Turbo C++ 4.0J
+ HD63C09/6809 クロスアセンブラ AS63.EXE Version1.12Ta
FM-TOWNSII Fresh E(Am5x86 133MHz), 32MB RAM, 250MB HDD
+ Borland Turbo C 2.0
FM77AV40EX, 448KB RAM
+ ASM9 Assembler
+ Kコンパイラ v3.6
+ C-DOS7 v2.05
☆FM-7,6809関連
タイトル 著者 出版社 発行年 「新機種FM-7の全容」(Oh!FM 創刊号) 山中 陽一郎 日本ソフトバンク 1983 「FM-Techknow」 阪井 末幸 ビー・エヌ・エヌ 1986 「6809の未定義命令」(I/O 85年5月号) 水谷 隆太 工学社 1985 「FM-7シリーズ徹底活用術」(Oh!FM 89年5月号) 山下 博、瀬尾 文彦 他 日本ソフトバンク 1989 「R-DOS」(FM-7/11活用研究 第2集) 桑田 喜隆 工学社 1985 「F-BASIC解析マニュアル フェーズI 基礎編」 中村 秀都 秀和システムトレーディング 1983 「6809サブルーチンズ」 L.A.レーベンタール/S.コーデス マグロウヒル ブック 1985 「FM-7 BIOSソース・リスト」(FM-7/8活用研究) 富士通 工学社 1983 「FM-7 サブシステム・モニタ ソース・リスト」(FM-7/8活用研究) 富士通 工学社 1983 「6809ハンドブック」 加藤 清 アスキー出版局 1981 「FM77AV40 ハードウェア解説書」 富士通 富士通 1987 「FM77AV40/20 ディスプレイサブシステム解説書」 富士通 富士通 1986 「FM-8 BIOSソース・リスト」(FM-8活用研究) 富士通 工学社 1982 「IODOS9」(FM-7/11活用研究) Wonder Soft Sgn 工学社 1984 「テープ・フォーマットを探る!」(バックアップ活用テクニック 創刊号) 丹治 佐一 三才ブックス 1985 「FM-7/NEW7/77 マシン語入門マニュアル」 中村 秀都 秀和システムトレーディング 1984 「FM-7全回路図」 富士通 (各社) 1982 「HD6809E/HD68A09E/HD68B09E データシート」 日立製作所 日立製作所 (不明) 「MB8876A/MB8877Aデータシート」 富士通 富士通 (不明) 「RTC58321データシート」 セイコーエプソン セイコーエプソン (不明) 「最新74シリーズIC規格表(1998年版)」 猪飼 國夫 CQ出版 1998
☆その他
タイトル 著者 出版社 発行年 「Inside X68000」 桑野 雅彦 ソフトバンク 1992 「PC-9801 スーパーテクニック」 小高 輝真、清水 和文、速水 祐 アスキー出版局 1992 「FM-TOWNSテクニカルデータブック 改訂版」 千葉 憲昭 アスキー出版局 1991 「富士通FMRシリーズ徹底解析マニュアル 増補改訂版」 インタープログ ビー・エヌ・エヌ 1989 「master.lib '95」 恋塚 昭彦、奥田 仁、千野 裕司、澤 隆司 ソフトバンク 1995 「PC-9800シリーズテクニカルデータブック CD-ROM版」 アスキーテクライト 編集部 アスキー出版局 1996 「MFCによるWindows 95プログラミング」 Jeff Prosise アスキー出版局 1997 「Windows95ゲームプログラミング」 Michael J.Norton アスキー出版局 1997 「Win32API オフィシャルリファレンス」 アスキー書籍編集部 アスキー出版局 1996
なべちゃんのホームページ(渡辺 善美氏)
FM-TOWNS,Win9x+DirectXで動作するFM-7エミュレータ、EM-7の紹介があります。
FEMU7のページ (カト氏)
FM-TOWNS,PC/AT,PC-9801で動作するFM-7エミュレータ、FEMU7の公式ページです。
XM7お手伝いぺ〜じ(Apollo氏)
XM7を使うためのヒントや、WAV→T77コンバータなどの多くのツールがあります。
M88のページ(cisc氏)
PC-88エミュレータ「M88」のページです。XM7のOPNエンジンはM88のものを使わせて頂いています。またWin32でのエミュレータ実装技術について多くの示唆を頂きました。
X1エミュの部屋(ぷにゅ氏)
X1/turbo/turboZエミュレータ「X1R・XMillennium」のページです。FDCにFM-7と同じMB8877Aを使っている関係で、FDCエミュレーションで幾つかヒントを頂いています。
Oh!FM-7 (Laver氏)
FM-7のソフトウェア、ハードウェアを網羅しているデータベース的なページです。またFM-TOWNS向けFM-7/77AVエミュレータ、VM7の配布を行っています。
Retro PC News (Molice氏)
FM-7のほかX1,X68000などレトロPC関係のニュースを扱っています。