
2026/01/23 19:39
「ビニールレコードから起動(2020)」
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
64 KB ROMベースのRAMディスクイメージを格納したビニールレコードから起動できるヴィンテージIBM PCがあります。
ローダーはBIOS拡張ソケットに配置されたEPROM(2364または2764)またはマザーボード上に直接置かれ、PCのカセットインターフェース—出力にはPCスピーカータイマーチャネル 2、入力には8255A‑5 PPIポートCビット 4を使用してレコードプレイヤーからオーディオを読み込みます。
ローダーはBIOS INT 15hルーチンを呼び出し、データストリームをメモリに復調します。
起動イメージ(BOOTDISK.IMG)にはFreeDOS、最小限のCOMMAND.COM、およびケーブル経由でファイル転送するためにパッチされたINTERLNKプログラムが含まれています。
オーディオは5150CAXXプロトコルを使用してレコード旋盤でカットされ、その後、MMフォノプレアンプ付きのヴィンテージHarman & Kardon 6300アンプで再生されました。トレブルは–10 dB/10 kHzにカット、ベースは+6 dB/50 Hzでブーストされ、音量は約0.7 Vピークに設定されました。
レコードのRIAAイコライゼーションには再生中の歪みを避けるために手動信号補正が必要でした。
カセットモデムはわずかなワウ(±2–3 %)と速度変動を許容しますが、データストリームを破損させるポップ音、クラッカリング、またはモジュレーションドロップアウトのない状態である必要があります。
EPROMローダーのバイナリ(著者サイトから入手可能)と起動ディスクイメージ(BootLPT/86記事にリンク)はダウンロードでき、同様のPC上でこのアナログブート方式を再現または適応することが可能です。
この改訂版はすべての重要ポイントを保持し、元のテキストに存在しない推測情報を削除し、読者にとって明確かつ正確な要約を提示します。
本文
10インチレコードで64 512バイトのDOSブートディスクを起動(45 rpm、再生時間 06:10)
2022年2月更新:IBM PCjr 上でも同じビニール RAM ディスクがブートできることをご覧ください!
この風変わりな実験は、PC(具体的には IBM PC)を直接レコードプレーヤーに接続し、アンプを介して起動させます。私は PC の「カセットインターフェース」を操作する小型 ROM‑オン・チップブートローダーを作成しました。この機能はほとんど使われることがありませんでしたが、BIOS はフロッピーディスクやハードディスクが失敗した場合にこのローダーを呼び出します。
レコードプレーヤーは、64 k の小さなブート可能な読み取り専用 RAM ドライブのアナログ録音を再生します。内容は以下です:
- FreeDOS カーネル(メモリ制限に合わせて改造)
- COMMAND.COM のミクロ版
- プリンタケーブル経由でファイル転送が可能なパッチ版 INTERLNK(FreeDOS 上でも実行可)
ブートローダーはカセットモデムを介して音声録音からディスクイメージを読み取り、メモリへロードし、システムを起動します。簡単でしょう?
ビニールローダーコード(ROM 版)
(ハードドライブやフロッピーに置くことも可能ですが、それは「チート」です。)
さらに技術的な詳細です:これは基本的に BootLPT/86 と 5150CAXX を統合したものに、プリンタポートサポートを除いた形です。BIOS 拡張ソケットに ROM で配置されますが、必須ではありません。PC とレコードプレーヤーアンプ間の接続ケーブルは 5150CAXX と同じで、ラインイン(PC データアウト)ジャックだけを除いた構成です。
「カセットインターフェース」は以下を使用します:
- PC スピーカータイマチャンネル2 を出力に
- 8255A‑5 PPI ポート C チャネル4(PC4、I/O ポート62h ビット4)を入力に
BIOS INT 15h ラウトインがソフトウェア的な (de)モデュレーションに使用されます。
ブートイメージは BootLPT 記事の下部にある同じ 64 k BOOTDISK.IMG “example” RAM ドライブです。これを IBM カセットテーププロトコル準拠の音声信号へ変換し、5150CAXX を使ってレコードカッティングラウンドに直接送ります。
ビニールは RIAA 等化曲線で切り取られますが、再生時にはプレアンプが通常逆転させるため完全ではありません。音量調整を行わずにフォノプレンプからライン出力をそのまま使うと動作しなかったので、以下のように修正しました(Vintage Harman & Kardon 6300 アンプ+MM フォノプレップ):
- 10 kHz の高域を –10 dB に減衰
- 50 Hz の低域等化を ≈ +6 dB 増幅
- ボリュームレベルを ≈ 0.7 V ピークに抑え、歪みを防止
フェーズと音量補正はすべてオフの状態で行いました。
カセットモデムは信号源がどこから来ても構いません。録音は純粋である必要があります:ポップやクリッカー(ビニール)やモジュレーション/周波数ドロウト(テープ)がないことが重要です。多少のウオウは許容され、速度は ±2–3 % まで変動可能です。
ROM 版ブートローダー(EPROM 推奨)
ここで紹介する 2364 チップ用に設計されたブートローダーのバイナリは、2764 をアダプタ経由で使用できます。IBM 5150(モノクロ画面)と最低512 kRAM が必要です――私のセットアップと偶然一致しています。
ブートディスクイメージは BootLPT/86 記事の下部にあり、ここではそのアナログ版を直接ギャップから取得できます。