GXemul for Win32

Luna m88k booted off RAM disk

Don’t get all to excited, it’s a terrible port, but it’s to the point where it can barely run stuff. Although I don’t know how much is me, and how much is GXemul. I probably should have tested on Linux first.

Anyways it’s enough to boot the Luna m88k OpenBSD ram disk up to the single user mode, and poke around. The hard disk doesn’t pick up, and I haven’t even tried the NIC, although the address is looking pretty bogus.

I wanted to try the PMAX version of Mach, but then it hit me, that there is no server to load. And porting the system level from Mach 3.0 to 2.5 looks way more involved than Mach 3.0 being ‘something minor’.

Back on the 88k front, the Luna shipped with something called UniOS-Mach, but good luck finding that in this day & age. I guess I’ll have to go back to Japan.

For the crazy among us, go ahead and try gxemul-0.6.2-ultra-primative.zip The name says just how stable it is.

In the meantime here is a super low resolution capture of the screensaver from a Luna via http://www.nk-home.net/~aoyama/luna88k/

As an update, I added in the timer code from PCemu, and now that the timers appear to be firing some stuff like OS/F 1.0 get’s further!

OS/F 1.0 in single user mode

I need to go through the setup stuff a lot better as this is just untar’d and not setup at all. Not that it’s useful, but here, osf1-barely.7z .

So if anyone downloaded gxemul prior to this update, re-download it again! I put the m88k ramdisk kernel in there too so you can quickly test the Luna 88k emulation.

Remember when the PowerPC 620 was going to rule the world?

The Pentium processor, like the 68060 was the end of the line, there was nothing more that could be done for CISC, the future was RISC, and Intel along with Motorola had painted themselves into the corner, and the only way out was RISC. But both the i860 & 88010 failed to gain critical traction, paving the way for AIM to deliver on the PowerPC, leaving Intel behind.

Except it didn’t.

It’s always somewhat amusing and disappointing re-reading old stuff, looking for things and finding stuff like this.

Just as 1993 was the year that brought Windows NT out into the world, and the 32bit x86 wars really ignited. Who would have thought that only NT would remain out of these 5, and that ‘school kids project’ would have eclipsed them all?

The PC of tomorrow, love that dual 3 1/2″ & 5 1/4″ floppy drive!

There was something always ‘cool’ about the 80/90’s computer magazines and their shameless clip art, art packs. I wonder how much was physical cut outs and photographs vs being all digital? The shadows on the processor pins & heat sinks make me think that this was a physical layout.

For a fun call back, check out the May 31st 1994 issue of PC Magazine, PowerPC vs Pentium. It surprisingly has a lot of RISC reviews past page 120.

As luck has it, the 620 was delayed, and did not launch in 1994. It wouldn’t be pushed out until 1997, and by then the performance was lackluster, and I think this is what pushed IBM back into the POWER processor business. Making this the foreshadowing of abandoning Apple yet again with the G5 years later, despite IBM’s massive sales of PowerPC’s to Microsoft, Sony & Nintendo for various games consoles getting the volume that they desperately wanted to only later hand it over to AMD & ARM.

I think I’m chasing a struct packing issue

i386 breaking on the AASTINKY texture

On the i386 a texture info lump loads up just fine. However on a big endian G5…

OS X 10.2.8 on the G5 on the same AASTINKY

…It clearly has problems. Although notice that the positions and sizes are the same, as they ought to be.

Notice how originx is 24, which should be the width. This code was running with GCC 1.30/1.40 hammered x68000 GCC. Although I have been unable to get the much vaulted gcc-1.30.atari.tar.bz2 to do anything useful, well until tonight, when I found this file: GNU_HEAD.ARC.

That’s right, it’s the gcc-1.23 release headers for GCC on the Atari ST. Now I know other places people have been saying I should use MINT or some GCC8 port. And I wanted something to run on bare TOS, and I cross compiled the simple Infocom interpreter but it just crashes out after a few commands. It’s hardly stable.

3 bombs and an exit under GCC 8.0

Which is just a damned shame, as it was easier to just download someone else’s work.

Anyways, I now can build the old gcc-1.30 libc however… the linker that I’m using that works for GCC 2 links away and it looks like a working program but it doesn’t do anything. I have a feeling the linker drifted in those years between GCC-1.30 and GCC-2.something when it was adapted. Certainly by the time of 2.5.8. So yet more endian ghosts to chase down if I try to adapt that linker.

Installing AIX on Qemu!

YES it’s real!

I’m using the Linux subystem on Windows, as it’s easier to build this Qemu tree from source. I’m using Debian, but these steps will work on other systems that use Debian as a base.

First thing first, you need to get your system with the needed pre-requisites to compile:

apt-get update;apt-get upgrade apt-get install build-essential pkg-config libz-dev libglib2.0-dev libpixman-1-dev libfdt-dev

Great with those in place, now clone Artyom Tarasenko’s source repository

git clone --branch 40p-20190406-aix-boots --single-branch https://github.com/artyom-tarasenko/qemu.git

*NOTE from the future (2022) you may want to jump here: to check out building on newer systems. Also don’t forget about networking!

Since the frame buffer apparently isn’t quite working just yet, I configure for something more like a text mode build.

././configure --target-list=ppc-softmmu --disable-sdl --disable-vnc --disable-gtk --disable-gnutls --disable-nettle --disable-gcrypt --disable-spice --disable-numa --disable-libxml2 --disable-werror

Now for me, GCC 7 didn’t build the source cleanly. I had to make a change to the file config-host.mak and remove all references to -Werror. Also I removed the sound hooks, as we won’t need them. remove the following lines:

CONFIG_AUDIO_DRIVERS=oss CONFIG_AUDIO_OSS=m

Now you can build Qemu. it’ll happily build in parallel so feel free to build using the -j parameter with how many cores you have. I have 32, so I use

make -j32

Okay, all being well you now have a Qemu. Now following the steps from
Artyom Tarasenko’s blog post, we can get started on the install!

First we create a 8GB disk

qemu-img create -f qcow2 aix-hdd.qcow2 8G

Next we need the custom BIOS with serial as the console.

wget https://github.com/artyom-tarasenko/openfirmware/releases/download/40p-20190413/q40pofw-serial.rom

You’ll need some AIX. I tried a 3.2.5 CD-ROM and it didn’t pick up, but AIX 4.3.3 did.

Now with all those bits in place, it’s time to run Qemu.

./ppc-softmmu/qemu-system-ppc -M 40p -bios q40pofw-serial.rom -serial telnet::4441,server -hda aix-hdd.qcow2 -vga none -nographic -net none -cdrom Volume_1.iso

Now telnet to your localhost on port 4441 and you will see the console doing it’s BIOS initialize and eventually drop to the OK prompt.

One trick I’ve found is that from the Open Firmware prompt you can find out what partitions are recognized from the firmware. If it see’s partitions then there is some hope that the image you have is valid enough to boot. In the last few days I’ve found quite a few AIX images, which are lacking the partition table, and unable to boot.

.partitions cdrom

simply type in boot cdrom:2 to kick off the installer. It may take a minute or so for the installer to kick off.

If all goes well, you’ll see the BIOS reload itself, then after a minute you’ll be prompted to press 1 to select the console

It doesn’t echo, don’t panic!

Next select your language. I’m doing English.

Next it’ll ask about installation type. Default ought to be fine.

Because this will destroy the contents of the disk (which doesn’t matter as it’s blank) it’ll prompt for confirmation.

After this it’ll begin the installation. Depending on how fast your disk & CPU is this will take a while.


For me, the installation took about 11 minutes. This is using my Xeon E5-2667 v2. It took 17 minutes on my 2006 Mac Pro, with X5365’s it .

After it’s done, right around the 96% time it’ll reboot back to the BIOS

Once you are back at the OK prompt, you can now boot disk:

it’ll look like it’s hung for a minute, then it’ll start booting from disk!

Once the OS is booted up, you select the terminal type. I’m using putty but I’ll select the vt100. Of note the function keys are selected by hitting escape and then the number key. So F3 is ESC 3.

I’m just going to finish the install, as we can always run smitty to mess with the system more, but right now I’m just interested in a base install of the BOS (Base Operating System, and IBM ISM).

A few moments later, you’ll get dumped to the login prompt.

By default there is no password, so just login as root, and there you go, your very own virtual AIX 4.3 system.

# uname -a AIX localhost 3 4 000000004C00

So there you go! All thanks to Artyom’s hard work!

Installing Classic (MacOS 9.2.2) from OS X 10.4

I just got another PowerBook, and the disk had been wiped by the prior user, and all it did was boot up to the blinking mac face. So not very useful. I did luckily buy some CD’s from a user on reddit a few months ago, so I had 10.4 install DVD, and an install of 9.2.2 for the emac.

Now the OS 9, is an install disc, not one of the recovery discs, and naturally the aluminum powerbooks don’t boot OS 9, so I’m kind of out of luck for getting Classic working, or so I had thought. I copied the System Folder from the CD onto the hard disk, and told the classic applette to boot it, and it updated some system files, and then gave me this fine message:


The system software on the startup disk only functions on the original media, not if copied to another drive.

So this got me thinking, back in the Sheepshaver days when trying to boot from an ISO as a disk file, it fails the same way because the image is read/write. If it’s read-only it does boot up however. So I used disk util, and made a new read-only disk image from a directory, and pointed it to a directory that I’d moved the CD’s system folder, desktop to. After mounting the read only image, it booted!

Now for the best part, I then kicked off the installer from the CD, and had it install a copy of OS 9, onto the OS X disk.

OS 9 Installer running under OS X

It’s worth noting that just about every optional install fails. It’ll come back with an error, and you can skip the component. It’s probably just easier to install the minimal OS image.

But rest assured it really does install.

After the install you can eject the CD, unmount the read-only copy and tell the classic to stop and then boot from the new installed copy of OS 9 on the OS X disk. It didn’t interfere with my OS X from booting, although the ‘sane person’ would probably have disk image make a small (1gb) read/write virtual disk, and have the installer install to that.

So to recap, copy the system folder from the CD onto read-write media, and let classic update it. get it to the point that it’s not happy about being mounted read-write. Move it to a read-only disk image and have classic boot from that, and then run the OS 9 installer to install itself to whatever target disk you need or want.

SimCity 2000 on Classic / OS X

I’ve run Netscape 4, IE 3 & 4, QuickTime 4, and the SIMS version 1 (the OS 8/9 carbon version). using 10.4.0 on an aluminum powerbook.

I don’t know if anyone else has done this, I couldn’t find any real concrete guides for installing OS 9 from OS X.  So here we go.

20 years of iMacs

Wow the time sure flies!

 

(Video in MPEG-1/Audio MPEG-2 care of JSMpeg).

I know it's terrible quality but finding video from these old Apple events seems to have been recorded on VHS, and then re-recorded using the 'best' video capture technology for under $100 of the era leading to some really poor quality.  Such is the internet I guess.

I didn't buy a first generation but I did have a 2nd generation 333Mhz green iMac to run OS X Server 1.0 ... Who wasn't excited for the prospects of the next millenium?

Booting my PowerMAC G5 from SSD

Grandpa’s G5

In my last trip to the United States, I scored yet another PowerMac G5, a model 7,2 which is one that is capable of running OS X 10.2.7 for the G5.  It was the proverbial dream come true, used by an elderly man to keep track of photos in iPhoto, which he used maybe a handful of times a year.

Needless to say, he wasn’t too pleased that his copy of Snow Leopard didn’t work on the machine, and he dumped the G5 for a much quieter MacBook.

At any rate, it also included an Apple Studio Display.  I found another Cinema Display in the used hardware market for $25, which even though the display works the screen was damaged at some point and shows scratches on the surface when the display is a solid colour.

At any rate, the machine was deadly slow to boot, I upgraded the RAM from 256MB to 1.2GB, and replaced the ancient disk for a SAMSUNG SSD PM830 2.5 256GB flash drive.  Now it’ll boot up in under 30 seconds from the graphics initialization.

That makes this the only machine I have capable of running MacOS 9, although in emulation under OS X 10.2.  I have the Jaguar DVD set, but Classic mode was removed in 10.5.  It was the ending of the PowerPC era, just as 10.6 was the last version to ship with Rosetta.

Its a fun machine from the era of the introduction of personal 64bit RISC computing to the home user, although too bad the full industry didn’t catch up until later, just as 32bit desktop computing had a few stumbles out of the gates.

Darwin 0.3 & 1.0 on Qemu

Darwin 0.3 PowerPC

Interestingly enough a lot of the same weirdness of missing bits I saw on the x86, is also on the PowerPC.

There is no nice installer, the CD image actually boots MacOS 8.6 which currently won’t run on Qemu.  However Darwin 1.0 uses MacOS 9, which will.  There is not install program for Darwin, rather you need a secondary disk, that is partitioned so the volume manager will pick it up, and then you restore a backup onto the target disk.  Naturally the restore program from 0.3 won’t work, but the 1.0 will under the G4 Cube MacOS 9 CD-ROM install.

Also I couldn’t figure out the boot parameters so I used Steve Troughton Smith’s BootX loader https://github.com/steventroughtonsmith/BootX to get the OS booted.

qemu-system-ppc.exe -L pc-bios -drive file=..\darwin03.qcow2,index=0,format=qcow2,media=disk -drive file=BootX_custom.dmg,index=2,format=raw,media=disk -prom-env “boot-device=ide1:2,\BootX” -prom-env “boot-args=-v rd=hd0 debug=0xffe kdp=2” -prom-env “boot-file=ide0:8,\mach_kernel” -M g3beige

It’s a little convoluted but it does work.

I put together a binary package for Qemu on sourceforge here: Darwin03-PowerPC_qemu-2.11_04_22_2018.7z

Currently there is no networking, I’m guessing I need drivers from OS X 1.x but Ive had really bad luck with the mouse to try to open a terminal window to see if the new sungem NIC is functional at all.

Mac OS X Server 1.0 installs on Qemu

OS X Server 1.2 on qemu single user mode

That’s right, the ADB is usable enough now to type and move the mouse, meaning that OS X Server can now be installed within Qemu!

It’s incredibly slow, and the mouse is incredibly jumpy, but it’s actually running!

Basically, like A/UX, you boot up into MacOS to partition the drive.

qemu-system-ppc-screamer.exe -L pc-bios -m 256 -M mac99 -prom-env “boot-args=-v” -prom-env “auto-boot?=true” -prom-env “vga-ndrv?=true” -hda 2GB.vmdk -cdrom “Mac OS X Server 1.2, MOSX_Booter.iso” -sdl -device usb-mouse -device adb-keyboard -boot d

OS X Server 1.2 MacOS 9 Create OS X Server partition

And then kick off the installer:

OS X Server 1.2 MacOS 9 Start Install

Which really isn’t much to do, other than tagging the partition, and prepping the machine to reboot.

It’s OK

Qemu doesn’t emulate the NVRAM, so it’ll complete with this ‘non fatal’ ‘fatal error’

After that, boot into the OS X Server kernel, and continue the install:

qemu-system-ppc.exe -L pc-bios -prom-env “boot-args=-v rd=sd0″ -drive file=2GB.vmdk,index=1,format=vmdk,media=disk -M g3beige -cpu g3 -drive file=”Mac OS X Server 1.2, MOSX_Booter.iso”,index=0,format=raw,media=cdrom -prom-env “boot-device=cd:9,\\:tbxi” -m 256 -net none

OS X Server 1.2 installing text mode

It will then format the disk, and copy over the base operating system.  After that it’s time to shutdown, and reboot the VM.  I couldn’t figure out a pure hard disk boot, but again using the CD-ROM, you can just tell it to pull the root from the hard disk.

qemu-system-ppc.exe -L pc-bios -prom-env “boot-args=-v rd=hd0″ -drive file=2GB.vmdk,index=1,format=vmdk,media=disk -M g3beige -cpu g3 -drive file=”Mac OS X Server 1.2, MOSX_Booter.iso”,index=0,format=raw,media=cdrom -prom-env “boot-device=cd:9,\\:tbxi” -m 256 -net none

OS X Server 1.2 installing

And after this, it’ll want to reboot again.  Launch it up and now we get the initial setup

Setup Assistant

And with that out of the way, we can logon!

And after a while, it’ll load up the desktop

OS X Server 1.2 Desktop

As mentioned above, the mouse is incredibly jittery.  Doing anything graphical is very difficult. But here we are, running OS X/Rhapsody for the PowerPC!

That’s all!

Because the mouse is VERY jumpy at the moment, Im going to make some pre-configured disk images available because running the disk tool under OS 9 is a major pain.  The first image has only been partitioned, while the second has completed the ‘text mode setup’, aka a minimal install.

And that’s it for now!