How to make a standalone SheepShaver bunddle/app

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

Post Reply
MacUser
Tinkerer
Posts: 64
Joined: Thu Apr 20, 2006 7:24 am

How to make a standalone SheepShaver bunddle/app

Post by MacUser »

Hello,

For many years I am using SheepShaver successfuly to run HyperCards stacks with SheepShaver.

I now have to put all HyperCard stacks on a USB flash disk (formatted for OSX, journaled) and run them from there.
The USB disk is mounted in OSX and I must be able to run HyperCard with SheepShaver from the USB disk on any OSX computer, even on computers without SheepShaver installed, so all files must be at the USB disk.

It must be also possible to use my "regular" SheepShaver setup (SheepShaver UB 25-10-2009) for other HyperCard stacks stored on the HD of my iMac.

I wonder what the best route is to go, can anybody help me ?

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

Post by Ronald P. Regensburg »

This will work with the 25-10-2009 build. Earlier builds do not support self-contained virtual machiens.

These instructions assume that you have a working SheepShaver setup and that you want to copy it into a self-contained virtual machine (VM), including the SheepShaver application and with your existing drive images.

1. Create a folder. (You can name it anything.)

2. Drag/create into this folder (copies of):

- The SheepShaver application
- The ROM file
- The keycodes file (if needed)
- An empty text file named "prefs"
- The drive images you want to use

3. Extend the file name of the folder with extension: .sheepvm

The folder icon will now change into a SheepShaver icon and the folder is now a package. If you need to access its contents, you can right-click (or control-click) on its icon and choose Show Package Content from the contextual menu.

4. Double-click the VM icon.

This VM will start as a not yet configured SheepShaver. You will see the blinking question mark.

You can now open preferences and proceed to configure this virtual machine. In the volumes list you can choose your existing drive images instead of creating new ones. Do not enter full paths, just use the file names for drive images, ROM, keycodes. (This should happen automatically when browsing the files inside the VM package.)

Your original SheepShaver settings (saved in ~/.sheepshaver_prefs) will not be touched. The preferences for the VM are saved in the prefs file inside the VM package.

Think of a path to a shared folder that can be used or created on any Mac you want to use this VM on, so you will not need to set a path each time again. /Users/Shared is a folder that will always exist.

You should be able to use this VM on any Mac with Tiger or later.

Notes:

1. The extension .sheepvm will turn any folder into a package with SheepShaver icon when a recent build of SheepShaver is present on your computer.

2. The virtual machine will also work without a copy of SheepShaver inside. This way you can create several virtual machines with different settings, different ROM files, different guest system versions, with just one SheepShaver application in your Applications folder.

3. You can set up a fresh virtual machine with just a ROM file, a keycodes file, and an empty "prefs" file in it. Follow the setup manual and SheepShaver preferences will create the new drive image inside the VM and will look for the other needed files inside the VM first.

4. Adding the empty "prefs" file is needed because of a bug in SheepShaver. SheepShaver does not create the file if it is not yet present.
Last edited by Ronald P. Regensburg on Tue Jul 20, 2010 12:41 pm, edited 3 times in total.
MacUser
Tinkerer
Posts: 64
Joined: Thu Apr 20, 2006 7:24 am

Post by MacUser »

Hello Ronald,

Thanks a lot for your explanation, I have no doubts that it will work fine :-)

I have just one question about the prefs file, will it also be OK if I copy the invisible prefs file in my home folder to the package and then just modify the path to the new location of the files inside the package ?
This way I am sure that I make no mistakes with screen setting or whatever is enabled right now.

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

Post by Ronald P. Regensburg »

You can copy the content of the existing prefs file and paste them in "prefs". Note that there should not be full paths in "prefs", just file names. Exception is the shared folder, it should of course not be in the VM. See correction about the shared folder that I added in my above post later.
MacUser
Tinkerer
Posts: 64
Joined: Thu Apr 20, 2006 7:24 am

Post by MacUser »

edit,

making a folder on the USB disk and setting it as a Shared-UNIX folder is working fine, the path of the UNIX folder is set as:

/volumes/NameOfUsbDisk/NameOfSharedUnixFolder



Hello Ronald,

Thanks again for your help.
Just a last question about the shared UNIX folder, is their any reason why it will not work when I set a folder on the USB disk for this task ?
(I have to keep all things on the USB disk)
I can't imagine why it will not work but I am just asking to avoid mistakes.

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

Post by Ronald P. Regensburg »

Yes, of course you can use a shared folder like this if the VM is always used on that disk. You only need a path that will work on each computer.

Another note: Now that you will use SheepShaver on different machines, see also this known issue on some host machines:
http://www.emaculation.com/doku.php/she ... own_issues
You may want to check “Ignore Illegal Memory Accesses” before you encounter a situation where SheepShaver will crash, while you can still access preferences.
MacUser
Tinkerer
Posts: 64
Joined: Thu Apr 20, 2006 7:24 am

Post by MacUser »

Ronald,

I just tried the USB disk on another OSX machine without SheepShaver on that machine and all worked fine instantly without the need of patching anything.
I think this is because the path to the USB disk is OK regardless the computer it is hooked on because it start with /volumes/NameOfUsbDisk so the path is directly pointing to the right folder.

I also created a symlink of the folders wich I need to access from OS9 and placed this symlink in the Unix shared folder.
With the symlink in the Unix shared folder all files are now directly accessable in OS9.
Working with symlnks makes it very easy to use in OS9 files that are stored outside the Unix shared folder.

Thanks again for your help, it helped me a lot and saved me a lot of time.

Wim
Post Reply