X68000Zとは、瑞起さんが手掛けるX68000のエミュレータです。EAK(EARLY ACCESS KIT)[1]発表の時点では活用方法が思い付かずに見送ってしまいましたが、v1.3.1で(擬似)SCSI対応[2]との情報があり、「実機と共用(もしくは移行)できるのでは?」と思いつき、今回、製品版[3]を予約購入してみました。
購入してから1週間ほどの評価ですが、結論として、X68000Zはその(擬似)SCSI対応により、実機とのデータ共有が可能となり、レトロゲーム愛好者や開発者に新しい選択肢を提供する製品に思えます。
一方で、キーボードやディスプレイの選定、消費電力の対策など、セットアップにはいくつかのポイントが存在します。また、X68000Zの特殊キーに関する仕様は、今後の公開が望まれるところです。これらについて、順を追って説明します。
STEP0: 機材の準備
今回は、漏れ伝わるEAKコミュティの雰囲気[9]もあり、まずは無難なスターターパックの購入を選択しました。専用ディスプレイや専用キーボードの仕様は公開されていないながらも、まずはコンプリートパック相当とするため、手持ちの機材で準備を進めました。
- HDMI対応ディスプレイ
- 5V/3A(15W)以上のUSB電源アダプタ
- USBキーボード (日本語)
- USBマウス
なお、ファームウェア更新にはSDカードが必要です。最終的には、今回の目的である、X68000実機とのフロッピーおよびハードディスクのイメージ共用、消費電力の対策として、以下の機材の追加となりました。
- USBメモリ or SSDメモリ (FAT32フォーマット)
- SDカードリーダー
- USBハブ (セルフパワー)
ちなみに、Windows標準では32BG以上のUSBメモリはFAT32フォーマットできず、別途フォーマットツール [8]を利用する必要がありますので、32GB以下の準備が簡便です。また、今回の動作検証は、購入後、公開されていた最新版のファームウェアVer.1.4.0を適用後に実施したものです。
STEP1: ディスプレイの選定
X68000Zのディスプレイ出力仕様は、最大解像度が768x512で、HDMI 720Pに拡大して出力されます。結論としては、一般的なワイドディスプレイでは横長に拡大した表示となり、スクエアディスプレイでは期待した表示には至らないケースもあります。
X68000Zのディスプレイ仕様
X68000Zの仕様書ディスプレイ出力の仕様は、公式マニュアル[2]に以下のように記載されています。
- X68000側の出力解像度は768x512までです。それ以上の解像度が設定された場合は正常な描画が行えません
- フレームバッファサイズを768x512 とし、HDMI720P出力時にDEのスケーラで972x648に拡大して表示
- 上下それぞれ 5 % のセーフティーゾーン設定
横幅(972/768)、横幅(648/512)ともに1.26倍の等倍のスケールアップ、最終的な出力はアスペクト比3:2(=972/648=1.5)から、720Pの16:9(=1.78)への変換となります。
◯ ワイドディスプレイ出力例 (HDMI接続)
現状、一般的なワイドディスプレイは、16:9のアスペクト比となりますが、X68000Zからは720P(1280x720)出力を表示させると、以下のような画面表示となります。
画面としては、アスペクト比3:2から720Pの16:9への変換となりますので、横長な感はありますが、X68000のディスプレイとしては、違和感は少なく、十分な表示領域となります。
△ スクエアディスプレイ出力例 (HDMI-DVI接続)
ワイドディスプレイは、やはり横長になりますので、手持ちのスクエアディスプレイ(I/Oデータ LCD-AD192SED)に接続してみましたが、ちょっと期待外れでした。最大表示解像度1280×1024のディスプレイですが、1280x720の画面がセンタリングして表示されます。
できれば、画面いっぱいに表示させたいところですが、X68000Z側、ディスプレイ側のいずれも調整はできないようです。試しにHDMI-VGA変換アダプタを使ってみましたが、VGA経由の入力でも画面いっぱいまでの調整はできませんでした。
STEP2:キーボードの選定 (省電力なものを)
公式のマニュアル[2]や取扱説明書での明記はありませんが、基本的には日本語キーボードのみの対応でした。さらに、直接接続して利用できるキーボードが消費電力が低いものに限定される点と、選択肢が広い英語キーボードへの対応や、特殊キーコード仕様の公開が望まれるところです。
X68000Zで利用できるキーボード
最初は、手持ちの日本語キーボードが使えるだろうと思っていたのですが、認識がキーボードによっては、かなり不安定です。結果的には、セルフパワーのUSBハブを経由して、キーボードを接続することで、いずれも安定して認識するようになりました。以下、参考までに確認したキーボドのリストを示します。
測定はできていませんが、おそらく消費電力の問題でしょう。NUMLOCKなどのステータスLEDや、CAPキーが点灯するキーボードは、必要な電力が供給されているか確認しやすいので、お勧めです。
◯ 直接接続が可能なキーボード
消費電力の課題は、レトロコンピュータ実機向けに販売されている、USBキーボードコンバータなどでも発生する問題です。以下のような簡素な有線キーボードや、電池式の無線キーボードは、安定して動作しています。
◯ USBハブ経由で接続可能なキーボード
FILCOのMajestouch2系(フルサイズ・テンキーレス)は、X68000Zのバスパワーでも比較的安定して動作しています。ただし、時折認識されない場合がありますので、セルフパワーのUSBハブ経由の接続がお勧めです。その他、Keychron系(K4/K5SE)はやや不安定寄りで、認識されない場合も多いです。
× 英語キーボードへの対応
X68000Zは、日本語キーボードのみの対応となっています。現状は、セットアップユーティリティにキーボード種別の選択肢はありません。接続は可能なものの、コロン(:)キーなどは、キーキャップの刻印が異なるため、やはり使いにくさがあります。
可能であれば、X68000Zでこそ、お気に入りのキーボードを使いたいものです。英語キーボードは選択肢が多いので、今後のアップデートで対応してもらえると嬉しいところです。
× 特殊キーアサイン仕様の公開
ただ、英語キーボードを利用している最中に、カナロック状態になって、復旧できなくなったことがありました。日本語キーボードにも変更して、キーの組み合わせや、再起動など、色々と試してみましたが、カナロックを解除することができませんでした。
最終的には、X68000Zの「Setup Utility」で初期化(Factory Reset)して復旧できましたが、一般キーボードでも特殊キーはアサインされている可能性があります。現状、確認した限りでは、特殊キーのバインディングについては公開されていないようですが、今後の公開が望まれるところです。
× 特殊キーコード仕様の公開
また、通常の日本語キーボードが利用できることから、X68000Zの専用キーボードも、従来のX68000のキーコード体系ではなく、一般的な日本語キーボードに特殊キーを拡張した仕様と推測されます。最近は、QMK/VIAなどプログラマブルなキーボードも増えてきているので、X68000Zの特殊キーコードの公開が望まれるところです。
STEP3: FDイメージの設定
X68000Zのフロッピーディスクイメージ(FDイメージ)は、XDF形式のみのサポートとなります。基本的に、ノンプロテクトのフロッピーディスクイメージに限定されますが、既存のX68000のフロッピーイメージを利用することができます。
FDイメージの仕様
公式マニュアル[2]では「フロッピーディスクイメージ(XDF 形式のもの)」のみ対応との事です。XDF形式は、以下の注意点とともに記載されています。
- ファイルサイズが 1,261,568 bytes 未満のファイルは正当なイメージとして扱われず読み込み動作が行われません
X68000は標準フォーマットは、当時の9801などでも採用されていた一般的な仕様[5]であり、合計として1,261,568(2778*1024)バイトとなります。
- ヘッド数: 2
- トラック数: 77
- セクタ数: 8
- セクタサイズ: 1024
XDF形式は、拡張子名こそ付いていますが、トラック0から順番にセクタ情報を保存した、いわゆるメタ情報のヘッダなどが含まれない、単純なRAW形式なイメージとなります。
◯ FDイメージの作成 (ブランクディスク)
X68000ZのXDFのFDイメージについては、ブランクディスクの作成のために、公式マニュアル[2]に以下のように記載されています。
- SD カードのライトプロテクトが無効かつファイルサイズが0bytesの場合は例外的にブランクディスクとして扱います。
- ブランクディスクは Human68k の fomatコマンドでフォーマットしてから利用してください。
macOSやLinuxであれば、以下のようにしてtouchコマンドにてブランクディスクを作成することができます。
touch x68-blnk.xdf
このファイルをX68000Zでマウント後、formatコマンドでフォーマットすると、1,261,568バイトのフォーマット済みファイルに更新されます。
◯ FDイメージの作成 (既存ディスク)
手持ちのX68000のFDディスクを利用する場合には、フロッピーディスクが利用できるPC[5]や、FDX68[6]のようなフロッピーディスクコントローラーで、フロッピーディスクのイメージをXDFファイルとして取得することができます。
Linuxの場合には、以下のように、setfdprmでX68000は標準フォーマットを指定して、ddrescue[5]でフロッピーディスクのイメージを取得するのが安全でしょう。
X68000のフロッピーディスクには、setfdprmで「hd ssize=1024 head=2 sect=8 cyl=77」を指定し、ddrescueでイメージを取得します。試しに、X68000付属のグラディウスのフロッピーディスクをダンプしてみました。
経年劣化や保存状況の心配をよそに、エラーは全く発生せずにダンプが成功しました。ファイルサイズは規定の1,261,568バイトです。公式マニュアル[2]に従って設定すると、実機のフロッピーディスクも問題なく起動できました。
STEP4: HDDイメージの設定
X68000Zはバージョン1.3.1でPseudo SCSIをサポートし、USBメモリに置かれたSCSIハードディスクイメージ(HDSファイル)を使用可能となりました。既存のX68000のHDDイメージの利用は確認できましたが、現状では利用できるイメージに制限があり、MOディスクの認識には課題があるかもしれません。
Presudo(擬似)SCSI対応とは?
X68000Zは、v1.3.1でPresudo(擬似)SCSI対応[2]から対応となり、今回の購入の契機となりました。Pseudo SCSIの仕様については、公式マニュアル[2]に以下のように記載されています。
- Pseudo SCSIはUSBメモリに置いたSCSIハードディスクイメージ(HDSファイルをX68000Zで使えるようにするための機能拡張です。
- SCSI ID0〜7(本体IDを除く)に1つのファイル(各ファイルはパーティション15個までを指定することができます。
- SCSI IOCSのサブセットを実装した、互換SCSI IOCS ROMを内包しており、外付けSCSIカードのように振る舞います。
- Human68k ver.2.0以降がSCSIをサポートしています。
Presudoの意味合いは、SCSI機器への対応ではなく、SCSIハードディスクのイメージを読み書きのみの対応との意でしょうか。
HDDイメージの仕様
X68000ZのPseudo SCSI機能で取り扱えるHDDイメージの仕様は、公式マニュアル[2]に以下のように記載されています。
- SCSIハードディスクイメージ(HDSファイル)をX68000Zで使えるようにするための機能拡張です
- 現在は512バイト/ブロックのハードディスクファイルのみをサポート
- 最大ファイルサイズは USBメモリがFAT/FAT32のみサポートのため、4GB未満となります
HDSは、X68000エミュレータであるXM6でのHDDイメージのフォーマットですが、フロッピーのXDF形式と同じく、いわゆるヘッダ情報などを含まないRAW形式なイメージとなります。
◯ HDイメージの入手 (ブランクディスク)
ブランクのHDDイメージについては、システムファイルが含む以下のHDDイメージが、公式サイト[4]より入手できるため簡便です。
- SCSIHDD.HDS (1GB)
- SCSIHDD81M.HDS (81MB)
X68000Zの性能では問題にならないかもですが、FATベースのSCSIハードディスクエミュレーター全般に言えることですが、HDDイメージのサイズが大きいと、読み書きのパフォーマンスが低下する傾向があります[7]。もし、容量的に問題ないのであれば、81MのHDDイメージを利用することをお勧めします。
◯ HDDイメージの作成 (既存ディスク)
X68000も含めて、MacやTownsなどSCSI対応のレトロ機種は、SCSIエミュレーター[7]で運用しており、X68000ZもSCSIエミュレーターを搭載しています。SCSIエミュレーターは、SCSIハードディスクのイメージを読み書きすることができるので、X68000Zに移行する際には、SCSIハードディスクのイメージをX68000Zに転用することができます。
HDSもRAW形式のため、FDと同様にddrescue[5]でイメージを取得します。今回は、損傷のないコンパクトフラッシュメモリのため、エラーなく取得できました。
もし、物理的なHDDドライブの場合には、損傷も想定されるのでddrescue[5]で根気よくイメージを取得してみるのが良いでしょう。
◯ HDDイメージの設定
今回は、HDDイメージの格納先として、USBメモリと、SSDディスクを試してみました。確認してみた限りでは、USBメモリ、SSDディスクともに直接接続しても、キーボードのような不安定さはありませんでした。ちなみに、Windows標準では32BG以上のUSBメモリはFAT32フォーマットできないので、別途フォーマットツール [8]を利用する必要があります。
ただ、X68000Zと同じく5V/3A(15W)のUSB電源アダプタを主電源とする、より消費電力の大きいであろうRaspberryPi4では、SSDディスクを直接接続すると明らかに不安定になります。そのため、X68000Zでも、安全な電力供給のために、USBハブを経由することをお勧めします。
公式の手順に従って設定すると[2]、SCSI0がBOOTデバイスとして設定され、USBデバイスから起動するようになります。
また、初期設定では、起動が「X68000 Z Launcher」になっているので「X68000 Emulator」を設定すると、より実機の感覚に近づきます。
△ MOイメージの設定 (番外編)
ここからは番外編ですが、MOディスクを認識できるか確認してみました。結論としては、完全には認識できず、現状のX68000Zの制限事項に関連しているのかもかもしれません。なにぶん、元MOディスクについては、うろ覚えのことが多いので、参考程度にして下さい。
微かな記憶として、起動ディスクとして、システムをインストールしていたMOがあったので、探してみました。また、FAT16形式のMOファイルがあったので、試しに2枚ともddrescueでイメージを取得してみました。
ddrescueで取得する段階ではエラーは発生しなかったのですが、取得したイメージを起動ディスクに設定してみると「ディスクから起動できません」と表示され、正常に起動できませんでした。ただし、ファイル構造は、ある程度(?)認識されているようです。
確かに、ディスクの中身を確認してみると、システムファイルがなく「DIRDTOP.SX」のファイルしか存在しない状態でした。実機では起動していたイメージですが、現状の Presudo(擬似)SCSIの制限[2]に関連して、認識されていないのかもしれません。ちなみに、FAT16形式のMOファイルは、X68000Zでは認識されませんでした。
X68000での標準MOフォーマットについては他機種交換に課題があり、なにかしら別のフォーマッタを利用して、起動のためMOドライブはHDD互換(抜き差しできない)に設定した覚えがあります。
状況としては、MOのFAT構造が最初の方しか認識されていない感じです。ただし、不確かな記憶しかないので、今となっては原因が思い当たりません。時間があったら、MOイメージファイルの形式など、もう少し調査してみようと思っています。
最後に - 今後への期待
今回、X68000Zに既存のフロッピーディスクおよびSCSIハードディスクのイメージを利用することができました。X68000は、レトロコンピューターの中でも、電源に起因する故障が多い機種です。また、ディスプレイの準備、キーボードやマウスの老朽化も考えると、起動するには、かなりのハードルがあります。
X68000Zであれば、電源やディスプレイ、キーボードなどは、現在市販されている機器が利用できます。消費電力の課題からか、USBハブ経由での接続がお勧めですが、手持ちのUSBキーボードやマウスも利用できます。また、フロッピーディスクやSCSIハードディスクのイメージを利用することで、X68000実機との共用も可能です。
またUART通信ケーブルについては、実機と同じくRS-232Cポートとして利用できそうなので、汎用的な拡張ポートとして活用が広がりそうです。
ただし、ディスプレイについては、スクエアディスプレイでの画面表示には、改善の余地があります。また、キーボードについては、日本語キーボードだけではなく、英語キーボードへの対応や、特殊キーコード仕様の公開が望まれるところです。
- [1] X68000 Z LIMITED EDITION EARLY ACCESS KIT - 株式会社 瑞起
- [2] X68000 Z - X68000 エミュレータ1.3.1
- [3]「X68000 Z」製品版は9月発売 ブラウン管を模した5インチモニターも - ITmedia NEWS
- [4] X68000 Z - ソフト一覧 - ZUIKI コミュニティ
- [5] Linuxにおけるメディア保存・復旧ツールの使い方 (ddrescueとfdutils) - CyberGarage (Retrocomputing)
- [6] FDX68コントローラー環境整備とディスクドライブ設定 - CyberGarage (Retrocomputing)
- [7] SCSIハードディスクエミュレーター性能比較 - CyberGarage (Retrocomputing)
- [8] I-O DATA ハードディスクフォーマッタ | サポートライブラリ | IODATA アイ・オー・データ機器
- [9] X68000 Z 不具合報告一覧 - Google スプレッドシート