BeOS Bible - Emulation 3
BeOS Bible - Emulation 3
Game Emulators
Chapter Summary
In This Section:
Emulators
Bochs (x86)
UAE (AmigaOS)
Basilisk (Mac Classic)
Open Bernie (Apple II+, IIe, IIgs)
BeBeeb (Acorn BBC Micro)
BeZX (Sinclair Spectrum)
Frodo (Commodore 64)
Game Emulators
BeMAME (Multiple Arcade Machine Emulator)
Snes9x (Super Nintendo Entertainment System)
Chapter Summary
Emulators
The majority of emulators available for BeOS are true emulators, which make it possible to run operating systems and
games designed for a wide variety of hardware platforms from your PowerPC or x86 BeOS machine.
Bochs (x86)
With the early success of SheepShaver enabling Mac users to boot MacOS from within BeOS, one might expect there
to be a similar option to let BeOS users run Microsoft Windows inside a BeOS window. While nothing like
SheepShaver exists for running Windows in BeOS just yet, it is possible to install an emulator called Bochs that re-
creates enough of the x86 CPU, chipset, and BIOS information to run DOS, Windows 3.1, Windows 95/98, Minix,
and potentially other x86-based operating systems from within BeOS (Linux is not currently on this list, though it
should be possible to do).
Figure 14
Bochs for BeOS booting Windows 95 from its disk image for the first time.
Bochs runs on both PowerPC and x86 versions of BeOS. In fact, Bochs runs on many platforms--it was running on
Sun SparcStations and other Unix hardware before it was ported to BeOS. But this raises an interesting question: A
few pages ago I told you that true emulation was not necessary if both the host OS and the alien OS could use the
same hardware. So why should it be necessary to emulate x86 hardware if you're already running on x86 hardware?
It's a good question, but it's not the right question. Bochs is an x86 emulator, pure and simple. It's not an application
meant specifically to let you run Windows programs from within BeOS. You may be able to do that with it, but that's
not its sole purpose in life.
So what does it take to get Bochs up and running? As of this writing, quite a bit. In fact, we were not able to
successfully get Bochs up and running at all during testing with early versions. However, Bochs, Inc. issued a press
release during Comdex '98 stating their commitment to make Bochs for BeOS much easier to install and configure.
Additionally, the company has promised great strides in performance for upcoming versions; keep an eye on
www.bochs.com for updates. The commercial potential for a user-friendly Windows runtime environment or emulator
for BeOS is quite high, so don't be surprised if some kind of "WinShaver" application appears in the future (either
from Bochs or from another company).
Most of the emulators described in the rest of this chapter require a ROM image copied from the original
hardware they're emulating. Instructions for obtaining this ROM image are different for each emulator, but
generally involve using a special utility provided with the emulator itself. Read the included documentation
carefully, and don't use ROMs from machines you don't legally own.
UAE (AmigaOS)
As those who have been following Be for a while know, the BeOS community includes more than its fair share of
Amiga enthusiasts. BeOS has, in fact, been called "the new Amiga" by some--and for good reason. The BeOS focus
on digital media, excellent design, and cutting-edge technologies does display a certain spiritual continuity with the
Amiga's legacy. In the days of the BeBox, there were even more parallels to draw, since the Commodore Amiga was
also a proprietary box with a digital-content-creation emphasis. For those still in love with their Amigas, or simply
addicted to Amiga programs that lack a BeOS parallel, the Un*x Amiga Emulator (UAE) is capable of emulating the
hardware in Amiga models 500, 1000, and 2000.
Figure 15
The Un*x Amiga Emulator running AmigaOS in a BeOS window.
UAE is available on BeWare, but before you start thinking that this is your big chance to see what it's like to run
AmigaOS, you'll need to get legit. As noted earlier, UAE emulates Amiga hardware--it doesn't give you the operating
system code to boot on that emulated hardware. In order to boot AmigaOS from within BeOS, you'll need to copy
your Amiga's boot ROM over to your BeOS machine first. Don't have a spare Amiga sitting around? You'll have to
either buy one or purchase the boot ROM on CD. More information is available at www.freiburg.linux.de/~uae/.
Figure 16
An early version of MacOS running in a Basilisk window, which emulates the hardware of the Mac Classic.
Open Bernie (Apple II+, IIe, IIgs)
If you've got an old Apple II+, IIe, or IIgs gathering dust in the garage, go grab its ROM, download a copy of Open
Bernie, and fire up a pre-GUI, pre-MacOS, bona fide Apple computing environment like the one you used in high
school all those years ago (OK, I've just dated myself). Bernie is known for its great performance as an emulator, can
be run in window or full-screen modes, and supports stereo sound, virtual disk drives, and mouse/keyboard emulation.
The history of computing is strewn with stories that seem odd given today's computing climate. In the early 80s, the
British Broadcasting Corporation launched "The BBC Computer Literacy Project." They had a lot of ideas about what
they wanted computers to do in the project (including artificial intelligence, hardware control, and graphics/sound),
and since nothing on the computing landscape at the time quite fit the bill, they went shopping for a machine. To make
a long story short, a company called Acorn created the BBC Micro for this project and ended up selling nearly a
million units. These days, Acorn makes the StrongARM chip found in some PDAs, and has built a variety of
"RISCPC" systems as well. But if you've got a BBC Micro you can copy the ROMs from, you'll be able to emulate its
hardware in BeOS with BeBeeb, which is available from BeWare. Learn more about the history of the BBC Micro at
www.nvg.ntnu.no/bbc/.
Game Emulators
Unlike standard computer hardware, console games typically don't have disk drives, keyboards, or other devices
necessary to hoover out ROM images. The only available tool is the console's backup mechanism, which is intended
for saving copies of your cartridges to hard disk in case the original cartridge is lost or damaged. Read the licensing
agreement that came with your cartridge system to make sure you're allowed to do this.
Figure 18 If you spent half your junior high lunch money dropping quarter after
Return to the grand old days of Space quarter into ravenous Space Invaders or Ms. Pac-Man machines at the
Invaders and Ms. Pac Man by playing local 7-11, you may be unimpressed with the current state of arcade
classice arcade games in a BeOS gaming. 24-bit color, thundering sound, 3D monsters, 17 joysticks, and
window. two foot pedals ... who needs all of that nonsense? For some of us, the first
arcade games are still the best. Fortunately, you can still enjoy many of
those old arcade-style games by downloading a copy of BeMAME, which
emulates as much of that early arcade hardware as possible. You'll have to
do your own research to find playable game ROMs, but the emulator itself
is absolutely free, and can be found on BeWare (PowerPC only at this
writing, though an x86 version is expected soon). If you prefer your
games with an accompanying soundtrack, remember to download sound
samples as well (they're usually available wherever ROMs are
distributed). To get maximum use out of BeMAME, you'll probably want
to print out the list of hotkeys, which you'll find in the README. I'll give
you a hint: Press 3 to emulate the act of dropping a quarter into the slot.
A PowerPC-only port of a Nintendo GameBoy emulator is also available on BeWare. However, it's quite
outdated, and it appears that the original author is disallowing further ports due to abuse of his source code.
Client/Server Environments
While they don't fit into either the "true emulation" or "runtime environment" categories, there are a couple of other
ways to run (or appear to run) software from other operating systems under BeOS. Learn about the X-Windows
server in Chapter 15, Other Goodies, and the Virtual Network Client in Chapter 8, Networking.
Chapter Summary
There are two major types of emulation: "true emulation," where some kind of hardware is faked in the host
system to satisfy the requirements of another operating system, and "runtime environments," where hardware
does not need to be emulated, but a negotiation layer is needed between the host system and the alien system.
Emulators emulate hardware, not software. After downloading an emulator, you'll still need to obtain a ROM
image or other boot code to run inside the emulator, in addition to any actual application software you want to
run. You must be the legitimate owner of the ROMs you run within your emulators. Think of an emulator as if it
were a real machine--purchasing it does not automatically get you the operating system or the applications to
run on it.
SheepShaver, a runtime environment that lets you boot MacOS inside a BeOS window, is currently the most
sophisticated and user-friendly runtime environment available for BeOS.
There is currently no available BeOS runtime environment for Windows or Linux. There is, however, an x86
emulator called Bochs, which was in an early stage of development at this writing but may become a viable way
to run Windows software from within BeOS in the future. The market for a user-friendly Windows runtime
environment is ripe.
Emulators are currently available for quite a few historical hardware platforms, in addition to a couple of
console game platforms.