Path: utzoo!utgpu!attcan!uunet!lll-winken!ames!mailrus!ukma!rutgers!apple!dan From: dan@Apple.COM (Dan Allen) Newsgroups: comp.sys.mac.hypercard Subject: Re: The Manhole Message-ID: <23462@apple.Apple.COM> Date: 6 Jan 89 20:57:49 GMT References: <12879@steinmetz.ge.com> Organization: Apple Computer Inc, Cupertino, CA Lines: 74 In article <12879@steinmetz.ge.com> leue@galen.UUCP (Bill Leue) writes: >However, I am a bit distressed with the instability of the product. >(I think it's Rev 1.2). It often hangs the computer (mouse moves, >but no responses to any clicks), and also the sound often gets lost: >you'll come into a "room", and a sound of some sort will play. Then >later in the game, you'll enter the same room, do the same thing, and >no sound will play. The absence of the sound is often a prelude to >the eventual demise of the system. As far as stackware being reliable, generally HC stacks are as robust as HyperCard itself, and HC is constantly becoming more and more robust, with version 1.2.2 being very good, in fact, the best yet. A stack without any sounds or XCMDs will VERY VERY RARELY HANG THE MAC. Once an XCMD is introduced into the picture (or someone's DA or INIT for that matter), HyperCard is no longer the only piece of code to be judged. Most bombs, crashes, and hangs of various sorts occur because of some strange INIT, patch, desk accessory, or XCMD that is buggy. The number of these critters is very large and Apple tests HyperCard largely without any of these installed, unless Apple authored them, i.e., Apple tests HyperCard with AppleShare, the Scrapbook, the Chooser, etc. Testing does try to test things like Suitcase and Pyro and other fun and neat INITs, but they can't test them all. In any case, these add-ons are usually about 50% reliable: in other words, 1 out of every 2 that I try causes problems, so I stick with a few old reliable ones, or ones that I have written. Now, sounds are an interesting problem. Supposedly System 6.0 and HyperCard had some bad sound interaction problems, although I never experienced any of them. System 6.0.2 did fix these problems. (That is, the people who DID have problems with 6.0 reported the problems fixed with 6.0.2.) The other problem you may be experiencing is that large sounds may fit into memory some times, and other times they might not. I bet that running "The Manhole" in a machine with more memory might cause your sound related problems to go away. The only problem that should occur, however, is that the large sound would simply not play: you should NOT have any crashes or bombs. Note that problems like this are usually the fault of a naive stackware developer that creates and uses a stack on a Mac with a lot of memory and doesn't try it much on a 1 MB Mac, for instance. It is unfortunately possible to create a large card in HyperCard running in a 3 MB partition that when run in a 1 MB partition simply cannot be read into memory. The same is true of sounds, as mentioned above. The solution to this problem is to always test stacks with HyperCard running in a 700-750 KB partition under MultiFinder. (It turns out that a vanilla Macintosh System 6.0.2 on a Mac plus with no inits, no debugger, no RAM cache, no AppleShare, no nothing--has about 700 KB free for an application. No MultiFinder either. Just an app.) It is possible to skillfully cut up sounds into smaller sized pieces and to play them back together seemlessly, a technique pioneered by Apple's Tim Oren. This technique is documented in several places, including Danny Goodman's Developer's Handbook. CONCLUSION: Flaky stacks CAN be created by the man on the street, and in fact, the naive stack designers that are not aware of some of these problems have created many problem stacks. Such is life. The good news is that anyone working with 6.0.2, and HC 1.2.2, on a system with few to no INITs, and running in a 750 KB partition can create robust stacks. If you do not know about Mac programming, then stay away from XCMDs until you have learned more. And if you are going to digitize a lot of sounds, cut them up into small (< 40KB) chunks. And you should have a good stack. (This all assumes your HyperTalk is good as well.) Dan Allen HyperCard Team Apple Computer