Opening HyperCard stacks in Unix Shared Folder

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
Chuck
Student Driver
Posts: 22
Joined: Fri Apr 22, 2011 1:08 pm

Opening HyperCard stacks in Unix Shared Folder

Post by Chuck »

I know everybody is busy decorating their Christmas trees, but meantime I thought I'd send a quick question.

I transferred my HyperCard stacks to the Unix folder, but found I could not open some stacks and only got the error: "Can't open stack "XXX." File System Error -51."

That is, the stacks are placed in the Unix (shared folder). I'd had them on the SheepShaver volume and could open all and export content no problem, but keeping them in the Unix folder was more convenient since I can see them from the OSX side.

Anyway, I searched the Net for File System Error -51" and found only one hit, the blog of a Japanese guy Mr. Fukuda using BasiliskII. (His blog entry is from 2006) In case you read Japanese, the link is:

http://www.otacky.jp/otaku_comm-2006.html

I don't understand the tech details, but a rough translation of his guess of why some stacks get the error message when opened from the Unix folder is the following...

"though the same directory is being accessed using the same package, it's okay from FC-4 but not from FC-5. It seems that, when seen from MacOS, the UnixRoot directory is slightly damaged, so that FC-4 is okay but FC-5 is not. If the UnixRoot file (stack) is moved to a file on the MacOS itself and then copied to an empty UnixRoot on MacOS, access from both FC-4/5 is then possible."

In a later note he writes: "[Using] FC5 doesn't work. After checking carefully, there's no problem with the [HyperCard] stack, only that it can't be launched directly from the UnixRoot directory."

I sent Fukuda-san an email asking him if he's solved the problem since then and will see if he responds. Meantime, does this FC-4 or FC-5 business make any sense to anybody? I did confirm that moving the problem stacks back to the desktop or volume on the SheepShaver side solves the problem.

But of course, I would like to use all my stacks from the Unix folder. Why might it be that some can be launched from the Unix folder but not others? I've already confirmed that it isn't related to the size of the stack.
User avatar
ClockWise
Site Admin
Posts: 4397
Joined: Mon May 20, 2002 4:37 am
Location: Uiwang

Re: Opening HyperCard stacks in Unix Shared Folder

Post by ClockWise »

Launching things from the Unix folder is not recommended/doesn't work.
User avatar
adespoton
Forum All-Star
Posts: 4227
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Opening HyperCard stacks in Unix Shared Folder

Post by adespoton »

We recently had another thread about this, but here's the basic rule of thumb:
Don't run executable code from the Unix folder.

With hypercard stacks, this gets interesting. I'd guess (and it's just a guess) that launching a vanilla HC stack from the Unix folder will work just fine. However, if the stack has any embedded XCMDs or XFCNs (or other resources for that matter, such as fonts), you're going to run into issues, as the correct stream may not be read back from the Unix folder.

Does this sound logical to the rest of you?

At some point, I'm going to have to isolate exactly what the limitations of the Unix folder are -- but I've always gone by the rule of thumb "Does it have a resource fork? Then don't use it from the Unix folder" and that's worked for me.
User avatar
24bit
Forum All-Star
Posts: 1424
Joined: Wed Nov 11, 2009 5:47 pm
Location: Germany

Re: Opening HyperCard stacks in Unix Shared Folder

Post by 24bit »

adespoton wrote: Does this sound logical to the rest of you?
Asolutely! :lol:
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Opening HyperCard stacks in Unix Shared Folder

Post by Ronald P. Regensburg »

As far as I can see, a document file can be opened from the 'Unix" volume whether it contains resources or not. But anything executable cannot be launched from the "Unix" volume. Apparently these stacks are more than "vanilla" HC stacks.

@Chuck:

Another way to be able to "see" the stack files in both guest MacOS Finder and host OSX Finder, is to create a separate volume in SheepShaver preferences to save and keep the stacks. Name the new file with a .dmg extension instead of the default .dsk extension and make sure it is initialized with Mac OS Extended format.

You can access that image on both sides, albeit not at the same time. The image can be mounted in OSX when SheepShaver is not running and it will mount in SheepShaver when it is not mounted in OSX. The stacks can be launched in SheepShaver from that volume.
Chuck
Student Driver
Posts: 22
Joined: Fri Apr 22, 2011 1:08 pm

Re: Opening HyperCard stacks in Unix Shared Folder

Post by Chuck »

Many thanks for the comments, everyone.

The stacks in question have no external resources, but the odd way HyperCard handles icons makes me think that may be the problem, as I've modified some icons in these stacks myself and icons can apparently appear in a stack while being in the Home stack, for example. My guess is the icons are the culprits.

@Ronald, your solution sounds promising and I will try it as soon as I get a break in work. An easy and safe method of back up is my main concern, and somehow I'd feel comfortable if the stacks are on a dmg, which I could simply drag to the OSX volume as a single file, especially since I only use a few stacks on a regular basis.

Thanks again, and first chance I will get back and report the results for reference.
drjohntas
Space Cadet
Posts: 8
Joined: Mon Jun 30, 2014 10:30 am

Re: Opening HyperCard stacks in Unix Shared Folder

Post by drjohntas »

Just started using Hypercard in Sheepshaver … I have my Hypercard folder in the Classic HD folder. Dragged my imported stacks from Unix into the Hypercard folder and they work fine from there. Stacks need to be in the same folder as HC Home.
Post Reply