最終更新 : Tuesday, 03-Jun-2008 18:21:51 JST

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はエミュレーション機種によってV1〜V3まで3系統のバージョンに分かれています。

バージョン系列エミュレート機種対応プラットフォーム最新正式バージョン
V1.0FM-7X68k,PC-98x1,Linux,Win16,FM TOWNS,IBM-PC,Win32V1.0L20
V1.1FM-7,FM-77L4,FM-8Win32V1.1L11
V2FM-7,FM77AVWin32V2.9L22
V3FM-7,FM77AV,FM77AV40EX/SXWin32V3.4L22

XM7についてのより詳しい情報およびXM7 V1.0L20以前のダウンロードについては、PI.氏サイトのXM7ページを参照してください。

動作OS

XM7はWindows95以降のWin32系OS(Win95/Win98/WinMe/WinNT4/Win2000/WinXP/WinVista)+DirectX3以降で動作するようデザインされています。
ただし、OSによっては以下の制限事項が発生します。

ROM

XM7を実行するには、FM-7シリーズ/FM-8のROMデータをファイル化したものが必要です。
ROMデータは、使用者が所有しているFM-7シリーズ/FM-8実機から取り出す必要があります。

XM7では以下のファイル構成を想定しています。

ファイル名ファイルサイズ内容配置空間配置アドレスV1.0V1.1V2V3
FBASIC30.ROM
31,744bytes
F-BASIC V3.0, F-BIOSメイン$38000-$3FBFF
FBASIC10.ROM
31,744bytes
F-BASIC V1.0, F-BIOSメイン$38000-$3FBFF
BOOT_BAS.ROM
512bytes
ブートROM (BASICモード)メイン$3FE00-$3FFDF
BOOTBAS8.ROM
512bytes
ブートROM (BASIC,FM-8)メイン$3FE00-$3FFDF
BOOT_DOS.ROM
512bytes
ブートROM (DOSモード)メイン$3FE00-$3FFDF
BOOTDOS8.ROM
512bytes
ブートROM (DOS,FM-8)メイン$3FE00-$3FFDF
SUBSYS_C.ROM
10,240bytes
8x8フォント
サブモニタROM (タイプC)
サブ$1D800-$1FFFF
SUBSYS_8.ROM
10,240bytes
8x8フォント
サブモニタROM (FM-8)
サブ$1D800-$1FFFF
SUBSYSL4.ROM
18,432bytes
400ラインセット
サブモニタROM
サブ$19800-$1BFFF
$1E000-$1FFFF
ANKCG16.ROM
4,096bytes
400ラインセット
テキスト画面フォント
CRTC
KANJI.ROM
131,072bytes
第一水準漢字、非漢字I/O4バイトI/O経由
INITIATE.ROM
8,192bytes
FM77AV イニシエータROMメイン$36000-$37FFF
SUBSYS_A.ROM
8,192bytes
サブモニタROM3 (タイプA)サブ$1E000-$1FFFF
SUBSYS_B.ROM
8,192bytes
サブモニタROM3 (タイプB)サブ$1E000-$1FFFF
SUBSYSCG.ROM
8,192bytes
キャラクタROM
サブモニタROM1/2 (4バンク)
サブ$1D800-$1DFFF
KANJI2.ROM
131,072bytes
第二水準漢字I/O4バイトI/O経由
DICROM.ROM
262,144bytes
漢字変換辞書メイン(※)$2E000-$2EFFF△(※)
EXTSUB.ROM
49,152bytes
拡張サブモニタROM (タイプD,E)メイン$2E000-$2EFFF
JSUBMON.ROM
16,384bytes
辞書アクセスルーチンROM日本語サブ$C000-$FFFF
(※V1.1の場合、日本語サブシステム $A000-$AFFFにマッピングされます)

FM-7シリーズを用いたROM取り出し方法(V1対応)はこちらで紹介しています。
日本語通信カード上のROM取り出し方法(V1.1対応)はこちらで紹介しています。
FM77AVシリーズを用いたROM取り出し方法(V2対応)はこちらで紹介しています。
FM77AV40/EX/SXを用いたROM取り出し方法(V3対応)はこちらで紹介しています。

※XM7向けの互換ROMセットがApollo氏のXM7お手伝いぺ〜じから入手できます。あわせてご覧下さい。

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

共通

V3.4L21a→L22,V2.9L21a→L22,V1.1L10→V1.1L11の変更点一覧です。 V2.9L21a-V2憑き→L22-V2憑きの変更点一覧です。 V1.1L10→V1.1L11の変更点一覧です。 V2.9L22は、上位バージョンであるV3.4L22をベースに、FM77AV40EX拡張部分を削除したバージョンです。動作としてはV3系でエミュレート対象機種をFM77AVにした場合と同等ですが、バージョン判定・振り分けが不要な分軽くなっています。またROMはV2のセットで動作します。

修正情報

共通

次バージョンリリース時に予定している修正・改善情報は以下の通りです。(2008/03/23現在)

ダウンロード

XM7本体

XM7 for Win32 + DirectX (V3.4L22)
XM7.exeおよびドキュメントです。別途、FM77AV40EX/SXのROMデータが必要です。
xm7_3422.lzhのダウンロード (265,492 bytes, retropc.net)


XM7 for Win32 + DirectX (V2.9L22)
XM7.exeおよびドキュメントです。別途、FM77AVシリーズのROMデータが必要です。
xm7_2922.lzhのダウンロード (250,323 bytes, retropc.net)


XM7 for Win32 + DirectX (V2.9L22-V2憑き)
XM7 V2.9L22にFMTV-151のチャンネルコール再現機能を追加したものです。絶対本気にしないこと。
XM7.exeおよびドキュメントです。別途、FM77AVシリーズのROMデータが必要です。
xm7_2922v2.lzhのダウンロード (252,778 bytes, retropc.net)


XM7 for Win32 + DirectX (V1.1L11)
XM7.exeおよびドキュメントです。別途、FM-7シリーズのROMデータが必要です。
xm7_1111.lzhのダウンロード (243,571 bytes, retropc.net)


ソースファイル

XM7 Full Source (V1.1L11/V2.9L22/V3.4L22)
XM7本体、周辺ツールの全ソースファイルです。V1.1L11/V2.9L22/V3.4L22の兼用になっています。
xm7_3422s.lzhのダウンロード (421,457 bytes, retropc.net)


ツール類

MKEXTSUB(AV40用拡張サブモニタ抽出ツール) v0.3
XM7 V3をFM77AV40のROMデータで動かすための補助ツールです。
FM77AV40専用版F-BASIC V3.4L20システムディスクのD77形式ディスクイメージが必要です。
※XM7 V2をご利用になる場合やFM77AV40EX/SXをお持ちの場合は、ダウンロードする必要はありません。
mkextv03.lzhのダウンロード (31,060 bytes, retropc.net)


MAKEFONT(XM7/Unz用フォントファイル作成ツール) v0.31
Windows用フォントからXM7・Unz(Kasanova氏作)用のフォントファイルを作成するツールです。
makefont031.lzhのダウンロード (39,772 bytes, retropc.net)


過去のバージョン
※V3.0L30/V2.5L20以前のバージョンはPI.氏のサイトのXM7ページから入手できます。あわせてご覧下さい。

公開日バージョン対応機種ダウンロード
2006/10/23V1.1L10Win32(243,113 bytes)
2005/10/23V3.4L21aWin32(265,906 bytes)
2005/10/23V2.9L21aWin32(249,342 bytes)
2005/10/23V2.9L21a-V2憑きWin32(251,809 bytes)
2005/10/23V1.1べーた・その4Win32(235,007 bytes)
2005/03/23V3.4L21Win32(265,599 bytes)
2005/03/23V2.9L21Win32(249,295 bytes)
2005/03/23V2.9L21-V2憑きWin32(251,882 bytes)
2005/03/23V1.1べーた・その3Win32(232,687 bytes)
2004/12/23V3.4L20aWin32(264,036 bytes)
2004/12/23V2.9L20aWin32(247,783 bytes)
2004/12/23V2.9L20a-V2憑きWin32(250,486 bytes)
2004/12/23V1.1べーた・その2Win32(231,741 bytes)
2004/11/23V1.1べーたWin32(227,945 bytes)
2004/10/23V3.4L20Win32(263,658 bytes)
2004/10/23V2.9L20Win32(247,572 bytes)
2004/10/23V2.9L20-V2憑きWin32(250,196 bytes)
2004/06/23V3.4L10Win32(264,840 bytes)
2004/06/23V2.9L10Win32(248,972 bytes)
2004/06/23V2.9L10-V2憑きWin32(251,640 bytes)
2004/04/23V3.4Win32(263,874 bytes)
2004/04/23V2.9Win32(247,874 bytes)
2004/04/23V2.9-V2憑きWin32(250,290 bytes)
2003/10/23V3.3L31aWin32(259,592 bytes)
2003/10/23V2.8L31aWin32(244,949 bytes)
2003/10/23V2.8L31a-V2憑きWin32(247,255 bytes)
2003/08/23V3.3L31Win32(260,016 bytes)
2003/08/23V2.8L31Win32(245,442 bytes)
2003/08/23V2.8L31-V2憑きWin32(247,526 bytes)
2003/05/23V3.3L30Win32(257,763 bytes)
2003/05/23V2.8L30Win32(243,251 bytes)
2003/05/23V2.8L30-V2憑きWin32(245,276 bytes)
2003/03/23V3.3L20Win32(255,093 bytes)
2003/03/23V2.8L20Win32(240,756 bytes)
2003/03/23V2.8L20-V2憑きWin32(243,018 bytes)
2003/02/23V3.3L10Win32(254,111 bytes)
2003/02/23V2.8L10Win32(239,325 bytes)
2003/02/23V2.8L10-V2憑きWin32(241,651 bytes)
2003/01/23V3.3aWin32(250,164 bytes)
2003/01/23V2.8aWin32(235,530 bytes)
2003/01/23V2.8a-V2憑きWin32(237,922 bytes)
2003/01/23V3.3Win32(250,116 bytes)
2003/01/23V2.8Win32(235,469 bytes)
2003/01/23V2.8-V2憑きWin32(237,861 bytes)
2002/11/23V3.2L10Win32(192,638 bytes)
2002/11/23V2.7L10Win32(178,009 bytes)
2002/11/23V2.7L10-V2憑きWin32(180,309 bytes)
2002/08/23V3.2Win32(193,817 bytes)
2002/08/23V2.7Win32(178,619 bytes)
2002/09/15V2.7-V2憑きWin32(180,440 bytes)
2002/04/23V3.1L30aWin32(180,754 bytes)
2002/04/23V2.6L30aWin32(169,282 bytes)
2002/04/23V3.1L30Win32(180,733 bytes)
2002/04/23V2.6L30Win32(169,237 bytes)
2002/03/23V3.1L20Win32(179,908 bytes)
2002/03/23V2.6L20Win32(170,176 bytes)
2002/03/04V3.1L11Win32(178,796 bytes)
2002/03/04V2.6L11Win32(169,304 bytes)
2002/02/23V3.1L10Win32(178,727 bytes)
2002/02/23V2.6L10Win32(169,144 bytes)
2002/01/23V3.1Win32(179,137 bytes)
2002/01/23V2.6Win32(165,183 bytes)
2001/08/23V3.0L31Win32(169,744 bytes)
2001/08/23V2.5L21Win32(158,816 bytes)

スクリーンショット

TEAM AB MUSIC DISK No.1 (C)TEAM AB
TEAM AB MUSIC DISK No.1 (C)TEAM AB
完成版ではこうなった。前回と比べてみよう(意味無し)。

開発環境

開発に使用しているハード・ソフトは以下の通りです。

開発マシン1 : VALUESTAR G type TZ (某大手PCメーカー様の水冷Athlon64マシン)

AMD Athlon64(NewCastle) 3000+@2GHz, 1GB RAM, 200GB+250GB+160GB HDD
SAPPHIRE ATLANTIS RADEON 9600(128MB), Creative SoundBlaster Audigy 2
WindowsXP Professional Service Pack 3
Borland C++ Compiler 5.5.1, Netwide Assembler (NASM) v0.98+towns05

開発マシン2 : Let'snote W5 120GB model (CF-W5KWUAXP)

Intel Core Solo (Yonah, ULV) 1.066GHz, 1GB RAM, 120GB HDD
Intel 945GMS Express Graphics Controller, SigmaTel High Definition Audio CODEC
WindowsXP Professional Service Pack 2
Borland C++ Compiler 5.5.1, Netwide Assembler (NASM) v0.98+towns05

評価マシン1 : FMV-BIBLO LOOX T60D (FMVLT60D)

Mobile Intel Celeron (Banias-512K,ULV) 600A MHz, 512MB RAM, 40GB HDD
Intel 82855GM Graphics Controller, Realtek AC'97 Audio
WindowsXP Home Edition Service Pack 2

評価マシン2 : VAIO U (PCG-U101/PCG-1E1N)

Mobile Intel Celeron (Banias-512K,ULV) 600A MHz, 512MB RAM, 30GB HDD
ATI MOBILITY RADEON(16MB), YAMAHA AC-XG AC'97 Audio
WindowsXP Home Edition Service Pack 2

ターゲットマシン1 : FM77AV40EX

文字放送カード憑き×1、特に拡張なし×2

ターゲットマシン2 : FM77AV40SX

カラーCRTディスプレイ-14(FMDPC232D,モニタケーブルがない)

ターゲットマシン3 : FM77AV-2

カラーCRTテレビ-15(FMTV-152),ビデオディジタイズカード(FM77-411)

ターゲットマシン4 : FM-77L4

15型カラーディスプレイテレビ CZ-600DB(X68000SUPER/X1turboZと共用)

参考文献

☆FM-7,6809関連

タイトル著者出版社発行年
「FM-7を解析する −番外編−
(Oh!FM 84年10月号)
Q-Laboratory日本ソフトバンク1984
「FDCを使いこなそう!
(Oh!FM 84年11月号)
市川 洋側日本ソフトバンク1984
「FM-11 DMAの使い方
(Oh!FM 85年12月号)
市川 洋側日本ソフトバンク1985
「6809機械語によるグラフィック処理の技法 第6回
(Oh!FM 86年5月号)
A.S.D S.K日本ソフトバンク1986
「FM77AV キーボードエンコーダ詳解
(Oh!FM 86年5月号)
Say日本ソフトバンク1986
「I/O活用研究資料編 全機種別I/Oポート
(Oh!FM 86年7月号)
成瀬 健一日本ソフトバンク1986
「解き明かされるFM77AV新サブモニタの全貌」
(Oh!FM 86年9月号)
斎藤 浩一日本ソフトバンク1986
「そこが知りたい! FM77AV40/20」
(Oh!FM 87年1月号)
Oh!FM編集部日本ソフトバンク1987
「AV40のDMACの使い方」
(Oh!FM 87年4月号)
A.S.D F.S日本ソフトバンク1987
「新サブシステムモニタ徹底解析 タイプE編」
(Oh!FM 87年5/6月号)
山下 博日本ソフトバンク1987
「新製品速報 FM77AV40EX/20EX」
(Oh!FM 87年12月号)
Oh!FM編集部日本ソフトバンク1987
「ここが知りたい! FM77AV40EX/20EX」
(Oh!FM 88年1月号)
Oh!FM編集部日本ソフトバンク1988
「F-BASIC解体全書」
(Oh!FM 87年11月号〜88年10月号)
山下 博日本ソフトバンク1988
「FM-7シリーズ徹底活用術」
(Oh!FM 89年5月号)
山下 博、瀬尾 文彦 他日本ソフトバンク1989
「I/Oはこう使え! 【応用編】」
(Oh!FM 89年6月号)
東 豊一郎日本ソフトバンク1989
「F-BASIC解体全書 サブシステム徹底解説」
(Oh!FM 89年11月号・90年1月号)
山下 博日本ソフトバンク1990
「FM-7 BIOSソース・リスト」
(FM-7/8活用研究)
富士通工学社1983
「FM-7 サブシステム・モニタ ソース・リスト」
(FM-7/8活用研究)
富士通工学社1983
「FM77AV ディスプレイサブシステム解説書」富士通富士通1985
「FM77AV ハードウェア解説書」富士通富士通1986
「FM77AV40EX ハードウェア解説書」富士通富士通1988
「FM-77 ユーザーズマニュアル ハードウェア解説」富士通富士通1984
「FM-77 400ラインセットII取扱説明書」富士通富士通1984
「FM-8 BIOSソース・リスト」
(FM-8活用研究)
富士通工学社1982
「FM-11 ハード仕様」
(FM-7/11活用研究)
富士通工学社1984
「FM-7全回路図」富士通(各社)1982
「インテリジェントマウス(FMMO-101A) 取扱説明書」富士通富士通1988
「日本語通信カード回路図」
(6809活用研究)
富士通工学社1989
「FM-77/NEW7 日本語通信カード説明書」富士通富士通1987

☆その他

タイトル著者出版社発行年
「PC-8801FE/MA2 N88-BASIC/N88-日本語BASIC プログラマーズガイド」日本電気日本電気1988
「富士通FMRシリーズ徹底解析マニュアル 増補改訂版」インタープログビー・エヌ・エヌ1989
「FM TOWNSテクニカルデータブック 改訂3版」千葉 憲昭アスキー出版局1994

参考リンク

なべちゃんのホームページ (渡辺 善美氏)
FM TOWNS,Win9x+DirectXで動作するFM-7エミュレータ、EM-7の紹介があります。
FEMU7のページ (力卜氏)
FM TOWNS,PC/AT,PC-9801で動作するFM-7エミュレータ、FEMU7の公式ページです。
keisuke ほ〜むぺ〜じ (keisuke氏)
FM TOWNSで動作するFM-7シリーズエミュレータ、VM7の公式ページです。
GIMONSのページ (GIMONS氏)
XM7をJava,PocketPC,MacOS Xなどさまざまなプラットフォームへ移植したものを公開されています。

XM7お手伝いぺ〜じ (Apollo氏)
XM7を使うためのヒントや、WAV→T77コンバータなどの多くのツールがあります。
Yokhai's Page (よ〜かい氏)
XM7およびXM6の負荷分散用ダウンロードページを用意していただきました。

M88のページ (cisc氏)
PC-88エミュレータ「M88」のページです。XM7のOPNエンジンはM88のものを使わせて頂いています。またWin32でのエミュレータ実装技術について多くの示唆を頂きました。
X1エミュの部屋 (ぷにゅ氏)
X1/turbo/turboZエミュレータ「X1R・Xmillennium」のページですでした。FDCにFM-7と同じMB8877Aを使っている関係で、FDCエミュレーションで幾つかヒントを頂いています。
うさの倉庫 (うさ氏)
各種エミュレータのROMEO対応改造版を作成されています。XM7 V3.3/V2.8以降のROMEO対応コードのベースを提供していただきました。
うんづのペエジ (Kasanova氏)
FM TOWNS/MARTYエミュレータ「うんづ」のページです。稀に隠れキャラ状態で掲示板に出没しているような気がするのは気のせいです。

Oh!FM-7 (Laver氏)
FM-7のソフトウェア、ハードウェアを網羅しています。データベース的なページです。
RetroPC.NET (Molice氏)
FM-7のほかX1,X68000などレトロPC関係のニュースを扱っています。

$39
ryu.takegami@mbg.nifty.com.