<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://gunkies.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Malxau</id>
		<title>Computer History Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://gunkies.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Malxau"/>
		<link rel="alternate" type="text/html" href="https://gunkies.org/wiki/Special:Contributions/Malxau"/>
		<updated>2026-04-25T03:12:15Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.1</generator>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Windows_NT&amp;diff=22323</id>
		<title>Windows NT</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Windows_NT&amp;diff=22323"/>
				<updated>2020-05-29T18:45:50Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Updates to NT 3.1 memory support, NT 3.x multiprocessor support, IDE CDROMs, FAT long file names, NT 4 TSE client support, etc.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox OS&lt;br /&gt;
| name = Windows NT&lt;br /&gt;
| creator = Dave Cutler et al&lt;br /&gt;
| year introduced = 1993&lt;br /&gt;
| architecture = Originally [[MIPS]], then [[i386]], [[DEC Alpha]], [[PowerPC]], [[Itanium]], [[x64]]&lt;br /&gt;
| type = Time-sharing&lt;br /&gt;
| multitasking = Multitasking with paging/swap&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Windows NT is [[Microsoft]]'s first home built 32bit OS.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
[[Image:NT OS2.png|right|The NT OS/2 original logo]]&lt;br /&gt;
&lt;br /&gt;
Windows NT started life as NT OS/2.  Originally it was a future thinking version of OS/2 that would be portable, and was targeted for the coming RISC CPUs.  The goal was to design a micro kernel OS that could run 32 bit POSIX binaries, 16 bit OS/2 1.x binaries, 16 bit MS-DOS &amp;amp; Windows binaries with an improved 32bit OS/2 API &amp;amp; Windowing system.  Microsoft hired Dave Cutler away from [[Digital]] to help with the implementation of the OS, back in 1988.&lt;br /&gt;
&lt;br /&gt;
It is important to remember that the NT project started in 1988, and where Microsoft was product wise.  Released products in 1988 were:&lt;br /&gt;
&lt;br /&gt;
Learning DOS 2.0, Microsoft Stat Pack on CD-ROM, MS-DOS 4.01, Small Business Consultant 1.0 on CD-ROM, SQL Server Network Developers Kit 1.0, Excel for OS/2, Word 5.0 for PC, Quick Basic 4.5, Excel for Windows 2.1, OS/2 Software Development kit 1.2, Microsoft Programmer’s Library on CD-ROM, Quick Basic 1.0 for Mac, MS-DOS CD-ROM Extensions 2.0, COBOL Optimizing Compiler 3.0, Flight Simulator 3.0 for PC, PowerPoint 2.01 for Mac, Learning DOS 2.0, Stat Pack 1.0&lt;br /&gt;
&lt;br /&gt;
NT OS/2 was originally targeted to the Intel i860 CPU.  This was done to keep Windows NT portable, and not fall into i386'isims into the original base source.  This is where the NT in NT comes from, processor they used was called the &amp;quot;N-Ten&amp;quot; from the i860 XR processor.  It was quickly apparent though that the i860 was NOT going to be a good workstation CPU, and the effort was quickly moved to the [[MIPS]] CPU, and Microsoft built their own motherboard design the [[JAZZ]].&lt;br /&gt;
&lt;br /&gt;
However after the 1990 release of [[Windows 3.0]], Microsoft started to shift the primary API of NT OS/2 to the Windows API.  The 16 bit emulation for [[OS/2]] applications remained, however the Graphical Interface for OS/2 programs became a separate product.  This started the rift that would end the Microsoft IBM collaboration.&lt;br /&gt;
&lt;br /&gt;
With NT OS/2 renamed to Windows NT, the first public demonstration was the [[Windows_NT_3.1_October_1991_beta|October 1991 Comdex developers pre-release]], followed up by the [[Windows_NT_3.1_December_1991_beta|December 1991 pre-release]]. Betas were then released in July of 1992, at the Professional Developers Conference in San Francisco, followed up with another beta in October 11th, of 1992.&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
Windows NT is a micro kernel design that supported the following subsystems:&lt;br /&gt;
*Win32&lt;br /&gt;
*NTVDM&lt;br /&gt;
*Win16 (WOW)&lt;br /&gt;
*OS/2&lt;br /&gt;
*POSIX&lt;br /&gt;
&lt;br /&gt;
The native API is largely undocumented, and noted by the prefixes Rtl, Zw, and Nt.  The Win32 API is considered it's primary API as the system services, security &amp;amp; console are all win32 applications.&lt;br /&gt;
&lt;br /&gt;
=== Win32 ===&lt;br /&gt;
This is the most commonly used subsystem.  This is responsible for running the 32bit windows applications.  &lt;br /&gt;
&lt;br /&gt;
=== NTVDM ===&lt;br /&gt;
Microsoft licensed SoftPC 3.0 to provide a full PC emulated experience on the RISC CPUs and for emulating IBM PC hardware on the i386, but running instructions inside a v86 virtual machine (A hardware feature of the 386 and higher CPUs).&lt;br /&gt;
&lt;br /&gt;
=== Win16 (WOW ===&lt;br /&gt;
The Win16/WOW subsystem was a specialized copy of Windows 3.1 running in the NTVDM that would pass all the user interface calls up to the Win32 subsystem via thunking.  This allowed for a seamless operation of legacy Win16 applications.  Because this ran withing the NTVDM, even RISC machines could run legacy i286/i386/i486 Win16 programs.  This was typical for Microsoft Office 4.2 as the only known RISC port of Office was Office 97 for the Dec Alpha.&lt;br /&gt;
&lt;br /&gt;
=== OS/2 ===&lt;br /&gt;
The OS/2 subsystem was to support the transition away from 16bit OS/2 applications.  Out of the box it only supported running text mode OS/2 applications.  There was a separately sold addon for the Presentation Manager graphical applications, although it was hard to come by as Microsoft strongly discouraged it's use.  An interesting note about the 16bit OS/2 subsystem is that Microsoft had provided a callback facility to allow OS/2 programs to call the Win32 API.&lt;br /&gt;
&lt;br /&gt;
=== POSIX ===&lt;br /&gt;
Posix compatibility was a 'hot topic' for US Government workstations.  The POSIX subsystem was thrown together to achieve a 'checkbox' on GSA contracts.  This subsystem was heavily crippled by not having a mechanism to call the Win32 API.  As such it provided an environment akin to [[32v|Unix 32v]].  With no ability to either run, display X11, or connect via TCP/IP it was largely ignored, except by a few who used it's [[vi]] tool that was included in the resource kit.&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
=== Windows NT 3.1 ===&lt;br /&gt;
[[Image:WindowsNT 3.1 retail.jpg|100px|thumb|right|Windows NT 3.1]]&lt;br /&gt;
&lt;br /&gt;
This was the first public release of Windows NT, and the Win32 API.  NT 3.1 was released on July 27th 1993.  The build number of the initial release is 511, but later service packs increased the build number to 528.  NT 3.1 supported the i386 cpu, and the MIPS R4000.  Inside some boxes was a coupon for the Dec Alpha version.  NT 3.1 was apparently already ported to the Dec Alpha, however none of the ARC capable machines were 'production grade' so they couldn't certify for certain that it'd work.  Later copies of NT 3.1 have an ALPHA directory.&lt;br /&gt;
&lt;br /&gt;
Windows NT 3.1 does NOT support PCI buses.  It is limited to ISA/EISA/MCA only.  However some PCI peripherals can be driven by ISA drivers for things that map to ISA space... Like Video cards.  To get a scope of the limited support, check out the [[Windows NT 3.1 HCL]].&lt;br /&gt;
&lt;br /&gt;
On the i386, the more modern INT 15h/E820h interface for querying the system memory map was not yet standardized and supported.  This meant that typically the most memory that would be recognized by NTLDR is 64Mb.  Since newer versions of NTLDR can boot older systems, installing NT 3.5 or above can overcome this limit in NT 3.1, even if the installation is to a different partition and later removed.&lt;br /&gt;
&lt;br /&gt;
NT 3.1 does include CDROM support, but does not support IDE CDROMs, which later became the industry standard.  It also includes support for multiple processors, although the lack of industry standards for multiprocessor i386 at the time meant a custom HAL was needed for each multiprocessor device.&lt;br /&gt;
&lt;br /&gt;
NT 3.1 did include support for long file names in NTFS, but did not include support for long file names in FAT.  The NTFS format was later updated, so Windows NT 3.5 and 3.51 include an update to NT 3.1's NTFS driver to allow NT 3.1 to access an NTFS partition that has been mounted by NT 3.5 or later.&lt;br /&gt;
&lt;br /&gt;
Windows NT 3.1 also only allows for a SINGLE WOW session.&lt;br /&gt;
&lt;br /&gt;
NT 3.1 also includes a [[Microsoft Mail]] client, and the ability to setup &amp;amp; serve workgroup postoffices.&lt;br /&gt;
&lt;br /&gt;
There were several [[Windows NT 3.1 Betas|beta and pre-release]] versions of Windows NT 3.1.&lt;br /&gt;
&lt;br /&gt;
Windows NT 3.1 shipped in two versions, Windows NT 3.1 Advanced Server, and Windows NT 3.1.  The most recent service pack available is service pack 3.&lt;br /&gt;
&lt;br /&gt;
=== Windows NT 3.5 ===&lt;br /&gt;
[[Image:Windows NT 3.5.jpg|100px|thumb|right|Windows NT 3.5]]&lt;br /&gt;
&lt;br /&gt;
Codenamed Daytona, this release added several optimizations, and notably added support for the PCI bus, IDE CDROMs, memory above 64Mb, MPS 1.1 multiprocessor support, and the Dec Alpha CPU's shipped on the CD.  It was released on September 21st, 1994.  The build number was 807.&lt;br /&gt;
&lt;br /&gt;
The Windows NT 3.5 SDK included the Dec Alpha CLI tools.  This version also brought a software only port of OpenGL from SGI to make Windows NT more 'workstation like'.&lt;br /&gt;
&lt;br /&gt;
Windows NT 3.5 replaced the TCP/IP stack from SpiderTCP to something that was built in house.  It does support DHCP, and is faster then the SpiderTCP stack.  This new TCP/IP stack was also the basis for the one in [[Windows 95]].  It is worth mentioning that [[SLIP]] &amp;amp; [[PPP]] were now included.  IMHO this was the EASIEST OS at the time to connect to the internet.&lt;br /&gt;
&lt;br /&gt;
Along with the TCP/IP improvements, NT 3.5 also shipped with a Netware requester.  Netware was still late to the game with a client for Windows NT so Microsoft wrote one, and many organizations stuck with the Microsoft requester as it operated better then the Novell one.&lt;br /&gt;
&lt;br /&gt;
From a programming level NT 3.5 also finished out many of the API's that were left to be finished by the time NT 3.1 had shipped... I suspect it had more to do with spec drift then anything.&lt;br /&gt;
&lt;br /&gt;
In preparation for the Windows 95 release, NT 3.5 included support for long file names in FAT, and attempts to run Win32 programs that require version 4.0.  It is not entirely successful, because it is missing a lot of APIs that would be included in Windows 95.  Perhaps due to a lack of planning, it does not attempt to run Win32 programs that require 3.51.&lt;br /&gt;
&lt;br /&gt;
NT 3.5 was released in two versions, Windows NT 3.5 Server and Windows NT 3.5 Workstation.  The most recent service pack available is service pack 3.&lt;br /&gt;
&lt;br /&gt;
=== Windows NT 3.51 ===&lt;br /&gt;
[[Image:Windows NT 3.51.jpg|100px|thumb|right|Windows NT 3.51]]&lt;br /&gt;
&lt;br /&gt;
This release added the PowerPC CPU support that was done by IBM.  I've heard that NT 3.51 was actually 'done' 9 months prior to it's release but Microsoft had to wait for IBM to finish the PowerPC port.  Meanwhile Microsoft did a LOT of bug fixing making this a very popular release for corporations.  While it retained the look &amp;amp; feel of Windows 3.1 the newshell beta was available towards the end of the products lifespan, giving NT 3.51 a Windows 95 feel.  It was released on May 30th, 1995 and it's build number was 1057.&lt;br /&gt;
&lt;br /&gt;
NT 3.51 was to sync a lot of user mode components from Windows 95. For developers, this included the Windows 95 common control library including the rich edit control, as well as the Windows 95 help system.  Although it may not 'look' or feel like Windows 95 in the slightest.  This was the last version of Windows NT to incorporate the Program Manager as the primary interface.  Unlike NT 3.1/3.5, Windows NT 3.51 could also run Microsoft Office 95, being the first widely available 32bit version of the popular office suite.  This support was retained in Office 97, and dropped in Office 2000.&lt;br /&gt;
&lt;br /&gt;
Although initially 32 bit Internet Explorer supported NT 3.51, this was quickly dropped and users were encouraged to use the 16 bit version.  Curiously though the HTTP stack from Internet Explorer 3 (wininet.dll) was available as a redistributable for NT 3.51.&lt;br /&gt;
&lt;br /&gt;
Windows NT 3.51 shipped in two versions, Windows NT 3.51 Server and Windows NT 3.51 Workstation.  The most recent service pack available is service pack 5.&lt;br /&gt;
&lt;br /&gt;
=== Windows NT 4.0 ===&lt;br /&gt;
[[Image:WindowsNT 4.0 japanese.jpg|100px|thumb|right|Windows NT 4.0]]&lt;br /&gt;
&lt;br /&gt;
Windows NT 4.0 was released on August 24th, 1996.  It's build number is 1381.  Initially it supported the Alpha, i386, MIPS and PowerPC CPUs.  However the MIPS cpu was dropped right after service pack 1.  The PowerPC cpu was dropped right before service pack 3.  The Dec Alpha would see mainstream support right through the Windows NT 4.0 product life cycle. It’s worth noting that the MCA bus (Microchannel) was also dropped from this release. &lt;br /&gt;
&lt;br /&gt;
This release was the most significant user wise, as it incorporated the Windows 95 shell (newshell).  Additionally Microsoft had moved the graphics &amp;amp; printing from the win32 user space, into the 'executive' or kernel.  This made graphics (GDI) and printing were significantly faster.  This did have the downside that video calls, or errors in print rasterization (1 point fonts!!) could crash the entire OS.&lt;br /&gt;
&lt;br /&gt;
I have to say that in my opinion this is where Windows NT went from a curiosity and joke into being a real commercial success.  Prior to this, Windows NT 3.1/3.5/3.51 ran mostly win16 applications, and ran them significantly slower then Windows 3.1.  However with the transition of user desktops to [[Windows 95]], corporate users now had machines with 16MB of ram, or more, and with Office 95 the beginning of 32bit productivity applications started to hit mainstream.  Windows 95 proved itself to be unable to multitask that well under heavy system loads, and with Users with Pentium CPU's suddenly Windows NT was viable.  In the company where I worked (Fortune 500 type) we had users going out an buying their own copies of NT 4.0 workstation once word got around that it ran Windows 95 applications but didn’t crash 2-3x a day.   Another significant thing for users was the built in shell for Novell Netware, and how it outperformed the Novell offering.&lt;br /&gt;
&lt;br /&gt;
Windows NT was also very popular on the server front, as installation and configuration was significantly easier then Novell Netware.  With the release of Exchange server 4.0 more and more companies started to transition their mail infrastructure to Windows NT.&lt;br /&gt;
Along with the rest of the ‘back office’ SQL, SNA Windows NT started to ‘steal’ away the data center.  &lt;br /&gt;
&lt;br /&gt;
Another significant aspect of Windows NT 4.0 was that it not only included TCP/IP in the product (it was an add-on for Novell Netware) but it also included a web server, ftp server &amp;amp; gopher server in the IIS product line.  This made IIS servers the quickest to deploy for a novice IS person.&lt;br /&gt;
&lt;br /&gt;
The downfall at the time was the numerous hotfixes for Windows NT, and how to apply them.  While waiting for the servicepacks was one thing, running NT 4.0 on the internet became a challenge as installing anything could undo a hotfix, and you had to be extra diligent about finding and verifying their installation.  Eventually Microsoft released the windows update function through Internet Explorer, alleviating most of this.&lt;br /&gt;
&lt;br /&gt;
Windows NT 4.0 shipped in three versions, Windows NT 4.0 Server, Windows NT 4.0 Enterprise and Windows NT 4.0 Workstation.  The most recent service pack available is service pack 6a.&lt;br /&gt;
&lt;br /&gt;
=== Windows NT 4.0 Terminal Server ===&lt;br /&gt;
[[Image:WindowsNT 4.0 terminal server.jpg|100px|thumb|right|Windows NT 4.0 Terminal Server]]&lt;br /&gt;
&lt;br /&gt;
This was the first Microsoft multiuser version of Windows, with technology given back from Citrix.  I recall Microsoft strong armed the Citrix people into this 'deal'...  Anyways it had Service pack 3 built into it, and thus only supported the Alpha &amp;amp; i386 CPUs.  It was released around June of 1998.&lt;br /&gt;
&lt;br /&gt;
This was more of a public alpha then a finished product.  Because applications had not been written with multiple concurrent instances running under different sessions from different users in mind, quirks were common.  It included installation and configuration utilities to tweak common applications to not freak out when more then one copy was running.&lt;br /&gt;
&lt;br /&gt;
It included 10 connection licenses, but any connection from NT 4 or a newer version of Windows did not require a license, so over time this came to mean limited by available memory.  Since this was a 32 bit release only, memory could be exhausted within 20-50 sessions depending on the intensity of load.&lt;br /&gt;
&lt;br /&gt;
The protocol for terminal services changed significantly after this release, and support to connect to it was dropped in Windows XP service pack 2.  Nonetheless it is possible to keep around mstsc.exe and mstsxax.dll for this purpose.  The most recent client that works is distributed with Windows Server 2003.  Many features are not supported by the older protocol, and it is limited to a maximum of 256 colors.&lt;br /&gt;
&lt;br /&gt;
There never was a servicepack 6a, just 6 so .net will NOT install.  This product was quickly replaced by the Windows 2000 Terminal Services, which honestly did a better job.&lt;br /&gt;
&lt;br /&gt;
{{Nav Windows}}&lt;br /&gt;
&lt;br /&gt;
[[Category: Microsoft Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User:Malxau&amp;diff=21292</id>
		<title>User:Malxau</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User:Malxau&amp;diff=21292"/>
				<updated>2019-07-14T04:07:39Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Update bio with Yori link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, I'm a former Windows contributor, current Windows and Visual C++ historian, and strong believer that &amp;lt;s&amp;gt;CMD&amp;lt;/s&amp;gt; [http://www.malsmith.net/yori/ Yori] is the best shell ever made for Windows.&lt;br /&gt;
&lt;br /&gt;
You may be interested in [http://www.malsmith.net/ my software] (particularly if you also like CMD) or [http://www.malsmith.net/blog/ my blog] (particularly if you also like Windows/Visual C++ history.)&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_Windows_NT_4.0_on_Qemu(MIPS)&amp;diff=21291</id>
		<title>Installing Windows NT 4.0 on Qemu(MIPS)</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_Windows_NT_4.0_on_Qemu(MIPS)&amp;diff=21291"/>
				<updated>2019-07-14T00:56:34Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add notes about saving nvram&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Windows NT 4.0 on the MIPS&lt;br /&gt;
&lt;br /&gt;
[[Image:Windows nt 4 0 MIPS.png|300px|thumb|right|Windows NT 4.0 running on Qemu MIPS emulator]]&lt;br /&gt;
&lt;br /&gt;
Personally I’ve never used any MIPS workstations with Windows NT, I’ve been lucky to have used the PowerPC build for IIS (it was cool in that intel hacks wouldn’t work.. It’s too bad it didn’t live long from Microsoft’s end) and of course SQL server on the Dec Alpha.  I also used a Dec Alpha as a workstation (the multia!) at the time I recall it was cool as it could decode MP3’s in realtime!  Sadly my multia died the day Microsoft killed the port.&lt;br /&gt;
&lt;br /&gt;
Anyways while I was searching around hoping the qemu forum had come alive (it is!) I came across this post:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hello, &lt;br /&gt;
I wanted to let you know that I succeeded to run MS Windows NT/MIPS in the Qemu emulator.&lt;br /&gt;
As far as I know, Qemu is the first emulator to be able to run Windows NT non i386/x64.&lt;br /&gt;
Some screenshots:&lt;br /&gt;
http://hpoussineau.free.fr/qemu/arc20081202-nt350-4.png&lt;br /&gt;
http://hpoussineau.free.fr/qemu/arc20090315_nt4.png&lt;br /&gt;
Code needs to be cleaned up and will be contributed upstream.&lt;br /&gt;
Hervé&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What is this?  Well click the links!  It is what it sounds like, Hervé got Windows NT running on the MIPS emulation for Qemu!!&lt;br /&gt;
&lt;br /&gt;
I’ve tested a 3.51 workstation CD to no avail… It hangs checking the hard disk.  I also have a 3.1 CD with the win32 sdk &amp;amp; it doesn’t work either.  However 4.0 works fine!  I should also add, this gave me a chance to install Microsoft Visual C++ 2.0 for the MIPS, and to try SQL 4.21 for the MIPS out.&lt;br /&gt;
&lt;br /&gt;
One of the first thing you’ll find out, is that the Dec Alpha was popular non intel machine to run because of FX!32.  This program from Dec, allowed for dynamic translation of 32bit binaries on the Alpha.  So that you could run Office 97 for the i386 on the Alpha.  And on the 2nd run it was effectively a native copy as it had been translated at that point.  Nothing like this existed for the MIPS.  Thus native applications are RARE if any.  Another thing contributing to the lack of MIPS stuff, is that right after sp1 for Windows NT 4.0 came out, a week later all support for the MIPS ended.  While there is [http://vpsland.superglobalmegacorp.com/install/WindowsNT4.0-MIPS/msie301-mips.exe internet explorer 3], there doesn't seem to be any of the other resulting projects…  Which is really sad.  I *think* there may still be some copies floating out there for the PowerPC, but it was killed around the time of service pack 3.&lt;br /&gt;
&lt;br /&gt;
Anyways if you want to run this, I did find thru a little digging around the win32 exe is available on Hervé’s site.&lt;br /&gt;
&lt;br /&gt;
Download both of these files:&lt;br /&gt;
&lt;br /&gt;
[http://vpsland.superglobalmegacorp.com/install/WindowsNT4.0-MIPS/emulator/qemu-system-mips64el-12.3.zip qemu-system-mips64el-12.3.zip]&lt;br /&gt;
&lt;br /&gt;
[http://hpoussineau.free.fr/qemu/firmware/magnum-4000/setup.zip setup.zip]&lt;br /&gt;
&lt;br /&gt;
And go ahead and unzip them.  In the setup.zip you will have found a file called NTPROM.RAW, rename it mipsel_bios.bin  .&lt;br /&gt;
&lt;br /&gt;
Now we are ready to go!&lt;br /&gt;
&lt;br /&gt;
Create a 2GB disk like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemu-img create –f qcow2 nt4.disk 2G&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run the emulator&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;qemu-system-mips64el.exe -hda nt4.disk -M magnum -L . -net nic -net user -cdrom winnt40wks_sp1_en.iso&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your system will initialize and just run thru the quick setup… Keep the display at 800x600 as the mouse will actually work at that resolution!  Also set the date to the correct date, and ensure the MAC address for your Ethernet is not all zeros.  You can make up any address you want.&lt;br /&gt;
&lt;br /&gt;
Then to install NT you have to run 2 programs…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd:\mips\arcinst&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will install a system partition, and setup the ARC bootloader.  A 5MB partition is all you need, it’ll format it, and just exit arcinst.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd:\mips\setupldr&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will kick off the install.  It will look &amp;amp; act like every other copy of Windows NT 4.0 that you have installed.  Keep in mind that you will create a ‘d’ partition, and install in there.  I’d recommend you skip the exhaustive disk scan as that seems to always screw up for me.  The install is pretty straight forward, I’d recommend you select an easy password, and you will probably want to setup an automatic logon.&lt;br /&gt;
&lt;br /&gt;
Note that qemu's user network does not support icmp out of the box, so ping doesn't work, but other destinations can still be reached.&lt;br /&gt;
&lt;br /&gt;
To preserve any system state (which you will want to), add a persistent nvram to qemu:&lt;br /&gt;
&amp;lt;pre&amp;gt; -global ds1225y.filename=nvram -global ds1225y.size=8200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Time is not saved reliably.  Note that it can be restored on boot from another machine:&lt;br /&gt;
&amp;lt;pre&amp;gt;net time \\192.168.1.1 /set&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Where to go from here ==&lt;br /&gt;
&lt;br /&gt;
From there you are on your own.  I’ve seen Exchange 4.0 available for the MIPS, and some old versions of SQL Server, SNA Server out there.  The only versions of Microsoft Word &amp;amp; Excel for NT that I've seen were for the i386 &amp;amp; the Dec Alpha.  I think internet explorer 2.0 &amp;amp; 3.0 are the ONLY web browser for the MIPS and no, Windows CE MIPS stuff will NOT run on the MIPS NT.  So don’t be all that disappointed as this isn’t too useful, but it may be interesting to see what all those MIPS directories were all about!&lt;br /&gt;
&lt;br /&gt;
I have ported &amp;amp; found a few things to the MIPS namely:&lt;br /&gt;
&lt;br /&gt;
* [http://vpsland.superglobalmegacorp.com/install/WindowsNT4.0-MIPS/msie301-mips.exe Internet Explorer 3.01]&lt;br /&gt;
* [http://vpsland.superglobalmegacorp.com/install/WindowsNT4.0-MIPS/games/dungeon-2.5.6-MIPS-win32.zip dungeon-2.5.6]&lt;br /&gt;
* [http://vpsland.superglobalmegacorp.com/install/WindowsNT4.0-MIPS/games/Hyperoid-mips.exe Hyperoid]&lt;br /&gt;
* [http://vpsland.superglobalmegacorp.com/install/WindowsNT4.0-MIPS/games/nethack-3.1.2-MIPS.zip nethack-3.12]&lt;br /&gt;
* [http://vpsland.superglobalmegacorp.com/install/WindowsNT4.0-MIPS/games/neko98-MIPS.zip Neko98]&lt;br /&gt;
* [http://vpsland.superglobalmegacorp.com/install/WindowsNT4.0-MIPS/games/quake-MIPS.exe Quake1]&lt;br /&gt;
* [http://vpsland.superglobalmegacorp.com/install/WindowsNT4.0-MIPS/games/quakeworld.exe QuakeWorld]&lt;br /&gt;
&lt;br /&gt;
[[Category:QEMU Tutorials]] [[Category:Qemu]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Qemu&amp;diff=21290</id>
		<title>Qemu</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Qemu&amp;diff=21290"/>
				<updated>2019-07-14T00:47:39Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Update released qemu version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Qemu is a machine emulator &amp;amp; system virtualizer.&lt;br /&gt;
&lt;br /&gt;
[[Image:Windows nt 4 0 MIPS.png|300px|thumb|right|Windows NT 4.0 MIPS under Qemu]]&lt;br /&gt;
&lt;br /&gt;
Qemu can emulate numerious CPUs and machine types.  Most are geared towards running Linux, the x86/x64 emulators are the most flexible, and most well used.  The current version is [http://www.qemu.org/ 4.0.0].&lt;br /&gt;
&lt;br /&gt;
As of 0.15.0 the following machine emulators are available:&lt;br /&gt;
&lt;br /&gt;
*[[i386-softmmu]] IBM PC emulator&lt;br /&gt;
*[[x86_64-softmmu]] x64 IBM PC emulator&lt;br /&gt;
*[[arm-softmmu]] &lt;br /&gt;
*[[cris-softmmu]] &lt;br /&gt;
*[[m68k-softmmu]]&lt;br /&gt;
*[[microblaze-softmmu]] &lt;br /&gt;
*[[mips-softmmu]] &lt;br /&gt;
*[[mips64-softmmu]]&lt;br /&gt;
*[[mipsel-softmmu]] &lt;br /&gt;
*[[mips64el-softmmu]] &lt;br /&gt;
*[[ppc-softmmu]] &lt;br /&gt;
*[[ppcemb-softmmu]] &lt;br /&gt;
*[[ppc64-softmmu]] &lt;br /&gt;
*[[sh4-softmmu]] &lt;br /&gt;
*[[sh4eb-softmmu]]&lt;br /&gt;
*[[sparc-softmmu]]&lt;br /&gt;
*[[sparc64-softmmu]]&lt;br /&gt;
*[[s390x-softmmu]] &lt;br /&gt;
&lt;br /&gt;
While not active, there is also the following in the tree:&lt;br /&gt;
*Dec Alpha (really incomplete)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Running Qemu ==&lt;br /&gt;
&lt;br /&gt;
Qemu is driven by command line arguments... The first thing that you typically do is setup a virtual hard disk with qemu-img.  Once your disk is ready then you can configure each system emulator with various flags.&lt;br /&gt;
&lt;br /&gt;
=== qemu-img ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemu-img version 0.14.92, Copyright (c) 2004-2008 Fabrice Bellard&lt;br /&gt;
usage: qemu-img command [command options]&lt;br /&gt;
QEMU disk image utility&lt;br /&gt;
&lt;br /&gt;
Command syntax:&lt;br /&gt;
  check [-f fmt] filename&lt;br /&gt;
  create [-f fmt] [-o options] filename [size]&lt;br /&gt;
  commit [-f fmt] [-t cache] filename&lt;br /&gt;
  convert [-c] [-p] [-f fmt] [-t cache] [-O output_fmt] [-o options] [-s snapshot_name] filename [filename2 [...]] output_filename&lt;br /&gt;
  info [-f fmt] filename&lt;br /&gt;
  snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename&lt;br /&gt;
  rebase [-f fmt] [-t cache] [-p] [-u] -b backing_file [-F backing_fmt] filename&lt;br /&gt;
  resize filename [+ | -]size&lt;br /&gt;
&lt;br /&gt;
Command parameters:&lt;br /&gt;
  'filename' is a disk image filename&lt;br /&gt;
  'fmt' is the disk image format. It is guessed automatically in most cases&lt;br /&gt;
  'cache' is the cache mode used to write the output disk image, the valid&lt;br /&gt;
    options are: 'none', 'writeback' (default), 'writethrough' and 'unsafe'&lt;br /&gt;
  'size' is the disk image size in bytes. Optional suffixes&lt;br /&gt;
    'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' (gigabyte, 1024M)&lt;br /&gt;
    and T (terabyte, 1024G) are supported. 'b' is ignored.&lt;br /&gt;
  'output_filename' is the destination disk image filename&lt;br /&gt;
  'output_fmt' is the destination format&lt;br /&gt;
  'options' is a comma separated list of format specific options in a&lt;br /&gt;
    name=value format. Use -o ? for an overview of the options supported by the&lt;br /&gt;
    used format&lt;br /&gt;
  '-c' indicates that target image must be compressed (qcow format only)&lt;br /&gt;
  '-u' enables unsafe rebasing. It is assumed that old and new backing file&lt;br /&gt;
       match exactly. The image doesn't need a working backing file before&lt;br /&gt;
       rebasing in this case (useful for renaming the backing file)&lt;br /&gt;
  '-h' with or without a command shows this help and lists the supported formats&lt;br /&gt;
  '-p' show progress of command (only certain commands)&lt;br /&gt;
&lt;br /&gt;
Parameters to snapshot subcommand:&lt;br /&gt;
  'snapshot' is the name of the snapshot to create, apply or delete&lt;br /&gt;
  '-a' applies a snapshot (revert disk to saved state)&lt;br /&gt;
  '-c' creates a snapshot&lt;br /&gt;
  '-d' deletes a snapshot&lt;br /&gt;
  '-l' lists all snapshots in the given image&lt;br /&gt;
&lt;br /&gt;
Supported formats: raw cow qcow vdi vmdk cloop dmg bochs vpc vvfat qcow2 qed parallels nbd blkdebug sheepdog blkverify host_device file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Qemu ===&lt;br /&gt;
&lt;br /&gt;
Please note that some of these flags change between versions&lt;br /&gt;
&lt;br /&gt;
Qemu 0.15.0 rc2&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
QEMU emulator version 0.14.92, Copyright (c) 2003-2008 Fabrice Bellard&lt;br /&gt;
usage: qemu [options] [disk_image]&lt;br /&gt;
&lt;br /&gt;
'disk_image' is a raw hard disk image for IDE hard disk 0&lt;br /&gt;
&lt;br /&gt;
Standard options:&lt;br /&gt;
-h or -help     display this help and exit&lt;br /&gt;
-version        display version information and exit&lt;br /&gt;
-machine [type=]name[,prop[=value][,...]]&lt;br /&gt;
                selects emulated machine (-machine ? for list)&lt;br /&gt;
                property accel=accel1[:accel2[:...]] selects accelerator&lt;br /&gt;
                supported accelerators are kvm, xen, tcg (default: tcg)&lt;br /&gt;
-cpu cpu        select CPU (-cpu ? for list)&lt;br /&gt;
-smp n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]&lt;br /&gt;
                set the number of CPUs to 'n' [default=1]&lt;br /&gt;
                maxcpus= maximum number of total cpus, including&lt;br /&gt;
                offline CPUs for hotplug, etc&lt;br /&gt;
                cores= number of CPU cores on one socket&lt;br /&gt;
                threads= number of threads on one CPU core&lt;br /&gt;
                sockets= number of discrete sockets in the system&lt;br /&gt;
-numa node[,mem=size][,cpus=cpu[-cpu]][,nodeid=node]&lt;br /&gt;
-fda/-fdb file  use 'file' as floppy disk 0/1 image&lt;br /&gt;
-hda/-hdb file  use 'file' as IDE hard disk 0/1 image&lt;br /&gt;
-hdc/-hdd file  use 'file' as IDE hard disk 2/3 image&lt;br /&gt;
-cdrom file     use 'file' as IDE cdrom image (cdrom is ide1 master)&lt;br /&gt;
-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]&lt;br /&gt;
       [,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]&lt;br /&gt;
       [,cache=writethrough|writeback|none|unsafe][,format=f]&lt;br /&gt;
       [,serial=s][,addr=A][,id=name][,aio=threads|native]&lt;br /&gt;
       [,readonly=on|off]&lt;br /&gt;
                use 'file' as a drive image&lt;br /&gt;
-set group.id.arg=value&lt;br /&gt;
                set &amp;lt;arg&amp;gt; parameter for item &amp;lt;id&amp;gt; of type &amp;lt;group&amp;gt;&lt;br /&gt;
                i.e. -set drive.$id.file=/path/to/image&lt;br /&gt;
-global driver.property=value&lt;br /&gt;
                set a global default for a driver property&lt;br /&gt;
-mtdblock file  use 'file' as on-board Flash memory image&lt;br /&gt;
-sd file        use 'file' as SecureDigital card image&lt;br /&gt;
-pflash file    use 'file' as a parallel flash image&lt;br /&gt;
-boot [order=drives][,once=drives][,menu=on|off]&lt;br /&gt;
                'drives': floppy (a), hard disk (c), CD-ROM (d), network (n)&lt;br /&gt;
-snapshot       write to temporary files instead of disk image files&lt;br /&gt;
-m megs         set virtual RAM size to megs MB [default=128]&lt;br /&gt;
-mem-path FILE  provide backing storage for guest RAM&lt;br /&gt;
-k language     use keyboard layout (for example 'fr' for French)&lt;br /&gt;
-audio-help     print list of audio drivers and their options&lt;br /&gt;
-soundhw c1,... enable audio support&lt;br /&gt;
                and only specified sound cards (comma separated list)&lt;br /&gt;
                use -soundhw ? to get the list of supported cards&lt;br /&gt;
                use -soundhw all to enable all of them&lt;br /&gt;
-usb            enable the USB driver (will be the default soon)&lt;br /&gt;
-usbdevice name add the host or guest USB device 'name'&lt;br /&gt;
-device driver[,prop[=value][,...]]&lt;br /&gt;
                add device (based on driver)&lt;br /&gt;
                prop=value,... sets driver properties&lt;br /&gt;
                use -device ? to print all possible drivers&lt;br /&gt;
                use -device driver,? to print all possible properties&lt;br /&gt;
File system options:&lt;br /&gt;
-fsdev local,id=id,path=path,security_model=[mapped|passthrough|none]&lt;br /&gt;
Virtual File system pass-through options:&lt;br /&gt;
-virtfs local,path=path,mount_tag=tag,security_model=[mapped|passthrough|none]&lt;br /&gt;
&lt;br /&gt;
-name string1[,process=string2]&lt;br /&gt;
                set the name of the guest&lt;br /&gt;
                string1 sets the window title and string2 the process name (on Linux)&lt;br /&gt;
-uuid %08x-%04x-%04x-%04x-%012x&lt;br /&gt;
                specify machine UUID&lt;br /&gt;
&lt;br /&gt;
Display options:&lt;br /&gt;
-display sdl[,frame=on|off][,alt_grab=on|off][,ctrl_grab=on|off]&lt;br /&gt;
            [,window_close=on|off]|curses|none|&lt;br /&gt;
            vnc=&amp;lt;display&amp;gt;[,&amp;lt;optargs&amp;gt;]&lt;br /&gt;
                select display type&lt;br /&gt;
-nographic      disable graphical output and redirect serial I/Os to console&lt;br /&gt;
-curses         use a curses/ncurses interface instead of SDL&lt;br /&gt;
-no-frame       open SDL window without a frame and window decorations&lt;br /&gt;
-alt-grab       use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)&lt;br /&gt;
-ctrl-grab      use Right-Ctrl to grab mouse (instead of Ctrl-Alt)&lt;br /&gt;
-no-quit        disable SDL window close capability&lt;br /&gt;
-sdl            enable SDL&lt;br /&gt;
-spice &amp;lt;args&amp;gt;   enable spice&lt;br /&gt;
-portrait       rotate graphical output 90 deg left (only PXA LCD)&lt;br /&gt;
-rotate &amp;lt;deg&amp;gt;   rotate graphical output some deg left (only PXA LCD)&lt;br /&gt;
-vga [std|cirrus|vmware|qxl|xenfb|none]&lt;br /&gt;
                select video card type&lt;br /&gt;
-full-screen    start in full screen&lt;br /&gt;
-g WxH[xDEPTH]  Set the initial graphical resolution and depth&lt;br /&gt;
-vnc display    start a VNC server on display&lt;br /&gt;
&lt;br /&gt;
1 target only:&lt;br /&gt;
-win2k-hack     use it when installing Windows 2000 to avoid a disk full bug&lt;br /&gt;
-no-fd-bootchk  disable boot signature checking for floppy disks&lt;br /&gt;
-no-acpi        disable ACPI&lt;br /&gt;
-no-hpet        disable HPET&lt;br /&gt;
-balloon none   disable balloon device&lt;br /&gt;
-balloon virtio[,addr=str]&lt;br /&gt;
                enable virtio balloon device (default)&lt;br /&gt;
-acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n][,asl_compiler_id=str][,asl_compiler_rev=n][,data=file1[:file2]...]&lt;br /&gt;
                ACPI table description&lt;br /&gt;
-smbios file=binary&lt;br /&gt;
                load SMBIOS entry from binary file&lt;br /&gt;
-smbios type=0[,vendor=str][,version=str][,date=str][,release=%d.%d]&lt;br /&gt;
                specify SMBIOS type 0 fields&lt;br /&gt;
-smbios type=1[,manufacturer=str][,product=str][,version=str][,serial=str]&lt;br /&gt;
              [,uuid=uuid][,sku=str][,family=str]&lt;br /&gt;
                specify SMBIOS type 1 fields&lt;br /&gt;
&lt;br /&gt;
Network options:&lt;br /&gt;
-net nic[,vlan=n][,macaddr=mac][,model=type][,name=str][,addr=str][,vectors=v]&lt;br /&gt;
                create a new Network Interface Card and connect it to VLAN 'n'&lt;br /&gt;
-net user[,vlan=n][,name=str][,net=addr[/mask]][,host=addr][,restrict=on|off]&lt;br /&gt;
         [,hostname=host][,dhcpstart=addr][,dns=addr][,tftp=dir][,bootfile=f]&lt;br /&gt;
         [,hostfwd=rule][,guestfwd=rule]                connect the user mode network stack to VLAN 'n', configure its&lt;br /&gt;
                DHCP server and enabled optional services&lt;br /&gt;
-net tap[,vlan=n][,name=str],ifname=name&lt;br /&gt;
                connect the host TAP network interface to VLAN 'n'&lt;br /&gt;
-net socket[,vlan=n][,name=str][,fd=h][,listen=[host]:port][,connect=host:port]&lt;br /&gt;
                connect the vlan 'n' to another VLAN using a socket connection&lt;br /&gt;
-net socket[,vlan=n][,name=str][,fd=h][,mcast=maddr:port[,localaddr=addr]]&lt;br /&gt;
                connect the vlan 'n' to multicast maddr and port&lt;br /&gt;
                use 'localaddr=addr' to specify the host address to send packets from&lt;br /&gt;
-net dump[,vlan=n][,file=f][,len=n]&lt;br /&gt;
                dump traffic on vlan 'n' to file 'f' (max n bytes per packet)&lt;br /&gt;
-net none       use it alone to have zero network devices. If no -net option&lt;br /&gt;
                is provided, the default is '-net nic -net user'&lt;br /&gt;
-netdev [user|tap|socket],id=str[,option][,option][,...]&lt;br /&gt;
&lt;br /&gt;
Character device options:&lt;br /&gt;
-chardev null,id=id[,mux=on|off]&lt;br /&gt;
-chardev socket,id=id[,host=host],port=host[,to=to][,ipv4][,ipv6][,nodelay]&lt;br /&gt;
         [,server][,nowait][,telnet][,mux=on|off] (tcp)&lt;br /&gt;
-chardev socket,id=id,path=path[,server][,nowait][,telnet],[mux=on|off] (unix)&lt;br /&gt;
-chardev udp,id=id[,host=host],port=port[,localaddr=localaddr]&lt;br /&gt;
         [,localport=localport][,ipv4][,ipv6][,mux=on|off]&lt;br /&gt;
-chardev msmouse,id=id[,mux=on|off]&lt;br /&gt;
-chardev vc,id=id[[,width=width][,height=height]][[,cols=cols][,rows=rows]]&lt;br /&gt;
         [,mux=on|off]&lt;br /&gt;
-chardev file,id=id,path=path[,mux=on|off]&lt;br /&gt;
-chardev pipe,id=id,path=path[,mux=on|off]&lt;br /&gt;
-chardev console,id=id[,mux=on|off]&lt;br /&gt;
-chardev serial,id=id,path=path[,mux=on|off]&lt;br /&gt;
&lt;br /&gt;
Bluetooth(R) options:&lt;br /&gt;
-bt hci,null    dumb bluetooth HCI - doesn't respond to commands&lt;br /&gt;
-bt hci,host[:id]&lt;br /&gt;
                use host's HCI with the given name&lt;br /&gt;
-bt hci[,vlan=n]&lt;br /&gt;
                emulate a standard HCI in virtual scatternet 'n'&lt;br /&gt;
-bt vhci[,vlan=n]&lt;br /&gt;
                add host computer to virtual scatternet 'n' using VHCI&lt;br /&gt;
-bt device:dev[,vlan=n]&lt;br /&gt;
                emulate a bluetooth device 'dev' in scatternet 'n'&lt;br /&gt;
&lt;br /&gt;
Linux/Multiboot boot specific:&lt;br /&gt;
-kernel bzImage use 'bzImage' as kernel image&lt;br /&gt;
-append cmdline use 'cmdline' as kernel command line&lt;br /&gt;
-initrd file    use 'file' as initial ram disk&lt;br /&gt;
&lt;br /&gt;
Debug/Expert options:&lt;br /&gt;
-serial dev     redirect the serial port to char device 'dev'&lt;br /&gt;
-parallel dev   redirect the parallel port to char device 'dev'&lt;br /&gt;
-monitor dev    redirect the monitor to char device 'dev'&lt;br /&gt;
-qmp dev        like -monitor but opens in 'control' mode&lt;br /&gt;
-mon chardev=[name][,mode=readline|control][,default]&lt;br /&gt;
-debugcon dev   redirect the debug console to char device 'dev'&lt;br /&gt;
-pidfile file   write PID to 'file'&lt;br /&gt;
-singlestep     always run in singlestep mode&lt;br /&gt;
-S              freeze CPU at startup (use 'c' to start execution)&lt;br /&gt;
-gdb dev        wait for gdb connection on 'dev'&lt;br /&gt;
-s              shorthand for -gdb tcp::1234&lt;br /&gt;
-d item1,...    output log to /tmp/qemu.log (use -d ? for a list of log items)&lt;br /&gt;
-D logfile      output log to logfile (instead of the default /tmp/qemu.log)&lt;br /&gt;
-hdachs c,h,s[,t]&lt;br /&gt;
                force hard disk 0 physical geometry and the optional BIOS&lt;br /&gt;
                translation (t=none or lba) (usually qemu can guess them)&lt;br /&gt;
-L path         set the directory for the BIOS, VGA BIOS and keymaps&lt;br /&gt;
-bios file      set the filename for the BIOS&lt;br /&gt;
-enable-kvm     enable KVM full virtualization support&lt;br /&gt;
-xen-domid id   specify xen guest domain id&lt;br /&gt;
-xen-create     create domain using xen hypercalls, bypassing xend&lt;br /&gt;
                warning: should not be used when xend is in use&lt;br /&gt;
-xen-attach     attach to existing xen domain&lt;br /&gt;
                xend will use this when starting qemu&lt;br /&gt;
-no-reboot      exit instead of rebooting&lt;br /&gt;
-no-shutdown    stop before shutdown&lt;br /&gt;
-loadvm [tag|id]&lt;br /&gt;
                start right away with a saved state (loadvm in monitor)&lt;br /&gt;
-option-rom rom load a file, rom, into the option ROM space&lt;br /&gt;
-clock          force the use of the given methods for timer alarm.&lt;br /&gt;
                To see what timers are available use -clock ?&lt;br /&gt;
-rtc [base=utc|localtime|date][,clock=host|vm][,driftfix=none|slew]&lt;br /&gt;
                set the RTC base and clock, enable drift fix for clock ticks (x86 only)&lt;br /&gt;
-icount [N|auto]&lt;br /&gt;
                enable virtual instruction counter with 2^N clock ticks per&lt;br /&gt;
                instruction&lt;br /&gt;
-watchdog i6300esb|ib700&lt;br /&gt;
                enable virtual hardware watchdog [default=none]&lt;br /&gt;
-watchdog-action reset|shutdown|poweroff|pause|debug|none&lt;br /&gt;
                action when watchdog fires [default=reset]&lt;br /&gt;
-echr chr       set terminal escape character instead of ctrl-a&lt;br /&gt;
-virtioconsole c&lt;br /&gt;
                set virtio console&lt;br /&gt;
-show-cursor    show cursor&lt;br /&gt;
-tb-size n      set TB size&lt;br /&gt;
-incoming p     prepare for incoming migration, listen on port p&lt;br /&gt;
-nodefaults     don't create default devices&lt;br /&gt;
-prom-env variable=value&lt;br /&gt;
                set OpenBIOS nvram variables&lt;br /&gt;
-semihosting    semihosting mode&lt;br /&gt;
-old-param      old param mode&lt;br /&gt;
-readconfig &amp;lt;file&amp;gt;&lt;br /&gt;
-writeconfig &amp;lt;file&amp;gt;&lt;br /&gt;
                read/write config file&lt;br /&gt;
-nodefconfig&lt;br /&gt;
                do not load default config files at startup&lt;br /&gt;
&lt;br /&gt;
During emulation, the following keys are useful:&lt;br /&gt;
ctrl-alt-f      toggle full screen&lt;br /&gt;
ctrl-alt-n      switch to virtual console 'n'&lt;br /&gt;
ctrl-alt        toggle mouse and keyboard grab&lt;br /&gt;
&lt;br /&gt;
When using -nographic, press 'ctrl-a h' to get some help.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Qemu tutorials ==&lt;br /&gt;
So far we've setup the following tutorials suitable for Qemu:&lt;br /&gt;
&lt;br /&gt;
*[[Installing MS-DOS on Qemu]]&lt;br /&gt;
*[[Installing Windows 95 on Qemu]]&lt;br /&gt;
&lt;br /&gt;
*[[Installing Windows NT 3.1 on Qemu]]&lt;br /&gt;
*[[Installing Windows NT 3.5 on Qemu]]&lt;br /&gt;
*[[Installing Windows NT 3.51 on Qemu]]&lt;br /&gt;
*[[Installing Windows NT 4.0 on Qemu]]&lt;br /&gt;
*[[Installing Windows NT 4.0 on Qemu(MIPS)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Installing Windows 2000 on Qemu]]&lt;br /&gt;
*[[Installing Windows XP on Qemu]]&lt;br /&gt;
&lt;br /&gt;
*[[Installing Windows 2003 x86 on Qemu]]&lt;br /&gt;
*[[Installing Windows 2003 x64 on Qemu]]&lt;br /&gt;
&lt;br /&gt;
*[[Installing Windows Vista x86 on Qemu]]&lt;br /&gt;
&lt;br /&gt;
*[[Installing OpenBSD 4.5 i386 on Qemu]]&lt;br /&gt;
*[[Installing OpenBSD 4.5 x64 on Qemu]]&lt;br /&gt;
&lt;br /&gt;
*[[Installing NeXTSTEP on Qemu]] This also gives a guide on compiling Qemu, prior to the 0.15 release.&lt;br /&gt;
&lt;br /&gt;
*[[Installing Xenix 2.x on Qemu]]&lt;br /&gt;
&lt;br /&gt;
*[[Installing NetBSD 6.1.5 Sparc on Qemu]]&lt;br /&gt;
*[[Installing NetBSD 6.1.5 Sparc64 on Qemu]]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* Qemu's main site -  http://wiki.qemu.org/Index.html&lt;br /&gt;
* Win32 builds of Qemu including ready to run images http://www.h7.dion.ne.jp/~qemu-win/&lt;br /&gt;
* Automated builds of Qemu are available [http://qemu.weilnetz.de/w64/ here for Win64], and [http://qemu.weilnetz.de/w32/ here for Win32].&lt;br /&gt;
&lt;br /&gt;
{{semi-stub}}&lt;br /&gt;
&lt;br /&gt;
[[Category: Emulators]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User_talk:Malxau&amp;diff=13872</id>
		<title>User talk:Malxau</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User_talk:Malxau&amp;diff=13872"/>
				<updated>2017-08-03T18:28:41Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: /* Double redirect */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Windows_95&amp;diff=13871</id>
		<title>Windows 95</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Windows_95&amp;diff=13871"/>
				<updated>2017-08-03T18:27:58Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Clarify that cooperative multitasking was 16 bit only&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox OS&lt;br /&gt;
| image = Windows 95 Box.jpg|150px&lt;br /&gt;
| caption = A retail copy of Windows 95 from Japan&lt;br /&gt;
| name = Windows 95&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| year introduced = 1995&lt;br /&gt;
| architecture = [[i386]]&lt;br /&gt;
| type = single user environment&lt;br /&gt;
| multitasking = preemptive for 32 bit processes, cooperative for 16 bit processes, with paging (386)&lt;br /&gt;
}}&lt;br /&gt;
[[Image:Windows 95a (Japanese) on Qemu.jpg|150px|thumb|right|Windows 95]]&lt;br /&gt;
Windows 95 was Microsoft's first consumer hybrid 32bit OS.  While many of its internals were 16 bit, and a significant amount of it was based on the older [[Windows 3.1]], Windows 95's capabilities surpassed those of say Windows 3.1 with [[Win32s]].&lt;br /&gt;
&lt;br /&gt;
Windows 95 also revolutionized the PC interface by switching from the program manager to the explorer desktop shell.  While it wasn't an object desktop like OS/2's presentation manager, it was a good enough facsimile.  Windows 95 was significantly easier for first time users to operate, and it was wildly popular for the UI alone. &lt;br /&gt;
&lt;br /&gt;
Windows 95 was able to execute threads, shipped with [[TCP/IP]], and [[IPX/SPX]] stack for Novell Netware, and had a variety of 32bit drivers.  However for compatibility it could 'fall back' and use various 16bit device drivers.&lt;br /&gt;
&lt;br /&gt;
Windows 95 was updated multiple times.  The most significant update was OSR2, short for OEM Service Release 2, and was released in 1996.  At the time Windows 95 was first released, it was limited to the FAT 16 filesystem, so partitions could not go beyond 2 gigabytes.  OSR2 added support for FAT32 so that new systems could support much larger partitions with less wasted space.  Boxed retail copies of Windows 95 were never updated to OSR2, so FAT32 support was only available with an OEM supplied copy of Windows 95.  [[Windows 98]] included FAT32 in a retail box, along with tools for converting existing systems to use it, which OSR2 did not include.&lt;br /&gt;
&lt;br /&gt;
Microsoft also started to sell addons for its consumer operating systems starting with the [[Plus Pack!]] that included [[Internet Explorer]] and various system enhancers in the form of better disk compression, a system agent (think of cron) and themes.&lt;br /&gt;
&lt;br /&gt;
It is worth noting that this was the most significant upgrade ever delivered into the PC market place.  The transition of going from the 16 bit environment of [[Windows 3.1]], to a 32bit environment has allowed for a far greater user experience.  This is because of the combination of faster CPUs and larger memory spaces.&lt;br /&gt;
&lt;br /&gt;
== Getting this to run ==&lt;br /&gt;
*[[Installing Windows 95 on Qemu]]&lt;br /&gt;
&lt;br /&gt;
For machines with fast CPUs, take a look here: [http://www.msfn.org/board/topic/141402-windows-95-21ghz-cpu-limit-broken/ msfn.org]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
{{Nav Windows}}&lt;br /&gt;
[[Category:Operating Systems]]&lt;br /&gt;
[[Category:Operating Environments]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Windows_98&amp;diff=13870</id>
		<title>Windows 98</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Windows_98&amp;diff=13870"/>
				<updated>2017-08-03T18:26:49Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add infobox&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox OS&lt;br /&gt;
| name = Windows 98&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| year introduced = 1998&lt;br /&gt;
| architecture = [[i386]]&lt;br /&gt;
| type = single user environment&lt;br /&gt;
| multitasking = preemptive for 32 bit processes, cooperative for 16 bit processes, with paging (386)&lt;br /&gt;
}}&lt;br /&gt;
Windows 98 was the successor to [[Windows 95]].  Although it did include some under the hood changes, it was largely a release that contained things previously available for Windows 95, including FAT32 support, Internet Explorer 4.01 SP1 with Active Desktop, and an updated Media Player.  It bundled API frameworks that were redistributable on Windows 95, including the current C runtime library (MSVCRT.DLL), HTML Help, and an updated COMCTL32.DLL.  It was the first release of a few Windows tools that lived on much longer, including Windows Update and Disk Cleanup.  Although FAT32 support was available in Windows 95 OSR2, Windows 98 included a FAT16 to FAT32 converter to allow people who upgrade to benefit from FAT32.&lt;br /&gt;
&lt;br /&gt;
Although Active Desktop comprised a range of technologies, it included support for HTML wallpaper, floating HTML desktop windows, and by default folder windows were written in HTML/CSS to define the layout of folder contents on the right and summary information in a pane on the left.  There were also changes unrelated to HTML, including a start menu that supported drag and drop, as well as context menus on start menu items.  All of these changes were available for Windows 95 with Internet Explorer 4.&lt;br /&gt;
&lt;br /&gt;
Largely due to the extra resources required to run Active Desktop, Windows 98 required a 486 with 16Mb of RAM, as opposed to Windows 95's 386 with 4Mb of RAM.  In practice 16Mb was often insufficient for Windows 98, which benefited from significantly more RAM, as well as significantly more compute to render the much more complex folder windows.&lt;br /&gt;
&lt;br /&gt;
At the time of its release, a Windows 95 machine could be configured to be very similar to a Windows 98 machine, but since the components were optional on Windows 95 users could decide which components and overhead they wanted.  This meant Windows 98 had limited value as an upgrade.  Over time however, software was released that required Windows 98 and not function on Windows 95, including Internet Explorer 6 and Office XP.&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
{{Nav Windows}}&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Windows_98&amp;diff=13869</id>
		<title>Windows 98</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Windows_98&amp;diff=13869"/>
				<updated>2017-08-03T18:22:20Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add a stub page for Windows 98&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Windows 98 was the successor to [[Windows 95]].  Although it did include some under the hood changes, it was largely a release that contained things previously available for Windows 95, including FAT32 support, Internet Explorer 4.01 SP1 with Active Desktop, and an updated Media Player.  It bundled API frameworks that were redistributable on Windows 95, including the current C runtime library (MSVCRT.DLL), HTML Help, and an updated COMCTL32.DLL.  It was the first release of a few Windows tools that lived on much longer, including Windows Update and Disk Cleanup.  Although FAT32 support was available in Windows 95 OSR2, Windows 98 included a FAT16 to FAT32 converter to allow people who upgrade to benefit from FAT32.&lt;br /&gt;
&lt;br /&gt;
Although Active Desktop comprised a range of technologies, it included support for HTML wallpaper, floating HTML desktop windows, and by default folder windows were written in HTML/CSS to define the layout of folder contents on the right and summary information in a pane on the left.  There were also changes unrelated to HTML, including a start menu that supported drag and drop, as well as context menus on start menu items.  All of these changes were available for Windows 95 with Internet Explorer 4.&lt;br /&gt;
&lt;br /&gt;
Largely due to the extra resources required to run Active Desktop, Windows 98 required a 486 with 16Mb of RAM, as opposed to Windows 95's 386 with 4Mb of RAM.  In practice 16Mb was often insufficient for Windows 98, which benefited from significantly more RAM, as well as significantly more compute to render the much more complex folder windows.&lt;br /&gt;
&lt;br /&gt;
At the time of its release, a Windows 95 machine could be configured to be very similar to a Windows 98 machine, but since the components were optional on Windows 95 users could decide which components and overhead they wanted.  This meant Windows 98 had limited value as an upgrade.  Over time however, software was released that required Windows 98 and not function on Windows 95, including Internet Explorer 6 and Office XP.&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
{{Nav Windows}}&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.0&amp;diff=13868</id>
		<title>Visual C++ 1.0</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.0&amp;diff=13868"/>
				<updated>2017-08-03T18:04:03Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Make redirect one step rather than two&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Visual C++ 1.1]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Microsoft_C&amp;diff=13867</id>
		<title>Microsoft C</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Microsoft_C&amp;diff=13867"/>
				<updated>2017-08-03T18:02:59Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Change version number from 1.0 (16 bit) to 1.1 (32 bit)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I'm going to try to keep track of all the Microsoft C compiler versions, including Visual C++&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows NT 3.1 SDK ==&lt;br /&gt;
This is the compiler versions from the [[Windows NT 3.1 SDK]] CD I got.&lt;br /&gt;
&lt;br /&gt;
=== i386 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 8.00.3190a&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== mips ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) C Centaur Optimizing Compiler Version 8.00.081&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1992. All rights reserved.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Visual C++ ==&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
I only have the i386 version of [[Visual C++ 1.1]], was there a MIPS version of Visual C++ 1.1?&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 8.00&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4.0 ===&lt;br /&gt;
These are from the Visual C++ 4.0 RISC edition....&lt;br /&gt;
&lt;br /&gt;
==== mips ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 10.00.5292X for MIPS R-Series&lt;br /&gt;
Copyright (C) Microsoft Corp 1984-1995. All rights reserved.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Alpha ====&lt;br /&gt;
==== PowerPC ====&lt;br /&gt;
==== i386 ====&lt;br /&gt;
&lt;br /&gt;
[[Category:C compilers]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_Basic&amp;diff=13862</id>
		<title>Visual Basic</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_Basic&amp;diff=13862"/>
				<updated>2017-08-02T18:02:28Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add VBA plus minor tweaks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Visual Basic for DOS ==&lt;br /&gt;
&lt;br /&gt;
Although it shipped after Visual Basic for Windows 1.0, this version was more a continuation of [[QuickBasic[[ than a radical change.  It included a form designer and a library that supported character mode windowing and controls.  This support was entirely optional, and it could function as a regular QuickBasic compiler simply by not using the provided libraries.  The library could be used as a statically linked library, or binaries could depend on a companion executable, VBDRT10.EXE.  Under the covers, it was a new version of the basic compiler, and modules were linked via the regular segmented executable linker.  Unlike its Windows counterparts, it could therefore link C and Basic code into a single executable.&lt;br /&gt;
&lt;br /&gt;
A converter was supplied to convert DOS based forms to a format that Visual Basic for Windows could consume.  Although nice in theory, the limitations of an 80x25 character mode UI meant that the size and alignment of elements was very different on DOS compared to Windows, so the UI required a lot of manual finishing to be suitable on each platform.&lt;br /&gt;
&lt;br /&gt;
== Visual Basic for Windows (16-bit) ==&lt;br /&gt;
&lt;br /&gt;
=== Version 1.0 ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic 1.0 for Windows was released in 1991 supporting Windows 3.0.  Although it could compile applications into an executable, the executable was really comprised of P-code that was interpreted by the mandatory run time library, VBRUN100.DLL.  It was revolutionary for its time in allowing point-and-click UI construction, and a relatively simple language to script together interface actions.  Given the demand for Windows applications, the relative simplicity of the tasks, and the relative complexity of coding for Windows in native C, Visual Basic proved to be extremely popular.&lt;br /&gt;
&lt;br /&gt;
Among other things, Visual Basic 1.0 introduced the concept of a VBX control, which was a DLL that provided a UI element that could be interacted with via properties and methods.  Unfortunately, Visual Basic could not produce DLLs itself, so it proved a good place to consume reusable components but could not provide its own.&lt;br /&gt;
&lt;br /&gt;
=== Version 2.0 ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic 2.0 was released in 1992 and continued to support Windows 3.0.  It included UI refinements, such as the introduction of a floating window to control the properties of UI elements, as well as more foundation support such as supporting OLE containers and MDI.  It also separated between a standard edition, for developing Windows applications, and a professional edition, which included database support for line of business applications.  Applications written in Visual Basic 2 required a new run time library, VBRUN200.DLL.&lt;br /&gt;
&lt;br /&gt;
=== Version 3.0 ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic 3.0 was released in 1993, including support for OLE2.  Applications written with it required VBRUN300.DLL.&lt;br /&gt;
&lt;br /&gt;
=== Version 4.0 ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic 4.0 was a release that included both a 16 bit development environment and runtime, along with a 32 bit development environment and runtime.  The goal was to allow applications to be ported to 4.0, and from there to [[Windows 95]].  To that end, it defaulted to a 3D appearance, although this could be changed as needed.&lt;br /&gt;
&lt;br /&gt;
The 16 bit version of Visual Basic 4.0 added support for OLE custom controls, or OCX controls, later renamed ActiveX.  Unlike VBX controls, which could be instantiated from anywhere, OLE controls required registering with the Windows registry (at the time, reg.dat.)  This meant Visual Basic applications using OLE controls really required explicit installation, and could not simply be copied and executed.&lt;br /&gt;
&lt;br /&gt;
The 16 bit version of Visual Basic 4.0 retained support for 16 bit VBX controls to be used inside projects.&lt;br /&gt;
&lt;br /&gt;
== Visual Basic for Windows (32-bit) ==&lt;br /&gt;
&lt;br /&gt;
=== Version 4.0 ===&lt;br /&gt;
&lt;br /&gt;
The 32 bit version of Visual Basic 4.0 dropped VBX support in favor of OLE custom controls.  This meant there was no path for existing applications using custom controls to 32 bit.  Since a custom control was an in-process DLL, migrating to 32 bit would always require updated controls, but changing the interface meant that the controls required much more updating than a 32 bit port of VBX.&lt;br /&gt;
&lt;br /&gt;
In addition, the 32 bit version exposed a lot of new Windows 95 UI elements to applications.  These were unavailable on 16 bit platforms, and building an application which looked like a Windows 95 application really required them to be used.&lt;br /&gt;
&lt;br /&gt;
=== Version 5.0 ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic 5 shipped in 1997.  After completing the transition to OLE custom controls, it became feasible for Visual Basic to author controls that it could also consume.  This release was available in a &amp;quot;Control Development Edition&amp;quot; which was made freely available, that could not generate applications, only custom controls.&lt;br /&gt;
&lt;br /&gt;
=== Version 6.0 ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic 6.0, released in 1998, was the final version of the traditional Visual Basic language.  Although the version 6.0 release was relatively minor, its status as the final release ensured it would be used for a very long time.&lt;br /&gt;
&lt;br /&gt;
== Visual Basic for Applications ==&lt;br /&gt;
&lt;br /&gt;
Visual Basic for Applications bundled the Visual Basic language into a form that could be embedded into applications, most notably the Office suite.  The first version was included with Excel 5, although that included the Visual Basic interpreter without the Visual Basic UI designer.  The UI designer was included in Office 97, and was very similar to Visual Basic 5, released at around the same time.  Although Visual Basic itself has been discontinued in favor of .NET, Visual Basic for Applications lives on in current versions of Office, including 64 bit versions and the Mac version.&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_Basic&amp;diff=13861</id>
		<title>Visual Basic</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_Basic&amp;diff=13861"/>
				<updated>2017-08-02T05:26:50Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add a Visual Basic page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Visual Basic for DOS ==&lt;br /&gt;
&lt;br /&gt;
Although it shipped after Visual Basic for Windows 1.0, this version was more a continuation of QuickBasic than a radical change.  It included a form designer and a library that supported character mode windowing and controls.  This support was entirely optional, and it could function as a regular QuickBasic compiler simply by not using the provided libraries.  The library could be used as a statically linked library, or binaries could depend on a companion executable, VBDRT10.EXE.  Under the covers, it was a new version of the basic compiler, and modules were linked via the regular segmented executable linker.  Unlike its Windows counterparts, it could therefore link C and Basic code into a single executable.&lt;br /&gt;
&lt;br /&gt;
== Visual Basic for Windows (16-bit) ==&lt;br /&gt;
&lt;br /&gt;
=== Version 1.0 ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic 1.0 for Windows was released in 1991 supporting Windows 3.0.  Although it could compile applications into an executable, the executable was really comprised of P-code that was interpreted by the mandatory run time library, VBRUN100.DLL.  It was revolutionary for its time in allowing point-and-click UI construction, and a relatively simple language to script together interface actions.  Given the demand for Windows applications, the relative simplicity of the tasks, and the relative complexity of coding for Windows in native C, Visual Basic proved to be extremely popular.&lt;br /&gt;
&lt;br /&gt;
Among other things, Visual Basic 1.0 introduced the concept of a VBX control, which was a DLL that provided a UI element that could be interacted with via properties and methods.  Unfortunately, Visual Basic could not produce DLLs itself, so it proved a good place to consume reusable components but could not provide its own.&lt;br /&gt;
&lt;br /&gt;
=== Version 2.0 ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic 2.0 was released in 1992 and continued to support Windows 3.0.  It included UI refinements, such as the introduction of a floating window to control the properties of UI elements, as well as more foundation support such as supporting OLE containers and MDI.  It also separated between a standard edition, for developing Windows applications, and a professional edition, which included database support for line of business applications.  Applications written in Visual Basic 2 required a new run time library, VBRUN200.DLL.&lt;br /&gt;
&lt;br /&gt;
=== Version 3.0 ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic 3.0 was released in 1993, including support for OLE2.  Applications written with it required VBRUN300.DLL.&lt;br /&gt;
&lt;br /&gt;
=== Version 4.0 ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic 4.0 was a release that included both a 16 bit development environment and runtime, along with a 32 bit development environment and runtime.  The goal was to allow applications to be ported to 4.0, and from there to Windows 95.&lt;br /&gt;
&lt;br /&gt;
The 16 bit version of Visual Basic 4.0 added support for OLE custom controls, or OCX controls, later renamed ActiveX.  Unlike VBX controls, which could be instantiated from anywhere, OLE controls required registering with the Windows registry (at the time, reg.dat.)  This meant Visual Basic applications using OLE controls really required explicit installation, and could not simply be copied and executed.&lt;br /&gt;
&lt;br /&gt;
The 16 bit version of Visual Basic 4.0 retained support for 16 bit VBX controls to be used inside projects.&lt;br /&gt;
&lt;br /&gt;
== Visual Basic for Windows (32-bit) ==&lt;br /&gt;
&lt;br /&gt;
=== Version 4.0 ===&lt;br /&gt;
&lt;br /&gt;
The 32 bit version of Visual Basic 4.0 dropped VBX support in favor of OLE custom controls.  This meant there was no path for existing applications using custom controls to 32 bit.  Since a custom control was an in-process DLL, migrating to 32 bit would always require updated controls, but changing the interface meant that the controls required much more updating than a 32 bit port of VBX.&lt;br /&gt;
&lt;br /&gt;
In addition, the 32 bit version exposed a lot of new Windows 95 UI elements to applications.  These were unavailable on 16 bit platforms, and building an application which looked like a Windows 95 application really required them to be used.&lt;br /&gt;
&lt;br /&gt;
=== Version 5.0 ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic 5 shipped in 1997.  After completing the transition to OLE custom controls, it became feasible for Visual Basic to author controls that it could also consume.  This release was available in a &amp;quot;Control Development Edition&amp;quot; which was made freely available, that could not generate applications, only custom controls.&lt;br /&gt;
&lt;br /&gt;
=== Version 6.0 ===&lt;br /&gt;
&lt;br /&gt;
Visual Basic 6.0, released in 1998, was the final version of the traditional Visual Basic language.  Although the version 6.0 release was relatively minor, its status as the final release ensured it would be used for a very long time.&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.1&amp;diff=13860</id>
		<title>Visual C++ 1.1</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.1&amp;diff=13860"/>
				<updated>2017-08-02T04:27:42Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add comment about the bad linker bug in this release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| name = Visual C++ 1.1&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| platform = Windows NT&lt;br /&gt;
| year introduced = 1993&lt;br /&gt;
| previous version = [[Windows NT 3.1 SDK]]&lt;br /&gt;
| next version = [[Visual C++ 2.0]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Visual C++ 1.1 was the first 32 bit release of Visual C++.  The IDE was visually similar to the 16 bit versions of Visual C++, such as [[Visual C++ 1.5]], but the compiler and toolchain where improved versions of the ones that shipped with the [[Windows NT 3.1 SDK]].  Applications compiled with this version using a CRT DLL required MSVCRT10.DLL, which is not common and not preinstalled on any OS release.&lt;br /&gt;
&lt;br /&gt;
The original linker that shipped with this release was designed for NT 3.1 and is incompatible with NT 3.5 in that it will fail to truncate executables correctly, leaving them as multiples of 2Mb.  A fix for this bug was posted to Microsoft's now defunct ftp site at ftp://ftp.microsoft.com/Softlib/MSLFILES/LNK100.EXE .  Frustratingly, it indicates the same version number.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07/22/1993  01:16 AM           389,632 C13232.EXE&lt;br /&gt;
07/22/1993  01:16 AM           616,448 C1XX3232.EXE&lt;br /&gt;
07/19/1993  08:25 AM           482,816 C23232.EXE&lt;br /&gt;
07/20/1993  01:33 AM            87,552 CL.EXE&lt;br /&gt;
07/15/1993  08:17 AM            48,640 CL386.EXE&lt;br /&gt;
07/12/1993  05:47 AM           161,792 CVPACK.EXE&lt;br /&gt;
07/15/1993  08:54 AM           385,536 LINK.EXE&lt;br /&gt;
07/15/1993  08:17 AM            48,640 LINK32.EXE&lt;br /&gt;
07/15/1993  06:26 AM           128,512 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 8.00&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                            C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486 (default)         /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gf enable string pooling&lt;br /&gt;
/Gd __cdecl calling convention           /Gy separate functions for linker&lt;br /&gt;
/Gr __fastcall calling convention        /Gh enable hook function call&lt;br /&gt;
/Gz __stdcall calling convention&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi prepare for debugging (CodeView)     /Zg generate function prototypes&lt;br /&gt;
/Z7 C7 style CodeView information        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number information              /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
/?, /help print this help message        /w disable all warnings&lt;br /&gt;
/c compile only, no link                 /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /WX treat warnings as errors&lt;br /&gt;
/J default char type is unsigned         /Yc[file] create .PCH file&lt;br /&gt;
/nologo suppress copyright message       /Yd put debug info in every .OBJ&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yu[file] use .PCH file&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /YX[file] automatic .PCH&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string            /Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
/MD link with MSVCRT.LIB                 /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/ML link with LIBC.LIB                   /LD Create .DLL&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/MT link with LIBCMT.LIB                 /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== link ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-Bit Executable Linker Version 1.00&lt;br /&gt;
Copyright (C) Microsoft Corp 1992-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK [options] [files] [@commandfile]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      /ALIGN:#&lt;br /&gt;
      /BASE:{address|@filename,key}&lt;br /&gt;
      /COMMENT:comment&lt;br /&gt;
      /DEBUG[:{NONE|FULL}]&lt;br /&gt;
      /DEBUGTYPE:{CV|COFF|BOTH}&lt;br /&gt;
      /DEF:filename&lt;br /&gt;
      /DEFAULTLIB:library[,library]&lt;br /&gt;
      /DLL&lt;br /&gt;
      /ENTRY:symbol&lt;br /&gt;
      /EXPORT:symbol&lt;br /&gt;
      /FIXED&lt;br /&gt;
      /FORCE&lt;br /&gt;
      /IMPLIB:filename&lt;br /&gt;
      /INCLUDE:symbol&lt;br /&gt;
      /MAP[:filename]&lt;br /&gt;
      /NODEFAULTLIB[:library[,library...]]&lt;br /&gt;
      /NOENTRY&lt;br /&gt;
      /NOLOGO&lt;br /&gt;
      /OPT:{REF|NOREF}&lt;br /&gt;
      /ORDER:@filename&lt;br /&gt;
      /OUT:filename&lt;br /&gt;
      /RELEASE&lt;br /&gt;
      /SECTION:name,[E][R][W][S]&lt;br /&gt;
      /STACK:reserve[,commit]&lt;br /&gt;
      /STUB:filename&lt;br /&gt;
      /SUBSYSTEM:{WINDOWS|CONSOLE}[,#[.#]]&lt;br /&gt;
      /VERBOSE&lt;br /&gt;
      /VERSION:#[.#]&lt;br /&gt;
      /WARN[:warninglevel]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== nmake ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.40&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:  NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
/A Build all evaluated targets         /B Build if time stamps are equal&lt;br /&gt;
/C Suppress output messages            /D Display build information&lt;br /&gt;
/E Override env-var macros             /HELP Display brief usage message&lt;br /&gt;
/I Ignore exit codes from commands     /K Build unrelated targets on error&lt;br /&gt;
/N Display commands but do not execute /NOLOGO Suppress copyright message&lt;br /&gt;
/P Display NMAKE information           /Q Check time stamps but do not build&lt;br /&gt;
/R Ignore predefined rules/macros      /S Suppress executed-commands display&lt;br /&gt;
/T Change time stamps but do not build&lt;br /&gt;
/? Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:C compilers]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Windows_95&amp;diff=13243</id>
		<title>Windows 95</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Windows_95&amp;diff=13243"/>
				<updated>2017-07-26T20:01:53Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Clarified that FAT32 support was added in OSR2 but not present in the original release including retail copies&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox OS&lt;br /&gt;
| image = Windows 95 Box.jpg|150px&lt;br /&gt;
| caption = A retail copy of Windows 95 from Japan&lt;br /&gt;
| name = Windows 95&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| year introduced = 1995&lt;br /&gt;
| architecture = [[i386]]&lt;br /&gt;
| type = single user environment&lt;br /&gt;
| multitasking = cooperative with paging (386)&lt;br /&gt;
}}&lt;br /&gt;
[[Image:Windows 95a (Japanese) on Qemu.jpg|150px|thumb|right|Windows 95]]&lt;br /&gt;
Windows 95 was Microsoft's first consumer hybrid 32bit OS.  While many of its internals were 16 bit, and a significant amount of it was based on the older [[Windows 3.1]], Windows 95's capabilities surpassed those of say Windows 3.1 with [[Win32s]].&lt;br /&gt;
&lt;br /&gt;
Windows 95 also revolutionized the PC interface by switching from the program manager to the explorer desktop shell.  While it wasn't an object desktop like OS/2's presentation manager, it was a good enough facsimile.  Windows 95 was significantly easier for first time users to operate, and it was wildly popular for the UI alone. &lt;br /&gt;
&lt;br /&gt;
Windows 95 was able to execute threads, shipped with [[TCP/IP]], and [[IPX/SPX]] stack for Novell Netware, and had a variety of 32bit drivers.  However for compatibility it could 'fall back' and use various 16bit device drivers.&lt;br /&gt;
&lt;br /&gt;
Windows 95 was updated multiple times.  The most significant update was OSR2, short for OEM Service Release 2, and was released in 1996.  At the time Windows 95 was first released, it was limited to the FAT 16 filesystem, so partitions could not go beyond 2 gigabytes.  OSR2 added support for FAT32 so that new systems could support much larger partitions with less wasted space.  Boxed retail copies of Windows 95 were never updated to OSR2, so FAT32 support was only available with an OEM supplied copy of Windows 95.  [[Windows 98]] included FAT32 in a retail box, along with tools for converting existing systems to use it, which OSR2 did not include.&lt;br /&gt;
&lt;br /&gt;
Microsoft also started to sell addons for its consumer operating systems starting with the [[Plus Pack!]] that included [[Internet Explorer]] and various system enhancers in the form of better disk compression, a system agent (think of cron) and themes.&lt;br /&gt;
&lt;br /&gt;
It is worth noting that this was the most significant upgrade ever delivered into the PC market place.  The transition of going from the 16 bit environment of [[Windows 3.1]], to a 32bit environment has allowed for a far greater user experience.  This is because of the combination of faster CPUs and larger memory spaces.&lt;br /&gt;
&lt;br /&gt;
== Getting this to run ==&lt;br /&gt;
*[[Installing Windows 95 on Qemu]]&lt;br /&gt;
&lt;br /&gt;
For machines with fast CPUs, take a look here: [http://www.msfn.org/board/topic/141402-windows-95-21ghz-cpu-limit-broken/ msfn.org]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
{{Nav Windows}}&lt;br /&gt;
[[Category:Operating Systems]]&lt;br /&gt;
[[Category:Operating Environments]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Windows_NT&amp;diff=13230</id>
		<title>Windows NT</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Windows_NT&amp;diff=13230"/>
				<updated>2017-07-25T07:37:14Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add service pack comments and minor cleanups&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox OS&lt;br /&gt;
| name = Windows NT&lt;br /&gt;
| creator = Dave Cutler et al&lt;br /&gt;
| year introduced = 1993&lt;br /&gt;
| architecture = Originally [[MIPS]], then [[i386]], [[DEC Alpha]], [[PowerPC]], [[Itanium]], [[x64]]&lt;br /&gt;
| type = Time-sharing&lt;br /&gt;
| multitasking = Multitasking with paging/swap&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Windows NT is [[Microsoft]]'s first home built 32bit OS.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
[[Image:NT OS2.png|right|The NT OS/2 original logo]]&lt;br /&gt;
&lt;br /&gt;
Windows NT started life as NT OS/2.  Originally it was a future thinking version of OS/2 that would be portable, and was targeted for the coming RISC CPUs.  The goal was to design a micro kernel OS that could run 32 bit POSIX binaries, 16 bit OS/2 1.x binaries, 16 bit MS-DOS &amp;amp; Windows binaries with an improved 32bit OS/2 API &amp;amp; Windowing system.  Microsoft hired Dave Cutler away from [[Digital]] to help with the implementation of the OS, back in 1988.&lt;br /&gt;
&lt;br /&gt;
It is important to remember that the NT project started in 1988, and where Microsoft was product wise.  Released products in 1988 were:&lt;br /&gt;
&lt;br /&gt;
Learning DOS 2.0, Microsoft Stat Pack on CD-ROM, MS-DOS 4.01, Small Business Consultant 1.0 on CD-ROM, SQL Server Network Developers Kit 1.0, Excel for OS/2, Word 5.0 for PC, Quick Basic 4.5, Excel for Windows 2.1, OS/2 Software Development kit 1.2, Microsoft Programmer’s Library on CD-ROM, Quick Basic 1.0 for Mac, MS-DOS CD-ROM Extensions 2.0, COBOL Optimizing Compiler 3.0, Flight Simulator 3.0 for PC, PowerPoint 2.01 for Mac, Learning DOS 2.0, Stat Pack 1.0&lt;br /&gt;
&lt;br /&gt;
NT OS/2 was originally targeted to the Intel i860 CPU.  This was done to keep Windows NT portable, and not fall into i386'isims into the original base source.  This is where the NT in NT comes from, processor they used was called the &amp;quot;N-Ten&amp;quot; from the i860 XR processor.  It was quickly apparent though that the i860 was NOT going to be a good workstation CPU, and the effort was quickly moved to the [[MIPS]] CPU, and Microsoft built their own motherboard design the [[JAZZ]].&lt;br /&gt;
&lt;br /&gt;
However after the 1990 release of [[Windows 3.0]], Microsoft started to shift the primary API of NT OS/2 to the Windows API.  The 16 bit emulation for [[OS/2]] applications remained, however the Graphical Interface for OS/2 programs became a separate product.  This started the rift that would end the Microsoft IBM collaboration.&lt;br /&gt;
&lt;br /&gt;
With NT OS/2 renamed to Windows NT, the first public demonstration was the [[Windows_NT_3.1_October_1991_beta|October 1991 Comdex developers pre-release]], followed up by the [[Windows_NT_3.1_December_1991_beta|December 1991 pre-release]]. Betas were then released in July of 1992, at the Professional Developers Conference in San Francisco, followed up with another beta in October 11th, of 1992.&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
Windows NT is a micro kernel design that supported the following subsystems:&lt;br /&gt;
*Win32&lt;br /&gt;
*NTVDM&lt;br /&gt;
*Win16 (WOW)&lt;br /&gt;
*OS/2&lt;br /&gt;
*POSIX&lt;br /&gt;
&lt;br /&gt;
The native API is largely undocumented, and noted by the prefix RTL.  The Win32 api is considered it's primary API as the system services, security &amp;amp; console are all win32 applications.&lt;br /&gt;
&lt;br /&gt;
=== Win32 ===&lt;br /&gt;
This is the most commonly used subsystem.  This is responsible for running the 32bit windows applications.  &lt;br /&gt;
&lt;br /&gt;
=== NTVDM ===&lt;br /&gt;
Microsoft licensed SoftPC 3.0 to provide a full PC emulated experience on the RISC CPUs and for emulating IBM PC hardware on the i386, but running instructions inside a v86 virtual machine (A hardware feature of the 386 and higher CPUs).&lt;br /&gt;
&lt;br /&gt;
=== Win16 (WOW ===&lt;br /&gt;
The Win16/WOW subsystem was a specialized copy of Windows 3.1 running in the NTVDM that would pass all the user interface calls up to the Win32 subsystem via thunking.  This allowed for a seamless operation of legacy Win16 applications.  Because this ran withing the NTVDM, even RISC machines could run legacy i286/i386/i486 Win16 programs.  This was typical for Microsoft Office 4.2 as the only known RISC port of Office was Office 97 for the Dec Alpha.&lt;br /&gt;
&lt;br /&gt;
=== OS/2 ===&lt;br /&gt;
The OS/2 subsystem was to support the transition away from 16bit OS/2 applications.  Out of the box it only supported running text mode OS/2 applications.  There was a separately sold addon for the Presentation Manager graphical applications, although it was hard to come by as Microsoft strongly discouraged it's use.  An interesting note about the 16bit OS/2 subsystem is that Microsoft had provided a callback facility to allow OS/2 programs to call the Win32 API.&lt;br /&gt;
&lt;br /&gt;
=== POSIX ===&lt;br /&gt;
Posix compatibility was a 'hot topic' for US Government workstations.  The POSIX subsystem was thrown together to achieve a 'checkbox' on GSA contracts.  This subsystem was heavily crippled by not having a mechanism to call the Win32 API.  As such it provided an environment akin to [[32v|Unix 32v]].  With no ability to either run, display X11, or connect via TCP/IP it was largely ignored, except by a few who used it's [[vi]] tool that was included in the resource kit.&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
=== Windows NT 3.1 ===&lt;br /&gt;
[[Image:WindowsNT 3.1 retail.jpg|100px|thumb|right|Windows NT 3.1]]&lt;br /&gt;
&lt;br /&gt;
This was the first public release of Windows NT, and the Win32 API.  NT 3.1 was released on July 27th 1993.  The build number is 528.  NT 3.1 supported the i386 cpu, and the MIPS R4000.  Inside some boxes was a coupon for the Dec Alpha version.  NT 3.1 was apparently already ported to the Dec Alpha, however none of the ARC capable machines were 'production grade' so they couldn't certify for certain that it'd work.  Later copies of NT 3.1 have an ALPHA directory.&lt;br /&gt;
&lt;br /&gt;
Windows NT 3.1 does NOT support PCI buses.  It is limited to ISA/EISA/MCA only.  However some PCI peripherals can be driven by ISA drivers for things that map to ISA space... Like Video cards.  To get a scope of the limited support, check out the [[Windows NT 3.1 HCL]].&lt;br /&gt;
&lt;br /&gt;
On the i386 the maximum memory supported is 64MB (which was common limitation of ISA machines back then).&lt;br /&gt;
&lt;br /&gt;
Windows NT 3.1 also only allows for a SINGLE WOW session.&lt;br /&gt;
&lt;br /&gt;
NT 3.1 also includes a [[Microsoft Mail]] client, and the ability to setup &amp;amp; serve workgroup postoffices.&lt;br /&gt;
&lt;br /&gt;
There were several [[Windows NT 3.1 Betas|beta and pre-release]] versions of Windows NT 3.1.&lt;br /&gt;
&lt;br /&gt;
Windows NT 3.1 shipped in two versions, [[Windows NT 3.1 Advanced Server]], and [[Windows NT 3.1]].  The most recent service pack available is service pack 3.&lt;br /&gt;
&lt;br /&gt;
=== Windows NT 3.5 ===&lt;br /&gt;
[[Image:Windows NT 3.5.jpg|100px|thumb|right|Windows NT 3.5]]&lt;br /&gt;
&lt;br /&gt;
Codenamed Daytona, this release added several optimizations, and notably added support for the PCI bus, and the Dec Alpha CPU's shipped on the CD.  It was released on September 21st, 1994.  The build number was 807.&lt;br /&gt;
&lt;br /&gt;
The Windows NT 3.5 SDK included the Dec Alpha CLI tools.  This version also brought a software only port of OpenGL from SGI to make Windows NT more 'workstation like'.&lt;br /&gt;
&lt;br /&gt;
Windows NT 3.5 replaced the TCP/IP stack from SpiderTCP to something that was built in house.  It does support DHCP, and is faster then the SpiderTCP stack.  This new TCP/IP stack was also the basis for the one in [[Windows 95]].  It is worth mentioning that [[SLIP]] &amp;amp; [[PPP]] were now included.  IMHO this was the EASIEST OS at the time to connect to the internet.&lt;br /&gt;
&lt;br /&gt;
Along with the TCP/IP improvements, NT 3.5 also shipped with a Netware requester.  Netware was still late to the game with a client for Windows NT so Microsoft wrote one, and many organizations stuck with the Microsoft requester as it operated better then the Novell one.&lt;br /&gt;
&lt;br /&gt;
From a programming level NT 3.5 also finished out many of the API's that were left to be finished by the time NT 3.1 had shipped... I suspect it had more to do with spec drift then anything.&lt;br /&gt;
&lt;br /&gt;
NT 3.5 was released in two versions, [[Windows NT 3.5 Server]] and [[Windows NT 3.5 Workstation]].  The most recent service pack available is service pack 3.&lt;br /&gt;
&lt;br /&gt;
=== Windows NT 3.51 ===&lt;br /&gt;
[[Image:Windows NT 3.51.jpg|100px|thumb|right|Windows NT 3.51]]&lt;br /&gt;
&lt;br /&gt;
This release added the PowerPC CPU support that was done by IBM.  I've heard that NT 3.51 was actually 'done' 9 months prior to it's release but Microsoft had to wait for IBM to finish the PowerPC port.  Meanwhile Microsoft did a LOT of bug fixing making this a very popular release for corporations.  While it retained the look &amp;amp; feel of Windows 3.1 the newshell beta was available towards the end of the products lifespan, giving NT 3.51 a Windows 95 feel.  It was released on May 30th, 1995 and it's build number was 1057.&lt;br /&gt;
&lt;br /&gt;
NT 3.51 was to sync a lot of user mode components from Windows 95. For developers, this included the Windows 95 common control library including the rich edit control, as well as the Windows 95 help system.  Although it may not 'look' or feel like Windows 95 in the slightest.  This was the last version of Windows NT to incorporate the Program Manager as the primary interface.  Windows NT 3.51 could also run [[Microsoft Office 95]] the first 32bit version of the popular office suite (3.1/3.5 could NOT).&lt;br /&gt;
&lt;br /&gt;
Windows NT 3.51 shipped in two versions, [[Windows NT 3.51 Server]] and [[Windows NT 3.51 Workstation]].  The most recent service pack available is service pack 5.&lt;br /&gt;
&lt;br /&gt;
=== Windows NT 4.0 ===&lt;br /&gt;
[[Image:WindowsNT 4.0 japanese.jpg|100px|thumb|right|Windows NT 4.0]]&lt;br /&gt;
&lt;br /&gt;
Windows NT 4.0 was released on August 24th, 1996.  It's build number is 1381.  Initially it supported the Alpha, i386, MIPS and PowerPC CPUs.  However the MIPS cpu was dropped right after service pack 1.  The PowerPC cpu was dropped right before service pack 3.  The Dec Alpha would see mainstream support right through the Windows NT 4.0 product life cycle. It’s worth noting that the MCA bus (Microchannel) was also dropped from this release. &lt;br /&gt;
&lt;br /&gt;
This release was the most significant user wise, as it incorporated the Windows 95 shell (newshell).  Additionally Microsoft had moved the graphics &amp;amp; printing from the win32 user space, into the 'executive' or kernel.  This made graphics (GDI) and printing were significantly faster.  This did have the downside that video calls, or errors in print rasterization (1 point fonts!!) could crash the entire OS.&lt;br /&gt;
&lt;br /&gt;
I have to say that in my opinion this is where Windows NT went from a curiosity and joke into being a real commercial success.  Prior to this, Windows NT 3.1/3.5/3.51 ran mostly win16 applications, and ran them significantly slower then Windows 3.1.  However with the transition of user desktops to [[Windows 95]], corporate users now had machines with 16MB of ram, or more, and with Office 95 the beginning of 32bit productivity applications started to hit mainstream.  Windows 95 proved itself to be unable to multitask that well under heavy system loads, and with Users with Pentium CPU's suddenly Windows NT was viable.  In the company where I worked (Fortune 500 type) we had users going out an buying their own copies of NT 4.0 workstation once word got around that it ran Windows 95 applications but didn’t crash 2-3x a day.   Another significant thing for users was the built in shell for Novell Netware, and how it outperformed the Novell offering.&lt;br /&gt;
&lt;br /&gt;
Windows NT was also very popular on the server front, as installation and configuration was significantly easier then Novell Netware.  With the release of Exchange server 4.0 more and more companies started to transition their mail infrastructure to Windows NT.&lt;br /&gt;
Along with the rest of the ‘back office’ SQL, SNA Windows NT started to ‘steal’ away the data center.  &lt;br /&gt;
&lt;br /&gt;
Another significant aspect of Windows NT 4.0 was that it not only included TCP/IP in the product (it was an add-on for Novell Netware) but it also included a web server, ftp server &amp;amp; gopher server in the IIS product line.  This made IIS servers the quickest to deploy for a novice IS person.&lt;br /&gt;
&lt;br /&gt;
The downfall at the time was the numerous hotfixes for Windows NT, and how to apply them.  While waiting for the servicepacks was one thing, running NT 4.0 on the internet became a challenge as installing anything could undo a hotfix, and you had to be extra diligent about finding and verifying their installation.  Eventually Microsoft released the windows update function through Internet Explorer, alleviating most of this.&lt;br /&gt;
&lt;br /&gt;
Windows NT 4.0 shipped in three versions, [[Windows NT 4.0 Server]], [[Windows NT 4.0 Enterprise]] and [[Windows NT 4.0 Workstation]].  The most recent service pack available is service pack 6a.&lt;br /&gt;
&lt;br /&gt;
=== Windows NT 4.0 Terminal Server ===&lt;br /&gt;
[[Image:WindowsNT 4.0 terminal server.jpg|100px|thumb|right|Windows NT 4.0 Terminal Server]]&lt;br /&gt;
&lt;br /&gt;
This was the first Microsoft multiuser version of Windows, with technology given back from Citrix.  I recall Microsoft strong armed the Citrix people into this 'deal'...  Anyways it had Service pack 3 built into it, and thus only supported the Alpha &amp;amp; i386 CPUs.  It was released around June of 1998.&lt;br /&gt;
&lt;br /&gt;
This was more of a public alpha then a finished product.  Because applications had not been written with multiple concurrent instances running under different sessions from different users in mind, quirks were common.  It included installation and configuration utilities to tweak common applications to not freak out when more then one copy was running.&lt;br /&gt;
&lt;br /&gt;
It included 10 connection licenses, but any connection from NT 4 or a newer version of Windows did not require a license, so over time this came to mean limited by available memory.  Since this was a 32 bit release only, memory could be exhausted within 20-50 sessions depending on the intensity of load.&lt;br /&gt;
&lt;br /&gt;
There never was a servicepack 6a, just 6 so .net will NOT install.  This product was quickly replaced by the Windows 2000 Terminal Services, which honestly did a better job.&lt;br /&gt;
&lt;br /&gt;
{{Nav Windows}}&lt;br /&gt;
[[category:Operating Systems]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Installing_Windows_NT_3.1_on_Qemu&amp;diff=13229</id>
		<title>Installing Windows NT 3.1 on Qemu</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Installing_Windows_NT_3.1_on_Qemu&amp;diff=13229"/>
				<updated>2017-07-25T07:17:57Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installing Windows NT 3.1 on Qemu&lt;br /&gt;
&lt;br /&gt;
[[Image:Windows NT 3.1 on Qemu.jpg|300px|thumb|right|Windows NT 3.1 running on Qemu]]&lt;br /&gt;
&lt;br /&gt;
*For the older and somewhat relevant information see [[Installing Windows NT 3.1 on Qemu-legacy]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Windows NT 3.1 will install, however it is incompatible with IDE CD-ROM's.  This is simply because they did not exist at the time.  So you would have to follow the network installation guide.  You will also want the [http://vpsland.superglobalmegacorp.com/install/WindowsNT3.1/pcnet.7z AMD Pcnet] driver, which is vastly better then the old legacy NE2000.&lt;br /&gt;
&lt;br /&gt;
== CPU TYPE ==&lt;br /&gt;
When NT 3.1 was released pentium CPU's were still beta, and the cpuid thing had not been finalized enough in the install script.  So as a precaution we will need to flag the 486 cpu type.&lt;br /&gt;
&lt;br /&gt;
== MS-DOS prepare ==&lt;br /&gt;
&lt;br /&gt;
You'll have no choice but to have a MS-DOS Qemu VM installed &amp;amp; operational to start a Windows NT 3.1 installation.  Start with the [[Installing MS-DOS on Qemu]] tutorial, then come back here.&lt;br /&gt;
&lt;br /&gt;
With MS-DOS installed and able to access a CD-ROM, you will need a blank floppy image, in addition to either an ISO image with NT 3.1 or a 3.1 CD-ROM.&lt;br /&gt;
&lt;br /&gt;
I'll be using my physical NT 3.1 CD with WIN32 SDK, and Qemu 0.10.5 which will allow me to set my cpu to an Intel Pentium CPU so I won't have to worry about the inf files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemu.exe -L pc-bios -cpu 486 -m 64 -hda nt31.disk -net nic,model=pcnet -net user -fda nt31.vfd -cdrom \\.\d: -fda nt31boot.vfd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first thing in MS-DOS I'm going to do is format the floppy to make sure it's blank to appease the installer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
format a:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then change to the cdrom &amp;amp; run winnt.exe...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
d:&lt;br /&gt;
cd i386&lt;br /&gt;
winnt /F /C&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I'm going to skip the verifies for disk space &amp;amp; floppy writes..  When setup has completed it's job exit Qemu, and this would make a great time to boot back into MS-DOS, and alter the setup.inf &amp;amp; initial.inf files as mentioned above.  You may have to expand them manually but it's really not that hard.&lt;br /&gt;
&lt;br /&gt;
== Install ==&lt;br /&gt;
&lt;br /&gt;
Run it like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemu.exe -L pc-bios -cpu 486 -m 64 -hda nt31.disk -net nic,model=pcnet -net user -soundhw sb16,adlib -fda nt31boot.vfd -boot a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Windows NT will boot from the floppy, and it will naturally detect NO SCSI drivers.  I recommend changing the mouse to the &amp;quot;Microsoft Mouse Port Mouse (including BallPoint)&amp;quot; driver.  It will then go thru the motion of copying files (yet again) and then it'll prompt to reboot.  Quit Qemu as we won't need the floppy now.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qemu.exe -L pc-bios -cpu 486 -m 64 -hda nt31.disk -net nic,model=pcnet -net user -soundhw sb16,adlib -fda pcnet.vfd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And we'll be into the GUI phase of the install.  Since we've got an AMD PCnet driver in the floppy drive we can do the network setup.  Remember the AMDPcnet will need its driver installed from &amp;quot;A:\WINNT&amp;quot; ...  Also you'll want to load it for TCP/IP, drop the NetBEUI, and configure the TCP/IP as follows:&lt;br /&gt;
&lt;br /&gt;
*ADDRESS 10.0.2.15&lt;br /&gt;
*MASK 255.255.255.0&lt;br /&gt;
*GATEWAY 10.0.2.2&lt;br /&gt;
*DNS 10.0.2.3&lt;br /&gt;
&lt;br /&gt;
The soundblaster can be configured, the port is 220, and the IRQ is 5.&lt;br /&gt;
&lt;br /&gt;
The install will probably want to format your pcnet disk as an emergency disk, it doesn't matter at this point, and worst case you can always re extract your driver disk if you reinstall.&lt;br /&gt;
&lt;br /&gt;
== Logging on for the first time ==&lt;br /&gt;
This is a little tricky on Qemu, as you have to do the following to simulate a CAD &lt;br /&gt;
&lt;br /&gt;
CONTROL+ALT+2&lt;br /&gt;
sendkey ctrl-alt-delete&lt;br /&gt;
CONTROL+ALT+1&lt;br /&gt;
&lt;br /&gt;
And now you should have the logon prompt.&lt;br /&gt;
&lt;br /&gt;
You may want to setup an autologon via the registry.  You can find more information via [http://support.microsoft.com/kb/97597 kb97597].&lt;br /&gt;
&lt;br /&gt;
==  Where to go from here ==&lt;br /&gt;
&lt;br /&gt;
Well Windows NT 3.1 is more of a landmark for Microsoft's first homegrown 32bit OS, and at the same point it's interesting how much it's changed, and how little in some other ways.  I would however recommand getting service pack 3 for NT 3.1&lt;br /&gt;
&lt;br /&gt;
You can download it from [http://vpsland.superglobalmegacorp.com/install/WindowsNT3.1/WindowsNT%203.1%20servicepack%203%20i386.zip here].  You'll have to get creative with either MS-DOS &amp;amp; CD-ROM images to copy it in there, or some other method.. &lt;br /&gt;
&lt;br /&gt;
16 bit versions of Netscape *WILL* run on NT 3.1!&lt;br /&gt;
There is a nice little cache [http://ftp.lanet.lv/ftp/windows/www/netscape3.0/?C=M;O=A here]: &lt;br /&gt;
&lt;br /&gt;
I recommend the [http://ftp.lanet.lv/ftp/windows/www/netscape3.0/n16e301p.exe n16e301p.exe].  You can install Video for windows after 'fixing' the setup program to not abort on NT 3.1 but it won't run correctly, nor will [[cooltalk]] run correctly.&lt;br /&gt;
&lt;br /&gt;
By default Windows NT 3.1 will only detect 64MB of ram.  This is a 'fault' of ntdetect.com &amp;amp; ntldr.  You can however download servicepack 5 for Windows NT 3.51, and copy it's ntdetect.com/ntldr to see up to 3GB of ram!  You can download service pack 5 right [http://vpsland.superglobalmegacorp.com/install/WindowsNT3.51/sp5_351i.exe here].  I recommend using Netscape from within NT 3.1.  Make sure you have installed service pack 3 for NT 3.1 before you do this!!&lt;br /&gt;
&lt;br /&gt;
If you have access to [[Visual C++ 1.1]] or the [[Windows NT 3.1 SDK]] you'll be in luck as you can rebuild a few things.  In the transition from 3.1 to 3.5 the executable format changed.. You'll find that plenty of cli utilities will NOT run on 3.1.&lt;br /&gt;
&lt;br /&gt;
You may also want to grab a copy of the Windows NT 3.1 resource kit [http://vpsland.superglobalmegacorp.com/install/WindowsNT3.1/Resource%20Kits/ here]: &lt;br /&gt;
&lt;br /&gt;
And for anyone interested you'll want to read [http://support.microsoft.com/kb/108581 this] MS article on how to configure the POSIX subsystem to run [[vi]] correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:QEMU Tutorials]] [[Category:Qemu]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=User:Malxau&amp;diff=13228</id>
		<title>User:Malxau</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=User:Malxau&amp;diff=13228"/>
				<updated>2017-07-25T07:09:19Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Give myself a bio&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, I'm a former Windows contributor, current Windows and Visual C++ historian, and strong believer that CMD is the best shell ever made for Windows.&lt;br /&gt;
&lt;br /&gt;
You may be interested in [http://www.malsmith.net/ my software] (particularly if you also like CMD) or [http://www.malsmith.net/blog/ my blog] (particularly if you also like Windows/Visual C++ history.)&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.1&amp;diff=13227</id>
		<title>Visual C++ 1.1</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.1&amp;diff=13227"/>
				<updated>2017-07-25T07:03:27Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add link to 16 bit Visual C++&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| name = Visual C++ 1.1&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| platform = Windows NT&lt;br /&gt;
| year introduced = 1993&lt;br /&gt;
| previous version = [[Windows NT 3.1 SDK]]&lt;br /&gt;
| next version = [[Visual C++ 2.0]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Visual C++ 1.1 was the first 32 bit release of Visual C++.  The IDE was visually similar to the 16 bit versions of Visual C++, such as [[Visual C++ 1.5]], but the compiler and toolchain where improved versions of the ones that shipped with the [[Windows NT 3.1 SDK]].  Applications compiled with this version using a CRT DLL required MSVCRT10.DLL, which is not common and not preinstalled on any OS release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07/22/1993  01:16 AM           389,632 C13232.EXE&lt;br /&gt;
07/22/1993  01:16 AM           616,448 C1XX3232.EXE&lt;br /&gt;
07/19/1993  08:25 AM           482,816 C23232.EXE&lt;br /&gt;
07/20/1993  01:33 AM            87,552 CL.EXE&lt;br /&gt;
07/15/1993  08:17 AM            48,640 CL386.EXE&lt;br /&gt;
07/12/1993  05:47 AM           161,792 CVPACK.EXE&lt;br /&gt;
07/15/1993  08:54 AM           385,536 LINK.EXE&lt;br /&gt;
07/15/1993  08:17 AM            48,640 LINK32.EXE&lt;br /&gt;
07/15/1993  06:26 AM           128,512 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 8.00&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                            C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486 (default)         /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gf enable string pooling&lt;br /&gt;
/Gd __cdecl calling convention           /Gy separate functions for linker&lt;br /&gt;
/Gr __fastcall calling convention        /Gh enable hook function call&lt;br /&gt;
/Gz __stdcall calling convention&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi prepare for debugging (CodeView)     /Zg generate function prototypes&lt;br /&gt;
/Z7 C7 style CodeView information        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number information              /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
/?, /help print this help message        /w disable all warnings&lt;br /&gt;
/c compile only, no link                 /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /WX treat warnings as errors&lt;br /&gt;
/J default char type is unsigned         /Yc[file] create .PCH file&lt;br /&gt;
/nologo suppress copyright message       /Yd put debug info in every .OBJ&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yu[file] use .PCH file&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /YX[file] automatic .PCH&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string            /Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
/MD link with MSVCRT.LIB                 /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/ML link with LIBC.LIB                   /LD Create .DLL&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/MT link with LIBCMT.LIB                 /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== link ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-Bit Executable Linker Version 1.00&lt;br /&gt;
Copyright (C) Microsoft Corp 1992-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK [options] [files] [@commandfile]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      /ALIGN:#&lt;br /&gt;
      /BASE:{address|@filename,key}&lt;br /&gt;
      /COMMENT:comment&lt;br /&gt;
      /DEBUG[:{NONE|FULL}]&lt;br /&gt;
      /DEBUGTYPE:{CV|COFF|BOTH}&lt;br /&gt;
      /DEF:filename&lt;br /&gt;
      /DEFAULTLIB:library[,library]&lt;br /&gt;
      /DLL&lt;br /&gt;
      /ENTRY:symbol&lt;br /&gt;
      /EXPORT:symbol&lt;br /&gt;
      /FIXED&lt;br /&gt;
      /FORCE&lt;br /&gt;
      /IMPLIB:filename&lt;br /&gt;
      /INCLUDE:symbol&lt;br /&gt;
      /MAP[:filename]&lt;br /&gt;
      /NODEFAULTLIB[:library[,library...]]&lt;br /&gt;
      /NOENTRY&lt;br /&gt;
      /NOLOGO&lt;br /&gt;
      /OPT:{REF|NOREF}&lt;br /&gt;
      /ORDER:@filename&lt;br /&gt;
      /OUT:filename&lt;br /&gt;
      /RELEASE&lt;br /&gt;
      /SECTION:name,[E][R][W][S]&lt;br /&gt;
      /STACK:reserve[,commit]&lt;br /&gt;
      /STUB:filename&lt;br /&gt;
      /SUBSYSTEM:{WINDOWS|CONSOLE}[,#[.#]]&lt;br /&gt;
      /VERBOSE&lt;br /&gt;
      /VERSION:#[.#]&lt;br /&gt;
      /WARN[:warninglevel]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== nmake ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.40&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:  NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
/A Build all evaluated targets         /B Build if time stamps are equal&lt;br /&gt;
/C Suppress output messages            /D Display build information&lt;br /&gt;
/E Override env-var macros             /HELP Display brief usage message&lt;br /&gt;
/I Ignore exit codes from commands     /K Build unrelated targets on error&lt;br /&gt;
/N Display commands but do not execute /NOLOGO Suppress copyright message&lt;br /&gt;
/P Display NMAKE information           /Q Check time stamps but do not build&lt;br /&gt;
/R Ignore predefined rules/macros      /S Suppress executed-commands display&lt;br /&gt;
/T Change time stamps but do not build&lt;br /&gt;
/? Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:C compilers]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.5&amp;diff=13226</id>
		<title>Visual C++ 1.5</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.5&amp;diff=13226"/>
				<updated>2017-07-25T06:58:46Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add page for Visual C++ 1.5 (16 bit)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| name = Visual C++ 1.5&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| platform = Windows 3.1&lt;br /&gt;
| year introduced = 1994&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Visual C++ 1.5 was a popular release of the 16 bit line of Visual C++, and was bundled with [[Visual C++ 2.0]].  It was followed by 1.52, up to 1.52c which was bundled with [[Visual C++ 4.0]], becoming the last 16 bit release.  Although Visual C++ was a Windows IDE, the underlying compiler supported generating DOS executables as well as Windows executables.&lt;br /&gt;
&lt;br /&gt;
Due to the large number of memory models supported in 16 bit Windows, it was not possible to have a CRT DLL.  All applications were required to statically link the correct version of the CRT for the type of binary being constructed (DOS, Windows EXE, Windows DLL) with the correct memory model for the application.&lt;br /&gt;
&lt;br /&gt;
== cl ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) C/C++ Optimizing Compiler Version 8.00c&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                          C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                            -MEMORY MODEL-&lt;br /&gt;
/AS small model (default)               /AC compact model&lt;br /&gt;
/AM medium model                        /AL large model&lt;br /&gt;
/AH huge model                          /AT tiny model (.COM files)&lt;br /&gt;
/A&amp;lt;string&amp;gt; (custom memory model)&lt;br /&gt;
                            -OPTIMIZATION-&lt;br /&gt;
/O enable optimization (same as /Ot)    /O1 minimize space&lt;br /&gt;
/O2 maximize speed                      /Oa assume no aliasing&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)   /Oc local common subexpression opt.&lt;br /&gt;
/Od disable optimization (default)      /Oe enable registers allocation&lt;br /&gt;
/Of[-] toggle p-code quoting            /Og global common subexpression opt.&lt;br /&gt;
/Oi enable intrinsic functions          /Ol enable loop optimizations&lt;br /&gt;
/On disable &amp;quot;unsafe&amp;quot; optimizations      /Oo[-] toggle post code-gen. opt.&lt;br /&gt;
/Op[-] improve floating-pt consistency  /Oq enable maximum p-code optimization&lt;br /&gt;
/Or gen. common exit code (CodeView)    /Os favor code size&lt;br /&gt;
/Ot favor code speed                    /Ov[-] toggle p-code frame sorting&lt;br /&gt;
/OV&amp;lt;n&amp;gt; control inlining by func. size   /Ow assume cross-function aliasing&lt;br /&gt;
/Ox maximum opts. (/Ob1cegilnot /Gs)    /Oz enable &amp;quot;unsafe&amp;quot; optimizations&lt;br /&gt;
                          -CODE GENERATION-&lt;br /&gt;
/G0 8086 instructions (default)         /G1  186 instructions&lt;br /&gt;
/G2  286 instructions                   /G3  386 instructions&lt;br /&gt;
/GA protected-mode Win entry/exit code  /GD protected-mode Win entry/exit code&lt;br /&gt;
/GE&amp;lt;x&amp;gt; customize Windows entry/exit     /Gq backwards compatibility with v. 6&lt;br /&gt;
/Gc Pascal style calling conventions    /Gd C style calling conventions&lt;br /&gt;
/Ge use stack-check calls               /Gf enable string pooling&lt;br /&gt;
/Gs remove stack-check calls            /Gn remove p-code native entry points&lt;br /&gt;
/Gp&amp;lt;num&amp;gt; specify p-code entry tables    /Gr _fastcall style calling convention&lt;br /&gt;
/Gt[num] data size threshold            /GW real-mode Windows entry/exit code&lt;br /&gt;
/Gw real-mode Windows entry/exit code   /Gx assume that data is near&lt;br /&gt;
/Gx- assume that data is far            /Gy separate functions for linker&lt;br /&gt;
/Zr check null pointers (/f only)&lt;br /&gt;
                            -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file    /Fc[file] name source/object listing&lt;br /&gt;
/Fd[file] name .PDB filename            /Fe&amp;lt;file&amp;gt; name executable filename&lt;br /&gt;
/Fl[file] name object listing filename  /Fm[file] name map filename&lt;br /&gt;
/Fo&amp;lt;file&amp;gt; name object filename          /Fr[file] name .SBR filename&lt;br /&gt;
/Fp&amp;lt;file&amp;gt; name .PCH filename            /FR[file] name extended .SBR filename&lt;br /&gt;
/Fs[file] name source listing filename&lt;br /&gt;
                            -PREPROCESSOR-&lt;br /&gt;
/C don't strip comments                 /D&amp;lt;name&amp;gt;[=|#text] define macro&lt;br /&gt;
/E preprocess to stdout                 /EP same as /E but no #line&lt;br /&gt;
/I&amp;lt;directory&amp;gt; add #include path         /P preprocess to file&lt;br /&gt;
/U&amp;lt;name&amp;gt; remove predefined macro        /u remove all defined macros&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                              -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp        /vm&amp;lt;x&amp;gt; type of pointers to members&lt;br /&gt;
/Z7 C 7 style CodeView information      /Za disable extensions (implies /Op)&lt;br /&gt;
/Zd line number information             /Ze enable extensions (default)&lt;br /&gt;
/Zg generate function prototypes        /Zi prepare for debugging (CodeView)&lt;br /&gt;
/Zl omit default library name in .OBJ   /Zp[n] pack structs on n-byte boundary&lt;br /&gt;
/Zs check syntax only&lt;br /&gt;
                           -FLOATING POINT-&lt;br /&gt;
/FPa calls with altmath                 /FPc calls with emulator&lt;br /&gt;
/FPc87 calls with 8087 library          /FPi inline with emulator (default)&lt;br /&gt;
/FPi87 inline with 8087&lt;br /&gt;
                           -SOURCE LISTING-&lt;br /&gt;
/Sl&amp;lt;columns&amp;gt; set line width             /Sp&amp;lt;lines&amp;gt; set page length&lt;br /&gt;
/St&amp;lt;string&amp;gt; set title string            /Ss&amp;lt;string&amp;gt; set subtitle string&lt;br /&gt;
                           -MISCELLANEOUS-&lt;br /&gt;
/batch specify batch mode compilation   /Bm&amp;lt;num&amp;gt; set compiler's available mem.&lt;br /&gt;
/c compile only, no link                /H&amp;lt;num&amp;gt; external name length&lt;br /&gt;
/J default char type is unsigned        /f select fast compiler (default)&lt;br /&gt;
/f- select optimizing compiler          /Yc create .PCH file&lt;br /&gt;
/Yd put debug info in .PCH file         /Yu use .PCH file&lt;br /&gt;
/YX automatic precompiled header        /nologo suppress copyright message&lt;br /&gt;
/Mq compile for QuickWin                /ND&amp;lt;name&amp;gt; name data segment&lt;br /&gt;
/NM&amp;lt;name&amp;gt; name code segment             /NQ&amp;lt;name&amp;gt; combine p-code temp segments&lt;br /&gt;
/NT&amp;lt;name&amp;gt; name code segment             /NV&amp;lt;name&amp;gt; name far v-table segment&lt;br /&gt;
/Tc&amp;lt;file&amp;gt; compile file without .c       /Tp&amp;lt;file&amp;gt; compile file without .cpp&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string           /W&amp;lt;n&amp;gt; warning level (default n=1)&lt;br /&gt;
/w disable all warnings                 /WX treat all warnings as errors&lt;br /&gt;
/Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                            -MASM SUPPORT-&lt;br /&gt;
/MA&amp;lt;MASM switch&amp;gt;                        /Ta&amp;lt;file&amp;gt; assemble file without .asm&lt;br /&gt;
                              -LINKING-&lt;br /&gt;
/F &amp;lt;hex_num&amp;gt; stack size (hex. bytes)    /Lr append 'r' to default lib in .OBJ&lt;br /&gt;
/link [lib] give lib name to linker     /Ln do not link CRT.LIB&lt;br /&gt;
/Ld select dynamically-linked library   /Lw select statically-linked library&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== link ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Segmented Executable Linker  Version 5.60.339 Dec  5 1994&lt;br /&gt;
Copyright (C) Microsoft Corp 1984-1993.  All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
LINK&lt;br /&gt;
LINK @&amp;lt;response file&amp;gt;&lt;br /&gt;
LINK &amp;lt;objs&amp;gt;,&amp;lt;exefile&amp;gt;,&amp;lt;mapfile&amp;gt;,&amp;lt;libs&amp;gt;,&amp;lt;deffile&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Valid options are:&lt;br /&gt;
  /?                             /ALIGNMENT&lt;br /&gt;
  /BATCH                         /CODEVIEW&lt;br /&gt;
  /CPARMAXALLOC                  /DOSSEG&lt;br /&gt;
  /DSALLOCATE                    /DYNAMIC&lt;br /&gt;
  /EXEPACK                       /FARCALLTRANSLATION&lt;br /&gt;
  /HELP                          /HIGH&lt;br /&gt;
  /INFORMATION                   /LINENUMBERS&lt;br /&gt;
  /MAP                           /NODEFAULTLIBRARYSEARCH&lt;br /&gt;
  /NOEXTDICTIONARY               /NOFARCALLTRANSLATION&lt;br /&gt;
  /NOGROUPASSOCIATION            /NOIGNORECASE&lt;br /&gt;
  /NOLOGO                        /NONULLSDOSSEG&lt;br /&gt;
  /NOPACKCODE                    /NOPACKFUNCTIONS&lt;br /&gt;
  /NOFREEMEM                     /OLDOVERLAY&lt;br /&gt;
  /ONERROR                       /OVERLAYINTERRUPT&lt;br /&gt;
  /PACKCODE                      /PACKDATA&lt;br /&gt;
  /PACKFUNCTIONS                 /PAUSE&lt;br /&gt;
  /PCODE                         /PMTYPE&lt;br /&gt;
  /QUICKLIBRARY                  /SEGMENTS&lt;br /&gt;
  /STACK                         /TINY&lt;br /&gt;
  /WARNFIXUP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== nmake ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.40&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:  NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
/A Build all evaluated targets         /B Build if time stamps are equal&lt;br /&gt;
/C Suppress output messages            /D Display build information&lt;br /&gt;
/E Override env-var macros             /HELP Display brief usage message&lt;br /&gt;
/I Ignore exit codes from commands     /K Build unrelated targets on error&lt;br /&gt;
/N Display commands but do not execute /NOLOGO Suppress copyright message&lt;br /&gt;
/P Display NMAKE information           /Q Check time stamps but do not build&lt;br /&gt;
/R Ignore predefined rules/macros      /S Suppress executed-commands display&lt;br /&gt;
/T Change time stamps but do not build&lt;br /&gt;
/? Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_4.0&amp;diff=13225</id>
		<title>Visual C++ 4.0</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_4.0&amp;diff=13225"/>
				<updated>2017-07-25T06:50:43Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| name = Visual C++ 4.0&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| platform = Windows NT 3.51+, Windows 95&lt;br /&gt;
| year introduced = 1995&lt;br /&gt;
| previous version = [[Visual C++ 2.0]]&lt;br /&gt;
| next version = [[Visual C++ 5.0]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Visual C++ 4.0 was the first release designed for Windows 95, including a Windows 95 style IDE.  Visual C++ 4.0 was followed by 4.1 and 4.2.  These added support for various internet technologies as Microsoft entered the browser wars.  Applications compiled with this version using a CRT DLL required MSVCRT40.DLL.  Because Visual C++ 4.0 arrived slightly after Windows 95, the first release of Windows 95 did not include this DLL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
09/29/1995  10:44 PM           377,856 C1.EXE&lt;br /&gt;
09/29/1995  10:45 PM           775,680 C1XX.EXE&lt;br /&gt;
09/29/1995  10:45 PM           567,296 C2.EXE&lt;br /&gt;
09/29/1995  10:45 PM            37,376 CL.EXE&lt;br /&gt;
09/29/1995  10:45 PM           501,248 LINK.EXE&lt;br /&gt;
09/29/1995  10:49 PM            61,952 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cl == &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 10.00.5270 for 80x86&lt;br /&gt;
Copyright (C) Microsoft Corp 1984-1995. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                          C/C++ COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486                   /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gh enable hook function call&lt;br /&gt;
/GB optimize for blended model (default) /GR[-] enable C++ RTTI&lt;br /&gt;
/Gd __cdecl calling convention           /GX[-] enable C++ EH&lt;br /&gt;
/Gr __fastcall calling convention        /Gi[-] enable incremental compilation&lt;br /&gt;
/Gz __stdcall calling convention         /Gm[-] enable minimal rebuild&lt;br /&gt;
/Gf enable string pooling                /Gy separate functions for linker&lt;br /&gt;
/GF enable read-only string pooling&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi generate debugging information       /Zg generate function prototypes&lt;br /&gt;
/Z7 generate old-style debug info        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number debugging info only      /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
/?, /help print this help message        /w disable all warnings&lt;br /&gt;
/c compile only, no link                 /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /WX treat warnings as errors&lt;br /&gt;
/J default char type is unsigned         /Yc[file] create .PCH file&lt;br /&gt;
/nologo suppress copyright message       /Yd put debug info in every .OBJ&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yu[file] use .PCH file&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /YX[file] automatic .PCH&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string            /Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
/MD link with MSVCRT.LIB                 /MTd link with LIBCMTD.LIB debug library&lt;br /&gt;
/MDd link with MSVCRTD.LIB debug library /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/ML link with LIBC.LIB                   /LD Create .DLL&lt;br /&gt;
/MLd link with LIBCD.LIB debug library   /LDd Create .DLL debug libary&lt;br /&gt;
/MT link with LIBCMT.LIB                 /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== link ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-Bit Incremental Linker Version 3.00.5270&lt;br /&gt;
Copyright (C) Microsoft Corp 1992-1995. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK [options] [files] [@commandfile]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      /ALIGN:#&lt;br /&gt;
      /BASE:{address|@filename,key}&lt;br /&gt;
      /COMMENT:comment&lt;br /&gt;
      /DEBUG&lt;br /&gt;
      /DEBUGTYPE:{CV|COFF|BOTH}&lt;br /&gt;
      /DEF:filename&lt;br /&gt;
      /DEFAULTLIB:library&lt;br /&gt;
      /DLL&lt;br /&gt;
      /DRIVER[:UPONLY]&lt;br /&gt;
      /ENTRY:symbol&lt;br /&gt;
      /EXETYPE:DYNAMIC&lt;br /&gt;
      /EXPORT:symbol&lt;br /&gt;
      /FIXED&lt;br /&gt;
      /FORCE[:{MULTIPLE|UNRESOLVED}]&lt;br /&gt;
      /GPSIZE:#&lt;br /&gt;
      /HEAP:reserve[,commit]&lt;br /&gt;
      /IMPORT:[symbol][,][LIB=container][,WEAK=1]&lt;br /&gt;
      /IMPORT:[CURRENTVER=#][,][OLDCODEVER=#][,][OLDAPIVER=#]&lt;br /&gt;
      /IMPLIB:filename&lt;br /&gt;
      /INCLUDE:symbol&lt;br /&gt;
      /INCREMENTAL:{YES|NO}&lt;br /&gt;
      /MAC:{BUNDLE|NOBUNDLE|TYPE=xxxx|CREATOR=xxxx|INIT=symbol|TERM=symbol}&lt;br /&gt;
      /MAC:{MFILEPAD|NOMFILEPAD}&lt;br /&gt;
      /MACDATA:filename&lt;br /&gt;
      /MACHINE:{IX86|MIPS|ALPHA|PPC|M68K|MPPC}&lt;br /&gt;
      /MACRES:filename&lt;br /&gt;
      /MAP[:filename]&lt;br /&gt;
      /MERGE:from=to&lt;br /&gt;
      /NODEFAULTLIB[:library]&lt;br /&gt;
      /NOENTRY&lt;br /&gt;
      /NOLOGO&lt;br /&gt;
      /OPT:{REF|NOREF}&lt;br /&gt;
      /ORDER:@filename&lt;br /&gt;
      /OUT:filename&lt;br /&gt;
      /PDB:{filename|NONE}&lt;br /&gt;
      /PROFILE&lt;br /&gt;
      /RELEASE&lt;br /&gt;
      /SECTION:name,[E][R][W][S][D][K][L][P][X]&lt;br /&gt;
      /SHARED&lt;br /&gt;
      /STACK:reserve[,commit]&lt;br /&gt;
      /STUB:filename&lt;br /&gt;
      /SUBSYSTEM:{NATIVE|WINDOWS|CONSOLE|POSIX}[,#[.##]]&lt;br /&gt;
      /VERBOSE[:LIB]&lt;br /&gt;
      /VERSION:#[.#]&lt;br /&gt;
      /VXD&lt;br /&gt;
      /WARN[:warninglevel]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== nmake ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.60.5270&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-1995. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:  NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
/A Build all evaluated targets         /B Build if time stamps are equal&lt;br /&gt;
/C Suppress output messages            /D Display build information&lt;br /&gt;
/E Override env-var macros             /HELP Display brief usage message&lt;br /&gt;
/I Ignore exit codes from commands     /K Build unrelated targets on error&lt;br /&gt;
/N Display commands but do not execute /NOLOGO Suppress copyright message&lt;br /&gt;
/P Display NMAKE information           /Q Check time stamps but do not build&lt;br /&gt;
/R Ignore predefined rules/macros      /S Suppress executed-commands display&lt;br /&gt;
/T Change time stamps but do not build&lt;br /&gt;
/? Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_5.0&amp;diff=13224</id>
		<title>Visual C++ 5.0</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_5.0&amp;diff=13224"/>
				<updated>2017-07-25T06:47:30Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Create a Visual C++ 5.0 page patterned on prior versions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| name = Visual C++ 5.0&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| platform = Windows NT 4.0+/Windows 95&lt;br /&gt;
| year introduced = 1997&lt;br /&gt;
| previous version = [[Visual C++ 4.0]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Visual C++ 5.0 was the first release following Windows NT 4.0 and included updated support for it.  Applications compiled with Visual C++ 5.0 using a CRT DLL needed MSVCRT.DLL to function.  This release defaults to compiling executables with /FIXED and dropped support for [[Win32s]].  By the time of this release, support for MIPS and PowerPC had been dropped on Windows NT, so 5.0 existed as an Intel version and a RISC version which only supported Alpha.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
01/22/1997  09:36 PM           563,984 C1.DLL&lt;br /&gt;
01/22/1997  09:36 PM         1,047,312 C1XX.DLL&lt;br /&gt;
01/22/1997  09:36 PM           630,544 C2.EXE&lt;br /&gt;
01/22/1997  04:57 PM            46,080 CL.EXE&lt;br /&gt;
01/22/1997  09:40 PM           359,424 LINK.EXE&lt;br /&gt;
01/22/1997  09:45 PM            68,608 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cl ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86&lt;br /&gt;
Copyright (C) Microsoft Corp 1984-1997. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                          C/C++ COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486                   /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gh enable hook function call&lt;br /&gt;
/G6 optimize for Pentium Pro             /GR[-] enable C++ RTTI&lt;br /&gt;
/GB optimize for blended model (default) /GX[-] enable C++ EH (same as /EHsc)&lt;br /&gt;
/Gd __cdecl calling convention           /Gi[-] enable incremental compilation&lt;br /&gt;
/Gr __fastcall calling convention        /Gm[-] enable minimal rebuild&lt;br /&gt;
/Gz __stdcall calling convention         /EHs enable synchronous C++ EH&lt;br /&gt;
/GA optimize for Windows Application     /EHa enable asynchronous C++ EH&lt;br /&gt;
/GD optimize for Windows DLL             /EHc extern &amp;quot;C&amp;quot; defaults to nothrow&lt;br /&gt;
/Gf enable string pooling                /QIfdiv[-] enable Pentium FDIV fix&lt;br /&gt;
/GF enable read-only string pooling      /QI0f[-] enable Pentium 0x0f fix&lt;br /&gt;
/Gy separate functions for linker&lt;br /&gt;
&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi generate debugging information       /Zg generate function prototypes&lt;br /&gt;
/Z7 generate old-style debug info        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number debugging info only      /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary   /noBool disable &amp;quot;bool&amp;quot; keyword&lt;br /&gt;
&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
&lt;br /&gt;
/?, /help print this help message        /V&amp;lt;string&amp;gt; set version string&lt;br /&gt;
/c compile only, no link                 /w disable all warnings&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/J default char type is unsigned         /WX treat warnings as errors&lt;br /&gt;
/nologo suppress copyright message       /Yc[file] create .PCH file&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yd put debug info in every .OBJ&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /Yu[file] use .PCH file&lt;br /&gt;
/TC compile all files as .c              /YX[file] automatic .PCH&lt;br /&gt;
/TP compile all files as .cpp            /Zm&amp;lt;n&amp;gt; max memory alloc (% of default)&lt;br /&gt;
&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
&lt;br /&gt;
/MD link with MSVCRT.LIB                 /MDd link with MSVCRTD.LIB debug lib&lt;br /&gt;
/ML link with LIBC.LIB                   /MLd link with LIBCD.LIB debug lib&lt;br /&gt;
/MT link with LIBCMT.LIB                 /MTd link with LIBCMTD.LIB debug lib&lt;br /&gt;
/LD Create .DLL                          /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/LDd Create .DLL debug libary            /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== link ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303&lt;br /&gt;
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK [options] [files] [@commandfile]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      /ALIGN:#&lt;br /&gt;
      /BASE:{address|@filename,key}&lt;br /&gt;
      /COMMENT:comment&lt;br /&gt;
      /DEBUG&lt;br /&gt;
      /DEBUGTYPE:{CV|COFF}&lt;br /&gt;
      /DEF:filename&lt;br /&gt;
      /DEFAULTLIB:library&lt;br /&gt;
      /DLL&lt;br /&gt;
      /DRIVER[:{UPONLY|WDM}]&lt;br /&gt;
      /ENTRY:symbol&lt;br /&gt;
      /EXETYPE:DYNAMIC&lt;br /&gt;
      /EXPORT:symbol&lt;br /&gt;
      /FIXED[:NO]&lt;br /&gt;
      /FORCE[:{MULTIPLE|UNRESOLVED}]&lt;br /&gt;
      /GPSIZE:#&lt;br /&gt;
      /HEAP:reserve[,commit]&lt;br /&gt;
      /IMPLIB:filename&lt;br /&gt;
      /INCLUDE:symbol&lt;br /&gt;
      /INCREMENTAL:{YES|NO}&lt;br /&gt;
      /LARGEADDRESSAWARE&lt;br /&gt;
      /LIBPATH:dir&lt;br /&gt;
      /MACHINE:{IX86|ALPHA|ARM|MIPS|MIPSR41XX|PPC|SH3|SH4}&lt;br /&gt;
      /MAP[:filename]&lt;br /&gt;
      /MAPINFO:{EXPORTS|FIXUPS|LINES}&lt;br /&gt;
      /MERGE:from=to&lt;br /&gt;
      /NODEFAULTLIB[:library]&lt;br /&gt;
      /NOENTRY&lt;br /&gt;
      /NOLOGO&lt;br /&gt;
      /OPT:{ICF[,iterations]|NOICF|NOREF|REF}&lt;br /&gt;
      /ORDER:@filename&lt;br /&gt;
      /OUT:filename&lt;br /&gt;
      /PDB:{filename|NONE}&lt;br /&gt;
      /PDBTYPE:{CON[SOLIDATE]|SEPT[YPES]}&lt;br /&gt;
      /PROFILE&lt;br /&gt;
      /RELEASE&lt;br /&gt;
      /SECTION:name,[E][R][W][S][D][K][L][P][X]&lt;br /&gt;
      /STACK:reserve[,commit]&lt;br /&gt;
      /STUB:filename&lt;br /&gt;
      /SUBSYSTEM:{NATIVE|WINDOWS|CONSOLE|WINDOWSCE|POSIX}[,#[.##]]&lt;br /&gt;
      /SWAPRUN:{CD|NET}&lt;br /&gt;
      /VERBOSE[:LIB]&lt;br /&gt;
      /VERSION:#[.#]&lt;br /&gt;
      /VXD&lt;br /&gt;
      /WARN[:warninglevel]&lt;br /&gt;
      /WINDOWSCE:{EMULATION|NOCONVERT}&lt;br /&gt;
      /WS:AGGRESSIVE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== nmake ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.62.7022&lt;br /&gt;
Copyright (C) Microsoft Corp 1988-1997. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:  NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
/A Build all evaluated targets&lt;br /&gt;
/B Build if time stamps are equal&lt;br /&gt;
/C Suppress output messages&lt;br /&gt;
/D Display build information&lt;br /&gt;
/E Override env-var macros&lt;br /&gt;
/HELP Display brief usage message&lt;br /&gt;
/I Ignore exit codes from commands&lt;br /&gt;
/K Build unrelated targets on error&lt;br /&gt;
/N Display commands but do not execute&lt;br /&gt;
/NOLOGO Suppress copyright message&lt;br /&gt;
/P Display NMAKE information&lt;br /&gt;
/Q Check time stamps but do not build&lt;br /&gt;
/R Ignore predefined rules/macros&lt;br /&gt;
/S Suppress executed-commands display&lt;br /&gt;
/T Change time stamps but do not build&lt;br /&gt;
/U Dump inline files&lt;br /&gt;
/Y Disable batch-mode&lt;br /&gt;
/? Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_2.0&amp;diff=13223</id>
		<title>Visual C++ 2.0</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_2.0&amp;diff=13223"/>
				<updated>2017-07-25T06:35:35Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add link to 4.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| name = Visual C++ 2.0&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| platform = Windows NT&lt;br /&gt;
| year introduced = 1994&lt;br /&gt;
| previous version = [[Visual C++ 1.1]]&lt;br /&gt;
| next version = [[Visual C++ 4.0]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Visual C++ 2.0 was a full 32 bit release of Visual C++, bundled with Visual C++ 1.5 for 16 bit support.  Visual C++ 2.0 was followed by 2.1 and 2.2. 2.2 was the current release at the time of Windows 95's launch, so changes between these releases was  primarily focused on Windows 95 support.  Applications compiled with this version using a CRT DLL required MSVCRT20.DLL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
09/16/1994  07:00 AM           318,464 C1.EXE&lt;br /&gt;
09/16/1994  07:00 AM           673,792 C1XX.EXE&lt;br /&gt;
09/16/1994  07:00 AM           517,632 C2.EXE&lt;br /&gt;
09/16/1994  07:00 AM            33,280 CL.EXE&lt;br /&gt;
09/16/1994  07:00 AM           420,352 LINK.EXE&lt;br /&gt;
09/16/1994  07:00 AM            65,536 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compiler options in this release were:&lt;br /&gt;
== cl ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 9.00 for 80x86&lt;br /&gt;
Copyright (C) Microsoft Corp 1984-1994. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                            C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486                   /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gf enable string pooling&lt;br /&gt;
/GB optimize for blended model (default) /Gy separate functions for linker&lt;br /&gt;
/Gd __cdecl calling convention           /Gh enable hook function call&lt;br /&gt;
/Gr __fastcall calling convention        /GX- disable C++ EH (default)&lt;br /&gt;
/Gz __stdcall calling convention         /GX  enable C++ EH&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi prepare for debugging (CodeView)     /Zg generate function prototypes&lt;br /&gt;
/Z7 C7 style CodeView information        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number information              /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
/?, /help print this help message        /w disable all warnings&lt;br /&gt;
/c compile only, no link                 /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /WX treat warnings as errors&lt;br /&gt;
/J default char type is unsigned         /Yc[file] create .PCH file&lt;br /&gt;
/nologo suppress copyright message       /Yd put debug info in every .OBJ&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yu[file] use .PCH file&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /YX[file] automatic .PCH&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string            /Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
/MD link with MSVCRT.LIB                 /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/ML link with LIBC.LIB                   /LD Create .DLL&lt;br /&gt;
/MT link with LIBCMT.LIB                 /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== link ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-Bit Incremental Linker Version 2.50&lt;br /&gt;
Copyright (C) Microsoft Corp 1992-94. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK [options] [files] [@commandfile]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      /ALIGN:#&lt;br /&gt;
      /BASE:{address|@filename,key}&lt;br /&gt;
      /COMMENT:comment&lt;br /&gt;
      /DEBUG&lt;br /&gt;
      /DEBUGTYPE:{CV|COFF|BOTH}&lt;br /&gt;
      /DEF:filename&lt;br /&gt;
      /DEFAULTLIB:library[,library]&lt;br /&gt;
      /DLL&lt;br /&gt;
      /ENTRY:symbol&lt;br /&gt;
      /EXETYPE:{DEV386|DYNAMIC}&lt;br /&gt;
      /EXPORT:symbol&lt;br /&gt;
      /FIXED&lt;br /&gt;
      /FORCE[:{MULTIPLE|UNRESOLVED}]&lt;br /&gt;
      /HEAP:reserve[,commit]&lt;br /&gt;
      /IMPLIB:filename&lt;br /&gt;
      /INCLUDE:symbol&lt;br /&gt;
      /INCREMENTAL:{YES|NO}&lt;br /&gt;
      /MAC:{BUNDLE|NOBUNDLE|TYPE=xxxx|CREATOR=xxxx}&lt;br /&gt;
      /MACDATA:filename&lt;br /&gt;
      /MACHINE:{IX86|M68K}&lt;br /&gt;
      /MACRES:filename&lt;br /&gt;
      /MAP[:filename]&lt;br /&gt;
      /NODEFAULTLIB[:library[,library...]]&lt;br /&gt;
      /NOENTRY&lt;br /&gt;
      /NOLOGO&lt;br /&gt;
      /OPT:{REF|NOREF}&lt;br /&gt;
      /ORDER:@filename&lt;br /&gt;
      /OUT:filename&lt;br /&gt;
      /PDB:{filename|NONE}&lt;br /&gt;
      /PROFILE&lt;br /&gt;
      /RELEASE&lt;br /&gt;
      /SECTION:name,[E][R][W][S][D][K][L][P][X]&lt;br /&gt;
      /STACK:reserve[,commit]&lt;br /&gt;
      /STUB:filename&lt;br /&gt;
      /SUBSYSTEM:{NATIVE|WINDOWS|CONSOLE|POSIX}[,#[.##]]&lt;br /&gt;
      /VERBOSE&lt;br /&gt;
      /VERSION:#[.#]&lt;br /&gt;
      /VXD&lt;br /&gt;
      /WARN[:warninglevel]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== nmake ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.50&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-94. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:  NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
/A Build all evaluated targets         /B Build if time stamps are equal&lt;br /&gt;
/C Suppress output messages            /D Display build information&lt;br /&gt;
/E Override env-var macros             /HELP Display brief usage message&lt;br /&gt;
/I Ignore exit codes from commands     /K Build unrelated targets on error&lt;br /&gt;
/N Display commands but do not execute /NOLOGO Suppress copyright message&lt;br /&gt;
/P Display NMAKE information           /Q Check time stamps but do not build&lt;br /&gt;
/R Ignore predefined rules/macros      /S Suppress executed-commands display&lt;br /&gt;
/T Change time stamps but do not build&lt;br /&gt;
/? Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_4.0&amp;diff=13222</id>
		<title>Visual C++ 4.0</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_4.0&amp;diff=13222"/>
				<updated>2017-07-25T06:34:23Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add Visual C++ 4.0 page patterned after previous releases&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| name = Visual C++ 4.0&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| platform = Windows NT 3.51+, Windows 95&lt;br /&gt;
| year introduced = 1995&lt;br /&gt;
| previous version = [[Visual C++ 2.0]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Visual C++ 4.0 was the first release designed for Windows 95, including a Windows 95 style IDE.  Visual C++ 4.0 was followed by 4.1 and 4.2.  These added support for various internet technologies as Microsoft entered the browser wars.  Applications compiled with this version using a CRT DLL required MSVCRT40.DLL.  Because Visual C++ 4.0 arrived slightly after Windows 95, the first release of Windows 95 did not include this DLL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
09/29/1995  10:44 PM           377,856 C1.EXE&lt;br /&gt;
09/29/1995  10:45 PM           775,680 C1XX.EXE&lt;br /&gt;
09/29/1995  10:45 PM           567,296 C2.EXE&lt;br /&gt;
09/29/1995  10:45 PM            37,376 CL.EXE&lt;br /&gt;
09/29/1995  10:45 PM           501,248 LINK.EXE&lt;br /&gt;
09/29/1995  10:49 PM            61,952 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cl == &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 10.00.5270 for 80x86&lt;br /&gt;
Copyright (C) Microsoft Corp 1984-1995. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                          C/C++ COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486                   /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gh enable hook function call&lt;br /&gt;
/GB optimize for blended model (default) /GR[-] enable C++ RTTI&lt;br /&gt;
/Gd __cdecl calling convention           /GX[-] enable C++ EH&lt;br /&gt;
/Gr __fastcall calling convention        /Gi[-] enable incremental compilation&lt;br /&gt;
/Gz __stdcall calling convention         /Gm[-] enable minimal rebuild&lt;br /&gt;
/Gf enable string pooling                /Gy separate functions for linker&lt;br /&gt;
/GF enable read-only string pooling&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi generate debugging information       /Zg generate function prototypes&lt;br /&gt;
/Z7 generate old-style debug info        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number debugging info only      /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
/?, /help print this help message        /w disable all warnings&lt;br /&gt;
/c compile only, no link                 /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /WX treat warnings as errors&lt;br /&gt;
/J default char type is unsigned         /Yc[file] create .PCH file&lt;br /&gt;
/nologo suppress copyright message       /Yd put debug info in every .OBJ&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yu[file] use .PCH file&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /YX[file] automatic .PCH&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string            /Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
/MD link with MSVCRT.LIB                 /MTd link with LIBCMTD.LIB debug library&lt;br /&gt;
/MDd link with MSVCRTD.LIB debug library /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/ML link with LIBC.LIB                   /LD Create .DLL&lt;br /&gt;
/MLd link with LIBCD.LIB debug library   /LDd Create .DLL debug libary&lt;br /&gt;
/MT link with LIBCMT.LIB                 /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== link ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-Bit Incremental Linker Version 3.00.5270&lt;br /&gt;
Copyright (C) Microsoft Corp 1992-1995. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK [options] [files] [@commandfile]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      /ALIGN:#&lt;br /&gt;
      /BASE:{address|@filename,key}&lt;br /&gt;
      /COMMENT:comment&lt;br /&gt;
      /DEBUG&lt;br /&gt;
      /DEBUGTYPE:{CV|COFF|BOTH}&lt;br /&gt;
      /DEF:filename&lt;br /&gt;
      /DEFAULTLIB:library&lt;br /&gt;
      /DLL&lt;br /&gt;
      /DRIVER[:UPONLY]&lt;br /&gt;
      /ENTRY:symbol&lt;br /&gt;
      /EXETYPE:DYNAMIC&lt;br /&gt;
      /EXPORT:symbol&lt;br /&gt;
      /FIXED&lt;br /&gt;
      /FORCE[:{MULTIPLE|UNRESOLVED}]&lt;br /&gt;
      /GPSIZE:#&lt;br /&gt;
      /HEAP:reserve[,commit]&lt;br /&gt;
      /IMPORT:[symbol][,][LIB=container][,WEAK=1]&lt;br /&gt;
      /IMPORT:[CURRENTVER=#][,][OLDCODEVER=#][,][OLDAPIVER=#]&lt;br /&gt;
      /IMPLIB:filename&lt;br /&gt;
      /INCLUDE:symbol&lt;br /&gt;
      /INCREMENTAL:{YES|NO}&lt;br /&gt;
      /MAC:{BUNDLE|NOBUNDLE|TYPE=xxxx|CREATOR=xxxx|INIT=symbol|TERM=symbol}&lt;br /&gt;
      /MAC:{MFILEPAD|NOMFILEPAD}&lt;br /&gt;
      /MACDATA:filename&lt;br /&gt;
      /MACHINE:{IX86|MIPS|ALPHA|PPC|M68K|MPPC}&lt;br /&gt;
      /MACRES:filename&lt;br /&gt;
      /MAP[:filename]&lt;br /&gt;
      /MERGE:from=to&lt;br /&gt;
      /NODEFAULTLIB[:library]&lt;br /&gt;
      /NOENTRY&lt;br /&gt;
      /NOLOGO&lt;br /&gt;
      /OPT:{REF|NOREF}&lt;br /&gt;
      /ORDER:@filename&lt;br /&gt;
      /OUT:filename&lt;br /&gt;
      /PDB:{filename|NONE}&lt;br /&gt;
      /PROFILE&lt;br /&gt;
      /RELEASE&lt;br /&gt;
      /SECTION:name,[E][R][W][S][D][K][L][P][X]&lt;br /&gt;
      /SHARED&lt;br /&gt;
      /STACK:reserve[,commit]&lt;br /&gt;
      /STUB:filename&lt;br /&gt;
      /SUBSYSTEM:{NATIVE|WINDOWS|CONSOLE|POSIX}[,#[.##]]&lt;br /&gt;
      /VERBOSE[:LIB]&lt;br /&gt;
      /VERSION:#[.#]&lt;br /&gt;
      /VXD&lt;br /&gt;
      /WARN[:warninglevel]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== nmake ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.60.5270&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-1995. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:  NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
/A Build all evaluated targets         /B Build if time stamps are equal&lt;br /&gt;
/C Suppress output messages            /D Display build information&lt;br /&gt;
/E Override env-var macros             /HELP Display brief usage message&lt;br /&gt;
/I Ignore exit codes from commands     /K Build unrelated targets on error&lt;br /&gt;
/N Display commands but do not execute /NOLOGO Suppress copyright message&lt;br /&gt;
/P Display NMAKE information           /Q Check time stamps but do not build&lt;br /&gt;
/R Ignore predefined rules/macros      /S Suppress executed-commands display&lt;br /&gt;
/T Change time stamps but do not build&lt;br /&gt;
/? Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.1&amp;diff=13221</id>
		<title>Visual C++ 1.1</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.1&amp;diff=13221"/>
				<updated>2017-07-25T06:21:13Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Improve summary, add next version link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| name = Visual C++ 1.1&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| platform = Windows NT&lt;br /&gt;
| year introduced = 1993&lt;br /&gt;
| previous version = [[Windows NT 3.1 SDK]]&lt;br /&gt;
| next version = [[Visual C++ 2.0]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Visual C++ 1.1 was the first 32 bit release of Visual C++.  The IDE was visually similar to its 16 bit counterparts, but the compiler and toolchain where improved versions of the ones that shipped with the [[Windows NT 3.1 SDK]].  Applications compiled with this version using a CRT DLL required MSVCRT10.DLL, which is not common and not preinstalled on any OS release.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07/22/1993  01:16 AM           389,632 C13232.EXE&lt;br /&gt;
07/22/1993  01:16 AM           616,448 C1XX3232.EXE&lt;br /&gt;
07/19/1993  08:25 AM           482,816 C23232.EXE&lt;br /&gt;
07/20/1993  01:33 AM            87,552 CL.EXE&lt;br /&gt;
07/15/1993  08:17 AM            48,640 CL386.EXE&lt;br /&gt;
07/12/1993  05:47 AM           161,792 CVPACK.EXE&lt;br /&gt;
07/15/1993  08:54 AM           385,536 LINK.EXE&lt;br /&gt;
07/15/1993  08:17 AM            48,640 LINK32.EXE&lt;br /&gt;
07/15/1993  06:26 AM           128,512 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 8.00&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                            C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486 (default)         /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gf enable string pooling&lt;br /&gt;
/Gd __cdecl calling convention           /Gy separate functions for linker&lt;br /&gt;
/Gr __fastcall calling convention        /Gh enable hook function call&lt;br /&gt;
/Gz __stdcall calling convention&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi prepare for debugging (CodeView)     /Zg generate function prototypes&lt;br /&gt;
/Z7 C7 style CodeView information        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number information              /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
/?, /help print this help message        /w disable all warnings&lt;br /&gt;
/c compile only, no link                 /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /WX treat warnings as errors&lt;br /&gt;
/J default char type is unsigned         /Yc[file] create .PCH file&lt;br /&gt;
/nologo suppress copyright message       /Yd put debug info in every .OBJ&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yu[file] use .PCH file&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /YX[file] automatic .PCH&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string            /Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
/MD link with MSVCRT.LIB                 /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/ML link with LIBC.LIB                   /LD Create .DLL&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/MT link with LIBCMT.LIB                 /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== link ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-Bit Executable Linker Version 1.00&lt;br /&gt;
Copyright (C) Microsoft Corp 1992-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK [options] [files] [@commandfile]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      /ALIGN:#&lt;br /&gt;
      /BASE:{address|@filename,key}&lt;br /&gt;
      /COMMENT:comment&lt;br /&gt;
      /DEBUG[:{NONE|FULL}]&lt;br /&gt;
      /DEBUGTYPE:{CV|COFF|BOTH}&lt;br /&gt;
      /DEF:filename&lt;br /&gt;
      /DEFAULTLIB:library[,library]&lt;br /&gt;
      /DLL&lt;br /&gt;
      /ENTRY:symbol&lt;br /&gt;
      /EXPORT:symbol&lt;br /&gt;
      /FIXED&lt;br /&gt;
      /FORCE&lt;br /&gt;
      /IMPLIB:filename&lt;br /&gt;
      /INCLUDE:symbol&lt;br /&gt;
      /MAP[:filename]&lt;br /&gt;
      /NODEFAULTLIB[:library[,library...]]&lt;br /&gt;
      /NOENTRY&lt;br /&gt;
      /NOLOGO&lt;br /&gt;
      /OPT:{REF|NOREF}&lt;br /&gt;
      /ORDER:@filename&lt;br /&gt;
      /OUT:filename&lt;br /&gt;
      /RELEASE&lt;br /&gt;
      /SECTION:name,[E][R][W][S]&lt;br /&gt;
      /STACK:reserve[,commit]&lt;br /&gt;
      /STUB:filename&lt;br /&gt;
      /SUBSYSTEM:{WINDOWS|CONSOLE}[,#[.#]]&lt;br /&gt;
      /VERBOSE&lt;br /&gt;
      /VERSION:#[.#]&lt;br /&gt;
      /WARN[:warninglevel]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== nmake ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.40&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:  NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
/A Build all evaluated targets         /B Build if time stamps are equal&lt;br /&gt;
/C Suppress output messages            /D Display build information&lt;br /&gt;
/E Override env-var macros             /HELP Display brief usage message&lt;br /&gt;
/I Ignore exit codes from commands     /K Build unrelated targets on error&lt;br /&gt;
/N Display commands but do not execute /NOLOGO Suppress copyright message&lt;br /&gt;
/P Display NMAKE information           /Q Check time stamps but do not build&lt;br /&gt;
/R Ignore predefined rules/macros      /S Suppress executed-commands display&lt;br /&gt;
/T Change time stamps but do not build&lt;br /&gt;
/? Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:C compilers]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_2.0&amp;diff=13220</id>
		<title>Visual C++ 2.0</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_2.0&amp;diff=13220"/>
				<updated>2017-07-25T06:20:23Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add Visual C++ 2.0 page patterned after 1.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| name = Visual C++ 2.0&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| platform = Windows NT&lt;br /&gt;
| year introduced = 1994&lt;br /&gt;
| previous version = [[Visual C++ 1.1]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Visual C++ 2.0 was a full 32 bit release of Visual C++, bundled with Visual C++ 1.5 for 16 bit support.  Visual C++ 2.0 was followed by 2.1 and 2.2. 2.2 was the current release at the time of Windows 95's launch, so changes between these releases was  primarily focused on Windows 95 support.  Applications compiled with this version using a CRT DLL required MSVCRT20.DLL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
09/16/1994  07:00 AM           318,464 C1.EXE&lt;br /&gt;
09/16/1994  07:00 AM           673,792 C1XX.EXE&lt;br /&gt;
09/16/1994  07:00 AM           517,632 C2.EXE&lt;br /&gt;
09/16/1994  07:00 AM            33,280 CL.EXE&lt;br /&gt;
09/16/1994  07:00 AM           420,352 LINK.EXE&lt;br /&gt;
09/16/1994  07:00 AM            65,536 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compiler options in this release were:&lt;br /&gt;
== cl ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 9.00 for 80x86&lt;br /&gt;
Copyright (C) Microsoft Corp 1984-1994. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                            C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486                   /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gf enable string pooling&lt;br /&gt;
/GB optimize for blended model (default) /Gy separate functions for linker&lt;br /&gt;
/Gd __cdecl calling convention           /Gh enable hook function call&lt;br /&gt;
/Gr __fastcall calling convention        /GX- disable C++ EH (default)&lt;br /&gt;
/Gz __stdcall calling convention         /GX  enable C++ EH&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi prepare for debugging (CodeView)     /Zg generate function prototypes&lt;br /&gt;
/Z7 C7 style CodeView information        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number information              /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
/?, /help print this help message        /w disable all warnings&lt;br /&gt;
/c compile only, no link                 /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /WX treat warnings as errors&lt;br /&gt;
/J default char type is unsigned         /Yc[file] create .PCH file&lt;br /&gt;
/nologo suppress copyright message       /Yd put debug info in every .OBJ&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yu[file] use .PCH file&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /YX[file] automatic .PCH&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string            /Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
/MD link with MSVCRT.LIB                 /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/ML link with LIBC.LIB                   /LD Create .DLL&lt;br /&gt;
/MT link with LIBCMT.LIB                 /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== link ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-Bit Incremental Linker Version 2.50&lt;br /&gt;
Copyright (C) Microsoft Corp 1992-94. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK [options] [files] [@commandfile]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      /ALIGN:#&lt;br /&gt;
      /BASE:{address|@filename,key}&lt;br /&gt;
      /COMMENT:comment&lt;br /&gt;
      /DEBUG&lt;br /&gt;
      /DEBUGTYPE:{CV|COFF|BOTH}&lt;br /&gt;
      /DEF:filename&lt;br /&gt;
      /DEFAULTLIB:library[,library]&lt;br /&gt;
      /DLL&lt;br /&gt;
      /ENTRY:symbol&lt;br /&gt;
      /EXETYPE:{DEV386|DYNAMIC}&lt;br /&gt;
      /EXPORT:symbol&lt;br /&gt;
      /FIXED&lt;br /&gt;
      /FORCE[:{MULTIPLE|UNRESOLVED}]&lt;br /&gt;
      /HEAP:reserve[,commit]&lt;br /&gt;
      /IMPLIB:filename&lt;br /&gt;
      /INCLUDE:symbol&lt;br /&gt;
      /INCREMENTAL:{YES|NO}&lt;br /&gt;
      /MAC:{BUNDLE|NOBUNDLE|TYPE=xxxx|CREATOR=xxxx}&lt;br /&gt;
      /MACDATA:filename&lt;br /&gt;
      /MACHINE:{IX86|M68K}&lt;br /&gt;
      /MACRES:filename&lt;br /&gt;
      /MAP[:filename]&lt;br /&gt;
      /NODEFAULTLIB[:library[,library...]]&lt;br /&gt;
      /NOENTRY&lt;br /&gt;
      /NOLOGO&lt;br /&gt;
      /OPT:{REF|NOREF}&lt;br /&gt;
      /ORDER:@filename&lt;br /&gt;
      /OUT:filename&lt;br /&gt;
      /PDB:{filename|NONE}&lt;br /&gt;
      /PROFILE&lt;br /&gt;
      /RELEASE&lt;br /&gt;
      /SECTION:name,[E][R][W][S][D][K][L][P][X]&lt;br /&gt;
      /STACK:reserve[,commit]&lt;br /&gt;
      /STUB:filename&lt;br /&gt;
      /SUBSYSTEM:{NATIVE|WINDOWS|CONSOLE|POSIX}[,#[.##]]&lt;br /&gt;
      /VERBOSE&lt;br /&gt;
      /VERSION:#[.#]&lt;br /&gt;
      /VXD&lt;br /&gt;
      /WARN[:warninglevel]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== nmake ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.50&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-94. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:  NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
/A Build all evaluated targets         /B Build if time stamps are equal&lt;br /&gt;
/C Suppress output messages            /D Display build information&lt;br /&gt;
/E Override env-var macros             /HELP Display brief usage message&lt;br /&gt;
/I Ignore exit codes from commands     /K Build unrelated targets on error&lt;br /&gt;
/N Display commands but do not execute /NOLOGO Suppress copyright message&lt;br /&gt;
/P Display NMAKE information           /Q Check time stamps but do not build&lt;br /&gt;
/R Ignore predefined rules/macros      /S Suppress executed-commands display&lt;br /&gt;
/T Change time stamps but do not build&lt;br /&gt;
/? Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Windows_NT_3.1_SDK&amp;diff=13219</id>
		<title>Windows NT 3.1 SDK</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Windows_NT_3.1_SDK&amp;diff=13219"/>
				<updated>2017-07-25T05:56:39Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add infobox&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| name = Windows NT 3.1 SDK&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| platform = Windows NT&lt;br /&gt;
| year introduced = 1993&lt;br /&gt;
| next version = [[Visual C++ 1.1]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This came on a CD with a full copy of [[Windows NT 3.1]] workstation.  As far as I remember they gave these things away all over the place as promo items, as NT 3.1 was more of a freebie, then a sold product back then.  The SDK did include the command line compiler, but it felt far more clunky (esp regarding linking) then the [[Visual C++ 1.1]] version.  The version of NMAKE was strangely old and incomplete; it did not support recursive macro evaluation, making it difficult to use for anything except the most trivial of cases.&lt;br /&gt;
&lt;br /&gt;
== i386 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07/24/1993  12:11 AM           389,632 C13232.EXE&lt;br /&gt;
07/24/1993  12:11 AM           616,448 C1XX3232.EXE&lt;br /&gt;
07/24/1993  12:11 AM           507,392 C23232.EXE&lt;br /&gt;
07/24/1993  12:11 AM            25,600 CL.EXE&lt;br /&gt;
07/24/1993  12:11 AM            86,016 CL386.EXE&lt;br /&gt;
07/24/1993  12:11 AM           234,372 LINK32.EXE&lt;br /&gt;
07/24/1993  12:11 PM           127,044 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cl ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 8.00.3190a&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                            C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486 (default)         /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gf enable string pooling&lt;br /&gt;
/Gd __cdecl calling convention           /Gy separate functions for linker&lt;br /&gt;
/Gr __fastcall calling convention        /Gh enable hook function call&lt;br /&gt;
/Gz __stdcall calling convention&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi prepare for debugging (CodeView)     /Zg generate function prototypes&lt;br /&gt;
/Z7 C7 style CodeView information        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number information              /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
/?, /help print this help message        /w disable all warnings&lt;br /&gt;
/c compile only, no link                 /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /WX treat warnings as errors&lt;br /&gt;
/J default char type is unsigned         /Yc[file] create .PCH file&lt;br /&gt;
/nologo suppress copyright message       /Yd put debug info in every .OBJ&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yu[file] use .PCH file&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /YX[file] automatic .PCH&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string            /Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
/MD link with MSVCRT.LIB                 /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/ML link with LIBC.LIB                   /LD Create .DLL&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/MT link with LIBCMT.LIB                 /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== link32 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Microsoft(R) Windows NT Linker Version 2.42&lt;br /&gt;
(C) 1989-1992 Microsoft Corp. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK32 [switches] [objects] [libraries]&lt;br /&gt;
&lt;br /&gt;
   switches:&lt;br /&gt;
&lt;br /&gt;
      -ADJUST:#&lt;br /&gt;
      -ALIGN:#&lt;br /&gt;
      -BASE:{address|address,size|@filename,key}&lt;br /&gt;
      -DEBUG:[mapped|notmapped,]{none|minimal|partial|full}&lt;br /&gt;
      -DEBUGTYPE:{COFF|CV|BOTH}&lt;br /&gt;
      -DLL&lt;br /&gt;
      -ENTRY:symbol&lt;br /&gt;
      -FIXED&lt;br /&gt;
      -FORCE&lt;br /&gt;
      -GPSIZE:#&lt;br /&gt;
      -HEAP:reserve[,commit]&lt;br /&gt;
      -IGNORE:warning#&lt;br /&gt;
      -INCLUDE:symbol&lt;br /&gt;
      -MACHINE:{i386|mips|alpha}&lt;br /&gt;
      -MAP[:filename]&lt;br /&gt;
      -ORDER:@filename&lt;br /&gt;
      -OUT:filename&lt;br /&gt;
      -ROM&lt;br /&gt;
      -SECTION:name,[E][R][W][S]&lt;br /&gt;
      -STACK:reserve[,commit]&lt;br /&gt;
      -SUBSYSTEM:{native|windows|console|posix|os2}[,#[.#]]&lt;br /&gt;
      -STUB:stub file name&lt;br /&gt;
      -DECORATE&lt;br /&gt;
      -VERBOSE&lt;br /&gt;
      -VERSION:#[.#]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      -DUMP&lt;br /&gt;
      -EDIT&lt;br /&gt;
      -LIB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nmake ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.12.0013&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-90. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
        NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
        /a            Build all evaluated targets&lt;br /&gt;
        /c            Supress output messages&lt;br /&gt;
        /d            Display time stamps&lt;br /&gt;
        /e            Environment variables override macro definitions&lt;br /&gt;
        /f filename   Use specified makefile&lt;br /&gt;
        /help         Display brief usage message&lt;br /&gt;
        /i            Ignore exit codes of commands invoked&lt;br /&gt;
        /n            Display commands but do not execute&lt;br /&gt;
        /nologo       Supress copyright message&lt;br /&gt;
        /p            Print macro definitions &amp;amp; target descriptions&lt;br /&gt;
        /q            Check time stamps but do not build&lt;br /&gt;
        /r            Ignore rules and macros from 'tools.ini'&lt;br /&gt;
        /s            Suppress executed commands display&lt;br /&gt;
        /t            Change time stamps but do not build&lt;br /&gt;
        /x filename   Redirect errors to file&lt;br /&gt;
        /?            Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mips ==&lt;br /&gt;
&lt;br /&gt;
=== cl ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Microsoft (R) C Centaur Optimizing Compiler Version 8.00.081&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1992. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: mcl [ option... ] filename... [ -link linkoption... ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                          C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                            -OPTIMIZATION-&lt;br /&gt;
/Oa assume no aliasing                   /Op improve floating point consistency&lt;br /&gt;
/Ob&amp;lt;0|1|2&amp;gt; control inline expansion      /Os optimize for space&lt;br /&gt;
/Od disable optimizations                /Ot optimize for speed (default)&lt;br /&gt;
/Og enable global optimization           /Ow assume aliasing in function calls&lt;br /&gt;
/Ol enable loop optimization             /Ox maximum optimization (/Oglt /Gs)&lt;br /&gt;
&lt;br /&gt;
                          -CODE GENERATION-&lt;br /&gt;
/Ge enable stack overflow checking       /Gd default _cdecl calls&lt;br /&gt;
/Gz default _stdcall calls               /Gy separate comdat for each function&lt;br /&gt;
/Gf enable string pooling                /Gh enable hook function call&lt;br /&gt;
&lt;br /&gt;
                            -OUTPUT FILES-&lt;br /&gt;
/Fa[file] assembly listing file          /Fm[map file]&lt;br /&gt;
/Fl[file] asm listing with code bytes    /Fo&amp;lt;object file&amp;gt;&lt;br /&gt;
/Fc[file] asm listing w/bytes &amp;amp; source   /Fe&amp;lt;executable file&amp;gt;&lt;br /&gt;
/Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
&lt;br /&gt;
                            -PREPROCESSOR-&lt;br /&gt;
/C don't strip comments                  /D&amp;lt;name&amp;gt;[=|#text] define macro&lt;br /&gt;
/E preprocess to stdout                  /EP preprocess to stdout, no #line&lt;br /&gt;
/I&amp;lt;dir&amp;gt; add to include search path       /P preprocess to file, no #line&lt;br /&gt;
/u remove all predefined macros          /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
&lt;br /&gt;
                              -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /vm&amp;lt;x&amp;gt; type of pointers to members&lt;br /&gt;
/Za disable non ansi extensions          /Zs syntax check only&lt;br /&gt;
/Ze enable extensions (default)          /Zg generate function prototypes&lt;br /&gt;
/Zd include line number information      /Zp[n] pack structs on n-byte boundary&lt;br /&gt;
/Zi prepare for debugging (CodeView)     /Z7 C7 style CodeView information&lt;br /&gt;
&lt;br /&gt;
                            -MISCELLANEOUS-&lt;br /&gt;
/W&amp;lt;number&amp;gt; warning level                 /nologo suppress copyright message&lt;br /&gt;
/Yu&amp;lt;file&amp;gt; use .PCH file                  /H&amp;lt;number&amp;gt; max external name length&lt;br /&gt;
/Yc&amp;lt;file&amp;gt; create .PCH file               /B1&amp;lt;pass&amp;gt;  invoke alternate c1[xx]_rx&lt;br /&gt;
/Yd put debug info in .PCH file          /B2x&amp;lt;pass&amp;gt; invoke alternate msu&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /B2o&amp;lt;pass&amp;gt; invoke alternate msuopt&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /B2g&amp;lt;pass&amp;gt; invoke alternate msugen&lt;br /&gt;
/YX[file] automatic .PCH                 /B2a&amp;lt;pass&amp;gt; invoke alternate msas1&lt;br /&gt;
/J default char type is unsigned         /Bl invoke alternate linker&lt;br /&gt;
/?, /help print this help message        /c compile only, no link&lt;br /&gt;
&lt;br /&gt;
                              -LINKING-&lt;br /&gt;
/F&amp;lt;number&amp;gt; stack size (hex. bytes)       /link [linker options and libraries]&lt;br /&gt;
&lt;br /&gt;
                              -MIPS SPECIFIC-&lt;br /&gt;
/QmipsG1  mips1 instruction set          /QmipsG2   mips2 instruction set&lt;br /&gt;
/QmipsOb&amp;lt;value&amp;gt; basic block threshold&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== link32 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Microsoft(R) Windows NT Linker Version 2.42&lt;br /&gt;
(C) 1989-1992 Microsoft Corp. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK32 [switches] [objects] [libraries]&lt;br /&gt;
&lt;br /&gt;
   switches:&lt;br /&gt;
&lt;br /&gt;
      -ADJUST:#&lt;br /&gt;
      -ALIGN:#&lt;br /&gt;
      -BASE:{address|address,size|@filename,key}&lt;br /&gt;
      -DEBUG:[mapped|notmapped,]{none|minimal|partial|full}&lt;br /&gt;
      -DEBUGTYPE:{COFF|CV|BOTH}&lt;br /&gt;
      -DLL&lt;br /&gt;
      -ENTRY:symbol&lt;br /&gt;
      -FIXED&lt;br /&gt;
      -FORCE&lt;br /&gt;
      -GPSIZE:#&lt;br /&gt;
      -HEAP:reserve[,commit]&lt;br /&gt;
      -IGNORE:warning#&lt;br /&gt;
      -INCLUDE:symbol&lt;br /&gt;
      -MACHINE:{i386|mips|alpha}&lt;br /&gt;
      -MAP[:filename]&lt;br /&gt;
      -ORDER:@filename&lt;br /&gt;
      -OUT:filename&lt;br /&gt;
      -ROM&lt;br /&gt;
      -SECTION:name,[E][R][W][S]&lt;br /&gt;
      -STACK:reserve[,commit]&lt;br /&gt;
      -SUBSYSTEM:{native|windows|console|posix|os2}[,#[.#]]&lt;br /&gt;
      -STUB:stub file name&lt;br /&gt;
      -DECORATE&lt;br /&gt;
      -VERBOSE&lt;br /&gt;
      -VERSION:#[.#]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      -DUMP&lt;br /&gt;
      -EDIT&lt;br /&gt;
      -LIB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.1&amp;diff=13218</id>
		<title>Visual C++ 1.1</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.1&amp;diff=13218"/>
				<updated>2017-07-25T05:54:29Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add infobox, correct version references&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| name = Visual C++ 1.1&lt;br /&gt;
| creator = Microsoft&lt;br /&gt;
| platform = Windows NT&lt;br /&gt;
| year introduced = 1993&lt;br /&gt;
| previous version = [[Windows NT 3.1 SDK]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the cl driver options from my Visual C++ 1.1 32 bit CD.  Note there is also a 16-bit version of Visual C++ 1.0 which is a completely different product.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07/22/1993  01:16 AM           389,632 C13232.EXE&lt;br /&gt;
07/22/1993  01:16 AM           616,448 C1XX3232.EXE&lt;br /&gt;
07/19/1993  08:25 AM           482,816 C23232.EXE&lt;br /&gt;
07/20/1993  01:33 AM            87,552 CL.EXE&lt;br /&gt;
07/15/1993  08:17 AM            48,640 CL386.EXE&lt;br /&gt;
07/12/1993  05:47 AM           161,792 CVPACK.EXE&lt;br /&gt;
07/15/1993  08:54 AM           385,536 LINK.EXE&lt;br /&gt;
07/15/1993  08:17 AM            48,640 LINK32.EXE&lt;br /&gt;
07/15/1993  06:26 AM           128,512 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 8.00&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                            C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486 (default)         /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gf enable string pooling&lt;br /&gt;
/Gd __cdecl calling convention           /Gy separate functions for linker&lt;br /&gt;
/Gr __fastcall calling convention        /Gh enable hook function call&lt;br /&gt;
/Gz __stdcall calling convention&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi prepare for debugging (CodeView)     /Zg generate function prototypes&lt;br /&gt;
/Z7 C7 style CodeView information        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number information              /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
/?, /help print this help message        /w disable all warnings&lt;br /&gt;
/c compile only, no link                 /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /WX treat warnings as errors&lt;br /&gt;
/J default char type is unsigned         /Yc[file] create .PCH file&lt;br /&gt;
/nologo suppress copyright message       /Yd put debug info in every .OBJ&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yu[file] use .PCH file&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /YX[file] automatic .PCH&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string            /Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
/MD link with MSVCRT.LIB                 /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/ML link with LIBC.LIB                   /LD Create .DLL&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/MT link with LIBCMT.LIB                 /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== link ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-Bit Executable Linker Version 1.00&lt;br /&gt;
Copyright (C) Microsoft Corp 1992-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK [options] [files] [@commandfile]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      /ALIGN:#&lt;br /&gt;
      /BASE:{address|@filename,key}&lt;br /&gt;
      /COMMENT:comment&lt;br /&gt;
      /DEBUG[:{NONE|FULL}]&lt;br /&gt;
      /DEBUGTYPE:{CV|COFF|BOTH}&lt;br /&gt;
      /DEF:filename&lt;br /&gt;
      /DEFAULTLIB:library[,library]&lt;br /&gt;
      /DLL&lt;br /&gt;
      /ENTRY:symbol&lt;br /&gt;
      /EXPORT:symbol&lt;br /&gt;
      /FIXED&lt;br /&gt;
      /FORCE&lt;br /&gt;
      /IMPLIB:filename&lt;br /&gt;
      /INCLUDE:symbol&lt;br /&gt;
      /MAP[:filename]&lt;br /&gt;
      /NODEFAULTLIB[:library[,library...]]&lt;br /&gt;
      /NOENTRY&lt;br /&gt;
      /NOLOGO&lt;br /&gt;
      /OPT:{REF|NOREF}&lt;br /&gt;
      /ORDER:@filename&lt;br /&gt;
      /OUT:filename&lt;br /&gt;
      /RELEASE&lt;br /&gt;
      /SECTION:name,[E][R][W][S]&lt;br /&gt;
      /STACK:reserve[,commit]&lt;br /&gt;
      /STUB:filename&lt;br /&gt;
      /SUBSYSTEM:{WINDOWS|CONSOLE}[,#[.#]]&lt;br /&gt;
      /VERBOSE&lt;br /&gt;
      /VERSION:#[.#]&lt;br /&gt;
      /WARN[:warninglevel]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== nmake ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.40&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:  NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
/A Build all evaluated targets         /B Build if time stamps are equal&lt;br /&gt;
/C Suppress output messages            /D Display build information&lt;br /&gt;
/E Override env-var macros             /HELP Display brief usage message&lt;br /&gt;
/I Ignore exit codes from commands     /K Build unrelated targets on error&lt;br /&gt;
/N Display commands but do not execute /NOLOGO Suppress copyright message&lt;br /&gt;
/P Display NMAKE information           /Q Check time stamps but do not build&lt;br /&gt;
/R Ignore predefined rules/macros      /S Suppress executed-commands display&lt;br /&gt;
/T Change time stamps but do not build&lt;br /&gt;
/? Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:C compilers]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Template:Infobox_Software&amp;diff=13217</id>
		<title>Template:Infobox Software</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Template:Infobox_Software&amp;diff=13217"/>
				<updated>2017-07-25T05:53:25Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add previous version/next version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
This template is for software distributions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
name                =  name of drive&lt;br /&gt;
image               =  name of wiki image link, you might want to use a screenshot or whatever&lt;br /&gt;
type                =  operating system, database, etc.&lt;br /&gt;
creator             =  or developers as appropriate&lt;br /&gt;
platform            =  maybe cross-platform&lt;br /&gt;
year introduced     =  &lt;br /&gt;
year discontinued   =  &lt;br /&gt;
previous version    =  previous version&lt;br /&gt;
next version        =  next version&lt;br /&gt;
current version     =  current version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{| class=&amp;quot;infobox bordered&amp;quot; style=&amp;quot;width: 25em; text-align: left; font-size: 90%&amp;quot; align=&amp;quot;right&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center; font-size: large;&amp;quot; | '''{{{name}}}'''&lt;br /&gt;
|-&lt;br /&gt;
{{#if: {{{image|}}} |&lt;br /&gt;
{{!}} colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center;&amp;quot; {{!}} [[Image:{{{image}}}|250px| ]]&amp;lt;br&amp;gt;{{{caption}}} }}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
{{#if: {{{type|}}} |&lt;br /&gt;
! Type:&lt;br /&gt;
{{!}} {{{type}}} }}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
{{#if: {{{creator|}}} |&lt;br /&gt;
! Creator:&lt;br /&gt;
{{!}} {{{creator}}}  }}&lt;br /&gt;
|- &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#if: {{{platform|}}} |&lt;br /&gt;
! Platform:&lt;br /&gt;
{{!}} {{{platform}}} }}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
{{#if: {{{previous version|}}} |&lt;br /&gt;
! Previous Version:&lt;br /&gt;
{{!}} {{{previous version}}} }}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
{{#if: {{{next version|}}} |&lt;br /&gt;
! Next Version:&lt;br /&gt;
{{!}} {{{next version}}} }}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
{{#if: {{{current version|}}} |&lt;br /&gt;
! Current Version:&lt;br /&gt;
{{!}} {{{current version}}} }}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
{{#if: {{{year introduced|}}} |&lt;br /&gt;
! Year Introduced:&lt;br /&gt;
{{!}} {{{year introduced}}} }}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
{{#if: {{{year discontinued|}}} |&lt;br /&gt;
! Year Discontinued:&lt;br /&gt;
{{!}} {{{year discontinued}}} }}&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;font-size: smaller;&amp;quot; | {{{footnotes|}}}&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.1&amp;diff=13215</id>
		<title>Visual C++ 1.1</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.1&amp;diff=13215"/>
				<updated>2017-07-25T05:31:21Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Malxau moved page Visual C 1.0 to Visual C++ 1.1: The 32 bit version was 1.1; the 16 bit version was 1.0.  See the about box in the 32 bit version IDE.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the cl driver options from my Visual C++ 1.0 32 bit CD.  Note there is also a 16-bit version of Visual C++ 1.0 which is a completely different product.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07/22/1993  01:16 AM           389,632 C13232.EXE&lt;br /&gt;
07/22/1993  01:16 AM           616,448 C1XX3232.EXE&lt;br /&gt;
07/19/1993  08:25 AM           482,816 C23232.EXE&lt;br /&gt;
07/20/1993  01:33 AM            87,552 CL.EXE&lt;br /&gt;
07/15/1993  08:17 AM            48,640 CL386.EXE&lt;br /&gt;
07/12/1993  05:47 AM           161,792 CVPACK.EXE&lt;br /&gt;
07/15/1993  08:54 AM           385,536 LINK.EXE&lt;br /&gt;
07/15/1993  08:17 AM            48,640 LINK32.EXE&lt;br /&gt;
07/15/1993  06:26 AM           128,512 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 8.00&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                            C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486 (default)         /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gf enable string pooling&lt;br /&gt;
/Gd __cdecl calling convention           /Gy separate functions for linker&lt;br /&gt;
/Gr __fastcall calling convention        /Gh enable hook function call&lt;br /&gt;
/Gz __stdcall calling convention&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi prepare for debugging (CodeView)     /Zg generate function prototypes&lt;br /&gt;
/Z7 C7 style CodeView information        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number information              /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
/?, /help print this help message        /w disable all warnings&lt;br /&gt;
/c compile only, no link                 /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /WX treat warnings as errors&lt;br /&gt;
/J default char type is unsigned         /Yc[file] create .PCH file&lt;br /&gt;
/nologo suppress copyright message       /Yd put debug info in every .OBJ&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yu[file] use .PCH file&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /YX[file] automatic .PCH&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string            /Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
/MD link with MSVCRT.LIB                 /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/ML link with LIBC.LIB                   /LD Create .DLL&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/MT link with LIBCMT.LIB                 /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== link ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-Bit Executable Linker Version 1.00&lt;br /&gt;
Copyright (C) Microsoft Corp 1992-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK [options] [files] [@commandfile]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      /ALIGN:#&lt;br /&gt;
      /BASE:{address|@filename,key}&lt;br /&gt;
      /COMMENT:comment&lt;br /&gt;
      /DEBUG[:{NONE|FULL}]&lt;br /&gt;
      /DEBUGTYPE:{CV|COFF|BOTH}&lt;br /&gt;
      /DEF:filename&lt;br /&gt;
      /DEFAULTLIB:library[,library]&lt;br /&gt;
      /DLL&lt;br /&gt;
      /ENTRY:symbol&lt;br /&gt;
      /EXPORT:symbol&lt;br /&gt;
      /FIXED&lt;br /&gt;
      /FORCE&lt;br /&gt;
      /IMPLIB:filename&lt;br /&gt;
      /INCLUDE:symbol&lt;br /&gt;
      /MAP[:filename]&lt;br /&gt;
      /NODEFAULTLIB[:library[,library...]]&lt;br /&gt;
      /NOENTRY&lt;br /&gt;
      /NOLOGO&lt;br /&gt;
      /OPT:{REF|NOREF}&lt;br /&gt;
      /ORDER:@filename&lt;br /&gt;
      /OUT:filename&lt;br /&gt;
      /RELEASE&lt;br /&gt;
      /SECTION:name,[E][R][W][S]&lt;br /&gt;
      /STACK:reserve[,commit]&lt;br /&gt;
      /STUB:filename&lt;br /&gt;
      /SUBSYSTEM:{WINDOWS|CONSOLE}[,#[.#]]&lt;br /&gt;
      /VERBOSE&lt;br /&gt;
      /VERSION:#[.#]&lt;br /&gt;
      /WARN[:warninglevel]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== nmake ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.40&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:  NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
/A Build all evaluated targets         /B Build if time stamps are equal&lt;br /&gt;
/C Suppress output messages            /D Display build information&lt;br /&gt;
/E Override env-var macros             /HELP Display brief usage message&lt;br /&gt;
/I Ignore exit codes from commands     /K Build unrelated targets on error&lt;br /&gt;
/N Display commands but do not execute /NOLOGO Suppress copyright message&lt;br /&gt;
/P Display NMAKE information           /Q Check time stamps but do not build&lt;br /&gt;
/R Ignore predefined rules/macros      /S Suppress executed-commands display&lt;br /&gt;
/T Change time stamps but do not build&lt;br /&gt;
/? Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:C compilers]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C_1.0&amp;diff=13216</id>
		<title>Visual C 1.0</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C_1.0&amp;diff=13216"/>
				<updated>2017-07-25T05:31:21Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Malxau moved page Visual C 1.0 to Visual C++ 1.1: The 32 bit version was 1.1; the 16 bit version was 1.0.  See the about box in the 32 bit version IDE.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Visual C++ 1.1]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.1&amp;diff=13212</id>
		<title>Visual C++ 1.1</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.1&amp;diff=13212"/>
				<updated>2017-07-24T20:04:29Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add NMAKE, and clarify that this page is for 32-bit Visual C++&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the cl driver options from my Visual C++ 1.0 32 bit CD.  Note there is also a 16-bit version of Visual C++ 1.0 which is a completely different product.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07/22/1993  01:16 AM           389,632 C13232.EXE&lt;br /&gt;
07/22/1993  01:16 AM           616,448 C1XX3232.EXE&lt;br /&gt;
07/19/1993  08:25 AM           482,816 C23232.EXE&lt;br /&gt;
07/20/1993  01:33 AM            87,552 CL.EXE&lt;br /&gt;
07/15/1993  08:17 AM            48,640 CL386.EXE&lt;br /&gt;
07/12/1993  05:47 AM           161,792 CVPACK.EXE&lt;br /&gt;
07/15/1993  08:54 AM           385,536 LINK.EXE&lt;br /&gt;
07/15/1993  08:17 AM            48,640 LINK32.EXE&lt;br /&gt;
07/15/1993  06:26 AM           128,512 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 8.00&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                            C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486 (default)         /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gf enable string pooling&lt;br /&gt;
/Gd __cdecl calling convention           /Gy separate functions for linker&lt;br /&gt;
/Gr __fastcall calling convention        /Gh enable hook function call&lt;br /&gt;
/Gz __stdcall calling convention&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi prepare for debugging (CodeView)     /Zg generate function prototypes&lt;br /&gt;
/Z7 C7 style CodeView information        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number information              /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
/?, /help print this help message        /w disable all warnings&lt;br /&gt;
/c compile only, no link                 /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /WX treat warnings as errors&lt;br /&gt;
/J default char type is unsigned         /Yc[file] create .PCH file&lt;br /&gt;
/nologo suppress copyright message       /Yd put debug info in every .OBJ&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yu[file] use .PCH file&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /YX[file] automatic .PCH&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string            /Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
/MD link with MSVCRT.LIB                 /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/ML link with LIBC.LIB                   /LD Create .DLL&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/MT link with LIBCMT.LIB                 /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== link ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-Bit Executable Linker Version 1.00&lt;br /&gt;
Copyright (C) Microsoft Corp 1992-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK [options] [files] [@commandfile]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      /ALIGN:#&lt;br /&gt;
      /BASE:{address|@filename,key}&lt;br /&gt;
      /COMMENT:comment&lt;br /&gt;
      /DEBUG[:{NONE|FULL}]&lt;br /&gt;
      /DEBUGTYPE:{CV|COFF|BOTH}&lt;br /&gt;
      /DEF:filename&lt;br /&gt;
      /DEFAULTLIB:library[,library]&lt;br /&gt;
      /DLL&lt;br /&gt;
      /ENTRY:symbol&lt;br /&gt;
      /EXPORT:symbol&lt;br /&gt;
      /FIXED&lt;br /&gt;
      /FORCE&lt;br /&gt;
      /IMPLIB:filename&lt;br /&gt;
      /INCLUDE:symbol&lt;br /&gt;
      /MAP[:filename]&lt;br /&gt;
      /NODEFAULTLIB[:library[,library...]]&lt;br /&gt;
      /NOENTRY&lt;br /&gt;
      /NOLOGO&lt;br /&gt;
      /OPT:{REF|NOREF}&lt;br /&gt;
      /ORDER:@filename&lt;br /&gt;
      /OUT:filename&lt;br /&gt;
      /RELEASE&lt;br /&gt;
      /SECTION:name,[E][R][W][S]&lt;br /&gt;
      /STACK:reserve[,commit]&lt;br /&gt;
      /STUB:filename&lt;br /&gt;
      /SUBSYSTEM:{WINDOWS|CONSOLE}[,#[.#]]&lt;br /&gt;
      /VERBOSE&lt;br /&gt;
      /VERSION:#[.#]&lt;br /&gt;
      /WARN[:warninglevel]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== nmake ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.40&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-93. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:  NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
/A Build all evaluated targets         /B Build if time stamps are equal&lt;br /&gt;
/C Suppress output messages            /D Display build information&lt;br /&gt;
/E Override env-var macros             /HELP Display brief usage message&lt;br /&gt;
/I Ignore exit codes from commands     /K Build unrelated targets on error&lt;br /&gt;
/N Display commands but do not execute /NOLOGO Suppress copyright message&lt;br /&gt;
/P Display NMAKE information           /Q Check time stamps but do not build&lt;br /&gt;
/R Ignore predefined rules/macros      /S Suppress executed-commands display&lt;br /&gt;
/T Change time stamps but do not build&lt;br /&gt;
/? Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:C compilers]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Windows_NT_3.1_SDK&amp;diff=13211</id>
		<title>Windows NT 3.1 SDK</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Windows_NT_3.1_SDK&amp;diff=13211"/>
				<updated>2017-07-24T20:00:00Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Add NMAKE which is noteworthy just for how bad it was&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This came on a CD with a full copy of [[Windows NT 3.1]] workstation.  As far as I remember they gave these things away all over the place as promo items, as NT 3.1 was more of a freebie, then a sold product back then.  The SDK did include the command line compiler, but it felt far more clunky (esp regarding linking) then the [[Visual C++ 1.0]] version.  The version of NMAKE was strangely old and incomplete; it did not support recursive macro evaluation, making it difficult to use for anything except the most trivial of cases.&lt;br /&gt;
&lt;br /&gt;
== i386 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
07/24/1993  12:11 AM           389,632 C13232.EXE&lt;br /&gt;
07/24/1993  12:11 AM           616,448 C1XX3232.EXE&lt;br /&gt;
07/24/1993  12:11 AM           507,392 C23232.EXE&lt;br /&gt;
07/24/1993  12:11 AM            25,600 CL.EXE&lt;br /&gt;
07/24/1993  12:11 AM            86,016 CL386.EXE&lt;br /&gt;
07/24/1993  12:11 AM           234,372 LINK32.EXE&lt;br /&gt;
07/24/1993  12:11 PM           127,044 NMAKE.EXE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cl ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 8.00.3190a&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1993. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
                            C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                              -OPTIMIZATION-&lt;br /&gt;
/O1 minimize space                       /Op[-] improve floating-pt consistency&lt;br /&gt;
/O2 maximize speed                       /Os favor code space&lt;br /&gt;
/Oa assume no aliasing                   /Ot favor code speed&lt;br /&gt;
/Ob&amp;lt;n&amp;gt; inline expansion (default n=0)    /Ow assume cross-function aliasing&lt;br /&gt;
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)&lt;br /&gt;
/Og enable global optimization           /Oy[-] enable frame pointer omission&lt;br /&gt;
/Oi enable intrinsic functions&lt;br /&gt;
                             -CODE GENERATION-&lt;br /&gt;
/G3 optimize for 80386                   /Ge enable stack checking calls&lt;br /&gt;
/G4 optimize for 80486 (default)         /Gs[num] disable stack checking calls&lt;br /&gt;
/G5 optimize for Pentium                 /Gf enable string pooling&lt;br /&gt;
/Gd __cdecl calling convention           /Gy separate functions for linker&lt;br /&gt;
/Gr __fastcall calling convention        /Gh enable hook function call&lt;br /&gt;
/Gz __stdcall calling convention&lt;br /&gt;
                              -OUTPUT FILES-&lt;br /&gt;
/Fa[file] name assembly listing file     /Fo&amp;lt;file&amp;gt; name object file&lt;br /&gt;
/FA[sc] configure assembly listing       /Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
/Fd[file] name .PDB file                 /Fr[file] name source browser file&lt;br /&gt;
/Fe&amp;lt;file&amp;gt; name executable file           /FR[file] name extended .SBR file&lt;br /&gt;
/Fm[file] name map file&lt;br /&gt;
                              -PREPROCESSOR-&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/C don't strip comments                  /FI&amp;lt;file&amp;gt; name forced include file&lt;br /&gt;
/D&amp;lt;name&amp;gt;{=|#}&amp;lt;text&amp;gt; define macro         /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/E preprocess to stdout                  /u remove all predefined macros&lt;br /&gt;
/EP preprocess to stdout, no #line       /I&amp;lt;dir&amp;gt; add to include search path&lt;br /&gt;
/P preprocess to file                    /X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
                                -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /Za disable extensions (implies /Op)&lt;br /&gt;
/vm&amp;lt;x&amp;gt; type of pointers to members       /Ze enable extensions (default)&lt;br /&gt;
/Zi prepare for debugging (CodeView)     /Zg generate function prototypes&lt;br /&gt;
/Z7 C7 style CodeView information        /Zl omit default library name in .OBJ&lt;br /&gt;
/Zd line number information              /Zs syntax check only&lt;br /&gt;
/Zp[n] pack structs on n-byte boundary&lt;br /&gt;
                              -MISCELLANEOUS-&lt;br /&gt;
/?, /help print this help message        /w disable all warnings&lt;br /&gt;
/c compile only, no link                 /W&amp;lt;n&amp;gt; set warning level (default n=1)&lt;br /&gt;
/H&amp;lt;num&amp;gt; max external name length         /WX treat warnings as errors&lt;br /&gt;
/J default char type is unsigned         /Yc[file] create .PCH file&lt;br /&gt;
/nologo suppress copyright message       /Yd put debug info in every .OBJ&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /Yu[file] use .PCH file&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /YX[file] automatic .PCH&lt;br /&gt;
/V&amp;lt;string&amp;gt; set version string            /Zn turn off SBRPACK for .SBR files&lt;br /&gt;
                                 -LINKING-&lt;br /&gt;
/MD link with MSVCRT.LIB                 /F&amp;lt;num&amp;gt; set stack size&lt;br /&gt;
/ML link with LIBC.LIB                   /LD Create .DLL&lt;br /&gt;
  (press &amp;lt;return&amp;gt; to continue)&lt;br /&gt;
/MT link with LIBCMT.LIB                 /link [linker options and libraries]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== link32 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Microsoft(R) Windows NT Linker Version 2.42&lt;br /&gt;
(C) 1989-1992 Microsoft Corp. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK32 [switches] [objects] [libraries]&lt;br /&gt;
&lt;br /&gt;
   switches:&lt;br /&gt;
&lt;br /&gt;
      -ADJUST:#&lt;br /&gt;
      -ALIGN:#&lt;br /&gt;
      -BASE:{address|address,size|@filename,key}&lt;br /&gt;
      -DEBUG:[mapped|notmapped,]{none|minimal|partial|full}&lt;br /&gt;
      -DEBUGTYPE:{COFF|CV|BOTH}&lt;br /&gt;
      -DLL&lt;br /&gt;
      -ENTRY:symbol&lt;br /&gt;
      -FIXED&lt;br /&gt;
      -FORCE&lt;br /&gt;
      -GPSIZE:#&lt;br /&gt;
      -HEAP:reserve[,commit]&lt;br /&gt;
      -IGNORE:warning#&lt;br /&gt;
      -INCLUDE:symbol&lt;br /&gt;
      -MACHINE:{i386|mips|alpha}&lt;br /&gt;
      -MAP[:filename]&lt;br /&gt;
      -ORDER:@filename&lt;br /&gt;
      -OUT:filename&lt;br /&gt;
      -ROM&lt;br /&gt;
      -SECTION:name,[E][R][W][S]&lt;br /&gt;
      -STACK:reserve[,commit]&lt;br /&gt;
      -SUBSYSTEM:{native|windows|console|posix|os2}[,#[.#]]&lt;br /&gt;
      -STUB:stub file name&lt;br /&gt;
      -DECORATE&lt;br /&gt;
      -VERBOSE&lt;br /&gt;
      -VERSION:#[.#]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      -DUMP&lt;br /&gt;
      -EDIT&lt;br /&gt;
      -LIB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nmake ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft (R) Program Maintenance Utility   Version 1.12.0013&lt;br /&gt;
Copyright (c) Microsoft Corp 1988-90. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
        NMAKE @commandfile&lt;br /&gt;
        NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
        /a            Build all evaluated targets&lt;br /&gt;
        /c            Supress output messages&lt;br /&gt;
        /d            Display time stamps&lt;br /&gt;
        /e            Environment variables override macro definitions&lt;br /&gt;
        /f filename   Use specified makefile&lt;br /&gt;
        /help         Display brief usage message&lt;br /&gt;
        /i            Ignore exit codes of commands invoked&lt;br /&gt;
        /n            Display commands but do not execute&lt;br /&gt;
        /nologo       Supress copyright message&lt;br /&gt;
        /p            Print macro definitions &amp;amp; target descriptions&lt;br /&gt;
        /q            Check time stamps but do not build&lt;br /&gt;
        /r            Ignore rules and macros from 'tools.ini'&lt;br /&gt;
        /s            Suppress executed commands display&lt;br /&gt;
        /t            Change time stamps but do not build&lt;br /&gt;
        /x filename   Redirect errors to file&lt;br /&gt;
        /?            Display brief usage message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== mips ==&lt;br /&gt;
&lt;br /&gt;
=== cl ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Microsoft (R) C Centaur Optimizing Compiler Version 8.00.081&lt;br /&gt;
Copyright (c) Microsoft Corp 1984-1992. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: mcl [ option... ] filename... [ -link linkoption... ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                          C COMPILER OPTIONS&lt;br /&gt;
&lt;br /&gt;
                            -OPTIMIZATION-&lt;br /&gt;
/Oa assume no aliasing                   /Op improve floating point consistency&lt;br /&gt;
/Ob&amp;lt;0|1|2&amp;gt; control inline expansion      /Os optimize for space&lt;br /&gt;
/Od disable optimizations                /Ot optimize for speed (default)&lt;br /&gt;
/Og enable global optimization           /Ow assume aliasing in function calls&lt;br /&gt;
/Ol enable loop optimization             /Ox maximum optimization (/Oglt /Gs)&lt;br /&gt;
&lt;br /&gt;
                          -CODE GENERATION-&lt;br /&gt;
/Ge enable stack overflow checking       /Gd default _cdecl calls&lt;br /&gt;
/Gz default _stdcall calls               /Gy separate comdat for each function&lt;br /&gt;
/Gf enable string pooling                /Gh enable hook function call&lt;br /&gt;
&lt;br /&gt;
                            -OUTPUT FILES-&lt;br /&gt;
/Fa[file] assembly listing file          /Fm[map file]&lt;br /&gt;
/Fl[file] asm listing with code bytes    /Fo&amp;lt;object file&amp;gt;&lt;br /&gt;
/Fc[file] asm listing w/bytes &amp;amp; source   /Fe&amp;lt;executable file&amp;gt;&lt;br /&gt;
/Fp&amp;lt;file&amp;gt; name precompiled header file&lt;br /&gt;
&lt;br /&gt;
                            -PREPROCESSOR-&lt;br /&gt;
/C don't strip comments                  /D&amp;lt;name&amp;gt;[=|#text] define macro&lt;br /&gt;
/E preprocess to stdout                  /EP preprocess to stdout, no #line&lt;br /&gt;
/I&amp;lt;dir&amp;gt; add to include search path       /P preprocess to file, no #line&lt;br /&gt;
/u remove all predefined macros          /U&amp;lt;name&amp;gt; remove predefined macro&lt;br /&gt;
/X ignore &amp;quot;standard places&amp;quot;&lt;br /&gt;
&lt;br /&gt;
                              -LANGUAGE-&lt;br /&gt;
/vd{0|1} disable/enable vtordisp         /vm&amp;lt;x&amp;gt; type of pointers to members&lt;br /&gt;
/Za disable non ansi extensions          /Zs syntax check only&lt;br /&gt;
/Ze enable extensions (default)          /Zg generate function prototypes&lt;br /&gt;
/Zd include line number information      /Zp[n] pack structs on n-byte boundary&lt;br /&gt;
/Zi prepare for debugging (CodeView)     /Z7 C7 style CodeView information&lt;br /&gt;
&lt;br /&gt;
                            -MISCELLANEOUS-&lt;br /&gt;
/W&amp;lt;number&amp;gt; warning level                 /nologo suppress copyright message&lt;br /&gt;
/Yu&amp;lt;file&amp;gt; use .PCH file                  /H&amp;lt;number&amp;gt; max external name length&lt;br /&gt;
/Yc&amp;lt;file&amp;gt; create .PCH file               /B1&amp;lt;pass&amp;gt;  invoke alternate c1[xx]_rx&lt;br /&gt;
/Yd put debug info in .PCH file          /B2x&amp;lt;pass&amp;gt; invoke alternate msu&lt;br /&gt;
/Tc&amp;lt;source file&amp;gt; compile file as .c      /B2o&amp;lt;pass&amp;gt; invoke alternate msuopt&lt;br /&gt;
/Tp&amp;lt;source file&amp;gt; compile file as .cpp    /B2g&amp;lt;pass&amp;gt; invoke alternate msugen&lt;br /&gt;
/YX[file] automatic .PCH                 /B2a&amp;lt;pass&amp;gt; invoke alternate msas1&lt;br /&gt;
/J default char type is unsigned         /Bl invoke alternate linker&lt;br /&gt;
/?, /help print this help message        /c compile only, no link&lt;br /&gt;
&lt;br /&gt;
                              -LINKING-&lt;br /&gt;
/F&amp;lt;number&amp;gt; stack size (hex. bytes)       /link [linker options and libraries]&lt;br /&gt;
&lt;br /&gt;
                              -MIPS SPECIFIC-&lt;br /&gt;
/QmipsG1  mips1 instruction set          /QmipsG2   mips2 instruction set&lt;br /&gt;
/QmipsOb&amp;lt;value&amp;gt; basic block threshold&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== link32 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Microsoft(R) Windows NT Linker Version 2.42&lt;br /&gt;
(C) 1989-1992 Microsoft Corp. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
usage: LINK32 [switches] [objects] [libraries]&lt;br /&gt;
&lt;br /&gt;
   switches:&lt;br /&gt;
&lt;br /&gt;
      -ADJUST:#&lt;br /&gt;
      -ALIGN:#&lt;br /&gt;
      -BASE:{address|address,size|@filename,key}&lt;br /&gt;
      -DEBUG:[mapped|notmapped,]{none|minimal|partial|full}&lt;br /&gt;
      -DEBUGTYPE:{COFF|CV|BOTH}&lt;br /&gt;
      -DLL&lt;br /&gt;
      -ENTRY:symbol&lt;br /&gt;
      -FIXED&lt;br /&gt;
      -FORCE&lt;br /&gt;
      -GPSIZE:#&lt;br /&gt;
      -HEAP:reserve[,commit]&lt;br /&gt;
      -IGNORE:warning#&lt;br /&gt;
      -INCLUDE:symbol&lt;br /&gt;
      -MACHINE:{i386|mips|alpha}&lt;br /&gt;
      -MAP[:filename]&lt;br /&gt;
      -ORDER:@filename&lt;br /&gt;
      -OUT:filename&lt;br /&gt;
      -ROM&lt;br /&gt;
      -SECTION:name,[E][R][W][S]&lt;br /&gt;
      -STACK:reserve[,commit]&lt;br /&gt;
      -SUBSYSTEM:{native|windows|console|posix|os2}[,#[.#]]&lt;br /&gt;
      -STUB:stub file name&lt;br /&gt;
      -DECORATE&lt;br /&gt;
      -VERBOSE&lt;br /&gt;
      -VERSION:#[.#]&lt;br /&gt;
&lt;br /&gt;
   options:&lt;br /&gt;
&lt;br /&gt;
      -DUMP&lt;br /&gt;
      -EDIT&lt;br /&gt;
      -LIB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	<entry>
		<id>https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.0&amp;diff=13210</id>
		<title>Visual C++ 1.0</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=Visual_C%2B%2B_1.0&amp;diff=13210"/>
				<updated>2017-07-24T19:48:25Z</updated>
		
		<summary type="html">&lt;p&gt;Malxau: Redirected page to Visual C 1.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Visual C 1.0]]&lt;/div&gt;</summary>
		<author><name>Malxau</name></author>	</entry>

	</feed>