2007-02-20 00:25:12 +00:00
|
|
|
# $Source$
|
|
|
|
# $State$
|
2007-02-20 00:31:54 +00:00
|
|
|
# $Revision$
|
2007-02-20 00:25:12 +00:00
|
|
|
|
2007-04-21 22:59:42 +00:00
|
|
|
|
2007-02-20 00:25:12 +00:00
|
|
|
The pc86 platform
|
|
|
|
=================
|
|
|
|
|
|
|
|
pc86 is an i86-based BSP that produces bootable floppy disk images that can
|
|
|
|
be run on most PCs. It is intended to be quick and dirty rather than actually
|
|
|
|
useful, although it may come in handy for hardware test purposes, boot
|
|
|
|
loaders, and the like.
|
|
|
|
|
|
|
|
The code runs in TINY mode, where CS, DS and SS all share the same segment.
|
|
|
|
This means that there's not very much memory available. It would be very easy
|
|
|
|
to change it to run in SMALL mode, where CS occupies one segment and DS and SS
|
|
|
|
another, which would give 64kB for nearly all programs; I just haven't done it.
|
|
|
|
|
2007-04-28 22:34:47 +00:00
|
|
|
IEEE floating point is available, but requires an FPU.
|
|
|
|
|
2007-04-21 22:59:42 +00:00
|
|
|
This port only implements a very limited set of syscalls --- and most of those
|
|
|
|
are stubs required to make the demo apps link. File descriptors 0, 1 and 2
|
|
|
|
represent the console. All reads block. There's enough TTY emulation to allow
|
|
|
|
\n conversion and local echo (but it can't be turned off).
|
2007-02-20 00:25:12 +00:00
|
|
|
|
2016-11-25 19:28:41 +00:00
|
|
|
Console output is echoed to the serial port (without any setup). This is used
|
|
|
|
by qemu for running tests.
|
|
|
|
|
2007-02-20 00:25:12 +00:00
|
|
|
|
|
|
|
Example command line
|
|
|
|
====================
|
|
|
|
|
2007-04-21 22:59:42 +00:00
|
|
|
ack -mpc86 -O -o pc86.img examples/paranoia.c
|
2007-02-20 00:25:12 +00:00
|
|
|
|
|
|
|
The file pc86.img can then be copied onto a floppy and booted, or run via qemu
|
|
|
|
or somesuch emulator.
|
|
|
|
|
2007-04-21 22:59:42 +00:00
|
|
|
|
2007-02-20 00:25:12 +00:00
|
|
|
David Given
|
|
|
|
dg@cowlark.com
|