最終更新 : 2019/01/19

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

2018年12月30日のTPP発効に伴い、何か勘違いしたアレな人から身を守るため、同年12月23日より安全だと確認されるまで実行ファイルの配布を見合わせております。
何卒ご理解いただきますようお願い申し上げます。(2018/12/23)

目次


はじめに

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

XM7はエミュレーション機種によってV1〜V3まで3系統のバージョンに分かれており、基本的に全て開発終了しています。

バージョン系列エミュレート機種
(XM7 TypeR)
エミュレート機種
(XM7/XM7pure)
対応プラットフォーム最終バージョン
V1.0FM-7X68k,PC-98x1,Linux,Win16,FM TOWNS,IBM-PC,Win32V1.0L20
V1.1FM-7,FM-77+400ラインセットI,FM-8Win32V1.1L77SX+z06
V2FM-7,FM77AV,FM77AV20,FM77AV20EXFM-7,FM77AVWin32V2.9L77SX+z06
V3FM-7,FM77AV,FM77AV20,FM77AV20EX,
FM77AV40,FM77AV40EX/SX
FM-7,FM77AV,FM77AV40EX/SXWin32V3.4L77SX+z06

動作OS

XM7はWindows95以降のWin32系OS(Windows95/Windows98/WindowsMe/WindowsNT4.0/Windows 2000/Windows XP/Windows Vista/Windows 7/Windows 8/Windows 8.1/Windows 10)+DirectX3以降で動作するようデザインされています。
ただし、OSによっては以下の制限事項が発生します。

ROM

[著作権法上の警告]
XM7を実行するには、FM-7シリーズ/FM-8のROMデータをファイル化したものが必要です。
ROMデータは、使用者が所有しているFM-7シリーズ/FM-8実機から取り出す必要があります。
実機をお持ちでない方はXM7を使用することはできませんのでご注意ください。


[COPYRIGHT WARNING]
In order to execute "XM7", ROM data of FM-7/8 series are required.
The ROM data shall be extracted from the user's own real FM-7/8 series machines.
Be careful, if you do not have any real machines, you cannot use "XM7".


XM7では以下のファイル構成を想定しています。
なお、XM7 V3.4L50より動作モードによる漢字フォントの切り替え対応のため、JIS83準拠第1水準漢字ROMフォントのファイル名が「KANJI.ROM」から「KANJI1.ROM」に変更されました。V3.4L40以前を使用されていた方はリネームを行ってください。(再度SAVEROM2ユーティリティを使用してROMデータを取得する必要はありません。)

ファイル名ファイルサイズ内容配置空間配置アドレスV1.0V1.1V2V3
FBASIC30.ROM
31,744bytes
F-BASIC V3.0, F-BIOSメイン$38000-$3FBFF
BOOT_BAS.ROM
512bytes
ブートROM (BASICモード)メイン$3FE00-$3FFDF
BOOT_DOS.ROM
512bytes
ブートROM (DOSモード)メイン$3FE00-$3FFDF
BOOT_1MB.ROM
512bytes
ブートROM (1MB DOSモード)メイン$3FE00-$3FFDF
BOOT_MMR.ROM
512bytes
ブートROM (隠し)メイン$3FE00-$3FFDF
SUBSYS_C.ROM
10,240bytes
8x8フォント
サブモニタROM (タイプC)
サブ$1D800-$1FFFF
FBASIC10.ROM
31,744bytes
F-BASIC V1.0, F-BIOS (FM-8)メイン$38000-$3FBFF
BOOTBAS8.ROM
512bytes
ブートROM (BASIC,FM-8)メイン$3FE00-$3FFDF
BOOTDOS8.ROM
512bytes
ブートROM (DOS,FM-8)メイン$3FE00-$3FFDF
BOOTBBL8.ROM
512bytes
ブートROM (バブル,FM-8)メイン$3FE00-$3FFDF
BOOTDBG8.ROM
512bytes
ブートROM (DEBUG,FM-8)メイン$3FE00-$3FFDF
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
JIS78準拠 第一水準漢字、非漢字I/O4バイトI/O経由
KANJIN.ROM
131,072bytes
JIS78準拠 第一水準漢字、非漢字(統合ROM/日本語通信カード版)I/O4バイトI/O経由
KANJIA.ROM
131,072bytes
JIS78準拠 第一水準漢字、非漢字(FM77AV版)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
KANJI1.ROM
131,072bytes
JIS83準拠 第一水準漢字、非漢字I/O4バイトI/O経由
KANJI2.ROM
131,072bytes
JIS83準拠 第二水準漢字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のF-BASIC/ブートROM/サブモニタROMはFM-7/FM-8のどちらかの組み合わせで可) △=オプション
(※V1.1の場合、日本語サブシステム $A000-$AFFFにマッピングされます)

FM-7シリーズを用いたROM取り出し方法(V1対応,3.5インチ用)はこちらで紹介しています。
FM-7シリーズを用いたROM取り出し方法(V1対応,5インチ2D用)はこちらで紹介しています。
日本語通信カード上のROM取り出し方法(V1.1対応)はこちらで紹介しています。
FM-8を用いたROM取り出し方法(V1.1対応,5インチ2D用)はこちらで紹介しています。
FM77AVシリーズを用いたROM取り出し方法(V2対応)はこちらで紹介しています。
FM77AVシリーズ+日本語カードを用いた辞書ROM取り出し方法(V2対応)はこちらで紹介しています。
FM77AV20/20EX/40/40EX/40SXを用いたROM取り出し方法(V2/V3対応)はこちらで紹介しています。
FM77AV40EX/SXを用いたJIS78第一水準漢字ROM取り出し方法(V1/V2/V3対応)はこちらで紹介しています。
CMT I/F・ダンプリスト入力によるROM取り出し方法(V1/V1.1/V2/V3対応)はこちらで紹介しています。

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

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

XM7 TypeR V3.4L77SX+r03→z01, V2.9L77SX+r03→z01, V1.1L77SX+r03→z01の共通変更点一覧です。 XM7/XM7 TypeR/XM7pure V3.4L77SX+z05→z06, V2.9L77SX+z05→z06, V1.1L77SX+z05→z06の共通変更点一覧です。 XM7 TypeR V3.4L77SX+z05→z06, V2.9L77SX+z05→z06, V1.1L77SX+z05→z06の共通変更点一覧です。 XM7 TypeR V3.4L77SX+z05→z06, V2.9L77SX+z05→z06の共通変更点一覧です。 XM7/XM7 TypeR/XM7pure V3.4L77SX+z04→z05, V2.9L77SX+z04→z05, V1.1L77SX+z04→z05の共通変更点一覧です。 XM7/XM7 TypeR/XM7pure V2は、上位バージョンであるV3をベースに、FM77AV40シリーズでの拡張部分を削除したバージョンです。動作としてはV3系でエミュレート対象機種をFM77AVにした場合と同等ですが、バージョン判定・振り分けが不要な分軽くなっています。またROMはV2のセットで動作します。

XM7pureは、XM7/XM7 TypeRよりXM7dashのソース統合・バブルカセット対応機能・キー入力支援機能(ペースト機能含む)・CPUコアの謎の割り込み対策・FM-8モード時のGRAPHキー割り当て変更等を廃止したバージョンです。トマ氏の著作物が含まれているのが嫌な方はぜひご利用ください。
(トマ氏はこのへんを全部きちんと書いておかないとわからないみたいだもんなぁ…頭痛い…)

ダウンロード

ソースファイル

MESSでのソース無断盗用問題が発生したため、しばらくこちらでの配布は行なっていませんでしたが、実行ファイルの生成が可能なように公開しています。
このソースファイルを利用したことで受けた損害・問題等について著作権者は一切の責任を負いません。利用は自己責任でお願いいたします。
なお、XM7 TypeRとXM7/XM7pureのソースは別個ですのでダウンロード時には注意してください。

XM7 TypeR Full Source (V1.1L77SX+z06/V2.9L77SX+z06/V3.4L77SX+z06)
XM7 TypeR本体、周辺ツールの全ソースファイルです。V1.1L77SX+z06/V2.9L77SX+z06/V3.4L77SX+z06の兼用になっています。
このソースはXM7 TypeRのベースとなったXM7dash R41のソースファイルのドキュメントにある配布規定に従って配布しています。後から文句を言ってこないように>トマ氏
xm7tr_3477sxz06s.zipのダウンロード (808,876 bytes, RetroPC.NET)


XM7/XM7pure Full Source (V1.1L77SX+z06/V2.9L77SX+z06/V3.4L77SX+z06)
XM7/XM7pure本体、周辺ツールの全ソースファイルです。V1.1L77SX+z06/V2.9L77SX+z06/V3.4L77SX+z06の兼用になっています。
なお、V3.4L77aまではPI.さんのサイトのほうで配布が行われておりますので、そちらから入手してください。
xm7_3477sxz06s.zipのダウンロード (608,726 bytes, RetroPC.NET)


XM7 Full Source (V2.5L10)
XM7 V2.5L10本体、周辺ツールの全ソースファイルです。
こちらはPI, さん単独で開発された最終バージョンのソースファイルとなります。
xm7251s.lzhのダウンロード (254,576 bytes, RetroPC.NET)


XM7 Full Source (V1.0L20)
XM7 V1.0L20本体、周辺ツールの全ソースファイルです。
xm71020s.lzhのダウンロード (272,192 bytes, RetroPC.NET)


XM7はオープンソースソフトウェアではありません。ライセンス条件に反する等、著作権者の意向に反した利用についてはお断りします。
"XM7" is not open source software. We refuse to use contrary to the intention of the copyright holder, such as against the license condition.


ツール類

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


MAKEFONT(XM7/Unz用フォントファイル作成ツール) v0.36
Windows用フォントからXM7/Unz用のフォントファイルを作成するツールです。
※XM7dashではトマ氏の陰謀により使用できません。
makefont036.zipのダウンロード (40,104 bytes, RetroPC.NET)


開発環境

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

開発マシン1 : Lindwurm4。現在の主力機。

AMD Ryzen 5 1600X(Summit Ridge) 3.60GHz(自称), 32GB RAM, 500GB NVMe SSD + 3TB HDD
GIGABYTE GV-N1060IXOC-6GD (nVIDIA GeForce GTX 1060, 6GB), Creative SoundBlaster Z
Windows 10 October 2018 Update Build 17763(x64)
Windows 7 Ultimate Service Pack 1 (x64),Windows 8.1 Pro (x64), Windows 10 Insider Preview Build 18277 (x64) on VMware Player
Borland C++ Compiler 5.5.1, Netwide Assembler (NASM) v0.98+towns05

開発マシン2 : Wyvern3。主力モバイルマシン。

Panasonic Let'snote SV7 CF-SV78SJQP
Intel Core i7-8650U 1.90GHz(自称), 16GB RAM, 512GB NVMe SSD
Intel UHD Graphics 620, Realtek High Definition Audio
Windows 10 October 2018 Update Build 17763(x64)
Borland C++ Compiler 5.5.1, Netwide Assembler (NASM) v0.98+towns05

ターゲットマシン1 : FM77AV40EX

WHGPLAY用増設FM音源カード付き×1(new!)、文字放送カード憑き×1、特に拡張なし×2

ターゲットマシン2 : FM77AV40SX

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

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

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

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

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

ターゲットマシン5 : FM-NEW7 (F-BASIC V3.02)

3.5インチフロッピィディスクユニット(MB27631H),14型カラーディスプレイ PC-KD252 (PC-6001mkIISRと共用)

ターゲットマシン6 : FUJITSU MICRO 8 (F-BASIC V1.05)

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

参考文献

☆FM-7,6809関連

タイトル著者出版社発行年
「FM-7を解析する −番外編−」
(Oh!FM 84年10月号)
Q-Laboratory日本ソフトバンク1984
「FDCを使いこなそう!」
(Oh!FM 84年11月号)
市川 洋側日本ソフトバンク1984
「PCなんか怖くない! FM高速書き込みモード」
(Oh!FM 85年9月号)
A.S.D T.I日本ソフトバンク1985
「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
「THE SNOW」
(Oh!FM 87年11月号)
大山 止揚
(スクロールルーチン:向井 真也)
日本ソフトバンク1987
「ゆらぎの世界」
(Oh!FM 87年11月号)
古島 終作日本ソフトバンク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-Techknow
(FM-7シリーズテクニカルノウハウ)
阪井末幸ビー・エヌ・エヌ1986
「FM-7 BIOSソース・リスト」
(FM-7/8活用研究)
富士通工学社1983
「FM-7 サブシステム・モニタ ソース・リスト」
(FM-7/8活用研究)
富士通工学社1983
「FM77AV ディスプレイサブシステム解説書」富士通富士通1985
「FM77AV ハードウェア解説書」富士通富士通1986
「FM77AV40EX/20EX ハードウェア解説書」富士通富士通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
「FD1791 Datasheet」Western Digital?

参考リンク

PC-8801MAエミュレータ XM8 (PI.氏)
XM7の原作者のPI.さんのサイトです。
現在、PC-8801MAエミュレータ「XM8」、およびXM7 V3.4L77aまでのソースコードを公開されています。
FEMU7のページ (力卜氏)
FM TOWNS,PC/AT,PC-9801で動作するFM-7エミュレータ、FEMU7の公式ページでした。現在は閉鎖しています。記録のためリンクを保存しておきます。
keisuke ほ〜むぺ〜じ (keisuke氏)
FM TOWNSシリーズで動作するFM-7シリーズエミュレータ、VM7の公式ページです。
GIMONSのページ (GIMONS氏)
かつてXM7のJava,PocketPC,MacOS Xなどへの移植版を公開されていました。
現在、X68000エミュレータ「XM6 TypeG」、Raspberry Pi用SCSIエミュレータ「RaSCSI」を公開されています。
TAKEDA, toshiya's HOME PAGE (武田俊也氏)
「Common Source Code Project」として、さまざまなレトロPCエミュレータの開発を手がけられています。
FM-7シリーズエミュレータとしてはArtane.氏開発の「eFM7」「eFM77AV」などがあります。
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エミュレーションでいくつかヒントをいただいています。
うさの倉庫 (うさ氏)
各種エミュレータのROMEO対応改造版を作成されています。XM7 V3.3/V2.8以降のROMEO対応コードのベースを提供していただきました。
うんづのペエジ (Kasanova氏)
FM TOWNS/MARTYエミュレータ「うんづ」のページです。稀に隠れキャラ状態で掲示板に出没しているような気がするのは気のせいです。
天ぷら工房 (天丸氏)
レトロPCのアイコン、MSX2/PC-8801/Windows用のフリーゲームなどがあります。新デザインのアイコン、およびそのベースアイコンを提供していただきました。
日立 ベーシックマスター レベル3マーク5/S1 (Sasaji氏)
サイトの名称通り、ベーシックマスター レベル3/S1のエミュレータを公開されています。
周辺ツールの「L3 Disk Explorer」がFMシリーズのディスクイメージに対応しているので紹介させていただきました。

Oh!FM-7 (Laver氏)
FM-7のソフトウェア、ハードウェアを網羅しています。データベース的なページです。
Retro PC Gallery(はせりん氏)
FM-7/8シリーズの様々なスクリーンショットや解析を行っています。ここもデータベース的なページです。
Aufheben Software(大山止揚氏)
「きょうふの水曜日」とかでおなじみの止揚さんのページです。
「◎◎h!FM」コーナーでは独自OS「OS-0」のほか、お約束のように冗談プログラムがアップされています。
「エミュレーターについて」のXM7の説明、SAVEROMとSAVEROM2が逆です…
RetroPC.NET (Molice氏)
FM-7のほかX1,X68000などレトロPC関係のニュースを扱っています。

$39
ryu.takegami@mbg.nifty.com.
※精神的に強い衝撃を与えないでください。破損の恐れがあります。