ack/plat/pc86
2007-02-25 12:51:55 +00:00
..
libsys Added some missing CVS headers and did a bit of cleaning up. 2007-02-20 00:31:54 +00:00
.distr Updated .distr files for the new release. 2007-02-25 12:51:55 +00:00
boot.s Added some missing CVS headers and did a bit of cleaning up. 2007-02-20 00:31:54 +00:00
descr Added some missing CVS headers and did a bit of cleaning up. 2007-02-20 00:31:54 +00:00
pmfile Added some missing CVS headers and did a bit of cleaning up. 2007-02-20 00:31:54 +00:00
README Added some missing CVS headers and did a bit of cleaning up. 2007-02-20 00:31:54 +00:00

# $Source$
# $State$
# $Revision$

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.

This port uses a syscall interface, which means you get *all* of the ACK's
builtin libc with no shortcuts. File descriptors 0, 1 and 2 represent the
console. All reads block. There's enough TTY emulation to allow \n conversion
(set RAW to turn off) and local echo (unset ECHO to turn off); this is needed
to make Basic work.

Language support
================

Tested with C (both), Basic, Pascal, Occam, Modula-2.

Basic works, but because Basic programs require access to a data file to work,
and pc86 doesn't (of course) have a file system, programs won't start unless
you hack the compiler not to try and open it.

Example command line
====================

ack -mpc86 -O -ansi -o pc86.img test.c

The file pc86.img can then be copied onto a floppy and booted, or run via qemu
or somesuch emulator.

David Given
dg@cowlark.com