<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Bill Nye, the Microsoft C 6 guy	</title>
	<atom:link href="https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/feed/" rel="self" type="application/rss+xml" />
	<link>https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/</link>
	<description>Fun with Virtualization</description>
	<lastBuildDate>Mon, 21 Aug 2023 08:39:03 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>
	<item>
		<title>
		By: neozeed		</title>
		<link>https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/comment-page-1/#comment-336998</link>

		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 21 Aug 2023 08:39:03 +0000</pubDate>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=12948#comment-336998</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/comment-page-1/#comment-336963&quot;&gt;Malcolm&lt;/a&gt;.

I have to try the older Microsoft C 386 compilers and their ability to output assembly.  I had no real luck on other setups, but maybe this one will let me build stuff for OS/2]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/comment-page-1/#comment-336963">Malcolm</a>.</p>
<p>I have to try the older Microsoft C 386 compilers and their ability to output assembly.  I had no real luck on other setups, but maybe this one will let me build stuff for OS/2</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Malcolm		</title>
		<link>https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/comment-page-1/#comment-336963</link>

		<dc:creator><![CDATA[Malcolm]]></dc:creator>
		<pubDate>Sun, 20 Aug 2023 17:06:09 +0000</pubDate>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=12948#comment-336963</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/comment-page-1/#comment-333415&quot;&gt;Malcolm&lt;/a&gt;.

I recently bought a copy of MASM 6.0 on eBay and got a chance to try this out.  It&#039;s not quite as nice as C 6 (no OS/2 C runtime library) but is still designed to run on and target OS/2.

One thing I tried was using MASM 6.0 to supply startup code, then calling main() provided by Visual C++ 1.5, which worked fine.  Even the Visual C++ linker supported generating OS/2 NE binaries, it just defaults to Windows and needs to be explicitly told via &quot;EXETYPE OS2&quot;.  The linker can link to OS/2 import libraries, it just needs header definitions.  MASM doesn&#039;t provide .h files, but does include .inc files which must be perfectly translatable (they&#039;re just describing the calling convention.)

Unrelated, but there&#039;s a lot of interesting capabilities with MASM 6.0.  There&#039;s an important 6.0b update which added support for stdcall, where that capability was clearly done to support Win32.  There&#039;s a KB article about using it, although it tells people to use cvtomf which didn&#039;t exist in the released SDK.  KB articles show how to use 6.0b for 32 bit OS/2 via OS/2 2.0&#039;s link386 and doscalls.lib too, and that part actually works.  For some reason doscalls.lib was removed from Warp so doing this requires OS/2 2.x.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/comment-page-1/#comment-333415">Malcolm</a>.</p>
<p>I recently bought a copy of MASM 6.0 on eBay and got a chance to try this out.  It&#8217;s not quite as nice as C 6 (no OS/2 C runtime library) but is still designed to run on and target OS/2.</p>
<p>One thing I tried was using MASM 6.0 to supply startup code, then calling main() provided by Visual C++ 1.5, which worked fine.  Even the Visual C++ linker supported generating OS/2 NE binaries, it just defaults to Windows and needs to be explicitly told via &#8220;EXETYPE OS2&#8221;.  The linker can link to OS/2 import libraries, it just needs header definitions.  MASM doesn&#8217;t provide .h files, but does include .inc files which must be perfectly translatable (they&#8217;re just describing the calling convention.)</p>
<p>Unrelated, but there&#8217;s a lot of interesting capabilities with MASM 6.0.  There&#8217;s an important 6.0b update which added support for stdcall, where that capability was clearly done to support Win32.  There&#8217;s a KB article about using it, although it tells people to use cvtomf which didn&#8217;t exist in the released SDK.  KB articles show how to use 6.0b for 32 bit OS/2 via OS/2 2.0&#8217;s link386 and doscalls.lib too, and that part actually works.  For some reason doscalls.lib was removed from Warp so doing this requires OS/2 2.x.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: neozeed		</title>
		<link>https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/comment-page-1/#comment-333443</link>

		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Fri, 07 Jul 2023 22:00:19 +0000</pubDate>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=12948#comment-333443</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/comment-page-1/#comment-333431&quot;&gt;Richard Wells&lt;/a&gt;.

That pretty much matches what I recall where building things like hack needed you to use 5.1 for some parts as it would either crash the compiler or generate garbage.

I thought Quick C for Windows was also based on MSC 6, but I am pretty sure I&#039;ve had better luck with it.  And of course, it running in protected mode was always a bonus!]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/comment-page-1/#comment-333431">Richard Wells</a>.</p>
<p>That pretty much matches what I recall where building things like hack needed you to use 5.1 for some parts as it would either crash the compiler or generate garbage.</p>
<p>I thought Quick C for Windows was also based on MSC 6, but I am pretty sure I&#8217;ve had better luck with it.  And of course, it running in protected mode was always a bonus!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Richard Wells		</title>
		<link>https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/comment-page-1/#comment-333431</link>

		<dc:creator><![CDATA[Richard Wells]]></dc:creator>
		<pubDate>Fri, 07 Jul 2023 20:22:25 +0000</pubDate>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=12948#comment-333431</guid>

					<description><![CDATA[The optimizer in C6 was badly broken. Debugging a program becomes a lot harder when the output of the compiler does not match what the source code should result in.]]></description>
			<content:encoded><![CDATA[<p>The optimizer in C6 was badly broken. Debugging a program becomes a lot harder when the output of the compiler does not match what the source code should result in.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Malcolm		</title>
		<link>https://virtuallyfun.com/2023/07/05/bill-nye-the-microsoft-c-6-guy/comment-page-1/#comment-333415</link>

		<dc:creator><![CDATA[Malcolm]]></dc:creator>
		<pubDate>Fri, 07 Jul 2023 15:03:05 +0000</pubDate>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=12948#comment-333415</guid>

					<description><![CDATA[&#062; C/C++ 7.0...removed targeting OS/2...I never tried to see if it could be paired with the OS/2 SDK, and manually made to generate OS/2 executables. I suspect not.

I don&#039;t have an OS/2 SDK to try this on, but I suspect it&#039;ll be straightforward.  Visual C++ was bundled with a demo version of Phar Lap, and compiling for it means compiling an OS/2 binary.  It&#039;s actually hard to target Win16 and not 16 bit OS/2 since they have the same executable format.  So it&#039;s clear that the vast bulk of support must be there, and any restriction would be fairly contrived/artificial.

Last time we spoke about this: https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/#comment-272241]]></description>
			<content:encoded><![CDATA[<p>&gt; C/C++ 7.0&#8230;removed targeting OS/2&#8230;I never tried to see if it could be paired with the OS/2 SDK, and manually made to generate OS/2 executables. I suspect not.</p>
<p>I don&#8217;t have an OS/2 SDK to try this on, but I suspect it&#8217;ll be straightforward.  Visual C++ was bundled with a demo version of Phar Lap, and compiling for it means compiling an OS/2 binary.  It&#8217;s actually hard to target Win16 and not 16 bit OS/2 since they have the same executable format.  So it&#8217;s clear that the vast bulk of support must be there, and any restriction would be fairly contrived/artificial.</p>
<p>Last time we spoke about this: <a href="https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/#comment-272241" rel="ugc">https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/#comment-272241</a></p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
