On Wed, 26 Nov 2014 03:30:47 -0500, Paul Edwards <
kerr...@w3.to> wrote:
> On Wednesday, November 26, 2014 6:53:07 PM UTC+11, Alexei A. Frounze
> wrote:
[earlier]
> What 32-bit C compilers exist that can produce
> a 16-bit real mode 8086 executable?
> Is Open Watcom the one and only?
>
[currently]
> I believe Open Watcom has similarly abandoned
> 16-bit MSDOS as a development environment.
An 8086 executable? Yeah, I'm not sure.
A 16-bit DOS executable? There are a few,
mostly obsolete now, and some hard to find.
Searching for 16-bit DOS C compilers ...
Turbo C - Yes.
Borland C - Yes.
OpenWatcom - Yes.
Digital Mars - Yes.
Microsoft - Yes.
Pacific C - Yes.
Desmet C - Yes.
DJGPP - Yes. (see notes)
LCC - Yes.
BCC - Yes.
PCC - Yes.
Miracle C - ???
LCC-Win32 - No.
Pelles C - No.
DiceRTE - No.
Ladsoft CC386 - No.
Ladsoft Orange - No.
MinGW - No.
Cygwin - No.
Notes:
DJGPP's 16-bit capabilities are very rudimentary.
It's not available as part of the normal install.
OpenWatcom supported DOS as of version 1.3 and
their homepage says version 1.9 supports DOS (2010),
which is supposedly the lastest version. It's 2014,
not 2010. So, I don't know if their webpage is old
or what. If the latest version doesn't support DOS,
then try to get an older version. Version 1.3 definately
supports 16-bit DOS. It works well for me for 16-bit
code, but I haven't tried to target the 8086. The
CGUIDE.IHP for version 1.3 says it supports 8086,
80186, 80286, 80386, 80486, Pentium, and Pentium Pro.
Digital Mars claims their C compilers still support
a variety of 16-bit DOS targets, much like OpenWatcom.
I haven't used their compilers, but they should be
as good as OpenWatcom or even better.
Microsoft released a variety, but are now hard to
find. Visual C++ 1.52b, or perhaps 1.52c, was the
last 16-bit DOS version.
Pacific C was released or open licensed for the
Freedos project (16-bit).
LCC release versions 3.5 and 3.6 which supported
16-bit DOS, but they rapidly converted to only
32-bit with versions 4.1 and 4.2. IIRC, the Borland
C compiler, or perhaps Turbo C, is needed to build
the DOS versions too.
BCC (Bruce's C Compiler, not Borland C++ Compiler)
is supposed to produce 16-bit code for 8086. At
least one person on alt.os.development mentioned
using this compiler for 16-bit code. This seems
to be available for Linux hosts. I'm not sure
about DOS.
PCC - Apparently, there were some 16-bit ports of
PCC for 8086 and 80286. I couldn't find out if
these are for DOS.
Miracle C - Many sites say Miracle C is 16-bit, but
I can only find a website for a Windows version.
So, there might've been 16-bit versions.
Obviously, I didn't post links this time. Let me
know if you can't find something, except M$ product.
Rod Pemberton