PC-8801MAエミュレータ XM8

eXcellent Multi-platform emulator type 8 by PI.
based on ePC-8801MA(TAKEDA Toshiya)


はじめに

XM8はNEC製パーソナルコンピュータPC-8801MA(PC-8801mkIISR上位互換)のマルチプラットフォーム対応エミュレータです。

仮想マシン部は武田俊也氏のCommon Source Projectに含まれているePC-8801MAをベースに独自の改良を行ったものを使用し、ホストOSとのビデオ・オーディオ・入力インタフェースとしてSDLを使用しています。

バージョンアップ項目(version 1.61 → version 1.70)

[仮想マシン関連]

  • 描画系をePC-8801MA(2017/11/26版)と同等に差し替えた。(PC-8801mkIISR店頭デモ)
  • 拡張RAMで存在しないバンクを指定した場合のメモリマップを修正した。(ルーンワース 黒衣の貴公子)
  • DIP SWのデフォルト設定を80桁×20行から80桁×25行に変更した。(ザナドゥ)
  • 垂直表示区間・垂直同期区間の比率のみを変更した場合に音切れが発生する不具合を修正した。(サーク2)
  • INSキー、DELキー、BSキーの各キーを個別に押した場合の入力ポート値を修正した。
  • NモードのPCG-8100を正式サポートした。※クロック4MHzに設定すること

[ユーザインタフェース関連]

  • 日本語106キーボードの変換、無変換、右CtrlをPC88の変換、決定、全角にそれぞれ割り当てた。
  • Linux/AndroidでScaling Qualityチェックボックスを追加した。(デフォルトON)
  • Joystick to keyboardの割り当てマップでTABキーを選択可能にした。
  • Joystick test機能を追加した。
  • ファイルセレクタの開始位置を改良した。
  • ユーザーI/F、ソフトウェアキーボードのタップ操作性を改良した。
  • トップメニューから一階層以上入った状態でAlt+Enterを押すとXM8が異常終了する不具合を修正した。
  • 読み取り専用属性の付いたディスクイメージファイルであっても、ステータスバーに書き込み可能として表示する不具合を修正した。
  • DIP settingsでRestore default settingsを選択したときに、DIPの表示状態が変化しない不具合を修正した。

[Android関連]

  • Android 5.0(Lollipop)以降で外部SDカードへの書き込みに対応した。
  • 64bit版ネイティブライブラリを同梱し、32bit/64bit双方の動作環境に対応した。
  • Scaling Qualityのサポートに伴い、Scan lineのデフォルトをONに変更した。※version 1.61以前から移行した場合も変更されます
  • コンパイラ変更(gcc→clang)により性能が向上した。

動作OS

XM8は以下のOSで動作します。

OS アーキテクチャ バージョン
Windows x86 / x64 Windows XP以降
Linux x86 / x64 Linux kernel 2.6以降
Android ARMv7a / ARM64-v8a / x86 / x64 Android 4.0以降

【New】bubio氏の尽力により、macOSで動作するようになりました。

macOS x64 / Apple Silicon Mac OS X v10.7 Lion以降(x64) または macOS 11 Big Sur以降(Apple Silicon)

ROM

XM8を実行するには、PC-8801mkIISR以降のROMデータをファイル化したものが必要です。

過去のPC-88エミュレータで標準となっている以下のセットを利用します。

ファイル名 内容
N80.ROM N-BASIC ROM (*)
N88.ROM N88-BASIC ROM (*)
N88_0.ROM N88-BASIC 4th ROM (バンク0) (*)
N88_1.ROM N88-BASIC 4th ROM (バンク1) (*)
N88_2.ROM N88-BASIC 4th ROM (バンク2) (*)
N88_3.ROM N88-BASIC 4th ROM (バンク3) (*)
DISK.ROM ディスクサブシステム ROM (*)
KANJI1.ROM 第一水準漢字 ROM
KANJI2.ROM 第二水準漢字 ROM (オプション)
JISYO.ROM 辞書 ROM (オプション)

このうち上記で*が付いたものはPC88.ROMで代替可能です。両方存在した場合は上表のファイルが優先されます。

この他、サウンドボードII相当のFM音源(OPNA:YM2608)を使用する場合、リズム音源WAVファイル(2608_*.WAV)6音が必要です。

ダウンロード(macOS)

XM8 (version 1.70) for macOS

macOSへのポーティングはbubio氏によって行われており、GitHub上で開発が進められています。GitHubのXM8 for macOSリポジトリからソースコードを取得し、ビルドしてください。

ダウンロード(その他のOS)

XM8 (version 1.70) for Windows, Linux, Android
ソースファイル、実行形式ファイルを含む全プラットフォーム対応の一式セットです。

version 1.80プレビュー

version 1.80では、ソーサリアン(PC-98) NEW IPLで実現したFM音源ステレオ化を、ソフトを問わず汎用的に使用できるようになる予定です。

その効果を先行して公開します。サンプル曲は「ドラゴンスレイヤー英雄伝説I」より「エンディング1」です。
(Copyright (C) 1989 日本ファルコム)

スクリーンショット

ルーンワース ジュークボックス

RuneWorth JukeBox

[解説]
T&E SOFTとしてPC-88向け最後の作品となった大作ARPG「ルーンワース 黒衣の貴公子」のミュージックディスクです。音源ボードの種別(OPN/SBII)と演奏種別(ノンストップ/セレクション)を選ぶと、演奏と共にキャラクターがダンスを披露してくれます。

SBII版はリズム音源が効果的に使われており、透明感のあるFM音源の音色と相まって素晴らしい出来になっています。この「ウェイデニッツ公国」の他、「URE-P」「サータルスの導き」「やすらぎ」などが私のお気に入りです。


[名盤紹介]
ポリスター「ALL SOUNDS OF RUNE WORTH」(1990年2月発売)

ALL SOUNDS OF RUNE WORTH

上記ジュークボックスのSBII版と同様の内容で、全35曲が収録されたサウンド・トラックCDです。以下、ライナーノーツに書かれた内藤時浩氏のコメントをそのまま記載します。

みなさんは、ゲームミュージックについてどのような印象をお持ちでしょうか。ひと昔前なら、「たかがゲームミュージック」ですまされていたものが、現在ではちゃんとしたジャンルとして確立されるまでになってきましたよね。このCDを買ってくださったみなさんなら、最近のゲームミュージックの質の高さについては、十分お分かりになっていることと思います。うち(T&E)は、ゲームミュージックに対する比重をかなり高くおいています。ルーンワースからゲームミュージックを無くすと、ゲームの処理スピードが20%も速くなります。つまり、それだけ本格的な演奏を行っているのです。

専用基板を使えるゲームセンターのアーケードマシンなどと違い、パソコンでは非常にいろいろな音源があります。音楽演奏をパソコンで行うためには、それら全ての音源に対応させなければいけません。ルーンワースでは、OPN、SBH(注:原文ママ)、OPLL、PSGという4つの音楽演奏用チップに対応させました。その数、35×4=140曲目。サウンドクリエーターたちには、それこそ大変な作業だったと思います。この場をお借りして、彼らに感謝の言葉を述べたいと思います。

うちのサウンドクリエーターたちは、作曲依頼をすると私にイメージを求めてきます。「死んでまった」の作曲依頼では、私は彼らにこう説明しました。「XXサスペンス劇場のドラマの雰囲気で、仲間が惨殺された悔しさを表現して欲しい」……と。こんなおかしな作曲依頼で、よくこれだけの素晴らしい音楽ができてきたものだと、改めて感心します。

1990年からは、さらに本格的な作曲活動ができる体制が整う予定です。「ゲームミュージックもT&E」と言われるよう頑張りますので、これからもよろしくお願いします。
(株)T&E 開発部第一開発室室長 内藤時浩

開発環境

開発に使用しているハードウェアは以下の通りです。


開発ホスト:
Lenovo ThinkPad E560

評価端末:
SONY WALKMAN NW-F885 (Android 4.1)
FUJITSU ARROWS M305/KA4 (Android 4.4.2)
GPD XD (Android 4.4.4)
Google Nexus 7 2013 (Android 6.0.1)
HUAWEI MediaPad M3 Lite (Android 7.0)

テスト用実機:
PC-8801MA2

参考文献

☆書籍

タイトル 著者 出版社 発行年
「PC-8801mkIISR マシン語ゲームプログラミング」 日高 徹 小学館 1985
「マシン語マスターバイブル PC-8801シリーズ」 日高 徹 小学館 1991