MacOSX/OSX/macOS 64-bit build for testing

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

kanjitalk755
Apple Corer
Posts: 239
Joined: Thu Nov 09, 2017 12:06 pm

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by kanjitalk755 »

I have updated my repo to enable prefefences menu.
adespoton wrote:Does this build fix the white screen after full-screen switch bug?
I tested in MacOS8.6, the bug is fixed.
Ronald P. Regensburg wrote:Wasn't it so that the hardware cursor was only used in window mode where the software cursor was used if a custom cursor image was required and that in full-screen mode only the software cursor was used?
Due to my poor English, I can hardly understand this sentence.
Simplify, please.
Ronald P. Regensburg wrote:I built a 64-bit application from this source using the Xcode project, with Xcode 9.4.1 in macOS 10.13.5 (High Sierra). The resulting SheepShaver application quits on launch
I noticed that there are no SDL frameworks inside the package, but as I have both SDL.framework and SDL2.framework installed in /Library/Frameworks/ that should not be a problem. I nevertheless tried adding a directory "Frameworks" with both SDL frameworks to the package. Does not make a difference.

Maybe the Xcode project needs updating?
The environment is same as mine.
It's enough if /Library/Frameworks/SDL2.framework exists.
Xcode project does't need any updates.

Run SheepShaver from Xcode directly, then arn't there error messages in log window?
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by Ronald P. Regensburg »

Issue: Yesterday's build did not run initially because it apparently needs full paths in the prefs file. I was used to relative paths to files in the same folder as the SheepShaver application, file names only.

Improvement: The animated switch between window mode and full-screen mode, and back again, is impressive. No white screen or cursor issues anymore.

Improvement: After hiding or minimizing, the window also comes back smoothly without a forced redraw.

Issue: The built-in prefs editor is inaccessible. I will try a build from the latest source with enabled preferences menu later.

Issue: This build does not work with sheepvm virtual machines. Could this be related to the fact that it needs full paths?


I will try to rephrase my remark about the hardware/software cursor.
kanjitalk755 wrote:Also I changed to use software cursor because hardware cursor has issues in full screen mode even if SDL2 is used.
I wondered why, because in the past it used to be so that full-screen mode did not use the hardware cursor at all. I have not viewed the source in a long time, but the result used to be like this:

- Full-screen mode only used the software cursor, never the hardware cursor.
- Window mode used the hardware cursor. Only when some software running in SheepShaver needed to display a custom cursor image, the hardware cursor was temporarily replaced by the software cursor.

This switching between hardware cursor and software cursor only happened in window mode. In full-screen mode only the software cursor was used.
Last edited by Ronald P. Regensburg on Fri Jun 15, 2018 9:05 am, edited 1 time in total.
Reason:  
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by Ronald P. Regensburg »

I tried a 64-bit build from the latest source here: https://github.com/kanjitalk755/macemu/ ... nd_jvernet

The built-in prefs editor is again accessible through the preferences menu. The prefs editor now also writes full paths only. "Browse" does not open the dialog in the SheepShaver folder as it used to do. In that respect it matches with this SheepShaver that needs full paths. I find it less convenient then the use of file names only for files in the SheepShaver folder. One cannot move the folder with all related files in it without breaking the connection to the files.

Important issue remains: These builds do not work with sheepvm virtual machines. This may be related to the fact that they need full paths.
kanjitalk755
Apple Corer
Posts: 239
Joined: Thu Nov 09, 2017 12:06 pm

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by kanjitalk755 »

Ronald P. Regensburg wrote:I wondered why, because in the past it used to be so that full-screen mode did not use the hardware cursor at all. I have not viewed the source in a long time, but the result used to be like this:

- Full-screen mode only used the software cursor, never the hardware cursor.
- Window mode used the hardware cursor. Only when some software running in SheepShaver needed to display a custom cursor image, the hardware cursor was temporarily replaced by the software cursor.

This switching between hardware cursor and software cursor only happened in window mode. In full-screen mode only the software cursor was used.
I took a quick look at the history of video_sdl.cpp.
The reason is unknown, but hardware cursor is used only in the windowed mode since it was introduced 6/25/2004.
The cursor switching occurs when screen mode switching.
Doesn't occur when changing cursor image.
Ronald P. Regensburg wrote:The built-in prefs editor is again accessible through the preferences menu. The prefs editor now also writes full paths only. "Browse" does not open the dialog in the SheepShaver folder as it used to do. In that respect it matches with this SheepShaver that needs full paths. I find it less convenient then the use of file names only for files in the SheepShaver folder. One cannot move the folder with all related files in it without breaking the connection to the files.
I have fixed the path issue. You can use relative paths again.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by Ronald P. Regensburg »

kanjitalk755 wrote:The reason is unknown, but hardware cursor is used only in the windowed mode since it was introduced 6/25/2004.
Then how can the hardware cursor have issues in full-screen mode when it is not used there?
You wrote:Also I changed to use software cursor because hardware cursor has issues in full screen mode even if SDL2 is used.
Edit: I understand now, see next post.
I have fixed the path issue. You can use relative paths again.
Thanks, I will try a new build.
Last edited by Ronald P. Regensburg on Fri Jun 15, 2018 7:07 pm, edited 2 times in total.
Reason:  
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by Ronald P. Regensburg »

I tried the new build. Both SheepShaver itself and the built-in prefs editor can again can use relative paths.

I tried running with "hardcursor true" in the prefs file.
Apparently switching from window mode to full-screen mode may loose the cursor and switching from full-screen mode to window mode may result in a double cursor. Both situations can simply be solved by control clicking , but it does not look nice. Oh, well, we can live with only the software cursor. The hardware cursor made cursor movements more fluid on slower hosts, especially when refresh rates were set at low values, but that is not really needed anymore on current more capable machines.

The issue with sheepvm virtual machines remains. The virtual machines (VMs) can still not be used with these builds. That will be a real problem for those who have set up SheepShaver as VMs. Some have a whole collection of different VMs, some use VMs to have portable SheepShaver setups.
User avatar
adespoton
Forum All-Star
Posts: 4208
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by adespoton »

That all makes more sense.

For me, the VMs are a must... I've got VMs for a clean install and a working system for each OS revision from 7.5 through 9.0.4. That's around 42 VMs. I'll see if I can carve out some time to look into why it's broken over the next week, unless someone gets to it before me.
kanjitalk755
Apple Corer
Posts: 239
Joined: Thu Nov 09, 2017 12:06 pm

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by kanjitalk755 »

Ronald P. Regensburg wrote:Then how can the hardware cursor have issues in full-screen mode when it is not used there?
The problem is not hardware cursor but software cursor.
The software cursor:
May be hidden in full screen mode. This results no cursor.
May be shown in windowed mode. This results double cursor.
Ronald P. Regensburg wrote:The issue with sheepvm virtual machines remains. The virtual machines (VMs) can still not be used with these builds. That will be a real problem for those who have set up SheepShaver as VMs. Some have a whole collection of different VMs, some use VMs to have portable SheepShaver setups.
I have fixed the sheepvm issue.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by Ronald P. Regensburg »

kanjitalk755 wrote:I have fixed the sheepvm issue.
It is not fixed yet and access to preferences is again lost.

When I try to open a VM with these builds, SheepShaver is launched and then reads the settings in ~/.sheepshaver_prefs instead of the settings in the file "prefs" inside the VM package.

It sometimes seems to read some of the settings in the VM prefs, specifically the window size, but the "disk" is used as set in ~/.sheepshaver_prefs. I cannot check exactly which settings are read because access to the preferences menu is disabled again.
kanjitalk755
Apple Corer
Posts: 239
Joined: Thu Nov 09, 2017 12:06 pm

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by kanjitalk755 »

Fixed my mistake.

Before opening sheepvm, make sure that there is only one SheepShaver in your system.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by Ronald P. Regensburg »

I always make sure that that the correct SheepShaver application is used. I name them differently, I use Open with..., and I check in the Dock (Show in Finder) which application is running. To be even more sure, I now removed all other SheepShaver applications except the one I tested.

The preferences menu item is enabled again.

This last build still does not work correctly with VMs.

- SheepShaver behavior:
When I open a VM, it uses the files I set in ~/.sheepshaver_prefs (disk, cdrom, etc.). Only when the paths in the prefs file within the VM are full paths, those paths are used.

The use of relative paths should be different between the regular setup and VMs. If only the file name is set (relative path, as I usually do), a VM should use the file of that name inside the VM package. A direct launch of SheepShaver should use the file of that name inside the folder where the SheepShaver application resides.

For VMs it essential that they use relative paths correctly, just the file names of the files inside te VM package. When a VM uses full paths that VM is not portable.

- Preferences editor behavior:
The preferences window shows the content of the prefs file inside the VM package as expected. But it is impossible to edit the prefs using the Add and Browse buttons because the Open dialog will not open the VM package. A portable VM carries all related files inside the package.
(This, of course, only applies to the use of VMs. When a regular SheepShaver setup is used, the packages should not be accessible when browsing for files.)
Last edited by Ronald P. Regensburg on Sat Jun 16, 2018 12:06 pm, edited 1 time in total.
Reason:  
kanjitalk755
Apple Corer
Posts: 239
Joined: Thu Nov 09, 2017 12:06 pm

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by kanjitalk755 »

Fixed relative paths in case sheepvm is used.
Please test again.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by Ronald P. Regensburg »

Now works as it should. :smile:

Is it possible to limit access to packages in the Open dialog to .sheepvm packages?

The window/full-screen switching looks much like the implementation that is used by other applications. I suppose it makes use of the possibility that is available in the OS. If I remember well, that feature was introduced in MacOSX 10.7 (Lion). I have no way of testing this now, but I suppose these builds will work in OSX 10.8 (Mountain Lion) and later.


Edit: One more issue:
The application should also work when SDL2.framework is not installed in /Library/Frameworks/. I removed it there and added it to the application: SheepShaver.app/Contents/Frameworks/SDL2.framework
But that does not work.
Last edited by Ronald P. Regensburg on Sat Jun 16, 2018 2:24 pm, edited 2 times in total.
Reason:  
kanjitalk755
Apple Corer
Posts: 239
Joined: Thu Nov 09, 2017 12:06 pm

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by kanjitalk755 »

Ronald P. Regensburg wrote:Is it possible to limit access to packages in the Open dialog to .sheepvm packages?
I do not know much, but I think that it can not.
Ronald P. Regensburg wrote:Edit: One more issue:
The application should also work when SDL2.framework is not installed in /Library/Frameworks/. I removed it there and added it to the application: SheepShaver.app/Contents/Frameworks/SDL2.framework
But that does not work.
I have appended build phases to embed SDL2.framework.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by Ronald P. Regensburg »

kanjitalk755 wrote:I have appended build phases to embed SDL2.framework.
It now works without any external SDL2.framework installation.

The project looked for SDL2.framework in /Users/Library/Frameworks/ instead of /Library/Frameworks/
Is that intentionally or was that a mistake?
kanjitalk755
Apple Corer
Posts: 239
Joined: Thu Nov 09, 2017 12:06 pm

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by kanjitalk755 »

When registering embed framework to project, it becomes relative path.
Therefore, it may be necessary to edit the project when building in another environment.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by Ronald P. Regensburg »

Thanks, kanjitalk755 :smile:

I think this build is now good for testing by more users. Please, everyone running OSX 10.8 (Mountain Lion) or later, try this one.
Download: http://ronaldpr.home.xs4all.nl/sheepsha ... 6_test.zip
The download contains the application only. You can replace the SheepShaver application with this one in your existing SheepShaver setup.

This build is a huge step forward and hopefully it will last through a couple of the next macOS versions.
Earlier in this thread kanjitalk755 wrote:I have merged jvernet/macemu repo (including DavidLudwig/macemu), and fixed some bugs.

https://github.com/kanjitalk755/macemu/ ... nd_jvernet
and he fixed many more issues since.

This build from that source is 64-bit only and it should run on OSX 10.8 (Mountain Lion) through, at least, macOS 10.13 (High Sierra).

It now uses SDL2 and all previous display issues with switching between window mode and full-screen mode and with minimizing or hiding the SheepShaver window have gone. It all works extremely well. Try control-return for toggling between window mode and full-screen mode in this build and see how beautifully it works!

A small sacrifice had to be made to achieve these results. The hardware cursor is not used anymore in window mode. The software cursor is used as in full-screen mode.
(If you want the hardware cursor back in window mode, you can add hardcursor true to the preferences file. Some of the cursor issues when switching between window mode and full-screen mode will return, though.)

This build also has the convenient feature that makes it possible to specify in preferences which disk images in the volumes list will be mounted as CD-ROM.

Please try and comment:
Again the download link: http://ronaldpr.home.xs4all.nl/sheepsha ... 6_test.zip
Last edited by Ronald P. Regensburg on Sat Jun 16, 2018 5:15 pm, edited 1 time in total.
Reason:  
User avatar
24bit
Forum All-Star
Posts: 1424
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by 24bit »

Thanks Ronald!
Good to know you don´t mind the hassle with new builds for us regular users.
May I ask in what manner the build is different from emendelson`s?
I did extract his app from the self contained package and found it running fine in 64bit mode.
Sampling process 3780 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling SheepShaver (pid 3780) every 1 millisecond
Process: SheepShaver [3780]
Path: /Classic/SheepShaver/SheepShaver.app/Contents/MacOS/SheepShaver
Load Address: 0x315b000
Identifier: SheepShaver
Version: KanjiTalk755 (2018.06.08 EM)
Code Type: X86-64
Parent Process: ??? [1]

Date/Time: 2018-06-16 19:58:45.951 +0200
Launch Time: 2018-06-16 19:58:14.176 +0200
OS Version: Mac OS X 10.12.6 (16G1408)
Report Version: 7
Analysis Tool: /usr/bin/sample
Your build does look fine in Sierra, MiniBench 2 FAT gets a score of 233 with MacOS 7.6 on my T420.
Not that speed would be such an issue as back in the days. ;)
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by Ronald P. Regensburg »

24bit wrote:May I ask in what manner the build is different from emendelson`s?
I have not tried it, but I suppose it uses the 64-bit build from kanjitalk755/macemu source before the merging of jvernet/macemu and DavidLudwig/macemu sources. Then it does not yet use SDL2, does not yet have the improved smooth switching between window mode and full-screen mode, does still have the redraw hiccup there and also when returning from hiding or minimizing the window.
User avatar
24bit
Forum All-Star
Posts: 1424
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by 24bit »

Thanks for clarification, a bit hard to keep track for me which build does what.
The other build indeed forces screen redraw at hide/show.
User avatar
Cat_7
Expert User
Posts: 6122
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by Cat_7 »

Seems to work OK ;-)

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

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by emendelson »

24bit wrote: May I ask in what manner the build is different from emendelson`s?
I did extract his app from the self contained package and found it running fine in 64bit mode.
I've got two self-cotained packages. If you mean the SheepShaver Wrapper, the one you downloaded is up to date with kanjitalk755's code except for the preferences window. Ive now updated it to include the fixes for the preferences window. Latest download here:

http://www.columbia.edu/~em36/SheepShaverWrapper.zip

If you mean the self-contained package called Mac OS 9, it doesn't use the built-in preferences window; instead you change settings by holding down the Option key on launch and responding to an AppleScript menu. The rest of the code is completely up to date with kanjitalk755's latest code. If you extract the app from that package, you'll need to edit your prefs by hand.

I've also got a self-contained package that runs WordPerfect for the Mac; that's up-to-date too.

Ronald, I continued to update my builds as kanjitalk755 made further changes but didn't post anything about them here until now.
User avatar
24bit
Forum All-Star
Posts: 1424
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by 24bit »

Ah, thanks to you too emendelson for explaining!
Must have been the SheepShaver wrapper methinks.
Your build did work fine too - thanks for your work.
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by emendelson »

The only functional difference in my SheepShaver Wrapper etc. builds is that I use Ctrl-Opt-key rather than Ctrl-key for shutdown, full-screen toggle, and capture/release mouse. These are listed in the About box. I changed the keystrokes because I sometimes typed the the original Ctrl-key combinations by mistake, and this seemed safer.

The About box in my builds lists "kanjitalk755" as the version, with the build date and my initials (EM) in parentheses - all this to avoid confusion with other builds and versions.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: MacOSX/OSX/macOS 64-bit build for testing

Post by Ronald P. Regensburg »

emendelson wrote:Ronald, I continued to update my builds as kanjitalk755 made further changes but didn't post anything about them here until now.
Which source code did you use?
From here: https://github.com/kanjitalk755/macemu
Or from here: https://github.com/kanjitalk755/macemu/ ... nd_jvernet
My latest build is from the second source. It uses SDL2.framework and has some display improvements. Especially the improvement with window mode - full screen mode toggling is striking. Also getting back from hiding or window minimizing is now smooth, without the forced redraw.
Last edited by Ronald P. Regensburg on Sun Jun 17, 2018 2:44 pm, edited 2 times in total.
Reason:  
Post Reply