FM-7エミュレータ XM7
-an eXcellent fujitsu Micro seven emulator, for 7 platforms-

目次


はじめに

XM7は、1982年に富士通より発売された8bitパソコン、FM-7のエミュレータです。FM-7は「究極の8bitMPU」6809を2つ搭載した ホビーパソコンで、FM-8の後継機種として登場しました。FM-7がベストセラーとなった後、FM-77→FM77AV→FM77AV40と拡張を続 け、1988年発売のFM77AV40SXをもってシリーズ終了となっています。

XM7は現在2系統のバージョンに分かれています。7つのプラットフォームでFM-7をエミュレーションするV1.x系列と、2機種に限定してFM77AVをエミュレーションするV2.x系列です。

バージョン系列エミュレート機種対応プラットフォーム最新バージョン
V1FM-7X68k,PC-98,Linux,Win16,FM-TOWNS,IBM-PC,Win32V1.0L20
V2FM-7,FM77AVWin32V2.5L10

動作OS

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
X680x068060 50MHzC言語版768×512(X68k標準)なし2ポート(X68k標準)共通GUI
PC-9801Pentium 133MHzアセンブラ版640×400(PC-98標準)PC-9801-26K(BEEP音なし)2ポート(PC-9801-26K)共通GUI
LinuxPentiumII 400MHzアセンブラ版ウインドウ(XSHM)/dev/dspなし共通GUI
Win16MMX Pentium 233MHzアセンブラ版ウインドウ(GDI)なしなしWin16メニュー、共通GUI
FM-TOWNSPentium 166MHzアセンブラ版640×400(FM-R50互換)なし2ポート(FM-TOWNS標準)共通GUI
IBM-PCK6-2 300MHzアセンブラ版640×200(EGA)Sound Blaster/Sound Blaster161ポート(ゲームポート)共通GUI
Win32K6-2 400MHzアセンブラ版ウインドウ(GDI/DirectDraw)DirectSound標準ジョイスティックデバイスWin32メニュー

V2系
プラットフォーム理想環境CPUコアグラフィックサウンドジョイスティックGUI
Win32K6-3 450MHzアセンブラ版ウインドウ(GDI/DirectDraw)DirectSound標準ジョイスティックデバイスWin32メニュー

ROM

XM7を実行するには、FM-7シリーズのROMデータをファイル化したものが必要です。以下のファイル構成を想定しています。

ファイル名ファイルサイズ内容配置アドレス
FBASIC30.ROM31744 byteF-BASIC v3.0, F-BIOSメイン$8000-$FBFF
BOOT_BAS.ROM512 byteブートROM (BASICモード)メイン$FE00-$FFFF
BOOT_DOS.ROM512 byteブートROM (DOSモード)メイン$FE00-$FFFF
SUBSYS_C.ROM10240 byte8x8フォント、サブモニタROMサブ $D800-$FFFF

V2の場合、更に下記のファイルが必要になります。

ファイル名ファイルサイズ内容配置アドレス
KANJI.ROM131072 byte第一水準漢字、非漢字4バイトI/O経由
INITIATE.ROM8192 byteFM77AVイニシエータメイン$6000-$7FFF
SUBSYS_A.ROM8192 byteサブモニタROM(タイプA)サブ $E000-$FFFF
SUBSYS_B.ROM8192 byteサブモニタROM(タイプB)サブ $E000-$FFFF
SUBSYSCG.ROM8192 byte拡張フォント(4バンク)サブ $D800-$DFFF

FM77AVを用いたROM取り出し方法を紹介しています(V1,V2対応)。こちらです。

前バージョンからの変更点

V2.5→V2.5L10の変更点です。

修正
その他

ダウンロード

XM7 for Win32 + DirectX (V2.5L10)
XM7.exeおよびドキュメントです。別途、FM77AVシリーズのROMデータが必要です。
xm7251.lzhのダウンロード (150395 bytes)

XM7 Full Source (V2.5L10)
V2.5L10本体、周辺ツールの全ソースファイルです。
xm7251s.lzhのダウンロード (254576 bytes)


XM7 for X680x0 + Human68k (V1.0L10)
xm7.xおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。

XM7 for PC-9801 + MS-DOS (V1.0L10)
XM7.EXEおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。

XM7 for Linux + X Window (V1.0L10)
xm7-linuxおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。

XM7 for Win16 (V1.0L10)
XM7.EXE,CTL3DV2.DLLおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。

XM7 for FM-TOWNS + MS-DOS (V1.0L10)
XM7.EXEおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。

XM7 for IBM-PC + MS-DOS (V1.0L10)
XM7.EXEおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。

XM7 for Win32 + DirectX (V1.0L10)
XM7.exeおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。
xm71010.lzhのダウンロード (472411 bytes)

XM7 Full Source (V1.0L10)
V1.0L20本体、周辺ツールの全ソースファイルです。
xm71010s.lzhのダウンロード (273065 bytes)

過去のアーカイブ

公開日バージョン対応機種ダウンロード
2001/01/23V2.5Win32(140170 bytes)
2000/12/23V2.4L20Win32(133838 bytes)
2000/11/23V2.4L10Win32(125306 bytes)
2000/10/23V2.4Win32(117006 bytes)
2000/09/23V2.3L30Win32(108694 bytes)
2000/08/23V2.3L20Win32(104417 bytes)
2000/07/23V2.3L10Win32,FreeBSD3+Qt2(163848 bytes)
2000/06/23V2.3Win32(92642 bytes)
2000/05/23V2.2Win32(87041 bytes)
2000/04/23V2.1Win32(99892 bytes)
2000/03/23V2.0Win32,Linux(141231 bytes)
2000/02/23Version 1.00X68k,PC-98,Linux,Win16,FM-TOWNS,IBM-PC,Win32(472497 bytes)
2000/01/23Version 0.90X68k,PC-98,Linux,Win16,FM-TOWNS,IBM-PC(349727 bytes)
1999/12/23Version 0.81X68k,PC-98,Linux,Win16,FM-TOWNS(280568 bytes)
1999/11/23Version 0.72X68k,PC-98,Linux,Win16(272915 bytes)
1999/10/23Version 0.63X68k,PC-98,Linux(137824 bytes)
1999/09/23Version 0.55X68k,PC-98(93436 bytes)
1999/08/22Version 0.43X68k(36132 bytes)

スクリーンショット

FM77AV デモンストレーション (C)1985 富士通 (FM77AV専用)


過去のスクリーンショット
公開日タイトル
2001/03/23FM-7 デモンストレーション (C)1982 富士通
2001/02/23OS-9 Level2 (C)1986 マイクロウェア・富士通・星光電子 (FM77AV専用)
2001/01/23うっでぃ ぽこ (C) 1987 dB-SOFT (FM77AV専用)
2000/12/23Seles (C)1990 アスキー・LOGIN・ソフトベンダー武尊
2000/11/23WHG音源動作例+FM音源ディスプレイ (V2.4L10)
2000/10/23寿司麻雀 (C)1985 Oh!FM・米村 英明
2000/09/23シルフィード (C)1987 ゲームアーツ (FM77AV専用)
2000/08/23METAL-X- II (C)1991 HIDEYUKI YANAGIMOTO・Oh!FM (FM77AV専用)
2000/07/23A列車で行こう (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/23PACRIS 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/20F-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), 192MB 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のソフトウェア、ハードウェアを網羅しています。データベース的なページです。
Retro PC News (Molice氏)
FM-7のほかX1,X68000などレトロPC関係のニュースを扱っています。


$39
ytanaka@ipc-tokai.or.jp