実機との共用から消費電力対策までskonno2023-10-07X68000Zとは、瑞起さんが手掛けるX68000のエミュレータです。KIT)[1]発表の時点では活用方法が思い付かずに見送ってしまいましたが、v1.3.1で(擬似)SCSI対応[2]との情報があり、「実機と共用(もしくは移行)できるのでは?」と思いつき、今回、製品版[3]を予約購入してみました。購入してから1週間ほどの評価ですが、結論として、X68000Zはその(擬似)SCSI対応により、実機とのデータ共有が可能となり、レトロゲーム愛好者や開発者に新しい選択肢を提供する製品に思えます。一方で、キーボードやディスプレイの選定、消費電力の対策など、セットアップにはいくつかのポイントが存在します。X68000Zの特殊キーに関する仕様は、今後の公開が望まれるところです。これらについて、順を追って説明します。今回は、漏れ伝わるEAKコミュティの雰囲気[9]もあり、まずは無難なスターターパックの購入を選択しました。専用ディスプレイや専用キーボードの仕様は公開されていないながらも、まずはコンプリートパック相当とするため、手持ちの機材で準備を進めました。ファームウェア更新にはSDカードが必要です。最終的には、今回の目的である、X68000実機とのフロッピーおよびハードディスクのイメージ共用、消費電力の対策として、以下の機材の追加となりました。[8]を利用する必要がありますので、32GB以下の準備が簡便です。今回の動作検証は、購入後、公開されていた最新版のファームウェアVer.1.4.0を適用後に実施したものです。720Pに拡大して出力されます。結論としては、一般的なワイドディスプレイでは横長に拡大した表示となり、スクエアディスプレイでは期待した表示には至らないケースもあります。X68000Zの仕様書ディスプレイ出力の仕様は、公式マニュアル[2]に以下のように記載されています。X68000側の出力解像度は768×512までです。(ddrescueとFdutils)skonno2022-11-03Linuxでは、損傷が想定されるレトロコンピューターのハードディスクやフロッピーディスクを取り扱うのに便利な、ddrescue[1][2]とFdutils[3]コマンドが提供されています。今回は、ddrescue[1][2]とFdutils[3]を活用する上で必須となるパラメータや、補助スクリプトとなるFdutils-aux-jp[12]を紹介します。UNIXの標準的なディスク複製のコマンドとしてはdd[5]があります。ddは正常なデバイスには有効ですが、不良セクタによる読み取りエラーが発生が想定されるデバイスへの想定が不十分[6]であり、損傷が想定されるレトロコンピューターのハードディスクやフロッピーディスクのバックアップ、リストアには不適切です。GNUのddrescue[1][2]は、デバイスの読み取りエラーを前提としたコマンドであり、不良セクタに対しての再読み込みやディスク損傷に対してアルゴリズムが最適化されています[1][2][6]。基本的にddの上位互換として利用できるため、物理やSCSIエミュレーターのハードディスクのバックアップやリストアにはddrescueを定期的に利用しています。ddrescueには豊富なコマンドラインオプション[1][2]がありますが、ここではレトロコンピューターのデバイスを対象にする上で、有効なオプションについて列記します。rオプションは不良セクタが正常に読み取れるまでの再試行回数で、-1を指定すると成功するまで再試行を続けます。標準(無指定)での試行回数は0ですので、目的に応じて、適切に設定したいパラメーターです。フロッピーディスクが対象の場合には、ディスクドライブ側を損傷を与えるような可能性がない(例:カビがない)場合、再試行により読み取れる可能性もあります。極端に言えば、再試行回数を無制限(-1)にして一晩寝て待ってみても良いでしょう。ハードディスクが対象、特に異音がしている場合には、物理的な故障の可能性も高いため、指定する再試行回数は考慮すべきです。ある程度妥当と思われる回数を設定して、ddrescue完了後に各プラットフォームのディスク修復プログラムを実行します。dオプションは、直接デバイスにアクセスすることにより、復元率の向上を目的とします。ddrescueはデバイスのセクタサイズを認識できないため、後述するbオプションの指定が合わせて必要です。対象デバイスの管理データの最小単位であるセクタサイズを指定します。1024)を指定します。レトロコンピューターにおいても、SCSIなどの標準的なハードディスクデバイスは、ddrescue単体で運用できます。フロッピーディスクにおいては、IBM-PC標準以外は、基本的にメディア情報の指定が必要です。Fdutils[3]はLinuxでのフロッピーディスク関連ツールを集めたパッケージであり、その中にフロッピーディスクコントラーを制御するsetfdprmコマンドが含まれています。ddrescueをフロッピーディスクで利用するには、このsetfdprmでのパラメータ設定の併用が必要です。海外の主要機種においては、Fdutilsと一緒に配布されている「/etc/mediaprm」で定義済のため、setfdprmで簡易的な指定が可能です。残念ながら、日本のレトロコンピューターについては、一部の機種(FM-8/16など)しか含まれていません。従って、日本のレトロコンピューターにおいては、より詳細なパラメーターを直に指定する必要があります。以下に、日本の主要なレトロコンピューターでの標準的なフォーマットを取り扱うために必要な、setfdprmのパラメーター一覧を示します。Duo世代の機種が、アップグレードの動作要件[1]を満たさない機種となってしまいました。Duo世代の古い機種が廃棄されず、今だにに中古で流通する背景にもなっていました。10も2025年10月でのサポート終了[8]の期限が設定され、近い将来には、FDDインターフェースを有する旧機種が急速に市場から消え廃棄される懸念も出てきました。20.04LTS[9]などでは32bit版の提供が終了し、64bit版を快適に動作させるるハードウェア要件も厳しくなってきているため、いったん現状を整理してみました。最初に、機種の選定です。iプロセッサ辺りが最後の世代となります。注意点としては、この世代の対応FDD台数は(かつての標準的な)2台構成ではなく、1台に制限されています。言え、最近の64bit版のWindowsやUbuntuの動作や、性能や消費電力を考慮すると可能な限り最新の世代の機種を選定したいところです。Duoの世代の機種は一番の狙い目かと思います。前述のようにこの世代のPCは、FDDインターフェイスが1台までのため、物理機とエミュレータの運用も併用もあり、現在は複数台で運用しています。最近の機種はカバー開閉やドライブの固定にはドライバーが不要に簡素化されたものの、やはりドライブの交換は面倒なため、複数台での運用が簡便です。現在稼働でしている機種一覧と注意点を以下に示します。moreFDDFDX68コントローラー環境整備とディスクドライブ設定skonno2021-10-10FDX68は、GIMONSさんが個人で開発しているRaspberryPiをホストするフロッピーディスクドライブエミュレータ兼コントローラです。FDX68にはコントローラー機能があるため、PCやレトロパソコンのホストなしでフロッピーディスクの読み込み環境が構築できます。FDX68をコントローラーとして、動作確認したフロッピーディスクを記載します。今回は、レトロパソコン本体付属のドライブではなく、PC/AT互換機やPC98向けの、現在でも中古で入手可能なディスクドライブで、いくつか動作確認をしてみました。FDX68のモニターレスの環境を整備します。Liteでの利用を推奨しており、コマンドラインベースの操作となります。Piのモニターレス・キーボードレスで運用環境を構築します。最近のRasbianでは、初期設定でmDNSが有効になっています。mDNSはZeroconfのプロトコルでマルチキャストでノードの発見が可能です。リモートアクセス運用のため、raspi-configでSSHの有効化と、覚えやすいホスト名を設定します。mDNSはAppleのmacOSは元より、最近のWindows10でもサポートされているため、設定したホスト名(fdx68など)へSSHでのアクセスが可能になります。パスワードレスのアクセスのためにSSHの公開鍵認証設定や、scp主体の運用でない場合には、NFSサーバーの設定も便利かもしれません。その他、RaspberryPiのモニターレス運用に便利な設定は、以下の公式資料を参照して下さい。