67. What do I need to compile a 16 bit DOS or Windows 3.1 program?
This question comes up more often than you would imagine, as people are
called upon to maintain old code that will only work on 16 bit platforms due to
hardware requirements, or would be prohibitively expensive to port.
The last 16 bit compiler that Microsoft produced was Visual C 1.52c, and this
can produce programs for both DOS and 16 bit Windows 3.x
If you are a registered owner of the current Visual C++ 32-bit product you can
contact Microsoft and ask for a VC 1.52c CD for a nominal fee. That's the case at
the time of writing, but circumstances can of course change.
You can try and buy second-hand on EBay: the original product is probably
long gone now, but a copy of 1.52c used to ship in the box with 32-bit Visual
C++ 4.0, so that's the one you'd have to aim for.
For details of all the Microsoft compiler products past and present, see here
:
support.microsoft.com/support/kb/articles/Q145/6/69.ASP
Somewhat sketchy downgrading instructions are here (U.S. oriented, naturally)
:
msdn.microsoft.com/visualc/prodinfo/previous/downgrade.asp
.
You can also contact your local Microsoft subsidiary direct, but be prepared
for a struggle : many Microsoft staff don't even know that the 16 bit product
existed, let alone that you can still get it. Certain EULA (End-User Licence
Agreement) texts permit downgrading as of right : I believe this applies to
commercial volume licence agreements. It appears from the page quoted above that
this "privilege" <sheesh> also applies to the compiler product
licences.
However you contact Microsoft, be prepared to provide your valid licence
information. That would be your MSDN licence number, or the product
identification number from your copy of VC 6.0. That's the number it gave you
when you installed it. You know, the one you didn't write down :-)