GSOC qemu Boot Mac OS >= 8.5 on PowerPC system

About QEMU, 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

PeterHolbrook
Apple Corer
Posts: 247
Joined: Fri Oct 26, 2007 7:56 am

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

Post by PeterHolbrook »

Graphics acceleration?

I'm not sure I've understood some of the latest posts correctly. Has graphics acceleration been achieved on Qemu for OS X guests (like, say, Tiger)? If so, can Front Row run on such virtual machines? If it doesn't work yet, will that goal be achievable in the near future?
User avatar
Cat_7
Expert User
Posts: 5099
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,

No, there is no Graphics Acceleration. Only the basic drivers load. The GA drivers garble the OSX screen.
There would have to be a relation to hardware to get real acceleration, and currently there is none. So, even thought the driver might load, all graphics would still have to be calculated through software.

Best,
Cat_7
PeterHolbrook
Apple Corer
Posts: 247
Joined: Fri Oct 26, 2007 7:56 am

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

Post by PeterHolbrook »

Thanks.
User avatar
celebi23
Tinkerer
Posts: 93
Joined: Wed Jun 18, 2008 5:53 am

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

Post by celebi23 »

So, I'm using the latest screamer build (Qemu-4.0pre-OSX-Altivec-Screamer-09-02-2019) on Mac OS X and was wondering if there was a way to enable internet and sound on Mac OS X Public Beta?

Here's my qemu.command file

Code: Select all

#!/bin/bash
cd "$(dirname "$0")"

./qemu-system-ppc -L pc-bios -boot c -M mac99 -cpu G4 -m 1024 -prom-env 'auto-boot?=true' -prom-env 'boot-args=-v' -drive file=MacintoshHD.dmg,format=raw,media=disk -drive file=files.dmg,format=raw,media=disk -rtc base="2000-09-13",clock=vm -netdev user,id=network01 -device sungem,netdev=network01 -device VGA,edid=on
Do I need to add anything to my command file to enable audio & an internet connection in Mac OS X Public Beta?
User avatar
Cat_7
Expert User
Posts: 5099
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 just installed the PB from the macintoshgarden.
Internet should work with that command line. Internet Explorer tries to open e.g., www.google.com, but crashes...(what's new).

It seems the PB does not like the screamer code. As soon as I click a sound, Qemu starts throwing errors ... invalid key ....

Best,
Cat_7
User avatar
adespoton
Forum All-Star
Posts: 3098
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 think I got USB audio working on PB; screamer is incompatible.

For internet, it works, but you should disable the time server prior to enabling it, or PB will call home to Apple, set the time, and immediately stop working.
Programmingkid
Apple Corer
Posts: 243
Joined: Sun Jan 31, 2016 6:01 pm

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

Post by Programmingkid »

Great news! I made a patch that implements the Screamer sound chip into QEMU. This one sounds better than the older Screamer implementation. Also I am trying to commit these patches into QEMU so we will no longer need a custom made version of QEMU to play sound.

- Mac OS 9.0.4 plays MP3's perfectly.
- MP3's sound perfect on Mac OS 9.2.2. Games like Wolfenstein 3D and Duke Nukem 3D also sound perfect.
- The default Quicktime version in Mac OS 10.2.3 sounds very choppy when playing MP3's. When I use MpegDec 3.1.1 in the classic environment the audio sounds perfect. I think it is a problem with the MP3 decoder (Quicktime 6.0.2).
- On Mac OS 10.4.3 the audio is almost good sounding. Very minor audio artifacts appear. Mac OS 10.4.11 sounds ok.

I noticed that patches are sometimes committed that break features in QEMU that we need. Some patch has broken my Screamer patch. In order to make testing the sound system simple I added a word to the sound node in OpenBIOS called test-sound. When ran this word will play some musical tones. This should make testing easy for anyone who works on QEMU. There is no need to install a PowerPC operating system to test the sound.

To run this 'word' go to the sound node like this in OpenBIOS: cd mac-io/davbus/sound

Then type test-sound

http://www.mediafire.com/file/ez2xtxblo ... t.zip/file
Patches for both QEMU and OpenBIOS plus an already made OpenBIOS file with the patch applied.

Enjoy!
jgreene01
Space Cadet
Posts: 3
Joined: Fri Nov 20, 2020 7:01 pm

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

Post by jgreene01 »

I am running Qemu 5.1.0 on Catalina, which I obtained both from here and also via my Homebrew installation (which reports no issues).

On this thread, albeit some time ago, it is mentioned that Qemu's savevm and loadvm are working for people, but this isn't working for me. I've gotten both OS 9 & multiple versions of OS X booting (using both raw image drives and qcow2 drives), but when I go to the console and try to run savevm, Qemu immediately freezes and becomes unresponsive.

Anyone know have any idea if the problem might be in the command line options below, or in the platform I'm running, or in this release of Qemu?

qemu-system-ppc -L pc-bios -boot d -M mac99,via=pmu -m 512 \
-prom-env 'auto-boot?=true' -prom-env 'boot-args=-v' -prom-env 'vga-ndrv?=true' \
-drive file=MacOS10.4.qcow2,format=qcow2,media=disk \
-netdev user,id=network01 -device sungem,netdev=network01 \
-device VGA,edid=on
User avatar
Cat_7
Expert User
Posts: 5099
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,

The discussion on this topic seems to suggest savevm/loadvm does not work for qemu-system-ppc.
viewtopic.php?f=34&t=7047&hilit=qemu+savevm&start=1200

Best,
Cat_7
WizKid
Tinkerer
Posts: 53
Joined: Sun Jul 31, 2016 11:58 pm

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

Post by WizKid »

Cat_7 wrote: Sat Nov 21, 2020 6:38 am Hi,

The discussion on this topic seems to suggest savevm/loadvm does not work for qemu-system-ppc.
viewtopic.php?f=34&t=7047&hilit=qemu+savevm&start=1200

Best,
Cat_7
Then perhaps those monitor commands (and the relevant code) should only be enabled when in the target arch is not ppc?
jgreene01
Space Cadet
Posts: 3
Joined: Fri Nov 20, 2020 7:01 pm

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

Post by jgreene01 »

Cat_7 wrote: Sat Nov 21, 2020 6:38 am Hi,

The discussion on this topic seems to suggest savevm/loadvm does not work for qemu-system-ppc.
viewtopic.php?f=34&t=7047&hilit=qemu+savevm&start=1200

Best,
Cat_7
I see. Thank you so much!
User avatar
adespoton
Forum All-Star
Posts: 3098
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 »

jgreene01 wrote: Sat Nov 21, 2020 4:30 pm
Cat_7 wrote: Sat Nov 21, 2020 6:38 am Hi,

The discussion on this topic seems to suggest savevm/loadvm does not work for qemu-system-ppc.
viewtopic.php?f=34&t=7047&hilit=qemu+savevm&start=1200

Best,
Cat_7
I see. Thank you so much!
Drive snapshotting works as long as you pause the emulation first. It's just the full savevm/loadvm that hasn't been implemented properly yet.
jgreene01
Space Cadet
Posts: 3
Joined: Fri Nov 20, 2020 7:01 pm

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

Post by jgreene01 »

Drive snapshotting works as long as you pause the emulation first. It's just the full savevm/loadvm that hasn't been implemented properly yet.
Do am I right this means:
1) type "stop" in that console
2) make a copy the "img" file
3) type "cont" to get the emulation going again

This is helpful. But I suppose there's no way to avoid passing through the boot sequence when commencing the emulation :smile:
User avatar
adespoton
Forum All-Star
Posts: 3098
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 »

jgreene01 wrote: Sat Nov 21, 2020 9:46 pm
Drive snapshotting works as long as you pause the emulation first. It's just the full savevm/loadvm that hasn't been implemented properly yet.
Do am I right this means:
1) type "stop" in that console
2) make a copy the "img" file
3) type "cont" to get the emulation going again

This is helpful. But I suppose there's no way to avoid passing through the boot sequence when commencing the emulation :smile:
Not quite: start your qemu-ppc with -snapshot; then from the monitor you can type stop, commit, cont.

But as you say, you still need to boot every time you start emulation -- the snapshotting only allows you to save different states of the image as difference files (faster and uses up less space than a full copy) -- it doesn't do machine state or memory snapshotting.
Post Reply