# $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 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. There's a special, if rather minimilist, interface to give applications access to CP/M. See include/cpm.h for details. Link with `ack -fp` to enable software floating point. Otherwise, attempts to use floating-point numbers will cause the program to terminate. 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