GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

About Qemu-system-ppc, a PPC Mac emulator for Windows, macOS and Linux that can run Mac OS 9.0 up to Mac OS X 10.5

Moderators: Cat_7, Ronald P. Regensburg

User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

Add Extensions Manager or Conflict Catcher first :D
gtxaspec
Tinkerer
Posts: 62
Joined: Mon Oct 19, 2015 7:32 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by gtxaspec »

my theory is some of the scripting addons and or open transport / any device drivers or hardware enablers will lead to crash.
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

Good point; Open Transport is likely to do it. It's looking for hardware beyond what is being emulated. QuickTime may also have issues, at least the hardware acceleration extension. Same with the ATi extension.

Probably best to disable all extensions that touch external hardware and see if things boot -- then start turning the others on one at a time to see what breaks (and how).
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

No luck with the content of the quicksilver system folder from the macintosh garden. I stripped all CPs and Extensions but still a crash.

Best,
Cat_7
gtxaspec
Tinkerer
Posts: 62
Joined: Mon Oct 19, 2015 7:32 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by gtxaspec »

I've tried various 9.2.2/9.2.1 System files and all crash. It seems only the System files from the installation discs work. I wonder why, how are they different. besides the disc background :)

Some extensions and macsbug insight here:

http://www.verycomputer.com/151_f4559b68d60abd8f_1.htm

We need a hardcore macsbug hero to figure this out.
CharlesS
Granny Smith
Posts: 107
Joined: Thu Aug 14, 2008 9:05 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by CharlesS »

I wasn't able to get it to work when building qemu from the URL that gtxaspec provided—for some reason, it wouldn't get past the cream-colored OpenBIOS screen. However, the changes must have already been incorporated into the master branch, because I built it from the official qemu distribution (https://github.com/qemu/qemu.git) and used it with the OpenBIOS ROM that gtxaspec linked—and holy crap. It does indeed boot.

Image

I know that there's still work to be done, but this is incredible. You guys are amazing.

Unfortunately I've got a lot on my plate right now, but if I ever find a little free time, I could try playing with extensions and seeing what happens.
There's no earthly way of knowing, which direction we are going, for the rowers keep on rowing, and they're certainly not showing any signs that they are slowing.
kataetheweirdo
Master Emulator
Posts: 313
Joined: Sun Feb 01, 2009 4:55 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by kataetheweirdo »

Well...I really need to get the MECS renovated soon, so that it can updated much more flexibly. I'm rather busy myself, with school being rather intense.

That said, I forgot to mention that it's especially strange how QEMU is trying to access SPR 0. That register is only seen on PowerPC 601's and was there for compatibility with the POWER architecture. None of the later PPC processors should even touch it, so it is possible some processor identification issues are happening on the G4 side.

It seems someone already has a snapshot of QEMU compiled for 64-bit Windows, saving me some trouble from compiling it. I'll take a look into it soon, since it seems the compatibility fixes for Mac OS 9.x are already there. I've never done much with Mac OS 9 coding, but I'll definitely try out 9.2.2 with Macsbug and see what's going on. I don't see much just be looking at QEMU's code.

One more thing, I should warn that the system ISO doesn't appear to contain much extra disc space for the extensions. So for those who want to join in, make sure you expand the size of that first. I'm glad that Mac OS 9.x can boot up, but I'd also like to see how far older versions of Mac OS get during the booting process.
Last edited by kataetheweirdo on Tue Nov 17, 2015 3:47 pm, edited 1 time in total.
User avatar
sentient06
Mac Mechanic
Posts: 188
Joined: Tue Mar 29, 2011 8:57 pm
Location: London, UK

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by sentient06 »

I like your wallpaper in the host system. =D

I understand Mac OS 9.2 is different from 9.0.4, but did anyone try to boot 9.0.4? Or maybe 8.6? Theoretically, would it work?

I'm just glad QEMU won't need ROM images.
User avatar
that-ben
Granny Smith
Posts: 141
Joined: Tue Nov 10, 2015 7:50 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by that-ben »

gtxaspec wrote:
PS: qemu doesn't like when you go above 256mb of memory. i have been very successful with 256.
Not all Mac ROM's are supporting the same max amount of RAM. For example, the original 233mhz iMac max RAM was officially only 384MB. Could it be because of that maybe?
LightBulbFun
Tinkerer
Posts: 50
Joined: Mon Jul 13, 2015 11:32 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by LightBulbFun »

Just figured id drop by and say wow :D lots of very nice progress done here :) Couple of things I wanted to mention is -mac99 (sawtooth) in qemu (2.5.0RC0) will now boot Tiger to the desktop :D (before it got stuck at still waiting for root device) now I decided to give the current OS9 progress a Spin and after a load of failed boots (its very pokey) I got OS9.2.2 to boot in QEMU in non safe mode on a 7410, using the stuff provided in this thread (I used the OpenBIOS combined with the latest version of qemu) (I had the QEMU utils attached as a volume but i ended up not using them in this boot session )

Image
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

Hi,

I created a disk of 2Gb, partitioned it in two partitions and copied the content of the Mac OS 9.2.1 install CD to the second partition. Then, while booted from the OS92_test.iso provided by gtxaspec, I started the installer from that second partition.
The installers normally bombs out directly after selecting the destination drive.
However, after first installing Internet Explorer and Netscape a system folder is created on the destination drive, which seems to help (?)
It got me a bit further with installing a default Mac OS 9.2.1 as I could run the installer and actually write data. But it stopped somewhere along the way with an error "The action could not be completed. Please try again".

However: a custom install (by deselecting everything and doing a custom install of the basic system software) succeeded ;-)

After moving all extensions and all control panels to their (Disabled) counterparts I booted with only the hard disk as disk in qemu. It booted with the default background, but then crashed with the "hold down shift key" hint.

Subsequent booting from the cd image and having the hard disk attached always leads to a crash. So somehow something on that hard disk is read during boot which brings down qemu.

Best,
Cat_7
CharlesS
Granny Smith
Posts: 107
Joined: Thu Aug 14, 2008 9:05 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by CharlesS »

Cat_7 wrote:Hi,

I created a disk of 2Gb, partitioned it in two partitions and copied the content of the Mac OS 9.2.1 install CD to the second partition. Then, while booted from the OS92_test.iso provided by gtxaspec, I started the installer from that second partition.
The installers normally bombs out directly after selecting the destination drive.
However, after first installing Internet Explorer and Netscape a system folder is created on the destination drive, which seems to help (?)
It got me a bit further with installing a default Mac OS 9.2.1 as I could run the installer and actually write data. But it stopped somewhere along the way with an error "The action could not be completed. Please try again".

However: a custom install (by deselecting everything and doing a custom install of the basic system software) succeeded ;-)

After moving all extensions and all control panels to their (Disabled) counterparts I booted with only the hard disk as disk in qemu. It booted with the default background, but then crashed with the "hold down shift key" hint.

Subsequent booting from the cd image and having the hard disk attached always leads to a crash. So somehow something on that hard disk is read during boot which brings down qemu.
How did you create the 2 GB hard drive image? I am curious, because all my attempts to attach a hard disk have caused a crash at boot, no matter what is on the image. Maybe if we know what sort of hard disk doesn't crash it, it would provide some clues.

Based on what you described, with the the hard disk mounting without issue until you tried to install the OS on it, I'm kind of wondering whether this may be related to the driver partition. The Classic Mac OS installer will install a driver on a hidden partition on the disk, and then that driver will get loaded on startup as part of the boot process. The OS also loads the driver partitions for other disks other than the boot disk, which is why it was possible to do things like use a ZIP drive without having the driver installed on the system, if you had a Mac-formatted disk in the drive during the startup process. Anyway, I wonder if something's crashing while trying to load the driver from the disk.

An interesting test would be to see whether a floppy could be mounted without causing a crash, since floppies didn't have the driver partition on them. However, I have been unsuccessful at attaching a floppy; attempting to do so just results in "Warning: Orphaned drive without device: id=floppy0,file=/path/to/floppy.dsk". Possibly the floppy drive is not implemented yet in QEMU.
There's no earthly way of knowing, which direction we are going, for the rowers keep on rowing, and they're certainly not showing any signs that they are slowing.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

Hi,

A raw disk image of 2Gb is created with qemu-img:
./qemu-img create -f raw -o size=2G test.raw

You then need to add it as second disk to qemu. In fact I use three disks:
-drive file=os92_test.iso,index=0,media=cdrom
-drive file=test.raw,format=raw,index=1,media=disk
-drive file=OS922.iso,index=2,media=cdrom

Then I use drive setup from the OS922.iso to initialise the disk.

After I installed a minimal Mac OS Qemu did boot from the hard disk, so it seems the driver gets loaded OK. But it crashed with the extensions off hint, so well into the boot process.

btw: I had to remove the third disk to have the hard disk (partitioned and formatted) show up on the desktop.

Best,
Cat_7
djblastyfone
Space Cadet
Posts: 5
Joined: Tue Nov 17, 2015 11:53 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by djblastyfone »

Hi everyone, long-time lurker who finally decided to register in with all the excitement.

Sorry if this has already been addressed elsewhere, but does QEMU's design allow for graphics card emulation of any kind? I know one of the big issues myself and others have with Sheepshaver is that it can't run many of the more popular QuickDraw 3D or OpenGL games that require hardware acceleration. I've already read through the thread here about the unsupported instructions in Sheepshaver that would make adding this difficult, are these also missing in QEMU?

The two options, as I understand them, would be to either write a driver that has OpenGL passthrough of some sort, or actually emulate a graphics card at the hardware level. There's currently a very interesting open-source legacy PC emulator under development called PCem that lets you emulate a wide range of popular old video cards at the hardware level (you need to supply the ROM/BIOS for them), including the 3DFX Voodoo 1 and the ATI Mach64 GX which I believe had Mac variants. I'm aware that these cards are quite old and probably wouldn't make a great solution going forward (though optional Glide emulation would be really nice for old games like Carmageddon), but getting something like the Mach64 running with OS 9 in QEMU would pave the way for better and more suitable cards (e.g the Rage 128 Pro or the GeForce Ti 4200). What do you think? Is this just a pipe dream or could this be feasibly done?
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

I was wondering when this would come up :D

https://www.phoronix.com/scan.php?page= ... px=MTI2OTk

TL;DR is that QEMU/KVM allows for video passthrough, so if your modern card supports the calls your ancient software is looking for, you should be able to do this on Linux. Unfortunately, vfio-pci and vfio-vga appear to be tied into KVM.

But the code's all there, so it should be possible to do once the base OS is running. It'll just need a few patches, I'd think. http://pastebin.com/QzaxuGtr shows that it appears to be functional on other PPC-based systems.

The bigger trick will be enabling this sort of stuff on OS X and Windows.
kikyoulinux
Tinkerer
Posts: 92
Joined: Sun Sep 28, 2014 11:53 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by kikyoulinux »

There was a GSoC project tried to add S3 ViRGE emulation to Qemu but it failed... Anyway, 3D acceleration isn't the first things first, from my point of view.
CharlesS
Granny Smith
Posts: 107
Joined: Thu Aug 14, 2008 9:05 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by CharlesS »

Yeah, even once the full OS distribution is made bootable, there's still going to be basic things like sound and networking that would probably warrant the devs' attention before there'd be time to get to things like 3D acceleration.

3D games were still pretty nascent during the OS 9 era, anyway; I'd think that other than the Pangaea games, there wouldn't be much that wouldn't either have an OS X port or be runnable via a Windows emulator or something.
There's no earthly way of knowing, which direction we are going, for the rowers keep on rowing, and they're certainly not showing any signs that they are slowing.
kataetheweirdo
Master Emulator
Posts: 313
Joined: Sun Feb 01, 2009 4:55 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by kataetheweirdo »

QEMU does have sound, but only for x86 systems. PowerPC emulation, on the other hand, is completely silent. There is the NE2000 card, but I'm not sure if Mac OS 9 can work with that.

Those undoubtedly take priority over 3D acceleration, but that isn't to say it is unfeasible. It would require eciwx and ecowx to get information to and from a graphics card somehow, but I don't think that's even close to ready given that ATI Rage 128s aren't easy to emulate. As I may have mentioned before, X.Org will be quite resourceful for this.

Pretty much all of the noteworthy 3D Mac OS Classic games can be played through other means (ports to Windows and iOS). There are some indie ones too, but those are so rare/obscure that most people wouldn't notice.
Last edited by kataetheweirdo on Wed Nov 18, 2015 5:10 am, edited 1 time in total.
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by adespoton »

CharlesS wrote:Yeah, even once the full OS distribution is made bootable, there's still going to be basic things like sound and networking that would probably warrant the devs' attention before there'd be time to get to things like 3D acceleration.

3D games were still pretty nascent during the OS 9 era, anyway; I'd think that other than the Pangaea games, there wouldn't be much that wouldn't either have an OS X port or be runnable via a Windows emulator or something.
The Pangaea games were all ported to iOS; I still play them regularly :)

There's really not much that isn't available through other means, beyond QuickDraw GX (which never really had anything done with it anyway).
gtxaspec
Tinkerer
Posts: 62
Joined: Mon Oct 19, 2015 7:32 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by gtxaspec »

Hello Cat_7!

Try to remove the folders Scripting Additions and Text Encoding in the System Folder, and delete all preferences and try again.

Also, what build of QEMU are you using? I don't think the one I compiled is 64 bit. I couldn't get at all through the MacOS installer, the farthest I have gotten is the license agreement screen, clicking agree exits with type 2 or type 3 error. Could you post your command line arguments?

Thanks!
Cat_7 wrote:Hi,

I created a disk of 2Gb, partitioned it in two partitions and copied the content of the Mac OS 9.2.1 install CD to the second partition. Then, while booted from the OS92_test.iso provided by gtxaspec, I started the installer from that second partition.
The installers normally bombs out directly after selecting the destination drive.
However, after first installing Internet Explorer and Netscape a system folder is created on the destination drive, which seems to help (?)
It got me a bit further with installing a default Mac OS 9.2.1 as I could run the installer and actually write data. But it stopped somewhere along the way with an error "The action could not be completed. Please try again".

However: a custom install (by deselecting everything and doing a custom install of the basic system software) succeeded ;-)

After moving all extensions and all control panels to their (Disabled) counterparts I booted with only the hard disk as disk in qemu. It booted with the default background, but then crashed with the "hold down shift key" hint.

Subsequent booting from the cd image and having the hard disk attached always leads to a crash. So somehow something on that hard disk is read during boot which brings down qemu.

Best,
Cat_7
kataetheweirdo
Master Emulator
Posts: 313
Joined: Sun Feb 01, 2009 4:55 pm

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by kataetheweirdo »

Uh...so I can't boot it...at all. QEMU will not start up Mac OS 9. I've tried a variety of combinations to try to get it booting, but I can't actually get far enough to do it.

The farthest I've gotten is entering this at the command prompt (w/o quotes):

"qemu-system-ppc -bios openbios-ppc -boot d -drive file=os922_uni.iso,index=0,media=cdrom -M mac99 -m 192 -prom-env 'auto-boot?=true' -g 800x600x32 -cpu G3 -net none"

All of the files in the same directory as QEMU.

I can reach the OpenFirmware screen and it can sometimes allocate the VRAM. I can reach the boot-up screen, but I cannot get past that as the illegal instruction error bomb screen appears. Using g3beige instead of mac99 also results in allocation problems, but the former crashes sooner due to a missing interrupt controller node. So...neither the universal ISO nor the test ISO for Mac OS 9.2.2 work.

I'm using the snapshot of QEMU from Nov. 15, 2015 compiled for Windows x86. I'll be trying out the x86-64 version soon, but I doubt it will be much different. I'm also using OpenBIOS compiled Oct 23 2015 12:44, as the one included with the snapshot does not work at all and immediately gives up regardless of what I do.
I'm going to see what can be done with QEMU's monitor first. Wish me luck.
Last edited by kataetheweirdo on Wed Nov 18, 2015 7:01 am, edited 2 times in total.
kikyoulinux
Tinkerer
Posts: 92
Joined: Sun Sep 28, 2014 11:53 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by kikyoulinux »

I have a RTL8139 PCI card and it works on both OS 9 and Tiger, on my PowerMac G4. Driver for OS 9 is still available on Realtek website and Tiger 10.4.11 does not need a driver. I don't know what will happen on Qemu.
CharlesS
Granny Smith
Posts: 107
Joined: Thu Aug 14, 2008 9:05 am

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by CharlesS »

adespoton wrote:
CharlesS wrote:Yeah, even once the full OS distribution is made bootable, there's still going to be basic things like sound and networking that would probably warrant the devs' attention before there'd be time to get to things like 3D acceleration.

3D games were still pretty nascent during the OS 9 era, anyway; I'd think that other than the Pangaea games, there wouldn't be much that wouldn't either have an OS X port or be runnable via a Windows emulator or something.
The Pangaea games were all ported to iOS; I still play them regularly :)

There's really not much that isn't available through other means, beyond QuickDraw GX (which never really had anything done with it anyway).
There were a few Pangaea games that were never ported, and employees of the company have posted that they probably never will, since they used QuickDraw 3D, and any port would have to be pretty much a complete rewrite. Those were the original Nanosaur, the original Bugdom, and (I think?) Weekend Warrior. They were pretty fun games, IIRC, but they can obviously wait for other, more important things.
There's no earthly way of knowing, which direction we are going, for the rowers keep on rowing, and they're certainly not showing any signs that they are slowing.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

Also, what build of QEMU are you using? I don't think the one I compiled is 64 bit. I couldn't get at all through the MacOS installer, the farthest I have gotten is the license agreement screen, clicking agree exits with type 2 or type 3 error. Could you post your command line arguments?
I use your build from mark's branch. Command line arguments are the same as you use.
After messing up the bootable hd image I have not been able to produce a new bootable image, due to the installer crashing as before ;-). However, the order of disks seems to be extremely important. What index numbers are used makes the difference between getting to the desktop or not.

Best,
Cat_7
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

Post by Cat_7 »

kataetheweirdo wrote:Uh...so I can't boot it...at all. QEMU will not start up Mac OS 9. I've tried a variety of combinations to try to get it booting, but I can't actually get far enough to do it.
I boot with the os9_test.iso. (see goodies in a post above). The iso you are now using never booted here.
-m 256 produces best results.
The windows build from the 15th should boot, but has mayor mouse issues here.

Best,
Cat_7
Post Reply