ack/plat/msdos386
tkchia 95ed8ee484 plat/msdos386: fix startup code so that it works under dosemu2
- do not try to store data through code segment selectors
 - set each segment limit to segment size - 1, not segment size
 - get PSP segment while still in real/V86 mode (DPMI host
   might choose to return PM selector for int 0x21, ah = 0x62)
 - other minor fixes
2022-08-23 14:35:43 +00:00
..
include Add the nonfunctional boilerplate for the MSDOS 386 port. 2022-08-03 20:41:06 +02:00
libsys Fix typo. 2022-08-19 20:03:48 +02:00
boot.s plat/msdos386: fix startup code so that it works under dosemu2 2022-08-23 14:35:43 +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 startup code so that it works under dosemu2 2022-08-23 14:35:43 +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