<?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 NT 4.0 &#8211; Virtually Fun</title>
	<atom:link href="https://virtuallyfun.com/category/windows-nt-4-0/feed/" rel="self" type="application/rss+xml" />
	<link>https://virtuallyfun.com</link>
	<description>Fun with Virtualization</description>
	<lastBuildDate>Sat, 27 Sep 2025 05:17:27 +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>Microsoft Word 6.0 for PowerPC NT</title>
		<link>https://virtuallyfun.com/2025/08/15/microsoft-word-6-0-for-powerpc-nt/</link>
					<comments>https://virtuallyfun.com/2025/08/15/microsoft-word-6-0-for-powerpc-nt/#comments</comments>
		
		<dc:creator><![CDATA[tenox]]></dc:creator>
		<pubDate>Fri, 15 Aug 2025 07:24:31 +0000</pubDate>
				<category><![CDATA[DEC Alpha]]></category>
		<category><![CDATA[i386]]></category>
		<category><![CDATA[Microsoft Office]]></category>
		<category><![CDATA[microsoft windows]]></category>
		<category><![CDATA[microsoft word]]></category>
		<category><![CDATA[MIPS]]></category>
		<category><![CDATA[powerpc]]></category>
		<category><![CDATA[Windows NT 3.51]]></category>
		<category><![CDATA[Windows NT 4.0]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=15331</guid>

					<description><![CDATA[(This is a guest post by Antoni Sawicki aka Tenox) It appears that up until just now we did not have archived copy of MS Word 6.0 for PPC. There were copies floating for Alpha and MIPS, for example https://archive.org/details/ms-word60-nt. &#8230; <a href="https://virtuallyfun.com/2025/08/15/microsoft-word-6-0-for-powerpc-nt/">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 aka Tenox)</em></p>



<p class="wp-block-paragraph">It appears that up until just now we did not have archived copy of MS Word 6.0 for PPC. There were copies floating for Alpha and MIPS, for example <a href="https://archive.org/details/ms-word60-nt">https://archive.org/details/ms-word60-nt</a>. However PPC version was nowhere to be found&#8230;</p>



<p class="wp-block-paragraph">Until Term24 pointed me to this eBay auction:</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="987" height="1017" src="https://virtuallyfun.com/wp-content/uploads/2025/08/office.png" alt="" class="wp-image-15332" srcset="https://virtuallyfun.com/wp-content/uploads/2025/08/office.png 987w, https://virtuallyfun.com/wp-content/uploads/2025/08/office-291x300.png 291w, https://virtuallyfun.com/wp-content/uploads/2025/08/office-768x791.png 768w" sizes="(max-width: 987px) 100vw, 987px" /></figure>



<p class="wp-block-paragraph"> Since it clearly said PowerPC on the box I got it&#8230; and here it is:</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="819" src="https://virtuallyfun.com/wp-content/uploads/2025/08/ntword1-1024x819.png" alt="" class="wp-image-15333" srcset="https://virtuallyfun.com/wp-content/uploads/2025/08/ntword1-1024x819.png 1024w, https://virtuallyfun.com/wp-content/uploads/2025/08/ntword1-300x240.png 300w, https://virtuallyfun.com/wp-content/uploads/2025/08/ntword1-768x614.png 768w, https://virtuallyfun.com/wp-content/uploads/2025/08/ntword1-375x300.png 375w, https://virtuallyfun.com/wp-content/uploads/2025/08/ntword1.png 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">MS Word 6.0 on Windows NT 4.0 PowerPC / PPC</figcaption></figure>



<p class="wp-block-paragraph">Now thanks to Rairii you can enjoy it on a <a href="https://github.com/Wack0/maciNTosh">PowerMac</a> or <a href="https://github.com/Wack0/entii-for-workcubes">WII</a>!</p>



<p class="wp-block-paragraph">Download <a href="http://tenox.pdp-11.ru/os/winnt/Apps/multicpu/ntword60.iso.lz">ISO</a> or <a href="http://tenox.pdp-11.ru/os/winnt/Apps/multicpu/ntword60.rar">RAR</a></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2025/08/15/microsoft-word-6-0-for-powerpc-nt/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Hacking Windows NT 4.0 SMP for more than 2 CPUs</title>
		<link>https://virtuallyfun.com/2025/02/21/hacking-windows-nt-4-0-smp-for-more-than-2-cpus/</link>
					<comments>https://virtuallyfun.com/2025/02/21/hacking-windows-nt-4-0-smp-for-more-than-2-cpus/#respond</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Fri, 21 Feb 2025 09:46:55 +0000</pubDate>
				<category><![CDATA[SMP]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[Windows NT 4.0]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=15174</guid>

					<description><![CDATA[While trying to index a massive dataset, I found that the whole AltaVista process was kind of slow. And what better way to hope to speed it up, than to add some more processors. The catch is that the indexer &#8230; <a href="https://virtuallyfun.com/2025/02/21/hacking-windows-nt-4-0-smp-for-more-than-2-cpus/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">While trying to index a massive dataset, I found that the whole AltaVista process was kind of slow.  And what better way to hope to speed it up, than to add some more processors.  The catch is that the indexer only works on the Workstation SKU, and as such it&#8217;ll limit you to two processors.  But what if one of those &#8216;one simple trick&#8217; tricks actually can unlock all your cores?</p>



<p class="wp-block-paragraph">From <a href="https://labyrinth.zone/users/Rairii" target="_blank" rel="noreferrer noopener">Rairii</a>:</p>



<pre class="wp-block-preformatted">load the registry hive setupreg.hiv from i386 folder<br>in ControlSet001\Services\setupdd<br>default registry value<br>at offset 8, replace the value thats there (probably 00) with 20, ie decimal 32<br>then when reinstalling it should set up the registry to allow 32 cpus</pre>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-fix.png"><img decoding="async" width="1024" height="439" src="https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-fix-1024x439.png" alt="" class="wp-image-15177" srcset="https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-fix-1024x439.png 1024w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-fix-300x129.png 300w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-fix-768x329.png 768w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-fix-500x214.png 500w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-fix.png 1357w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">ControlSet001-Services-setupdd</figcaption></figure>



<p class="wp-block-paragraph">I didn&#8217;t want to bother trying to make a &#8216;correct&#8217; NT 4 CD, so I just did the dos bootable disk image thing, and the old school &#8220;winnt /b&#8221; setup from within DOS on VMWare Workstation 17, and yeah behold!</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-with-4-proc.png"><img loading="lazy" decoding="async" width="1024" height="526" src="https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-with-4-proc-1024x526.png" alt="" class="wp-image-15175" srcset="https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-with-4-proc-1024x526.png 1024w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-with-4-proc-300x154.png 300w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-with-4-proc-768x394.png 768w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-with-4-proc-1536x789.png 1536w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-with-4-proc-500x257.png 500w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-with-4-proc.png 1677w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">NT 4.0 Workstation on VMware Workstation Pro 17</figcaption></figure>



<p class="wp-block-paragraph">Although I should add that it&#8217;s not all sunshine and rainbows, it fails to boot about 50% of the time with a stop 0x00000078 PHASE0_EXCEPTION.  I don&#8217;t know what is up with that, if it&#8217;s my AMD processor, something with VMware&#8230;</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="386" src="https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-phase-0-error-1024x386.png" alt="" class="wp-image-15176" srcset="https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-phase-0-error-1024x386.png 1024w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-phase-0-error-300x113.png 300w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-phase-0-error-768x290.png 768w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-phase-0-error-1536x579.png 1536w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-phase-0-error-500x189.png 500w, https://virtuallyfun.com/wp-content/uploads/2025/02/nt4-workstation-smp-phase-0-error.png 1678w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">PHASE0_EXCEPTION</figcaption></figure>



<p class="wp-block-paragraph">Sadly, for anyone wondering, it didn&#8217;t help my use case.  The fundamental issue being that AltaVista tries to actually use filters to interpret the data, and Microsoft Word documents with the .txt extension, or anything with 90&#8217;s L337 ascii art just straight up trip up the indexer halting all progress.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="346" src="https://virtuallyfun.com/wp-content/uploads/2025/02/l337-text-that-halted-altavista-1024x346.png" alt="" class="wp-image-15178" srcset="https://virtuallyfun.com/wp-content/uploads/2025/02/l337-text-that-halted-altavista-1024x346.png 1024w, https://virtuallyfun.com/wp-content/uploads/2025/02/l337-text-that-halted-altavista-300x101.png 300w, https://virtuallyfun.com/wp-content/uploads/2025/02/l337-text-that-halted-altavista-768x260.png 768w, https://virtuallyfun.com/wp-content/uploads/2025/02/l337-text-that-halted-altavista-1536x519.png 1536w, https://virtuallyfun.com/wp-content/uploads/2025/02/l337-text-that-halted-altavista-500x169.png 500w, https://virtuallyfun.com/wp-content/uploads/2025/02/l337-text-that-halted-altavista.png 1677w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">ASCII ART BAD!!</figcaption></figure>



<p class="wp-block-paragraph">Obviously, this is building up to something else, something I think is kind of exciting, but even as a &#8216;distraction&#8217; adding more cores to NT 4.0 Workstation is always a good thing!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2025/02/21/hacking-windows-nt-4-0-smp-for-more-than-2-cpus/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A quick video on installing Windows NT 4.0 with Wack0&#8217;s maciNTosh 0.05</title>
		<link>https://virtuallyfun.com/2024/07/22/a-quick-video-on-installing-windows-nt-4-0-with-wack0s-macintosh-0-05/</link>
					<comments>https://virtuallyfun.com/2024/07/22/a-quick-video-on-installing-windows-nt-4-0-with-wack0s-macintosh-0-05/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 22 Jul 2024 12:06:19 +0000</pubDate>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[powerpc]]></category>
		<category><![CDATA[videos]]></category>
		<category><![CDATA[Windows NT 3.51]]></category>
		<category><![CDATA[Windows NT 4.0]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=14692</guid>

					<description><![CDATA[First, I have to say it works incredibly well! The biggest gotcha seems to be that the MSDE/Visual C++ 4.0 studio crashes. And pinball doesn&#8217;t work. Very possible some issue with the dingus PowerMac emulator. For anyone wanting to follow &#8230; <a href="https://virtuallyfun.com/2024/07/22/a-quick-video-on-installing-windows-nt-4-0-with-wack0s-macintosh-0-05/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Installing Windows NT 4.0 PowerPC emulator with latest firmware update" width="584" height="329" src="https://www.youtube.com/embed/c6L_AhiiBGQ?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>



<p class="wp-block-paragraph">First, I have to say it works incredibly well!</p>



<p class="wp-block-paragraph">The biggest gotcha seems to be that the MSDE/Visual C++ 4.0 studio crashes.  And pinball doesn&#8217;t work.  Very possible some issue with the dingus PowerMac emulator.</p>



<p class="wp-block-paragraph">For anyone wanting to follow along, I put the <a href="https://archive.org/details/nt40wks-en_grackle_0.05" target="_blank" rel="noreferrer noopener">CD-ROM Image on archive.org</a>:</p>



<p class="wp-block-paragraph"><a href="https://archive.org/details/nt40wks-en_grackle_0.05">https://archive.org/details/nt40wks-en_grackle_0.05</a></p>



<p class="wp-block-paragraph">Along with everything needed for <a href="https://archive.org/details/dingusppc" target="_blank" rel="noreferrer noopener">dingusppc</a>:</p>



<p class="wp-block-paragraph"><a href="https://archive.org/details/dingusppc">https://archive.org/details/dingusppc</a></p>



<p class="wp-block-paragraph">And I run it simply run it as:</p>



<pre class="wp-block-code"><code>dingusppc.exe -r -m imacg3 -b imacboot.u3 --rambank1_size=128 --hdd_img=2000.disk --cdr_img=nt40wks-en_grackle_0.05.iso</code></pre>



<p class="wp-block-paragraph">I did add some quality-of-life updates including:</p>



<ul class="wp-block-list">
<li>Service Pack 2 for Windows NT</li>



<li>Internet Explorer 3.0</li>



<li>Wx86 (run limited x86 binaries on PowerPC)</li>



<li>Info Zip/Unzip</li>



<li>Neko 98</li>



<li>DooM</li>



<li>Neko Project II&nbsp;</li>



<li>Command line Visual C++ 4.0</li>
</ul>



<p class="wp-block-paragraph">I&#8217;ve tried to port MAME 0.36 &amp; Fallout1-RE, but both I&#8217;m having some DirectX issues.  I&#8217;m honestly surprised MAME links.  It&#8217;s getting harder and harder to find those old win32 update packages for MAME.  Not sure anyone saved them?</p>



<h2 class="wp-block-heading">Windows NT 3.51</h2>



<p class="wp-block-paragraph">And as a bonus, for those wanting 3.51, I&#8217;ve also setup a CD-ROM with SP5:</p>



<p class="wp-block-paragraph"><a href="https://archive.org/details/nt351wks-en_grackle_0.05">Windows NT 3.51 Workstation for PowerPC with maciNTosh/grackle 0.05</a></p>



<p class="wp-block-paragraph">Installation is about the same, just use the 3.x framebuffer driver.</p>



<h2 class="wp-block-heading">Patreon</h2>



<p class="wp-block-paragraph">I also want to give a huge thanks to the fine folks over on <a href="https://www.patreon.com/virtuallyfun" target="_blank" rel="noreferrer noopener">my Patreon</a> for helping to finance stuff like this:</p>



<figure class="wp-block-image size-large"><a href="https://www.patreon.com/virtuallyfun" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="585" src="https://virtuallyfun.com/wp-content/uploads/2024/07/g3-order-1-1024x585.png" alt="" class="wp-image-14694" srcset="https://virtuallyfun.com/wp-content/uploads/2024/07/g3-order-1-1024x585.png 1024w, https://virtuallyfun.com/wp-content/uploads/2024/07/g3-order-1-300x171.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/07/g3-order-1-768x439.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/07/g3-order-1-500x286.png 500w, https://virtuallyfun.com/wp-content/uploads/2024/07/g3-order-1.png 1087w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">B&amp;W G3 incoming!</figcaption></figure>



<p class="wp-block-paragraph">With any luck, it&#8217;ll get me to a native experience, and allow for some debugging!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2024/07/22/a-quick-video-on-installing-windows-nt-4-0-with-wack0s-macintosh-0-05/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Attempting to port Alexander Batalov&#8217;s Fallout1-re to RISC</title>
		<link>https://virtuallyfun.com/2024/07/18/attempting-to-port-alexander-batalovs-fallout1-re-to-risc/</link>
					<comments>https://virtuallyfun.com/2024/07/18/attempting-to-port-alexander-batalovs-fallout1-re-to-risc/#respond</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Thu, 18 Jul 2024 09:36:07 +0000</pubDate>
				<category><![CDATA[Visual C++]]></category>
		<category><![CDATA[Windows NT 4.0]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=14679</guid>

					<description><![CDATA[TLDR; It doesn&#8217;t work With all the excitement of PowerPC NT being runnable under emulation, I thought I&#8217;d try to do something fun, and port Alexander Batalov&#8216;s fallout1-re, to Visual C++ 4.0. The &#8216;problem&#8217; is that it&#8217;s written using a &#8230; <a href="https://virtuallyfun.com/2024/07/18/attempting-to-port-alexander-batalovs-fallout1-re-to-risc/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">TLDR;  It doesn&#8217;t work</h2>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2024/07/fallout1-fail-on-PowerPC.png"><img loading="lazy" decoding="async" width="865" height="321" src="https://virtuallyfun.com/wp-content/uploads/2024/07/fallout1-fail-on-PowerPC.png" alt="" class="wp-image-14680" srcset="https://virtuallyfun.com/wp-content/uploads/2024/07/fallout1-fail-on-PowerPC.png 865w, https://virtuallyfun.com/wp-content/uploads/2024/07/fallout1-fail-on-PowerPC-300x111.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/07/fallout1-fail-on-PowerPC-768x285.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/07/fallout1-fail-on-PowerPC-500x186.png 500w" sizes="auto, (max-width: 865px) 100vw, 865px" /></a><figcaption class="wp-element-caption">Fallout 1 needs DirectX 3.0a / NT 4.0 SP3</figcaption></figure>



<p class="wp-block-paragraph">With all the excitement of PowerPC NT being runnable under emulation, I thought I&#8217;d try to do something fun, and port <a href="https://github.com/alexbatalov">Alexander Batalov</a>&#8216;s <a href="https://github.com/alexbatalov/fallout1-re" target="_blank" rel="noreferrer noopener">fallout1-re</a>, to Visual C++ 4.0.</p>



<p class="wp-block-paragraph">The &#8216;problem&#8217; is that it&#8217;s written using a more modern C that allows C++ style variables in the code.  In traditional C, the declaration of variables has to be at the start of each function, however C++ allows you to place them wherever you want in the code.  </p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2024/07/frame_ptr.png"><img loading="lazy" decoding="async" width="836" height="439" src="https://virtuallyfun.com/wp-content/uploads/2024/07/frame_ptr.png" alt="" class="wp-image-14681" srcset="https://virtuallyfun.com/wp-content/uploads/2024/07/frame_ptr.png 836w, https://virtuallyfun.com/wp-content/uploads/2024/07/frame_ptr-300x158.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/07/frame_ptr-768x403.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/07/frame_ptr-500x263.png 500w" sizes="auto, (max-width: 836px) 100vw, 836px" /></a><figcaption class="wp-element-caption">the frame_ptr function from art.c</figcaption></figure>



<p class="wp-block-paragraph">The &#8216;fix&#8217; is quite simple, you just have to separate the creation of variables in the code, and place them on top, as simple as!</p>



<p class="wp-block-paragraph">You can see in this case the deletions in red, and the additions in green.</p>



<p class="wp-block-paragraph"><strong>115 changed files with 21,455 additions and 4,437 deletions.</strong></p>



<p class="wp-block-paragraph">It was a LOT of changes.  It took me 3 days to go through the code.  But with a lot of work I was able to get it to compile first with Visual C++ 2003.  I then created a Makefile allowing me to compile with Visual C++ 4.0</p>



<p class="wp-block-paragraph">I have to admit, I was kind of surprised that it actually compiled for the PowerPC.  And instantly saddened that it doesn&#8217;t actually work.  Maybe some code amputations may get around the running part, but that&#8217;s just speculation right now.</p>



<p class="wp-block-paragraph">Shockingly the opening animations play fine, the menus load, however you get about one frame in the game, and it goes unresponsive.</p>



<figure class="wp-block-image size-full"><a href="https://github.com/neozeed/fallout1-re"><img loading="lazy" decoding="async" width="640" height="480" src="https://virtuallyfun.com/wp-content/uploads/2024/07/Fallout1-VC4-hanging.png" alt="" class="wp-image-14682" srcset="https://virtuallyfun.com/wp-content/uploads/2024/07/Fallout1-VC4-hanging.png 640w, https://virtuallyfun.com/wp-content/uploads/2024/07/Fallout1-VC4-hanging-300x225.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/07/Fallout1-VC4-hanging-400x300.png 400w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a><figcaption class="wp-element-caption">As far as it gets</figcaption></figure>



<p class="wp-block-paragraph">I don&#8217;t know why but Visual C++ 2003 won&#8217;t debug it correctly.  I&#8217;m not sure why it won&#8217;t set the working directory correctly.  Attaching to the process seems to produce different results, where it&#8217;s stuck in some loop that I can&#8217;t peg down.</p>



<p class="wp-block-paragraph">Obviously, I did screw something up, the &#8216;solution&#8217; is to install a newer version of Visual Studio and &#8216;blend&#8217; the files, to try to rule out where or what went wrong.</p>



<p class="wp-block-paragraph">The annoying thing is that even if I go through the required steps to get the VC4 version working, it won&#8217;t matter as at best this would only be relevant for the currently unemulated Dec Alpha.</p>



<p class="wp-block-paragraph">Oh well, <a href="https://www.youtube.com/watch?v=B48D60wH8gA" target="_blank" rel="noreferrer noopener">sometimes you eat the bar, sometimes the bar eats you.</a>(yes I know it&#8217;s BEAR).</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2024/07/18/attempting-to-port-alexander-batalovs-fallout1-re-to-risc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Rairii&#8217;s incredible port of ARC &#038; Drivers for NT PowerPC to G3 Macintoshes</title>
		<link>https://virtuallyfun.com/2024/07/13/rairiis-incredible-port-of-arc-drivers-for-nt-powerpc-to-g3-macintoshes/</link>
					<comments>https://virtuallyfun.com/2024/07/13/rairiis-incredible-port-of-arc-drivers-for-nt-powerpc-to-g3-macintoshes/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Sat, 13 Jul 2024 02:16:53 +0000</pubDate>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[powerpc]]></category>
		<category><![CDATA[Windows NT 4.0]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=14672</guid>

					<description><![CDATA[This has been a rush of excitement! Rairii published their port of the ARC &#38; Drivers needed to get NT 4.0 working on commodity PowerMac hardware over on github. And what about running it under emulation? Once more again Rairii &#8230; <a href="https://virtuallyfun.com/2024/07/13/rairiis-incredible-port-of-arc-drivers-for-nt-powerpc-to-g3-macintoshes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://virtuallyfun.com/wp-content/uploads/2024/07/20240711_184942-1024x768.jpg" alt="" class="wp-image-14674" srcset="https://virtuallyfun.com/wp-content/uploads/2024/07/20240711_184942-1024x768.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2024/07/20240711_184942-300x225.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2024/07/20240711_184942-768x576.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2024/07/20240711_184942-1536x1152.jpg 1536w, https://virtuallyfun.com/wp-content/uploads/2024/07/20240711_184942-400x300.jpg 400w, https://virtuallyfun.com/wp-content/uploads/2024/07/20240711_184942.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Windows NT on a Macintosh Powerbook G3 (Lombard)</figcaption></figure>



<p class="wp-block-paragraph">This has been a <em>rush</em> of excitement!  Rairii published their port of the ARC &amp; Drivers needed to get NT 4.0 working on commodity PowerMac hardware over on <a href="https://github.com/Wack0/maciNTosh" target="_blank" rel="noreferrer noopener">github</a>.  And what about running it under emulation?  Once more again Rairii provided a custom fork of dingusppc, again over on <a href="https://github.com/Wack0/dingusppc-nt" target="_blank" rel="noreferrer noopener">github</a>!</p>



<p class="wp-block-paragraph">A custom CD-ROM worked best (for me?!) for installation, combining the ARC &amp; Drivers, along with a copy of Windows NT Workstation onto a single disc.  Rairii provided the magical recipie for creating the ISO:</p>



<pre class="wp-block-code"><code><code>genisoimage -joliet-long -r -V 'NT_arcfw' -o ../jj.iso --iso-level 4 --netatalk -hfs -probe -map ../hfs.map -hfs-parms MAX_XTCSIZE=2656248 -part -no-desktop -hfs-bless ./System -hfs-volid NT/ppc_arcfw .</code></code></pre>



<p class="wp-block-paragraph">And the needed hfs.map:</p>



<pre class="wp-block-code"><code># ext.  xlate  creator  type    comment
.hqx    Ascii  'BnHx'   'TEXT'  "BinHex file"
.sit    Raw    'SIT!'   'SITD'  "StuffIT Expander"
.mov    Raw    'TVOD'   'MooV'  "QuickTime Movie"
.deb    Raw    'Debn'   'bina'  "Debian package"
.bin    Raw    'ddsk'   'DDim'  "Floppy or ramdisk image"
.img    Raw    'ddsk'   'DDim'  "Floppy or ramdisk image"
.b      Raw    'UNIX'   'tbxi'  "bootstrap"
BootX   Raw    'UNIX'   'tbxi'  "bootstrap"
yaboot  Raw    'UNIX'   'boot'  "bootstrap"
vmlinux Raw    'UNIX'   'boot'  "bootstrap"
.conf   Raw    'UNIX'   'conf'  "bootstrap"
*       Ascii  '????'   '????'  "Text file"</code></pre>



<p class="wp-block-paragraph">I went ahead and made the image, and added in Service Pack 2, Internet Explorer 3 and IIS3 onto the same CD-ROM to make things easier for me to deal with.  It&#8217;s on <a href="https://archive.org/details/microsoft-windows-nt-4.0-workstation-power-pc" target="_blank" rel="noreferrer noopener">archive.org</a>.</p>



<p class="wp-block-paragraph">On Discord and impromptu porting session broke, out and we got NP21 up and running!</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="480" height="270" src="https://virtuallyfun.com/wp-content/uploads/2024/07/np21.gif" alt="" class="wp-image-14676"/><figcaption class="wp-element-caption">NP21</figcaption></figure>
</div>


<p class="wp-block-paragraph">Unfortunately, it is very slow.  I have no idea how it performs on real hardware, it&#8217;s entirely possible that it really is unplayable.  It&#8217;s still pretty amazing that the OS booted up and I could actually compile something!</p>



<p class="wp-block-paragraph">Even the usual fun text mode stuff from Phoon, Infocom&#8217;87, F2C, compiled!</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="798" src="https://virtuallyfun.com/wp-content/uploads/2024/07/phases-of-the-moon-ppc-1024x798.png" alt="" class="wp-image-14675" srcset="https://virtuallyfun.com/wp-content/uploads/2024/07/phases-of-the-moon-ppc-1024x798.png 1024w, https://virtuallyfun.com/wp-content/uploads/2024/07/phases-of-the-moon-ppc-300x234.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/07/phases-of-the-moon-ppc-768x599.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/07/phases-of-the-moon-ppc-385x300.png 385w, https://virtuallyfun.com/wp-content/uploads/2024/07/phases-of-the-moon-ppc.png 1026w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Phoon!</figcaption></figure>



<h2 class="wp-block-heading">But will it run DooM?</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="480" height="270" src="https://virtuallyfun.com/wp-content/uploads/2024/07/xxppc.gif" alt="" class="wp-image-14673"/><figcaption class="wp-element-caption">DooM &amp; Atlantis</figcaption></figure>
</div>


<p class="wp-block-paragraph">Of course, it runs!  I&#8217;m using the 32bit C code from Sydney (ChatGPT), which runs just great.  </p>



<h2 class="wp-block-heading">Into 3D space</h2>



<p class="wp-block-paragraph">I was able to compile GLuT on the way to try to build ssystem but there is two textured OpenGL calls missing, meaning that the more fun OpenGL stuff simply will not work.</p>



<h2 class="wp-block-heading">Setting expectations</h2>



<p class="wp-block-paragraph">As a matter of fact, lots of weird stuff doesn&#8217;t work, the install is very touchy so don&#8217;t expect a rock-solid experience, but instead it was incredibly fun to try to get a bunch of stuff up and running.</p>



<p class="wp-block-paragraph">Thanks again to <a href="https://social.nano.lgbt/@Rairii">@Rairii</a> for all their hard work!  This is beyond amazing!</p>



<p class="wp-block-paragraph">&#8212; it&#8217;s 3am and I&#8217;m exhausted, but I had to share this out some how some way!</p>



<p class="wp-block-paragraph">NT ON PowerPC!  It&#8217;s happening!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2024/07/13/rairiis-incredible-port-of-arc-drivers-for-nt-powerpc-to-g3-macintoshes/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Win32Emu / DIY WOW</title>
		<link>https://virtuallyfun.com/2024/01/04/win323mu-diy-wow/</link>
					<comments>https://virtuallyfun.com/2024/01/04/win323mu-diy-wow/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Thu, 04 Jan 2024 00:10:22 +0000</pubDate>
				<category><![CDATA[guest post]]></category>
		<category><![CDATA[i386]]></category>
		<category><![CDATA[MIPS]]></category>
		<category><![CDATA[syscall emulation]]></category>
		<category><![CDATA[Win32]]></category>
		<category><![CDATA[Windows NT 4.0]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=13684</guid>

					<description><![CDATA[This is a guest post by CaptainWillStarblazer When the AXP64 build tools for Windows 2000 were discovered back in May 2023, there was a crucial problem. Not only was it difficult to test the compiled applications since you needed an &#8230; <a href="https://virtuallyfun.com/2024/01/04/win323mu-diy-wow/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">This is a guest post by <a href="https://github.com/BHTY">CaptainWillStarblazer</a></p>



<p class="wp-block-paragraph">When the <a href="https://virtuallyfun.com/2023/05/05/hiding-in-plain-sight-the-64bit-dec-alpha-c-compiler/">AXP64 build tools for Windows 2000</a> were discovered back in May 2023, there was a crucial problem. Not only was it difficult to test the compiled applications since you needed an exotic and rare DEC Alpha machine running a leaked version of Windows, it was also difficult to even compile the programs, since you needed the same DEC Alpha machine to run the compiler; there was no cross-compiler.</p>



<p class="wp-block-paragraph">As a result, I began writing a program conceptually similar to WOW64 on Itanium (or WX86, or FX-32), only in reverse, to allow RISC Win32 programs to run on x86.</p>



<p class="wp-block-paragraph">The PE/COFF file format is surprisingly simple once you get the hang of it, so loading a basic Win32 EXE that I assembled with NASM&nbsp;&nbsp;was pretty simple – just map the appropriate sections to the appropriate areas, fix up import tables, and start executing.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2024/01/image001.png"><img loading="lazy" decoding="async" width="965" height="508" src="https://virtuallyfun.com/wp-content/uploads/2024/01/image001.png" alt="" class="wp-image-13673" srcset="https://virtuallyfun.com/wp-content/uploads/2024/01/image001.png 965w, https://virtuallyfun.com/wp-content/uploads/2024/01/image001-300x158.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/01/image001-768x404.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/01/image001-500x263.png 500w" sizes="auto, (max-width: 965px) 100vw, 965px" /></a></figure>



<p class="wp-block-paragraph">To start, I wrote a basic 386 emulator core. To complement it, I wrote my own set of Windows NT system DLLs (USER32, KERNEL32, GDI32) that execute inside of the emulator and then use an interrupt to signal a system call&nbsp;&nbsp;which is trapped by the emulator and thunked up to execute the API call on the host.</p>



<p class="wp-block-paragraph">For example, up above, you can see that the emulated app calls MessageBoxA inside of the emulated USER32, which puts 0 in EAX (the API call number for MessageBoxA) and then does the syscall interrupt (int 0x80 in my case), which causes the emulator to grab the arguments off of the stack and call MessageBoxA.</p>



<p class="wp-block-paragraph">To ease communication between the host’s Win32 environment and the emulated Win32 environment, I ran the emulated CPU inside of the host’s memory space, which means that to run applications written for a 32-bit version of Windows NT, you need a 32-bit version of win32emu (or a 64-bit version with /LARGEADDRESSAWARE:NO passed to the linker) to avoid pointer truncation issues, to prevent Windows from mapping memory addresses inaccessible by the emulated CPU.</p>



<p class="wp-block-paragraph">To get “real” apps working, a lot of single-stepping through the CRT was required, but eventually I did get Reversi – one of the basic Win32 SDK samples – to work, albeit with some bugs at first. Calling a window procedure essentially requires a thunk in reverse, so I inserted a thunk window procedure on the host side that calls the emulated window procedure and returns the result.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2024/01/image012.jpg"><img loading="lazy" decoding="async" width="465" height="388" src="https://virtuallyfun.com/wp-content/uploads/2024/01/image012.jpg" alt="" class="wp-image-13669" srcset="https://virtuallyfun.com/wp-content/uploads/2024/01/image012.jpg 465w, https://virtuallyfun.com/wp-content/uploads/2024/01/image012-300x250.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2024/01/image012-360x300.jpg 360w" sizes="auto, (max-width: 465px) 100vw, 465px" /></a><figcaption class="wp-element-caption">It&#8217;s amazing, it&#8217;s reversi!</figcaption></figure>



<p class="wp-block-paragraph">After this, I got to work on getting more complicated applications to work. Several failed due to lack of floating-point support, some failed due to unsupported DLLs, but I was able to get FreeCell and WinMine to work (with some bugs) after adding SHELL32. I was able to run the real SHELL32.DLL from Windows NT 3.51 under this environment.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2024/01/image013.jpg"><img loading="lazy" decoding="async" width="624" height="325" src="https://virtuallyfun.com/wp-content/uploads/2024/01/image013.jpg" alt="" class="wp-image-13670" srcset="https://virtuallyfun.com/wp-content/uploads/2024/01/image013.jpg 624w, https://virtuallyfun.com/wp-content/uploads/2024/01/image013-300x156.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2024/01/image013-500x260.jpg 500w" sizes="auto, (max-width: 624px) 100vw, 624px" /></a><figcaption class="wp-element-caption">Freecell</figcaption></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="623" height="338" src="https://virtuallyfun.com/wp-content/uploads/2024/01/image014.jpg" alt="" class="wp-image-13671" srcset="https://virtuallyfun.com/wp-content/uploads/2024/01/image014.jpg 623w, https://virtuallyfun.com/wp-content/uploads/2024/01/image014-300x163.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2024/01/image014-500x271.jpg 500w" sizes="auto, (max-width: 623px) 100vw, 623px" /><figcaption class="wp-element-caption">Minesweeper</figcaption></figure>



<p class="wp-block-paragraph">One might wonder why I put all this work into running x86 programs on x86, but the reason is that there’s the most information about, and I’m most proficient with, Windows on the 386. Not only does Windows on other CPUs use other CPUs, but also there’s different calling conventions and a lot of other stuff I didn’t want to mess with at first. But this was at least a proof-of-concept to build a framework where I could swap the CPU core for an emulator for MIPS or PPC or Alpha or whatever I wanted and get stuff running.</p>



<p class="wp-block-paragraph">Astute readers might be wondering why I didn’t take the approach taken by WOW64. For those who don’t know, most system DLLs on WOW64 are the same as those in 32-bit Windows, the only ones that are different are ones with system call stubs that call down to the kernel (NTDLL, GDI32, and USER32, the first of which calls to NTOSKRNL and the latter two calling to WIN32K.SYS). WOW64 instead calls a function with a system call dispatch number, which does essentially the same thing. The reason for this is that the system call numbers are undocumented and change between versions of Windows. WOW64, being an integrated component of Windows, can stay up to date. If I took this approach, I’d either have to stay locked to one emulated set of DLLs (i.e. from NT 4.0) and use their system call numbers on the emulated side, or write my own emulated DLLs and stick to a fixed set of numbers, but either way I’d somehow have to map them to whatever syscall numbers are being used on the host.</p>



<p class="wp-block-paragraph">As I went on, I should probably also mention that what I said earlier about loading Win32 apps being easy was wrong. Loading a PE image is pretty straightforward, but once you get into populating the TEB and PEB (many of whose fields are undocumented), it quickly gets gnarly, and my PEB emulation is incomplete.</p>



<p class="wp-block-paragraph">Adding MIPS support wasn’t too much of a hassle, since the MIPS ISA (ignoring delay slots, which gave me no shortage of trouble) is pretty clean and writing&nbsp;&nbsp;an emulator wasn’t difficult. The VirtuallyFun Discord pointed me to Embedded Visual C++ 4.0, which was invaluable to me during development, since it included a MIPS assembler and disassembler, which I haven’t seen elsewhere. After writing a set of MIPS thunk DLLs and doing some more debugging, I finally got Reversi working.</p>



<p class="wp-block-paragraph">There’s still some DLL relocation/rebasing issues, but Reversi is finally working in this homebrewed WOW!</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2024/01/image015.gif"><img loading="lazy" decoding="async" width="624" height="326" src="https://virtuallyfun.com/wp-content/uploads/2024/01/image015.gif" alt="" class="wp-image-13672"/></a></figure>



<p class="wp-block-paragraph">I’d encourage someone to write a CPU module for the DEC Alpha AXP (or even PowerPC if anyone for some reason wants that). The API isn’t too complicated, and the i386 emulator is available for reference to see how the CPU emulator interfaces with the Win32 thunking side. An Alpha backend for the thunk compiler can definitely be written without too much trouble. Obviously, the AXP presents the challenge that fewer people are familiar with its instruction set than MIPS or 386, but this approach does free one from having to emulate all of the intricate hardware connections in actual Alpha applications while still running applications designed for it, and I’ve heard the Alpha is actually quite nice and clean. MAME’s Digital Alpha core could be a good place to start, but it’ll need some adaptation to work in this codebase. Remember that while being a 64-bit CPU with 64-bit registers and operations, the Alpha still runs Windows with 32-bit pointers, so it should run in a 32-bit address space (i.e. pass /LARGEADDRESSAWARE:NO to the linker).</p>



<p class="wp-block-paragraph">Theoretically, recompiling the application to support the full address space should enable emulation of AXP64 applications, since the Alpha’s 64-bit pointers will allow it to address the host’s 64-bit address space, but I’m not sure if my emulator is totally 64-bit clean, or if the AXP64’s calling convention is materially different from that on the AXP32 in such a way that would require substantial changes. In either case, most of the code should still be transferable.</p>



<p class="wp-block-paragraph">I also want to get more “useful” applications running, like development tools (i.e. the MSVC command line utilities &#8211; CL, MAKE, LINK, etc.) and CMD. Most of that probably involves implementing more thunks and potentially fixing CPU bugs.</p>



<p class="wp-block-paragraph">This project is obviously still in a quite early stage, but I’m hoping to see it grow and become something useful for those in the hobby.</p>



<p class="wp-block-paragraph">For those who want to play along at home, you can download the <a href="https://github.com/BHTY/Win32Emu/releases/download/alpha/w32emu.zip">binary snapshot here: w32emu.zip</a></p>



<p class="wp-block-paragraph">A more complete version of the writeup is available here:&nbsp;<a href="https://bhty.github.io/og/win32emu_VirtuallyFun_Post.htm">https://bhty.github.io/og/win32emu_VirtuallyFun_Post.htm</a>&nbsp;and you can find the project here&nbsp;<a href="https://github.com/BHTY/Win32Emu/">https://github.com/BHTY/Win32Emu/</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2024/01/04/win323mu-diy-wow/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Windows NT on IBM RS/6000 &#8211; Definitive Guide</title>
		<link>https://virtuallyfun.com/2023/08/30/windows-nt-on-ibm-rs-6000/</link>
					<comments>https://virtuallyfun.com/2023/08/30/windows-nt-on-ibm-rs-6000/#comments</comments>
		
		<dc:creator><![CDATA[tenox]]></dc:creator>
		<pubDate>Wed, 30 Aug 2023 10:20:50 +0000</pubDate>
				<category><![CDATA[guest post]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[powerpc]]></category>
		<category><![CDATA[Windows NT 4.0]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=13142</guid>

					<description><![CDATA[(This is a guest post by Antoni Sawicki aka Tenox) Preparing for Windows NT RISC Exhibition for VCFW 2023, I wanted to have Windows NT running on an IBM RS/6000. This was previously covered in this excellent article by Shoutmon &#8230; <a href="https://virtuallyfun.com/2023/08/30/windows-nt-on-ibm-rs-6000/">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 aka Tenox)</em></p>



<p class="wp-block-paragraph">Preparing for <a href="https://virtuallyfun.com/2023/08/05/come-meet-tenox-check-out-the-nt-risc-collection-over-at-vcf/" data-type="post" data-id="13090">Windows NT RISC Exhibition for VCFW 2023</a>, I wanted to have Windows NT running on an <a href="https://en.wikipedia.org/wiki/IBM_RS/6000" data-type="link" data-id="https://en.wikipedia.org/wiki/IBM_RS/6000">IBM RS/6000</a>. This was previously covered in <a href="https://virtuallyfun.com/2020/08/02/the-lost-history-of-prep-windows-nt-3-5x-and-the-rs-6000-40p/" data-type="post" data-id="10390">this excellent article</a> by Shoutmon as well in this <a href="https://www.youtube.com/watch?v=l0fJpd__1K8" data-type="link" data-id="https://www.youtube.com/watch?v=l0fJpd__1K8">a video</a> by NCommander. However both are missing some crucial information that I had to go through and learn myself the hard way. I hope it will help someone in the future.</p>



<p class="wp-block-paragraph"><strong>Windows NT PowerPC</strong> was designed to run on <a href="https://en.wikipedia.org/wiki/PowerPC_Reference_Platform" data-type="link" data-id="https://en.wikipedia.org/wiki/PowerPC_Reference_Platform">PReP machines</a>. Which of the RS/6000 models are REeP is coincidentally answered by <a href="http://wiki.netbsd.org/ports/prep/">NetBSD/prep supported system models</a>.</p>



<p class="wp-block-paragraph">Firstly there are <a href="https://en.wikipedia.org/wiki/IBM_PC_Series#PC_Power_Series" data-type="link" data-id="https://en.wikipedia.org/wiki/IBM_PC_Series#PC_Power_Series">&#8220;IBM PC&#8221; <em>Power Series</em></a>. Yes <strong>IBM PC</strong> but with <strong>PowerPC CPU</strong>, and not to be confused with RS/6000 which is a different IBM product. However the <strong>IBM <em>Power Series</em></strong> have equivalent <strong>RS/6000</strong> &#8220;counterpart&#8221; models. WTF IBM.</p>



<p class="wp-block-paragraph"><code>IBM PC Power Series 440 6015 == IBM RS/6000 Model 7020 40P<br>IBM PC Power Series 830 6050 == IBM RS/6000 Model 7248 43P<br>IBM PC Power Series 850 6070 == IBM RS/6000 Model 7248 43P</code></p>



<p class="wp-block-paragraph">There are also other models mentioned by Windows NT 4.0 HCL, namely E20, E30 and F30, and PowerPC ThinkPads. To summarize here is a more definitive list of <strong>IBM RS/6000</strong> models supported by Windows NT 4.0:</p>



<p class="wp-block-paragraph"><code>Model 7020 40P</code><br><code>Model 7248 43P<br>Model 7043 43P-140 (with a big asterisk)<br>Model 7024 E20 and E30<br>Model 7025 F30<br>ThinkPad 820, 850<br>ThinkPad 860 (with a big asterisk</code>)</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Important: </strong>7043 43P-<strong>150 </strong>is CHRP and will<strong> NOT </strong>run NT!<br><code>43P-140 = PREP NT OK<br>43P-150 = CHRP NO NT</code></p>



<p class="wp-block-paragraph">If you could pick any RS/6000 machine, the <a href="http://www.ibmfiles.com/pages/powerseries440.htm" data-type="link" data-id="http://www.ibmfiles.com/pages/powerseries440.htm">40P</a> would probably be the most recommended. 40P can also run <strong>OS/2 PowerPC</strong>, if you are in to this thing.</p>



<p class="wp-block-paragraph">Unfortunately all I had on hand was <strong>43P-140</strong>, which is <em>PReP</em>, but it&#8217;s not <em>Power Series</em> based and not supported by NT out of the box. WTF IBM. Also WTF is 7248-43P and 7043-43P. Chances are that you will run in to this as well as 7043 43P-140 are way more popular and easier to acquire than any other hardware listed above. 43P-140 semi regularly pop up on eBay for decent prices.</p>



<p class="wp-block-paragraph">The main trouble with 43P-140 is that the onboard GPU and NIC will not work with ARC and NT. Yes, you can hack in some generic S3 card. It will work in ARC/NT but not for PROM and AIX. I wasn&#8217;t happy. Upon some collaboration with Shoutmon and NCcommander and my own research, I was able to find the one and only graphics card that will work in both the RS/6000 PROM as well as ARC BIOS, AIX and Windows NT. The lucky winner is:</p>



<p class="wp-block-paragraph"><code>IBM FRU 40H5838 aka GTX110P</code></p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="532" height="492" data-id="13143" src="https://virtuallyfun.com/wp-content/uploads/2023/08/s-l1600-1.png" alt="" class="wp-image-13143" srcset="https://virtuallyfun.com/wp-content/uploads/2023/08/s-l1600-1.png 532w, https://virtuallyfun.com/wp-content/uploads/2023/08/s-l1600-1-300x277.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/08/s-l1600-1-324x300.png 324w" sizes="auto, (max-width: 532px) 100vw, 532px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="834" height="636" data-id="13144" src="https://virtuallyfun.com/wp-content/uploads/2023/08/s-l1600.png" alt="" class="wp-image-13144" srcset="https://virtuallyfun.com/wp-content/uploads/2023/08/s-l1600.png 834w, https://virtuallyfun.com/wp-content/uploads/2023/08/s-l1600-300x229.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/08/s-l1600-768x586.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/08/s-l1600-393x300.png 393w" sizes="auto, (max-width: 834px) 100vw, 834px" /></figure>
</figure>



<p class="wp-block-paragraph"><strong>Update:</strong> It&#8217;s been tried, tested and verified to use IBM ROM with a regular/stock S3 Trio64V+. You can download it <a href="http://osarchive.org/hw/ibm/rs6000/Firmware/IBM%20GTX110P%20FRU%2040H5838%20-%20IBM%20PG64V%201.1%2093H2502%20-%20AM27C512-150PC.rar">here</a> and program yourself. It will work with both AIX and NT.</p>



<p class="wp-block-paragraph">Also I have came across FRU 93H7983 for GTX110P. Not verified.</p>



<p class="wp-block-paragraph">As for the NIC, there are way more options as it&#8217;s not used by PROM, ARC or AIX, just NT. In my case I opted for a standard Etherlink III card.</p>



<h2 class="wp-block-heading">Windows NT Installation</h2>



<p class="wp-block-paragraph">Once you have the correct hardware bits, NT installation is pretty straightforward with some caveats. You start by booting the <a href="http://osarchive.org/hw/ibm/rs6000/PREP/arc151.dd.lz">ARC 1.51 floppy disk</a>. Then you need to go to Installation and <strong>Setup Services</strong>, <strong>Advanced Installation</strong> and then <strong>Disk Partition Management Services</strong>. </p>



<p class="wp-block-paragraph">There are 3 types of partitions. Confusing, skipping on creating or trying to merge them in to one partition will not get you far.</p>



<ul class="wp-block-list">
<li><strong>Boot (ARC) Partition</strong> &#8211; aka <strong>PowerPC Boot </strong>partition. This is where ARC loader will be copied from the floppy, so you can boot ARC directly from HDD without the floppy disk. Has nothing to do with Windows NT.</li>



<li><strong>System Partition</strong> is a small FAT partition where <code>\os\winnt\osloader.exe</code> will reside.</li>



<li><strong>OS Partition</strong> is a large FAT or NTFS partition that will have <code>\WINNT</code> folder.</li>
</ul>



<p class="wp-block-paragraph"><strong>First</strong> you create the <strong>Boot (ARC) Partition</strong> and copy data from ARC floppy disk to the ARC Partition on the hard disk. This will allow booting ARC firmware directly from HDD. At this point you may want to remove the floppy disk, reboot, get to SMS and change boot device to HDD.</p>



<p class="wp-block-paragraph"><strong>Secondly</strong> go to <strong>FAT Data or System Partition</strong>. Make it small like 5MB, then answer <strong>Yes</strong> to <strong>System Partition</strong>. This will create the partition for <code>osloader.exe</code>. This is an equivalent of <code>arcinst.exe</code> on Alpha and MIPS. Arcinst is not present on PPC.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="580" src="https://virtuallyfun.com/wp-content/uploads/2024/06/rs6k-partitions-1.jpg" alt="" class="wp-image-14506" srcset="https://virtuallyfun.com/wp-content/uploads/2024/06/rs6k-partitions-1.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2024/06/rs6k-partitions-1-300x170.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2024/06/rs6k-partitions-1-768x435.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2024/06/rs6k-partitions-1-500x283.jpg 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="567" src="https://virtuallyfun.com/wp-content/uploads/2024/06/rs6k-osselection.jpg" alt="" class="wp-image-14504" srcset="https://virtuallyfun.com/wp-content/uploads/2024/06/rs6k-osselection.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2024/06/rs6k-osselection-300x166.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2024/06/rs6k-osselection-768x425.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2024/06/rs6k-osselection-500x277.jpg 500w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Note that <code>OSLOADER</code> is on <code>SYSTEMPARTITION</code>. The <code>OSLOADPARTITION</code> is where <code>\WINNT</code> folder is located. </p>



<p class="wp-block-paragraph">Or you can just select Standard Setup which will do everything for you.</p>



<p class="wp-block-paragraph"><strong>Lastly</strong> go back to the main menu and select <strong>Run Maintenance Program</strong>. Then type <code>cd:\ppc\setupldr</code>. Once Windows NT setup boots, you will have an unpartitioned space left. create the Windows NT partition, preferably as NTFS and continue with install as normal.</p>



<p class="wp-block-paragraph">Installation on PowerPC ThinkPads, specifically the <a href="https://virtuallyfun.com/2013/09/19/thinkpad-860-saga-part-1/" data-type="post" data-id="3306">860 is covered here</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2023/08/30/windows-nt-on-ibm-rs-6000/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Joining NT 4 to a SAMBA Domain Controller</title>
		<link>https://virtuallyfun.com/2023/07/24/joining-nt-4-to-a-samba-domain-controller/</link>
					<comments>https://virtuallyfun.com/2023/07/24/joining-nt-4-to-a-samba-domain-controller/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 24 Jul 2023 23:46:54 +0000</pubDate>
				<category><![CDATA[64bit computing]]></category>
		<category><![CDATA[DEC Alpha]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[virtual networking]]></category>
		<category><![CDATA[Win64]]></category>
		<category><![CDATA[Windows NT 4.0]]></category>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=13029</guid>

					<description><![CDATA[or the Unbridled rage of living on the trailing edge. I hosted a Porting Party last where where I setup my Dec Alpha as a terminal server allowing people from all over the world to connect in and cross compile &#8230; <a href="https://virtuallyfun.com/2023/07/24/joining-nt-4-to-a-samba-domain-controller/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">or the Unbridled rage of living on the trailing edge.</p>



<p class="wp-block-paragraph">I hosted a Porting Party last where where I setup my Dec Alpha as a terminal server allowing people from all over the world to connect in and cross compile software for the <a href="https://virtuallyfun.com/2023/06/26/axp64-2210-installation-media-reconstruction/" target="_blank" rel="noreferrer noopener">64bit version of Windows for the Dec Alpha</a>.  While many problems were overcome, and many more remain, I have to say the most annoying thing was joining a domain hosted by a SAMBA server.</p>



<p class="wp-block-paragraph">In my mind, I though the easiest way to get files in &amp; out of the Alpha was not to use something like IIS/FTP where it would probably lead to end-less issues with text/binary/active/passive modes, but rather I should rent a VPS, install the OS default SAMBA and just map drives.  The benefit of the VPS is that it has a public address, so no NAT is required.  The VPS had an option for either CentOS (no) or Debian 10.  I went with the Debian, and did an in place upgrade to 11, then 12. Nothing special.</p>



<p class="wp-block-paragraph">I&#8217;d never actually used SAMBA as a domain controller before, but I thought this would be a fun experiment.  So the idea is then that the VPS running SAMBA is the Domain Controller, and my Alpha joins it as a member server.  Everyone else can use Windows or any SAMBA client and map drives, and then copy files to the VPS, and then copy back and forth from the Alpha to the VPS.  This part worked fine.</p>



<p class="wp-block-paragraph">What didn&#8217;t work was SAMBA version 4.</p>



<p class="wp-block-paragraph">I had come up with this config, based on the fragments of the default config, and and hints from <a rel="noreferrer noopener" href="https://wiki.samba.org/index.php/Setting_up_Samba_as_an_NT4_PDC_(Quick_Start)" target="_blank">samba.org</a>. </p>



<pre class="wp-block-code"><code>&#91;global]
    netbios name = PDC
    passdb backend = tdbsam
    server max protocol = NT1
    username map = /usr/local/samba/etc/username.map
    workgroup = ALPHAPARTY
    server string = Samba Server
    security = user
    hosts allow = 127.0.0.1, &lt;&lt;&lt;peoples networks...>>>
    load printers = yes
    log file = /usr/local/samba/var/log.%m
    max log size = 50
    passdb backend = tdbsam
    local master = yes
    os level = 33
    domain master = yes
    preferred master = yes
    domain logons = yes
    wins support = yes
    dns proxy = no
    add user script = /usr/sbin/useradd %u
    add group script = /usr/sbin/groupadd %g
    add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
    delete user script = /usr/sbin/userdel %u
    delete user from group script = /usr/sbin/deluser %u %g
    delete group script = /usr/sbin/groupdel %g
&#91;homes]
    comment = Home Directories
    browseable = no
    writable = yes
&#91;printers]
    comment = All Printers
    path = /usr/spool/samba
    browseable = no
    guest ok = no
    writable = no
    printable = yes
&#91;public]
    comment = share for everyone
    path = /public
    public = yes
    writable = yes
    printable = no
    creaet mask = 0777</code></pre>



<p class="wp-block-paragraph">I had endless issues with the machine account not being either created correctly or not being authenticated. I tried <a rel="noreferrer noopener" href="https://www.dekart.com/howto/howto_logon/howto_logon_samba/trust_acc" target="_blank">manually creating it</a>, to no avail. No matter what I tried it didn&#8217;t work.</p>



<p class="wp-block-paragraph">Working with NT 4.0 must be depreciated or something but no matter what I tried IT JUST DIDN&#8217;T WORK.</p>



<p class="wp-block-paragraph">Feeling outraged, I purged the old Samba, downloaded the source code to 3.6.25, built that, and using the same configuration I had tried to put together, it just worked.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/07/alpha-joining-the-domain.png"><img loading="lazy" decoding="async" width="830" height="330" src="https://virtuallyfun.com/wp-content/uploads/2023/07/alpha-joining-the-domain.png" alt="" class="wp-image-13026" srcset="https://virtuallyfun.com/wp-content/uploads/2023/07/alpha-joining-the-domain.png 830w, https://virtuallyfun.com/wp-content/uploads/2023/07/alpha-joining-the-domain-300x119.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/07/alpha-joining-the-domain-768x305.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/07/alpha-joining-the-domain-500x199.png 500w" sizes="auto, (max-width: 830px) 100vw, 830px" /></a><figcaption class="wp-element-caption">Dec Alpha joining the SMB Domain</figcaption></figure>



<p class="wp-block-paragraph">Adding users was somewhat straight forward:</p>



<pre class="wp-block-code"><code>
useradd -M -s /bin/bash neozeed
passwd neozeed
/usr/local/samba/bin/smbpasswd -a neozeed
/usr/local/samba/bin/smbpasswd -e neozeed
mkdir /home/neozeed
chown neozeed /home/neozeed/</code></pre>



<p class="wp-block-paragraph">Creating both a Linux user &amp; directory, and the SAMBA credentials.  On the terminal server, all that remains was assigning a local home directory &amp; profile directories, as you really don&#8217;t want those over the WAN.</p>



<p class="wp-block-paragraph">I have no idea if this is a warning to others, or whatever the larger issue is.</p>



<h2 class="wp-block-heading">Porting Party II</h2>



<p class="wp-block-paragraph">At any rate I&#8217;ll be running another porting party this coming weekend.  I can host cross compiling fine, but we need people with the 64bit Whistler beta installed to test.  The best way to get details is over on <a rel="noreferrer noopener" href="https://discord.gg/HMwevcN" target="_blank">discord</a>.  Lately the IRC bridge is down more than it&#8217;s up, and I can&#8217;t effectively send out passwords &amp; get your network block to allow access to the RDP, since I&#8217;m not going to open up worldwide access to a Windows NT 4.0 SP5 machine.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://discord.gg/eCmXBUwx?event=1133184155547615273"><img loading="lazy" decoding="async" width="800" height="600" src="https://virtuallyfun.com/wp-content/uploads/2023/07/alpha-64-porting-party-2.jpg" alt="" class="wp-image-13032" srcset="https://virtuallyfun.com/wp-content/uploads/2023/07/alpha-64-porting-party-2.jpg 800w, https://virtuallyfun.com/wp-content/uploads/2023/07/alpha-64-porting-party-2-300x225.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2023/07/alpha-64-porting-party-2-768x576.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2023/07/alpha-64-porting-party-2-400x300.jpg 400w" sizes="auto, (max-width: 800px) 100vw, 800px" /></a><figcaption class="wp-element-caption">Porting Party II</figcaption></figure>
</div>


<p class="wp-block-paragraph">So for anyone interested in porting their C/C++ to either the 32bit Alpha Windows, or 64bit Alpha Windows come join us on discord!</p>



<p class="wp-block-paragraph">I&#8217;ll fire up the Alpha on Friday afternoon GMT and expect the event to run all weekend!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2023/07/24/joining-nt-4-to-a-samba-domain-controller/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>Connecting NT 4.0 clients to a SAMBA 4.17.9-Debian server</title>
		<link>https://virtuallyfun.com/2023/07/16/connecting-nt-4-0-clients-to-a-samba-4-17-9-debian-server/</link>
					<comments>https://virtuallyfun.com/2023/07/16/connecting-nt-4-0-clients-to-a-samba-4-17-9-debian-server/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Sun, 16 Jul 2023 14:15:15 +0000</pubDate>
				<category><![CDATA[netbeui]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[Windows NT 4.0]]></category>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=12993</guid>

					<description><![CDATA[This is a brief but annoying thing. I want to have an internet server that people can map drives to, for copying data in/out for the upcoming Dec Alpha AXP64 building extravaganza! I wan tot use my Dec Alpha for &#8230; <a href="https://virtuallyfun.com/2023/07/16/connecting-nt-4-0-clients-to-a-samba-4-17-9-debian-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">This is a brief but annoying thing.</p>



<p class="wp-block-paragraph">I want to have an internet server that people can map drives to, for copying data in/out for the upcoming Dec Alpha AXP64 building extravaganza!  I wan tot use my Dec Alpha for building since it&#8217;s got a gigabyte of RAM.  One of the hard parts is that NT 4 is beyond obsolete, and twice as much on the DEC Alpha.  I was figuring renting a VPS, and using it as a SAMBA server so people can simply map a drive from home, copy files to the VPS, terminal server to the Alpha, and copy files to &amp; from the internet.  Easy right?!</p>



<p class="wp-block-paragraph">I was non stop getting this error:</p>



<pre class="wp-block-code"><code>System error 1326 has occurred.

Login failure: unknown user name or bad password.</code></pre>



<p class="wp-block-paragraph">Except I knew the username &amp; password was correct.</p>



<p class="wp-block-paragraph">The key part involved a few parameters to get it working.  Although many people reported success by simply setting the protocol level, for me I had to set that and the lanman/ntlm auth to yes.  Trying to enable NT4 compatible encryption didn&#8217;t work either.</p>



<pre class="wp-block-code"><code>&#91;global]
   workgroup = WORKGROUP
   server min protocol = NT1
   client min protocol = NT1
   lanman auth=yes
   ntlm auth=yes</code></pre>



<p class="wp-block-paragraph">I&#8217;m not sure if it&#8217;s all that helpful to the world at large, or if it&#8217;s just super common knowledge, but I haven&#8217;t setup SAMBA in like forever.  I guess I could go one further and join it to the domain but that doesn&#8217;t seem like it&#8217;s all that needed or all that smart.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2023/07/16/connecting-nt-4-0-clients-to-a-samba-4-17-9-debian-server/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft&#8217;s Netware emulators</title>
		<link>https://virtuallyfun.com/2023/06/12/microsofts-netware-emulators/</link>
					<comments>https://virtuallyfun.com/2023/06/12/microsofts-netware-emulators/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 12 Jun 2023 20:10:37 +0000</pubDate>
				<category><![CDATA[netware]]></category>
		<category><![CDATA[Novell Netware 3.12]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[QEMU]]></category>
		<category><![CDATA[virtual networking]]></category>
		<category><![CDATA[Windows 95]]></category>
		<category><![CDATA[Windows NT 3.51]]></category>
		<category><![CDATA[Windows NT 4.0]]></category>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=12799</guid>

					<description><![CDATA[First thing to take care of, is if you have the old pcap on Windows running around. If you have it, you&#8217;ll know as you&#8217;ll get spammed with &#8220;FATAL Bad Memory Block.&#8221;, although things will continue to operate just fine. &#8230; <a href="https://virtuallyfun.com/2023/06/12/microsofts-netware-emulators/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">First thing to take care of, is if you have the <a href="http://www.win10pcap.org/download/" target="_blank" rel="noreferrer noopener">old pcap on Windows</a> running around.  If you have it, you&#8217;ll know as you&#8217;ll get spammed with &#8220;FATAL Bad Memory Block.&#8221;, although things will continue to operate just fine.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/old-Win10Pcap.png"><img loading="lazy" decoding="async" width="799" height="63" src="https://virtuallyfun.com/wp-content/uploads/2023/06/old-Win10Pcap.png" alt="" class="wp-image-12800" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/old-Win10Pcap.png 799w, https://virtuallyfun.com/wp-content/uploads/2023/06/old-Win10Pcap-300x24.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/old-Win10Pcap-768x61.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/old-Win10Pcap-500x39.png 500w" sizes="auto, (max-width: 799px) 100vw, 799px" /></a><figcaption class="wp-element-caption">Win10Pcap!</figcaption></figure>



<pre class="wp-block-code"><code>C:\dynamips\netware\qemu-0.90-pcap-client>qemu -m 16 -L pc-bios -M isapc -hda client.disk -soundhw sb16,adlib -net nic,macaddr=52:24:00:22:00:01 -net pcap,devicename={BFA868ED-E508-4436-B085-EC815C4C544C}
Eth: opened {BFA868ED-E508-4436-B085-EC815C4C544C}
Could not open '\\.\kqemu' - QEMU acceleration layer not activated
FATAL Bad Memory Block.
FATAL Bad Memory Block.
FATAL Bad Memory Block.
FATAL Bad Memory Block.</code></pre>



<p class="wp-block-paragraph">So be sure to dump that for the one over on <a href="https://npcap.com/" target="_blank" rel="noreferrer noopener">npcap</a>!</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap.png"><img loading="lazy" decoding="async" width="1024" height="471" src="https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap-1024x471.png" alt="" class="wp-image-12801" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap-1024x471.png 1024w, https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap-300x138.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap-768x353.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap-500x230.png 500w, https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap.png 1225w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">The old times, actually running Netware 3.12</figcaption></figure>



<p class="wp-block-paragraph">There was a time when Windows NT didn&#8217;t dominate the 1990&#8217;s data centre.  Instead as a carryover from the 1980&#8217;s the majority of corporate LANS were instead based on Netware. And the only way Windows NT was going to make space in this environment was to dress up in sheep&#8217;s clothes and mingle among them unnoticed.  That brings us to this GEM:</p>



<figure class="wp-block-image size-large"><a href="https://archive.org/details/FPNWDSMN"><img loading="lazy" decoding="async" width="1024" height="684" src="https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc-1024x684.jpg" alt="" class="wp-image-12802" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc-1024x684.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc-300x200.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc-768x513.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc-1536x1025.jpg 1536w, https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc-449x300.jpg 449w, https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc.jpg 1600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Services for NetWare</figcaption></figure>



<p class="wp-block-paragraph">This fun CD will let our NT 4.0 server emulate a NetWare server!  The first thing in one of these stealth migrations was to just join the existing network.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/existing-netware-network-setup.png"><img loading="lazy" decoding="async" width="722" height="427" src="https://virtuallyfun.com/wp-content/uploads/2023/06/existing-netware-network-setup.png" alt="" class="wp-image-12803" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/existing-netware-network-setup.png 722w, https://virtuallyfun.com/wp-content/uploads/2023/06/existing-netware-network-setup-300x177.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/existing-netware-network-setup-500x296.png 500w" sizes="auto, (max-width: 722px) 100vw, 722px" /></a><figcaption class="wp-element-caption">The existing network is 0C0FFCAB</figcaption></figure>



<p class="wp-block-paragraph">In order to do this, the two bits of information we need is the frame type, since NetWare supports so many, and the network address.  In this case its 0C0FFCAB.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/default-nt-ipx-setup.png"><img loading="lazy" decoding="async" width="568" height="487" src="https://virtuallyfun.com/wp-content/uploads/2023/06/default-nt-ipx-setup.png" alt="" class="wp-image-12804" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/default-nt-ipx-setup.png 568w, https://virtuallyfun.com/wp-content/uploads/2023/06/default-nt-ipx-setup-300x257.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/default-nt-ipx-setup-350x300.png 350w" sizes="auto, (max-width: 568px) 100vw, 568px" /></a><figcaption class="wp-element-caption">default IPX is no good</figcaption></figure>



<p class="wp-block-paragraph">By default the NT server will just listen to the network, and participate on what it sees.  This is fine if you are just playing along as a dynamic node, but being a NetWare node requires you to step it up, and have these values set, as it is very possible that you could be the first one (or only one) live on the network, and you don&#8217;t want clients trying to think on their own.</p>



<p class="wp-block-paragraph">I also gave mine an internal network number of 1381, because you know, it&#8217;s NT 4.0.</p>



<p class="wp-block-paragraph">To add the FPNW, you need to add it as a new service.  Just tell it you have a disk</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service.png"><img loading="lazy" decoding="async" width="527" height="489" src="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service.png" alt="" class="wp-image-12805" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service.png 527w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-300x278.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-323x300.png 323w" sizes="auto, (max-width: 527px) 100vw, 527px" /></a></figure>



<p class="wp-block-paragraph">You&#8217;ll then have to point it to the path of the install.  This is honestly the hardest part.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-2.png"><img loading="lazy" decoding="async" width="540" height="458" src="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-2.png" alt="" class="wp-image-12806" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-2.png 540w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-2-300x254.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-2-354x300.png 354w" sizes="auto, (max-width: 540px) 100vw, 540px" /></a></figure>



<p class="wp-block-paragraph">Selecting the first option will install the NetWare Server emulation on the NT server.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-4.png"><img loading="lazy" decoding="async" width="477" height="529" src="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-4.png" alt="" class="wp-image-12808" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-4.png 477w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-4-271x300.png 271w" sizes="auto, (max-width: 477px) 100vw, 477px" /></a></figure>



<p class="wp-block-paragraph">I went ahead and named my NetWare emulation as SHEEP, as I NT to blend into the existing NetWare network, with nobody being the wiser.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/client-found-the-sheep.png"><img loading="lazy" decoding="async" width="722" height="427" src="https://virtuallyfun.com/wp-content/uploads/2023/06/client-found-the-sheep.png" alt="" class="wp-image-12809" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/client-found-the-sheep.png 722w, https://virtuallyfun.com/wp-content/uploads/2023/06/client-found-the-sheep-300x177.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/client-found-the-sheep-500x296.png 500w" sizes="auto, (max-width: 722px) 100vw, 722px" /></a></figure>



<p class="wp-block-paragraph">indeed, on our client that was already connected to the Qemu server before I built WOLF, I ran an <code>slist</code> command to show all the servers on the network, and there is my Wolf in Sheep&#8217;s clothes.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-enable-netware-logins-for-an-existing-user.png"><img loading="lazy" decoding="async" width="660" height="467" src="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-enable-netware-logins-for-an-existing-user.png" alt="" class="wp-image-12810" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-enable-netware-logins-for-an-existing-user.png 660w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-enable-netware-logins-for-an-existing-user-300x212.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-enable-netware-logins-for-an-existing-user-424x300.png 424w" sizes="auto, (max-width: 660px) 100vw, 660px" /></a></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="587" height="373" src="https://virtuallyfun.com/wp-content/uploads/2023/06/creating-volumes.png" alt="" class="wp-image-12812" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/creating-volumes.png 587w, https://virtuallyfun.com/wp-content/uploads/2023/06/creating-volumes-300x191.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/creating-volumes-472x300.png 472w" sizes="auto, (max-width: 587px) 100vw, 587px" /></figure>



<p class="wp-block-paragraph">Creating NetWare compatible volumes is done in the Server Manager, under the FPNW option.  It&#8217;s pretty self explanatory, nothing too exciting there.</p>



<p class="wp-block-paragraph">The truth is during the period where this was important the NT 3.51-40 timeframe, NetWare was still a dominant force.  But once Windows 95 had launched, and the explosion of people wanting MORE, the natural interest of people going to NT was just amazing to see in corporate space.  While there was an early beta of the newshell for NT 3.51, when NT 4.0 shipped it was just amazing as all the reservations for running NT had just evaporated.  We&#8217;d gone from hiding among the sheep to full on eating them all.  It was staggering how fast we were backing up NetWare volumes to only re-format the servers to NT, and get people converted to using them.  Before NT 4, the consensus was that rolling out the client config was going to be a nightmare, and that being able to emulate NetWare was the way to go, as it would just work (see the MS-DOS VM talking to NT with an unmodified NetWare client).  Instead we saw a massive drive to Windows 95, which ended up changing the client landscape and upending NetWare completly.</p>



<p class="wp-block-paragraph">About the most difficult thing was user mappings, there was tools to do this kind of thing, and I believe we had something to even proxy passwords, but it was easier to make people just login to the NT side.</p>



<p class="wp-block-paragraph">Of course this is ONE of the emulators, you might be asking, okay, what is the other?</p>



<p class="wp-block-paragraph">Why, it&#8217;s <strong>WINDOWS 95</strong>.</p>



<p class="wp-block-paragraph">YES.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="642" height="507" src="https://virtuallyfun.com/wp-content/uploads/2023/06/set-the-name-and-domain-of-dolly.png" alt="" class="wp-image-12818" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/set-the-name-and-domain-of-dolly.png 642w, https://virtuallyfun.com/wp-content/uploads/2023/06/set-the-name-and-domain-of-dolly-300x237.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/set-the-name-and-domain-of-dolly-380x300.png 380w" sizes="auto, (max-width: 642px) 100vw, 642px" /></figure>



<p class="wp-block-paragraph">I&#8217;m joining the NT domain for the full experence, but the NetWare emulation relies on NetWare servers for authentication.  You could use an actual NetWare server, or of course a FPNW server.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service.png"><img loading="lazy" decoding="async" width="596" height="456" src="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service.png" alt="" class="wp-image-12816" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service.png 596w, https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-300x230.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-392x300.png 392w" sizes="auto, (max-width: 596px) 100vw, 596px" /></a></figure>
</div>


<p class="wp-block-paragraph">Adding file and printer sharing for NetWare workgroups under Windows 95 is done by adding a Service to the network stack.  It&#8217;s even on the floppy version.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-access-controll-from-sheep.png"><img loading="lazy" decoding="async" width="414" height="332" src="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-access-controll-from-sheep.png" alt="" class="wp-image-12819" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-access-controll-from-sheep.png 414w, https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-access-controll-from-sheep-300x241.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-access-controll-from-sheep-374x300.png 374w" sizes="auto, (max-width: 414px) 100vw, 414px" /></a></figure>
</div>


<p class="wp-block-paragraph">To maximize the functionality and the pain, be sure to turn on SAP Advertising.  This way it&#8217;ll appear in server lists.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-enable-sap-advertising.png"><img loading="lazy" decoding="async" width="423" height="332" src="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-enable-sap-advertising.png" alt="" class="wp-image-12815" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-enable-sap-advertising.png 423w, https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-enable-sap-advertising-300x235.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-enable-sap-advertising-382x300.png 382w" sizes="auto, (max-width: 423px) 100vw, 423px" /></a><figcaption class="wp-element-caption">SAP on!</figcaption></figure>
</div>


<p class="wp-block-paragraph">So with all of this in place, yes you can map drives from the MS-DOS client to the Windows 95 workstation acting as a server.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="722" height="427" src="https://virtuallyfun.com/wp-content/uploads/2023/06/mapping-a-drive-from-dolly-authenticated-by-the-wolf-hiding-as-a-sheep.png" alt="" class="wp-image-12820" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/mapping-a-drive-from-dolly-authenticated-by-the-wolf-hiding-as-a-sheep.png 722w, https://virtuallyfun.com/wp-content/uploads/2023/06/mapping-a-drive-from-dolly-authenticated-by-the-wolf-hiding-as-a-sheep-300x177.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/mapping-a-drive-from-dolly-authenticated-by-the-wolf-hiding-as-a-sheep-500x296.png 500w" sizes="auto, (max-width: 722px) 100vw, 722px" /><figcaption class="wp-element-caption">Mapping a drive on 95, authenticated by the WOLF hiding as a SHEEP</figcaption></figure>
</div>


<p class="wp-block-paragraph">And there we go, I can now see the Windows 95 workstation on the SLIST, and connect and map drives.  My user account of course exists on the NT side.</p>



<p class="wp-block-paragraph">While professionally I didn&#8217;t rely too much on this feature, but it was nice in that era where you still had MS-DOS/MacOS/OS2 desktops with NetWare clients to quickly share stuff. But in a large organisation this would lead to major issues.</p>



<p class="wp-block-paragraph">The fundamental flaw in NetWare is that there is no directory service.  Instead, all the servers have to broadcast that they exist, along with what services they provide.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/neware-sap.png"><img loading="lazy" decoding="async" width="887" height="80" src="https://virtuallyfun.com/wp-content/uploads/2023/06/neware-sap.png" alt="" class="wp-image-12821" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/neware-sap.png 887w, https://virtuallyfun.com/wp-content/uploads/2023/06/neware-sap-300x27.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/neware-sap-768x69.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/neware-sap-500x45.png 500w" sizes="auto, (max-width: 887px) 100vw, 887px" /></a></figure>



<p class="wp-block-paragraph">On my tiny demo network this isn&#8217;t that much traffic.  But on a larger network that spans continents this becomes a problem.  With thousands of servers there can be an incredible amount of this SAP announcement traffic.  Since there is no directory service, the other problem is that when a new client is booted up, it&#8217;ll do what is known as a GNS or Get Nearest Server request in order to find the closest server to attach to, in order to facilitate a login.  And <em><strong>EVERY</strong></em> server will reply.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/GNS-replies.png"><img loading="lazy" decoding="async" width="948" height="395" src="https://virtuallyfun.com/wp-content/uploads/2023/06/GNS-replies.png" alt="" class="wp-image-12822" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/GNS-replies.png 948w, https://virtuallyfun.com/wp-content/uploads/2023/06/GNS-replies-300x125.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/GNS-replies-768x320.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/GNS-replies-500x208.png 500w" sizes="auto, (max-width: 948px) 100vw, 948px" /></a></figure>
</div>


<p class="wp-block-paragraph">And as you can see some servers even will reply more than once.  And this can have other effects where people reboot servers during the day, something that is very natural for a Windows 95 user, which could create issues for other users, even forcing them to reboot!  And yes, anecdotally I ran into this so many times where people with laptops with this feature turned on, and they would screw up the local office building (impacting hundreds of people).  Even when they weren&#8217;t winning the GNS elections.they are still generating extra traffic, and occasionally they will win.  This was another problem we had with all these wolves hiding in sheep&#8217;s clothing.</p>



<p class="wp-block-paragraph">In the end, NetWare was utterly removed from the data center&#8217;s by the end of 1997.  Windows NT just scaled too well for SMP and large disks (I had one server with 1TB!  It was using 4GB disks it was massive!), along with being able to easily install stuff like SQL Server &amp; SNA Server, unlike NetWare where any NLM conflict will bring the entire thing down.  Not having a name lookup server was a giant pain, but the final nail was also in 1997 with the rise of the internet, and normal people now getting involved the entire LAN/WAN was going TCP/IP, where it had only been a fringe protocol used for managing cisco routers, and tftp/ftp some files around, Windows NT&#8217;s ability to encapsulate named pipes, and NETBIOS over TCP/IP let them embrace this new world where the TCP/IP stack on NetWare 3.12/4.11 was only good for sending SNMP alerts.</p>



<p class="wp-block-paragraph">But don&#8217;t cry for NetWare, they made so much money they were able to coast for decades before being bought out in 2010 by a Mainframe Terminal Emulation company of all things, The Attachmate Group, who was later in turn bought out by Micro Focus, a COBOL language company.  I guess in the end, the Mainframes won?</p>



<p class="wp-block-paragraph"> </p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2023/06/12/microsofts-netware-emulators/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
