ack/plat/msdos386
tkchia 15955282f6 plat/msdos386: fix some issues in libsys code
- ensure es = ds = ss upon exit of each C runtime function
 - clear upper 16 bits of ebx before setting them to 0x0021,
   when invoking interrupt_ptr to simulate a RM int 0x21
 - make _sys_exists use the transfer buffer (which it needs)
 - make _sys_rawread properly handle an end-of-file read
   (zero bytes read)
 - make argument to _sys_seterrno short --- after a failed
   int 0x21 call, only the lower 16 bits of eax hold the MS-DOs
   error code
 - _sys_rawlseek accepts only 3 longword arguments, not 4
   (the offset is only 1 longword)
 - other minor fixes
2022-08-24 15:17:04 +00:00
..
include Add the nonfunctional boilerplate for the MSDOS 386 port. 2022-08-03 20:41:06 +02:00
libsys plat/msdos386: fix some issues in libsys code 2022-08-24 15:17:04 +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 We can now load and run 32-bit protected-mode executables. We have not, 2022-08-09 23:49:18 +02: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