2007-04-27 22:42:41 +00:00
|
|
|
# $Source$
|
|
|
|
# $State$
|
|
|
|
# $Revision$
|
|
|
|
|
|
|
|
|
|
|
|
The cpm platform
|
|
|
|
=================
|
|
|
|
|
|
|
|
cpm is an i80-based BSP that generates CP/M executables that can be run on any
|
|
|
|
CP/M-compliant machine.
|
|
|
|
|
|
|
|
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
|
2018-05-07 20:08:44 +00:00
|
|
|
represent the console. Each read() blocks and reads an entire line (it can't
|
|
|
|
read part of a line) from the CP/M line editor, then appends \n. Each write()
|
|
|
|
converts \n to \r\n. The line editor and \n conversion can't be turned off.
|
2007-04-27 22:42:41 +00:00
|
|
|
|
|
|
|
There's a special, if rather minimilist, interface to give applications access
|
|
|
|
to CP/M. See include/cpm.h for details.
|
|
|
|
|
2018-05-07 20:08:44 +00:00
|
|
|
Link with `ack -fp` to enable software floating point. Otherwise, attempts to
|
|
|
|
use floating-point numbers will cause the program to terminate.
|
2007-04-28 22:34:47 +00:00
|
|
|
|
2007-04-27 22:42:41 +00:00
|
|
|
|
|
|
|
Example command line
|
|
|
|
====================
|
|
|
|
|
|
|
|
ack -mcpm -O -o cpm.com examples/paranoia.c
|
|
|
|
|
|
|
|
The file cpm.com can then be run.
|
|
|
|
|
|
|
|
(Although note that Paranoia is very big, and you'll need a CP/M machine with
|
|
|
|
lots of memory for it to fit. Which it does, just.)
|
|
|
|
|
|
|
|
|
|
|
|
David Given
|
|
|
|
dg@cowlark.com
|