<?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>x86_64 &#8211; Virtually Fun</title>
	<atom:link href="https://virtuallyfun.com/category/x86_64/feed/" rel="self" type="application/rss+xml" />
	<link>https://virtuallyfun.com</link>
	<description>Fun with Virtualization</description>
	<lastBuildDate>Thu, 29 Jan 2026 05:34:22 +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>Build your own Apple DTK and save a fortune!</title>
		<link>https://virtuallyfun.com/2025/04/02/build-your-own-apple-dtk-and-save-a-fortune/</link>
					<comments>https://virtuallyfun.com/2025/04/02/build-your-own-apple-dtk-and-save-a-fortune/#respond</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Wed, 02 Apr 2025 18:08:34 +0000</pubDate>
				<category><![CDATA[OS X]]></category>
		<category><![CDATA[retro hardware]]></category>
		<category><![CDATA[x86_64]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=15132</guid>

					<description><![CDATA[I am not a cool person. I don&#8217;t get invited to all the cool people events. I never get to bask in the glory of FOMO Apple glory. It&#8217;ll be 20 years ago the rumors were insane that Apple was &#8230; <a href="https://virtuallyfun.com/2025/04/02/build-your-own-apple-dtk-and-save-a-fortune/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2025/01/build-your-own-apple-developer-transition-kit-and-save-a-fortune-inside-of-a-computer-with-a-user-staring-into-the-camera-with-heavy-tools-1980s-style-circuit-boards.jpg"><img fetchpriority="high" decoding="async" width="1024" height="1024" src="https://virtuallyfun.com/wp-content/uploads/2025/01/build-your-own-apple-developer-transition-kit-and-save-a-fortune-inside-of-a-computer-with-a-user-staring-into-the-camera-with-heavy-tools-1980s-style-circuit-boards.jpg" alt="" class="wp-image-15139" srcset="https://virtuallyfun.com/wp-content/uploads/2025/01/build-your-own-apple-developer-transition-kit-and-save-a-fortune-inside-of-a-computer-with-a-user-staring-into-the-camera-with-heavy-tools-1980s-style-circuit-boards.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2025/01/build-your-own-apple-developer-transition-kit-and-save-a-fortune-inside-of-a-computer-with-a-user-staring-into-the-camera-with-heavy-tools-1980s-style-circuit-boards-300x300.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2025/01/build-your-own-apple-developer-transition-kit-and-save-a-fortune-inside-of-a-computer-with-a-user-staring-into-the-camera-with-heavy-tools-1980s-style-circuit-boards-150x150.jpg 150w, https://virtuallyfun.com/wp-content/uploads/2025/01/build-your-own-apple-developer-transition-kit-and-save-a-fortune-inside-of-a-computer-with-a-user-staring-into-the-camera-with-heavy-tools-1980s-style-circuit-boards-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">AI Slop</figcaption></figure>



<p class="wp-block-paragraph">I am not a cool person.</p>



<p class="wp-block-paragraph">I don&#8217;t get invited to all the cool people events.</p>



<p class="wp-block-paragraph">I never get to bask in the glory of FOMO Apple glory.</p>



<p class="wp-block-paragraph">It&#8217;ll be 20 years ago the rumors were insane that Apple was going to dump the beloved PowerPC for intel.  Darwin (the open-source core to OS X) was publicly available on Intel processors, and the scene was set for one of the most exciting transitions of the time:</p>



<figure class="wp-block-image size-large"><a href="https://www.youtube.com/watch?v=JkUpQZxLv4g" target="_blank" rel=" noreferrer noopener"><img decoding="async" width="1024" height="402" src="https://virtuallyfun.com/wp-content/uploads/2025/01/its-true-1024x402.jpg" alt="" class="wp-image-15133" srcset="https://virtuallyfun.com/wp-content/uploads/2025/01/its-true-1024x402.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2025/01/its-true-300x118.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2025/01/its-true-768x301.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2025/01/its-true-500x196.jpg 500w, https://virtuallyfun.com/wp-content/uploads/2025/01/its-true.jpg 1318w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">The WWDC 2005 announcement</figcaption></figure>



<p class="wp-block-paragraph">At the 2005 WWDC the bomb was dropped.</p>



<p class="wp-block-paragraph">The star of the show, of course is that the entire OS X 10.4 Tiger demo was on the intel machine, and for a low price of being invited, belonging to the club &amp; $999 USD you too could be part of the next big FOMO.</p>



<p class="wp-block-paragraph">So as the big reveal went, not only was OS X on intel now a thing, it &#8220;secretly&#8221; was always a thing, and had always been the escape hatch from being locked in.  And it&#8217;s no surprise, it saved NeXT as the i386 &#8220;white box&#8221; was the cheapest and fastest NeXT ever, just as further transitions to 64 bit then ARM64 would necessitate.</p>



<p class="wp-block-paragraph">So how does one reasonably acquire one of these mythical beasts, 20 years after the fact?  Well basically unless you are a cool kid in the know, you don&#8217;t.</p>



<p class="wp-block-paragraph">however as mentioned in a few places the ATK was quickly out together with standard parts.  And if this sounds like the genesis of the IBM 5150 PC, you&#8217;d be right!  The star of the show is the late SSE3 enabled Pentium 4 processors and the Intel 915 chipset with onboard GMA 900 video.</p>



<p class="wp-block-paragraph">Thankfully intel sold these parts to whomever basically wanted them, so they were sold on a bunch of partner boards, OEM, and even Intel fabricated boards. It may be my fault as typical board/processor/ram setups can be had for £5 in the UK, the magical 915 chipset has jumped these well north of £100. However, from my searching there are a few OEM systems with the needed chips, and that is the Dell Dimension 3100.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="701" height="322" src="https://virtuallyfun.com/wp-content/uploads/2025/04/dell-dimension-3100-ebay-order.png" alt="" class="wp-image-15258" srcset="https://virtuallyfun.com/wp-content/uploads/2025/04/dell-dimension-3100-ebay-order.png 701w, https://virtuallyfun.com/wp-content/uploads/2025/04/dell-dimension-3100-ebay-order-300x138.png 300w, https://virtuallyfun.com/wp-content/uploads/2025/04/dell-dimension-3100-ebay-order-500x230.png 500w" sizes="(max-width: 701px) 100vw, 701px" /><figcaption class="wp-element-caption">She&#8217;s ugly, but she works!</figcaption></figure>



<p class="wp-block-paragraph">Now I know I got lucky as I got mine for £0.99 + £9 shipping!  A huge shout out to my patreons for financing stuff like this!  The unit was shown in pictures absolutely filthy, missing an optical drive and &#8220;untested&#8221;.  We all know that it&#8217;s code for it was tested, it didn&#8217;t work, and it wasn&#8217;t worth their time to clean up and fix.</p>



<p class="wp-block-paragraph">Opening the system up, revealed an ancient mechanical SATA disk, a bunch of dust bunnies, and empty memory sockets where the ram should go.  Since I had purchased 7 other boards over the last 2 years (yes! Really! 7!!!), I have ample spare ram, gave it 2x512MB sticks, a new cr2032 CMOS battery, and the hard disk failed to spin or detect, but the machine powered up, did the POST test with no issues!  I&#8217;ve got to say I was super happy so far!  I have a £6 SSD I picked up from CeX, so I placed that into the machine, and now for the OS install.</p>



<p class="wp-block-paragraph">My first choice was to create a Linux bootable USB stick and just copy the <a href="https://archive.org/details/deadmoo-tiger-x86" target="_blank" rel="noreferrer noopener">deadmoo</a> image to the SSD. Of course, this came with the caveat that the disk is in the VMDK format which needed to convert using Qemu&#8217;s qemu-img utility to a raw disk image, then to compress it with gzip, as the Ubuntu install image seems to only understand gzip. I guess the next pro move is to see about a static standalone iSCSI target, or maybe even rsync? I think there is even Qemu network disk protocols by now, so it may be a way to get around the lack of optical media&#8230;? Anyways!</p>



<p class="wp-block-paragraph">The deadmoo image can be decompressed and copied to the hard disk easily! It&#8217;s about 2gb compressed and 6GB uncompressed. A reboot, and we&#8217;re quickly and semi glitched in as Curtis to their desktop!</p>



<p class="wp-block-paragraph">there is a pre-installed driver causing issues which drops us back to the fallback SVGA buffer, and I&#8217;m happy to report that the artificing you see under emulation is also present on physical hardware. Delete the TPM driver AppleTPMACPI.kext (the root password is &#8216;bovinity&#8217;), and reboot again. This time there won&#8217;t be any further glitches in the video, but there is another change to make, the <a href="https://archive.org/details/core-graphics-sse-3" target="_blank" rel="noreferrer noopener">core graphics needs to be replaced with the SSE3 variant</a> so that after yet another reboot again Rosetta is fully working, giving us access to PowerPC applications (that don&#8217;t require Altivec! That wouldn&#8217;t arrive until 10.4.4 just in time for the public release!). This lets the screen savers run, and important applications like iTunes and Internet Explorer 5 for Max OS X.</p>



<p class="wp-block-paragraph">As Steve had demo&#8217;d it&#8217;s pretty amazing at how much just works. You can really get an appreciation at just how truly portable C is, and how LIBC is the real cross platform winner is. The company behind Rosetta transitive, had a bright future ahead of them as you can&#8217;t get a better public endorsement that Steve Jobs at a WWDC! SGi had licensed them for Itanium IRIX, and if the other Unix vendors didn&#8217;t partner there was also a Linux path. Honestly, I&#8217;m surprised SUN didn&#8217;t buy them and do the same thing as Apple and jettison the SPARC, as they can sell a LOT more 1u servers, desktops and laptops than giant E10ks, but IBM equally scared and trapped on their AIX / UnixWare Itanium merge Monterey that sold like 5 units, instead bought the company and quickly disappeared the technology.</p>



<p class="wp-block-paragraph">What a shame for the industry, but x86_64 still is an unstoppable force.  Well at least until someone seriously challenges them.</p>



<p class="wp-block-paragraph">Getting back to OS X, this is meant for developers, and the deadmoo image has X code installed, although I prefer to use the cli tools.  This is a weird time in history as many things may support OS X, but they make really bad platform assumptions, and force endian directions breaking the given stance of all OS X is big endian &#8211; even though Intel Darwin has been around the entire time.</p>



<p class="wp-block-paragraph">Ive had good luck with stuff that is much later than vintage 2005, as I&#8217;m lazy and it&#8217;s 2025.  The fun stuff id built were:</p>



<ul class="wp-block-list">
<li>SDL 1.15</li>



<li>DOSBox SVN</li>



<li>Qemu 0.10</li>



<li>Classic Cube</li>



<li>ssystem-1.6</li>
</ul>



<p class="wp-block-paragraph">I had thought that the performance using GCC 3 would be better than GCC 4 for Qemu, but after a lot of work I&#8217;d benched it with DooM v1.1 that V4 is faster.</p>



<figure class="wp-block-video"><video controls src="https://social.superglobalmegacorp.com/social/neozeed/s/94e1d6bfd4a1bf10c7ed0736befb6640.mp4"></video><figcaption class="wp-element-caption">Ssystem-1.6</figcaption></figure>



<p class="wp-block-paragraph">Compatibility with OpenGL games is atrocious, but I&#8217;m pretty sure by the time 10.4.4 went public compatibility was better, although I doubt contemporary machines did all that well as there is a reason there was a rush to get intel versions out.</p>



<p class="wp-block-paragraph">Building your own:</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915G-graphics.jpg"><img loading="lazy" decoding="async" width="1024" height="768" src="https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915G-graphics-1024x768.jpg" alt="" class="wp-image-15253" srcset="https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915G-graphics-1024x768.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915G-graphics-300x225.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915G-graphics-768x576.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915G-graphics-1536x1152.jpg 1536w, https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915G-graphics-400x300.jpg 400w, https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915G-graphics.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Intel 915G/915GV/910GL PCI Accelerated SVGA BIOS</figcaption></figure>



<p class="wp-block-paragraph">The primary ingredient here is a board with the Intel 910/915 Graphics chips, which limits us to the late Intel Pentium 4 boards, with that terrible integrated video.  It&#8217;s not the best video chipset in the world, but the only one that 10.4.1 had 3d acceleration for.</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2025/04/GJv5yw1XkAAOWBo.jpg"><img loading="lazy" decoding="async" width="1024" height="768" src="https://virtuallyfun.com/wp-content/uploads/2025/04/GJv5yw1XkAAOWBo-1024x768.jpg" alt="" class="wp-image-15254" srcset="https://virtuallyfun.com/wp-content/uploads/2025/04/GJv5yw1XkAAOWBo-1024x768.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2025/04/GJv5yw1XkAAOWBo-300x225.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2025/04/GJv5yw1XkAAOWBo-768x576.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2025/04/GJv5yw1XkAAOWBo-1536x1152.jpg 1536w, https://virtuallyfun.com/wp-content/uploads/2025/04/GJv5yw1XkAAOWBo-400x300.jpg 400w, https://virtuallyfun.com/wp-content/uploads/2025/04/GJv5yw1XkAAOWBo.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Apple Development Platform ADP 2,1</figcaption></figure>



<p class="wp-block-paragraph">I had found out that the Dell 3100 pre-built tower has the supported chipset &amp; CPU, however it doesn&#8217;t have the correct onboard network card.</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2025/04/Pentium-D915P-mother-board.jpg" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="1024" height="768" src="https://virtuallyfun.com/wp-content/uploads/2025/04/Pentium-D915P-mother-board-1024x768.jpg" alt="" class="wp-image-15255" srcset="https://virtuallyfun.com/wp-content/uploads/2025/04/Pentium-D915P-mother-board-1024x768.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2025/04/Pentium-D915P-mother-board-300x225.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2025/04/Pentium-D915P-mother-board-768x576.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2025/04/Pentium-D915P-mother-board-400x300.jpg 400w, https://virtuallyfun.com/wp-content/uploads/2025/04/Pentium-D915P-mother-board.jpg 1467w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Intel Desktop Board D915PSY</figcaption></figure>



<p class="wp-block-paragraph">The Intel LAN boards of the era with the 915 moniker &amp; Pentium 4 should be fine enough.  </p>



<figure class="wp-block-image size-full"><a href="https://www.ebay.co.uk/sch/i.html?_nkw=intel+915+motherboard"><img loading="lazy" decoding="async" width="936" height="557" src="https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915-boards.png" alt="" class="wp-image-15257" srcset="https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915-boards.png 936w, https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915-boards-300x179.png 300w, https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915-boards-768x457.png 768w, https://virtuallyfun.com/wp-content/uploads/2025/04/intel-915-boards-500x298.png 500w" sizes="auto, (max-width: 936px) 100vw, 936px" /></a><figcaption class="wp-element-caption">I don&#8217;t know why they are so expensive either.</figcaption></figure>



<p class="wp-block-paragraph">Although in the recent years these boards have gotten rather expensive. I can&#8217;t imagine why, as they absolutely suck for retro gaming as you&#8217;d 100% use a GPU, Other than 10.4.1 I can&#8217;t imagine why anyone would want a P4/915 combo.</p>



<p class="wp-block-paragraph">While you could dd a deadmoo image onto 2 disks, then play partition games, it&#8217;s far easier to use <a href="https://archive.org/details/mac-os-x-10.4-tiger-for-intel-x-86-bootable-and-installable" target="_blank" rel="noreferrer noopener">the converted ISO with 10.4.1</a> to just boot up and install if that is an option.</p>



<p class="wp-block-paragraph">If you don&#8217;t have a 910/915 based board, you can run this under emulation well enough.  The weird graphical glitches you&#8217;ll experience are present on real hardware as well.</p>



<p class="wp-block-paragraph">While not terribly useful, it is an interesting glimpse as at least x86 is available to the masses.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2025/04/02/build-your-own-apple-dtk-and-save-a-fortune/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://social.superglobalmegacorp.com/social/neozeed/s/94e1d6bfd4a1bf10c7ed0736befb6640.mp4" length="11367733" type="video/mp4" />

			</item>
		<item>
		<title>relax: Segmentation fault</title>
		<link>https://virtuallyfun.com/2024/06/15/relax-segmentation-fault/</link>
					<comments>https://virtuallyfun.com/2024/06/15/relax-segmentation-fault/#respond</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Sat, 15 Jun 2024 17:10:10 +0000</pubDate>
				<category><![CDATA[64bit computing]]></category>
		<category><![CDATA[x64]]></category>
		<category><![CDATA[x86_64]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=14552</guid>

					<description><![CDATA[Wasting time doing more &#8220;research&#8221; on old GCC, and thanks to suggestions I thought that in addition to the old 1.x stuff, but I should include my old favorite 2.5.8, and the stalled 2.7.2.3, and the EGCS Pentium improved GCC &#8230; <a href="https://virtuallyfun.com/2024/06/15/relax-segmentation-fault/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wasting time doing more &#8220;research&#8221; on old GCC, and thanks to suggestions I thought that in addition to the old 1.x stuff, but I should include my old favorite 2.5.8, and the stalled 2.7.2.3, and the EGCS Pentium improved GCC fork.  I figured re-treading on old ground with the xMach/OSKit build on x86_64 should be safe/quick &amp; easy. </p>



<p class="wp-block-paragraph">My cross chain fails when trying to build libgcc.a  How annoying but I already have one, so I bypass it, and GCC then tries to build the crt (c runtime library startup code) and that fails too!</p>



<pre class="wp-block-code"><code>../binutils-990818-bulid/gas/as-new crtstuff.S -o crtstuff.o
Segmentation fault</code></pre>



<p class="wp-block-paragraph">I&#8217;m using GCC 12.2.0 on Debian 12.  Ok maybe I&#8217;ve finally hit drift, so let me try some other binutils.  binutils-2.10.1, binutils-2.14.  I had originally been lying saying I&#8217;m a Dec Alpha running either OSF or Linux as it matches the size &amp; endian alignment, but no dice.  I found out about the &#8216;linux32&#8217; command that&#8217;ll fake it&#8217;s environment as an i686 processor to fake out a lot of builds.  But the same result over and over.  So, I break down and fire up GDB.</p>



<pre class="wp-block-code"><code>(gdb) r
Starting program: /root/src/xmach/binutils-2.14-bulid/gas/as-new crtstuff.S -o crtstuff.o
&#91;Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x0000555555592ef0 in md_estimate_size_before_relax (fragP=fragP@entry=0x555555668fa8, segment=segment@entry=0x555555668730) at ../../binutils-2.14/gas/config/tc-i386.c:4441
4441      return md_relax_table&#91;fragP->fr_subtype]->rlx_length;
(gdb) bt
#0  0x0000555555592ef0 in md_estimate_size_before_relax (fragP=fragP@entry=0x555555668fa8, segment=segment@entry=0x555555668730) at ../../binutils-2.14/gas/config/tc-i386.c:4441
#1  0x000055555558bce2 in relax_segment (segment_frag_root=0x555555668f30, segment=segment@entry=0x555555668730) at ../../binutils-2.14/gas/write.c:2266
#2  0x000055555558c39c in relax_seg (abfd=&lt;optimized out>, sec=0x555555668730, xxx=0x7fffffffe960) at ../../binutils-2.14/gas/write.c:659
#3  0x000055555559b01f in bfd_map_over_sections (abfd=0x55555565e030, operation=operation@entry=0x55555558c370 &lt;relax_seg>, user_storage=user_storage@entry=0x7fffffffe960)
    at ../../binutils-2.14/bfd/section.c:1101
#4  0x000055555558b501 in write_object_file () at ../../binutils-2.14/gas/write.c:1565
#5  0x000055555556e288 in main (argc=2, argv=0x5555556302d0) at ../../binutils-2.14/gas/as.c:924
(gdb) quit</code></pre>



<p class="wp-block-paragraph">The whole issue revolves around md_relax_table!  I&#8217;d seen a &#8216;fix&#8217; <a href="https://mudongliang.github.io/2017/07/01/binutils-215-error-array-type-has-incomplete-element-type.html" target="_blank" rel="noreferrer noopener">where you add in a pointer, and it&#8217;ll satisfy GCC</a> and sure it&#8217;ll compile.  Years ago, I had #ifdef&#8217;d it out until when I needed it, but the real answer is to embrace 1989 and set the compiler flags to &#8220;-std=gnu89&#8221;</p>



<p class="wp-block-paragraph">I can&#8217;t help but think at some point soon 1989 will be removed as it&#8217;s only wierdos like me building this stuff.</p>



<p class="wp-block-paragraph">Just as the old Unix error status of sys_nerr has been removed for &#8216;reasons&#8217; so may as well amputate all the old code:</p>



<pre class="wp-block-code"><code>-  if (e > 0 &amp;&amp; e &lt; sys_nerr)
-    return sys_errlist&#91;e];</code></pre>



<p class="wp-block-paragraph">Nothing much you can do about it, Linux isn&#8217;t trying to be Unix anymore.</p>



<h2 class="wp-block-heading">64/32</h2>



<p class="wp-block-paragraph">In the end it doesn&#8217;t seem to matter.  OSkit fails to build:</p>



<pre class="wp-block-code"><code>i586-linux-gcc -c -o base_multiboot_init_cmdline.o -MD -DHAVE_CONFIG_H  -DOSKIT_X86 -DOSKIT_X86_PC -DINDIRECT_OSENV=1 -I. -I../../oskit-20020317/kern/x86 -I../../oskit-20020317/kern/x86/pc -I../../oskit-20020317/kern/x86/dos -I../../oskit-20020317/kern  -I- -I../../oskit-20020317/oskit/c -I.. -I../../oskit-20020317 -nostdinc -Wall  -O2 -g  ../../oskit-20020317/kern/x86/pc/base_multiboot_init_cmdline.c
i586-linux-gcc: Internal compiler error: program cc1 got fatal signal 11
make&#91;1]: *** &#91;../../oskit-20020317/GNUmakerules:124: base_multiboot_init_cmdline.o] Error 1</code></pre>



<p class="wp-block-paragraph">And surprisingly mig does build, but Mach does not.</p>



<pre class="wp-block-code"><code>i586-linux-gcc -c   -MD -DLINUX_DEV=1 -DHAVE_VPRINTF=1 -DHAVE_STRERROR=1  -Di386 -DMACH -DCMU -I- -I. -I../../../kernel/libmach/standalone -I../../../kernel/libmach/c -I../../../kernel/libmach -I/root/src/xmach/xMach/object-kern/libmach -I/root/src/xmach/xMach/object-kern/../kernel/generic/libmach/standalone -I/root/src/xmach/xMach/object-kern/../kernel/generic/libmach/c -I/root/src/xmach/xMach/object-kern/../kernel/generic/libmach -I../../../kernel/include/mach/sa -I../../../kernel/include -I/root/src/xmach/xMach/object-kern/../kernel/generic/include -I/root/src/xmach/xMach/object-kern/include -I/root/src/xmach/xMach/object-kern/../kernel/generic/include/mach/sa -nostdinc  -O1 /root/src/xmach/xMach/object-kern/libmach/bootstrap_server.c
/root/src/xmach/xMach/object-kern/libmach/bootstrap_server.c: In function `_Xbootstrap_privileged_ports':
/root/src/xmach/xMach/object-kern/libmach/bootstrap_server.c:90: `null' undeclared (first use this function)
/root/src/xmach/xMach/object-kern/libmach/bootstrap_server.c:90: (Each undeclared identifier is reported only once
/root/src/xmach/xMach/object-kern/libmach/bootstrap_server.c:90: for each function it appears in.)</code></pre>



<p class="wp-block-paragraph">Needless to say, this is why I don&#8217;t use OS X anymore.  Not having a 32bit userland basically killed it for me.</p>



<p class="wp-block-paragraph">I guess the next step is to go ahead with qemu-user mode wrappers to fake it.</p>



<p class="wp-block-paragraph">Sorry if you were hoping for some great conclusion. </p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2024/06/15/relax-segmentation-fault/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>OpenBSD 7.3 on the es40 Dec Alpha emulator!</title>
		<link>https://virtuallyfun.com/2023/05/10/openbsd-7-3-on-the-es40-dec-alpha-emulator/</link>
					<comments>https://virtuallyfun.com/2023/05/10/openbsd-7-3-on-the-es40-dec-alpha-emulator/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Wed, 10 May 2023 11:01:34 +0000</pubDate>
				<category><![CDATA[64bit computing]]></category>
		<category><![CDATA[DEC]]></category>
		<category><![CDATA[DEC Alpha]]></category>
		<category><![CDATA[Digitial]]></category>
		<category><![CDATA[SDL]]></category>
		<category><![CDATA[x86_64]]></category>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=12515</guid>

					<description><![CDATA[Yes OpenBSD 7.3 Alpha boots, and installs! And it&#8217;s incredibly slow. But it&#8217;s running! For those impatient just download it here: OpenBSD73_Alpha_es40.7z The root password is: password I had es40 built this from gdwnldsKSC but I amputated the pcap based &#8230; <a href="https://virtuallyfun.com/2023/05/10/openbsd-7-3-on-the-es40-dec-alpha-emulator/">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/05/OpenBSD-7.3-Alpha-on-es40-emulator.jpg"><img loading="lazy" decoding="async" width="1024" height="676" src="https://virtuallyfun.com/wp-content/uploads/2023/05/OpenBSD-7.3-Alpha-on-es40-emulator-1024x676.jpg" alt="" class="wp-image-12516" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/OpenBSD-7.3-Alpha-on-es40-emulator-1024x676.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2023/05/OpenBSD-7.3-Alpha-on-es40-emulator-300x198.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/OpenBSD-7.3-Alpha-on-es40-emulator-768x507.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2023/05/OpenBSD-7.3-Alpha-on-es40-emulator-455x300.jpg 455w, https://virtuallyfun.com/wp-content/uploads/2023/05/OpenBSD-7.3-Alpha-on-es40-emulator.jpg 1073w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">Yes <a href="https://www.openbsd.org/" target="_blank" rel="noreferrer noopener">OpenBSD 7.3 Alpha</a> boots, and installs! And it&#8217;s incredibly slow.  But it&#8217;s running!</p>



<p class="wp-block-paragraph">For those impatient just download it here: <a href="https://sourceforge.net/projects/bsd42/files/4BSD%20under%20Windows/v0.4/OpenBSD73_Alpha_es40.7z/download" target="_blank" rel="noreferrer noopener">OpenBSD73_Alpha_es40.7z</a></p>



<p class="wp-block-paragraph">The root password is: password</p>



<p class="wp-block-paragraph">I had <a rel="noreferrer noopener" href="https://github.com/gdwnldsKSC/es40" target="_blank">es40</a> built this from <a rel="noreferrer noopener" href="https://github.com/gdwnldsKSC" target="_blank">gdwnldsKSC</a> but I amputated the pcap based networking code. I just wanted a smooth compile.  The install took over an hour, as there is ssh keys to generate, and re-ordering and re-linking involved.  All of which I disabled in the above image.  The root password is password.</p>



<p class="wp-block-paragraph">Since people never read this, the password for root is password.</p>



<p class="wp-block-paragraph">One weird thing is that OpenBSD will crash on an assert if you are using the VGA console, so a serial console is a must.  After it boots, as you can see the VGA console works fine.</p>



<p class="wp-block-paragraph">The games work just fine as well.  I didn&#8217;t bother installing the compilers as it took forever to decompress the base file, and I figured if you wanted it, you could install it.  Also since I amputated the networking, there is no X11.</p>



<p class="wp-block-paragraph">For those of you who want to play with virtual Dec Alpha stuff this one is pretty simple enough.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-rom-prompt.png"><img loading="lazy" decoding="async" width="661" height="418" src="https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-rom-prompt.png" alt="" class="wp-image-12520" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-rom-prompt.png 661w, https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-rom-prompt-300x190.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-rom-prompt-474x300.png 474w" sizes="auto, (max-width: 661px) 100vw, 661px" /></a></figure>



<p class="wp-block-paragraph">At the P00>>> prompt type in</p>



<pre class="wp-block-code"><code>boot dka0</code></pre>



<p class="wp-block-paragraph">And in no time it&#8217;ll boot up (takes about 2-3 minutes)</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="661" height="418" src="https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-OpenBSD-booted.png" alt="" class="wp-image-12521" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-OpenBSD-booted.png 661w, https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-OpenBSD-booted-300x190.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-OpenBSD-booted-474x300.png 474w" sizes="auto, (max-width: 661px) 100vw, 661px" /></figure>



<p class="wp-block-paragraph">And for those of you who are into these things:</p>



<pre class="wp-block-code"><code>OpenVMS PALcode V1.98-104, Tru64 UNIX PALcode V1.92-105

starting console on CPU 0
initialized idle PCB
initializing semaphores
initializing heap
initial heap 240c0
memory low limit = 1b0000 heap = 240c0, 17fc0
initializing driver structures
initializing idle process PID
initializing file system
initializing hardware
initializing timer data structures
lowering IPL
CPU 0 speed is 1000 MHz
create dead_eater
create poll
create timer
create powerup
access NVRAM
Memory size 512 MB
testing memory
...
probe I/O subsystem
probing hose 1, PCI
probing hose 0, PCI
probing PCI-to-ISA bridge, bus 1
bus 0, slot 1 -- pka -- NCR 53C810
bus 0, slot 2 -- vga -- Cirrus CL-GD5434
bus 0, slot 4 -- ewa -- DE500-BA Network Controller
starting drivers
entering idle loop
initializing keyboard
*** system serial number not set. use set sys_serial_num command.
Partition 0, Memory base: 000000000, size: 020000000
initializing GCT/FRU at 1c8000
Initializing pka ewa
Memory Testing and Configuration Status
  Array       Size       Base Address    Intlv Mode
---------  ----------  ----------------  ----------
    0        512Mb     0000000000000000    4-Way

     512 MB of System Memory
Testing the System
Testing the Disks (read only)
Testing the Network
AlphaServer ES40 Console V7.2-1, built on Jun  9 2006 at 15:36:48
P00>>>boot dka0
(boot dka0.0.0.1.0 -flags 0)
block 0 of dka0.0.0.1.0 is a valid boot block
reading 15 blocks from dka0.0.0.1.0
bootstrap code read in
base = 200000, image_start = 0, image_bytes = 1e00(7680)
initializing HWRPB at 2000
initializing page table at 1ff56000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code

OpenBSD/Alpha Primary Boot
VMS PAL rev: 0x4006800010162
OSF PAL rev: 0x400690002015c
Switch to OSF PAL code succeeded.
>> OpenBSD/alpha BOOT 2.0
boot>
booting disk:/bsd: 8562592+683208 &#91;326169+106+499752+320686]=0x9e9790
Unrecognized boot flag '0'.
&#91; using 1147688 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2023 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 7.3-current (GENERIC) #133: Wed May  3 12:45:27 MDT 2023
    deraadt@alpha.openbsd.org:/usr/src/sys/arch/alpha/compile/GENERIC
AlphaServer ES40, 1000MHz
8192 byte page size, 1 processor.
real mem = 536870912 (512MB)
rsvd mem = 2801664 (2MB)
avail mem = 514916352 (491MB)
random: good seed from bootblocks
mainbus0 at root
cpu0 at mainbus0: ID 0 (primary), 21264C-6 (pass 4.0)
cpu0: architecture extensions: 305&lt;PAT,MVI,CIX,BWX>
tsc0 at mainbus0: 21272 Chipset, Cchip rev 0
tsc0: 8 Dchips, 2 memory buses of 16 bytes
tsc0: arrays present: 512MB, 0MB, 0MB, 0MB, Dchip 0 rev 1
tsp0 at tsc0 hose 0
pci0 at tsp0 bus 0
siop0 at pci0 dev 1 function 0 "Symbios Logic 53c810" rev 0x01: dec 6600 irq 8
scsibus0 at siop0: 8 targets, initiator 7
sd0 at scsibus0 targ 0 lun 0: &lt;DEC, RZ58 (C) DEC, 2000> serial.DEC_RZ58_(C)_DECSRL0000
sd0: 2048MB, 512 bytes/sector, 4194304 sectors
vga0 at pci0 dev 2 function 0 "Cirrus Logic CL-GD5434-8" rev 0x02
wsdisplay0 at vga0 mux 1
wsdisplay0: screen 0-5 added (80x25, vt100 emulation)
dc0 at pci0 dev 4 function 0 "DEC 21142/3" rev 0x30: dec 6600 irq 20, address 08:00:2b:e5:40:00
ukphy0 at dc0 phy 0: Generic IEEE 802.3u media interface, rev. 0: OUI 0x000000, model 0x0000
sio0 at pci0 dev 7 function 0 "Acer Labs M1533 ISA" rev 0xc3
isa0 at sio0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16450, no fifo
com0: console
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0 mux 1
wskbd0: connecting to wsdisplay0
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x3bc/4 irq 7
mcclock0 at isa0 port 0x70/2: mc146818 or compatible
tsp1 at tsc0 hose 1
pci1 at tsp1 bus 0
tsciic0 at tsc0
iic0 at tsciic0
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
siop0: target 0 now using 8 bit async xfers
root on sd0a (d4f7f3ff7ccee1b1.a) swap on sd0b dump on sd0b
WARNING: / was not properly unmounted
Automatic boot in progress: starting file system checks.
/dev/sd0a (d4f7f3ff7ccee1b1.a): 11877 files, 188223 used, 792736 free (232 frags, 99063 blocks, 0.0% fragmentation)
/dev/sd0a (d4f7f3ff7ccee1b1.a): MARKING FILE SYSTEM CLEAN
pf enabled
starting network
/etc/rc&#91;498]: read: -p: no coprocess

starting early daemons: syslogd pflogd ntpd.
starting RPC daemons:.
savecore: no core dump
checking quotas: done.
clearing /tmp
kern.securelevel: 0 -> 1
creating runtime link editor directory cache.
preserving editor files.
starting network daemons: smtpd sndiod.
starting local daemons: cron.
Wed May 10 04:54:32 MDT 2023
reorder_kernel: failed -- see /usr/share/relink/kernel/GENERIC/relink.log

OpenBSD/alpha (es40.my.domain) (tty00)

login:
</code></pre>



<p class="wp-block-paragraph">And there we go!  </p>



<pre class="wp-block-code"><code>OpenBSD/alpha (es40.my.domain) (tty00)

login: root
Password:
Last login: Tue May  9 12:00:11 on tty00
OpenBSD 7.3-current (GENERIC) #133: Wed May  3 12:45:27 MDT 2023

Welcome to OpenBSD: The proactively secure Unix-like operating system.

Please use the sendbug(1) utility to report bugs in the system.
Before reporting a bug, please try to reproduce it with the latest
version of the code.  With bug reports, please try to ensure that
enough information to reproduce the problem is enclosed, and if a
known fix for it exists, include that as well.

You have new mail.
es40#
</code></pre>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-OpenBSD-The-faster-we-go-the-rounder-we-get.png"><img loading="lazy" decoding="async" width="722" height="432" src="https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-OpenBSD-The-faster-we-go-the-rounder-we-get.png" alt="" class="wp-image-12522" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-OpenBSD-The-faster-we-go-the-rounder-we-get.png 722w, https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-OpenBSD-The-faster-we-go-the-rounder-we-get-300x180.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/ES40-OpenBSD-The-faster-we-go-the-rounder-we-get-500x300.png 500w" sizes="auto, (max-width: 722px) 100vw, 722px" /></a></figure>



<p class="wp-block-paragraph">Did I mention that the root password is <span style="text-decoration: underline;">password</span>?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2023/05/10/openbsd-7-3-on-the-es40-dec-alpha-emulator/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Not as fun as Win64 Itanium, the earliest AMD64 Windows I can find</title>
		<link>https://virtuallyfun.com/2023/05/03/not-as-fun-as-win64-itanium-the-earliest-amd64-windows-i-can-find/</link>
					<comments>https://virtuallyfun.com/2023/05/03/not-as-fun-as-win64-itanium-the-earliest-amd64-windows-i-can-find/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Wed, 03 May 2023 22:50:57 +0000</pubDate>
				<category><![CDATA[64bit computing]]></category>
		<category><![CDATA[QEMU]]></category>
		<category><![CDATA[Win64]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[x64]]></category>
		<category><![CDATA[x86_64]]></category>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=12396</guid>

					<description><![CDATA[It does feel a lot like Windows XP for the Itanium, that strange half world of existence. It&#8217;s also from September 2003, the release image being named: 5.2.3790.1069.srv03_spbeta.030905-1850_amd64fre_client-professional_retail_en-us-AB1PXFRE_EN.iso I&#8217;m sure if you google around you can easily find it. To &#8230; <a href="https://virtuallyfun.com/2023/05/03/not-as-fun-as-win64-itanium-the-earliest-amd64-windows-i-can-find/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">It does feel a lot like Windows XP for the Itanium, that strange half world of existence.  It&#8217;s also from September 2003, the release image being named: 5.2.3790.1069.srv03_spbeta.030905-1850_amd64fre_client-professional_retail_en-us-AB1PXFRE_EN.iso</p>



<p class="wp-block-paragraph">I&#8217;m sure if you google around you can easily find it.</p>



<p class="wp-block-paragraph">To install you apparently need an early AMD 64 processor, otherwise it&#8217;ll trap on the installer.  Back in 2004, I got a newly refurbished AMD Athlon 64 3200+ processor, from Tiger Direct.  The machine was only a few months old, and I was able to get an early XP build for it.  Oddly enough it&#8217;s simple enough to install on Qemu.  I was able to use 0.90 &amp; 7.20, jumping at extremes, although the PCI NIC IRQ&#8217;s do jump around on 0.90 preventing the networking from working. </p>



<p class="wp-block-paragraph">I had a <strong><em>LOT</em></strong> of trouble getting a bootable hard disk image out of this for some reason.  So I&#8217;ve found keeping C around 2,000 Megabytes, and installing MS-DOS 5/6 got me a bootable system.  Also preserving the FAT disk.  Not sure why but doing formats of FAT or NTFS always seemed to result in a non bootable disk</p>



<pre class="wp-block-code"><code>qemu-system-x86_64w.exe -cpu Opteron_G1-v1 -hda 2g.vmdk -m 512 -M pc-i440fx-2.0 -net nic,model=rtl8139,netdev=f00 -netdev user,id=f00,hostfwd=tcp::5555-:3389 -usb -usbdevice tablet  -accel tcg,thread=multi</code></pre>



<p class="wp-block-paragraph"><em>Special thanks to RoyTam for the suggestion of the USB tablet &amp; turning TCG multithreaded for v7+ of Qemu</em></p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/setup-xp-eval-1069.png"><img loading="lazy" decoding="async" width="722" height="464" src="https://virtuallyfun.com/wp-content/uploads/2023/05/setup-xp-eval-1069.png" alt="" class="wp-image-12397" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/setup-xp-eval-1069.png 722w, https://virtuallyfun.com/wp-content/uploads/2023/05/setup-xp-eval-1069-300x193.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/setup-xp-eval-1069-467x300.png 467w" sizes="auto, (max-width: 722px) 100vw, 722px" /></a></figure>



<p class="wp-block-paragraph">Setting up is pretty normal.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="722" height="464" src="https://virtuallyfun.com/wp-content/uploads/2023/05/setup-xp-eval-1069-360-days.png" alt="" class="wp-image-12398" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/setup-xp-eval-1069-360-days.png 722w, https://virtuallyfun.com/wp-content/uploads/2023/05/setup-xp-eval-1069-360-days-300x193.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/setup-xp-eval-1069-360-days-467x300.png 467w" sizes="auto, (max-width: 722px) 100vw, 722px" /></figure>



<p class="wp-block-paragraph">You do get 360 days to use the beta.  More than enough for simple testing.  I&#8217;ve seen that the <a href="https://betawiki.net/wiki/Windows_Server_2003_build_3790.1069" target="_blank" rel="noreferrer noopener">timebomb doesn&#8217;t work correctly</a> so it may work forever.  But it&#8217;s so rough around the edges, I can&#8217;t see anyone trying to run this native in 2023.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="642" height="548" src="https://virtuallyfun.com/wp-content/uploads/2023/05/power-and-performance-of-64-bit.png" alt="" class="wp-image-12399" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/power-and-performance-of-64-bit.png 642w, https://virtuallyfun.com/wp-content/uploads/2023/05/power-and-performance-of-64-bit-300x256.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/power-and-performance-of-64-bit-351x300.png 351w" sizes="auto, (max-width: 642px) 100vw, 642px" /></figure>



<p class="wp-block-paragraph">Notice it&#8217;s all AMD branding.  Intel officially didn&#8217;t have their EMT64 Pentium 4&#8217;s, although IBM was pushing Intel hard to get them out the door.  <a href="https://www.computerworld.com/article/2574718/microsoft-releases-windows-xp-public-beta-for-athlon-64.html" target="_blank" rel="noreferrer noopener">And I think they held off on a larger x86_64 launch as Intel had not publicly caved</a>.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="642" height="548" src="https://virtuallyfun.com/wp-content/uploads/2023/05/serial.png" alt="" class="wp-image-12400" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/serial.png 642w, https://virtuallyfun.com/wp-content/uploads/2023/05/serial-300x256.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/serial-351x300.png 351w" sizes="auto, (max-width: 642px) 100vw, 642px" /></figure>



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



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="802" height="668" src="https://virtuallyfun.com/wp-content/uploads/2023/05/xp64-installed.png" alt="" class="wp-image-12401" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/xp64-installed.png 802w, https://virtuallyfun.com/wp-content/uploads/2023/05/xp64-installed-300x250.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/xp64-installed-768x640.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/05/xp64-installed-360x300.png 360w" sizes="auto, (max-width: 802px) 100vw, 802px" /></figure>



<p class="wp-block-paragraph">And in no time you are up and running.  I find the mouse really weird on Qemu, so I always enable the remote desktop function and find it much easier to deal with.</p>



<figure class="wp-block-image size-full"><a href="https://archive.org/details/pinball-3790-1069.7z"><img loading="lazy" decoding="async" width="722" height="521" src="https://virtuallyfun.com/wp-content/uploads/2023/05/xp-x64-pinball.jpg" alt="" class="wp-image-12402" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/xp-x64-pinball.jpg 722w, https://virtuallyfun.com/wp-content/uploads/2023/05/xp-x64-pinball-300x216.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/xp-x64-pinball-416x300.jpg 416w" sizes="auto, (max-width: 722px) 100vw, 722px" /></a></figure>



<p class="wp-block-paragraph">One of the advantages of RDP is that audio redirection does work, so you can play pinball!</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sysfadr-crashing.png"><img loading="lazy" decoding="async" width="352" height="375" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sysfadr-crashing.png" alt="" class="wp-image-12510" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sysfadr-crashing.png 352w, https://virtuallyfun.com/wp-content/uploads/2023/05/sysfadr-crashing-282x300.png 282w" sizes="auto, (max-width: 352px) 100vw, 352px" /></a></figure>
</div>


<p class="wp-block-paragraph">One annoying thing (to me) is that the SysFader process will hang all the time locking explorer.exe .  Along with that it&#8217;ll leave phantom UI elements haning around like the Run&#8230; above.  Yes, its annoying!</p>



<figure class="wp-block-image size-large is-resized"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/system-performance-turn-off-fade.png"><img loading="lazy" decoding="async" src="https://virtuallyfun.com/wp-content/uploads/2023/05/system-performance-turn-off-fade-1024x263.png" alt="" class="wp-image-12512" width="632" height="156"/></a></figure>



<p class="wp-block-paragraph">The solution is of course System Properties, and Performance, and either disable the Fade elements, or just turn off all the &#8216;eye candy&#8217; which basically doesn&#8217;t really exist for this release anyways.</p>



<p class="wp-block-paragraph">While there is some DirectX support, it is most likely just simple GDI passthrough, and of course no acceleration as the OpenGL screensavers run incredibly slow.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/xp64-limited-hardware.png"><img loading="lazy" decoding="async" width="593" height="476" src="https://virtuallyfun.com/wp-content/uploads/2023/05/xp64-limited-hardware.png" alt="" class="wp-image-12403" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/xp64-limited-hardware.png 593w, https://virtuallyfun.com/wp-content/uploads/2023/05/xp64-limited-hardware-300x241.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/xp64-limited-hardware-374x300.png 374w" sizes="auto, (max-width: 593px) 100vw, 593px" /></a><figcaption class="wp-element-caption">And thanks to <a rel="noreferrer noopener" href="https://betawiki.net/wiki/Windows_XP_build_3790.1069" target="_blank">betawiki.net</a> for some hints &amp; tips. I haven&#8217;t tried the VMware path, since AFAIK there is no other NIC drivers for this release.</figcaption></figure>



<p class="wp-block-paragraph">As mentioned, hardware support is VERY limited.  The single audio driver is a MPU401 port.  This obviously was meant for an exceptionally limited audience.</p>



<p class="wp-block-paragraph">The one thing I cannot find, is any version of a Platform SDK that targets AMD64 so early.  The earliest I can find is version 14 from 2005.</p>



<p class="wp-block-paragraph">The 2005 compiler does have this note:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">The Microsoft® C/C++ AMD64 Processor Family-targeting compiler is a cross-compiler targeting the AMD64 processor family. The compiler runs on an x86 or AMD64 computer running Microsoft Windows® XP or Microsoft Windows® Server 2003. It is the compiler used for Microsoft® internal development and is used for building Microsoft Windows NT®, Microsoft SQL Server®, and other major applications. For debugging we suggest the use of WinDbg for AMD64. Visual Studio Whidbey will support the use of the Visual Studio debugger for debugging AMD64 applications.</p>
<cite>2005-06 &#8211; 2944.0 &#8211; Platform SDK for Windows Server 2003 SP1 (April 2005 Edition)</cite></blockquote>



<p class="wp-block-paragraph">With the compiler being:</p>



<pre class="wp-block-code"><code>Microsoft (R) C/C++ Optimizing Compiler Version 14.00.40310.41 for AMD64
Copyright (C) Microsoft Corporation. All rights reserved.</code></pre>



<p class="wp-block-paragraph">If anyone knows of anything earlier, I&#8217;d love to know!  If only for the sake of messing around with it.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2023/05/03/not-as-fun-as-win64-itanium-the-earliest-amd64-windows-i-can-find/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>OpenVMS x86 hobbyist finally here!</title>
		<link>https://virtuallyfun.com/2023/04/10/openvms-x86-finally-here/</link>
					<comments>https://virtuallyfun.com/2023/04/10/openvms-x86-finally-here/#comments</comments>
		
		<dc:creator><![CDATA[tenox]]></dc:creator>
		<pubDate>Mon, 10 Apr 2023 04:13:51 +0000</pubDate>
				<category><![CDATA[guest post]]></category>
		<category><![CDATA[VMS]]></category>
		<category><![CDATA[x86_64]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=12337</guid>

					<description><![CDATA[(This is a guest post by Antoni Sawicki aka Tenox) After years of waiting, VMS Software finally released OpenVMS x86 for hobbyist use. Luckily I was able to download the install media and a hobbyist license pack from the Service &#8230; <a href="https://virtuallyfun.com/2023/04/10/openvms-x86-finally-here/">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">After years of waiting, <a href="https://vmssoftware.com/" data-type="URL" data-id="https://vmssoftware.com/">VMS Software</a> finally released <a href="https://en.wikipedia.org/wiki/OpenVMS" data-type="URL" data-id="https://en.wikipedia.org/wiki/OpenVMS">OpenVMS</a> x86 for <strong>hobbyist use</strong>. Luckily I was able to download the install media and a hobbyist license pack from the <a href="https://sp.vmssoftware.com/" data-type="URL" data-id="https://sp.vmssoftware.com/">Service Platform portal</a>. So lets have some fun with virtualization!</p>



<p class="wp-block-paragraph">OpenVMS x86 has pretty strict hardware requirements. It only works as a VM (no physical hardware support). It wants a recent CPU. The VM must have EFI BIOS and E1000 NIC. As for storage controller &#8211; both HDD and CDROM must be on the same SATA controller.</p>



<p class="wp-block-paragraph">The ISO image boots to a fancy new loader screen:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="761" src="https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-6.35.11-PM-1024x761.png" alt="OpenVMS x86 on VMware ESXi" class="wp-image-12338" srcset="https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-6.35.11-PM-1024x761.png 1024w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-6.35.11-PM-300x223.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-6.35.11-PM-768x571.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-6.35.11-PM-1536x1142.png 1536w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-6.35.11-PM-403x300.png 403w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-6.35.11-PM.png 1599w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">However as cute as it looks, don&#8217;t have your hopes up for a real GUI. That&#8217;s as far as it goes:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="582" height="186" src="https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-6.52.14-PM.png" alt="" class="wp-image-12339" srcset="https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-6.52.14-PM.png 582w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-6.52.14-PM-300x96.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-6.52.14-PM-500x160.png 500w" sizes="auto, (max-width: 582px) 100vw, 582px" /></figure>



<p class="wp-block-paragraph">Once the OS boots up, it switches to a serial console for the rest of installation and operation. (You can get log output to graphical console by typing OPA0 in the bootmgr. But you cannot use this for login.)</p>



<p class="wp-block-paragraph">Being a VM and having no access to physical serial port, I hooked it up via named pipe to another VM&#8217;s serial port. Just for fun let&#8217;s use a <a href="https://www.kermitproject.org/ckw10beta.html" data-type="URL" data-id="https://www.kermitproject.org/ckw10beta.html">recent build of C-Kermit</a> by David Goodwin!</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="676" height="481" src="https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-7.04.06-PM.png" alt="" class="wp-image-12341" srcset="https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-7.04.06-PM.png 676w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-7.04.06-PM-300x213.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-7.04.06-PM-422x300.png 422w" sizes="auto, (max-width: 676px) 100vw, 676px" /></figure>



<p class="wp-block-paragraph">The installation is pretty straightforward. I picked all the defaults and off you go.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="675" height="480" src="https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-7.09.35-PM.png" alt="" class="wp-image-12343" srcset="https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-7.09.35-PM.png 675w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-7.09.35-PM-300x213.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-7.09.35-PM-422x300.png 422w" sizes="auto, (max-width: 675px) 100vw, 675px" /></figure>



<p class="wp-block-paragraph">The system installs under couple of minutes. A boot takes just couple of seconds and it&#8217;s extremely fast end responsive. This is somewhat expected as the VMS dates back to 1977 and hasn&#8217;t grown in bloat much like more &#8220;modern&#8221; OSes.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="675" height="480" src="https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-7.19.41-PM.png" alt="" class="wp-image-12344" srcset="https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-7.19.41-PM.png 675w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-7.19.41-PM-300x213.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-7.19.41-PM-422x300.png 422w" sizes="auto, (max-width: 675px) 100vw, 675px" /></figure>



<p class="wp-block-paragraph">One of first things to do after installation, is to register the license packs and configure TCP/IP. </p>



<p class="wp-block-paragraph">For license pack I added the &#8220;BOE&#8221; pak by hand and transferred the rest as a `.com` file after TCP/IP was setup.</p>



<p class="wp-block-paragraph">To configure IP you simply run <code>@sys$manager:tcpip$config</code> and go through the steps. Networking doesn&#8217;t start by default, so you need to edit <code>sys$startup:systartup_vms.com</code> file and uncomment line saying <code>@sys$startup:tcpip$startup.com</code>. After that you should be able to telnet to the VM at every boot. Also note that OpenVMS comes with some unix commands for the tcpip subsystem, you can find them in help under <code>TCPIP_Services -&gt; UNIX_Commands</code></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="675" height="481" src="https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-8.09.40-PM.png" alt="" class="wp-image-12346" srcset="https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-8.09.40-PM.png 675w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-8.09.40-PM-300x214.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/04/Screenshot-2023-04-09-at-8.09.40-PM-421x300.png 421w" sizes="auto, (max-width: 675px) 100vw, 675px" /></figure>



<p class="wp-block-paragraph">You can setup auto boot in the graphical console by typing &#8220;auto boot&#8221;, this way you never have to open the graphical console to type boot.</p>



<p class="wp-block-paragraph">Browsing through software packages on the VMS service portal you can find a C compiler, Fortran, as well as some typical OSS packages like OpenSSH, SSL, Samba, Git and many more.</p>



<p class="wp-block-paragraph">Apparently there also is a <a href="https://vmssoftware.com/products/webui/" data-type="URL" data-id="https://vmssoftware.com/products/webui/">WebUI</a> for VMS?</p>



<p class="wp-block-paragraph">I&#8217;m hoping that in future OpenVMS will be available on some public clouds like AWS, Azure and GCP. This would open some interesting possibilities. </p>



<p class="wp-block-paragraph">I&#8217;m going to go and port some apps to x86 VMS!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2023/04/10/openvms-x86-finally-here/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Revisiting AIX 4.3 on Qemu</title>
		<link>https://virtuallyfun.com/2022/11/08/revisiting-aix-4-3-on-qemu/</link>
					<comments>https://virtuallyfun.com/2022/11/08/revisiting-aix-4-3-on-qemu/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Tue, 08 Nov 2022 12:01:49 +0000</pubDate>
				<category><![CDATA[64bit computing]]></category>
		<category><![CDATA[AIX]]></category>
		<category><![CDATA[cdroms]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[QEMU]]></category>
		<category><![CDATA[x86_64]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=12033</guid>

					<description><![CDATA[I had gone over the install a while ago, but I wanted to re-install on a newer machine. And going from GCC 7 to 11, well a number of things changed. And I found with experience that letting Qemu select &#8230; <a href="https://virtuallyfun.com/2022/11/08/revisiting-aix-4-3-on-qemu/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I had gone over <a href="/2019/04/22/installing-aix-on-qemu/" target="_blank" rel="noreferrer noopener">the install a while ago</a>, but I wanted to re-install on a newer machine.  And going from GCC 7 to 11, well a number of things changed.  And I found with experience that letting Qemu select as much as it wants leads to numerous dependencies that end up being problematic.</p>



<pre class="wp-block-preformatted">jsteve@piorun:~/atar-boot/qemu/ppc-softmmu$ objdump -p qemu-system-ppc | grep NEEDED<br>NEEDED libvdeplug.so.2<br>NEEDED libncursesw.so.6<br>NEEDED libtinfo.so.6<br>NEEDED libz.so.1<br>NEEDED libxml2.so.2<br>NEEDED libpixman-1.so.0<br>NEEDED libutil.so.1<br>NEEDED libnuma.so.1<br>NEEDED libnettle.so.6<br>NEEDED libgnutls.so.30<br>NEEDED libfdt.so.1<br>NEEDED libgthread-2.0.so.0<br>NEEDED libglib-2.0.so.0<br>NEEDED librt.so.1<br>NEEDED libstdc++.so.6<br>NEEDED libm.so.6<br>NEEDED libgcc_s.so.1<br>NEEDED libpthread.so.0<br>NEEDED libc.so.6</pre>



<p class="wp-block-paragraph">So using the same <a href="https://github.com/artyom-tarasenko/qemu/tree/40p-20190406-aix-boots">atar qemu git dump</a>, I found the newer config string a bit more refined:</p>



<pre class="wp-block-code"><code>./configure --target-list=ppc-softmmu --disable-sdl --disable-vnc --disable-gtk --disable-gnutls --disable-nettle --disable-gcrypt --disable-spice --disable-numa --disable-libxml2 --disable-vde --disable-werror --disable-seccomp --disable-capstone --disable-vhost-net --disable-vhost-crypto --disable-vhost-scsi --disable-vhost-vsock --disable-vhost-user --disable-tpm --disable-live-block-migration</code></pre>



<p class="wp-block-paragraph">Another fun think is that there is submodules from other servers, and it seems their certs have expired.. Which also means it&#8217;s inevitable at some point this will become impossible to build.  Be sure to set this environment variable in order to build:</p>



<pre class="wp-block-preformatted">export GIT_SSL_NO_VERIFY=true</pre>



<p class="wp-block-paragraph">As always Qemu will try to sneak a few things in there that we don&#8217;t need like audio support.  As an example here is what I trimmed from config-host.mak:</p>



<pre class="wp-block-preformatted">$ diff -ruN config-host.mak config-host.mak-cutdown<br>--- config-host.mak 2022-11-08 09:37:41.104441392 +0000<br>+++ config-host.mak-cutdown 2022-11-08 09:37:25.084441253 +0000<br>@@ -27,8 +27,8 @@<br>CONFIG_SLIRP=y<br>CONFIG_SMBD_COMMAND="/usr/sbin/smbd"<br>CONFIG_L2TPV3=y<br>-CONFIG_AUDIO_DRIVERS=oss<br>-CONFIG_AUDIO_OSS=m<br>+CONFIG_AUDIO_DRIVERS=<br>+CONFIG_AUDIO_OSS=n<br>ALSA_LIBS=<br>PULSE_LIBS=<br>COREAUDIO_LIBS=<br>@@ -72,7 +72,6 @@<br>HAVE_STRCHRNUL=y<br>CONFIG_BYTESWAP_H=y<br>CONFIG_TLS_PRIORITY="NORMAL"<br>-CONFIG_TASN1=y<br>HAVE_IFADDRS_H=y<br>HAVE_FSXATTR=y<br>HAVE_COPY_FILE_RANGE=y<br>@@ -164,7 +163,7 @@<br>DSOSUF=.so<br>LDFLAGS_SHARED=-shared<br>LIBS_QGA+=-lm -lgthread-2.0 -pthread -lglib-2.0<br>-TASN1_LIBS=-ltasn1<br>+TASN1_LIBS=<br>TASN1_CFLAGS=<br>POD2MAN=pod2man --utf8<br>TRANSLATE_OPT_CFLAGS=</pre>



<p class="wp-block-paragraph">And this cuts down the needed dll&#8217;s to:</p>



<pre class="wp-block-preformatted">jsteve@piorun:~/atar-boot/qemu/ppc-softmmu$ objdump -p qemu-system-ppc | grep NEED<br>NEEDED libncursesw.so.6<br>NEEDED libtinfo.so.6<br>NEEDED libz.so.1<br>NEEDED libpixman-1.so.0<br>NEEDED libfdt.so.1<br>NEEDED libglib-2.0.so.0<br>NEEDED libm.so.6<br>NEEDED libgcc_s.so.1<br>NEEDED libc.so.6</pre>



<p class="wp-block-paragraph">which is a bit better.  I&#8217;m still annoyed at it&#8217;s reliance on pixman despite not having any framebuffer support, I&#8217;m guessing I could amputate it if I looked further.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2022/11/AIX-4.3-on-Qemu-on-Linux.png"><img loading="lazy" decoding="async" width="1024" height="628" src="https://virtuallyfun.com/wp-content/uploads/2022/11/AIX-4.3-on-Qemu-on-Linux-1024x628.png" alt="" class="wp-image-12034" srcset="https://virtuallyfun.com/wp-content/uploads/2022/11/AIX-4.3-on-Qemu-on-Linux-1024x628.png 1024w, https://virtuallyfun.com/wp-content/uploads/2022/11/AIX-4.3-on-Qemu-on-Linux-300x184.png 300w, https://virtuallyfun.com/wp-content/uploads/2022/11/AIX-4.3-on-Qemu-on-Linux-768x471.png 768w, https://virtuallyfun.com/wp-content/uploads/2022/11/AIX-4.3-on-Qemu-on-Linux-489x300.png 489w, https://virtuallyfun.com/wp-content/uploads/2022/11/AIX-4.3-on-Qemu-on-Linux.png 1046w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption>AIX 4.3 booted!</figcaption></figure>
</div>


<p class="wp-block-paragraph">Since nothing has fundamentally changed, I can still use my original bootflags:</p>



<pre class="wp-block-preformatted">./qemu-system-ppc -M 40p -bios q40pofw-serial.rom -serial telnet::4441,server -hda disk0.vmdk-post-install -vga none -nographic -net none -cdrom /mnt/c/temp/xlc13-gzip.iso</pre>



<p class="wp-block-paragraph">And for the heck of it, this is the steps I used to get <a rel="noreferrer noopener" href="http://tenox.pdp-11.ru/os/aix/Software/xlc/xlc1.3.tar.lz" target="_blank">x</a><a rel="noreferrer noopener" href="http://tenox.pdp-11.ru/os/aix/Software/xlc/xlc1.3.tar.lz" target="_blank">l</a><a rel="noreferrer noopener" href="http://tenox.pdp-11.ru/os/aix/Software/xlc/xlc1.3.tar.lz" target="_blank">C</a><a rel="noreferrer noopener" href="http://tenox.pdp-11.ru/os/aix/Software/xlc/xlc1.3.tar.lz" target="_blank"> 1.3</a> up and running:</p>



<pre class="wp-block-preformatted">restore -f /tmp/xlc/xlccmp2<br>restore -f /tmp/xlc/xlccmpmE2<br>chmod +x /usr/bin/xlc<br>chmod +x /usr/lpp/xlc/bin/xlcentry<br>chmod +x /usr/lpp/xlc/bin/dis<br>cp /usr/lpp/xlccmp/inst_root/etc/xlc.cfg /etc<br>cp /tmp/xlc/cpp /usr/lib/cpp<br>chmod +x /usr/lib/cpp</pre>



<p class="wp-block-paragraph">and with that all in place we can compile a simple hello world!</p>



<pre class="wp-block-code"><code>
# cat mt.c
#include &lt;stdio.h&gt;
void main(){
printf("hi from C\n");
}
# xlc -v mt.c -o mt
exec: /usr/lpp/xlc/bin/xlcentry(xlcentry,mt.c,mt.o,mt.lst,-D_ANSI_C_SOURCE,-D_IBMR2,-D_AIX,-D_AIX32,-qansialias,NULL)
exec: /bin/ld(ld,-H512,-T512,-bhalt:4,-o,mt,/lib/crt0.o,mt.o,-lc,NULL)
unlink: mt.o
# ./mt
hi from C
#

</code></pre>



<p class="wp-block-paragraph">xlC is also capable of building a running <a href="/2022/11/07/gnu-chess-87/" target="_blank" rel="noreferrer noopener">GNU Chess</a>.  And I <a href="https://github.com/neozeed/gnuchess-87" target="_blank" rel="noreferrer noopener">updated the git</a> so that book building works.  Not that I expect anyone to care.</p>



<pre class="wp-block-code"><code>Chess<br>book<br>Compiling book, please waitâ€¦<br>186 games added, 3384 positions added, 3383 total positions in book</code></pre>



<p class="wp-block-paragraph">It has the same desire to move pieces back and forth for thousands of moves, but it&#8217;s doing a heck of a lot more than any modern C compiler.</p>



<p class="wp-block-paragraph">Since we don&#8217;t have any networking, Everything is on the console.  I&#8217;ve found making CD-ROM images being a much easier way to get data in, and I&#8217;m still using uuencode to get data out from the console.  I guess I should setup Z-modem at some point but that&#8217;s very futuristic.  Or just break down and learn how to use C-kermit.</p>



<p class="wp-block-paragraph">My go to quality of life startup is:</p>



<pre class="wp-block-code"><code>export TERM=vt100<br>stty erase ^?<br>export LIBPATH=$LIBPATH:/usr/lib<br>export PATH=/usr/local/bin:$PATH</code></pre>



<p class="wp-block-paragraph">Sure not perfect but it makes it slightly more usable.  As a follow on, I got networking working here: <a href="https://virtuallyfun.com/2022/11/08/" target="_blank" rel="noreferrer noopener">Networking on AIXI 4.3</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2022/11/08/revisiting-aix-4-3-on-qemu/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Space Cadet 3D Pinball reverse engineered!</title>
		<link>https://virtuallyfun.com/2021/10/04/space-cadet-3d-pinball-reverse-engineered/</link>
					<comments>https://virtuallyfun.com/2021/10/04/space-cadet-3d-pinball-reverse-engineered/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 04 Oct 2021 04:34:51 +0000</pubDate>
				<category><![CDATA[64bit computing]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[Win64]]></category>
		<category><![CDATA[x64]]></category>
		<category><![CDATA[x86_64]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11406</guid>

					<description><![CDATA[With all the controversy over 64bit pinball, and where and how things appeared, then disappeared to the discovery that the x64 version was a thing, but it was left off the install manifest but shipped on CD, along with my &#8230; <a href="https://virtuallyfun.com/2021/10/04/space-cadet-3d-pinball-reverse-engineered/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">With all the controversy over 64bit pinball, and where and how things appeared, then disappeared to the discovery that the x64 version was a thing, but it was left off the install manifest but shipped on CD, along with my simple script to just extract it, the problem was that ARM32/64 users were left in the cold.</p>



<p class="wp-block-paragraph">Don&#8217;t get me wrong, the original 32bit exe runs fine under emulation, but who wants emulation when you can have NATIVE CODE?!  You&#8217;d have to try to find the source code (lol good luck!) or reverse engineer the program.  And that&#8217;s what happened, enter: </p>



<p class="wp-block-paragraph"><a href="https://github.com/k4zmu2a/SpaceCadetPinball">k4zmu2a/SpaceCadetPinball: Decompilation of 3D Pinball for Windows â€“ Space Cadet (github.com)</a></p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2021/10/pinball-arm64-50pct.png"><img loading="lazy" decoding="async" width="960" height="540" src="https://virtuallyfun.com/wp-content/uploads/2021/10/pinball-arm64-50pct.png" alt="" class="wp-image-11408" srcset="https://virtuallyfun.com/wp-content/uploads/2021/10/pinball-arm64-50pct.png 960w, https://virtuallyfun.com/wp-content/uploads/2021/10/pinball-arm64-50pct-300x169.png 300w, https://virtuallyfun.com/wp-content/uploads/2021/10/pinball-arm64-50pct-768x432.png 768w, https://virtuallyfun.com/wp-content/uploads/2021/10/pinball-arm64-50pct-500x281.png 500w" sizes="auto, (max-width: 960px) 100vw, 960px" /></a><figcaption>64bit ARM Pinball!</figcaption></figure>



<p class="wp-block-paragraph">I&#8217;m using Visual Studio 2019 to build this, and it was great it *just worked*.  Hurray!</p>



<p class="wp-block-paragraph">There is also a rebuild going on for SDL to bring Space Cadet Pin Ball to Linux and beyond.  The only downside is that it uses a number of &#8216;new C++ features&#8217; locking out older platforms.  I&#8217;d done some work to dumb it down although there is a bit of this new fangled C++ I&#8217;m unsure of what is going on.  So that means, unfortunately Itanium users are left in the dark, as Visual Studio 2010 is too old.</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2021/10/04/space-cadet-3d-pinball-reverse-engineered/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>AMD64 Pinball extravaganza!</title>
		<link>https://virtuallyfun.com/2021/09/13/amd64-pinball-extravaganza/</link>
					<comments>https://virtuallyfun.com/2021/09/13/amd64-pinball-extravaganza/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 13 Sep 2021 03:54:54 +0000</pubDate>
				<category><![CDATA[64bit computing]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Win64]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[x64]]></category>
		<category><![CDATA[x86_64]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=11320</guid>

					<description><![CDATA[With all the talk of 64bit versions of Pinball I thought I&#8217;d share simple script to extract Pinball from an XP x64 CD-ROM so you can take it with you. It&#8217;s portable so thats nice too, although it doesn&#8217;t use &#8230; <a href="https://virtuallyfun.com/2021/09/13/amd64-pinball-extravaganza/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">With all the talk of 64bit versions of Pinball I thought I&#8217;d share simple script to extract Pinball from an XP x64 CD-ROM so you can take it with you. It&#8217;s portable so thats nice too, although it doesn&#8217;t use any wad/pak/zip files so all the assets are loose files:</p>



<pre class="wp-block-code"><code>expand f:\amd64\font.da_ font.dat<br>expand f:\amd64\pinball.da_ pinball.dat<br>expand f:\amd64\pinball.ex_ pinball.exe<br>expand f:\amd64\pinball.in_ pinball.inf<br>expand f:\amd64\pinball.mi_ pinball.mid<br>expand f:\amd64\pinball2.mi_ pinball2.mid<br>expand f:\amd64\sound1.wa_ sound1.wav<br>expand f:\amd64\sound104.wa_ sound104.wav<br>expand f:\amd64\sound105.wa_ sound105.wav<br>expand f:\amd64\sound108.wa_ sound108.wav<br>expand f:\amd64\sound111.wa_ sound111.wav<br>expand f:\amd64\sound112.wa_ sound112.wav<br>expand f:\amd64\sound12.wa_ sound12.wav<br>expand f:\amd64\sound13.wa_ sound13.wav<br>expand f:\amd64\sound131.wa_ sound131.wav<br>expand f:\amd64\sound136.wa_ sound136.wav<br>expand f:\amd64\sound14.wa_ sound14.wav<br>expand f:\amd64\sound16.wa_ sound16.wav<br>expand f:\amd64\sound17.wa_ sound17.wav<br>expand f:\amd64\sound18.wa_ sound18.wav<br>expand f:\amd64\sound181.wa_ sound181.wav<br>expand f:\amd64\sound19.wa_ sound19.wav<br>expand f:\amd64\sound20.wa_ sound20.wav<br>expand f:\amd64\sound21.wa_ sound21.wav<br>expand f:\amd64\sound22.wa_ sound22.wav<br>expand f:\amd64\sound24.wa_ sound24.wav<br>expand f:\amd64\sound240.wa_ sound240.wav<br>expand f:\amd64\sound243.wa_ sound243.wav<br>expand f:\amd64\sound25.wa_ sound25.wav<br>expand f:\amd64\sound26.wa_ sound26.wav<br>expand f:\amd64\sound27.wa_ sound27.wav<br>expand f:\amd64\sound28.wa_ sound28.wav<br>expand f:\amd64\sound29.wa_ sound29.wav<br>expand f:\amd64\sound3.wa_ sound3.wav<br>expand f:\amd64\sound30.wa_ sound30.wav<br>expand f:\amd64\sound34.wa_ sound34.wav<br>expand f:\amd64\sound35.wa_ sound35.wav<br>expand f:\amd64\sound36.wa_ sound36.wav<br>expand f:\amd64\sound38.wa_ sound38.wav<br>expand f:\amd64\sound39.wa_ sound39.wav<br>expand f:\amd64\sound4.wa_ sound4.wav<br>expand f:\amd64\sound42.wa_ sound42.wav<br>expand f:\amd64\sound43.wa_ sound43.wav<br>expand f:\amd64\sound45.wa_ sound45.wav<br>expand f:\amd64\sound49.wa_ sound49.wav<br>expand f:\amd64\sound49d.wa_ sound49d.wav<br>expand f:\amd64\sound5.wa_ sound5.wav<br>expand f:\amd64\sound50.wa_ sound50.wav<br>expand f:\amd64\sound528.wa_ sound528.wav<br>expand f:\amd64\sound53.wa_ sound53.wav<br>expand f:\amd64\sound54.wa_ sound54.wav<br>expand f:\amd64\sound55.wa_ sound55.wav<br>expand f:\amd64\sound560.wa_ sound560.wav<br>expand f:\amd64\sound563.wa_ sound563.wav<br>expand f:\amd64\sound57.wa_ sound57.wav<br>expand f:\amd64\sound58.wa_ sound58.wav<br>expand f:\amd64\sound6.wa_ sound6.wav<br>expand f:\amd64\sound65.wa_ sound65.wav<br>expand f:\amd64\sound68.wa_ sound68.wav<br>expand f:\amd64\sound7.wa_ sound7.wav<br>expand f:\amd64\sound713.wa_ sound713.wav<br>expand f:\amd64\sound735.wa_ sound735.wav<br>expand f:\amd64\sound8.wa_ sound8.wav<br>expand f:\amd64\sound827.wa_ sound827.wav<br>expand f:\amd64\sound9.wa_ sound9.wav<br>expand f:\amd64\sound999.wa_ sound999.wav<br>expand f:\amd64\table.bm_ table.bmp<br>copy f:\amd64\WAVEMIX.inf WAVEMIX.INF</code></pre>



<p class="wp-block-paragraph">Naturally you&#8217;ll want to substitute F:\ with whatever drive letter your CD-ROM/ISO file is mounted on.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="602" height="463" src="https://virtuallyfun.com/wp-content/uploads/2021/09/pinball-from-XP-x64-SP2.png" alt="" class="wp-image-11321" srcset="https://virtuallyfun.com/wp-content/uploads/2021/09/pinball-from-XP-x64-SP2.png 602w, https://virtuallyfun.com/wp-content/uploads/2021/09/pinball-from-XP-x64-SP2-300x231.png 300w, https://virtuallyfun.com/wp-content/uploads/2021/09/pinball-from-XP-x64-SP2-390x300.png 390w" sizes="auto, (max-width: 602px) 100vw, 602px" /></figure>
</div>


<p class="wp-block-paragraph">And thanks to a long needed feature in Windows 10 you can verify that yes indeed it is a 64bit version.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="144" src="https://virtuallyfun.com/wp-content/uploads/2021/09/Pinball-in-new-Task-Manager-1024x144.png" alt="" class="wp-image-11322" srcset="https://virtuallyfun.com/wp-content/uploads/2021/09/Pinball-in-new-Task-Manager-1024x144.png 1024w, https://virtuallyfun.com/wp-content/uploads/2021/09/Pinball-in-new-Task-Manager-300x42.png 300w, https://virtuallyfun.com/wp-content/uploads/2021/09/Pinball-in-new-Task-Manager-768x108.png 768w, https://virtuallyfun.com/wp-content/uploads/2021/09/Pinball-in-new-Task-Manager-500x70.png 500w, https://virtuallyfun.com/wp-content/uploads/2021/09/Pinball-in-new-Task-Manager.png 1031w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Or skip the pain, and download the <a rel="noreferrer noopener" href="https://archive.org/details/pinball-3790-1069.7z" target="_blank">first currently available AMD64 version here: pinball-3790-1069.7z</a></p>



<p class="wp-block-paragraph">Isn&#8217;t that awesome?!  Obviously ARM64 users are left out in the dark, as far as I know there was no ARM64 versions of Windows XP.  As a matter of fact, was there any public versions of Windows XP for ARM?  Naturally the Surface RT shipped with 8.0</p>



<p class="wp-block-paragraph">Anyways at long last we can have our 64bit pinball despite the weird bugs, and how the plunger is mostly hidden no doubt due to yet more weird floating point/integer size inconsistencies </p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2021/09/13/amd64-pinball-extravaganza/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>So I was offered a MacPro 6.1 aka the trashcan.</title>
		<link>https://virtuallyfun.com/2020/04/18/so-i-was-offered-a-macpro-6-1-aka-the-trashcan/</link>
					<comments>https://virtuallyfun.com/2020/04/18/so-i-was-offered-a-macpro-6-1-aka-the-trashcan/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Sat, 18 Apr 2020 17:47:12 +0000</pubDate>
				<category><![CDATA[64bit computing]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Wine]]></category>
		<category><![CDATA[x64]]></category>
		<category><![CDATA[x86_64]]></category>
		<category><![CDATA[Xeon]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=10231</guid>

					<description><![CDATA[And well it&#8217;s a Mac. I did the Windows Key + R to boot into recovery mode and install some old version of OS X over the internet. Nice. I updated to Catalina and kind of forgot about the break &#8230; <a href="https://virtuallyfun.com/2020/04/18/so-i-was-offered-a-macpro-6-1-aka-the-trashcan/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">And well it&#8217;s a Mac.  I did the Windows Key + R to boot into recovery mode and install some old version of OS X over the internet.  Nice.</p>



<p class="wp-block-paragraph">I updated to Catalina and kind of forgot about the break with the &#8216;awesome world of home 32bit computing&#8217; as it&#8217;s all 64bit now.</p>



<p class="wp-block-paragraph">Needless to say none of my favourite stuff runs.</p>



<p class="wp-block-paragraph">I&#8217;ve been maintaining a subscription to Crossover for a while, as I really like to support the future of Wine.  I know a while back they too had the 64bit freakout, but they apparently found some shim to keep on running Win32 apps.  And sure enough I loaded up my old Fortran Power Station bottle and it actually run!</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2020/04/Screenshot-2020-04-18-at-11.23.38-PM-1-1024x598.png"><img loading="lazy" decoding="async" width="1024" height="598" src="https://virtuallyfun.com/wp-content/uploads/2020/04/Screenshot-2020-04-18-at-11.23.38-PM-1-1024x598.png" alt="" class="wp-image-10233" srcset="https://virtuallyfun.com/wp-content/uploads/2020/04/Screenshot-2020-04-18-at-11.23.38-PM-1-1024x598.png 1024w, https://virtuallyfun.com/wp-content/uploads/2020/04/Screenshot-2020-04-18-at-11.23.38-PM-1-300x175.png 300w, https://virtuallyfun.com/wp-content/uploads/2020/04/Screenshot-2020-04-18-at-11.23.38-PM-1-768x449.png 768w, https://virtuallyfun.com/wp-content/uploads/2020/04/Screenshot-2020-04-18-at-11.23.38-PM-1-500x292.png 500w, https://virtuallyfun.com/wp-content/uploads/2020/04/Screenshot-2020-04-18-at-11.23.38-PM-1.png 1383w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption>Fortran on OS X!</figcaption></figure></div>



<p class="wp-block-paragraph">Sadly SQL Server 4.21 seems to lock up, but it has been doing that under Wine when I last gave up on OS X a few years back.  I tried some Win16 games (SimCity) and it bombed out.  Looks like there is no support for Win16 apps.  Pitty.</p>



<p class="wp-block-paragraph">Steam is 64bit now, however none of Valve&#8217;s hits that have 64bit versions for Windows have made the 64bit leap for OS X.  I have a feeling it&#8217;ll never happen as OS X users are so few and far between they are literally outnumbered by Linux users.</p>



<p class="wp-block-paragraph">I did fire-up <a href="https://store.steampowered.com/app/264710/Subnautica/">Subnautica</a>, and of course the PC with the RTX 2070 blows this thing away.  Although it&#8217;s hardly a fare competition.  But who wants to play fare?</p>



<p class="wp-block-paragraph">It&#8217;s far too early to really tell, and who knows I might just wipe this thing and install Windows.  In my opinion OS X 10.6 was the greatest release ever bridging the divide from PowerPC to x86, just as 10.2.7 on the G5 was the greatest PowerPC version to bridge that 68000 divide.  I still have that G5, but now my 2006 machine is dead.  I&#8217;ve seen them in the used stores for around $100 USD.  Although I don&#8217;t know if I can be bothered as they are incredibly heavy.  And I&#8217;m pretty sure 10.6 will run on VMWare thanks to hackintosh efforts.</p>



<p class="wp-block-paragraph">Also I should add as a personal note, my 2006 MacPro 1,1 died.  I let someone else use it, and she broke it in one day.  I&#8217;ve had it for years, several moves in the USA, then to Canada, then to Hong Kong.  It died with only one day on the job.  Sad.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2020/04/18/so-i-was-offered-a-macpro-6-1-aka-the-trashcan/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Apple kills 32bit software</title>
		<link>https://virtuallyfun.com/2019/10/08/apple-kills-32bit-software/</link>
					<comments>https://virtuallyfun.com/2019/10/08/apple-kills-32bit-software/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Tue, 08 Oct 2019 00:06:25 +0000</pubDate>
				<category><![CDATA[64bit computing]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[x64]]></category>
		<category><![CDATA[x86_64]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=9801</guid>

					<description><![CDATA[I know it&#8217;s been a long time coming but here we are. Such a shame compatibility isn&#8217;t a priority. No more crazy stuff like running GCC 1.3 on OS X. I got this email yesterday : If you use CrossOver &#8230; <a href="https://virtuallyfun.com/2019/10/08/apple-kills-32bit-software/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I know it&#8217;s been a long time coming but here we are.  Such a shame compatibility isn&#8217;t a priority. No more crazy stuff like running GCC 1.3 on OS X.</p>



<p class="wp-block-paragraph">I got this email yesterday :</p>



<blockquote><i>If you use CrossOver for macOS, this information is VERY IMPORTANT for you.
<p>
Earlier today, Apple released the new macOS Catalina. Catalina does not support 32-bit applications. Currently, CrossOver still uses pieces of 32-bit code for every function and will not launch or install any Windows apps in Catalina. If CrossOver is critical&nbsp;to you macOS experience, we ask that you wait on upgrading to Catalina until we release a Catalina compatible version.
<p>
At this time, we anticipate that an alpha version will be available sometime in the next 30 days. We will continue to update you as development progresses.
</i></blockquote>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2019/10/08/apple-kills-32bit-software/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
