<?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: A weird EBay interlude on the way to Extending DOS.	</title>
	<atom:link href="https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/feed/" rel="self" type="application/rss+xml" />
	<link>https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/</link>
	<description>Fun with Virtualization</description>
	<lastBuildDate>Mon, 07 Aug 2023 17:02:17 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>
		By: Kirn Gill II		</title>
		<link>https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-336156</link>

		<dc:creator><![CDATA[Kirn Gill II]]></dc:creator>
		<pubDate>Mon, 07 Aug 2023 17:02:17 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11030#comment-336156</guid>

					<description><![CDATA[I&#039;m writing a EXE &quot;dumper&quot; tool, for lack of a better term for it. 

This is leading to a slow and tedious process of learning all the various EXE formats, and to reverse engineering one (the &quot;W3&quot; format used exclusively by the Windows/386 kernel on 3.x releases, titled WIN386.EXE. The W3 format is really just a collection of LE VxDs, with a directory table right after the W3 header describing where each VxD is and its module name.) 

I&#039;m looking to get my hands on anything related to Phar-Lap 286 because it supposedly uses two special NE OS type values, one for console and one for GUI, that I&#039;d like to verify the truth of.

Bonus points if I can run this tool through Phar-Lap 286. The current Makefile for OS/2 builds a 16-bit OS/2 1.x program. 

You can find the source code to my program, available under the ISC license, at https://github.com/segin/readexe 

If I can figure out how to use the GitHub releases feature, I&#039;ll ship out precompiled binaries for everyone to use.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m writing a EXE &#8220;dumper&#8221; tool, for lack of a better term for it. </p>
<p>This is leading to a slow and tedious process of learning all the various EXE formats, and to reverse engineering one (the &#8220;W3&#8221; format used exclusively by the Windows/386 kernel on 3.x releases, titled WIN386.EXE. The W3 format is really just a collection of LE VxDs, with a directory table right after the W3 header describing where each VxD is and its module name.) </p>
<p>I&#8217;m looking to get my hands on anything related to Phar-Lap 286 because it supposedly uses two special NE OS type values, one for console and one for GUI, that I&#8217;d like to verify the truth of.</p>
<p>Bonus points if I can run this tool through Phar-Lap 286. The current Makefile for OS/2 builds a 16-bit OS/2 1.x program. </p>
<p>You can find the source code to my program, available under the ISC license, at <a href="https://github.com/segin/readexe" rel="nofollow ugc">https://github.com/segin/readexe</a> </p>
<p>If I can figure out how to use the GitHub releases feature, I&#8217;ll ship out precompiled binaries for everyone to use.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: neozeed		</title>
		<link>https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-333552</link>

		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Sun, 09 Jul 2023 18:03:48 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11030#comment-333552</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-333542&quot;&gt;Stephen Ferrell&lt;/a&gt;.

DOS extenders are so much fun! It&#039;s breaking all the rules!

DJGPP is a mixed bag, the v2 stuff is a lot more forgiving than the v1 GO32.  I did a haphazzard port of DooM to v1, and it mostly runs, but it&#039;s so prone to crashing.  At the same time it&#039;s cool to downgrade to GCC 1.27 and get it building DooM!]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-333542">Stephen Ferrell</a>.</p>
<p>DOS extenders are so much fun! It&#8217;s breaking all the rules!</p>
<p>DJGPP is a mixed bag, the v2 stuff is a lot more forgiving than the v1 GO32.  I did a haphazzard port of DooM to v1, and it mostly runs, but it&#8217;s so prone to crashing.  At the same time it&#8217;s cool to downgrade to GCC 1.27 and get it building DooM!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: neozeed		</title>
		<link>https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-333551</link>

		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Sun, 09 Jul 2023 18:02:22 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11030#comment-333551</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-319037&quot;&gt;Diederik H.&lt;/a&gt;.

targeting OS/2 should get it going]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-319037">Diederik H.</a>.</p>
<p>targeting OS/2 should get it going</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Stephen Ferrell		</title>
		<link>https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-333542</link>

		<dc:creator><![CDATA[Stephen Ferrell]]></dc:creator>
		<pubDate>Sun, 09 Jul 2023 17:03:39 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11030#comment-333542</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-319037&quot;&gt;Diederik H.&lt;/a&gt;.

All this talk of DOS Extenders has me wanting to dig out DJGPP and my copy of Borland Power Pack.  I seem to recall the DJGPP was more mature and easier to use than Power Pack and Power Pack didn&#039;t have a protected mode video driver.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-319037">Diederik H.</a>.</p>
<p>All this talk of DOS Extenders has me wanting to dig out DJGPP and my copy of Borland Power Pack.  I seem to recall the DJGPP was more mature and easier to use than Power Pack and Power Pack didn&#8217;t have a protected mode video driver.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Diederik H.		</title>
		<link>https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-319037</link>

		<dc:creator><![CDATA[Diederik H.]]></dc:creator>
		<pubDate>Sun, 15 Jan 2023 19:14:47 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11030#comment-319037</guid>

					<description><![CDATA[A full (non-lite) version of Phar Lap 286&#124;DOS Extender 3.1 can be downloaded on vetusware. It works, at least for Borland C++ 3.1!(*) Just don&#039;t forget to run the installation batchfiles.

(*) I would like to get it working for Watcom.]]></description>
			<content:encoded><![CDATA[<p>A full (non-lite) version of Phar Lap 286|DOS Extender 3.1 can be downloaded on vetusware. It works, at least for Borland C++ 3.1!(*) Just don&#8217;t forget to run the installation batchfiles.</p>
<p>(*) I would like to get it working for Watcom.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Malcolm		</title>
		<link>https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-307595</link>

		<dc:creator><![CDATA[Malcolm]]></dc:creator>
		<pubDate>Thu, 30 Jun 2022 16:37:20 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11030#comment-307595</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-307579&quot;&gt;neozeed&lt;/a&gt;.

According to Wikipedia, their first (1986) offering was for the 386 - which kind of blows my mind.  What was the install base of 386 devices? What 32 bit developer toolchains existed? What 32 bit APIs existed? I can&#039;t imagine that product being remotely useful.

Moving to the 286 seems as much about using the existing OS/2 developer tools and creating the potential for hybrid applications than anything with the 286 itself.  In the late 80s, any developer wanting to support high memory applications probably found themselves needing an OS/2 version anyway.

Agree completely about the incredibly strict licensing in these bundled Phar Lap products.  It makes me wonder why it&#039;s even there - what did Microsoft gain by distributing something its users couldn&#039;t use?  Why was it distributing an effectively OS/2 development toolchain with its 1993/1994 Windows development tools?  After looking at TNT, I&#039;m now wondering if this is the price Microsoft paid to move Phar Lap from OS/2 to NT - they could have supported OS/2 2.x LX as a 32 bit DOS target, and it&#039;s conspicuously absent.  But due to the strict licensing, I wonder how many applications moved to the Win32 API as a result of Phar Lap.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-307579">neozeed</a>.</p>
<p>According to Wikipedia, their first (1986) offering was for the 386 &#8211; which kind of blows my mind.  What was the install base of 386 devices? What 32 bit developer toolchains existed? What 32 bit APIs existed? I can&#8217;t imagine that product being remotely useful.</p>
<p>Moving to the 286 seems as much about using the existing OS/2 developer tools and creating the potential for hybrid applications than anything with the 286 itself.  In the late 80s, any developer wanting to support high memory applications probably found themselves needing an OS/2 version anyway.</p>
<p>Agree completely about the incredibly strict licensing in these bundled Phar Lap products.  It makes me wonder why it&#8217;s even there &#8211; what did Microsoft gain by distributing something its users couldn&#8217;t use?  Why was it distributing an effectively OS/2 development toolchain with its 1993/1994 Windows development tools?  After looking at TNT, I&#8217;m now wondering if this is the price Microsoft paid to move Phar Lap from OS/2 to NT &#8211; they could have supported OS/2 2.x LX as a 32 bit DOS target, and it&#8217;s conspicuously absent.  But due to the strict licensing, I wonder how many applications moved to the Win32 API as a result of Phar Lap.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: neozeed		</title>
		<link>https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-307579</link>

		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Thu, 30 Jun 2022 07:29:07 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11030#comment-307579</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-307566&quot;&gt;Malcolm&lt;/a&gt;.

Its part of what set me on a long journey to get a copy of TNT.  Ive gutted the manuals for version 6, the one I managed to get, and made some disk snapshots.

Had there been a more permissive version of TNT included, maybe DOS would have held on for another year or two, although Direct X basically killed DOS by offering a nice abstraction to graphics/audio/peripherals.

the first 32bit version of PharLap I have is 4.1 although it should have been their first product?  The Pharlap 2/3 I have is all 286 based, I could have sword I read that the 386 based stuff came first as it was far easier to go from protected to real mode.. Then they built the 286 stuff afterwards.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-307566">Malcolm</a>.</p>
<p>Its part of what set me on a long journey to get a copy of TNT.  Ive gutted the manuals for version 6, the one I managed to get, and made some disk snapshots.</p>
<p>Had there been a more permissive version of TNT included, maybe DOS would have held on for another year or two, although Direct X basically killed DOS by offering a nice abstraction to graphics/audio/peripherals.</p>
<p>the first 32bit version of PharLap I have is 4.1 although it should have been their first product?  The Pharlap 2/3 I have is all 286 based, I could have sword I read that the 386 based stuff came first as it was far easier to go from protected to real mode.. Then they built the 286 stuff afterwards.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Malcolm		</title>
		<link>https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-307566</link>

		<dc:creator><![CDATA[Malcolm]]></dc:creator>
		<pubDate>Wed, 29 Jun 2022 17:56:48 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11030#comment-307566</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-272241&quot;&gt;Malcolm&lt;/a&gt;.

Coming back to answer my own question...

It turns out that 16 bit Visual C++ includes the OS/2 based Phar Lap, but the 32 bit Visual C++ 1.1 CD includes the NT based Phar Lap TNT Lite, cleverly hidden in the MSVC32S directory.  I haven&#039;t messed with it much yet, but it&#039;s clearly implementing a PE loader.  Because it&#039;s the &quot;Lite&quot; version, it&#039;s not intended to support redistribution...but that also means there&#039;s a TNTLITE.EXE loader that can be pointed at a PE file, and it will attempt to execute it from DOS.

Unfortunately I haven&#039;t found many things that work with this.  It looks like newer (2.0 or above) C runtimes depend on Win32 APIs that this version of TNT didn&#039;t implement (in particular NLS, just like the OS/2 one.)  It needs relocation information in the EXE, which means anything compiled with Visual C++ 4.2 or newer is out.  It doesn&#039;t seem to have basic Unicode APIs, so anything must be 8 bit chars.  As of now, it&#039;s not much more than a runtime that allows people like this community to compile non-Unicode code using Visual C++ 1.1 and launch it from DOS.

It&#039;s crippled to 2Mb of memory, which seems like ought to be straightforward to remove.  It also seems to limit the use of DLLs (unlike the 16 bit version) which may be a more problematic restriction.

Note that Visual C++ 1.1 itself was bound with a version of TNT so it can execute from DOS.  This is the only 32 bit version of Visual C++ that appears to do this.  There seems to be interesting potential to leverage the &quot;real&quot; runtime used by the compiler with the &quot;lite&quot; tools, but so far I haven&#039;t succeeded.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-272241">Malcolm</a>.</p>
<p>Coming back to answer my own question&#8230;</p>
<p>It turns out that 16 bit Visual C++ includes the OS/2 based Phar Lap, but the 32 bit Visual C++ 1.1 CD includes the NT based Phar Lap TNT Lite, cleverly hidden in the MSVC32S directory.  I haven&#8217;t messed with it much yet, but it&#8217;s clearly implementing a PE loader.  Because it&#8217;s the &#8220;Lite&#8221; version, it&#8217;s not intended to support redistribution&#8230;but that also means there&#8217;s a TNTLITE.EXE loader that can be pointed at a PE file, and it will attempt to execute it from DOS.</p>
<p>Unfortunately I haven&#8217;t found many things that work with this.  It looks like newer (2.0 or above) C runtimes depend on Win32 APIs that this version of TNT didn&#8217;t implement (in particular NLS, just like the OS/2 one.)  It needs relocation information in the EXE, which means anything compiled with Visual C++ 4.2 or newer is out.  It doesn&#8217;t seem to have basic Unicode APIs, so anything must be 8 bit chars.  As of now, it&#8217;s not much more than a runtime that allows people like this community to compile non-Unicode code using Visual C++ 1.1 and launch it from DOS.</p>
<p>It&#8217;s crippled to 2Mb of memory, which seems like ought to be straightforward to remove.  It also seems to limit the use of DLLs (unlike the 16 bit version) which may be a more problematic restriction.</p>
<p>Note that Visual C++ 1.1 itself was bound with a version of TNT so it can execute from DOS.  This is the only 32 bit version of Visual C++ that appears to do this.  There seems to be interesting potential to leverage the &#8220;real&#8221; runtime used by the compiler with the &#8220;lite&#8221; tools, but so far I haven&#8217;t succeeded.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: neozeed		</title>
		<link>https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-272410</link>

		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Wed, 19 May 2021 23:42:32 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11030#comment-272410</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-272394&quot;&gt;Nick B.&lt;/a&gt;.

Oddly enough there is a bunch on my BBS but it keeps getting knocked off..  too many people scanning for telnet.

That said check your email!!]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-272394">Nick B.</a>.</p>
<p>Oddly enough there is a bunch on my BBS but it keeps getting knocked off..  too many people scanning for telnet.</p>
<p>That said check your email!!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Nick B.		</title>
		<link>https://virtuallyfun.com/2021/05/17/a-weird-ebay-interlude-on-the-way-to-extending-dos/comment-page-1/#comment-272394</link>

		<dc:creator><![CDATA[Nick B.]]></dc:creator>
		<pubDate>Wed, 19 May 2021 17:07:36 +0000</pubDate>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11030#comment-272394</guid>

					<description><![CDATA[I have a disk with a LITE version of Phar Lap that was originally supplied with Borland C++ 3.1. Then there was also the Borland Power Pack that came with C++ 4.5, which had 16 and 32-bit extenders.]]></description>
			<content:encoded><![CDATA[<p>I have a disk with a LITE version of Phar Lap that was originally supplied with Borland C++ 3.1. Then there was also the Borland Power Pack that came with C++ 4.5, which had 16 and 32-bit extenders.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
