XM6はシャープ製パーソナルワークステーションX680x0シリーズのエミュレータです。X680x0シリーズは1987年のX68000初代発売以来ホビーストから絶大な支持を受け、最終製品である1993年のX68030以後も040turbo、060turboといったアクセラレータがユーザサイドによって開発、販売されました。XM6はこのX680x0シリーズの中で比較的標準といえるスペックを持つ、X68000EXPERT(1989年発売)をエミュレーションします。
XM6はXM7に続くXMシリーズ第2弾のエミュレータでもあります。XM7の基本設計を継承・改良し、XM7で得られたエミュレータ開発ノウハウを投入しています。
今回の変更点は次の通りです。
- XM6ユーテリティ version 2.06を配布開始しました。
XM6を動かすためには、対応プロセッサ+対応OSの組み合わせが必要です。
対応プロセッサは、IA-32系でMMX拡張・CMOV命令を備えたものが必要です。次の表を見てください。
メーカ 対応プロセッサ その他 Intel PentiumII以降,Celeron以降 2000年以降のプロセッサであれば、まず大丈夫です AMD Athlon以降,Duron以降 2001年以降のプロセッサであれば、まず大丈夫です VIA C3-Nehemiah,C7 C3(Ezra以前)はサポートしていません Transmeta Crusoe,Efficeon 全てOKです!
対応OSは、Windows98以降のWin32系OSです。次の表を見てください。
(注)Windows Vista(RC)での動作テストは行っていません。レポートを求めます。
系列 対応OS Win9x系 Windows 98, Windows 98(Second Edition), Windows Me WinNT系 Windows 2000, Windows XP, Windows Server 2003
version1.60からコンパイラをMicrosoft Visual C++ .NET 2003に変更した関係で、今までのバージョンで不要だった外部DLLが必須になっています。以下のDLLが必要です。
ファイル名 内容 ファイルバージョン MFC71.DLL Microsoft Foudation Classlibrary(共有DLL版) 7.10.3077.0以降 MSVCR71.DLL Microsoft Visual C++ ランタイム(共有DLL版) 7.10.3052.4以降
これらのファイルは通常のシステムには含まれていないため、再配布可能なファイルを準備しました。以下のファイルをダウンロードし、XM6.exeと同じディレクトリに配置してください。今後のXM6のバージョンアップでも、これらのファイルは引き続き使用できます。
MFC 7.1 (共有DLL)
VC++ランタイムライブラリ7.1 (共有DLL)
XM6を実行するには、X68000EXPERTのROMデータをファイル化したものが必要です。以下のファイル構成を想定しています。
(注)CGROM.DATが見つからない場合は、代替ファイルとしてCGROM.TMPを探します。
ファイル名 ファイルサイズ 内容 配置アドレス IPLROM.DAT 131072 byte IPL,IOCS,ROMデバッガ,ROM OS $FE0000-$FFFFFF CGROM.DAT 786432 byte 英数フォント、漢字フォント $F00000-$FBFFFF
SCSIインタフェースを有効にする場合、上記に加えSCSI IOCSのROMデータをファイル化したものが必要です。インタフェースの種類にあわせて、以下のいずれかを使います。
(注1)IPLROM30.DATは使用できません。
ファイル名 ファイルサイズ インタフェース種類 配置アドレス SCSIINROM.DAT 8192 byte 内蔵SCSIインタフェース $FC0000-$FC1FFF SCSIEXROM.DAT 8192 byte SCSIインタフェースボード $EA0000-$EA1FFF SCSIEXROM.DAT 8160 byte SCSIインタフェースボード $EA0020-$EA1FFF
(注2)SCSIEXROM.DAT(8160byteタイプ)はWinX68k高速版と互換性があります。
基本方針とversion 2.06の実装状況です。前バージョンから進んだ部分は☆で表記しています。
全体の方針
1 CPU、メモリ、スケジューラなど全体の枠組みを早期に構築する 2 基本的なデバッグ環境を整え、その充実を図る 3 デバイスおよび時間の仮想化を徹底。仮想マシンとWin32サポートを完全分離した設計とする 4 個々のデバイスはフルスペック実装を見越した設計とする。中途半端な進め方はしない 5 レンダラ(画面合成、画面表示)は優先度最低とし、なるべく作業の後ろに回す
仮想マシン
項目 実装レベル(☆=20%) コメント システムコントロール ☆☆☆☆☆ 完了 スケジューラ ☆☆☆☆☆ 完了 CPU ☆☆☆☆☆ 完了 メモリ ☆☆☆☆☆ 完了 グラフィックVRAM ☆☆☆☆☆ 完了 テキストVRAM ☆☆☆☆☆ 完了 CRTコントローラ ☆☆☆☆☆ 完了 ビデオコントローラ ☆☆☆☆☆ 完了 DMAC ☆☆☆☆☆ 完了 エリアセット ☆☆☆☆☆ 完了 MFP ☆☆☆☆☆ 完了 キーボード ☆☆☆☆☆ 完了 RTC ☆☆☆☆☆ 完了 プリンタ ☆☆☆☆☆ 完了 システムポート ☆☆☆☆☆ 完了 FM音源 ☆☆☆☆☆ 完了 FM音源合成 ☆☆☆☆☆ 完了 ADPCM ☆☆☆☆☆ 完了 FDC ☆☆☆☆☆ 完了 FDD ☆☆☆☆☆ 完了 フロッピーイメージ ☆☆☆☆☆ 完了 SASI ☆☆☆☆☆ 完了 SxSI ☆☆☆☆☆ 完了 SCSI ☆☆☆☆☆ 完了 SCC ☆☆☆☆☆ 完了 マウス ☆☆☆☆☆ 完了 PPI ☆☆☆☆☆ 完了 ジョイスティック ☆☆☆☆☆ 完了 I/Oコントローラ ☆☆☆☆☆ 完了 スプライトレジスタ ☆☆☆☆☆ 完了 スプライトVRAM ☆☆☆☆☆ 完了 SRAM ☆☆☆☆☆ 完了 MIDI ☆☆☆☆☆ 完了
Win32サポート
項目 実装レベル(☆=20%) コメント フレームウィンドウ ☆☆☆☆☆ 完了 デバッガ ☆☆☆☆ セッション保存を計画 サブウィンドウ管理 ☆☆☆☆☆ 完了 サブウィンドウ(システム) ☆☆☆☆☆ 完了 サブウィンドウ(プロセッサ) ☆☆☆☆☆ 完了 サブウィンドウ(デバイス) ☆☆☆☆ スプライト強化が必要 サブウィンドウ(ビデオRAM) ☆☆☆☆☆ 完了 サブウィンドウ(レンダラ) ☆☆☆☆ BG・スプライト関連を拡張予定 サブウィンドウ(Win32) ☆☆☆ OS情報、サウンド出力、画面描画 スケジューラ ☆☆☆☆☆ 完了 画像表示(ウィンドウ) ☆☆☆☆☆ 完了(特殊系の追加を予定) 画像表示(フルスクリーン) ☆☆☆☆☆ 完了(特殊系の追加を予定) サウンド出力 ☆☆☆☆☆ 完了 MIDI ☆☆☆☆☆ 完了 キーボード入力 ☆☆☆☆☆ 完了 ジョイスティック入力 ☆☆☆☆☆ 完了 マウス入力 ☆☆☆☆☆ 完了 ポート ☆☆☆☆☆ 完了 TrueKey ☆☆☆☆☆ 完了 設定 ☆☆☆☆☆ 完了 ツール ☆☆☆☆☆ 完了 レジューム ☆☆☆☆☆ 完了
XM6 (version 2.06)
XM6.exeおよびドキュメントです。
別途、MFC7.1およびVC++7.1ランタイムの共有DLL、X68000EXPERTのROMデータが必要です。
XM6 ソースコード (version 2.05)
XM6の全ソースコードです。このソースコードから実行可能ファイルを生成するためには、Microsoft Visual C++ .NET 2003とNetwide Assembler 0.98.39が必要です。
XM6ユーティリティ (version 2.06)
XM6Util.exeおよびドキュメントです。
別途、MFC7.1およびVC++7.1ランタイムの共有DLLが必要です。
過去のバージョン(K・H・Cサーバ)
公開日 バージョン ファイル名 サイズ 2006/10/23 version 2.05 xm6_205.lzh 447557 bytes 2006/09/23 version 2.04 xm6_204.lzh 446091 bytes 2006/02/23 version 2.03 xm6_203.lzh 526499 bytes 2006/01/23 version 2.02 xm6_202.lzh 517508 bytes 2005/02/23 version 2.01 xm6_201.lzh 409871 bytes 2005/01/23 version 2.00 xm6_200.lzh 409378 bytes 2004/12/23 version 1.95 xm6_195.lzh 401245 bytes 2004/11/23 version 1.90 xm6_190.lzh 400206 bytes 2004/10/23 version 1.85 xm6_185.lzh 394885 bytes 2004/09/23 version 1.80 xm6_180.lzh 387660 bytes 2004/08/23 version 1.74 xm6_174.lzh 380869 bytes 2004/06/23 version 1.70 xm6_170.lzh 375852 bytes 2004/05/23 version 1.68 xm6_168.lzh 361475 bytes 2004/04/23 version 1.65 xm6_165.lzh 357165 bytes 2004/03/23 version 1.60 xm6_160.lzh 350480 bytes 2004/02/23 version 1.52 xm6_152.lzh 533833 bytes 2004/01/23 version 1.50 xm6_150.lzh 531495 bytes 2003/11/23 version 1.45 xm6_145.lzh 514747 bytes 2003/10/23 version 1.42 xm6_142.lzh 507235 bytes 2003/09/23 version 1.40 xm6_140.lzh 498580 bytes 2003/08/27 version 1.36 xm6_136.lzh 492797 bytes 2003/08/24 version 1.35 xm6_135.lzh 492719 bytes 2003/07/23 version 1.30 xm6_130.lzh 488780 bytes 2003/06/23 version 1.23 xm6_123.lzh 477286 bytes 2003/03/23 version 1.20 xm6_120.lzh 468634 bytes 2003/02/23 version 1.10 xm6_110.lzh 459352 bytes 2003/01/23 version 1.05 xm6_105.lzh 456298 bytes 2002/12/23 version 1.00 xm6_100.lzh 446443 bytes 2002/11/23 version 0.96 xm6096.lzh 443472 bytes 2002/10/23 version 0.92 xm6092.lzh 437888 bytes 2002/09/23 version 0.90 xm6090.lzh 431764 bytes 2002/07/23 version 0.85 xm6085.lzh 429597 bytes 2002/06/23 version 0.82 xm6082.lzh 418352 bytes 2002/05/23 version 0.75 xm6075.lzh 406577 bytes 2002/03/23 version 0.71 xm6071.lzh 401961 bytes 2002/02/23 version 0.64 xm6064.lzh 385567 bytes 2001/12/23 version 0.55 xm6055.lzh 376595 bytes 2001/11/23 version 0.50 xm6050.lzh 371793 bytes 2001/10/23 version 0.41 xm6041.lzh 363297 bytes 2001/09/23 version 0.24 xm6024.lzh 349294 bytes 2001/08/23 version 0.10 xm6010.lzh 319556 bytes
メイジリィ
[解説]
どこかで見たロゴ、どこかで見たメッセージ....、「メイジリィ」は有名な古典をベースに、独自の味付けを施した3Dダンジョン探索型RPGです。発表年は1991年、制作は「日本洗脳倶楽部」となっています。やり込むと、古典よりも楽しめる部分があるとの評判もあります。このタイトル画面で[S]を押してCASTLE(城)のメニューに入ると、お約束ではありますが、オリジナルの「BOLTAC'S TRADING POST」(ボルタック商店)が、「BOTTAKUL'S TRADING POST」(ボッタクル商店)になっているのが笑えます。
なお、これとは別に「ウィザードリィ」のクローンも存在しますが、またの機会に紹介したいと思います。
過去のスクリーンショット(ipc-tokaiサーバ)
TrueKeyとは、X680x0のキーボードを変換基板を介してWindows側PCのシリアルポートに接続し、X680x0キーボードからXM6の仮想マシンを操作できる、というものです。
X680x0標準のキーボードには「XFキー」「OPTキー」「登録キー」など特殊なものを含め合計112個のキーがあり、一般的な日本語キーボードである106/109キーボードでは、物理的にキーの数が足りません。このため特にかな漢字変換時などで制約を受けていましたが、X680x0のキーボードを接続することでこれらの制約なしに、スムーズに操作できます。
接続にはMAX232Aなどを用いたレベル変換回路が必要です。またX680x0のキーボードに電源を供給するため、PS/2コネクタ又はUSBコネクタを用いて給電します。以下にTAKE氏による参考回路図を示します。
開発に使用しているハードウェアは以下の通りです。
ターゲット1:X68000XVI(68000 24MHz+68882), 12MB RAM, 1GB HDD
Mercury-UnitV4, Neptune-Evolution, CZ-6BM1A, SX-68SC
Human68k version 3.02
ターゲット2:X68000PRO(68000 10MHz), 2MB RAM, 80MB HDD
Human68k version 2.03
開発ホスト:PC/AT互換機(Athlon64X2 4400+), 1024MB RAM, 250GB HDD
NVIDIA GeForce6600, AUDIOTRAK Prodigy7.1XT, M-AUDIO Dio2496
Roland MT-32, SC-55
WindowsXP Professional Edition(SP2)
評価マシン:PC/AT互換機(Celeron 1.3GHz), 512MB RAM, 137GB HDD
ATI RADEON9550, ONKYO SE-90PCI
Windows98 Second Edition
☆書籍
タイトル 著者 出版社 発行年 「Inside X68000」 桑野 雅彦 ソフトバンク 1992 「Outside X68000」 桑野 雅彦 ソフトバンク 1993 「X68030 Inside/Out」 桑野 雅彦 ソフトバンク 1994 「X68000テクニカルデータブック」 アスキー出版局テクライト アスキー出版局 1987 「M68000マイクロプロセッサ ユーザーズ・マニュアル」 Motorola Inc. CQ出版 1984 「68000プログラマーズ・ハンドブック」 宍倉 幸則 技術評論社 1986 「CZ-600CE 全回路図」 「I/O」 1987年7月号 工学社 1987 「HD68000,HD68HC000 MPU データシート」 日立製作所 日立製作所 1989 「HD63450,HD68450 DMAC データシート」 日立製作所 日立製作所 1989 「トラ技SPECIAL No.11 フロッピ・ディスク・インタフェースのすべて」 藤井 敦、ほか CQ出版社 1988 「非互換ハードウェア用のソフトを実行する‐Windows用X68000エミュレータの仕組み」(Cマガジン2000年7月号) yamama ソフトバンク・パブリッシング 2000 「X68000環境ハンドブック」 吉沢 正敏、市原 昌文 工学社 1989 「RS-232C制御と通信プログラム」(Inside Windows1998年2月号) 柳沢 正明 ソフトバンク 1998 「トラ技SPECIAL No.27 ハードディスクとSCSI 活用技術のすべて」 松村 清明、ほか CQ出版社 1991 「CZ-6BM1A 取扱説明書」 SHARP SHARP 1989 「最新SCSIマニュアル」 二上 貴夫、ほか CQ出版社 1989
☆電子文書
タイトル 発行者 「M68000 8-/16-/32-bit Microprocessors User's Manual」 Motorola Inc. 「MC68HC901 Multi-Function Peripheral User's Manual」 Motorola Inc. 「MK68901 Multi-Function Peripheral」 SGS-Thomson 「SCC/ESCC USER'S MANUAL」 Zilog 「μPD765A/765B Floppy Disk Controller」 NEC 「i82C55A Programmable Peripheral Interface」 Intel 「RP/RF/RJ5C15 データシート」 リコー 「Inside X68000正誤表」 立花えりりん 「ぷにぐらま〜ずまにゅある 第七版第一刷」 立花えりりん 「68000プログラマーズ・ハンドブック正誤表」 Missy.M 「アナログジョイスティックドライバ簡易説明書」 SHARP 「SMALL COMPUTER SYSTEM INTERFACE - 2 (SCSI-2) [ANSI X3T9.2/86-109 Rev.10c] Draft proposed ANSI 「Small Computer System Interface - 2 (SCSI-2) [ANSI X3T9.2 Rev.10L] t10.org
EX68 (X68000 Emulator for Windows95/98/NT/2000) (yamama氏)
Win32で動作するX68000エミュレータ、EX68のページです。
けろぴーのぺぇじ (けんじょ氏)
Win32で動作するX68000エミュレータ、けろぴー(WinX68k)のページです。
WinX68k高速版 (tamu氏)
WinX68kをベースに、高速化などを施したバージョンです。
X68000 Emulator in Java (M.Kamada氏)
Javaで実装されたX68000エミュレータです。Java仮想マシンが動く環境であればOSを問わず、Webブラウザ上でX68000の環境を体験することができます。
co Homepage
XM6をベースに、独自の拡張を施されています。WindrvXMの使用法について詳しい解説があります。
Isaki's Web Page
XM6のNetBSDへの移植を進められています。最新のバージョンではEthernet(Neptune)サポートを独自に追加されているようです。
GIMONSのページ
XM6のW-ZERO3への移植を実験されています。
RetroPC.NET (Molice氏)
X68000のほかX1,FM-7などレトロPC関係のニュースを扱っています。
Info X68k (卓氏)
X680x0関係のニュースや、Human68k v3.0のオンラインマニュアルがあります。
Fountain of GAME!(ざん氏) XM6の導入ガイド、3Dシューティングゲーム「SIONII」の紹介、イメージファイルのダウンロードがあります。
Yokhai's Page (よ〜かい氏)
XM6およびXM7の負荷分散用ダウンロードページを用意していただきました。
MC68000 Maniacs! (Team ENDLESS)
SHARP X68000と OLD Macintosh(SE/30,Classic2)関連の情報を中心に発信しています。