X68000Zセットアップガイド – 実機との共用から消費電力対策まで

X68000Zセットアップガイド – 実機との共用から消費電力対策まで

X68000Zセットアップガイド – 実機との共用から消費電力対策まで

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ポートとして利用できそうなので、汎用的な拡張ポートとして活用が広がりそうです。

ただし、ディスプレイについては、スクエアディスプレイでの画面表示には、改善の余地があります。また、キーボードについては、日本語キーボードだけではなく、英語キーボードへの対応や、特殊キーコード仕様の公開が望まれるところです。