BeBox is een native applicatie voor Haiku die de BeBox-hardware van Be Inc. emuleert. De emulator ondersteunt zowel de PowerPC-modellen (Dual603-66 en Dual603e-133) als de vroegere Hobbit-prototypes, inclusief ondersteuning voor diverse BeOS-releases.
Belangrijkste kenmerken:
- Hardware-emulatie: Het systeem emuleert processors, Boot ROM's, video (S3 Vision864/Cirrus Logic), geluid (Crystal CS4231A) en diverse opslagopties zoals SCSI, IDE en floppy.
- Netwerk & Integratie: BeBox biedt netwerkondersteuning via een NE2000-compatibele kaart en maakt het mogelijk om Haiku-mappen als gedeelde SCSI-schijven in BeOS te gebruiken.
- Gebruiksgemak: Gebruikers kunnen profielen aanmaken om specifieke instellingen per release op te slaan. Voor het beheer van schijfafbeeldingen is de tool
bebox-img beschikbaar.
- Technische details: De emulator is geschreven in C++17 en kan zowel op Haiku als Linux worden gebouwd. Daarnaast ondersteunt de applicatie scripting via
hey-commando's en een headless-modus voor debugging.
De software is uitgebracht onder de MIT-licentie, hoewel de benodigde ROM's en BeOS-bestanden apart moeten worden verzameld.
BeBox: Een native PowerPC en Hobbit BeBox-emulator voor Haiku
Ondersteunde Modellen
| Model | Processors | Bus |
| BeBox Dual603-66 | twee PowerPC 603 op 66 MHz | 33 MHz |
| BeBox Dual603e-133 | twee PowerPC 603e op 133 MHz | 33 MHz |
| Hobbit prototype (1993-94) | twee AT&T 92010 (Hobbit) op 25 MHz | BeBus, 25 MHz |
Het venster toont het geëmuleerde scherm tussen twee kolommen met LED-lampjes op het voorpaneel ("blinkenlights"). Elke kolom bestaat uit zestien segmenten: een CPU-belastingsbalk van vijftien LED's boven de aan/uit-LED (links) of de schijf-LED (rechts), in limegroen en amber (of rood en groen, naar keuze).
Geëmuleerde Componenten
Hardware
- Processors: Beide processors (een PowerPC 603/603e interpreter met de software TLB van de 603), de MPC105 bridge, en de BeBox-interrupt- en CPU-controlregisters.
- Boot ROM: De nub- en main-ROM in een beschrijfbaar flashgeheugen (de ROM-updater van BeOS werkt), NVRAM en een real-time klok.
- Video: Standaard de Number Nine #9 GXE64 (S3 Vision864, AT&T 21C498 RAMDAC) met graphics engine, of de Cirrus Logic CL-GD5434. Ondersteunt resoluties van 640x480 tot 1280x1024 met 8 en 32 bits per pixel (conform de BeOS-drivers).
- Geluid: Crystal CS4231A codec, afgespeeld via de Haiku media kit.
- Randapparatuur: AT-toetsenbord en PS/2-muis; vier game-poorten (assen en knoppen).
- Opslag: NCR 53C810 SCSI (schijven en CD-ROM's op ID's 0-6), IDE en floppy.
- Seriële poorten: Vier poorten die verbonden kunnen worden met een consolevenster, een TCP-server of -client, een host-seriële poort of een logbestand.
- Netwerk: Een NE2000-compatibele ISA-kaart op een privénetwerk achter de host (NAT via libslirp). De BeBox kan de host en het internet bereiken, en host-poorten kunnen worden doorgezet.
- Gedeelde mappen: Een Haiku-map verschijnt in BeOS als een SCSI-schijf die gelezen en beschreven kan worden; wijzigingen worden teruggeschreven naar de map wanneer BeOS wordt afgesloten.
Nog niet geëmuleerd: de parallelle poort, GeekPort, MIDI- en infraroodpoorten.
Vereisten
Voor het gebruik van de emulator zijn de volgende bestanden nodig (niet inbegrepen):
- BeBox boot ROM's:
bootnub.rom (16 KB) en bootmain.rom (Be Boot ROM 1.1d7) van een BeBox, geplaatst in een map naar keuze.
- BeOS voor PowerPC: CD-afbeeldingen (ISO, BIN/CUE of Toast).
- Voor releases met het Be File System (Advanced Access tot R5): Een nieuwere boot ROM. Deze is te vinden op de CD's van Preview Release 2, R3 en R4.5 onder
/beos/etc/bebox_bootmain.image. BeBox extraheert deze automatisch.
Aan de slag
- Ga naar Machine > Preferences > ROM & NVRAM en selecteer de map met de ROM's. Voor een BFS-release kies je de bijbehorende CD-afbeelding als Boot ROM image; BeBox kopieert de boot ROM dan van de CD.
- Ga naar Storage en plaats de CD-afbeelding op een SCSI-ID als CD-ROM (ID 3 is de klassieke keuze). Ken een ander ID toe aan een schijf voor installatie. Via de knop New disk image... kan direct een nieuw schijfbestand worden aangemaakt.
- Selecteer Machine > Power on. De nieuwere boot ROM's stoppen bij hun boot-menu wanneer er nog geen opstartvolume is ingesteld; druk in dat geval op Enter.
Let op: Wijzigingen aan de hardware vereisen een herstart van de machine. Als een apparaattype is ingesteld zonder bijbehorend bestand, wordt dit bij het opslaan van de voorkeuren teruggezet naar "None".
Het Hobbit-prototype
Vóór de PowerPC BeBox bouwde Be zijn machine rond twee AT&T 92010 "Hobbit"-processors, drie AT&T DSP3210 signaalprocessors en de BeBus. Er zijn enkele prototypes bewaard gebleven met schijven waarop het systeem uit 1993-94 draait (inclusief window server, console, Browser en dock).
Geëmuleerde aspecten van de Hobbit
- Processors: Beide Hobbit-processors (een interpreter gebaseerd op de programmeursreferentie van AT&T: stack cache, MMU, timers, event sequences).
- Moederbord: I/O- en interruptregisters, processor-resets, floppy DMA, PC-compatibele I/O-chips (toetsenbord, PS/2-muis, real-time klok, twee seriële poorten, floppy) en de NCR 53C94 SCSI-controller.
- Videokaart: Een Trident VGA met een XGA-stijl graphics engine op de BeBus (640x480 of 800x600, 256 kleuren).
Niet geëmuleerd: de drie DSP's en de bijbehorende functies (geluid, telefoon en modem), de Ethernet-kaart, de joystick-controller en de parallelle poort. Het systeem start zonder deze componenten (de sound server zal een foutmelding geven).
Omdat er geen boot ROM's van deze machines bewaard zijn, neemt BeBox deze taak over door /system/kernel te laden vanaf het opstartvolume (eerst de floppy, anders de SCSI-schijf met het laagste ID).
Gebruiksaanwijzing Hobbit:
- Kies in Preferences > Machine voor Hobbit prototype en selecteer het geheugen (4, 8, 16, 20 of 32 MB).
- Plaats in Storage een Hobbit-schijfafbeelding op een SCSI-ID. Om een eigen kernel te gebruiken, selecteer je deze in ROM & NVRAM > Hobbit kernel.
- Selecteer Machine > Power on. De voortgang van de kernel is te volgen via seriële poort 1 (open hiervoor een consolevenster in Serial).
Aanvullende opmerkingen voor Hobbit:
- De schijven uit november 1994 starten
/system/Browser (bestandsnaam /system/browser), maar vaak start de console. Typ /system/browser & in de console om de Browser handmatig te starten.
- De floppy-drive is drive 1 voor de kernel.
- Het systeem schrijft naar de schijf (swap-bestanden etc.). Gebruik kopieën van afbeeldingen of QCOW2-overlays (
bebox-img create -b IMAGE OVERLAY.qcow2).
- De frontpaneel-LED's zijn verborgen, aangezien de Hobbit-kernel deze niet aanstuurt.
Installeren vanaf floppies (Hobbit)
De installer-floppy en schijven 1 tot en met 7 installeren het systeem van november 1994 op een nieuwe schijf.
- Plaats een kopie van een Hobbit-schijf (of overlay) op SCSI ID 0 en een nieuwe schijfafbeelding (120 MB is voldoende) op ID 1.
- Start de machine, typ
/bin/format in de console, kies de SCSI-schijf met ID 1, geef het volume een naam en kies '0' om af te sluiten. Zet de machine uit.
- Verwijder de schijf van ID 0 en plaats de nieuwe schijf daar.
- Steek de installer-floppy in en zet de machine aan. Wacht ongeveer een minuut (alleen de cursor is zichtbaar) en zet de machine daarna uit en verwijder de floppy.
- Zet de machine aan. De console start vanaf de nieuwe schijf. Typ
/Installer, klik op Begin, steek schijf 1of7 in (Media > Insert floppy...) en klik op Continue. Herhaal dit tot 7of7.
- De Installer comprimeert, verifieert en extraheert het archief. Een foutmelding (
System Error 0) tijdens het uitpakken is onschadelijk en komt voor op echte Hobbit-machines.
- Herstart en typ
/system/browser & om de Browser te starten.
- Optioneel: draai
/Installer opnieuw met update.img als schijf #1 voor de update van 28 november 1994.
Profielen
Omdat verschillende releases specifieke instellingen vereisen (boot ROM, schijven, kloksnelheid), kan de machine worden opgeslagen in een profiel. Een profiel bevat alle voorkeuren behalve toetsenbord, muis en LED-uiterlijk, plus de boot ROM-flash en NVRAM.
Je kunt schakelen tussen profielen via Machine > Profile. Hier kun je ook nieuwe profielen aanmaken, hernoemen of verwijderen. Profielen worden opgeslagen in ~/config/settings/BeBox/Profiles/.
Compatibiliteitstabel
| Release | Boot ROM | Boot vanaf CD | Installatie op schijf |
| DR6 (BeOS 1.1d6) | originele 1.1d7 | ja | ja |
| DR7 (BeOS 1.1d7) | originele 1.1d7 | ja | ja |
| DR8 | originele 1.1d7 | ja | ja |
| Advanced Access | van PR2 | ja | ja |
| Preview Release 1 | van PR2 | ja | - |
| Preview Release 2 | vanaf eigen CD | ja | ja |
| R3 | vanaf eigen CD | ja | ja |
| R4.5 | vanaf eigen CD | ja | ja |
| R5.0.3 | van R3 | ja | ja |
"-" betekent: niet getest.
- DR8.2 is een Mac-updater; R4 is uitsluitend voor x86.
- De boot ROM van de R3-CD werkt met alle geteste releases.
- DR6 gaat vooraf aan de 1.1d7 boot ROM; BeBox geeft de PCI-apparattentabel door in het oudere formaat dat DR6 verwacht. Installeer DR6 volgens de CD-instructies: boot de CD, start de Installer, formatteer de SCSI-schijf en maak deze het opstartvolume.
- De muisdriver van DR6 beweegt de cursor onjuist (twee keer zo ver naar links/beneden als naar rechts/boven); dit is een eigenschap van DR6, niet van de emulator.
- In Developer Releases wordt het jaar weergegeven als jaren sinds 1900 (bijv. 126 voor 2026).
Gebruik
Interactie
Wanneer het venster actief is, worden toetsenbordcommando's naar de BeBox gestuurd. Klik op het scherm om de muis te vangen; de host key (standaard rechter Ctrl) laat de muis weer los. De host key en muissnelheid kunnen worden aangepast in de voorkeuren.
Bediening en Prestaties
- Game-poorten: Koppel host-joysticks aan de vier sticks in de voorkeuren.
- Statusregel: Toont floppy-, CD- en harddiskactiviteit. Klik op de floppy om een schijf in te voegen.
- Machine-menu: Bevat schakelaars voor stroom, reset en interrupt. Herstarten met de boot-menu of kernel debug output op seriële poort 4 (houd F1 ingedrukt bij het aanzetten).
- Ctrl+Alt+Delete: Stuur
Send Ctrl+Alt+Delete om BeOS de toetsencombinatie te geven die Haiku normaal reserveert. BeOS R3 en later tonen dan de Team Monitor.
- Multiprocessing: De twee processors draaien op twee host-cores wanneer ze beide bezet zijn (Preferences > Advanced, standaard aan). Dit kan de snelheid bijna verdubbelen, wat essentieel is voor het 133 MHz-model op tragere computers. De statusregel toont de snelheid als percentage van een echte BeBox.
Extra Functies
- Tools > Serial console: Toont een seriële poort verbonden aan een console.
- View: Pas de schermgrootte aan (actueel, dubbel of passend in venster) en toon/verberg de LED's.
Netwerk
- Zet in Preferences > Network de Ethernet-kaart aan (standaard poort 300h, IRQ 5).
- Voeg in de netwerkvoorkeuren van BeOS een "Novell NE2000 compatible adapter (ISA)" toe met dezelfde poort en IRQ.
- Kies voor DHCP (R4.5) of stel handmatig in:
- IP:
10.0.2.15
- Masker:
255.255.255.0
- Gateway:
10.0.2.2
- DNS:
10.0.2.3
- De host is bereikbaar via
10.0.2.2. Door host-poorten door te zetten (bijv. tcp:2121:21), worden services in BeOS bereikbaar vanaf de host.
Gedeelde Mappen
In Preferences > Storage kun je een SCSI-ID instellen als Shared folder en een Haiku-map kiezen.
- Bij het aanzetten kopieert BeBox de map naar een nieuw BFS-volume dat BeOS als gewone schijf mount.
- Wanneer BeOS netjes wordt afgesloten (Be menu > Shut Down) en de BeBox wordt uitgeschakeld, worden wijzigingen (nieuwe bestanden, attributen, verwijderingen) teruggestuurd naar de Haiku-map.
- Bij conflicten (bestanden op beide zijden gewijzigd) prevaleert de Haiku-versie; de BeOS-versie wordt opgeslagen als
"NAAM (BeBox)".
- Bij een crash wordt het volume behouden zodat BeOS het bij de volgende start kan herstellen.
- Houd de map klein, aangezien de volledige inhoud bij elke start wordt gekopieerd.
Schijfafbeeldingen
Harde schijven kunnen raw-afbeeldingen of QCOW2-afbeeldingen zijn. QCOW2 gebruikt alleen de ruimte die daadwerkelijk is beschreven (thin provisioning) en kan dienen als overlay bovenop een basisafbeelding.
De tool bebox-img beheert deze afbeeldingen en leest bestanden van BeOS BFS-volumes en Hobbit-schijven:
bebox-img create [-f raw|qcow2] [-b BACKING] FILE SIZE
bebox-img info FILE
bebox-img check FILE
bebox-img convert [-O raw|qcow2] SOURCE DESTINATION
bebox-img ls IMAGE [PATH]
bebox-img attr IMAGE PATH
bebox-img extract IMAGE PATH OUTPUT
Voorbeeld: bebox-img extract "BeOS Release 3 PowerPC.iso" /beos/etc/bebox_bootmain.image r3.rom
Op een Hobbit-schijf kopieert extract ook hele directories naar een nieuwe map. Omdat geen enkele BeOS-release het bestandssysteem van de Hobbit kan lezen, is dit de enige manier om bij de bestanden te komen: extraheer ze en geef de map aan een BFS-release als gedeelde map. Let op: Hobbit-programma's draaien niet op PowerPC.
Scripting
Het machinevenster reageert op hey-commando's:
hey BeBox get Running of Window BeBox (status opvragen of instellen)
hey BeBox get Speed of Window BeBox (percentage van real-time)
hey BeBox get LedLevels of Window BeBox (links, rechts 0-15)
hey BeBox get SerialLog 4 of Window BeBox (output van een consolepoort)
hey BeBox set Floppy of Window BeBox to /path/disk.img
hey BeBox type of Window BeBox with text=ls (tekst typen via toetsenbord)
hey BeBox shot of Window BeBox with path=/tmp/screen.png
Andere commando's zijn onder meer get Mips, get EmulatedTime, get DiskLed, get AudioStats, get Profiles, get Profile en set Profile. Daarnaast zijn er commando's voor pwon (power on), pwof (power off), rset (reset) en cadl (Ctrl+Alt+Delete).
Command Line
BeBox start de machine met diverse opties: BeBox [--profile NAME] [--rom-dir DIR] [--boot-rom IMAGE] [--model 66|133|hobbit] [--kernel FILE] [--ram MB] [--video s3|cirrus] [--scsiN-disk FILE] [--scsiN-cd FILE] [--scsiN-share FOLDER] [--ide0 FILE] [--floppy FILE] [--net] [--net-forward SPEC] [--power-on]
bebox-headless start een machine zonder venster, ideaal voor tests en debugging (seriële poorten naar bestanden/TCP, gescripte input, screenshots, memory dumps). Gebruik bebox-headless --help voor meer opties.
Bouwen (Building)
Op Haiku (met haikudevel, zlibdevel en libslirp_devel):
make bouwt de applicatie.
package/build-package.sh bouwt de app en tools en maakt het pakket.
Op Linux: De core is geschreven in portable C++17.
make -C tests/linux check voert processor-tests uit (met qemu-ppc als referentie), Hobbit-tests, multiprocessor- en device-tests, en QCOW2-tests (met qemu-img), onder AddressSanitizer en UndefinedBehaviorSanitizer.
tests/boot-regression.sh boot elke BeOS-release en de Hobbit-schijven headless via overlays.
tests/vm-test.sh user@haiku-host bouwt de app op een Haiku-machine en bestuurt deze met hey.
Details over de hardware en het ontwerp zijn te vinden in de map design/.
Auteurs en Licentie
- Auteurs: Claude Opus 5.5, John Rash.
- Licentie: MIT (zie LICENSE).
- Artwork: Het applicatie-icoon (
artwork/BeBox.hvif) is gemaakt door zuMi (MIT License). De iconen in artwork/icons komen uit de Haiku-iconenset (MIT, Haiku, Inc.).
De BeBox ROM's en BeOS maken geen deel uit van dit project.
BeBox: Een native PowerPC en Hobbit BeBox-emulator voor Haiku
Ondersteunde Modellen
| Model | Processors | Bus |
| BeBox Dual603-66 | twee PowerPC 603 op 66 MHz | 33 MHz |
| BeBox Dual603e-133 | twee PowerPC 603e op 133 MHz | 33 MHz |
| Hobbit prototype (1993-94) | twee AT&T 92010 (Hobbit) op 25 MHz | BeBus, 25 MHz |
Het venster toont het geëmuleerde scherm tussen twee kolommen met LED-lampjes op het voorpaneel ("blinkenlights"). Elke kolom bestaat uit zestien segmenten: een CPU-belastingsbalk van vijftien LED's boven de aan/uit-LED (links) of de schijf-LED (rechts), in limegroen en amber (of rood en groen, naar keuze).
Geëmuleerde Componenten
Hardware
- Processors: Beide processors (een PowerPC 603/603e interpreter met de software TLB van de 603), de MPC105 bridge, en de BeBox-interrupt- en CPU-controlregisters.
- Boot ROM: De nub- en main-ROM in een beschrijfbaar flashgeheugen (de ROM-updater van BeOS werkt), NVRAM en een real-time klok.
- Video: Standaard de Number Nine #9 GXE64 (S3 Vision864, AT&T 21C498 RAMDAC) met graphics engine, of de Cirrus Logic CL-GD5434. Ondersteunt resoluties van 640x480 tot 1280x1024 met 8 en 32 bits per pixel (conform de BeOS-drivers).
- Geluid: Crystal CS4231A codec, afgespeeld via de Haiku media kit.
- Randapparatuur: AT-toetsenbord en PS/2-muis; vier game-poorten (assen en knoppen).
- Opslag: NCR 53C810 SCSI (schijven en CD-ROM's op ID's 0-6), IDE en floppy.
- Seriële poorten: Vier poorten die verbonden kunnen worden met een consolevenster, een TCP-server of -client, een host-seriële poort of een logbestand.
- Netwerk: Een NE2000-compatibele ISA-kaart op een privénetwerk achter de host (NAT via libslirp). De BeBox kan de host en het internet bereiken, en host-poorten kunnen worden doorgezet.
- Gedeelde mappen: Een Haiku-map verschijnt in BeOS als een SCSI-schijf die gelezen en beschreven kan worden; wijzigingen worden teruggeschreven naar de map wanneer BeOS wordt afgesloten.
Nog niet geëmuleerd: de parallelle poort, GeekPort, MIDI- en infraroodpoorten.
Vereisten
Voor het gebruik van de emulator zijn de volgende bestanden nodig (niet inbegrepen):
- BeBox boot ROM's:
bootnub.rom (16 KB) en bootmain.rom (Be Boot ROM 1.1d7) van een BeBox, geplaatst in een map naar keuze.
- BeOS voor PowerPC: CD-afbeeldingen (ISO, BIN/CUE of Toast).
- Voor releases met het Be File System (Advanced Access tot R5): Een nieuwere boot ROM. Deze is te vinden op de CD's van Preview Release 2, R3 en R4.5 onder
/beos/etc/bebox_bootmain.image. BeBox extraheert deze automatisch.
Aan de slag
- Ga naar Machine > Preferences > ROM & NVRAM en selecteer de map met de ROM's. Voor een BFS-release kies je de bijbehorende CD-afbeelding als Boot ROM image; BeBox kopieert de boot ROM dan van de CD.
- Ga naar Storage en plaats de CD-afbeelding op een SCSI-ID als CD-ROM (ID 3 is de klassieke keuze). Ken een ander ID toe aan een schijf voor installatie. Via de knop New disk image... kan direct een nieuw schijfbestand worden aangemaakt.
- Selecteer Machine > Power on. De nieuwere boot ROM's stoppen bij hun boot-menu wanneer er nog geen opstartvolume is ingesteld; druk in dat geval op Enter.
Let op: Wijzigingen aan de hardware vereisen een herstart van de machine. Als een apparaattype is ingesteld zonder bijbehorend bestand, wordt dit bij het opslaan van de voorkeuren teruggezet naar "None".
Het Hobbit-prototype
Vóór de PowerPC BeBox bouwde Be zijn machine rond twee AT&T 92010 "Hobbit"-processors, drie AT&T DSP3210 signaalprocessors en de BeBus. Er zijn enkele prototypes bewaard gebleven met schijven waarop het systeem uit 1993-94 draait (inclusief window server, console, Browser en dock).
Geëmuleerde aspecten van de Hobbit
- Processors: Beide Hobbit-processors (een interpreter gebaseerd op de programmeursreferentie van AT&T: stack cache, MMU, timers, event sequences).
- Moederbord: I/O- en interruptregisters, processor-resets, floppy DMA, PC-compatibele I/O-chips (toetsenbord, PS/2-muis, real-time klok, twee seriële poorten, floppy) en de NCR 53C94 SCSI-controller.
- Videokaart: Een Trident VGA met een XGA-stijl graphics engine op de BeBus (640x480 of 800x600, 256 kleuren).
Niet geëmuleerd: de drie DSP's en de bijbehorende functies (geluid, telefoon en modem), de Ethernet-kaart, de joystick-controller en de parallelle poort. Het systeem start zonder deze componenten (de sound server zal een foutmelding geven).
Omdat er geen boot ROM's van deze machines bewaard zijn, neemt BeBox deze taak over door /system/kernel te laden vanaf het opstartvolume (eerst de floppy, anders de SCSI-schijf met het laagste ID).
Gebruiksaanwijzing Hobbit:
- Kies in Preferences > Machine voor Hobbit prototype en selecteer het geheugen (4, 8, 16, 20 of 32 MB).
- Plaats in Storage een Hobbit-schijfafbeelding op een SCSI-ID. Om een eigen kernel te gebruiken, selecteer je deze in ROM & NVRAM > Hobbit kernel.
- Selecteer Machine > Power on. De voortgang van de kernel is te volgen via seriële poort 1 (open hiervoor een consolevenster in Serial).
Aanvullende opmerkingen voor Hobbit:
- De schijven uit november 1994 starten
/system/Browser (bestandsnaam /system/browser), maar vaak start de console. Typ /system/browser & in de console om de Browser handmatig te starten.
- De floppy-drive is drive 1 voor de kernel.
- Het systeem schrijft naar de schijf (swap-bestanden etc.). Gebruik kopieën van afbeeldingen of QCOW2-overlays (
bebox-img create -b IMAGE OVERLAY.qcow2).
- De frontpaneel-LED's zijn verborgen, aangezien de Hobbit-kernel deze niet aanstuurt.
Installeren vanaf floppies (Hobbit)
De installer-floppy en schijven 1 tot en met 7 installeren het systeem van november 1994 op een nieuwe schijf.
- Plaats een kopie van een Hobbit-schijf (of overlay) op SCSI ID 0 en een nieuwe schijfafbeelding (120 MB is voldoende) op ID 1.
- Start de machine, typ
/bin/format in de console, kies de SCSI-schijf met ID 1, geef het volume een naam en kies '0' om af te sluiten. Zet de machine uit.
- Verwijder de schijf van ID 0 en plaats de nieuwe schijf daar.
- Steek de installer-floppy in en zet de machine aan. Wacht ongeveer een minuut (alleen de cursor is zichtbaar) en zet de machine daarna uit en verwijder de floppy.
- Zet de machine aan. De console start vanaf de nieuwe schijf. Typ
/Installer, klik op Begin, steek schijf 1of7 in (Media > Insert floppy...) en klik op Continue. Herhaal dit tot 7of7.
- De Installer comprimeert, verifieert en extraheert het archief. Een foutmelding (
System Error 0) tijdens het uitpakken is onschadelijk en komt voor op echte Hobbit-machines.
- Herstart en typ
/system/browser & om de Browser te starten.
- Optioneel: draai
/Installer opnieuw met update.img als schijf #1 voor de update van 28 november 1994.
Profielen
Omdat verschillende releases specifieke instellingen vereisen (boot ROM, schijven, kloksnelheid), kan de machine worden opgeslagen in een profiel. Een profiel bevat alle voorkeuren behalve toetsenbord, muis en LED-uiterlijk, plus de boot ROM-flash en NVRAM.
Je kunt schakelen tussen profielen via Machine > Profile. Hier kun je ook nieuwe profielen aanmaken, hernoemen of verwijderen. Profielen worden opgeslagen in ~/config/settings/BeBox/Profiles/.
Compatibiliteitstabel
| Release | Boot ROM | Boot vanaf CD | Installatie op schijf |
| DR6 (BeOS 1.1d6) | originele 1.1d7 | ja | ja |
| DR7 (BeOS 1.1d7) | originele 1.1d7 | ja | ja |
| DR8 | originele 1.1d7 | ja | ja |
| Advanced Access | van PR2 | ja | ja |
| Preview Release 1 | van PR2 | ja | - |
| Preview Release 2 | vanaf eigen CD | ja | ja |
| R3 | vanaf eigen CD | ja | ja |
| R4.5 | vanaf eigen CD | ja | ja |
| R5.0.3 | van R3 | ja | ja |
"-" betekent: niet getest.
- DR8.2 is een Mac-updater; R4 is uitsluitend voor x86.
- De boot ROM van de R3-CD werkt met alle geteste releases.
- DR6 gaat vooraf aan de 1.1d7 boot ROM; BeBox geeft de PCI-apparattentabel door in het oudere formaat dat DR6 verwacht. Installeer DR6 volgens de CD-instructies: boot de CD, start de Installer, formatteer de SCSI-schijf en maak deze het opstartvolume.
- De muisdriver van DR6 beweegt de cursor onjuist (twee keer zo ver naar links/beneden als naar rechts/boven); dit is een eigenschap van DR6, niet van de emulator.
- In Developer Releases wordt het jaar weergegeven als jaren sinds 1900 (bijv. 126 voor 2026).
Gebruik
Interactie
Wanneer het venster actief is, worden toetsenbordcommando's naar de BeBox gestuurd. Klik op het scherm om de muis te vangen; de host key (standaard rechter Ctrl) laat de muis weer los. De host key en muissnelheid kunnen worden aangepast in de voorkeuren.
Bediening en Prestaties
- Game-poorten: Koppel host-joysticks aan de vier sticks in de voorkeuren.
- Statusregel: Toont floppy-, CD- en harddiskactiviteit. Klik op de floppy om een schijf in te voegen.
- Machine-menu: Bevat schakelaars voor stroom, reset en interrupt. Herstarten met de boot-menu of kernel debug output op seriële poort 4 (houd F1 ingedrukt bij het aanzetten).
- Ctrl+Alt+Delete: Stuur
Send Ctrl+Alt+Delete om BeOS de toetsencombinatie te geven die Haiku normaal reserveert. BeOS R3 en later tonen dan de Team Monitor.
- Multiprocessing: De twee processors draaien op twee host-cores wanneer ze beide bezet zijn (Preferences > Advanced, standaard aan). Dit kan de snelheid bijna verdubbelen, wat essentieel is voor het 133 MHz-model op tragere computers. De statusregel toont de snelheid als percentage van een echte BeBox.
Extra Functies
- Tools > Serial console: Toont een seriële poort verbonden aan een console.
- View: Pas de schermgrootte aan (actueel, dubbel of passend in venster) en toon/verberg de LED's.
Netwerk
- Zet in Preferences > Network de Ethernet-kaart aan (standaard poort 300h, IRQ 5).
- Voeg in de netwerkvoorkeuren van BeOS een "Novell NE2000 compatible adapter (ISA)" toe met dezelfde poort en IRQ.
- Kies voor DHCP (R4.5) of stel handmatig in:
- IP:
10.0.2.15
- Masker:
255.255.255.0
- Gateway:
10.0.2.2
- DNS:
10.0.2.3
- De host is bereikbaar via
10.0.2.2. Door host-poorten door te zetten (bijv. tcp:2121:21), worden services in BeOS bereikbaar vanaf de host.
Gedeelde Mappen
In Preferences > Storage kun je een SCSI-ID instellen als Shared folder en een Haiku-map kiezen.
- Bij het aanzetten kopieert BeBox de map naar een nieuw BFS-volume dat BeOS als gewone schijf mount.
- Wanneer BeOS netjes wordt afgesloten (Be menu > Shut Down) en de BeBox wordt uitgeschakeld, worden wijzigingen (nieuwe bestanden, attributen, verwijderingen) teruggestuurd naar de Haiku-map.
- Bij conflicten (bestanden op beide zijden gewijzigd) prevaleert de Haiku-versie; de BeOS-versie wordt opgeslagen als
"NAAM (BeBox)".
- Bij een crash wordt het volume behouden zodat BeOS het bij de volgende start kan herstellen.
- Houd de map klein, aangezien de volledige inhoud bij elke start wordt gekopieerd.
Schijfafbeeldingen
Harde schijven kunnen raw-afbeeldingen of QCOW2-afbeeldingen zijn. QCOW2 gebruikt alleen de ruimte die daadwerkelijk is beschreven (thin provisioning) en kan dienen als overlay bovenop een basisafbeelding.
De tool bebox-img beheert deze afbeeldingen en leest bestanden van BeOS BFS-volumes en Hobbit-schijven:
bebox-img create [-f raw|qcow2] [-b BACKING] FILE SIZE
bebox-img info FILE
bebox-img check FILE
bebox-img convert [-O raw|qcow2] SOURCE DESTINATION
bebox-img ls IMAGE [PATH]
bebox-img attr IMAGE PATH
bebox-img extract IMAGE PATH OUTPUT
Voorbeeld: bebox-img extract "BeOS Release 3 PowerPC.iso" /beos/etc/bebox_bootmain.image r3.rom
Op een Hobbit-schijf kopieert extract ook hele directories naar een nieuwe map. Omdat geen enkele BeOS-release het bestandssysteem van de Hobbit kan lezen, is dit de enige manier om bij de bestanden te komen: extraheer ze en geef de map aan een BFS-release als gedeelde map. Let op: Hobbit-programma's draaien niet op PowerPC.
Scripting
Het machinevenster reageert op hey-commando's:
hey BeBox get Running of Window BeBox (status opvragen of instellen)
hey BeBox get Speed of Window BeBox (percentage van real-time)
hey BeBox get LedLevels of Window BeBox (links, rechts 0-15)
hey BeBox get SerialLog 4 of Window BeBox (output van een consolepoort)
hey BeBox set Floppy of Window BeBox to /path/disk.img
hey BeBox type of Window BeBox with text=ls (tekst typen via toetsenbord)
hey BeBox shot of Window BeBox with path=/tmp/screen.png
Andere commando's zijn onder meer get Mips, get EmulatedTime, get DiskLed, get AudioStats, get Profiles, get Profile en set Profile. Daarnaast zijn er commando's voor pwon (power on), pwof (power off), rset (reset) en cadl (Ctrl+Alt+Delete).
Command Line
BeBox start de machine met diverse opties: BeBox [--profile NAME] [--rom-dir DIR] [--boot-rom IMAGE] [--model 66|133|hobbit] [--kernel FILE] [--ram MB] [--video s3|cirrus] [--scsiN-disk FILE] [--scsiN-cd FILE] [--scsiN-share FOLDER] [--ide0 FILE] [--floppy FILE] [--net] [--net-forward SPEC] [--power-on]
bebox-headless start een machine zonder venster, ideaal voor tests en debugging (seriële poorten naar bestanden/TCP, gescripte input, screenshots, memory dumps). Gebruik bebox-headless --help voor meer opties.
Bouwen (Building)
Op Haiku (met haikudevel, zlibdevel en libslirp_devel):
make bouwt de applicatie.
package/build-package.sh bouwt de app en tools en maakt het pakket.
Op Linux: De core is geschreven in portable C++17.
make -C tests/linux check voert processor-tests uit (met qemu-ppc als referentie), Hobbit-tests, multiprocessor- en device-tests, en QCOW2-tests (met qemu-img), onder AddressSanitizer en UndefinedBehaviorSanitizer.
tests/boot-regression.sh boot elke BeOS-release en de Hobbit-schijven headless via overlays.
tests/vm-test.sh user@haiku-host bouwt de app op een Haiku-machine en bestuurt deze met hey.
Details over de hardware en het ontwerp zijn te vinden in de map design/.
Auteurs en Licentie
- Auteurs: Claude Opus 5.5, John Rash.
- Licentie: MIT (zie LICENSE).
- Artwork: Het applicatie-icoon (
artwork/BeBox.hvif) is gemaakt door zuMi (MIT License). De iconen in artwork/icons komen uit de Haiku-iconenset (MIT, Haiku, Inc.).
De BeBox ROM's en BeOS maken geen deel uit van dit project.