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.60 → version 1.61)

  • XM8を起動するとステートロード0を行った後、ユーザI/F(メニュー)から始まる仕様に変更した。
  • 動作OS

    XM8は以下のOSで動作します。
    OSアーキテクチャバージョン
    Windowsx86 / x64Windows XP以降
    Linuxx86 / x64Linux kernel 2.6以降
    AndroidARM / x86Android 4.0以降

    ROM

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

    過去のPC-88エミュレータで標準となっている以下のセットを利用します。
    ファイル名内容
    N80.ROMN-BASIC ROM (*)
    N88.ROMN88-BASIC ROM (*)
    N88_0.ROMN88-BASIC 4th ROM (バンク0) (*)
    N88_1.ROMN88-BASIC 4th ROM (バンク1) (*)
    N88_2.ROMN88-BASIC 4th ROM (バンク2) (*)
    N88_3.ROMN88-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音が必要です。

    ダウンロード

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

    xm8_161.zipのダウンロード (3744844 bytes, retropc.net)


    スクリーンショット

    ソーサリアン
    SORCERIAN

    [解説]
    2015年12月のスクリーンショットとしてこの作品を外すわけにはいきません。PC-8801mkIISR版が満を持して1987年12月20日に発売されてから既に28年の歳月を閲しました。また私がX680x0版をパソコン通信で発表してから丁度20年になります。X680x0版は2015年にFu-.氏の手によってセレクテッドソーサリアン5まで全てのシナリオ移植が完成しました。

    本作品はPC-8801mkIISRの能力を100%使い切った一つの到達点であると同時に、私にとっては「プログラミングの本質は何か」「コンストラクションとは何なのか」を学んだ原点でもあります。XMを冠するエミュレータ群(XM6/XM7/XM8)にもソーサリアン的な思想・哲学が存分に盛り込まれています。

    さて下のリンクにある「ソーサリアン~内部解析からわかったこと~」は寄稿直後から大きな反響を呼びましたが、そこで記載している死者復活のバグを修正した画面がこちらです。他の公式移植機種もすべてバグ付きUIに準拠していますので非常に珍しい画面です。ただし唯一SuperMZ(MZ-2500)への非公式移植はこのバグが修正されており、上記画面と同様の動作となっているのを見て驚愕しました。

    開発環境

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

    開発ホスト:
    PC/AT互換機(Core2Duo E8400, 4GB RAM, 2TB HDD) (Windows x64/Linux x64)

    評価マシン:
    SONY VAIO type T VGN-TZ90NS (Windows x86/Linux x86)
    TOSHIBA AT3S0 (Android 4.0.4)
    FUJITSU ARROWS M305/KA4 (Android 4.4.2)
    GPD XD (Android 4.4.4)

    テスト用実機:
    PC-8801MA2

    参考文献

    ☆書籍

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

    その他

    FM-7エミュレータ XM7 (たけがみりうさんへのリンク)

    XM7 V3.4L70/V2.9L70 ソースコード(508529 bytes, retropc.net)

    XM7 V3.4L77/V2.9L77 ソースコード(509631 bytes, retropc.net)

    XM7 V3.4L77a/V2.9L77a ソースコード(538518 bytes, retropc.net)

    ソーサリアン~内部解析からわかったこと~(2015年改訂版)

    XM6 version 2.06 ソースコード(752426 bytes, retropc.net)
    ※XM6 version 2.06は多数の不具合がある古いソースコードです。その前提で利用ください。
    GIMONS氏によるXM6 TypeGはXM6 v2.05/2.06をベースに不具合を修正し新機能を追加したバージョンです。このソースコードを希望される方はTwitterで連絡ください。

    XM6ユーティリティ version 2.06 (121181 bytes. retropc.net)
    ※フォントROM(CGROM.TMP)の合成、SCSI ROM(SCSIINROM.DATまたはSCSIEXROM.DATの合成)、その他が行えます

    XM6 TypeG version 3.x (GIMONSさんへのリンク)


    Twitter xm6_original