New Feature: Self-contained .sheepvm bundles

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

Myrd
Granny Smith
Posts: 107
Joined: Mon Dec 25, 2006 4:09 am

Post by Myrd »

Here's b5 of the Launcher:

http://projectmagma.net/~myrd/SheepShav ... her_b5.zip

Changes in this version:

- Ability to rename VMs from the list. The VM's full path is now shown as a tooltip.
- Fixed default prefs for new VMs after editing another VM's prefs.
- Show warning message when trying to do something with a VM whose file no longer exists at it's location.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7830
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

Beta 5 and its new features work fine here. No problems so far.

I noticed that the included SheepShaver uses the software cursor. I suppose it was not built with SDL version 1.2.10.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7830
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

Preparing to post a new SheepShaver for MacOSX build and preparing to re-write most of the setup manual, I noticed a few problems with the virtual machines and the launcher that can complicate setting up a VM for the first time if it is not created by the launcher.

1. If a vm is imported that does not (yet) have a prefs file, the launcher does not create one. Instead, the launcher will crash when clicking the "Settings..." button.

2. When set up in the classical way, SheepShaver will recognize a rom file named "Mac OS ROM" or "ROM" in the same folder and can be launched, even when no ~/.sheepshaver_prefs file exists yet or when a rom file name is not yet defined in the ~/.sheepshaver_prefs file. This does not work with virtual machines that contain a "Mac OS ROM" or "ROM" and no rom file name defined yet in the settings.

Edit: I was wrong. It does work in virtual machines, but only when a "prefs" file (even when blank) exists in the bundle. That leaves the first problem of the launcher not being able to handle a imported virtual machine that happens not contain a prefs file (yet).

Especially the first problem can probably be solved easily.

If you would want make a new Launcher beta, I suggest that you include the SheepShaver executable from my latest UB build:
http://www.xs4all.nl/~ronaldpr/sheepsha ... 091004.zip
It is built with sdl 1.2.10 to enable the hardware cursor and it does not include the "sdl audio patch" that was applied to cvs last February 19th. In MacOSX that patch resulted in degradation of audio performance instead of improvement, seriously so in BasiliskII and to lesser degree in SheepShaver. I used the file src/SDL/audio_sdl.cpp as it was on February 18.
Last edited by Ronald P. Regensburg on Sun Oct 11, 2009 8:24 pm, edited 1 time in total.
MacUser
Tinkerer
Posts: 64
Joined: Thu Apr 20, 2006 7:24 am

Post by MacUser »

Hi guys,

I have a strong feeling that I miss the point why someone should use a self-contained .sheepvm bundle instead of a "old style" setup.
Can you explain me the advantages ?

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

Post by Ronald P. Regensburg »

With only one copy of SheepShaver application, you can have multiple virtual machines, each with its own settings and different MacOS versions. The preference and nvram files will not be the single invisible files in your home folder, but different for each virtual machine and easily accessible within the vm bundles. SheepShaver (the latest build, see link above) will consider a virtual machine as a SheepShaver document and double clicking a virtual machine will launch SheepShaver and start that particular virtual machine.

The SheepShaver Launcher can be used to easily create, set up, maintain, and organize virtual machines.

I intend to write a new manual for SheepShaver MacOSX that will explain how to set up and use these new developments.

(The latest SheepShaver build can also still be used the way previous versions were used.)
User avatar
Ronald P. Regensburg
Expert User
Posts: 7830
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

@ Myrd
I wonder if it would be better to have SheepShaverLauncher and SheepShaver as two separate applications, with no SheepShaver executable inside the Launcher application. Now, launching a VM from the Launcher launches the SheepShaver executable inside the Launcher. That is confusing for the user, as I noted earlier in this thread.

I think it would be more transparant to the user (at least for now) to have the Launcher start a VM like when the VM is double clicked, which will launch the SheepShaver application.

The Launcher application can then create, set up, import, manage, and start the virtual machines (sort of advanced replacement for the stand-alone Prefs Editor) and the SheepShaver application will actually run the virtual machines. SheepShaver builds from current CVS (like my 20091004 build) support the virtual machines.
MacUser
Tinkerer
Posts: 64
Joined: Thu Apr 20, 2006 7:24 am

Post by MacUser »

Hello Ronald,

Thanks for the explanation.
Because I only need to run SheepShaver for a single Classic app (HyperCard) I think there is no benefitt for me to run multiple VM's (at least for know).

Wim
William
Student Driver
Posts: 11
Joined: Thu Oct 01, 2009 7:29 pm

Post by William »

There might not be specific benefit to me, either, but I'd probably do it. I have an 8.6 and a 9.0.4 running. I mostly use OS 9, but if I can get some of the other old games off floppy and onto my MacBook Pro, it could be handy.
Myrd
Granny Smith
Posts: 107
Joined: Mon Dec 25, 2006 4:09 am

Post by Myrd »

Ronald P. Regensburg wrote:@ Myrd
I wonder if it would be better to have SheepShaverLauncher and SheepShaver as two separate applications, with no SheepShaver executable inside the Launcher application. Now, launching a VM from the Launcher launches the SheepShaver executable inside the Launcher. That is confusing for the user, as I noted earlier in this thread.

I think it would be more transparant to the user (at least for now) to have the Launcher start a VM like when the VM is double clicked, which will launch the SheepShaver application.

The Launcher application can then create, set up, import, manage, and start the virtual machines (sort of advanced replacement for the stand-alone Prefs Editor) and the SheepShaver application will actually run the virtual machines. SheepShaver builds from current CVS (like my 20091004 build) support the virtual machines.
I think it's a good idea - I'll see what I can do. This way, the launcher could potentially be expanded to support other emulators as well such as Basilisk and vMac.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7830
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

Would be great! Looking forward to a new beta. Will you also take care of the problem that the Launcher cannot handle an imported VM bundle that does not have a prefs file?
alone
Space Cadet
Posts: 2
Joined: Wed Oct 21, 2009 6:42 am

Re: New Feature: Self-contained .sheepvm bundles

Post by alone »

Ronald P. Regensburg wrote:
Myrd wrote:This should make it much easier to have multiple OS installs (such as 8.6 and 9.0.4) at the same time.
For that purpose these changes were not really needed. I have no problem having multiple OS installs at the same time and even running them at the same time:
Image
From left to right: 9.0.4, 8.5.1, and 8.6 with new world rom, and 8.1 and 7.5.5 with old world rom. Simply put for each installation all files in the same folder with a copy of the SheepShaver application, make sure files have identical names and use those file names in preferences instead of full paths.

But I suppose that with your changes it is now possible to have a portable SheepShaver installation on a USB stick.
hello.
I want an "Unix" icon that is used in this screen shot.
How do I manually put it where?

I am sorry that the topic is not relevant please.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7830
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

Paste an icon that can also be read by the old MacOS on the shared folder.
alone
Space Cadet
Posts: 2
Joined: Wed Oct 21, 2009 6:42 am

Post by alone »

Ronald P. Regensburg wrote:Paste an icon that can also be read by the old MacOS on the shared folder.
Thanks Ronald.

But I wanted to say,
This screenshot is being used to "Unix" icon image I want.
Snow Leopard is a resource was not found.

Who made you the icon image?
peter_j
Tinkerer
Posts: 61
Joined: Sat Jul 02, 2016 12:28 pm

Re: New Feature: Self-contained .sheepvm bundles

Post by peter_j »

Myrd wrote: The system is quite simple. If you create a folder with a .sheepvm extension, and put into it a file called "prefs" (what was previously in ~/.sheepshaver_prefs) and a file called "nvram" (what was previously in ~/.sheepshaver_nvram), you can then pass this folder path as an argument when launching SheepShaver - which will then use those files.
I would really like to know how that is done - is it a command-line argument? ( If I am being stupid please forgive me ).

How does that still result in this from the superb setup instructions seeing as you can have multiple prefs and nvram files:
Multiple different VMs can be set up but not more than one can be run at the same time.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7830
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: New Feature: Self-contained .sheepvm bundles

Post by Ronald P. Regensburg »

These are early instructions from the developmental stage of the feature. Better use the instructions in our setup guide:
http://www.emaculation.com/doku.php/she ... l_machines
peter_j
Tinkerer
Posts: 61
Joined: Sat Jul 02, 2016 12:28 pm

Re: New Feature: Self-contained .sheepvm bundles

Post by peter_j »

Thank you for your prompt response.

What I am trying to determine:

1. Can one specify a prefs and nvram file on the command line so that the hidden files in the $HOME folder are not used?
2. Whether the virtual machine mechanism does or does not use the 2 files in the $HOME folder, and if NOT, how is that achieved?

I am writing yet-another-frontend and find it very annoying that alternative prefs and nvram files can't be obviously specified. I have got a working workaround, but it relies on a really dirty hack.

Thanks again

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

Re: New Feature: Self-contained .sheepvm bundles

Post by Ronald P. Regensburg »

Have a look at the SheepShaverLauncher application, it does what you are looking for. With it you can create (or import), configure, and launch multiple VMs from one single interface. The Launcher itself will create VMs as folders, each with its own prefs and nvram files, but it will also accept import of existing .sheepvm packages.

SheepShaverLauncher was created by the user who is known here as "Myrd". The latest build was created three years ago by the user who is known here as "vasi". The download can be found on vasi's DropBox. If you go the sticky topic with SheepShaver builds, you will find a link under "Self contained SheepShaver virtual machines" that leads to a post by vasi mentioning various BasiliskII and SheepShaver builds. The link there leads to his DropBox.
peter_j
Tinkerer
Posts: 61
Joined: Sat Jul 02, 2016 12:28 pm

Re: New Feature: Self-contained .sheepvm bundles

Post by peter_j »

Thank you for your patience and your detailed response - I'll follow your advice.

And thank you for the incredible effort you put into answering and helping people on this forum and site. I don't know how you do it! :smile:
EnchDS
Space Cadet
Posts: 1
Joined: Mon Nov 11, 2019 11:33 pm

Re: New Feature: Self-contained .sheepvm bundles

Post by EnchDS »

So, I was running the SheepShaverLauncher programme, and everything was well until I replaced

Code: Select all

/path/to/SheepShaverLauncher_b?.app/Contents/MacOS/SheepShaver
with the newest version, and now I get:

Code: Select all

dyld: Library not loaded: @rpath/SDL2.framework/Versions/A/SDL2
  Referenced from: /path/to/SheepShaverLauncher_b1.app/Contents/MacOS/SheepShaver
  Reason: image not found
The reason I have the log readily available is because I'm running through the Terminal, because unidentified devs, ...
User avatar
Ronald P. Regensburg
Expert User
Posts: 7830
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: New Feature: Self-contained .sheepvm bundles

Post by Ronald P. Regensburg »

1. I have absolutely no idea what you did or what you are trying to do.

2. You replaced what with the newest version of what? Did you modify the Launcher application? You should not do that.

3. No need to use Terminal to run an application because of the 'unidentified developer' message. Simply right-click (or control-click) the application icon and choose "Open" from the contextual menu. After you have done that once, you can launch the application normally by double-clicking the icon.
Last edited by Ronald P. Regensburg on Tue Nov 12, 2019 1:00 pm, edited 3 times in total.
Reason:  
Kmudle
Space Cadet
Posts: 6
Joined: Sun Feb 26, 2023 1:21 am

Re: New Feature: Self-contained .sheepvm bundles

Post by Kmudle »

Hello all,

Is this feature still in development/supported on the most recent version of SheepShaver for MacOSX? When I attempted to create a .sheepvm bundle it was not recognized on my machine.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7830
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: New Feature: Self-contained .sheepvm bundles

Post by Ronald P. Regensburg »

The feature is still fully supported. I used it for years and I still use it with the latest build in macOS 13.2.1 (Ventura) on my M1 iMac..

Did you follow our setup guide and did you make sure all needed files are available?
Do you use a compatible rom file that was renamed Mac OS ROM as described in the setup guide?

I notice that you name the host system with the old name "Mac OS X". Which version is your host system and which SheepShaver build do you use? (Note that builds are identified by the build date, not the version number.)
Post Reply