<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Windows 3.1 &#8211; Virtually Fun</title>
	<atom:link href="https://virtuallyfun.com/category/windows-3-1/feed/" rel="self" type="application/rss+xml" />
	<link>https://virtuallyfun.com</link>
	<description>Fun with Virtualization</description>
	<lastBuildDate>Fri, 19 Apr 2024 14:52:18 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>Setting up SNA networking with Hercules using DLSw</title>
		<link>https://virtuallyfun.com/2024/03/11/setting-up-sna-networking-with-hercules-using-dlsw/</link>
					<comments>https://virtuallyfun.com/2024/03/11/setting-up-sna-networking-with-hercules-using-dlsw/#respond</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 11 Mar 2024 00:02:24 +0000</pubDate>
				<category><![CDATA[cisco]]></category>
		<category><![CDATA[cisco networking]]></category>
		<category><![CDATA[mainframe]]></category>
		<category><![CDATA[virtual networking]]></category>
		<category><![CDATA[Windows 3.1]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=14095</guid>

					<description><![CDATA[I finally broke down and made a quick video on setting up the DLSw &#8216;lab&#8217; that I had uploaded on Internet Archive. Although I should have gone more in depth with the cisco part. Namely showing how to check the &#8230; <a href="https://virtuallyfun.com/2024/03/11/setting-up-sna-networking-with-hercules-using-dlsw/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I finally broke down and made a quick video on setting up the <a href="https://archive.org/details/basic-dlsw-lab" target="_blank" rel="noreferrer noopener">DLSw &#8216;lab&#8217; that I had uploaded on Internet Archive</a>.<a href="https://www.youtube.com/@neozeed8139"></a></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Setting up SNA networking with Hercules using DLSw (Warning long)" width="584" height="438" src="https://www.youtube.com/embed/_Ut2CdwC-NM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div><figcaption class="wp-element-caption">See it works!</figcaption></figure>



<p class="wp-block-paragraph">Although I should have gone more in depth with the cisco part.</p>



<p class="wp-block-paragraph">Namely showing how to check the interfaces, the ethernet l2 traffic, how the DLSw peers, and then the establishment of the circuit once the session is established.</p>



<p class="wp-block-paragraph">But I wanted to be quick.   I don&#8217;t think I can edit a video that is up so I&#8217;ll probably follow it up with another quick video.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="/wp-content/uploads/2024/03/sna-network-diagram.png"><img fetchpriority="high" decoding="async" width="1024" height="469" src="/wp-content/uploads/2024/03/sna-network-diagram-1024x469.png" alt="" class="wp-image-14096" srcset="https://virtuallyfun.com/wp-content/uploads/2024/03/sna-network-diagram-1024x469.png 1024w, https://virtuallyfun.com/wp-content/uploads/2024/03/sna-network-diagram-300x137.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/03/sna-network-diagram-768x352.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/03/sna-network-diagram-500x229.png 500w, https://virtuallyfun.com/wp-content/uploads/2024/03/sna-network-diagram.png 1046w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">simple network diagram</figcaption></figure>
</div>


<p class="wp-block-paragraph">Trying to put it into words, the Windows 3.1 VM hosts Extra! 4.2 talking SNA to the Loop_SNA virtual Ethernet interface, which then is connected to the virtual cisco router, which also has a TCP/IP enabled interface, Loop_TCPIP, which the host Windows 10 machine can talk to, allowing it to communicate with the Hercules VM which I had compiled to run as a native Win64 EXE for Windows.</p>



<p class="wp-block-paragraph">Basically, at it&#8217;s heart, this is the important part of the cisco config:</p>



<pre class="wp-block-code"><code>source-bridge ring-group 1
dlsw local-peer peer-id 192.168.146.5
dlsw remote-peer 0 tcp 192.168.146.1
dlsw mac-addr 4000.1020.0100 remote-peer ip-address 192.168.146.1
dlsw udp-disable
dlsw transparent switch-support

interface FastEthernet0/0
 ip address 192.168.146.5 255.255.255.0
 no shut

interface Ethernet1/0
 dlsw transparent redundancy-enable 5555.5555.5000
 dlsw transparent map local-mac 4000.1020.0100  remote-mac 4000.0999.0100
 no shut</code></pre>



<p class="wp-block-paragraph">I used a &#8216;clean&#8217; VMware virtual machine to host this test, just to show how to do the setup from scratch, taking nothing for granted.</p>



<p class="wp-block-paragraph">Hopefully this explains it a bit better for those who wanted to know, along with the video to show the high level of it working.  Not sure anyone would want to watch me stumble through setting up MVS, along with going into more detail on the cisco config &amp; workstation config.</p>



<p class="wp-block-paragraph">As always, thanks to <a href="https://www.9track.net/hercules/dlsw/" target="_blank" rel="noreferrer noopener">9track</a> for providing the patches, and showing that this whole setup was possible!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2024/03/11/setting-up-sna-networking-with-hercules-using-dlsw/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>BSD on Windows: Things I wish I knew existed</title>
		<link>https://virtuallyfun.com/2023/12/08/bsd-on-windows-things-i-wish-i-knew-existed/</link>
					<comments>https://virtuallyfun.com/2023/12/08/bsd-on-windows-things-i-wish-i-knew-existed/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Fri, 08 Dec 2023 23:49:52 +0000</pubDate>
				<category><![CDATA[80386]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[i386]]></category>
		<category><![CDATA[microsoft windows]]></category>
		<category><![CDATA[Win16]]></category>
		<category><![CDATA[Windows 3.1]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=13531</guid>

					<description><![CDATA[It&#8217;s 1995 and I&#8217;ve been nearly two years in the professional workspace. OS/2 is the dominant workstation product, Netware servers rule the world, and the year of the Linux desktop is going to happen any moment now. If you weren&#8217;t &#8230; <a href="https://virtuallyfun.com/2023/12/08/bsd-on-windows-things-i-wish-i-knew-existed/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-landing.png"><img decoding="async" width="1024" height="540" src="https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-landing-1024x540.png" alt="" class="wp-image-13522" srcset="https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-landing-1024x540.png 1024w, https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-landing-300x158.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-landing-768x405.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-landing-1536x809.png 1536w, https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-landing-500x264.png 500w, https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-landing.png 1685w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Yahoo Auctions Japan</figcaption></figure>



<p class="wp-block-paragraph">It&#8217;s 1995 and I&#8217;ve been nearly two years in the professional workspace.  OS/2 is the dominant workstation product, Netware servers rule the world, and the year of the Linux desktop is going to happen any moment now.  If you weren&#8217;t running OS/2, you were probably running Windows 3.1, only very few people were using that Linux thing.  What would have been the prefect OS at the time would have been NT with a competent POSIX subsystem, but since we were denied that, enter Hiroshi Oota with BSD on Windows.</p>



<p class="wp-block-paragraph">It was a late night browsing yahoo auctions Japan as one does, laughing at the absurd Famicom/Super Famicom games, and I went ahead and looked for BSD CD-ROMS, where I first came across BSD on Windows.  And then I&#8217;d forgotten about it and went to work on some Darwin projects.</p>



<p class="wp-block-paragraph">Fast forward 3 weeks, and <a href="https://archive.org/details/@vic485">vic485</a> had bought it, had it shipped, and uploaded on <a href="https://archive.org/details/bsd-on-windows">archive.org</a>.  So a big super thanks to vic485 for making this all possible!</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/12/winmem32-required-for-bow.png"><img loading="lazy" decoding="async" width="449" height="163" src="https://virtuallyfun.com/wp-content/uploads/2023/12/winmem32-required-for-bow.png" alt="" class="wp-image-13538" srcset="https://virtuallyfun.com/wp-content/uploads/2023/12/winmem32-required-for-bow.png 449w, https://virtuallyfun.com/wp-content/uploads/2023/12/winmem32-required-for-bow-300x109.png 300w" sizes="auto, (max-width: 449px) 100vw, 449px" /></a></figure>
</div>


<p class="wp-block-paragraph">So what is it?  It&#8217;s not quite BSD, its a bunch of 16bit DLL&#8217;s that broke the kernel down into subsystems, that each rely on winmem32.dll to give access to flat/32bit address space.  BSD on Windows (BOW) being a hybrid 16/32bit app is originally for Windows 3.1, with the later 1.5 update for Windows 95, which includes support for long filenames. I&#8217;m not sure if it&#8217;ll run on Windows NT or OS/2, as I don&#8217;t think </p>



<p class="wp-block-paragraph">So what do you get?</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-1-1024x1024.jpg" alt="" class="wp-image-13528" srcset="https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-1-1024x1024.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-1-300x300.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-1-150x150.jpg 150w, https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-1-768x768.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2023/12/bsd-on-windows-auction-1.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">The key media contents are the install floppy and the CD-ROM.  Yes the setup program IS only on the floppy.  Hope you get that disk image.  I&#8217;m unsure what the manual is like, other than of course it is in Japanese.</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2023/12/bow-compiling-hack.png"><img loading="lazy" decoding="async" width="1024" height="624" src="https://virtuallyfun.com/wp-content/uploads/2023/12/bow-compiling-hack-1024x624.png" alt="" class="wp-image-13537" srcset="https://virtuallyfun.com/wp-content/uploads/2023/12/bow-compiling-hack-1024x624.png 1024w, https://virtuallyfun.com/wp-content/uploads/2023/12/bow-compiling-hack-300x183.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/12/bow-compiling-hack-768x468.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/12/bow-compiling-hack-493x300.png 493w, https://virtuallyfun.com/wp-content/uploads/2023/12/bow-compiling-hack.png 1202w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">compiling</figcaption></figure>



<p class="wp-block-paragraph">It&#8217;s very much a single user mode BSD like environment complete with vi/gcc/csh/perl just to name a few.  I&#8217;ve been able to test job control, and building some simple programs like <a href="https://archive.org/details/hack-103-for-bow">Hack 1.03</a>.  I found a few issues however.</p>



<p class="wp-block-paragraph">I haven&#8217;t tested enough with FreeBSD 1/2 but I can verify that from my &#8216;<a href="https://sourceforge.net/projects/linux011/">Ancient Linux on Windows</a>&#8216; packages, the object format is the same, which is that early era when everything was a.out, although all different the reliance on GNU GAS &amp; LD did make the object format the same.  And it was nice to compile a hello world from my Linux cross compiler, link it on BOW, and get a running executable.</p>



<p class="wp-block-paragraph">The memory is weird, in that you can add hundreds of megabytes to Windows and BOW will always run exhausted.  In the bow.ini file you can set the heap for each program, and I found out from some silly trial and error that the maximum heap you can effectively give is 13 megabytes.  It seems that winmem32 has a single chunk of memory where all processes run out of, hence the sub 16mb ram zone.  Maybe there is a way to allocate it, but I&#8217;m unsure, maybe it&#8217;s in the book.  CC1 was frequently having issues, so setting it&#8217;s heap to 13M sure helped, the linker &#8216;ld&#8217; of course was running out of memory as well so setting it to 8M got me linking.</p>



<p class="wp-block-paragraph">Filenames, especially on Windows 3.1 are a huge problem.  All the LFN TSR&#8217;s I tried to load just resulted in a full crash.  I had to point the linker to the CD-ROM live filesystem, which maybe would be tedious on a real machine, but under emulation it&#8217;s fine.</p>



<p class="wp-block-paragraph">BOW does NOT like Qemu. At all.  It won&#8217;t under otvdm either.  I suspect NT is a no go but I haven&#8217;t tried.  Oddly enough it&#8217;s not a timing issue, as it does run under VMware.  There is an advantage to running it under Windows 95, is that it supports long filenames.  86Box works as well, I even was using the Pentium II Xeon at 400Mhz and that ran fine.</p>



<p class="wp-block-paragraph">Probably the most annoying and silly thing is that the GCC C compiler doesn&#8217;t have C++ style comments turned on.  Not being able to use &#8216;//&#8217; is quite annoying.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1920" height="2560" src="https://virtuallyfun.com/wp-content/uploads/2023/12/IMG_9741-scaled.jpg" alt="" class="wp-image-13549" srcset="https://virtuallyfun.com/wp-content/uploads/2023/12/IMG_9741-scaled.jpg 1920w, https://virtuallyfun.com/wp-content/uploads/2023/12/IMG_9741-225x300.jpg 225w, https://virtuallyfun.com/wp-content/uploads/2023/12/IMG_9741-768x1024.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2023/12/IMG_9741-1152x1536.jpg 1152w, https://virtuallyfun.com/wp-content/uploads/2023/12/IMG_9741-1536x2048.jpg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /><figcaption class="wp-element-caption">Hack 1.03 running on my PS/2 model 80</figcaption></figure>



<p class="wp-block-paragraph"><a href="https://github.com/neozeed/hack-1.03">Hack</a> ran fine on my 386, which was a pleasant surprise!. It was really cool to have Word+Excel and Hack running at the same time.  </p>



<p class="wp-block-paragraph">Had I known about this, it would have been an incredible bridge product.  Not to mention cross compiling to even Win32, or Linux.  Not to mention at the time being able to run BSD with no real pain, just install and go</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="745" src="https://virtuallyfun.com/wp-content/uploads/2023/12/bow-irc-connection-1024x745.png" alt="" class="wp-image-13543" srcset="https://virtuallyfun.com/wp-content/uploads/2023/12/bow-irc-connection-1024x745.png 1024w, https://virtuallyfun.com/wp-content/uploads/2023/12/bow-irc-connection-300x218.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/12/bow-irc-connection-768x559.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/12/bow-irc-connection-412x300.png 412w, https://virtuallyfun.com/wp-content/uploads/2023/12/bow-irc-connection.png 1208w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">simple IRC test</figcaption></figure>



<p class="wp-block-paragraph">There is generic TCP/IP Winsock support in BOW 1.5 as it simply calls winsock.  This also includes the ability to run daemons, however limitations in BOW are quickly exposed, such as missing setuid/setgid sno there is no ability to impersonate lower privileged users.  MMAP stuff also doesn&#8217;t seem to work, although I was able to build a super simple port of Apache 1.3.1 to BSD on Windows (BOW).&nbsp;</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="745" src="https://virtuallyfun.com/wp-content/uploads/2023/12/Apache-on-BOW-1024x745.png" alt="" class="wp-image-13545" srcset="https://virtuallyfun.com/wp-content/uploads/2023/12/Apache-on-BOW-1024x745.png 1024w, https://virtuallyfun.com/wp-content/uploads/2023/12/Apache-on-BOW-300x218.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/12/Apache-on-BOW-768x559.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/12/Apache-on-BOW-412x300.png 412w, https://virtuallyfun.com/wp-content/uploads/2023/12/Apache-on-BOW.png 1208w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">While BOW may appear to be very BSD like, there is a lack of a the mmap Apache needs, along with user mapping &amp; impersonation.&nbsp; I ended up using the EMX &#8211; OS/2 system code, since it&#8217;s very POSIX like without relying on the Unix like OS actually working.</p>



<p class="wp-block-paragraph">I&#8217;ve been able to serve pages to myself, however BOW crashing out many emulators and hypervisors kind of stops me from putting it on the internet.  BOW enthusiasts can <a href="https://archive.org/details/apache131_for_BOW">download it from archive.org</a></p>



<p class="wp-block-paragraph">Today, there is really no point to BOW, it&#8217;s an interesting oddity, but back in the day, for a jr network administrator being able to run the Unix version of the snmp tools, even if it&#8217;s only client side would have been great.  If tftpd could be built to run this would have been beyond amazing, as you not only get BSD, but full Windows apps at the same time, much like MachTen.</p>



<p class="wp-block-paragraph">It&#8217;s a shame I never knew this was a thing, I certainly would have been evangelizing BOW!  Who knows what other treasures are in the parallel societies of Japan/Asia/Europe?</p>



<p class="wp-block-paragraph">**UPDATE</p>



<p class="wp-block-paragraph">Ive been able to <a href="https://virtuallyfun.com/2023/12/12/cross-compiling-to-bsd-on-windows-bow-from-win32/">cross compile from Windows to BOW using an old 386BSD 0.1 cross tool chain. You can read about it here: Cross compiling to BSD on Windows (BOW) from Win32</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2023/12/08/bsd-on-windows-things-i-wish-i-knew-existed/feed/</wfw:commentRss>
			<slash:comments>12</slash:comments>
		
		
			</item>
		<item>
		<title>As reported a few days ago the Windows patches for FreeDOS were committed!..</title>
		<link>https://virtuallyfun.com/2021/09/13/as-reported-a-few-days-ago-the-windows-patches-for-freedos-were-committed/</link>
					<comments>https://virtuallyfun.com/2021/09/13/as-reported-a-few-days-ago-the-windows-patches-for-freedos-were-committed/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 13 Sep 2021 11:39:23 +0000</pubDate>
				<category><![CDATA[FreeDOS]]></category>
		<category><![CDATA[Watcom C++]]></category>
		<category><![CDATA[Win16]]></category>
		<category><![CDATA[Windows 3.1]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11324</guid>

					<description><![CDATA[a couple of weeks ago. This will be the perfect follow up to the aptly named previous post FreeDOS running Windows 3.1. I&#8217;ve haven&#8217;t built the FreeDOS kernel in a while and I have to say it&#8217;s pretty easy. I&#8217;m &#8230; <a href="https://virtuallyfun.com/2021/09/13/as-reported-a-few-days-ago-the-windows-patches-for-freedos-were-committed/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><a href="https://github.com/FDOS/kernel/commit/9186e6c5ed1ab58bf1dc0497bacc352d3d758703" target="_blank" rel="noreferrer noopener">a couple of weeks ago</a>.</p>



<p class="wp-block-paragraph">This will be the perfect follow up to the aptly named previous post <a href="/wordpress/2021/07/27/freedos-running-windows-3-1/" data-type="URL" data-id="/wordpress/2021/07/27/freedos-running-windows-3-1/">FreeDOS running Windows 3.1</a>.</p>



<p class="wp-block-paragraph">I&#8217;ve haven&#8217;t built the<a href="https://github.com/FDOS/kernel" target="_blank" rel="noreferrer noopener"> FreeDOS kernel</a> in a while and I have to say it&#8217;s pretty easy.  I&#8217;m taking the easy way out here, so I&#8217;m using <a href="https://github.com/open-watcom/open-watcom-v2/releases" target="_blank" rel="noreferrer noopener">OpenWatcom v2</a>, because I figured the tools should be both at least Win32/Win64 and halfway up to date.  Don&#8217;t get me wrong, <a href="http://takeda-toshiya.my.coocan.jp/msdos/index.html" target="_blank" rel="noreferrer noopener">MS-DOS Player is a fantastic ap</a>p but I don&#8217;t want to lean on it for 100% of the build.</p>



<p class="wp-block-paragraph">I configured it for something in my mind generic with the following flags:</p>



<pre class="wp-block-code"><code>build fat16 wc 86 win</code></pre>



<p class="wp-block-paragraph">Naturally it had issues with 3 executables, two of which are generated as the project builds, and I just did some silliness to have MS-DOS player make &#8216;native&#8217; versions:</p>



<pre class="wp-block-code"><code>patchobj.com: patchobj.c
        $(CLT) $(CFLAGS) patchobj.c
        msdos -cobj.exe patchobj.com
        -rm -f patchobj.com
        -ren obj.exe patchobj.exe

exeflat.exe: exeflat.c ../hdr/exe.h
        $(CLC) $(CFLAGS) exeflat.c
        msdos -cxeflat.exe exeflat.exe
        -rm -f exeflat.exe
        -ren xeflat.exe exeflat.exe</code></pre>



<p class="wp-block-paragraph">The same went for sys\bin2c.exe but it&#8217;s not rebuilt every time so it doesn&#8217;t matter.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="722" height="427" src="https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-compiled-kernel-build-2043.png" alt="" class="wp-image-11325" srcset="https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-compiled-kernel-build-2043.png 722w, https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-compiled-kernel-build-2043-300x177.png 300w, https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-compiled-kernel-build-2043-500x296.png 500w" sizes="auto, (max-width: 722px) 100vw, 722px" /></figure>



<p class="wp-block-paragraph">And with that in hand it boots. YAY</p>



<p class="wp-block-paragraph">And now for some absolutely unfair testing.  Before anyone complains, yes this is absolutely unfair I mean hell if you bought Windows 3.1 in 2021, I guess get OS/2 or just keep digging at the yard sale and get MS-DOS.  Anyways here we go:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="722" height="427" src="https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-with-no-dosmode-polling.png" alt="" class="wp-image-11326" srcset="https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-with-no-dosmode-polling.png 722w, https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-with-no-dosmode-polling-300x177.png 300w, https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-with-no-dosmode-polling-500x296.png 500w" sizes="auto, (max-width: 722px) 100vw, 722px" /><figcaption>Whoopsies!</figcaption></figure>



<p class="wp-block-paragraph">Turning off InDOSPolling gives this lovely crash.  Naturally then it&#8217;s still required.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="642" height="507" src="https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-build-2043-battle-tech-lockup.png" alt="" class="wp-image-11327" srcset="https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-build-2043-battle-tech-lockup.png 642w, https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-build-2043-battle-tech-lockup-300x237.png 300w, https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-build-2043-battle-tech-lockup-380x300.png 380w" sizes="auto, (max-width: 642px) 100vw, 642px" /></figure>



<p class="wp-block-paragraph">My go-to test, Running Infocom/FASA BattleTech Crescent Hawk&#8217;s Inception in CGA mode in a Window hard locks the VM before anything is drawn to screen.  Bummer.  And that is pretty much the story of FreeDOS under Windows on this build.  Again it&#8217;s 2021 who even needs Microsoft VDMs?</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="642" height="507" src="https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-build-2043-win32s-fail.png" alt="" class="wp-image-11328" srcset="https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-build-2043-win32s-fail.png 642w, https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-build-2043-win32s-fail-300x237.png 300w, https://virtuallyfun.com/wp-content/uploads/2021/09/freedos-build-2043-win32s-fail-380x300.png 380w" sizes="auto, (max-width: 642px) 100vw, 642px" /></figure>



<p class="wp-block-paragraph">That said there must be some weird hook in MS-DOS that Win32s relies on.  Just like before Win32s fails to run.</p>



<p class="wp-block-paragraph">The holy trinity of &#8216;bad&#8217; Windows 3.0 games, Sim City, Sim Earth and Sim Life work just as they did in the prior version, with Sim Earth instantly quitting.  Not sure what is going on there.  It does launch with virtual memory enabled, but then proceeds to corrupt all the file handles and Program Manager loses it&#8217;s mind.  In the productivity front Excel v3, and Microsoft Word v2 run fine. Yay!</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="642" height="481" src="https://virtuallyfun.com/wp-content/uploads/2021/09/Freedos-build-2043-running-all-the-win16.png" alt="" class="wp-image-11329" srcset="https://virtuallyfun.com/wp-content/uploads/2021/09/Freedos-build-2043-running-all-the-win16.png 642w, https://virtuallyfun.com/wp-content/uploads/2021/09/Freedos-build-2043-running-all-the-win16-300x225.png 300w, https://virtuallyfun.com/wp-content/uploads/2021/09/Freedos-build-2043-running-all-the-win16-400x300.png 400w" sizes="auto, (max-width: 642px) 100vw, 642px" /><figcaption>Windows 3.1 is serious business!</figcaption></figure></div>



<p class="wp-block-paragraph">So in conclusion doing Win16 things in Windows 3.1 is seemingly fine.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2021/09/13/as-reported-a-few-days-ago-the-windows-patches-for-freedos-were-committed/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>FreeDOS running Windows 3.1</title>
		<link>https://virtuallyfun.com/2021/07/27/freedos-running-windows-3-1/</link>
					<comments>https://virtuallyfun.com/2021/07/27/freedos-running-windows-3-1/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Tue, 27 Jul 2021 15:29:24 +0000</pubDate>
				<category><![CDATA[80386]]></category>
		<category><![CDATA[FreeDOS]]></category>
		<category><![CDATA[i386]]></category>
		<category><![CDATA[Windows 3.1]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11210</guid>

					<description><![CDATA[Yes, really it&#8217;s FreeDOS running Windows 386 Enhanced mode. For real. perditionc posted this over on the freedos list: Hello everyone, So it took me a bit longer than I planned, but below is the information needed to reproduce and &#8230; <a href="https://virtuallyfun.com/2021/07/27/freedos-running-windows-3-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="642" height="507" src="https://virtuallyfun.com/wp-content/uploads/2021/07/freedos-in-386-enhanced-mode.png" alt="" class="wp-image-11211" srcset="https://virtuallyfun.com/wp-content/uploads/2021/07/freedos-in-386-enhanced-mode.png 642w, https://virtuallyfun.com/wp-content/uploads/2021/07/freedos-in-386-enhanced-mode-300x237.png 300w, https://virtuallyfun.com/wp-content/uploads/2021/07/freedos-in-386-enhanced-mode-380x300.png 380w" sizes="auto, (max-width: 642px) 100vw, 642px" /></figure>



<p class="wp-block-paragraph">Yes, really it&#8217;s FreeDOS running Windows 386 Enhanced mode.  For real.</p>



<p class="wp-block-paragraph">perditionc posted this over on the <a href="https://sourceforge.net/p/freedos/mailman/message/37326256/">freedos list</a>:</p>



<pre class="wp-block-preformatted">Hello everyone,

So it took me a bit longer than I planned, but below is the
information needed to reproduce and links to sources.  (Be kind, I
know that the code needs more work.)

To see it in action, from installing FreeDOS &amp; Windows to running I
posted an updated the video (about 4 minutes, sped up some stuff and
cut some scenes down but its originally a single recording from first
boot until the end)</pre>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Installing FreeDOS core files and running Windows 3.1 in Enhanced mode" width="584" height="438" src="https://www.youtube.com/embed/4o7TR3Oo6y0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<pre class="wp-block-preformatted">Steps:<br>download boot disk - <a href="https://web.archive.org/web/20210804102615/http://server2.fdos.org/tests/fdos2043w.img" target="_blank" rel="noreferrer noopener">http://server2.fdos.org/tests/fdos2043w.img</a><br>contains:<br>    kernel *** requires patches, see below for source<br>    command.com (FreeCOM)<br>    fdisk<br>    format<br>    sys<br>    share<br>    edit<br><br>have available Windows 3.1 install media (*** not provided ***)<br><br>create a virtual machine (or have a compatible real computer)<br>example has a 200MB hard drive with 32MB of memory and otherwise<br>virtual box's Win 3.1 default settings.<br><br>boot FreeDOS floppy<br>fdisk<br>    create a primary partition, don't use FAT32, use all available<br>space, ensure active<br>reboot so kernel see new partition<br>format<br>    format the C: drive and set label as desired<br>fdisk /MBR<br>    install master boot record so hard drive is bootable<br>sys C:<br>    install system boot record and files to C: partition<br>    copies kernel.sys and command.com to C:<br>copy share.com c:<br>copy EDIT.* C:<br>    so have available after install Windows<br>Optional: take out (disconnect virtual) floppy from drive and reboot,<br>ensure hard drive boots<br>Optional: create a CONFIG.SYS and AUTOEXEC.BAT so not prompted with<br>date and time<br>Install Windows<br>    put in first Windows floppy and run SETUP<br>    follow prompts until complete, allow it to modify CONFIG.SYS and<br>AUTOEXEC.BAT<br>Optional: edit AUTOEXEC.BAT to load SHARE.COM<br>    (if you do not do this step, you must remember to do so before<br>starting Windows)<br>Edit C:\WINDOWS\SYSTEM.INI   (adjust based on actual installation and<br>editor of choice)<br>    find [386Enh] section, at bottom add line:<br>    InDOSPolling=TRUE<br>    save file<br>win<br>    start Windows, will be in Enhanced mode if supported</pre>



<pre class="wp-block-preformatted">Source:
Kernel patches - <a href="http://server2.fdos.org/tests/kernel-win3-patch.diff" target="_blank" rel="noreferrer noopener">http://server2.fdos.org/tests/kernel-win3-patch.diff</a>
rest of sources (kernel, FreeCOM, format, fdisk, sys, share, edit) -
<a href="https://github.com/fdos">https://github.com/fdos</a>

Credits:
Bart, Tom, and others who have improved the FreeDOS kernel to where it is today
All the other FreeDOS developers, especially for FreeCOM, FDISK,
FORMAT, and EDIT
And Eric who's original research helped with the initial
implementation of the necessary patches a decade ago
(<a href="https://web.archive.org/web/20061001224249/http://www.coli.uni-saarland.de/~eric/stuff/soft/specials/win3.x-dosext-freedos-notes.txt" target="_blank" rel="noreferrer noopener">https://web.archive.org/web/20061001224249/http://www.coli.uni-saarland.de/~eric/stuff/soft/specials/win3.x-dosext-freedos-notes.txt</a>)

I will be working on improving the code, specifically the critical
section handling and hopefully remove the need for the InDOSPolling
flag being set as well.

Enjoy,
Jeremy</pre>



<p class="wp-block-paragraph">And sure enough I was able to reproduce Windows 3.1 from the binary.  I haven&#8217;t looked at patching/building yet.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="642" height="507" src="https://virtuallyfun.com/wp-content/uploads/2021/07/freedos-in-a-window.png" alt="" class="wp-image-11212" srcset="https://virtuallyfun.com/wp-content/uploads/2021/07/freedos-in-a-window.png 642w, https://virtuallyfun.com/wp-content/uploads/2021/07/freedos-in-a-window-300x237.png 300w, https://virtuallyfun.com/wp-content/uploads/2021/07/freedos-in-a-window-380x300.png 380w" sizes="auto, (max-width: 642px) 100vw, 642px" /></figure>



<p class="wp-block-paragraph">Turning off virtual memory let&#8217;s FreeDos run in a Window!</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="642" height="507" src="https://virtuallyfun.com/wp-content/uploads/2021/07/freedos-running-battletech.png" alt="" class="wp-image-11213" srcset="https://virtuallyfun.com/wp-content/uploads/2021/07/freedos-running-battletech.png 642w, https://virtuallyfun.com/wp-content/uploads/2021/07/freedos-running-battletech-300x237.png 300w, https://virtuallyfun.com/wp-content/uploads/2021/07/freedos-running-battletech-380x300.png 380w" sizes="auto, (max-width: 642px) 100vw, 642px" /></figure>



<p class="wp-block-paragraph">Even more amazing to me BattleTech 3025 can run CGA mode in a Window too!</p>



<p class="wp-block-paragraph">I should add that VMWare player didn&#8217;t work, nor did later versions of Qemu either.  I had much better luck with my <a rel="noreferrer noopener" href="https://sourceforge.net/projects/qemu090b/" target="_blank">mutated Qemu 0.90 fork thing</a>.  ISA Cirrus card for sure!</p>



<p class="wp-block-paragraph">Being able to run Windows 3.1 in 386 Enhanced mode has been one of those holy grails of compatibility.  It&#8217;s great to see this in action!</p>



<p class="wp-block-paragraph">I should add that Windows/386 and Windows 3.0 don&#8217;t work. 386 needs some versioning set, and 3.0 is convinced that the memory is too fragmented or that C: is really A:.  Also Win32s doesn&#8217;t work either, but still Sim City, Excel and Word run fine!</p>



<p class="wp-block-paragraph">As a follow up, 3.11 for workgroups or not doesn&#8217;t work either.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2021/07/27/freedos-running-windows-3-1/feed/</wfw:commentRss>
			<slash:comments>45</slash:comments>
		
		
			</item>
		<item>
		<title>Fun with Caldera WABI</title>
		<link>https://virtuallyfun.com/2020/11/11/fun-with-caldera-wabi/</link>
					<comments>https://virtuallyfun.com/2020/11/11/fun-with-caldera-wabi/#comments</comments>
		
		<dc:creator><![CDATA[tenox]]></dc:creator>
		<pubDate>Wed, 11 Nov 2020 14:03:28 +0000</pubDate>
				<category><![CDATA[80386]]></category>
		<category><![CDATA[guest post]]></category>
		<category><![CDATA[i386]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[microsoft windows]]></category>
		<category><![CDATA[Windows 3.1]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=10621</guid>

					<description><![CDATA[(This is a guest post by Antoni Sawicki / Tenox) In the previous post about SCO Merge I briefly mentioned WABI, which is a Windows ABI emulator for Unix. Initially released by Sun Microsystems, it&#8217;s believed that it came with &#8230; <a href="https://virtuallyfun.com/2020/11/11/fun-with-caldera-wabi/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>(This is a guest post by Antoni Sawicki / Tenox)</em></p>



<p class="wp-block-paragraph">In the previous post about <a href="https://virtuallyfun.com/wordpress/2020/11/03/fun-with-openserver-and-merge/">SCO Merge</a> I briefly mentioned <a href="https://en.wikipedia.org/wiki/Wabi_(software)"><strong>WABI</strong></a>, which is a Windows ABI emulator for Unix. Initially released by Sun Microsystems, it&#8217;s believed that it came with acquisition of Interactive Systems Corp (ISC) and <a href="https://virtuallyfun.com/wordpress/2010/02/09/fun-with-interactive-unix/">Interactive UNIX</a>. It was available for SPARC, x86 and PowerPC Solaris as well as IBM AIX. Around 1997 it was released for x86 Linux by <a href="https://virtuallyfun.com/wordpress/2013/03/27/caldera-open-linux/">Caldera</a>. This article will focus on Caldera&#8217;s version specifically.</p>



<p class="wp-block-paragraph">Although entirely possible to install WABI on another RPM based distribution such as Red Hat, I&#8217;m a purist and wanted to try it on <a href="https://virtuallyfun.com/wordpress/2013/03/27/caldera-open-linux/">Caldera Open Linux</a>. The install is pretty straightforward you mount the <a href="http://tenox.pdp-11.ru/os/linux/caldera/wabi22b.iso">iso file</a> and run install script. In a next step you need to install an update to version 2.2D. This is done by replacing <em><code>/opt/wabi/bin/wabiprog</code></em> with extracted version of <a href="http://tenox.pdp-11.ru/os/linux/caldera/wabiprog-2.2D.gz">this file</a>. Thanks to readers of this blog post for sharing these.</p>



<p class="wp-block-paragraph">When launched for the first time, you will be prompted to provide copy of Windows 3.1. This the main difference with <a href="https://en.wikipedia.org/wiki/Wine_(software)">WINE</a> which specifically does not require copy of windows to run apps. I have noticed that WABI is rather picky about lower vs uppercase when installing software. There is an utility called <em><code>wabimakelower</code></em> to help there. You can also add an icon to one of Caldera Linux / Looking Glass program groups. </p>



<p class="wp-block-paragraph">Once you run it, it&#8217;s Windows 3.1 as usual:</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2020/11/caldera-wabi.png"><img loading="lazy" decoding="async" width="1024" height="854" src="https://virtuallyfun.com/wp-content/uploads/2020/11/caldera-wabi-1024x854.png" alt="" class="wp-image-10623" srcset="https://virtuallyfun.com/wp-content/uploads/2020/11/caldera-wabi-1024x854.png 1024w, https://virtuallyfun.com/wp-content/uploads/2020/11/caldera-wabi-300x250.png 300w, https://virtuallyfun.com/wp-content/uploads/2020/11/caldera-wabi-768x641.png 768w, https://virtuallyfun.com/wp-content/uploads/2020/11/caldera-wabi-360x300.png 360w, https://virtuallyfun.com/wp-content/uploads/2020/11/caldera-wabi.png 1285w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">WABI was designed for running productivity apps such as Office:</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-word.png"><img loading="lazy" decoding="async" width="1024" height="874" src="https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-word-1024x874.png" alt="" class="wp-image-10624" srcset="https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-word-1024x874.png 1024w, https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-word-300x256.png 300w, https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-word-768x655.png 768w, https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-word-352x300.png 352w, https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-word.png 1282w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">You can even run Visual Studio:</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-msvc.png"><img loading="lazy" decoding="async" width="1024" height="874" src="https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-msvc-1024x874.png" alt="" class="wp-image-10625" srcset="https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-msvc-1024x874.png 1024w, https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-msvc-300x256.png 300w, https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-msvc-768x655.png 768w, https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-msvc-352x300.png 352w, https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-msvc.png 1282w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">Curiously WABI is not a MS-DOS emulator. In order to run DOS apps you need to install such and configure it in WABI Control Panel:</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-dos.png"><img loading="lazy" decoding="async" width="1024" height="874" src="https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-dos-1024x874.png" alt="" class="wp-image-10626" srcset="https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-dos-1024x874.png 1024w, https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-dos-300x256.png 300w, https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-dos-768x655.png 768w, https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-dos-352x300.png 352w, https://virtuallyfun.com/wp-content/uploads/2020/11/wabi-dos.png 1282w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">For the lazy, a readily preinstalled version is available as <a href="http://tenox.pdp-11.ru/os/linux/caldera/Caldera13.ova" data-type="URL" data-id="http://tenox.pdp-11.ru/os/linux/caldera/Caldera13.ova">OVA</a> and <a href="http://tenox.pdp-11.ru/os/linux/caldera/Caldera13-86Box.rar" data-type="URL" data-id="http://tenox.pdp-11.ru/os/linux/caldera/Caldera13-86Box.rar">86box</a>. Root password is &#8220;caldera&#8221;.</p>



<p class="wp-block-paragraph">There also is a <a href="http://tenox.pdp-11.ru/os/linux/caldera/wabi_linux_user_guide.pdf" data-type="URL" data-id="http://tenox.pdp-11.ru/os/linux/caldera/wabi_linux_user_guide.pdf">User Guide in PDF</a>.</p>



<p class="wp-block-paragraph">Have Fun with Virtualization!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2020/11/11/fun-with-caldera-wabi/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Adding DOSBox&#8217;s MPU401 to Qemu 0.90</title>
		<link>https://virtuallyfun.com/2019/03/14/adding-dosboxs-mpu401-to-qemu-0-90/</link>
					<comments>https://virtuallyfun.com/2019/03/14/adding-dosboxs-mpu401-to-qemu-0-90/#respond</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Thu, 14 Mar 2019 02:10:15 +0000</pubDate>
				<category><![CDATA[doom]]></category>
		<category><![CDATA[DOSBox]]></category>
		<category><![CDATA[MIDI]]></category>
		<category><![CDATA[QEMU]]></category>
		<category><![CDATA[Win32]]></category>
		<category><![CDATA[Win32s]]></category>
		<category><![CDATA[Windows 3.1]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=9275</guid>

					<description><![CDATA[I thought this may be something cool, if not kind of pointless. Anyways the MPU401 UART can be run like a traditional serial port with an IRQ, in intelligent mode, or just as a &#8216;dumb&#8217; device you can just bit &#8230; <a href="https://virtuallyfun.com/2019/03/14/adding-dosboxs-mpu401-to-qemu-0-90/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I thought this may be something cool, if not kind of pointless.  Anyways the MPU401 UART can be run like a traditional serial port with an IRQ, in intelligent mode, or just as a &#8216;dumb&#8217; device you can just bit bang to talk to MIDI devices.  So while playing with DOSBox I thought it&#8217;d be fun to take it&#8217;s emulation and plug it into Qemu.</p>



<iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/Vy2g_x2ALks" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>



<p class="wp-block-paragraph">And this is the end result.</p>



<p class="wp-block-paragraph">It&#8217;s far from perfect, when it works it does tend to work well, although it fails to work with things like Return to Zork, but it does work with DMX&#8217;s sound code in DooM and the MPU401 driver for Windows 3.1</p>



<p class="wp-block-paragraph">While doing this I was originally struggling with mapping the IO ports. Qemu has some functions to map in the memory model to assign a function that will trap read/write space.  In this case base is 0x330 the base of the MPU401 device.  </p>



<code>register_ioport_write(base, 8, 1, mpu401_ioport_write, s);     register_ioport_read(base, 8, 1, mpu401_ioport_read, s);</code>



<p class="wp-block-paragraph"> I was thinking that the port 0x331 needed to be mapped in the same way, but it turns out after looking through more of the source, it&#8217;s actually a word aligned access.  So in that case you can use a switch to see which port is actually being accessed.</p>



<code>static uint32_t mpu401_ioport_read(void *opaque, uint32_t addr) {
     switch(addr&amp;0xf)
     {
     case 0:
      return(MPU401_ReadData(addr,0)); break;
     case 1:
      return(MPU401_ReadStatus(addr,0)); break;
     default:
      return(0xff); break;
     }
  return(0xff);
}
</code>



<p class="wp-block-paragraph">Pretty simple, right?</p>



<p class="wp-block-paragraph">And from there it&#8217;s a matter of mapping the DOSBox MPU code, along with the Windows interface code.  Since I&#8217;m not using intelligent or IRQ mode, I just amputated the code where applicable.</p>



<p class="wp-block-paragraph">If anyone wants to look at what I did to merge into anything else (and probably do a better job!) it&#8217;s on sourceforge as <a href="https://sourceforge.net/p/qemu090b/code/ci/master/tree/hw/mpu401.c">mpu401.c</a>.</p>



<p class="wp-block-paragraph">Otherwise the binary is available on sourceforge:</p>



<a href="https://sourceforge.net/projects/qemu090b/files/latest/download"><img loading="lazy" decoding="async" alt="Download Qemu090b" src="https://a.fsdn.com/con/app/sf-download-button" width="276" height="48" srcset="https://a.fsdn.com/con/app/sf-download-button?button_size=2x 2x"></a>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2019/03/14/adding-dosboxs-mpu401-to-qemu-0-90/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MSDN from October 1994</title>
		<link>https://virtuallyfun.com/2018/08/20/msdn-from-october-1994/</link>
					<comments>https://virtuallyfun.com/2018/08/20/msdn-from-october-1994/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 20 Aug 2018 12:56:39 +0000</pubDate>
				<category><![CDATA[microsoft]]></category>
		<category><![CDATA[microsoft windows]]></category>
		<category><![CDATA[MS-DOS]]></category>
		<category><![CDATA[Win16]]></category>
		<category><![CDATA[Win32]]></category>
		<category><![CDATA[Windows 3.1]]></category>
		<category><![CDATA[Windows NT 3.1]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=8745</guid>

					<description><![CDATA[I picked this 20 disc set recently and ugh the cringe is just&#8230; insane.Â  And yes, that is Bill Nye&#8230; &#160; STUDS from Microsoft .(Video in MPEG-1/Audio MPEG-2 care ofÂ JSMpeg). I had this ages ago, although I couldn't remember if &#8230; <a href="https://virtuallyfun.com/2018/08/20/msdn-from-october-1994/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I picked this 20 disc set recently and ugh the cringe is just&#8230; insane.Â  And yes, <a href="https://blogs.msdn.microsoft.com/oldnewthing/20060214-13/?p=32293/">that is Bill Nye</a>&#8230;</p>



<div class="jsmpeg full-width" data-url="/videos/studs.ts">&nbsp;</div>
<script type="text/javascript" language="javascript">
if(!window.scriptHasRun) { window.scriptHasRun = true; document.write('<script type="text/javascript" language="javascript" src="/videos/jsmpeg.min.js"><\/script>')}
</script>



<p class="wp-block-paragraph" style="font-size:12px"><em>STUDS from <em>Microsoft </em>.</em><br/>(Video in MPEG-1/Audio MPEG-2 care ofÂ <a href="https://jsmpeg.com/">JSMpeg</a>).</p>



<p class="wp-block-paragraph" style="font-size:12px"></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1426" height="705" src="https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Insert-Cover-_reduced.jpg" alt="" class="wp-image-8746" srcset="https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Insert-Cover-_reduced.jpg 1426w, https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Insert-Cover-_reduced-300x148.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Insert-Cover-_reduced-768x380.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Insert-Cover-_reduced-1024x506.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Insert-Cover-_reduced-1200x593.jpg 1200w" sizes="auto, (max-width: 1426px) 100vw, 1426px" /></figure>



<p class="wp-block-paragraph">I had this ages ago, although I couldn't remember if the NT 3.5 SDK/DDK had shown up at this point, but it's only the <em>Japanese</em> version in this set.Â  Since I'm having such a PITA in tracking down a 3.5 set, and I'm not sitting on this, I may as well archive it.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="2912" height="2912" src="https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Disc-1-of-20.jpg" alt="" class="wp-image-8748" srcset="https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Disc-1-of-20.jpg 2912w, https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Disc-1-of-20-150x150.jpg 150w, https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Disc-1-of-20-300x300.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Disc-1-of-20-768x768.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Disc-1-of-20-1024x1024.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2018/08/MSDN-SDK-DDK-and-Operating-Systems-October-1994-Disc-1-of-20-1200x1200.jpg 1200w" sizes="auto, (max-width: 2912px) 100vw, 2912px" /><figcaption>Yes, I had to rip 20 of these!</figcaption></figure>



<p class="wp-block-paragraph">So you too can find the early Video for Windows, and all kinds of other things from the mid '90's on <a href="https://archive.org/details/MSDNOctober1994">archive.org</a>.</p>



<p class="wp-block-paragraph">Or Wallpapers like this 'puppy' from the Japanese version of Windows 3.1</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="640" height="480" src="https://virtuallyfun.com/wp-content/uploads/2018/08/PUPPY.jpg" alt="" class="wp-image-8754" srcset="https://virtuallyfun.com/wp-content/uploads/2018/08/PUPPY.jpg 640w, https://virtuallyfun.com/wp-content/uploads/2018/08/PUPPY-300x225.jpg 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure>



<p class="wp-block-paragraph"><a href="https://archive.org/details/MSDNOctober1994">https://archive.org/details/MSDNOctober1994</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2018/08/20/msdn-from-october-1994/feed/</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
			</item>
		<item>
		<title>WineVDM is improving at a dramatic rate</title>
		<link>https://virtuallyfun.com/2018/07/30/winevdm-is-improving-at-a-dramatic-rate/</link>
					<comments>https://virtuallyfun.com/2018/07/30/winevdm-is-improving-at-a-dramatic-rate/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 30 Jul 2018 06:09:59 +0000</pubDate>
				<category><![CDATA[80386]]></category>
		<category><![CDATA[syscall emulation]]></category>
		<category><![CDATA[Win16]]></category>
		<category><![CDATA[Win32]]></category>
		<category><![CDATA[Windows 3.0]]></category>
		<category><![CDATA[Windows 3.1]]></category>
		<category><![CDATA[Wine]]></category>
		<category><![CDATA[WineVDM]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=8631</guid>

					<description><![CDATA[It&#8217;s incredible how much it&#8217;s improved since I last touched on WineVDM, the port of Wine to run on Windows using the MS-DOS Player (and Mame 80386 emulation) at it&#8217;s heart. The latest source build&#160;WineVDM_2018_07_30b.7z&#160;is now capable of loading and &#8230; <a href="https://virtuallyfun.com/2018/07/30/winevdm-is-improving-at-a-dramatic-rate/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p><a href="https://virtuallyfun.com/wp-content/uploads/2018/07/SimCIty-for-Windows-1.0-in-WineVDM.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8632" src="https://virtuallyfun.com/wp-content/uploads/2018/07/SimCIty-for-Windows-1.0-in-WineVDM.png" alt="" width="806" height="590" srcset="https://virtuallyfun.com/wp-content/uploads/2018/07/SimCIty-for-Windows-1.0-in-WineVDM.png 806w, https://virtuallyfun.com/wp-content/uploads/2018/07/SimCIty-for-Windows-1.0-in-WineVDM-300x220.png 300w, https://virtuallyfun.com/wp-content/uploads/2018/07/SimCIty-for-Windows-1.0-in-WineVDM-768x562.png 768w" sizes="auto, (max-width: 806px) 100vw, 806px" /></a>It&#8217;s incredible how much it&#8217;s improved since I last touched on <a href="https://github.com/otya128/winevdm">WineVDM</a>, the port of Wine to run on Windows using the MS-DOS Player (and Mame 80386 emulation) at it&#8217;s heart.</p>
<p>The latest source build&nbsp;<a href="https://vpsland.superglobalmegacorp.com/install/WineVDM/WineVDM_2018_07_30b.7z">WineVDM_2018_07_30b.7z</a>&nbsp;is now capable of loading and running Sim City for Windows 1.0.</p>
<p>I found it best to install Windows 3.0 into DOSBox, and then your application.&nbsp; After the install I copy the application so the physical drive of the hosts matches where it was installed, and then unpack the 7z build archive into that directory.&nbsp; There is a &#8216;WINDOWS&#8217; directory and I xcopy the installed Windows directory into there so it has all the INI files, fonts and all that jazz.&nbsp; To make sure it doesn&#8217;t conflict I delete the following from Windows 3.0:</p>
<p style="padding-left: 30px;">del windows\system\*.drv<br />
del windows\system\*.exe<br />
del windows\system\*.mod<br />
del windows\system\WIN87EM.DLL</p>
<p>Since these files are most certainly going to be emulated by WineVDM.&nbsp; After that it&#8217;s time to run stuff!</p>
<p><div id="attachment_8633" style="width: 650px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2018/07/compiling-130405-lines-of-code-on-QuickC-for-Windows.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8633" class="size-full wp-image-8633" src="https://virtuallyfun.com/wp-content/uploads/2018/07/compiling-130405-lines-of-code-on-QuickC-for-Windows.png" alt="" width="640" height="388" srcset="https://virtuallyfun.com/wp-content/uploads/2018/07/compiling-130405-lines-of-code-on-QuickC-for-Windows.png 640w, https://virtuallyfun.com/wp-content/uploads/2018/07/compiling-130405-lines-of-code-on-QuickC-for-Windows-300x182.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a><p id="caption-attachment-8633" class="wp-caption-text">130 KLOC!</p></div></p>
<p>I should also add that I&#8217;ve been able to use QuickC for Windows, and build a &#8216;non trivial&#8217; program, the Fortran f2c compiler weighing in at 104,245 lines , and use that to compile 16,182 lines of Fortran 77 into C, and then compile the resulting C + the Fortran runtime library a staggering 130,405 lines of code, and the resulting binary works, just like it did on Windows 3.0!</p>
<p>I&#8217;ve also been able to print a text file using Microsoft Word 2.0 much to my amazement, although anything involving fonts just locks or crashes.&nbsp; I can&#8217;t say I&#8217;m all that surprised.</p>
<p>And yes, it does in fact run <a href="https://ski.ihoc.net/">SkiFree 1.0</a></p>
<p><div id="attachment_8634" style="width: 330px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2018/07/SkiFree-1.00.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-8634" class="size-full wp-image-8634" src="https://virtuallyfun.com/wp-content/uploads/2018/07/SkiFree-1.00.png" alt="" width="320" height="300" srcset="https://virtuallyfun.com/wp-content/uploads/2018/07/SkiFree-1.00.png 320w, https://virtuallyfun.com/wp-content/uploads/2018/07/SkiFree-1.00-300x281.png 300w" sizes="auto, (max-width: 320px) 100vw, 320px" /></a><p id="caption-attachment-8634" class="wp-caption-text">SkiFree on WineVDM</p></div></p>
<p>So no need to wait for&nbsp;Win3mu, there is WineVDM which is being developed RIGHT NOW, and the source is already available.&nbsp; You can see my notes on <a href="https://virtuallyfun.com/wordpress/2018/07/15/winevdm/">building it here</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2018/07/30/winevdm-is-improving-at-a-dramatic-rate/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>UX lessons from the Magic Screensaver aka After Dark</title>
		<link>https://virtuallyfun.com/2017/10/03/ux-lessons-magic-screensaver-aka-dark/</link>
					<comments>https://virtuallyfun.com/2017/10/03/ux-lessons-magic-screensaver-aka-dark/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Tue, 03 Oct 2017 01:41:59 +0000</pubDate>
				<category><![CDATA[Windows 2.0]]></category>
		<category><![CDATA[Windows 3.0]]></category>
		<category><![CDATA[Windows 3.1]]></category>
		<category><![CDATA[Windows/386]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=7484</guid>

					<description><![CDATA[I found this kind of interesting, a breakdown from the original guy behind the once popular After Dark screen saver. UX lessons from the Magic of Screensavers (part I) UX lessons from designing After Dark (screensavers II) As it started &#8230; <a href="https://virtuallyfun.com/2017/10/03/ux-lessons-magic-screensaver-aka-dark/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>I found this kind of interesting, a breakdown from the original guy behind the once popular After Dark screen saver.</p>
<ul>
<li><a href="http://uxfactor.ca/1086/">UX lessons from the Magic of Screensavers (part I)</a></li>
<li><a href="http://uxfactor.ca/1151/">UX lessons from designing After Dark (screensavers II)</a></li>
</ul>
<p>As it started as an experiment on Windows 2, it became a product on it&#8217;s own, and launched an entire industry, along with being copied by every major OS vendor.Â  In the 90&#8217;s having a screen saver was key, just as having simple games like solitaire, especially a broken shuffle one where the user wins most of the time led to Windows being heavily favored in the work space.</p>
<p><div id="attachment_7485" style="width: 652px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2017/10/Magic-Screen-saver.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7485" class="size-full wp-image-7485" src="https://virtuallyfun.com/wp-content/uploads/2017/10/Magic-Screen-saver.png" alt="" width="642" height="482" /></a><p id="caption-attachment-7485" class="wp-caption-text">Magic Screen Saver for Windows 2</p></div></p>
<p>So for the heck of it, I figured I&#8217;d check it out, and as always thanks to Jason Scott, there is a copy of <a href="http://cd.textfiles.com/nightowl/pdsi005/012B/MAGIC102.ZIP">1.02 on cd.textfiles.com</a>Â And as reported it&#8217;s basically the &#8216;mystify your mind&#8217; screen saver.</p>
<p><div id="attachment_7491" style="width: 652px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2017/10/Magic-Screen-saver-in-action.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7491" class="size-full wp-image-7491" src="https://virtuallyfun.com/wp-content/uploads/2017/10/Magic-Screen-saver-in-action.png" alt="" width="642" height="450" /></a><p id="caption-attachment-7491" class="wp-caption-text">Magic in action</p></div></p>
<p>The runaway hit Magic Screensaver became After Dark, which then had several licensed addons like the Simpsons, Star Wars etc.Â  Back then themes for Windows were popular along with sound effects.Â  A lot of the functionality is still in Windows, although most people prefer that their machines are silent, only making audible alerts if there really is something wrong.Â  But back in the day a &#8216;multimedia desktop&#8217; was a $5,000 noise maker, and not many offices were impressed.Â  Which of course gave rise to the &#8216;office sound card&#8217;</p>
<p><div id="attachment_7486" style="width: 760px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2017/10/Windows-Sound-System.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7486" class="size-full wp-image-7486" src="https://virtuallyfun.com/wp-content/uploads/2017/10/Windows-Sound-System.jpg" alt="" width="750" height="946" /></a><p id="caption-attachment-7486" class="wp-caption-text">All Business and no fun!</p></div></p>
<p>Naturally under Windows there were virtual device drivers to emulate a sound blaster, as people still wanted to game with this cheaper &#8216;business audio&#8217; card, although with the rise of Windows 95/Direct X gaming under Windows finally became a thing making Sound Blaster compatibility a thing of the past.</p>
<p>But going back to After Dark, they made a fatal error of teaming up withÂ Berkeley Systems, who eventually started to make their own releases pushing the original team out of their own product.</p>
<p><div id="attachment_7487" style="width: 652px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2017/10/After-Dark-1.0-toasters.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7487" class="size-full wp-image-7487" src="https://virtuallyfun.com/wp-content/uploads/2017/10/After-Dark-1.0-toasters.png" alt="" width="642" height="481" /></a><p id="caption-attachment-7487" class="wp-caption-text">After Dark 1.0 and the infamous flying toasters.</p></div></p>
<p>The toasters became focal in a few lawsuits, namely the <a href="https://mojohandle.files.wordpress.com/2014/05/jefferson-airplane-have-you-seen-the-saucers.jpg">Jefferson Airplane album</a>, although it was dismissed as the artwork for the album had not been trademarked!Â  And they were able to force the Opus &#8216;n Bill screen saver where Opus shoots the toasters.Â  Late they changed the toasters to have propellers to avoid being too similar.</p>
<p><div id="attachment_7488" style="width: 1290px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2017/10/shooting-toaster.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-7488" class="size-full wp-image-7488" src="https://virtuallyfun.com/wp-content/uploads/2017/10/shooting-toaster.jpg" alt="" width="1280" height="720" /></a><p id="caption-attachment-7488" class="wp-caption-text">Opus shooting a flying toaster</p></div></p>
<p>Oddly stuff like screen savers too have largely fallen out of fashion with the rise of power saving monitors that just turn themselves off either from a lack of new images, or a signal from the OS.</p>
<p>One of those weird legacy things that in today&#8217;s world really doesn&#8217;t have that much meaning, but a scant 20 years ago was a major industry.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2017/10/03/ux-lessons-magic-screensaver-aka-dark/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>WinDooM on SoftPC, on SheepShaver</title>
		<link>https://virtuallyfun.com/2015/08/01/windoom-on-softpc-on-sheepshaver/</link>
					<comments>https://virtuallyfun.com/2015/08/01/windoom-on-softpc-on-sheepshaver/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Sat, 01 Aug 2015 14:40:39 +0000</pubDate>
				<category><![CDATA[doom]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[microsoft windows]]></category>
		<category><![CDATA[powerpc]]></category>
		<category><![CDATA[SheepShaver]]></category>
		<category><![CDATA[Windows 3.1]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=5243</guid>

					<description><![CDATA[So I was hammering out something with SheepShaver (more on that later!) and I thought a quick test of just how fast SheepShaver is vs a real PowerMAC would be interesting. Â So I was playing with my old copy of &#8230; <a href="https://virtuallyfun.com/2015/08/01/windoom-on-softpc-on-sheepshaver/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>So I was hammering out something with SheepShaver (more on that later!) and I thought a quick test of just how fast SheepShaver is vs a real PowerMAC would be interesting. Â So I was playing with my old copy of SoftPC, which is 68000 based, but There were PowerPC versions, years ago when I bought a G4 to run OS X to only find out that it wasn&#8217;t supported (the dark days of OS X Server 1.0, before the 10.0 public beta) I used to run Windows NT 4.0 on SoftPC on MacOS 8.6. Â Ugh, dark times indeed!</p>
<p>So with some luck, I got <a href="http://macintoshgarden.org/apps/softwindows-30">SoftPC 3.0</a> up and running on <a href="http://sourceforge.net/projects/cockatrice/files/OS/System753.iso.7z/download">MacOS 7.5.3</a> using SheepShaver for Windows. Then I noticed that unlike SoftPC for the 68000, SoftPC for the PowerPC emulates a 486! Â So how does DooM run? Â A little slow, it&#8217;s kind of dream like.</p>
<p>But since there is Windows and a 32bit processor, I thought this would be a great time to load up <a href="https://virtuallyfun.com/2011/03/29/windoom-wing-win32s-on-windows-3-1-on-qemu/">Win32s, Video for Windows, WinG, and WinDooM</a>!</p>
<p><div id="attachment_5244" style="width: 1164px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2015/08/WinDoom-on-SoftPC-3-via-Sheep-Shaver.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-5244" class="size-full wp-image-5244" src="https://virtuallyfun.com/wp-content/uploads/2015/08/WinDoom-on-SoftPC-3-via-Sheep-Shaver.png" alt="WinDoom on SoftPC" width="1154" height="584" /></a><p id="caption-attachment-5244" class="wp-caption-text">WinDoom on SoftPC</p></div></p>
<p>And much to my amazement it runs! Â And I was further impressed that there is a shim sound driver, and it works!</p>
<p>So I made a quick video to compare DooM for Windows vs DooM for MS-DOS on this setup.</p>
<p><iframe loading="lazy" src="https://www.youtube.com/embed/cfFMemKAwSA" width="420" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>Yes it&#8217;s pointless, but I kinda think it&#8217;s really cool.</p>
<p>As a bonus, here is E1M1 under MacOS 8.0. Â The MIDI support in 8.0 is MUCH more stronger than 7.5.3! Â And I should add, it actually feels faster on 8.0 than 7.5.3<br />
<iframe loading="lazy" src="https://www.youtube.com/embed/ExKJbQGKRj4" width="420" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2015/08/01/windoom-on-softpc-on-sheepshaver/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
