I suggest that we use dev86 for our development environment. It includes a C compiler capable of generating both real mode and protected mode code, along with libraries for each and binutils, amongst other toys.
Its output formats include Linux OMAGIC, ELKS, DOS .COM (small or tiny model), and - this is the important one - standalone code. It has libraries suitable for each target.
It can be found at http://www.linux.org.uk/ELKS-Home/dev14.html
I've also been investigating testing possibilities - Dosemu and Bochs seem to be the main contenders. Of these, Bochs does a more complete emulation of the hardware. So much so, in fact, that it can even run Win95 in an X window, albeit slowly.
In general, the BIOS in Dosemu does callbacks into the Dosemu code, while the Bochs BIOS code actually tries to manipulate the hardware, letting the Bochs host code trap and emulate the actual IO accesses. This means that we'd be better off testing our BIOS code under Bochs.
Bochs is available at http://world.std.com/~bochs
The general registration fee for BOCHS is $25 per workstation, PC, or X-terminal, and should be paid by check in U.S. funds to:
Kevin Lawton Bochs Software Company 528 Lexington St. Waltham, MA 02154
Both Bochs and Dosemu have BIOS code which we can learn from, but can't copy. Bochs is commercial, and Dosemu GPL. Neither can be used if we intend to release OpenBIOS under LGPL.
The interesting bits are: bochs-980124/bios/rombios.c and dosemu-0.97.3/src/base/bios/bios.S
---- ---- ---- David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355 Dave@imladris.demon.co.uk http://dwmw2.robinson.cam.ac.uk finger firstname.lastname@example.org for PGP key.
--- OpenBIOS -- http://www.linkscape.net/openbios/ email@example.com Body: un/subscribe Problems? firstname.lastname@example.org