ack/plat/pc86
David Given 25b6712e63 Rework all the ackbuilder scripts not to use wildcards, because we can't expand
them without luaposix, which isn't available (easily) on OSX or Windows.
2022-07-14 23:57:54 +02:00
..
emu Rework all the ackbuilder scripts not to use wildcards, because we can't expand 2022-07-14 23:57:54 +02:00
include Move time() into sys; change the name of the variable which controls it. 2018-06-23 19:40:50 +02:00
libsys Rework all the ackbuilder scripts not to use wildcards, because we can't expand 2022-07-14 23:57:54 +02:00
tests Add first long-long test for linux386. 2019-09-05 13:13:02 -04:00
boot.s Add .seek asm pseudo-op, advances location counter to fixed offset 2021-03-19 13:36:24 +00:00
build-pkg.lua Turns out I wasn't building the syscall libraries. Do so. 2016-08-14 11:23:57 +02:00
build-tools.lua Biggish refactor to break cycles; my build rules were full of them. cpm builds, 2016-08-14 01:39:40 +02:00
descr Fix register corruption when incrementing locals; attempt to solve the 2019-06-17 23:31:54 +02:00
README Make pc86 echo console output to the serial port, so qemu can pipe it to 2016-11-25 20:28:41 +01: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.

IEEE floating point is available, but requires an FPU.

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).

Console output is echoed to the serial port (without any setup). This is used
by qemu for running tests.


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

ack -mpc86 -O -o pc86.img examples/paranoia.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