Current SheepShaver code, built for macOS

About SheepShaver, a PPC Mac emulator for Windows, MacOS X, and Linux that can run System 7.5.3 to MacOS 9.0.4.

Moderators: Cat_7, Ronald P. Regensburg, ClockWise

emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Current SheepShaver code, built for macOS

Post by emendelson »

After making mistakes earlier, I've now built a working copy of SheepShaver in High Sierra using the current macemu-cebix code on GitHub. Thanks to Richard Ludwig, who told me that this was possible, and whose posting at GitHub prompted me to figure out my earlier mistakes.

I've tested this build under OS X 10.7 (Lion) and macOS 10.13 (High Sierra), so I hope it will work on the other versions in between.

I've made only these changes in the application bundle: (1) I added the build date to the string that appears in the About box; (2) I used a more suitable icon; and (3) I code signed the build so that it should run without difficulty elsewhere.

Here it is, and if the admins want to post it elsewhere, I'll be grateful, and will remove this copy:

https://www.dropbox.com/s/d7ow0uqscb3ic ... a.zip?dl=1
PeterHolbrook
Apple Corer
Posts: 273
Joined: Fri Oct 26, 2007 7:56 am

Re: Current SheepShaver code, built for macOS

Post by PeterHolbrook »

Many thanks. I've only tested it for five minutes. The early impressions are excellent.
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Current SheepShaver code, built for macOS

Post by emendelson »

What I'm really hoping for (and I know I need to be patient) is Richard Ludwig's SDL 2.0 variant. I tried building the current state of that code, but the resulting build didn't boot on my system - again, probably because I don't know what I'm doing. Someone with more knowledge and experience could almost certainly get this right.
PeterHolbrook
Apple Corer
Posts: 273
Joined: Fri Oct 26, 2007 7:56 am

Re: Current SheepShaver code, built for macOS

Post by PeterHolbrook »

One observation and one question about your build. The observation is that it runs in 64-bit mode, which is excellent news. The question is whether it supports JIT.
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Current SheepShaver code, built for macOS

Post by emendelson »

PeterHolbrook wrote:The question is whether it supports JIT.
I don't know. I simply opened the project, changed the output from Debug to Release, and built it (after installing the required SDL framework where Xcode could find it). Could you try it and let us know? (I vaguely remember that the current code does not support JIT so that it can run without specifying a memory location, but that's a vague memory only.)
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Current SheepShaver code, built for macOS

Post by emendelson »

And here's a variation: basically the same code, but with a Help menu with two items: one that leads to the Setup page on this site and the other that leads to a basically empty macOS Help system, currently with only one page, but easily extended with pages that could be about the Unix folder, the preferences editor, etc., etc.

https://www.dropbox.com/s/hohxz6xodt24y ... p.zip?dl=1

Again, I have done absolutely nothing to the current GitHub code except add the build date, change the icon, and add the rudimentary help system.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Current SheepShaver code, built for macOS

Post by Ronald P. Regensburg »

Thanks, Edward. I must admit that I lost track of what is happening to the SheepShaver (and BasiliskII) code. Several people made changes that are not always added to the main branch on GitHub. It is good to know that SheepShaver can be built in current Xcode.

I understand that this latest build is built from the main code with minor manually added changes. It runs fine here in macOS 10.12 (Sierra). I understand that it runs fine in High Sierra also. As it apparently uses the hardware cursor in window mode, I guess that the cursor background patch by kanjitalk755 is now included in the main code. (?)
PeterHolbrook wrote:The observation is that it runs in 64-bit mode, which is excellent news.
No, these builds are 32-bit only. The 32-bit checkbox in Finder Info indicates that the architecture information in the Info.plist file in the application is not corrected to reflect this.
I expect this build to run fine in Snow Leopard and later. But for macOS beyond High Sierra we will need a working 64-bit SheepShaver.

Personally, I like the original icon better although it does not display well in larger than 32x32 pixels.
Last edited by Ronald P. Regensburg on Mon Nov 20, 2017 3:12 pm, edited 2 times in total.
Reason:  
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Current SheepShaver code, built for macOS

Post by emendelson »

Of course feel free to replace the icon with the original!

And thank you for catching the misleading architecture option. I'll fix the list of architectures in the plist.info file when I next work on this, and will upload replacements.

I haven't looked for kanjitalk755's patch in the code, but I also noticed that the High Sierra cursor bug seems to be fixed. That's one reason I posted a build.
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Current SheepShaver code, built for macOS

Post by emendelson »

Of course anyone with a copy of Xcode and Sierra or High Sierra can build the current GitHub code: Just download the SDL 1.2.5 framework, copy it into /Library/Frameworks; launch the xcode8 project file; change the build schemes from Debug to Release, and click the Build item on the menu. (Do not make the mistake I originally made - don't click on the warning to update the project to current settings. It's just a warning, and if you update the project, the executable doesn't launch.)

The whole procedure takes ten minutes at most. No one needs to bother with my version.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Current SheepShaver code, built for macOS

Post by Ronald P. Regensburg »

I now built SheepShaver in Xcode 9.1 in Sierra. I am still a bit confused about why this will run in High Sierra without the cursor issue. Wasn't a SDL patch needed? Did you use a regular unpatched SDL 1.2.15 framework?

(Apparently, and different from what I wrote earlier, the 32-bit checkbox will appear in Finder Info regardless the architecture information in Info.plist.)
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Current SheepShaver code, built for macOS

Post by emendelson »

I used a regular unpatched SDL framework. Perhaps you could post your build for others to test?

If I remember correctly, you can get rid of the 32-bit checkbox by removing the non-32-bit architectures from the Minimum OS Version array (at least that's what I vaguely remember). I'm writing from a Windows machine, and won't be able to look at this until later.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Current SheepShaver code, built for macOS

Post by Ronald P. Regensburg »

Here is that build: http://ronaldpr.home.xs4all.nl/sheepsha ... 7_test.zip

It does indeed not have te 32-bit checkbox anymore.
But does it or doesn't it have the cursor issue (square around the arrow cursor) in High Sierra?
PeterHolbrook
Apple Corer
Posts: 273
Joined: Fri Oct 26, 2007 7:56 am

Re: Current SheepShaver code, built for macOS

Post by PeterHolbrook »

Ronald P. Regensburg wrote:does it or doesn't it have the cursor issue (square around the arrow cursor) in High Sierra?
I'm sorry to report it DOES have the cursor issue in High Sierra.
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Current SheepShaver code, built for macOS

Post by emendelson »

Obviously I was mistaken - it seems that I did use my own SDL.framework build, and I simply forgot. My apologies.

Please experiment with this version of SDL.framework. Just replace it in the SheepShaver bundle posed by Ronald. It should fix the High Sierra bug:

https://www.dropbox.com/s/t5s0kxx0nvw29 ... a.zip?dl=1
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Current SheepShaver code, built for macOS

Post by Ronald P. Regensburg »

With the patched SDL framework the "hardware" cursor looks better even in Sierra. I will post this build as preferred build for macOS 10.12 and 10.13 later this week.
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Current SheepShaver code, built for macOS

Post by emendelson »

Wait - As far as I can tell, Ctrl-F5 (mouse locking) causes SheepShaver to lock up in this build. We'll need a bug fix before going public with this version, I think. I'll post an issue on GitHub
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Current SheepShaver code, built for macOS

Post by Ronald P. Regensburg »

Ctrl-F5 works here in this build as expected. That is on macOS 10.12 (Sierra). Could the problem be another new issue in High Sierra?
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Current SheepShaver code, built for macOS

Post by emendelson »

Ronald P. Regensburg wrote:Ctrl-F5 works here in this build as expected. That is on macOS 10.12 (Sierra). Could the problem be another new issue in High Sierra?
I've now tested it on two separate High Sierra systems, and Ctrl-F5 locks SheepShaver in these new builds. Can anyone else report on this?
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Current SheepShaver code, built for macOS

Post by Ronald P. Regensburg »

Does Ctrl-F5 also lock older SheepShaver builds in High Sierra or does this happen only with these newer builds?
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Current SheepShaver code, built for macOS

Post by emendelson »

Ronald P. Regensburg wrote:Does Ctrl-F5 also lock older SheepShaver builds in High Sierra or does this happen only with these newer builds?
Ctrl-F5 works perfectly in High Sierra with older builds.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Current SheepShaver code, built for macOS

Post by Ronald P. Regensburg »

Then the next question is whether the issue is related to recent changes in the BasiliskII/SheepShaver code or to the SDL patch. Does it happen when the patched SDL framework is replaced by the original one?
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Current SheepShaver code, built for macOS

Post by Ronald P. Regensburg »

I think I can answer that question. This latest build has an issue in Sierra as well. It may be the same issue as the one in High Sierra.

When the cursor is locked inside the window after using Ctrl-F5, it is not that SheepShaver locks up, but it cannot locate the cursor anymore. Clicking does not seem to do anything, but sometimes an object on a different location inside the window reacts as if clicked on. In that situation it is still possible to again use Ctrl-F5 to return to normal behaviour.

It is clearly related to SheepShaver itself and not to using the patched or the regular SDL framework.

Using the patched SDL framework in my 2014 build works fine. So that could be, for now, be a solution for the appearance of the arrow cursor in High Sierra.
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Current SheepShaver code, built for macOS

Post by emendelson »

Ronald P. Regensburg wrote:Using the patched SDL framework in my 2014 build works fine. So that could be, for now, be a solution for the appearance of the arrow cursor in High Sierra.
That's exactly what I've done with my projects (WPMacApp, MacOS9, SheepShaver Wrapper): I've added the patched framework to the builds I made in Snow Leopard. It seems to work perfectly well. Until the current code fixes the mouse-lock problem, this should work in High Sierra.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Current SheepShaver code, built for macOS

Post by Ronald P. Regensburg »

I found the issue in the code, introduced 21 July this year. See cebix/macemu messages.

This new build should work also in High Sierra:
http://ronaldpr.home.xs4all.nl/sheepsha ... 7_test.zip
Last edited by Ronald P. Regensburg on Sat Nov 25, 2017 8:03 am, edited 1 time in total.
Reason:  
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Current SheepShaver code, built for macOS

Post by emendelson »

Ronald P. Regensburg wrote:I found the issue in the code, introduced 21 July this year. See cebix/macemu messages.

This new build should work also in High Sierra:
http://ronaldpr.home.xs4all.nl/sheepsha ... 7_test.zip
I'm afraid I'm seeing the same problem as before: after pressing Ctrl-F5 with your new build, the mouse becomes unusable in SheepShaver (under High Sierra).

Does anyone else see the same problem? (And the link in your post doesn't work in Safari - some extra characters seem to have got in between the .nl and the sheepshaverforum part of the string, though this is easy to fix.)
Post Reply