ack/plat/msdos386
tkchia cba54b205b plat/msdos386: refactor, firm up, and optimize
- refactor code for transfer buffer reads/writes, real mode
   int 0x21 calls, and assembler segment declarations
 - define transfer buffer size in one place
 - beef up error checking for transfer buffer operations
   (prevent buffer overflows)
 - also optimize such operations to transfer dword by dword
   where feasible
2022-08-26 17:31:28 +00:00
..
include Add the nonfunctional boilerplate for the MSDOS 386 port. 2022-08-03 20:41:06 +02:00
libsys plat/msdos386: refactor, firm up, and optimize 2022-08-26 17:31:28 +00:00
boot.s plat/msdos386: fix a few more issues with startup and stub code 2022-08-24 10:17:15 +00:00
build-pkg.lua plat/msdos386: refactor, firm up, and optimize 2022-08-26 17:31:28 +00:00
build-tools.lua Add the nonfunctional boilerplate for the MSDOS 386 port. 2022-08-03 20:41:06 +02:00
descr Most of read and write now works; filename-based operations partially work; but 2022-08-19 00:08:57 +02:00
README Update documentation. 2022-08-19 20:08:39 +02:00
stub.s plat/msdos386: fix a few more issues with startup and stub code 2022-08-24 10:17:15 +00:00

The msdos386 platform
=====================

msdos386 is an i386-based BSP that produces DPMI DOS executables. It should
have the same functionality as msdos86 (as the libc is all the same code), but
has been much less well tested.

The code runs in flat 32-bit mode, so normal 32-bit pointers work with no
worries about segmentation. It requires a DPMI host to run; it was tested with
CWSDPMI. It will _not_ automatically load the host --- you need to manually
install the DPMI hsot first.

IEEE floating point is available, but requires an FPU.


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

ack -mmsdos386 -O -o msdos386.exe examples/paranoia.c


David Given
dg@cowlark.com