Bochs x86 for XBox v1

http://bochs.sourceforge.net/

Put files in \BOCHS

This is an x86 emulator for the XBox.  This basically emulates a PC and allows you
to install DOS, Linux, Windows, etc onto it.  There is also a virtual SB16
card to output SB16 sound (except for MIDI which doesn't work yet.)
There is no network support in this version, though - so don't get your
hopes up about running a linux server.  The linux-xbox project will work
much better than any emulation anyway.  I ported Bochs primarily to play old
DOS games.

If you copy all the files in the zip file to a subdirectory on your XBox,
you'll be able to run Bochs right away to play around with it.  You're not
going to be able to do much with this unless you use a keyboard of some sort.
There are two ways to do this:

1) (Preferred) Construct a USB->Xbox cable.  Buy an xbox controller extension
cable, a usb extension cable, cut them in half, connect the some-colored
wires on both ends, wrap the connections in electrical tape, and voila.
Here's a web page with some pictures:

http://www.crusaders.no/~joker/xbox/keyboard.htm

Note that you do not need to solder anything if you're using a USB extension
cable.  Just connect the wires by twisting them together and wrapping them in
electrical tape.

2) Use the keyboardserver.exe program included in this ZIP.  Run bochs.xbe,
go into the emulation mode (you must have bochs running the emulation first!)
then start the keyboardserver.exe on your windows box like this:

keyboardserver 192.168.123.89

where 192.168.123.89 is the IP address of your XBox.  Now whatever you type
into the window will show up in the emulator.

Explaining how to use the emulator is easiest by example:

Let's say you want to play Space Quest 1.  You have a file called SQ1.ZIP
that contains the game files.  Upload this file to your \BOCHS subdirectory
on your XBox.  Run bochs.xbe and you'll see SQ1.ZIP in the file listing.
Highlight it and press the B button to flag it.  You can flag as many
files as you want.  When done selecting files, press the A button to
copy them into the HD image and to start the emulation.  The files you
selected have been copied into the D:\INCOMING directory inside the emulator.
Now you can pkunzip the sq1.zip file to a directory, install the game as you
normally would under DOS and run it.

There is a file called mtoolsrc which specifies which HD image file
will receive the files copied from inside bochs.xbe.  If you change mtoolsrc,
you should make sure that the img file you select has a \INCOMING directory
on it or else the copying will fail.  Furthermore, do not change mtoolsrc
to point to your boot drive img because after lots of copies it can become
corrupt.  Always have mtoolsrc point to a "scratch" hard disk image.
This corruption I speak of relates *only* to hard drive image files (e.g.
cdrive.img, ddrive.img)  It has *nothing* to do with your XBox hard drive,
so don't worry about it.

The bochsxbox file is the bochs configuration file.  Read the information
on the bochs webpage for details on how to change the information
in this file.  Mostly, you'll probably just want to change the c drive
and d drive specification in here.

The bximage file creates a floppy disk or hard disk image of any size.
It's a windows/dos program.  Run it and specify the image you want to create.
Then you can change bochsxbox to point to this new image and use it
as you normally would with bochs.

The msdos.img file is a DOS 6.22 system disk and will be in your A drive
at startup of the emulator.  There are format, fdisk, and sys executables
on there so you can partition, format, and transfer system files onto
new hard drive images made with bximage.

The xboxkey.map file allows you to configure the XBox controller so that
each button corresponds to a keyboard entry.  The instructions for how
to do so are inside the xboxkey.map file.

The moslo utility has been included on the cdrive.img for running super-old DOS
games at a slower speed.  Pkunzip.exe is also on there along with a VGA demo,
and 3 games:

Blockade
Brucelee
King's Quest 1 (remake)

They reside in C:\INCOMING

I've tried installing DOS, Windows for Workgroups 3.11, Windows 95, and Redhat.
They all installed fine and they all work.  Windows 95 runs pretty slowly.
I didn't try any X11 stuff in linux, but I suspect it would also be slow.
Also, Windows 95 takes f-o-r-e-v-e-r to install.  *Be patient*  It *will* finish.
Once it's installed it runs at a somewhat acceptable speed.  Like I said,
this is really an emulator for playing old DOS games.  If you're expecting to
play games like DOOM, though, I have some bad news.  It's too slow to be
playable.  Bochs is pretty accurate, but the cost is speed.  You'll be able
to play hundreds of other old DOS games though.

Another thing to note - there is no way to restart the emulation except by
restarting bochs.xbe.  This also means that you can only flag/copy files
from the main menu *once* at the startup of bochs.xbe.  If you start emulating
bochs, then go back to the main menu, copy flag some files, and go back into
the emulator, you won't see the files on the d drive image.  You'll have to
restart bochs.xbe before you can see those files.  This is somewhat inconvenient,
but unfortunately there's no provision for cleanly restarting bochs in the source
code.

I hope I haven't forgotten anything important!

Enjoy!

Stella, Gnuboy, SMSPlus, FCEUltra, HUGO, NeoPop, DGen, Bochs....what's next?

md5sums

f0976cf487659aa2f15d112b12bc69c1 *BIOS-bochs-latest
fc4c39337aba195adbcba65a0ca3ec1e *bochs.bak
77a48a44635720c8349a28dbe60b66cb *bochs.xbe
7f596e55223095f935a219d03e4daf2b *bochsxbox
08953fb680c26b693461f77ff304b466 *bximage.exe
7dc6dd4b3d307fadf72a924c8ffcb06b *cdrive.img
689cb1c2c422f26f8117a1c24fe50a74 *ddrive.img
4dcbbf89c4def853d1fd39320281d853 *keyboardserver.exe
b86b9a545b6345c6c615060f9838a732 *msdos.img
e6d7b7a59df514734b37f641872a07f8 *mtoolsrc
7459d28d9551f656fa273571198c3897 *VGABIOS-elpin-2.40
f9a43aef61fee782f93d59fadd4862a3 *xboxkey.map