How to get colorforth running under bochs
Install and patch bochs
Get the source for bochs 2.1.1: http://bochs.sourceforge.net/getcurrent.html
Note: bochs-2.1.1 seems to work (as described below) and bochs-2.2.1 does not.
Download patch.floppy-athiel from bochs cvs: http://cvs.sourceforge.net/viewcvs.py/bochs/bochs/patches/
Untar the sources and cd into the main source directory. Apply the patch with this command:
$ patch -p0 < ../patch.floppy-athiel
Now when you build bochs, be sure to pass --enable-vbe
to ./configure
Build colorforth
You will need a special version of colorforth (vesa-chuck-8bit) that works with bochs. (This version does 8 bit graphics.) You can download it from http://personalwebs.oakland.edu/~maslicke/colorforth/
(The above page seems to be down, but it looks like Tim Neitz has a copy available at http://www.dnd.utwente.nl/~tim/colorforth/bochs/)
Unfortunately you need an x86 assembler to build colorforth.
$ make fd.img
this gives you the file fd.img
. Now we just need to tell bochs that this
file is a floppy in drive A: and that it should boot from it.
Configuring bochs
In the directory you're going to run bochs in, have your fd.img file and a file
named .bochsrc
with the following settings:
romimage: file=/usr/share/bochs/BIOS-bochs-latest, address=0xf0000 vgaromimage: /usr/share/bochs/VGABIOS-lgpl-latest megs: 32 floppya: 1_44=fd.img, status=inserted boot: floppy ips: 1000000
Note: you may have to fix the paths to the BIOS-bochs-latest and VGABIOS-lgpl-latest above.
Run it!
$ bochs
tell it to run. this should be the default option; you should be able to just
press enter. If you compiled bochs with debugger support, it will pop into the
debugger, just go back to the terminal you ran bochs in and type continue
and press enter.
colorforth should apear in a seccond or 10 in the bochs window.
It will run painfully slow.