Copland in SheepShaver?

Discuss System 1 to System 7, OS 8, OS 9.
Post Reply
FTP Access
Posts: 6
Joined: Mon Dec 03, 2018 5:34 pm
Location: the System suitcase

Copland in SheepShaver?

Post by ASentientBot »

Hey all! As far as I know, nobody has really put much effort into installing any Copland builds in an emulator. I thought I would quickly summarize my efforts/progress and see if anybody wants to help out. It would be really awesome to get this working on a modern machine since Power Macs aren't super easy to come by anymore.

I've tested 3 builds, to different results:
D7E1 "Sun N Fun"
- Installable in SheepShaver by manually following the install instructions that come with the software
- Boots with the following messages:
- "Loading Copland Micro-kernel"
- "Failed to find main GDevice." (stops)
D9 "Space Aliens"
- Install is similar to D7
- Boot messages and eventual error are the same, but the graphics are more polished
D11E4 "Spaz"
- Can't be installed in SheepShaver because it needs a weird partition scheme
- Custom Drive Setup bundled with it can't initialize SheepShaver's weird "big floppy disk" drives

I've made the following discoveries, resulting in somewhat more progress:
D7E1 and D9
- They expect a NuBus based Power Mac, SheepShaver emulates a PCI one
- The initial boot code is inside the System suitcase on the 7.5 volume ("scarecrow volume")
- The codes in the boot resources #1-3 run first, and call the nkld resource ("NuKernel loader" perhaps?)
- This resource draws the boot screen and finds devices and volumes, and eventually shows the "Failed to find main GDevice" error
- With some NOPs in the nkld code (use Resourcerer), this error can be bypassed, and the boot process proceeds as follows:
- Another dialog "Preening Disks"
- A big "Mac OS 8" logo
- Segmentation fault, crashing the emulator
- And that's about all I've figured out so far...
- Possible leads include further analysis of nkld and ModernOSLoader or modifications to SheepShaver itself so that it more accurately emulates a 6100, 7100, or 8100 device-tree, allowing Copland to find the "GDevice" without modifications

- The installer script can be modified in Resourcerer to bypass the checks for a compatible Macintosh and partition scheme
- The installation succeeds!
- SheepShaver segfaults during the happy Mac before any Copland-related code loads (looks like it doesn't even load boot resources)
- I believe this is because the installer can't write a boot partition at all, preventing any progress in booting at all
- Possible leads most likely require further analysis of the installer script and perhaps manual copying/creation of the expected volume scheme to create a bootable system
- If this were achieved, D11 would have a much higher chance of booting than D7 and D9, since it supports PCI-based Power Macs

Anyways, this is getting long. I'm new here and still trying to meet the 3 post quota (please approve this!) so I'm not sure if this fits your interests. I hope that somebody finds this info useful and can make some progress! I haven't seen this documented anywhere else online (and believe me, I have spent hours looking) so I think in any case it's good to lay out the patches I've found so far.

This has been a personal project for me for a while and I hope my work is helpful.

Posts: 6
Joined: Sat Mar 23, 2019 8:59 am

Re: Copland in SheepShaver?

Post by smuckola »

Hey there buddy. You are the man. As you know, Copland has a very narrow hardware profile of Old World Macintoshes and that includes a maximum RAM limit, so be sure to limit it to I think 40 MB or it can't boot. I fully don't expect it to run in Sheepshaver which is a very thin layer, so have you tried it in qemu? Hopefully someone will transplant Old World stuff maybe from shoebill into qemu.

It's funny that you're going for your 3 post quota, because this will be mine. :) Your quest is one of the reasons I signed up here! Thank you so much for writing all your details.

Posts: 11
Joined: Wed Apr 08, 2020 12:40 am

Re: Copland in SheepShaver?

Post by rbshep »

Great job on the research... If i ever get free hosting and set up my Macintosh wiki project i'll definitely add the info ;) I do have an 8100/80 somewhere (albeit with a dead hdd) so one day i may get to see it crash in person lol.

I'm no developer, but adding support to QEMU for NuBus would be quite hard i think. At the moment, they seem to be more concerned with getting Audio (screamer dac) and Rage 128 (2d only) emulation working. But maybe one day! In keeping with the way it happened in the actual hardware back in the day, perhaps it's more feasible to add an emulated PPC to Shoebill?

And yup, i'm totally going for the three-post thing too ;)

Post Reply