1010
1111## Introduction
1212
13- This application is an example 16 bit Windows application written in C. It
13+ This application is an example Windows 1 application written in C. It
1414accompanies the
1515[ Building Win16 GUI Applications in C] ( http://www.transmissionzero.co.uk/computing/win16-apps-in-c/ )
1616article on [ Transmission Zero] ( http://www.transmissionzero.co.uk/ ) .
@@ -36,10 +36,28 @@ Windows 3.1.
3636
3737## Building the Application
3838
39- To build the application you will either need Microsoft C 4 with a Windows 1 SDK
40- or Microsoft C 5 with a Windows 2 SDK. To perform the build, open a command
41- prompt (with the relevant environment variables set that Microsoft C needs),
42- change to the directory containing the Makefile, and run "make Win1App".
39+ To build the application you will need Microsoft C 4 and a Windows 1 SDK.
40+ Microsoft C 4 also works with a Windows 2 SDK, and although the executables it
41+ produces target Windows 2, they seem to run fine on Windows 1. You can also
42+ build the application with Microsoft C 5 and a Windows 2 SDK. Other combinations
43+ of Microsoft C and Windows SDK either won't work at all, or will work with some
44+ modifications but produces an executable which only works on Windows 3.x and
45+ later.
46+
47+ To perform the build with Microsoft C 4, open a command prompt (with the
48+ relevant environment variables set that Microsoft C needs), change to the
49+ directory containing the Makefile, and run "make Win1App".
50+
51+ If you are using Microsoft C 5, the build depends on how you configured the
52+ Windows 2 SDK. If you configured it to replace the standard C libraries with the
53+ special Windows combined libraries, the build is the same as the Microsoft C 4
54+ build. If not, you will first need to change the linker command line as follows:
55+
56+ ``` $(LINK) /NOD [obj files],$(EXE) /align:16,/map,slibw.lib slibcew.lib,Win1App.def ```
57+
58+ The ` /NOD ` tells the linker not to link the default libraries (e.g.
59+ ` slibce.lib ` ), and the addition of ` slibcew.lib ` causes it to link against this
60+ special Windows version instead.
4361
4462Note that Microsoft C should not be confused with Visual C++, as Visual C++ 4.0
4563arrived on the scene nearly 10 years after Visual C 4.0. Even Visual C++ 1.0 is
@@ -68,6 +86,13 @@ article. If you are still having trouble, you can
6886
6987## Changelog
7088
89+ 3 . 2017-05-21: Version 1.2
90+ - Removed unnecessary whitespace from source files.
91+ - Corrected min / max window size handling, which should have been using a far
92+ pointer for the MINMAXINFO struct.
93+ - Makefile enhancements and support for Microsoft C 5.
94+ - Target 8086 instead of 80286, and use emulation if x87 isn't available.
95+
71962 . 2016-08-28: Version 1.1
7297 - Corrected name in module definition file. This was causing an odd issue
7398 where launching the Windows 3.x version of the application while the Windows
@@ -78,4 +103,4 @@ article. If you are still having trouble, you can
78103 - First release.
79104
80105Transmission Zero
81- 2016-08-28
106+ 2017-05-21
0 commit comments