
2026/10/16 8:22
BeBox は、Haiku アプリケーションであり、Be Inc. の BeBox を模倣するものです。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
BeBox は、現代的なコンピュータ上で PowerPC アーキテクチャ向けの BeOS を動作させる Hobbit プロトタイプや旧型 Be Inc. ハードウェアのエミュレーションを行う、オープンソースの Haiku アプリケーション(MIT ライセンス)であり、可移植な C++17 で開発されています。このエミュレータは、2 つの特定のデュアルプロセッサ構成の BeBox モデル(603 @ 66/133 MHz)と AT&T 92010 プロセッサを搭載した Hobbit プロトタイプをサポートしており、MPC105 ブリッジや特定のビデオ/オーディオチップ、さまざまなコントローラーといった詳細なハードウェアを再現します。ただし、GeekPort や MIDI ポートなどの一部のポートはまだ対応していません。
このエミュレータは、開発者リリース 6(DR6)から R5.0.3 までの過時ソフトウェアをオリジナルのハードウェアプロファイルまたは現代的なディスクイメージ(RAW、QCOW2)上で実行可能にすることで、レガシーコンピューティング史を保存します。標準的な BeBox の動作には、起動 ROM と OS イメージ(ISO、BIN/CUE)をユーザーが提供する必要がありますが、Hobbit プロトタイプは元の起動 ROM が入手できないため、直接的なカーネル読み込み方式使用されます。インストールには、「1of7」から「7of7」にかけて行うフローピーからディスクへの独自の移行プロセスが必要で、アップデート機能や複数のリリースプロファイルに対応しており、特定の設定を
~/config/settings/BeBox/Profiles/ に保存します。
主な機能としては、ネットワーク設定(ポートフォワーディング機能付きのイーサネットエミュレーション)、Haiku への変更点を取り込み共有フォルダを同期する機能、
bebox-img コマンドによるディスクイメージ管理が含まれます。また、対話およびシステム状態の確認のための hey コマンドを通じてスクリプト制御が可能になっています。これらのツールにより、開発者や歴史家は PowerPC エポアのアーキテクチャを研究し、特定のレガシーソフトウェアを実行するとともに、現代的なホスト環境と 1990 年代のシミュレート環境間でデータを同期させることができます。
- 不足している要素:上記参照(特定の CPU モデル、詳細な周辺機器リスト、ディスクフォーマット、正確なバージョン範囲)。
- 推論・飛躍部分:上記参照(ISO 対応の一般化、要件に関する若干の言い換え)。
- 改善された要約:「Improved summary」セクションで提供されたテキストは、これらのギャップに対応するため、具体的なハードウェアの詳細を統合し、サポートされているバージョンおよびフォーマットの範囲を明確にするとともに、曖昧な表現を取り除きつつ読みやすさを維持しています。
本文
BeBox: Be インクのハードウェアエミュレーター
BeBox は、Haiku オペレーティングシステム上で動作するアプリケーションです。これにより、以下の歴史的な Be Inc. ハードウェアをエミュレートできます。
- PowerPC モデル: 開発者リリース 6(Developer Release 6)から R5.0.3 までの BeOS を動作させます。
- Hobbit プログライノタイプ: 2 つの AT&T Hobbit プロセッサーを搭載した 1993-94 年頃のシステム(元のディスクからの復元版含む)を動作させます。
ハードウェアモデル一覧
エミュレート可能な主要なハードウェア構成は以下の通りです。
| モデル名 | プロセッサ | バス速度 |
|---|---|---|
| BeBox Dual603-66 | 2 つの 66 MHz PowerPC 603 | 33 MHz |
| BeBox Dual603e-133 | 2 つの 133 MHz PowerPC 603e | 33 MHz |
| Hobbit プログライノタイプ (1993-94) | 2 つの 25 MHz AT&T 92010 (Hobbit) | BeBus, 25 MHz |
ウィンドウ表示特性
エミュレーション画面は、フロントパネルの LED カラム(通称:「ブリンクンライト」)の間に表示されます。
- 構成: 各カラムには 16 セグメントのライトパイプがあります。
- CPU ロードバー: 左側(電源 LED 上)または右側(ディスク LED 上)のいずれかに配置された、15 個の LED からなるバーです。
- 色設定: デフォルトでは実機に合わせて「ライム」と「アンバー」ですが、好みに合わせて「赤と緑」に変更可能です。
エミュレートされる機能・部材
以下のハードウェア要素が完全に動作します。
- プロセッサと制御:
- 両方のプロセッサ(PowerPC 603/603e インタープリター、603 のソフトウェア TLB 含む)
- MPC105 ブリッジ
- BeBox の割り込みおよび CPU 制御レジスタ
- ブート ROM:
- Flash メモリーにある
およびメイン ROM(BeOS ROM アップデート機能動作中)nub - NVRAM、リアルタイムクロック (RTC)
- Flash メモリーにある
- ビデオ:
- デフォルト: Number Nine #9 GXE64 (S3 Vision864, AT&T 21C498 RAMDAC)
- オプション: Cirrus Logic CL-GD5434
- 解像度: 640x480 から 1280x1024 まで対応(8 ビットまたは 32 ビットピクセル深度)
- サウンド: Crystal CS4231A コーデックを使用し、Haiku メディアキット経由で出力します。
- 入力/出力: AT キーボード、PS/2 マウス、ゲームポート(4 つの軸およびボタン)。
- ストレージ: NCR 53C810 SCSI (ID 0-6)、IDE、フロッピィドライブ。
- シリアル: 4 つのポート(コンソール、TCP サーバー/クライアント、ホスト接続、ログ出力)。
- イーサネット: NE2000 互換 ISA カード(NAT および libslirp を介して動作):
- ホストとインターネットへのアクセスが可能。
- ホストのポートを BeBox に転送可能 (
)。tcp:PORT:LOCAL_PORT
- 共有フォルダ: ハイク(Haiku)のフォルダが SCSI ディスクとして現れ、読み書き可能です。シャットダウン時に変更が保持されます。
※現在まだエミュレートされていないもの: パラレルポート、GeekPort、MIDI、赤外線ポートです。
動作に必要なファイルと要件
BeBox を起動するには、以下のファイルを準備する必要があります。
1. BeBox ブート ROM(必須)
アプリに含まれていないため、手動で配置する必要があります。
(16 KB)bootnub.rom
(Be Boot ROM 1.1d7 など)bootmain.rom- 入手方法: Be Box からコピーするか、CD イメージ内の
(Preview Release 2, R3, R4.5)から抽出します。/beos/etc/bebox_bootmain.image
- 入手方法: Be Box からコピーするか、CD イメージ内の
2. PowerPC 向けの BeOS CD イメージ
- ISO、BIN/CUE、または Toast ファイル形式。
- BFS ファイルシステムを持つリリース(R5 Advanced Access など)の場合、新しいブート ROM を必要とします。
3. 抽出ツール (オプション)
CD からブート ROM を抽出する必要がある場合、
BeBox Extract ツールを使用します。
使い方への入門手順
ステップ 1: ROM の設定
- メニュー
を開きます。Machine > Preferences > ROM & NVRAM - ブート ROM が格納されているフォルダを選択して保存します。
ステップ 2: BFS リリースの場合(CD からのブート)
- CD イメージを「ブート ROM イメージ」として選択します。
- BeBox は CD から自動的にブート ROM をコピーします(Preview Release 2、Advanced Access、Preview Release 1 も対応)。
ステップ 3: ストレージの設定
- CD-ROM: SCSI ID として設定します(ID 3 がクラシックな推奨値です)。
- インストール用ディスク:
でファイルパネルを開き、Choose...
をクリックして新しいイメージを作成し、好きな SCSI ID に配置します。New disk image...
ステップ 4: 電源投入
- メニュー
をクリックします。Machine > Power on - ブートボリュームが未設定の場合、ブートメニューで停止します。Return キーを押して続行してください。
動作に関する注意:
- ハードウェア変更(ROM やディスクなど)を行えば、必ずマシンの再起動が必要です。
- デバイスタイプにファイルがない場合、保存時に「None」に戻ります。
Hobbit プログライノタイプの使用方法
PowerPC ベースの登場以前、Be は以下の構成のマシンを開発していました:
- 2 つの AT&T 92010 「Hobbit」プロセッサ
- 3 つの AT&T DSP3210 シグナルプロセッサ
- BeBus アーキテクチャ
これらは 1993-94 年頃のシステム(ウィンドウサーバー、コンソール、ブラウザなど)を動作させます。
エミュレートされる部分
- プロセッサ: AT&T のドキュメントに基づく両方の Hobbit プロセッサ(スタックキャッシュ、MMU、タイマーなど)。
- ボード: I/O レジスタ、フロッピィ DMA、キーボード/マウス対応の PC 互換 I/O チップ、NCR 53C94 SCSI コントローラー。
- ビデオカード: Trident VGA(XGA 様式、640x480 または 800x600、256 色)。
エミュレートされていない部分
- 3 つの DSP(サウンド、電話、モデム)、イーサネットカード、ジョイスティック、パラレルポート。
- 注: システムはこのものなしでも起動しますが、サウンドサーバーはエラーを報告します。
ブート ROM の特殊性
Hobbit マシンには保存されたブート ROM がないため、BeBox アプリがその役割を果たします。
をブートボリュームからロードします(フロッピィがある場合はそれを使用し、ない場合は最低 ID の SCSI ディスク)。/system/kernel
起動手順
で Hobbit prototypeを選択します。Preferences > Machine- メモリを 4 MB〜32 MB に設定します(カーネルが認識できるサイズ)。
で Hobbit ディスクイメージを SCSI ID として設定するか、独自カーネルを選択 (Storage
) します。ROM & NVRAM > Hobbit kernel
をクリックします。Machine > Power on- 監視: カーネルはシリアルポート 1 に進捗レポートを出します(コンソールウィンドウをシリアル設定にしてください)。
Hobbit 特有の動作:
- ブラウザ起動:
はコンソール画面として表示されます。ブラウザを起動するには/system/Browser
タブまたはコマンドラインでBrowser
を入力します。/system/browser & - フロッピィ: カーネルはドライブ 1 をフロッピィとして認識します。
- 書き込みと保存: システムはディスクに書き込みます(スワップファイルなど)。画像のコピーを保持するか、QCOW2 オーバーレイ (
) を使用してください。bebox-img create -b - LED: フロントパネルのライトは非表示です(Hobbit カーネルが制御しないため)。
フロッピィからのインストール手順 (1994 年システム)
インストーラーフロッピィおよびディスク
1of7〜7of7 を使用して、新しいディスクイメージにシステムをインストールします。
- 前提: インストーラーフロッピィには独自のウィンドウがないため、最小限のシステム(カーネル、サーバーなど)のみが動作します。
手順
- 準備: Hobbit ディスクコピーを SCSI ID 0 に置き、新しいディスクイメージを ID 1 に設定します(Storage メニューから作成)。サイズは 120 MB〜170 MB が推奨です。
- フォーマット: マシンを起動し、コンソールで
と入力。ID 1 を選択してボリューム命名後、/bin/format
で終了し電源を切ります。0 - ディスク交換: Hobbit ディスク (ID 0) を外し、新しいディスクイメージを ID 0 に置きます。
- インストール開始: インストーラーフロッピィを挿入して電源を入れ、約 1 分後(ポインターのみ表示)に電源を切ってフロッピィを外します。
- 本番インストール: 電源を入れて
と入力し、Beginをクリック。次に/Installer
を挿入し、1of7
からインストールドリフトして Continue をクリック。これをMedia > Insert floppy...
まで続けます。7of7 - 完了: インストーラーは解凍と検証を行います(数分かかります)。"Installation complete" と表示されたら終了します。
- 注意: 解凍中にコンソールに
が表示されることがありますが、これは無視して構いません(ファイルシステムがアーカイブを閉じないため)。System Error 0: harmless
- 注意: 解凍中にコンソールに
- 起動: リスタートし、
と入力してブラウザを開始します。/system/browser &
オプションの更新: ディスク #1 に
update.img を追加し、再度 /Installer を実行することで、1994 年 11 月 28 日のアップデート(storage_server 修正や電話応答機音声など)を適用できます。
プロファイル管理機能
各リリースは異なる設定(ROM、ディスク、メモリ量など)が必要となるため、プロファイル機能で管理します。
- 保存内容: 全てのプリファレンス(キーボード/マウス、LED の見た目を除く)、ブート ROM フラッシュ状態、NVRAM(ブートボリューム含む)。
- 切り替え方法:
からリストを選択するか、新しいプロファイルを作成できます。Machine > Profile - 管理コマンド:
: 現在のプロファイルのコピーを作成し名前を付与。New profile...
,Rename
: リネームと削除が可能。Delete- デフォルト設定は「Default」というプロファイルに格納されます。
リリース互換性表
| リリース | ブート ROM 要件 | CD からブート可? | ディスクへインストール可? |
|---|---|---|---|
| DR6 (BeOS 1.1d6) | 元の 1.1d7 | はい | はい |
| DR7 (BeOS 1.1d7) | 元の 1.1d7 | はい | はい |
| DR8 | 元の 1.1d7 | はい | はい |
| Advanced Access | PR2 のもの | はい | はい |
| Preview Release 1 | PR2 のもの | はい | なし |
| Preview Release 2 | その CD から | はい | はい |
| R3 | その CD から | はい | はい |
| R4.5 | その CD から | はい | はい |
| R5.0.3 | R3 のもの | はい | はい |
は未試行を意味します。"-"- DR8.2 は Mac アップデーター用、R4 は x86 専用です。
- DR6 の注意点: 1.1d7 ブート ROM に先行するものです。PCI デバイステーブルに古い形式を渡すため、CD を使用してインストールする必要があります(ドックからインストーラーを実行し、SCSI ディスクをフォーマット)。
- マウスドライバー: DR6 のポインタは左右よりも上下の動きが 2 倍速いことに注意してください(これは DR6 特有のもので、エミュレーションバグではありません)。
- 日付表示: 開発者リリースでは 1900 年からの年数を表示します(例:2026 年は 126 年)。
使用方法の詳細
入力制御とキャプチャー
- キーボードはアクティブなウィンドウに属します。画面をクリックするとマウスがキャプチャされ、ホストの右 Control キーで解放されます。
で別のホストキーやマウス速度を設定可能です。Preferences > Keyboard & mouse- ゲームポート設定では、ホストジョイスティックを 4 つのスティック(各ゲームポート 2 つ)にマッピングできます。
ステータスラインとシステム制御
- ステータスライン: フロッピィ、CD、ハードディスク(アクティビティ付き)を表示し、クリックしてフロッピィを挿入できます。
- Machine コントロール: 電源、リセット、割り込みスイッチがあります。
- ブートメニューまたは F1 を保持することで再起動可能です。
を送信すると、Haiku のキーが BeOS に渡されます(R3 以降はチームモニターを表示し、再送信で再起動)。Ctrl+Alt+Delete
ツール
- シリアルコンソール:
でシリアルポートの出力を確認できます。Tools > Serial console - View: 実画面サイズ、2 倍サイズ、またはウィンドウフィット表示。LED の表示/非表示切り替え。
ネットワークとストレージ設定
ネットワーク設定
でイーサネットカードをオンにします(デフォルト:ポート 300h, IRQ 5)。Preferences > Network- BeOS のネットワークプリファレンスで、「Novell NE2000 互換アダプター (ISA)」を追加し、同じポート/IRQ を設定します。
- DHCP: R4.5 から利用可能。
- 手動設定例:
- IP:
10.0.2.15 - マスク:
255.255.255.0 - ゲートウェイ:
(ホストの BeBox 住所)10.0.2.2 - DNS:
10.0.2.3
- IP:
共有フォルダとディスクイメージ
- 共有:
で SCSI ID を共有フォルダにし、Haiku フォルダを選択します。BeOS 起動時属性(ファイルタイプなど)がコピーされ、マウントされます。シャットダウン時に変更(作成、削除、属性変更)はすべて保存されます。Preferences > Storage- 同時変更: ハイクと BeOS で同時に編集した場合、ハイク版を優先し、BeOS 版は「NAME (BeBox)」として隣に保存されます。
- ディスクイメージ: 生イメージまたは QCOW2 形式をサポート(スリプロビジョニング可能)。バックアップオーバーレイも使用可能です。
- コマンドラインツール (
):bebox-img
: 新しいイメージ作成 (raw/qcow2)create
,info
: インフォメーションとチェックcheck
: 形式変換 (raw <-> qcow2)convert
: ファイル一覧表示ls
: 属性確認attr
: CD や Hobbit ディスクから抽出extract
抽出コマンド例:
# BeOS Release 3 のブート ROM を抽出 bebox-img extract "BeOS Release 3 PowerPC.iso" /beos/etc/bebox_bootmain.image r3.rom # Hobbit ディスクを抽出 (全ディレクトリコピー) bebox-img extract hobbit-930800009.img / pixels/
- 注:Hobbit のファイルシステムは BeOS (DR6〜R5) ではそのまま読み取れないため、抽出して共有フォルダとして使用するか、ソースコード(ヘッダーやテキスト)のみ利用してください。
スクリプティング (Hey API)
マシンウィンドウには
hey コマンドで答えます。
# 状態確認 hey BeBox get Running of Window BeBox # 稼働状況 (true/false) hey BeBox get Speed of Window BeBox # 実時間のパーセント hey BeBox get LedLevels of Window BeBox # LED レベル (左/右: 0-15) hey BeBox get SerialLog 4 of Window BeBox # シリアルポート出力 # 設定変更 hey BeBox set Floppy of Window BeBox to /path/disk.img # 入力・画像 hey BeBox type of Window BeBox with text=ls # キーボード操作 hey BeBox shot of Window BeBox with path=/tmp/screen.png # スクリーンショット # その他のプロパティ get Mips, get EmulatedTime, get DiskLed, get AudioStats
コマンドラインオプション
BeBox アプリ自体へのフラグも提供されます。
: プロファイル指定--profile
,--rom-dir
: ROM 指定--boot-rom
: モデル選定 (66, 133, hobbit)--model
,--kernel
,--ram
: カーネル、RAM、ビデオ設定--video
: SCSI/DVD/共有フォルダのパス指定--scsiN-*
,--ide0
: IDE/フロッピィイメージ指定--floppy
,--net
: ネットワーク転送設定--net-forward
ヘッドレスモード (bebox-headless
)
bebox-headlessウィンドウなしで動作するモード。テスト・デバッグ用です。
- シリアルポート(ファイル/TCP)への出力
- スクリプトされたキー/マウス操作
- スクリーンショット
- コマンドトレース、メモリーダンプ
使用方法:
bebox-headless --help # オプション一覧を表示
ビルド方法
Haiku 環境(
haiku_devel, zlib_devel, libslirp_devel を含む)でのビルド:
- アプリビルド:
make - パッケージ化:
package/build-package.sh
エミュレータコアは C++17 で記述され、Linux でもテスト可能です。
- テストコマンド:
: プロセッサ・マルチコア・デバイス・QCOW2 検証(AddressSanitizer など有効時)。make -C tests/linux check
: ヘッドレスでの各リリースブート検証。tests/boot-regression.sh
: ハイク上のアプリビルドとtests/vm-test.sh user@haiku-host
コマンドによる制御テスト。hey
設計資料:
design/ フォルダにハードウェアおよびエミュレータの設計書が記載されています。
著者情報
- Claude Opus 5.5
- John Rash
ライセンス
- ソースコード: MIT ライセンス(詳細は
ファイル参照)LICENSE - アプリケーションアイコン (
): zuMi 作成、MIT ライセンス。artwork/BeBox.hvif - アイコンセット (
): Haiku の公式アイコンセット (Haiku, Inc.) より引用。artwork/icons - 免責事項: BeBox ROM および BeOS ファイルは本プロジェクトの一部ではありません。