

(Though I don't know how complete its support is for the various memory models and calling conventions used in the 16-bit x86 ecosystem.) no DJGPP) and you want something with a more modern optimizer than the one in Open Watcom C/C++, there's a fork of GCC named GCC IA16 that you can try.

If your project must run in real mode (ie. Lots of other formats you probably don't care about.Windows 3.1 EXEs (with or without the Win386 extender).protected-mode EXEs (with your choice of several extenders).real-mode EXEs (there's a separate set of options to select minimum CPU requirement).OpenWatcom can target a lot of retro-platforms: (I use it to build various DOS and Windows test EXEs from Linux.) OpenWatcom can target all supported platforms from a single install. If you want to putter around with Windows 3.1 programming, OpenWatcom includes Win386, a 32-bit extender for Window 3.x which was used by companies like Sierra for their Windows 3.1 games before Microsoft produced their own "Win32s" 32-bit API addon. If you don't want nostalgia, OpenWatcom bundles newer, better alternatives to DOS/4GW, like DOS/32 and PMODE/W. In fact, DOS/4GW's creator was trying to dig up the source code for a newer version of DOS/4GW to contribute to Open Watcom when he passed away. (When you see a game like DOOM saying "DOS/4GW Protected Mode Runtime" when it starts, that means that it was built using Watcom C/C++, because DOS/4GW is the special Watcom bundle version of DOS/4G.) OpenWatcom still includes the free license to use DOS/4GW that made it so popular back in the day. No matter what you're trying to do, OpenWatcom ( source) is likely to meet your needs. (Including a Turbo Vision port with an installation HOWTO) It's a protected-mode DOS port of GCC and probably has the largest selection of libraries and guides available of any of the open-source options.

Here are a bunch of details others have missed:
