I have struggled with something for quite some time - lack of compiler
support, but work on SubC made me realize something.
The PDOS project includes a C compiler, pdcc, which is not functional
as a compiler yet (or rather, it's very minimal), but it does have a fully
functional preprocessor.
When I'm using SubC (which only supports "int"), I use pdcc with a
-Dlong=int so that long compiles on 80386 etc.
Up till now I've been limited by Watcom C where int is 16-bit. But I
just realized that I should be able to use pdcc with -Dint=long to
force all of the PDOS code to use 32-bit integers on RM16/PM16.
And Microsoft C 5.1 on DOS 4.01 should give me the same thing.
And SubC backends are pretty minimal. I should be able to write
one that uses huge pointers and 32-bit integers.
So I believe I am now in a position to create a PM16 version of PDOS/86
(instead of just RM16)
And I can nominally do all the development on DOS 4.0
Note that I will transition from PM16 to RM16 (and back again) in order
to do BIOS interrupts (same as PDOS/386 does).
Also note that I will be creating a descriptor table that gives me "flat"
(contiguous) memory.
And I'll use NE executables.
I'm not sure if I've missed anything. This has been a longstanding goal. |