Dec 86 Mousehole
Volume Number: | | 2
|
Issue Number: | | 12
|
Column Tag: | | Mousehole Report
|
Mousehole Report
By Rusty Hodge, Mousehole BBS
Sysop Speaks
Rusty Hodge
Merry Christmas! This Christmas season the new Apple //gs should be a big hit. But in January we should be seeing the first of Apple's exciting new line of Macs. The "Aladdin" will be surprisingly similar to Levco's Prodigy, including a DMA'd SCSI port. (DMA = FAST)
Speaking of the //gs and the new Macs, look for Apple's Desktop Bus to start popping up in the Mac family. This means your mouse will plug into your keyboard, among other things.
This month we're featuring a segment on "Pascal Wars". Who wins? Decide for yourself. As of this writing, Turbo Pascal was just released, so it's getting a brief critique, not one based on experienced use.
Finally a few months ago, someone mentioned that QUED had a 32K limit on file sizes. The authors dropped me a note about this. QUED actually doesn't have a limit (aside from the amount of RAM in your Mac). I put together the report using QUED this month. It is a very fast text editor, had no trouble dealing with a 100K or so long file, and I think I'll start using it as the basis of comparison with other editors. (If you switch editors and have a lot of files created with the old one, get Text Ranger, an application that will change the creator of all text files to whatever you specify, i.e. QUED.)
Disk First Aid
The Atom
Don't know about anyone else, but Disk Express told me my Dataframe had too many blocks allocated and thus wouldn't compact the desktop or prioritize files. But this great Disk First Aid program solves that! Just run disk first aid on the HD, then run Disk Express. No errors and no more fragmented files! (Of course Disk Express still takes 2 hours on a 20-meg HD to prioritize and unfragment).
Also, if you haven't gotten it yet, the release of the Dataframe print spooler 3.0d is out. Registered owners should get it soon. Also with the spooler is a head parking program you can run before you transport your hard drive anywhere.
TextEdit Problem (New ROMs?)
Go
I can't seem to get a blinking cursor when I type characters in my program's TextEdit window. I call TEIdle in the main event loop, and I make sure the port is active, and when I click the mouse (TEClick) it starts to blink, but as soon as I start to type (TEKey) the cursor vanishes! I've noticed the same problem in my friend's editor and the MockWrite DA, so I know the problem is not unique to my program. [This is a bug in the new ROMS. A call to TEScroll with dh and dv both 0 results in loss of the insertion point. See Tech Note 22 and only call TEScroll when there really is something to scroll. Compare your event loop to this month's Text Edit Demo, which does not have the problem. -Ed]
Deep Folders
Jim Reekes
Late one night Rusty and I were backing up 20megs to another drive. I've done this many times in the past without losing a file. This time I think we discovered a nasty problem with HFS. There was one folder that had several folders within folders. I think it was about 10 or so deep. When we attempted to copy this folder, it wasted the directory structure. Ouch! Kinda like the problem ProDOS has if you've got 15 or more sub-directories. Look out for this bug. Oh yeah. After copying a few hundred or more files, you MUST reboot the Mac. It doesn't do much of anything right after a mass file transfer.
Folders and Mouse Freezing
Cpettus
Some time ago I remember a message in which a downloaded program was accused of causing a "deadly folder" to appear on a hard disk: the mouse would freeze and the system lock up when this folder was opened in the Finder. It just recently happened to me, but in entirely different circm- stances, and I suspect the actual culprit is the HFS directory information not being correctly written out to disk when the system crashes (because it's still sitting in one cache or another). The Mac is supposed to go through a rebuild procedure on a volume which was not correctly dismounted when it encounters it again, but this is apparently not as robust as it could be. [If you have confirmation of strange Finder problems like this, please write to MacTutor so we can present them to Apple. -Ed.]
LoDown Problem
Burrill Smith
For those of you who are looking for a fast HD at a reasonable price, as I was, think twice before considering LoDown. Three days after I got mine, the controller board went out. OK, not their fault, these things happen. However this was three weeks ago and I'm supposed to get it back today. It took them a week to send me an empty box so I could send it back to them (their rules, no LoDOWN box, no warranty). If you plan to become dependent on your hard disk, I suggest you find a supplier who offers service, which LoDOWN doesn't seem to. [I can add a good story to this. We got a 20-meg LoDown box at a place I worked once. It never seemed entirely on the ball and was the loudest HD I'd ever heard. One day, it began to whine more loudly, then to screech, and as we raced to unplug the thing, it was screaming. SMOKE was actually coming out the back. We uh, returned this evaluation drive. -- Laurel Galvan-MacLean]
All's Fair in Love & War
David Smith
I couldn't let the previous post go by without commenting on our experience with DataFrame. We bought two DataFrame 20's. One had a microsci drive in it that was very quiet. Couldn't be heard over my LaserWriter. The other had a seagate drive in it that sounded like an aircraft carrier. It was a definite hum over the LaserWriter. Plus it was dead on arrival. The microsci DataFrame has worked without any problem or data loss for several months. A problem we reported last month with our Mac was due to the Max2 2-Meg memory upgrade boards coming lose. This required several trips to a dealer to seat the simm modules more securely and now the Mac seems fine. Watch out for this problem. In any case, the DataFrame has seemed very reliable and robust. The drive that was returned was finally fixed and sent back to us and works fine, but still hums. I mention all this to balance the above post on the LoDown which I believe is also a fine drive. I also recommend re-formatting your drive on arrival to catch any bad spots after shipping.
File Tags
Chief Wizard
The file tags were supposedly going to help people rebuild trashed disks, but no one ever came out with a good utility to do this. Also, there was the annoying fact that with file tags, your sectors were 524 bytes long instead of 512 bytes long. This gave HD maufacturers some trouble. Apple has decided that the tag bytes are pretty useless, and will not be in any future products. (Guaranteed sector size of 512 bytes.)
Cautious on MacExpress
Cpettus
I've been using MacExpress (backing up before each application). Comments so far:
1. It's very, very, very slow. Not that it doesn't have reason to be (in most circumstances, it has to move 80%+ of the disk around to get it into the structure it thinks optimal), but it does give a large "window of opportunity" for the power to glitch (for example) while the disk volume is inconsistent.
2. I'm not sure how thorough the diagnostics features are. It does not, for example, detect a corrupted desktop file (or at least the kind of corruptions that I had).
3. It resets the modified dates on all moved files, preventing most backup utilities from performing incremental backups _after_ the MacExpress is complete.
Finally, I have no proof of any problems with it, but I have (sooner or later) encountered problems with either the HFS structure or the desktop after using MacExpress. Use the same caution with it that you would with any application which is (a) in its first release, and (b) directly rewrites the control structures on your disk!
SCSI Disk Icon
Burrill Smith
Where does the icon for my SCSI drive come from? I can't find it anywhere with ResEdit, and it's driving me crazy with its ugliness!
[A volume driver must respond to one of two calls from the system. It must either respond to the call requesting the resource ID number of its icon in the system file, or it must respond to the call requesting a pointer to an ICN# resource in memory and a "Where" string (for the Get Info Box). Since it's much easier for the driver to just declare the data within itself than to get something into the System, the second method is the most common. (And besides, that's how Bryan Stearns' example SCSI driver did it.)
If you want to change it, you've got a problem. The SCSI driver is loaded from the drive itself at boot time. BUT the area where the driver resides is not accessible with FEdit. It doesn't actually exist within the volume's data space. You should be able to find the icon data in memory within the driver code, though. Once you've done that, you should also be able to patch the disk initializer program that is usually shipped with each SCSI drive.
The disk initializer is what puts the driver and the boot info onto the disk. After you've changed the icon, reinit your disk, and viola! ] -
- Chief Wizard
Thanks for the explanation, Wiz. I had found the icon in the format utility, but as you say it was data, not a resource. You also cleared up the mystery of how 'Get Info' knew the manufacturer of my SCSI drive. Until I need to reformat (NEED TO? Never, I hope) here's my workaround:
When in the finder, the SCSI icon becomes an ICN# resource in memory, ID # -33. So I placed an ICN# -33 into the Finder's resource file and it replaces the SCSI icon. Apparently the SCSI driver queries the drive before it loads the Finder. A side effect is that Get Info says the volume is located on AppleTalk rather than SCSI.
--Burrill Smith
Likes MacExpress
Jim Reekes
I've found that MacExpress became a utility I can't live without. It has cleaned up some of the fragmented-est situations I've seen. If you have any questions I can ask the guy who wrote it. I got to met him in Dallas MacExpo. He is interested in any comments that I may pass along to him. I'll ask about his readjusting of a file's mod date. I do know that it does not claim to "re-build" a disk's directory - I don't think anything could.
Secondly, if you manually build a new desktop (holding Comm-Option during boot) you will lose comments and some ICONs. MacExpress will preserve both of these. In general, it moves applications toward the logical 'front' of the drive, then places documents afterward, and finally spaces at the 'rear'.
"DiskExpress does not alter the file's modification date", according to the programmer that wrote it. I 'Expressed' this morning and found no dates changed. DiskExpress only moves a file 'one block at a time' to a new location, then updates the directory. Sure, this is risky business during a thunderstorm, but any failure to update the directory would be. (Like getting the bomb during a long session with Microsoft Word).
Anyway, how long DiskExpress takes to do this depends on the fragmentation index. (Do not trust 'FEdit' for a proper index). I tend to Express on a regular basis, and generally this takes about five minutes to complete. If your drive is "way rad", then it's gonna take longer. It can repair some directory problems, too. HFS has problems remembering the proper number of blocks for a file. DiskExpress will "remind" the Mac how many there really are. Make sure you have the latest version, 1.06. If you are having problems with the copy you purchased or would like to, call them at 713-353-4090.
Express and MacServe
Macowaco
If you were an early Macserve manager you would remember Infosphere's comments about fragmentation and server performance. While their direction (put in your Macserve volumes first and don't change them) helped initially MacExpress (and HD first Aid!!!) really make a difference. You can even Express within the volumes for even more speed. Although it does take quite a while the first time, Infosphere should put their own version into the Server manager software. Something weird happened with the PD Laserprint. You know the DA that sends the postscript file. I sent a small sample to the Laserwriter and it stuck it into the middle of a friend's 12 page printout. The two lines that I typed on my sample were "Hi Bozo!" I couldn't find the printout until I heard the guy next door bust up, then come running into my office demanding to know how I did it. What was weirdest was that he knew I did it.
Jazz Bug Fixes
Gary Voth
There is an INIT resource available on MAUG and in the LOTUS JAZZ forum that fixes an incompatibility between JAZZ 1A and Apple System 3.2. The new system software causes a "Serial port is in use" error in the JAZZ communications module. The file is called "SYST32.FIX" and is in DL1. JAZZ isn't the only communications software to have problems after Apple released the new ROMs and System files. MicroPhone is completely useless for text file uploads. I only wish the Software Ventures (read Dennis Brothers) would be as considerate about the problem as Lotus has been.
Microsoft Word
Tim Celeski
By the time you read this, Microsoft will have made their formal announcement on the new version of Word for the Mac. They will also announce their update policy for those of you that already own it. As someone had mentioned, the new version is much, much more powerfull then the existing version, and starts to have Desktop Publishing like features. A really nice piece of work.
Nubus is Better than Vme
Zenomorph
Hello All, I can stand the waiting so I going to spill more on the Nubus. Did you know that Nubus has a 10 Mhz clock in sycn mode. So you already knew that! Well did you know that this means that processors running on this Nubus can run at up to 40 MHZ. That's Flamming faster than the new secret DEC VAX bus. Ah, well if I'm not mistaken it's a lot faster than the VME, and NuBus is very INEXPENSIVE compared to VME. The VME bus is complex but the Nubus is SIMPLE; very SIMPLE. This means that add on boards will abound. [But is the Mac bus really a Nubus? I've heard rumors that it differs slightly. -Ed.]
Comdex Mac Rumors
Macgeorge
I have it that Apple has cancelled out of Comdex Las Vegas and showed up in Atlanta with the new toys. Top of the line machine is a UNIX machine with a 30 meg storage system (yes 30 !). The SCSI interface may be in for some competition from a new generation interface.
Microphone Bugs
Gary Voth
What's with the bugs in MicroPhone's text file upload? This is the one where you get echo characters and double lines on screen. I know Jim Reekes has experienced this same problem, but I don't hear a lot of complaining about it. It makes it almost useless for sending messages to the MouseHole. Anybody know whether this has been fixed?
(This problem is only on the local display. Text actually uploads correctly. See previous post about system 3.2 problem with Jazz. - Rusty)
Pro3D
Macowaco
A new upgrade of Easy3D. While the user interface in the front of the program is identical to Easy3D this is definitely not the same program. Drawings are scaled for accurate drafting, a new profile generator makes detailed 3D possible, but best of all is the way it makes the Laserwriter do its work. The output is breathtaking. The grey scales are fantastic. Well worth a 15-30 minute wait to print something. It takes GEOMOD on a dedicated VAX at least that long while I don't think the output is as good. It might be the 3D winner.
Core Edit on MacApp
Micro Ghoul
Ciao, I have been playing with MPW and MacApp for a little bit now, and have started (read thought out what I want to accomplish) to work on encapsulating Core Edit into MacApp. Has anyone tried this? Has anyone failed at this and has a reason why? Finally, does anyone know whether or not Apple plans adding Core Edit features to the current text tools (I doubt it, but it does not hurt to ask)? [MacTutor is very interested in this project of getting a cleaned up Core Edit into public domain. -Ed.]
Digitized Sound
The Atom
HELP! I'm still trying to play back digitized sounds from soundCap (Macnifty digitizer) in Lightspeed Pascal. I can't figure out what the file formats are, though. Is it a FFSynthRec? Or a list of bytes you put into WaveBytes on a ffsynthrec? If it's the wavebytes, how do you know what FFsynthrec.count is supposed to be?
[The uncompressed sound files are stored exactly the way you need them to playback: as bytes. Use the following example from page II-228 of Inside Macintosh:
Var
myPtr: Ptr;
myHandle: Handle;
myFFPtr: FFSynthPtr;
Begin
myHandle := NewHandle(buffSize); {space for sound buf}
HLock(myHandle);
myPtr := myHandle^; {deref handle}
myFFPtr := FFSynthPtr(myPtr);{coerce type}
myFFPtr^.mode := ffMode;{use free form syn}
myFFPtr^.count := FixRatio(1,1); {set playback speed} myFFPtr^.waveBytes[0]
:= 0; {waveform description}
... {load sound file into waveBytes}
StartSound(myPtr,buffSize,POINTER(-1)); {play sound}
HUnlock(myHandle);
End;
-- Katz ]
The Pascal Wars
The Bitman
Who will win? Been using Turbo Pascal lately, and it's very fast, just like their ad claims... pretty much just a simple compiler, compile to memory or disk. Everything is built-in, comparable to Lightspeed in compiling, both are fast, but LS keeps updating the project file. Then there is TML. 2.0 has greatly improved over previous versions, now they just need to get rid of Edit and the Linker, or combine them.
Then there is Apple, which doesn't surprise me as being the last to introduce a product and having it end the worse, so I don't expect too much from them, but it's like a standard, everybody will follow what Apple does...
LS Build & Save
Alfred
When you run a program within the Lightspeed environment, Lightspeed initializes certain routines automatically (like Quickdraw, the Fonts, Windows, Menus, etc.). When you build and save an application, your program is independent from the LS environment and must therefore set up all the system routines itself. So in other words I should keep all of the InitGraf(@thePort) and other initialization routines in the actual source? [Yes, always use the $I option and do the init stuff yourself so your "build" application will work the same way as your LS shell. -Ed]
The Chief Speaks on Various Pascals
Chief Wizard
Here are my (unasked for) opinions on the various Pascals:
TML - It just took him too darn long to come out with a product that was even useable, not to mention nifty. He was the first, but I expect to see him die off as more professional stuff gets used. [Objects will save TML. -Ed.]
Turbo - A good idea, but Lightspeed beat them to it. The difference in raw compile speed between the two isn't enough to make me give up the integrated debugging environment and all the goodies in Lightspeed. On the other hand, the name will help sell it. [I agree. -Ed]
Lightspeed - Excellent job! This is what Mac programming should have been two years ago. I'm sure they'll work out the minor problems, and this will probably become the Pascal for the rest of us as well as the Pascal for new programmers. [I heartily agree! -Ed]
MPW - Yes, Apple is last, but I think it's the best. For large or serious development, MPW has no equal. There's a trade-off between having to learn the command-based environment and all the power that it gives you, but the learning time is worth it. Also, the Pascal produces the best code yet I have seen. [Could be. Still skeptical. -Ed]
Personally, I use LS Pascal for smaller jobs and to prototype pieces of larger applications. It's great for debugging things like CDEFs and DRVRs. The code is transportable to MPW with NO changes. I use MPW for all real jobs. The code that LS Pascal produces is pathetic, and the limitation on Source code size is ridiculous. [A good point! -Ed]
[ Interesting that you should say those things, Wiz. I would say that they kept the code size down for modularity's sake. I like the idea of having smaller modules anyway, easier to keep track of; modification really doesn't impact as heavily as if it were one large hunk. I guess the line can be drawn on that point on, whether or not one wants just the capability of NO limitations (which, I think is where it's all headed anyway ) vs advantageous limitations. I'll be getting MPW next week from APDA and will be able to give a more learned comment on the subject, but for the moment my Mac and I have found new love with LS Pascal. This is from a person who had to convert first from a 128K Mac using Aztec C (talk about limited!) to a Mac+ using LS. I agree with you about TURBO's lackluster untimely entry. ]
- John S. Lee
I don't really have a problem with LSP's code size limit, because, as you say, it lends itself to modularity. But, the reason they did it is a cop out. They are using the ROMs TextEdit with patches for their editor, and it can't handle too much. -- Chief Wizard
[Yes, but you also can't have a data structure bigger than 32K and that can be a real problem when dealing with large bit maps like Alan Wootton's Pic to Clip utility. -Ed]
TML Include File Problems
John Lee
I am having soem trouble with TML's {$I filename} directive. It keeps coming up with the error and search routine of: I cannot find "filename". I have tried SetPath, and every other means. Could it be that the 4.1 finder should NOT be used with the new ROMS under TML, or what? The TML's Pascal is on my 400K external and the Pascal System is on my 800K. To conserve space, I am booting 4.1 finder and matching system from the 400K drive. This gives me mucho space on my workdisk. How do I use SetPath DA? Why won't this thing work? Any help would be greatly appreciated.
[I wouldn't use anything but System 3.2 and Finder 5.3 with the new ROMS. As for SetPath DA, since our friend Paul Snively wrote it, we'll see if we can get some info on that into MacTutor. -Ed]