SheepShaver UB build for Mac OS X 24-10-2010 available

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

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

SheepShaver UB build for Mac OS X 24-10-2010 available

Post by Ronald P. Regensburg »

SheepShaver UB build 24-10-2010 for MacOSX 10.4, 10.5, and 10.6.
In Snow Leopard this build will run as 64-bit application on 64-bit capable Intel Macs.
Complied from CVS 24-10-2010.
http://www.xs4all.nl/~ronaldpr/sheepsha ... 101024.zip

If you have an existing SheepShaver setup, you can simply replace the application with the new application.

If you set up SheepShaver for the first time, follow the instruction in the Setup Guide, last updated October 16, 2010 (link also included in the download):
http://www.emaculation.com/doku.php/she ... os_x_setup

This build supports self contained SheepShaver virtual machine bundles with extension .sheepvm. The manual does not yet contain information about how to setup and use the virtual machines. You can read about the virtual machines and about the development of the related SheepShaverLauncher in this thread:
http://www.emaculation.com/forum/viewtopic.php?t=5754

After setting up SheepShaver successfully, please continue studying the setup manual about running Mac OS in SheepShaver. Many support questions in the forum are already answered here:
http://www.emaculation.com/doku.php/she ... heepshaver

When you run SheepShaver in full-screen mode in standard setup, the built-in preferences editor cannot be used. See this section of the setup manual about how you can return to window mode:
http://www.emaculation.com/doku.php/she ... creen_mode


Edit: I made a small change to the posted file, a change that may be important for some. In 64-bit mode, only the software cursor is used, while in 32-bit mode the hardware cursor is used. I made a change that allows to choose in Finder Info the preferred mode for running SheepShaver. I did not change the build version number.
Last edited by Ronald P. Regensburg on Sat Nov 06, 2010 5:23 pm, edited 3 times in total.
User avatar
ClockWise
Site Admin
Posts: 4399
Joined: Mon May 20, 2002 4:37 am
Location: Uiwang

Post by ClockWise »

Thanks for the new build, Ronald. Does this mean that you have solved your long-standing issues with building new versions?
User avatar
Ronald P. Regensburg
Expert User
Posts: 7831
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

Yes, thanks to help, comments, suggestions, and actual work on the source code by other members of this forum and the basilisk-devel mailing list. Especially mac1984, and also (in no particular order) kelvin31415, Amade, mathieudel, and Cat_7. And of course Alexei, who is Myrd in this forum. Contributions to add some support for bin/cue files were made by geoffreymbrown.
See also this topic: http://www.emaculation.com/forum/viewtopic.php?t=6599
User avatar
Ronald P. Regensburg
Expert User
Posts: 7831
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

Note that, only a couple of mintes ago, I made a small change to the file that will enable to choose in Finder Info whether SheepShaver will run in 64-bit or 32-bit mode. I did not change the version number.
User avatar
ClockWise
Site Admin
Posts: 4399
Joined: Mon May 20, 2002 4:37 am
Location: Uiwang

Post by ClockWise »

For those watching at home, here's the change-log in Ronald's readme:

"Improvements in 24 October 2010 build:
- Will now run in 64-bit mode in Snow Leopard on 64-bit able Intel Macs.
- Multiple related 'under the hood' changes. "

Ronald, you might want to change the date at the very bottom of that document... it says 2009. Unless of course you want it to say 2009.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7831
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

That is what happens when you start with an existing file. :oops:
I will correct that.

-----

Date now corrected and added the improvement made by Geoffrey Brown:

Improvements in 24 October 2010 build:
- Will now run in 64-bit mode in Snow Leopard on 64-bit able Intel Macs.
- Multiple related 'under the hood' changes.
- Partial support for bin/cue files to enable the use of (images of) mixed
digital/audio cdroms.
PeterHolbrook
Apple Corer
Posts: 273
Joined: Fri Oct 26, 2007 7:56 am

Post by PeterHolbrook »

Running as a 64-bit application under 10.6.4 on a first-generation Mac Pro doesn't work, as the program auto-quits before finishing the load process of OS 9.0.4. Running as a 32-bit application, however, does work.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7831
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

PeterHolbrook wrote:Running as a 64-bit application under 10.6.4 on a first-generation Mac Pro doesn't work, as the program auto-quits before finishing the load process of OS 9.0.4.
The same happened when I tried to run SheepShaver in 64-bit mode on my Core 2 Duo iMac the first time. All successive launches of the application worked fine, though.

Anything related to that crash Console log?

Is "Ignore Illegal Memory Accesses" checked in Miscellaneous tab in SheepShaver preferences?

(I have not yet found any specific advantages of running SheepShaver in 64-bit mode.)
User avatar
Ronald P. Regensburg
Expert User
Posts: 7831
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

Strange problem:

I found that in 64-bit mode, SheepShaver will consistently crash when iCab is launched. No problems launching and using Internet Explorer or Classilla. In 32-bit mode, however, iCab can be used in SheepShaver without problems.

In Console:

Code: Select all

25-10-10 22:29:07	[0x0-0xc30c3].SheepShaver[1582]	Invalid thread_state flavor = 0. Not forwarding
25-10-10 22:29:08	com.apple.launchd.peruser.501[111]	([0x0-0xc30c3].SheepShaver[1582]) Job appears to have crashed: Segmentation fault
25-10-10 22:29:09	ReportCrash[1585]	Saved crash report for SheepShaver[1582] version 2.3.20101024 (???) to /Users/ronald/Library/Logs/DiagnosticReports/SheepShaver_2010-10-25-222909_MacKanjer4.crash
and in the crash report is this line:

Code: Select all

Exception Type:  EXC_CRASH (SIGSEGV)
and this:

Code: Select all

Thread 1 Crashed:  Dispatch queue: com.apple.libdispatch-manager
0   libSystem.B.dylib             	0x00007fff8755308a kevent + 10
1   libSystem.B.dylib             	0x00007fff87554f5d _dispatch_mgr_invoke + 154
2   libSystem.B.dylib             	0x00007fff87554c34 _dispatch_queue_invoke + 185
3   libSystem.B.dylib             	0x00007fff8755475e _dispatch_worker_thread2 + 252
4   libSystem.B.dylib             	0x00007fff87554088 _pthread_wqthread + 353
5   libSystem.B.dylib             	0x00007fff87553f25 start_wqthread + 13
and this:

Code: Select all

Thread 1 crashed with X86 Thread State (64-bit):  rax: 0x0000000000000004  rbx: 0x00000000b0080e50  rcx: 0x00000000b0080ce8  rdx: 0x0000000000000000
  rdi: 0x0000000000000004  rsi: 0x0000000000000000  rbp: 0x00000000b0080e90  rsp: 0x00000000b0080ce8
   r8: 0x0000000000000001   r9: 0x00000000b0080e50  r10: 0x00000000b0080e20  r11: 0x0000000000000246
  r12: 0x00007fff70e9f978  r13: 0x00007fff70e9fd48  r14: 0xffffffffffffffff  r15: 0x00007fff70e9fd88
  rip: 0x00007fff8755308a  rfl: 0x0000000000000247  cr2: 0x0000000100473518
"Ignore Illegal Memory Accesses" is checked in SheepShaver preferences. That apparently does not help here.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7831
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

And another issue:
In 64-bit mode, it is not possible to copy text from MacOS to MacOSX and vice versa. In 32-bit mode it is possible.


Although it is now possible to compile a working SheepShaver in and for 64-bit architecture, there are apparently still problems to solve. Users should best choose to run this build in 32-bit mode.

(One positive point I found is that in 64-bit mode SheepShaver uses on my machine less then one third of CPU compared with running in 32-bit mode.)
PeterHolbrook
Apple Corer
Posts: 273
Joined: Fri Oct 26, 2007 7:56 am

Post by PeterHolbrook »

In my experience, the latest version consistently crashes on launch whenever it is run in 64-bit mode. Actually, I never get the chance to run any applications, as SheepShaver suddenly quits just when it is about to show the OS 9.0.4 desktop.
slylabs13
Space Cadet
Posts: 1
Joined: Tue Oct 26, 2010 8:58 pm

Thanks!

Post by slylabs13 »

Thanks for this. What an awesome emulator. I have old programs that I love to run, that have no equal in todays market, like MacPing and UltraFind to name a couple. Without this app I could not use them.

I will say that the routed networking is a bit troublesome. MacPing will not work properly using this type of networking. Also, I cannot see or use network shares, the way the networking works now. It would be nice if I could use a simple bridged networking setup so that the DHCP server on my local network was visible to the classic os, or else even native networking. Maybe this is not possible or desirable, but that is about the only thing that might improve this.

Thanks again for making this available.
User avatar
Cat_7
Expert User
Posts: 6172
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Post by Cat_7 »

Hi,

Simple networking with the slirp facility doesn't supply full networking capabilities. We have a guide about using full networking and appletalk, but that requires some additional software. It only works in 32 bit though.
The guide is here: http://www.emaculation.com/doku.php/app ... heepshaver

I still think that a simple set of instructions to achieve the same with native OSX tools should be possible.

btw: Ronald, great to see things work out now!

Best,
Cat_7
ARMDN
Space Cadet
Posts: 5
Joined: Sun Jun 07, 2009 7:02 pm

Post by ARMDN »

Great!

Works fine! )
dolarfred
Student Driver
Posts: 20
Joined: Tue Jan 01, 2008 10:47 pm
Location: Limoges or Evreux France

iso image doesn't mount with OSX 24-10-2010 build 32 Bits

Post by dolarfred »

Hi!
iso image doesn't mount with the Mac OS X 24-10-2010 build on my snow leopard in 32 bits mode.
i'm using os 9.0.4 french

it craches just after displaying the startup picture 'welcome to...' --- >in french "bienvenue sur os9"

thank you for your job ! see below the console message

Best regards
Dominique




31/10/10 09:55:02 SheepShaver[1338] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] SIGSEGV
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] pc 0x379f4a46
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] ea 0x6c86ec8f
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] r0 00000000 r1 2e6749c2 r2 00000000 r3 1686ed14
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] r4 00007400 r5 00006e2e r6 08000000 r7 00000008
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] r8 6c86ec8b r9 36700000 r10 00000000 r11 00000108
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] r12 36790530 r13 00000000 r14 2e674a1e r15 00000001
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] r16 00030007 r17 36916ec0 r18 6c86ec8b r19 1686ec36
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] r20 2e674a9e r21 1678f486 r22 2e67f400 r23 00000000
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] r24 1686ed48 r25 00000000 r26 00000004 r27 00000004
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] r28 168119e4 r29 36a90150 r30 36b60000 r31 68fff000
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] f0 0.00000 f1 0.00000 f2 0.00000 f3 0.00000
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] f4 0.00000 f5 0.00000 f6 0.00000 f7 0.00000
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] f8 0.00000 f9 0.00000 f10 0.00000 f11 0.00000
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] f12 0.00000 f13 0.00000 f14 0.00000 f15 0.00000
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] f16 0.00000 f17 0.00000 f18 0.00000 f19 0.00000
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] f20 0.00000 f21 0.00000 f22 0.00000 f23 0.00000
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] f24 0.00000 f25 0.00000 f26 0.00000 f27 0.00000
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] f28 0.00000 f29 0.00000 f30 0.00000 f31 0.00000
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] lr 36a90150 ctr 00000000 cr 20001c88 xer 00000004
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] pc 36a90150 fpscr 00000000
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] SheepShaver V2.3 by Christian Bauer and Mar"c" Hellwig
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] Reading ROM file...
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] fCoreAudioDriverUID AppleHDAEngineInput:1B,0,1,0:1
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] Using SDL/coreaudio audio output
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] Detected CPU features: MMX SSE SSE2 SSE3 SSSE3
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] PowerPC CPU emulator by Gwenole Beauchesne
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] ioctl(DKIOCCDREADTOC) failed: Inappropriate ioctl for device
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] WARNING: Unknown DiskStatus(6)
31/10/10 09:55:07 [0x0-0x58058].SheepShaver20101024[1338] WARNING: Unknown DiskStatus(6)
31/10/10 09:55:07 SheepShaver[1338] *** __NSAutoreleaseNoPool(): Object 0x40c7f0 of class NSCFArray autoreleased with no pool in place - just leaking
31/10/10 09:55:07 SheepShaver[1338] *** __NSAutoreleaseNoPool(): Object 0x10e440 of class NSCFNumber autoreleased with no pool in place - just leaking
31/10/10 09:55:07 SheepShaver[1338] *** __NSAutoreleaseNoPool(): Object 0x130050 of class NSCFDictionary autoreleased with no pool in place - just leaking
31/10/10 09:55:07 SheepShaver[1338] *** __NSAutoreleaseNoPool(): Object 0x423aa0 of class NSCFString autoreleased with no pool in place - just leaking
31/10/10 09:55:07 SheepShaver[1338] *** __NSAutoreleaseNoPool(): Object 0x400540 of class NSCFNumber autoreleased with no pool in place - just leaking
31/10/10 09:55:07 SheepShaver[1338] *** __NSAutoreleaseNoPool(): Object 0x141760 of class NSCFDictionary autoreleased with no pool in place - just leaking
31/10/10 09:55:07 SheepShaver[1338] *** __NSAutoreleaseNoPool(): Object 0x145ab0 of class NSCFArray autoreleased with no pool in place - just leaking
31/10/10 09:55:07 SheepShaver[1338] *** __NSAutoreleaseNoPool(): Object 0x14cc60 of class SDL_QuartzWindow autoreleased with no pool in place - just leaking
User avatar
Ronald P. Regensburg
Expert User
Posts: 7831
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

Launch SheepShaver without the iso image (so it will only display the floppy image with blinking question mark) and make sure that in preferences, miscellaneous tab, "Ignore Illegal Memory Accesses" is checked. Save and try again with the image..
dolarfred
Student Driver
Posts: 20
Joined: Tue Jan 01, 2008 10:47 pm
Location: Limoges or Evreux France

checked "illegal memory access" in 32 bits mode

Post by dolarfred »

i've checked "illegal memory access" using SheepShaverPrefs.app
and restart

it seems to works

thanks
frag
Space Cadet
Posts: 6
Joined: Mon Nov 01, 2010 3:37 am

Post by frag »

Crashes on launch for me...

OS Version: Mac OS X 10.5.8 (9L30)

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread: 0

Dyld Error Message:
unknown required load command 0x80000022
User avatar
Ronald P. Regensburg
Expert User
Posts: 7831
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

- On which Mac model is that? (Looks like it runs the application in 64-bit mode.)

- Is this a first install or did you replace a working earlier SheepShaver build?

- If it is a first install, are all needed files present in the SheepShaver folder as described in the setup manual?
frag
Space Cadet
Posts: 6
Joined: Mon Nov 01, 2010 3:37 am

Post by frag »

Thanks for you time!

- On which Mac model is that? (Looks like it runs the application in 64-bit mode.)
This is a Core2Duo. It crashes in both 32 and 64 bit mode.

- Is this a first install or did you replace a working earlier SheepShaver build?
It crashes both ways.

- If it is a first install, are all needed files present in the SheepShaver folder as described in the setup manual?
I have since been able to get your 2009 build running fine.

I don't know much about programming but I will guess that this build is unable to find a Snow Leopard framework on my 10.5.8 system.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7831
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

The 24-10-2010 UB build consists of three versions, merged into one executable:

A 32-bit PPC version, using SDL 1.2.10, and compiled in 10.4.11 and Xcode 2.4 on a PowerBook G4. It should run on a PPC Mac running Tiger or later. It was tested by me in 10.4.11 and 10.5.8.

A 32-bit Intel version, using SDL 1.2.10, and compiled in 10.4.11 and Xcode 2.4 on a Intel Core 2 Duo iMac. It should run on a Intel Mac running Tiger or later. It was tested by me in 10.4.11 and 10.6.4.

A 64-bit Intel version, using SDL 1.2.14, and compiled in 10.6.4 and Xcode 3.2.2 on a Intel Core 2 Duo iMac. It was tested by me in 10.6.4. It will probably run properly in Snow Leopard only, albeit yet with several problems (see above).

I can imagine problems when running the 24-10-2010 build in 64-bit mode, but if set (in Finder Info) to run in 32-bit mode, it will use the 32-bit Intel version that should run fine in Tiger, Leopard, and Snow Leopard on any Intel Mac. I am surprised that on your Mac the 2009 build does run and the 2010 build in 32-bit mode does not. There is not that much difference between the two.

I have no Intel-Leopard setup at the moment because of a failing HD. When I am able to again install Leopard on my Intel Core 2 Duo iMac, I can see if there is a specific problem with that configuration.

If others run the 24-10-2010 build in Leopard on a 64-bit capable Intel Mac, please let us know.
frag
Space Cadet
Posts: 6
Joined: Mon Nov 01, 2010 3:37 am

Post by frag »

What would be involved in compiling a 32-bit Intel version using Xcode 3.2.2? I've been searching the web regarding that particular load error. I haven't found any clear guidance, but it may be related to Xcode bugs. You may find this helpful http://www.cocoabuilder.com/archive/xco ... again.html

EDIT: I tried setting the rosetta box in the finder info and it gave me the same crash. It looks like my system isn't respecting the info settings for this application. I opened Activity Monitor and tried to run it with only the 32-bit Mode set...sure enough it was launching as 64-bit (it took many attempts to catch it since the crash is nearly immediate).

EDIT2: terminal test (I don't really know what I'm doing)
Core2Duo:~ frag$ arch -x86_64 /SheepShaver\ 20101024/SheepShaver.app/Contents/MacOS/SheepShaver
dyld: unknown required load command 0x80000022
Trace/BPT trap
Core2Duo:~ frag$ arch -i386 /SheepShaver\ 20101024/SheepShaver.app/Contents/MacOS/SheepShaver
SheepShaver V2.3 by Christian Bauer and Mar"c" Hellwig
ERROR: Cannot open ROM file.

EDIT3: other 64-bit capable programs on my mac do respond to the 32-bit mode check box in the Get Info panel. It seems as if my system is having trouble associating the flag with the application or identifying the application. Another possible clue: I wanted to set control-click to my right mouse button by creating an application specfiic setting in USB Overdrive. I wasn't able to because SheepShaver was grey-out in my application list. It is like some unique identifier is missing from the application?

EDIT4: I used lipo -thin i386 as a workaround and the 2010 build is running fine.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7831
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

frag wrote:other 64-bit capable programs on my mac do respond to the 32-bit mode check box in the Get Info panel. It seems as if my system is having trouble associating the flag with the application or identifying the application.
Strangely, it does work in Snow Leopard on my machine. I will investigate the issue further when I have again a Leopard on Intel setup and when I have time. I am no programmer, though, so others who have programmer skills are welcome. I must confess that I did not consider 64-bit in Leopard when I compiled this build.
I wanted to set control-click to my right mouse button
Right mouse button support can be achieved easily with the "TheMouse2B" control panel in MacOS in the emulated machine:
http://hyperarchive.lcs.mit.edu/HyperAr ... -2b-11.hqx
frag
Space Cadet
Posts: 6
Joined: Mon Nov 01, 2010 3:37 am

Post by frag »

Success! I've discovered through trial and error that adding the following key to the Info.plist within the universal binary package enables my 10.5.8 system to properly respond to the "Open in 32 bit mode" checkbox.
<key>CFBundleIdentifier</key>
<string>net.cebix.sheepshaver</string>
User avatar
Ronald P. Regensburg
Expert User
Posts: 7831
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

Thanks for this finding.

Also a weird finding, how can this change make the difference. Could it be that not the adding of this specific key, but making a (any) change and saving the Info.plist file in 10.5.8 is what makes the difference? (The Info.plist file was edited and saved in Snow Leopard.)

Anyway, when I have my Leopard system up and running again, I will try and make a UB build that can run in 64-bit in 10.5.8 also.
Post Reply