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

mcayland
Mac Mechanic
Posts: 152
Joined: Sun Nov 01, 2015 10:33 pm

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

Post by mcayland »

sentient06 wrote:I remember I read some stuff from a lady long ago about the Apple toolkit. It gave me the impression she was very knowledgeable. I don't recall her name, but I posted something here about it. I think she was in a QEMU mail list too.
You're probably thinking of Natalia (Portillo). Sadly I don't think she's involved with QEMU any more :(
User avatar
adespoton
Forum All-Star
Posts: 4227
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 »

It's a tricky situation for past developers, as having inside knowledge could taint an open source project. It's generally better to do a clean room implementation for legal reasons.

That said, for people not on the actual dev team, but who were coding directly against the toolbox and hardware back in the day, there are no restrictions such as this. I'm thinking people like Tom Pittman (SoftwareFPU/PowerFPU), the Connectix team, etc.
mcayland
Mac Mechanic
Posts: 152
Joined: Sun Nov 01, 2015 10:33 pm

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

Post by mcayland »

Agreed, although I was thinking more of any developers who had written any kind of device driver or similar for MacOS 9. They should have the exact skills needed for debugging low-level crashes with MacsBugs, as well as having a good grasp of the toolbox API.
User avatar
adespoton
Forum All-Star
Posts: 4227
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 »

Well, that's beyond me; I've got a fairly good knowledge of the early (pre-PPC) toolbox and have written stuff for MacsBug, but PPC-era drivers were something I completely skipped over.

If you wrote extensions for Mac OS 9 and are reading this, please chime in :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 »

try booting latest qemu with this image:

http://bebop.gtxent.com/os92_test.iso.zip
(22mb compressed)

see if you can debug using that.
Amade
Tinkerer
Posts: 63
Joined: Thu Feb 18, 2010 10:09 pm

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

Post by Amade »

gtxaspec wrote:try booting latest qemu with this image:

http://bebop.gtxent.com/os92_test.iso.zip
(22mb compressed)

see if you can debug using that.
Out of interest, how it's different from standard 9.2 iso?

Tried with -cpu G3
"./ppc-softmmu/qemu-system-ppc -bios /home/amade/emu/openbios-ppc -boot d -cdrom /tmp/os92_test.iso -M mac99 -m 512 -prom-env 'auto-boot?=true' -g 1024x768x32 -cpu G3 -net none"
And wow, it boots!
Image
Image

So am I right that you removed extensions manually from image, so it doesn't try to load anything at all?


However when i boot with following command line
"./ppc-softmmu/qemu-system-ppc -bios /home/amade/emu/openbios-ppc -boot d -cdrom /tmp/os92_test.iso -M mac99 -m 512 -prom-env 'auto-boot?=true' -g 1024x768x32 -cpu G4 -net none"
I get previously mentioned restart dialog

and with shift down (for extension off) it crashes totally
% ./ppc-softmmu/qemu-system-ppc -bios /home/amade/emu/openbios-ppc -boot d -cdrom /tmp/os92_test.iso -M mac99 -m 512 -prom-env 'auto-boot?=true' -g 1024x768x32 -cpu G4 -net none
Trying to write invalid spr 0 (0x000) at 00f113c0
Trying to read invalid spr 0 (0x000) at 00f113c8
Trying to write privileged spr 955 (0x3bb) at 00f164b8
Trying to write invalid spr 959 (0x3bf) at 00f16520
Trying to read invalid spr 959 (0x3bf) at 00f16528
Trying to write privileged spr 955 (0x3bb) at 00f164b8
Trying to write invalid spr 959 (0x3bf) at 00f16520
Trying to read invalid spr 959 (0x3bf) at 00f16528
qemu: fatal: Trying to execute code outside RAM or ROM at 0xfe6c0024

NIP fe6c0024 LR 00a25ce4 CTR ffc10000 XER 00000100 CPU#0
MSR 0000d032 HID0 00810000 HF 00004000 idx 0
TB 00000000 1603473859 DECR 01375723
GPR00 00000000ffc10000 00000000179c6900 00000000ffc10000 0000000000000000
GPR04 00000000179c6967 00000000009e7e20 0000000080818283 00000000009e7bd8
GPR08 0000000000008000 0000000000008000 0000000000000020 00000000002c80d4
GPR12 0000000000000000 00000000009e2be0 0000000000004e90 0000000000000000
GPR16 0000000000004e90 00000000009e2be0 00000000179c6d1c 00000000179d3e00
GPR20 0000000000000000 00000000179d3d90 00000000179d4000 0000000000000002
GPR24 0000000022000407 000000000038c332 00000000000003f0 0000000000000000
GPR28 00000000009e7e10 00000000179c69e8 0000000000000000 0000000000000001
CR 28000488 [ E L - - - G L L ] RES ffffffff
FPR00 0000000082004000 0000000000a2ab84 0000000000000000 41d7ea37f9000000
FPR04 41d7ea37f9000000 bfd549b141dea8e2 bf880033ba736cfd 3fefffd039962f40
FPR08 3faaf497f23bd4ec 4230000000000000 0000000082004000 4330000017d6dc13
FPR12 3f847b718aeb3db1 ffffffffff0b15bf 0000000000000000 0000000000000000
FPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPSCR 82004000
SRR0 fe6c0024 SRR1 4000d032 PVR 000c0209 VRSAVE 00000000
SPRG0 1f7fe000 SPRG1 179c6900 SPRG2 00a25ce4 SPRG3 1f7fe420
SPRG4 00000000 SPRG5 00000000 SPRG6 00000000 SPRG7 00000000
SDR1 1f80003f DAR 00000058 DSISR 40000000
zsh: abort ./ppc-softmmu/qemu-system-ppc -bios /home/amade/emu/openbios-ppc -boot d -M

but it's probably G4 to blame in this case, though I recall mentions of people getting it to run OS 9
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 »

Booting here too! (OSX 10.10). Wow, great!

Only a system folder, no extensions, no control panels.
Sometimes doesn't get all the way to the desktop.

Best,
Cat_7
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

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

Post by Ronald P. Regensburg »

Cat_7 wrote:Only a system folder, no extensions, no control panels.
And System appears locked. Is that relevant here?
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 »

HOLY F*** SH*** :P Can I translate this to: We're close to have Mac OS 9.2 running on a Raspberry Pi 2? :P That would be TOTALLY awesome!
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 »

Some progress. Yes, since it seems that since MacOS was capable of booting at all in QEMU, and some mention of Extension files had been claimed, although while I was digging through old Apple TechInfo documents, it seems when there are some extension files and shared libraries etc that are still probed, which could be what MacOS is hanging on during boot with QEMU. I removed them all, and I would get past the boot splash progress bar, although it would stall when loading the Finder it would seem, although the cursor could still be moved, my theory that I was missing some step. Which is why I decided to upload the ISO, because unlike before, the system would not hang.

Amade, thanks for the info. It seems your "-net none" variables fixed it! I can boot as you can into the Finder. Great Work! Perhaps this will lead us to further information on why MacOS hangs without these variables. Hang on networking?

Now, the test iso is using the System Suitcase from the 9.2.1 installer iso provided on Cormac's page (as evident from the CD background). I don't have a System Suitcase file from an actual installed system 9.2.1. Can anyone provide a complete System Folder so we may debug?

9.2.1 and
9.2.2

System Folders would be great to do further testing. I tried extracting from Tome on installer CDs but it never works correctly.


I'll upload another image with macsbug built in, if you guys could test it would be geat!

Thanks!

-Alfonso
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 »

http://bebop.gtxent.com/os92_test_macsbug.iso.zip

i tried it briefly, it seems to work and go into macsbug during the boot splash, illegal powerpc instruction.
User avatar
adespoton
Forum All-Star
Posts: 4227
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've got a stuffed 9.2.2 system folder; not quite sure where to put it for testing. Also not quite sure about its bootability, as I can't recall if it came off of a bare metal install or was archived from a Classic install folder.
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 been doing lots of testing. I am able to boot the full 9.2.1 installation CD with no extensions or control panels. What I have failed at doing is attaching an alternate empty disk image to attempt to install OS9.2.1 on to another disk using qemu! drats. I will continue attempts and report back.
User avatar
adespoton
Forum All-Star
Posts: 4227
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 »

If you want other stuffit archives, it looks like Macintosh Garden has a collection at "macintosh-system-922-1021-power-macintosh-g4-mirrored-drive-doors-mdd" along with the isos.
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 »

using the command

Code: Select all

./qemu-img create -f raw -o size=2G test.raw
then

Code: Select all

./qemu-system-ppc -bios ~/MacOS/qemu_master/openbios-qemu.elf \
 -boot d -drive file=~/MacOS/OS\ Images/os9_qemu_full_install.iso,index=0,media=cdrom  \
 -drive file=~/MacOS/QEMU\ HD\ Images/test.raw,format=raw,index=1,media=disk \
 -M mac99 -m 256 -prom-env 'auto-boot?=true' -g 1024x768x32 -cpu G3 -net none
I was able to create a drive that was readable by macos. i then used disk utility to format as HFS +


PS: qemu doesn't like when you go above 256mb of memory. i have been very successful with 256.

will attempt to install next.
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,

Did the hard disk you created and formatted show up on the Mac OS 9.2 desktop?
I haven't been succesfull with that.

If it did, could you provide it as a download?

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 »

Judging by the fact it's trying to access SPR 959 (the sampled data address register), there may be some incomplete implementation in regards to trying to access SPRs not supported by the processor. The documentation for the G4 even says that 959 isn't implemented there, but can be written there without causing exception. It's rather odd to see that one.

On the other hand, SPR 955 is the sampled instruction address register.

Additionally, SPR 944 is MMCR2, a monitor mode control register that seems to be exclusive to the G4 as far as I know. The same goes for SPR 951, a breakpoint address mask register, also part of the G4 and seemingly exclusive to that too.

Without a working version of Mac OS 9.x.x with Macsbug, it's hard to tell what to do. It's also odd how it's getting those errors, meaning that there could be some issues with the mtspr and mfspr instructions.
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 have been unable to achieve MacOS 9.2.1, or 9.2.2 installation. The installer seems to exit with an error.

[Note, sheepshaver IS able to mount and edit the raw disk image created with qemu-img. It makes testing way easier being able to boot into sheepshaver, edit files, and shutdown and boot the image with qemu)

http://i.imgur.com/wE2ACbc.png

Most programs run fine, unless they need some sort of shared library or extension that isn't present in the system folder. I have been unable to successfully boot from the image, due to being unable to run the installer. If I use the system folder from the installation cd, I get an error during boot, "This system does not work if copied from the installation media"

Screenshots:

http://i.imgur.com/5n2x2sm.png
http://i.imgur.com/oXPvm3Y.png

Image

Cat_7: No, the raw image did not show up on the desktop initially. I had to open Drive Setup utility and format it there. It shows up as an ATA device with an ID of 1. You can click and partition then format.

kataetheweirdo: I posted a bootable image with macsbug, a few posts up. try it if you can.

Has anyone else successfully tried to create an image, format and use it within the bootable MacOS image? Or even try to install OS9?

Thanks!
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 »

Wow, this looks amazing. What version of the OpenBIOS binary are you using for this? From the official source, or a branch?
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.
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 »

CharlesS:

Mark Cave-Ayland's OpenBios build from:
https://lists.nongnu.org/archive/html/q ... 02824.html

and also his qemu git repo from:

https://lists.nongnu.org/archive/html/q ... 02837.html
User avatar
adespoton
Forum All-Star
Posts: 4227
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 »

gtxaspec: have you tried running the 9.2.2 installer CD while booted from 9.0.4 in SheepShaver? I seem to recall that's how I made my Franken9.2 boot image (ran the installer on a second mounted image, then copied over files from 9.0.4 to overwrite 9.2.2 one by one until the system booted). It's possible that I used TomeViewer to accomplish this, though.
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 »

adespoton:

I did infact, only to be greeted with this error:

"This program can not run on your computer, see the documentation for more information."
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 »

Goodies:

Latest QEMU from Mark's repo ( built on osx 10.11 )
http://bebop.gtxent.com/qemu_mark_latest.tar.gz

Resedit, Stuffit, Toast, Disk Copy, utilities in an ISO to mount within QEMU:
http://bebop.gtxent.com/qemu_os9_utilities.iso.zip

MacOS 9.2.2 bootable image:
http://bebop.gtxent.com/os922_uni.iso.zip

MacOS 9.2.1 bootable image:
http://bebop.gtxent.com/os92_test.iso.zip

MacOS 9.2.1 bootable image with macsbug:
http://bebop.gtxent.com/os92_test_macsbug.iso.zip

example boot args:

Code: Select all

##boot off CD with install iso and utility iso 
./qemu-system-ppc -bios ~/MacOS/qemu_master/openbios-qemu.elf \
 -boot d -drive file=~/MacOS/OS\ Images/os922_uni.iso,index=0,media=cdrom  \
 -drive file=~/MacOS/QEMU\ HD\ Images/test.raw,format=raw,index=1,media=disk \
 -drive file=~/MacOS/OS\ Images/macos-922-uni.iso,index=2,media=cdrom  \
 -M mac99 -m 256 -prom-env 'auto-boot?=true' -g 1024x768x32 -cpu G3 -net none
Amade
Tinkerer
Posts: 63
Joined: Thu Feb 18, 2010 10:09 pm

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

Post by Amade »

Have you tried to enable at least some extensions or does it fail as soon as it tries to load any, no matter which one? Maybe we can narrow which ones are failing, which could help with knowing what needs to be fixed next?
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 »

I added some extensions and control panels and could still boot, so not all lead to a crash. To know which ones do lead to a crash requires one to perform the daunting task of adding them one by one ;-)

Best,
Cat_7
Post Reply