25b6712e63
them without luaposix, which isn't available (easily) on OSX or Windows. |
||
---|---|---|
.. | ||
emu | ||
include | ||
libsys | ||
tests | ||
boot.s | ||
build-pkg.lua | ||
build-tools.lua | ||
descr | ||
README |
The cpm platform ================= cpm is an i80-based BSP that generates CP/M executables that can be run on any CP/M-compliant machine. CP/M has special needs in many ways, the main one being that it doesn't support byte-accessible files --- only complete 128-byte sectors can be read or written. The port's read/write/open/close/lseek etc should handle this transparently, but trying to write a fragment of a sector will involve a read/modify/write cycle. No buffering is done (that's stdio's job). File descriptors 0, 1 and 2 represent the console, as usual. In addition, there's a special interface to give applications direct access to CP/M. See include/cpm.h for details. Floating point is not supported and 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