X680x0エミュレータ XM6 TypeG
- an eXcellent eMulator, type 6 -

目次


はじめに

XM6は、1987年にシャープより発売された16bitパーソナルワークステーション、X68000のエミュレータです。X68000は「夢を、超えた」をキャッチフレーズに、コナミ「グラディウス」をバンドルして登場したマシンで、アーキテクチャをほぼ変えないまま68000搭載機は1992年発売のX68000 Compact、68EC030搭載機は1993年発売のX68030/X68030 Compactをもってシリーズ終了となりました。

2001年の4月から初版version 0.10の試作を始め、2006/11/23のversion 2.06までは私PI.が開発を行いましたが、その後は、主にGIMONS氏によってXM6 TypeGとして機能拡張が行われてきました。
その結果、XM6 TypeGであれば実機に迫る、ある意味では実機を超える機能・動作を実現しています。

ここまでのレベルに到達できたことはGIMONS氏の長期間に渡る開発あってのもので、原作者として氏に深く感謝すると共に、XM6 / XM6 TypeGがX680x0文化の維持保存に貢献できたことに対し、私としても大きな喜びを感じています。

XM6 TypeG version 3.34以降は再び私がメインメンテナに戻り、細かな保守を行っています。

特徴

XM6 TypeGの特徴は以下の通りです。

  • X68000・XVI・Compact・X68030・040turbo・060turboのフルラインをエミュレーション
  • X680x0の優れた/複雑な表示アーキテクチャを余すところなく再現
  • GUIデバッガと大量のサブウィンドウ、ログウィンドウを用いてX680x0実機内部を観測可能、実機向けソフト開発を強力に支援
  • SASIインタフェース機はハードディスク、SCSIインタフェース機はハードディスク・MOドライブ・CD-ROMドライブを接続可能。SASI機ではSxSI経由でMOドライブ・CD-ROMドライブの利用も可能
  • MIDIボード・ま~きゅり~ゆにっと・Nereid・拡張RS-232Cボード・SASI機向けSCSIボード・アッパーメモリなどの内部増設・外部拡張ボードを装着可能
  • MPUクロックをメーカー製造時の10MHz/16.7MHz/25MHzのみならず、10MHz~100MHzの範囲で様々なクロックに随時変更可能
  • 内蔵SRAMの容量増加・SCCへの供給クロック変更・キーボードへのダイオード追加・ADPCMクリア化など、実機でも行われた改造を実機同様にサポート
  • ジョイスティックポートは標準2ボタンからBM68専用コントローラに至るまで、おおよそX680x0で使われたありとあらゆるコントローラを使用可能
  • ホストOSとのファイル交換(WindrvXMおよびwindrv)をサポート
  • 更新内容(version 3.35 → version 3.36)

  • 描画系をDirectX 9(Direct3D)から、DierctX 10.1(Direct2D)へ全面的に刷新
  • DMACスタートから最初のDMA転送が始まるまでの遅延時間をX68030実測値からX68000ACE実測値に変更
  • リセット時のSRAMウィルスチェック機能と、検出時SRAMプログラム領域自動クリア機能を追加
  • じょいぽーとU君に正式対応。認識時と切断時にそれぞれステータス表示
  • ATARI仕様および汎用6ボタン+START/SELECTのジョイスティックについて、Aボタン・Bボタンの割り当てを入れ替え
  • Windrvドライブに対し、MODE=2(ファイル終端から負の値を指定して移動)のDOS _SEEKが機能していなかった不具合を修正
  • MIDI出力遅延時間のデフォルトを84ms→28msに変更
  • リセット後にメインメモリサイズ・ハイメモリサイズをステータス表示
  • SCSIハードディスクイメージのデフォルトサイズが1000MBになっていなかった不具合を修正
  • 逆アセンブルウィンドウの上方向スクロール動作でバッファオーバーランが起こる不具合を修正
  • 水平方向768ドットと512ドットを混在させた設定など、特殊なケースでバッファオーバーランが起こる不具合を修正
  • DMACに対し、パックなし8bitポート転送モードと16bit転送サイズの組み合わせの場合、コンフィグレーションエラーとなる未公開仕様を実装
  • 電源スイッチOFF後、再度、電源スイッチを入れると、同時に実行開始となるよう修正
  • FM音源Timer-A/Timer-Bの振る舞いをversion 2.06相当に戻した
  • 初回起動時、システムDPIを考慮して1.0倍表示(DPI=100%)、または、1.5倍表示(DPI>100%)、または、2.0倍表示(DPI≧200%)で起動
  • ダウンロード

    XM6 TypeG version 3.36バイナリ(2023/05/23)
    x64版のバイナリ、必要なランタイムDLLを含む一式セットです。
    xm6_typeg_336_20230523.zipのダウンロード (5063689 bytes, retropc.net)


    XM6ユーティリティ version 2.06.02 ソースコード&バイナリ(2022/06/08)
    XM6 / XM6 TypeGを使用するために必要となる、CG-ROM(CGROM.TMP)、SCSI-ROM(SCSIINROM.DAT/SCSIEXROM.DAT)の代替ファイルを作成するツールです。
    ※過去に公開したバージョンはSCSIEXROM.DATに限り不具合があり、指定したSCSI IDから起動することができませんでした。この不具合を修正しています。
    xm6_util_20220608.zipのダウンロード (1047138 bytes, retropc.net)


    XM6 / XM6 TypeGを使用するためには、XM6ユーティリティ version 2.06.02と以下の無償公開ソフトウェアをダウンロードしてください。
    詳しくは、XM6 TypeG付属のドキュメント「クイック スタートガイド」の項を参照してください。

  • IPL-ROM (バージョン1.0: X68BIOSE.LZHは必須となります)
  • Human68k version 3.02のシステムディスク【ディスクイメージ版】

    ※実機から正式なIPL30.DAT・ROM30.DAT・CGROM.DAT・SCSIINROM.DATを取り出す場合は、例えばこちらの記事を参考にしてください。


    XM6 version 2.06 ソースコード(2016/01/23)
    2006/11/23の公開版である、version 2.06のソースコードです。15年以上前の、かなり旧いソースコードではありますが、アーカイブとして公開します。
    ※当時のビルド環境はMicrosoft Visual C++ 2003 .NET(Professional Edition)および、Netwide Assembler(NASM) v0.98です。
    xm6_206s.zipのダウンロード (752426 bytes, retropc.net)

  • ライセンス

    XM6 / XM6 TypeGのライセンス条項は、上記、各アーカイブ内のドキュメントファイルに記載していますので、そちらを参照・遵守してください。

    動画デモ(ファランクス オープニング)

    X680x0で秀作と評されるゲームソフトを複数リリースしたソフトハウス「ZOOM(ズーム)」の1991年作品です。

    このオープニングは大変凝ったもので、2023年現在でも全く古さを感じさせません。半透明や多重画面などX680x0ならではの機能をふんだんに使用し、一部のシーンではCRTCを特殊な設定に変更して画面比率を操作しています。XM6 TypeGのCRTC(VICON)サブウィンドウを表示させながら見ると、水平方向と垂直方向の表示可能ドット数が目まぐるしく変化していく様子が手に取るようにわかります。

    ビジュアルとサウンドの細部のタイミングは、フロッピーディスクアクセスの速度にも影響され(当時は現物あわせだったと思われます)、エミュレータで再現することは非常に困難です。XM6 TypeGでも実機(10MHz)と完璧に一致しているわけではありませんが、最後の演奏完了後にタイルが1枚だけ落ちるところなど、かなりの精度で再現できています。

    ディスクイメージPHAL_OP.XDFは2001年(株)秀和システム刊「究極!!X68000エミュレータ」付属CD-ROM所収のファイルを使用しました。これは既に絶版となっていますが、発行当時私もこの書籍の発行に協力し、巻末の協力者リストに名を連ねています。

    ギャラリー

    過去のXM6のスクリーンショットを一部再掲し、当時の開発状況を振り返ります。

    超快速ディスクコピー DCII (2002/02/19)
    DCII
    XM6ではXM7の開発経験を活かし、ログ出力機能付きのGUIデバッガ・500ns単位の緻密なスケジューリング・実機同様のフロッピーディスク回転数(360rpm)の3点にこだわりました。

    このDCIIは本当に快速なディスクコピーができるのですが、当時はこれが実機と同じ速度で(速すぎず・遅すぎず)動作できるエミュレータは存在しませんでした。XM6 v0.64で実機と同じ速度が再現できたときは、まさに狙い通り、やったという感じでした。


    MXDISP (2002/10/23)
    MXDISP
    MXDRV v2.06+Rel.2/Rel.3や2HD.sysのなどのフリーソフトウェアをはじめ、「ソーサリアンすごろく」などゲームの移植、後年はX680x0向け市販ソフトの開発チームに加わるなど、X680x0の世界に大きな足跡を残されたMissy.M氏によるFM音源ディスプレイです。CRTCを操作し、768×528(縦が16ドットだけ広い)という特殊な画面モードを使用しています。

    MDXデータは同じくMissy.M氏によるもので、システムサコムのノベルウェア「38万キロの虚空」からの吸い出しです。作曲は斎藤 学氏で、「38万キロの虚空」発売後に22才という若さで病没されました。「ソフトでハードな物語」「闇の血族」など、大量に作曲された優れた曲群は今もなお輝きを放っています。


    聖まりあんぬBBS 宣伝panic (2002/11/04)
    聖まりあんぬBBS
    mintの作者として有名な、美浜区純正 里衣座(武井信也)氏が中心となって活動されていた「聖まりあんぬBBS」の宣伝panicです。1661KByteという当時としては大容量の作品で(当然4MByte以上のRAM実装が必要)、多くのBBSへ転載されました。また雑誌「バックアップ活用テクニック」にX680x0のクロックアップ記事を寄稿しX680x0界に一大クロックアップブームを巻き起こすなど活躍されました。武井信也氏はその後ITビジネスで成功され、現在は株式会社マーズフラッグの創業者・代表取締役社長となっています。

    このスクリーンショットは実機より横幅が狭い残念な結果になっているのですが、これは私がXM6の開発を通して、一貫してレンダリングにあまり興味がなかったためです。要はメインRAM/各ペリフェラルのレジスタ/グラフィックRAM等が実機通りに変化することが大事で、それがどう映るかは後回しで良いと、いつも考えていました。


    mmvp (2004/01/12)
    mmvp
    上記「聖まりあんぬBBS」の主要メンバー「ねねっと」氏による動画プレイヤーです。多彩な表示モードを持つことが特徴で、左右反転や上下反転をはじめ、色々な表示効果で楽しむことができます。
    VDTデータは「アイドル防衛隊ハミングバード '94夏」のOVAオープニングをデジタル録画したもので、1994年当時としては、このレベルの動画を再生できることはまさに最先端、驚きでした。

    当然ながら相応のマシンパワーを必要とし、私が1995年に現在の愛機でもあるX68000XVI(24MHzクロックアップ改造済み)を譲り受けた時は、これをコマ落ちなしで再生できることが嬉しかったです。しかし2022年5月にPhantomXを導入するとシステムクロックが10MHzとなるためリアルタイム再生できなくなってしまいました...残念です。


    ASK アドバンストAI-V1辞書 PRO68K 1993年版 (2004/01/30)
    ASK アドバンストAI-V1辞書 PRO68K
    X68000のOS、Human68kにはASKという日本語入力フロントエンドプロセッサ(当時FEPと称していた、現在ではIME)が搭載されていましたが、お世辞にも賢い日本語変換とは言えませんでした。とにかくIOCS(ROM)・OS(Human68k)・FEP(ASK)・バンドルアプリケーション(ビジュアルシェル・日本語ワードプロセッサ・グラディウス)とゼロから作らなければならないものが多すぎ、1987年5月の初代機発売前は相当の開発ボリュームだったと推察します。

    そのASKの辞書を徹底的に調べ、学習・変換アルゴリズムを突き止め、理想の日本語変換を実現すべく構築した賢く巨大な辞書(ASK標準では含まれていない、細密地名辞書・細密駅名辞書・郵便番号辞書・電話番号辞書・電報辞書・元素記号辞書・プログラマー辞書までを含む)を作り上げたのが、このHartmann氏です。個人レベルでこれだけの偉業が行われたことは特筆すべき事で、氏もまた、X680x0の文化に多大な貢献をしたと言ってよいと思います。


    リトルチャイニーズ FINAL (2004/06/20)
    リトルチャイニーズ FINAL
    1991年はゲームセンターでカプコン「ストリートファイターII」が一大ブームを巻き起こした年でした。X68kでも多くのクローンが生み出されましたが、そのうちの一つが同人ソフト「リトルチャイニーズ」シリーズです。JAPANステージでは「早寝早起」「三日坊主」の看板をバックにデフォルメされた春麗が戦っており、なんとも、ほのぼの感の漂う画面になっています。

    BGMは同人音楽サークルFirecrackerで知られた作曲家・サウンドクリエーターのCHEMOOL氏が担当され、PC-88(サウンドボードII)向け音楽ディスクFirecracker Music Collection vol.29にも収録されています。


    移植サウンドドライバ集 (2004/12/23)
    移植サウンドドライバ集
    X680x0はヤマハFM音源(OPM)と沖電気ADPCM(MSM6258V)が装備されていたため、ナムコのシステム86・システム1などを筆頭に、サウンドドライバをZ80や6809から68000/68030に解析移植してX680x0で演奏させることがFM音源マニアの間で流行しました。私もその流れに乗り、主にPC-88やメガドライブのサウンドデータを吸い出し、サウンドドライバを移植して演奏させていました。これはその一部を示したものです(スクリーンショット用に常駐解除せず、次々と常駐させています)。当然ながら一般には公開せず、基本的には自分で作って自分で楽しむものです。

    XM6のtrap#0実行機能って何に使うんだろう?と思った方、それは、このようなサウンドドライバに対し演奏曲を手軽に指定する目的で使うのです。


    スコルピウス (2005/01/10)
    スコルピウス
    雑誌「ゲーメスト」を出版していた新声社が作ったバリバリのシューティングという触れ込みで発売されました。ただし初版はすぐに回収されたというオチがつきます。サソリの尻尾のような武器の操作が慣れるまで難しいのですが、慣れてしまえば非常に良くできたゲームだと分かります。

    単純に(機械的に)難易度を上げているのではなく、マップと敵配置が良く練り込まれており、少なくとも「平」(Normal)ランクは復活パターンも十分可能で、初見殺しではあるものの攻略の楽しさが味わえます。この画面は5面中ボスの安全地帯を示したものです。YouTubeで「社長」(Hard)ランクのクリア映像を見ることができますが、これは相当な難易度で私では太刀打ちできません。

    サウンドはナムコで「源平討魔伝」「超絶倫人ベラボーマン」を手掛けられた中潟憲雄氏の手によるもので、ゲーム本体の発売から20年以上経過した2013年になって突然サウンドトラックが発売されました。ゲーム本体のサウンドドライバはFM音源ステータスのBUSYチェックが甘いためクロックアップ改造された実機ではFM音源が正常に演奏されません。ゲーム本体の難易度の高さと相まってクロック10MHz専用のソフトとなっています。


    ch30_omake.SYS (2006/02/22)
    ch30_omake
    東京システムリサーチ(TSR)社による68030 CPUアクセラレータ「Xellent30」向けにE.Watanabe氏が開発されたSRAM起動プログラムですが、68000機でも便利に使えるため現在も実機で愛用しています。

    ここでの注目ポイントはSCSIデバイスの名称です。XM6ではHDDは今は亡きQuantum社のシリーズ名称「PRODRIVE LPS」「MAVERICK」「LIGHTNING」「TRAILBLAZER」「FIREBALL」「FBSE」をハードディスク容量に応じて使い分け、MOは当時の標準とも言える富士通M251xAシリーズの640MB版「M2513A」を、CD-ROMドライブも当時よく使われたSONYの「CDU-??S」シリーズを、それぞれオマージュしています。


    女帝戦記V4 HEROINES FOREVER (2006/09/29)
    女帝戦記V4
    同人ソフトサークル「ライナーSYSTEM」による対戦格闘ゲームです。名前の通り、登場キャラクタがすべて女性という特徴があります。グラフィック・サウンド・ゲーム性とも非常に高く、V2→V3→V4とバージョンを重ねるごとに登場キャラも増え、大評判となりました。メガドライブのコントロールパッドをX680x0に接続するアダプタ、いわゆる「チェルノブアダプタ」にもバッチリ対応しており、ファイティングパッド6Bを使用することで快適にプレイできます。

    女帝戦記がX680x0界の話題を席捲したのは「パソコン通信へのアップロードは不可」「無償でのコピー配布は可」という配布条件も有利に働き、晴海のコミケ会場に直接行けないユーザも後になってプレイできたことも一つの理由でした。


    リーサリアソ (2021/01/11)
    リーサリアソ(オリジナルシナリオ)
    いらかそ(IRA.)氏による、X68000向けのもう一つのソーサリアン(X1turbo版ベース)です。既に作者自らの手によってニコニコ動画に紹介動画がアップロードされているので、私が紹介するのはちょっとおこがましいところがあるのですが、今は手元にありますよという事で。

    タイムスタンプは1994/06/08、バージョンV1.1となっています。特筆すべきはオリジナルシナリオ3本「極道ソーサリアン」「川口ソーサリアン」「テトリストの塔」が含まれていることです。いずれも元は1988年~1989年にX1turbo向けに作成されたとのことで、この時代にオリジナルシナリオを開発された力量には驚くばかりです。


    SCM (2021/01/09)
    SCM
    ギャラリーの最後はSCM.X、SCCライクな音をPCM合成によってリアルタイム演奏するプログラムを選定しました。

    作者の齊藤 彰良氏は有限会社エムツーで活躍された後、闘病のため2016年2月に43才の若さで逝去されました。 私は所用があってたまたまその日は上京していましたが、午後3時くらいに投宿したホテルに居たところ旧知の「いだかともえ」氏より電話があり突然の訃報に接し、「えっ、そんな、まさか」と絶句してしまいました。

    1995年頃まで、博多駅前第一生命ビルの1Fにあったシャープ(株)の福岡ショールームにて毎週夕方に福岡在住X68kユーザの集まるイベントがあり、毎週、それぞれの新作公開や情報交換をしていました。集会終了後もビル裏の出来町公園でダベったり、さらにその後ガストやジョイフルに移動してポテトフライを肴に長時間話し込んだりしていました。その場で何度も出会った彼は既にMDXの世界で大いに知られた存在でしたが、「それは、ただ好きだからやっている」という風の好青年でした。 当時のメンバーは私も彼も含め20代前半が主力で、皆、経済的にはあまり余裕がありませんでしたが目は輝きエネルギーに溢れており、それぞれがパーソナルコンピュータ、否、パーソナルワークステーションに賭けた青春だったと思います。いま改めて彼が遺した業績に思いを馳せつつ、故人の冥福をお祈りします。


    戻る
    Twitter xm6_original