Claude×レトロコンピューティング:QIC-117 テープドライブのエミュレーション

2026/08/25 3:58

Claude×レトロコンピューティング:QIC-117 テープドライブのエミュレーション

RSS: https://news.ycombinator.com/rss

要約

Japanese 翻訳:

86Box エミュレータは、廃棄されたハードウェアのデータを保存するための機能拡張を行い、希少な QIC-117 テープドライブと並列ポート(LPT with EPP)に対応した専用 Iomega Ditto ドライブへのサポートを追加しました。この更新は不可欠であり、現代のシステム上でレトロな DOS や初期の Windows ソフトウェアで作成されたバックアップを復元することを可能にし、結果としてレガシーなストレージ技術を再活性化させます。

これを実現するには、深い技術的解析が必要でした。標準的な QIC-117 互換性を実装すると同時にメーカー固有のコマンドをサポートするため、開発者は実際の Colorado ドライブから ROM チップを抜き取り、Python デイシッスラ(Intel 8051 と Zilog Z8)を使用して分析しました。その結果、Microsoft Backup for Windows 95 や HP Colorado Backup 7 といったツールによる検出に必要な未文書化のコマンドが発見されました。さらに、ユーザーフォーメーション機能が当初備わっていなかった Ditto ドライブに対応するため、画像ファイルを読み取る仮想カートリッジを実装しました。事前フォーマット済みの画像はレポジトリで提供されており、カスタムテープ画像(所望の容量とラベル付き)を生成するための Python スクリプトも用意されており、即時の利用が可能になっています。

今後の開発については FINDINGS.md ファイルに文書化されており、現在のコマンドと、Greaseweazle コントローラーによる生フラックス読み取りなど、潜在的な機能強化が記載されています。この拡張によりエミュレータの有用性が大幅に広がり、Travan や Ditto などの専用フォーマットとの互換性が得られ、標準仕様に支えられていた長期的な重要歴史データのアクセスを確保できるようになりました。

本文

86Box でエミュレートした QIC-117 テープドライブの構築と活用

概要:LLM を活かした非公式な利用法

大規模言語モデル(LLM)の frivolous な利用法の一つとして、**「エミュレートされたテープドライブの構築」**を行いました。

  • 主要ツール: 86Box エミュレータを使用。
    • フロッピーコントローラーに接続された QIC-117 テープドライブをエミュレート可能。
    • パラレルポートに接続したバージョンもエミュレート可能。
  • 実用機能: 実際の DOS や初期 Windows 世代のバックアップソフトウェアを使用し、仮想テープイメージへデータを「バックアップ」作成できるようになりました。

なぜこのプロジェクトが必要だったか?

著者は長年、起動可能なディスクイメージのコレクションを保有し、DOS/Windows/Mac OS/Amiga OS/Unix などのエミュレーションに夢中です。特に86Boxは低レベルで高忠実度なエミュレーターとして愛用しています。

ターゲット:テープメディアとエミュレーションの融合

  • 課題: 「仮想カートリッジを持ち、仮想テープイメージを読み取る」仕組みが不足していた。
  • 現状: 既存のエミュレータでは QIC-80 や QIC-3020 などのテープドライブを実装していない。
  • 目標: バイナリテープイメージをエミュレータ上で読み込ませ、元々のバックアップソフトが実機と通信しているかのように動作させることで**「ループを閉じる」**こと。

デジタル保存の重要性

著者は定期的に QIC テープからデータを復旧・デジタル保存に従事しています。

  • 将来的なメディアへの正確な再現のため、**テープの完全なバイナリイメージ(フラックス遷移レベル)**を取得したいという目的があります。
    • (注:高位階層のデータだけでなく実際の磁気遷移を保存する課題については将来の記事で解説予定)

技術的困難さ:QIC-117 プロトコルとメーカー固有の「トリック」

QIC テープドライブ(例:Colorado 250, Travan)は、フロッピーコントローラー上で QIC-117 という専用プロトコルを使用します。

標準仕様だけでは不十分

  • 単純な実装: QIC-117 の標準仕様に従うと、HP Colorado Backup 7(QBACKUP)のみが正常に動作しました。
  • 問題点: 他の多くのユーティリティは、メーカー固有の「診断」コマンドや非公開のプロトコルを使用します。
    • 例:Windows 95 の Microsoft Backup は、ドライブの種類を特定するために Colorado 独自の処理を試みました。

解決策:ROM チップのディスアセンブル

仕様書に記述されていない動作を実装するために、以下の手順でアプローチしました。

  1. 実機接続監視: 実際のフロッピーコントローラー上の通信トラフィックを解析。
  2. ROM チップの抽出: ドライブ内の ROM チップを外付けし、ROM をディスアセンブル
    • これにより、サポートされている全コマンド(診断ビットを含む)と、仕様に逸脱するカスタムコマンドの詳細を特定可能に。

LLM に頼った開発プロセス

ROM のダンプと PC ボードの写真のみを元に、Claude Opus 5(LLM)に以下のタスクを指示しました。

  • ディスアセンブル実行: ROM を解析し、カスタムコマンドの詳細や仕様との乖離を提示。
  • 出力成果物:
    • A FINDINGS.md
      :ドライブがサポートする全コマンドの詳細分解表。
      • 読み込み不可能だったテープを読み込める手法の記述。
      • Greaseweazle(カスタムコントローラー)を使用し、生フラックス遷移を読み込むための方法を含むデジタル保存ガイドの記述。
    • ディスアセンブラコード:
      • Intel 8051 プロセッサ用(メイン IC)。
      • Zilog Z8 プロセッサ用(他ドライブ採用モデル)。

これにより、86Box で動作する QIC-117 ドライブに必要なピースが全て埋まりました。

パラレルポート版のサポート実装(EPP)

完結性を高めるため、パラレルポート(EPP 規格 LPT ポート)へのサポートも追加しました。

  • エミュレート対象: Iomega Ditto ドライブ
    • 内部構造は QIC-117 ですが、MicroSolutions 社製「Backpack」プロトコルチップを搭載。
  • 互換性の特徴:
    • 第一世代の Ditto カートリッジだけでなく、以下のメディアも読み込めます。
      • Travan
      • QIC-3020
      • QIC-2080(最小容量)
    • これらすべてのメディアは、86Box 内でエミュレートされたカートリッジとして動作します。

プリフォーマットイメージのリポジトリ作成

  • ** peculiar な仕様**: Ditto カートリッジは出荷時プリフォーマットされており、ユーザーが空のテープからフォーマットする方法はありませんでした。
  • 提供ソリューション: ダウンロードして利用可能なプリフォーマット済みテープイメージのリポジトリを作成。
    • Python スクリプトを同梱し、希望する容量とカスタムラベルを設定して自身のテープイメージを生成可能です。

※楽しんでください!

同じ日のほかのニュース

一覧に戻る →

2026/09/01 6:10

Google はChrome ウェブストアから MV2 拡張機能を削除し、UBO も含まれます。

## Japanese Translation: Google は、Chrome ウェブストアからすべての Manifest V2 拡張機能の削除を公式に完了し、Manifest V3 への業界全体での大きな移行の最終段階となりました。この決定的な動きは、Google が旧形式と比較してより優れたセキュリティ、プライバシー、パフォーマンスを提供すると主張していることを背景に、Manifest V3 を新基準として確立しています。Chrome バージョン 138 以前のバージョンを使用するユーザーは既存の拡張機能を利用し続けることができますが、ストアから更新を受け取ったり再インストールしたりすることは事実上不可能になっています。この移行は既に uBlock Origin などの人気ツールに影響を及ぼしており、中央集権的なストアからの配布に依存している開発者も影響を受けています。Chrome ウェブストアは Chromium ベースのブラウザの主要なマーケットプレイスであるため、この変更は Brave などの他のプラットフォームにも影響を与えています。Chromium を使用しないブラウザは現在、Google の一元化されたストアではなく独自のバックエンドで特定の拡張機能ホストしなくてはならないため、Brave は Chrome ウェブストアからの削除にもかかわらず、AdGuard、uBlock Origin、uMatrix、NoScript の 4 つの Manifest V2 拡張機能を独自のバックエンド上で引き続きホスティングすることで機能を維持する決断をしました。これらの拡張機能は Brave 内で簡単に有効化できるよう残っていますが、Chromium ベースのブラウザ向けに Chrome ウェブストアで発見可能でもインストール可能でもありません。さらに、Google は影響を受けた拡張機能開発者に対してこれらの削除について通知を行いました。最終的に、デジタル広告とツール分野の景観は、エコシステム全体のユーザーにとって一部の拡張機能の機能を制限する必要があるとしても、より厳格なセキュリティ制御を優先する新しいモデルへと進化しています。

2026/09/01 1:47

セキュリティカメラを自動的な鳥類識別システムに変えました

## Japanese Translation: BirdNet-Go は、既存のセキュリティカメラや RTSP ストリームからのローカル音声分析により、鳥、コウモリ、カエルその他の野生生物を特定するためのセルフホスト型リアルタイム AI システムです。クラウドへの依存なしに動作し、Docker で実行され、Raspberry Pi ハードウェアとも互換性があります。该系统はマルチモデルのローカル推論を活用しており、Google Perch v2(最大 14,795 の種を検出可能)を含むものであり、前世代のモデルに比べて大幅に能力が拡張されています。利用者は標的動物に対して特定のアラートルールを構成でき、新規種の個体が行き来した際に MQTT を経由して Discord または Home Assistant に即時通知を受け取ることができ、これにより庭の生物多様性を効果的に追跡できます。ソリューションにはオプションの iOS 準拠アプリ("BirdNET-Go Companion")が含まれており、リモート視聴に対応し、BirdWeather と連携してコミュニティでのデータ共有が可能となっています。また、カメラ配置を最適化するための視覚的音声レベル分析機能も備えています。プライバシー保護策として、検出された話声中はマイクロフォン入力自動的に遮断され、RTSP フィードを提供するドアベルカメラへの対応も可能ですが、スタンドアロンのビデオドアベルとしては利用できません。コウモリの検出は専用のマイクロフォンを使用することでより高精度となりますが、该系统単独でも南カリフォルニアだけで 418,000 以上の検出イベントと 270 種を超える独特な種の記録に成功しており、平均的な信頼度は約 61% です。GitHub 上にオープンソースプロジェクトとして公開されており、安価な機器を利用した住宅所有者や研究者が生態モニタリングを行うことを民主化しています。

2026/08/28 18:17

動悸を止めてしまうような「狂った蜂蜜」がネット上で販売されています。

## Japanese Translation: 最も重大な危険は、ヒマラヤの崖蜂(*Apis laboriosa*)から採取される「狂ったハチミツ」を、その伝統的な聖なる文脈の外で摂取することにあります。それはグラニートキシンを含んでおり、これは心筋の電気信号への干渉を引き起こし、30〜60 分のうちに危険なほど心拍数と血圧が低下させる自然毒です。かつてネパールガンダキ州の先住民族であるグルング族は特定の儀式のために安全に収穫を行ってきましたが、この専門知識は薄れつつあり、ハチミツは世界的にオンラインで販売されながら、医薬的用量と毒性用量の間にある狭い限界についての十分な警告がないままです。研究者は 1976 年から 2026 年の記録を調査し、2009 年以降の事例を文書化した 27 つの公開論文を特定しました。中毒者の約 72% は中高年の男性で、高血圧や性功能障害への家庭療法として意図的にハチミツを摂取しました。中毒症例はロドデンドロンの花が咲く春に鋭く集中し、年間を通じて最も高い毒素濃度を示します。2013 年以降、韓国やフランスなど国外で発生した事例は診断上のギャップを浮き彫りにしており、患者が摂取を明かさない場合、医師が毒物に不慣れなために治療が遅れることが多くあります。ほとんどの患者は、静脈内補液とアトロピン薬物療法後に 1〜2 日以内に回復しますが、ネパールにおいてこのハチミツを摂取した死者の報告はありません。即時の健康上の脅威に加え、業界は国際プラットフォームにおける安全面の欠陥に苦しんでおり、「狂ったハチミツ」はキロ当たり数百米ドルで販売されています。また、これを産出する蜂は過剰収穫、生息地の破壊、気候変動の影響を受け、個体数が減少しており、人間の安全と種の保全という二重の危機を生み出しています。