Aug 87 Mousehole
Volume Number: 3
Issue Number: 8
Column Tag: Mousehole Report
Mousehole Report
By Rusty Hodge, Mousehole BBS
This month’s MouseHole report was edited on Microsoft Word 3.0, starting with
an almost 200k text file and ending up as what you read here. During the course of
editing, Word ran low on memory 4 times (Low On Memory, Please Save and Restart),
created 6-8 temp files that it did not remove (one was > 160k) and Bombed 3 times.
Word 3.01 should be available to registered owners [By order of the Publisher,
MacTutor refuses to print the following slang phrase in a family Journal: “by the time
you read this”. -Ed], but the date (Originally 30-Jun-87) keeps getting pushed
back as MS finds more bugs. - Rusty
more SE fan woes...
From: Mysteray
Do you notice any flicker on the left side of the CRT display? Like an up-down
jitter. Maybe it will be more easily seen if you cover up the fan intake on the left side
on the back. Use your hand to adjust the amount of air flow--the sound will increase
in pitch, like a vacuum cleaner whose hose is being closed off. As you ‘adjust’ the
speed there will be a point where a very obvious ripple should be seen running up
and down the screen. Is it there? Probably!!
It is caused by the far field (i.e., magnetic field) of the fan motor being spatially
modulated by the rotation of the fan impeller, and perturbs the CRT deflection
slightly, just enough to be noticed. With the fan at full speed the beat frequency with
the vertical scan rate is maybe 6-8 Hertz. If the fan speeds up the beat approaches
zero because the frequency difference is smaller.
Anyway, this wobble is becoming increasingly annoying to me. I am getting used
to the noise but this jitter is too much. [I agree. Our SE has the same problem. The fan
is a custom DC job that uses four magnetic coils to accelerate a disk around, feeding air
from one side to the other. Since the power supply is now sealed, Apple apparently
chose a DC design. But they seem to be more noisy and interference prone than AC fans.
Calling Dr. Loy Spurlock after you design a battery holder for the Mac II, how about a
new Fan design for the SE? -Ed.]
System Problems
From: Richard Hyman
A small complaint concerns the strings in systems and finders that identify the
version. Most strings are Pascal strings, but one of the strings in the SE
system/finder has no length byte. On eof the old finders didn’t identify itself
correctly ( 4.2 identified itself as 2.2). The content of the strings isn’t consistent;
the new Mac II system/finder has changed the wording and doesn’t have version dates.
This inconsistency makes it hard to write version appl’s that can be rather important
on large AppleTalk nets with inexperienced users. The suggestion for this is of course
that Apple be consistent in the use of these strings, no matter what standard they use.
PRAM loses the SCSI bus...
From: Jim Reekes
About five times a day I get a call from a user or dealer that just got our 80MB
internal drive for his Mac II. It is always the same exact story. “I had a system bomb
and now I can’t get the hard disk to be recognized. I’ve reformatted, installed new
drivers, and even ran Disk First Aid on it and they all worked. But I still don’t get the
disk icon on the desktop.”
My response is always exactly the same. “There is a bug in the Mac II. Many
times after a system error, parameter RAM gets trashed. What you need to do is hold
Shift - Option - Cmd and open the control panel. Then reboot.” I’m about to get an
answering machine hooked up to my phone to repeat this message to everyone calling
me for tech support.
The Mac II as a Workstation...
From: Dave Kosiur
I just spent some time talking to a few people who attended MacWorld’s
conference for developers last weekend. One interesting comment came out of all this
- it appears as though Apple’s marketing people (and others?) have not the faintest
idea of how to market the Mac II as an engineering workstation. One acquaintance went
so far as to say that, if the Mac II does succeed as an engr. workstation, it ‘ll be
because of a fluke. I think that the Mac II may have great potential as a engr.
workstation, but I agree that Apple and it’s approach to the dealer network aren’t
going to help. What do you think?
[Apple’s problem is that the dealer network doesn’t know anything beyond how to
turn on the machine and double-click on a few demo applications. There is a crying
need in this country for some good ‘ole fashioned “No Fluff” computer stores to service
the more technically oriented workstation user. See our ad in this issue for readers to
identify their favorite “No Fluff” computer store. -Ed]
Geez!
From: Power Hopeful
Here’s a laugh... I’m messing with MPW 2.0 commando (neat), and the Prodigy
SE in my machine causes the scrolling to be so fast that I can’t get it to stop on any of
the middle items ! !
Omnis vs 4th Dim.
From: Mick Billesbach
I was at an Omnis developers conference last weekend and had a chance to observe
4th dim. It certainly is slick, but a couple of negatives occurred to me. It definitely
seemed slower to open and redraw screens. 4th Dim. creates separate files (icons on
the desktop) for a lot of the components of the database. If the name of any of the
many files is accidentally changed on the desktop, 4th Dim. cannot find the file and
behaves irrationally. [They should read this months feature article from Dave Rausch
to find out how to do it right! -Ed].
1 meg SIMM board
From: Wayne Correia
Computer Partners has the nice price on 1 meg SIMM expansion boards. Prices
start at <$300.00 each, and they have quantity pricing. The phone number is
714/826-9190 ask for Mac Mike or Dave Lawrence...
Mac II arrives!
From: David Smith
I got my Mac II today! I ordered about the time of the Apple developers conference
so that should give you an idea on the backlog. I also ordered two video cards, b/w and
color monitors, 80 meg disk and memory expansion. What I got was a bare bones get
running system. The Mac, b/w video, one video card. No disk, no memory upgrade, not
even the video card expansions. So you can expect a minimum shipment. Fortunately
the Datafram 40 xp works just great with it! One big problem: MacWrite doesn’t
work!! Fortunately someone on Apple Link sent me an underground copy of the
yet-to-be-released version 4.6. (Incidentally, you can reach me at D0435 if you have
an Apple Link account. Always fun to get mail!)
Commando
From: Rick Boarman
MPW’s Commando is slick!! Type in “commando ” and see what
you get. It’s a graphic interface overlayed on top of the tools. There’s a new chapter
in the manual explaining how to use it and how to create your own commandos.
The only things lacking in commando are commandos for commando and saving
defaults. It’s a pain to always type in “commando” and whatever tool you want. It’d
be nice to just type “commando commando” and get a list of all commando tools to
select from. Also, I wish that if you pass in the parameters for the tool, commando
would set up all the right defaults so you wouldn’t have to. This is a real pain to do
when multiple files and folders are involved.
Calling Commando
From: Chief Wizard
There’s a faster way to call commando for a particular tool. In addition to typing
‘commando toolname’, you can type ‘toolname...’, where the ‘...’ is the single character
elipses (option-;).
Another tip: If you hold down the command and option keys when you hit the
button in commando that activate the tool, the command line for the tool is written to
the worksheet, but isn’t executed. This way, you can re-execute the command (and
even modify it), without the overhead of going into Commando every time.
Favored Hard Disk
From: The Toolsmith
For anybody who is interested, I’ve had my Jasmine 80 for about 2 months now
and ZERO problems. Fast as the 40XP I use at work, too. They seem to be for real...
From: Mike Steiner
I’ve had very good experiences with my 80 meg CMS. Good experiences as in not
blowing up, no bad blocks, etc. It just sits there and does its job. I’ve had it for only
one month, though, so I can’t give it an unqualified recommendation; however, if it
behaves the way it has been behaving, it deserves a high recommendation. Besides, we
have their tech support person here on the ‘hole (Reekes) in case something does go
wrong.
[CMS also has drives up to 320mb for the Mac, and they work on the Mac II,
unlike Apple’s yet to ship 80 meg drive!- Rusty]
Mac SE Hard Disk
From: Wayne Correia
Today, a customer came in to our store with a new Mac SE with the internal
MINISCRIBE hard disk mech. It was dead, but I diagnosed it in a funny way. The RED
in-use light blinked *** -- *** which is ‘SOS’ in morse code!...
SE Ram Failures
From: Wayne Correia
If you have a problem with RAM, you will get a SAD MAC screen with a code. to
isolate a faulty SIMM on a Mac SE, refer to the chart below:
0000000E SIMM#1 000000XX
0000000E SIMM#2 0000XX00
00000002 SIMM#1 000000XX
00000002 SIMM#2 0000XX00
00000004 SIMM#3 000000XX
00000004 SIMM#4 0000XX00
XX in the chart above indicates a non-zero digit in one or both of the positions.
An unreadable code often indicates that SIMM #3 or #4 is at fault.
Filter Procs
From: Chief Wizard
If you pass a pointer to a procedure to a routine (i.e. @myFilter for ModalDialog,
or @myResume for InitDialogs), then that procedure MUST be at the outermost level
of your program. Here’s why:
Most current (maybe all) Pascal compilers use address register A6 as a local
stack frame pointer. This pointer lets the routine access its own local variables as
well as the parameters passed into the routine.
Now, since a procedure (let’s call it Procedure B) that is local to another
procedure (say, Procedure A), can access the outer procedure’s variables and
parameters, extra steps have to be taken. For example, let’s say you have the
following structure:
PROCEDURE A(param1 : AType; param2 : AnotherType);
VAR {some variables local to procedure A}
PROCEDURE B(param3 : Type3; param4 : Type4);
VAR {variables local to procedure B}
BEGIN
END;
BEGIN
END;
Procedure A uses register A6 to access its parameters and local variables.
Procedure B also uses register A6 for ITS parms and local variables. In general, when
one procedure calls another, A6 gets saved and restored, so each procedure has its own
A6 value.
The catch is this: procedure B has to be able to access the params and local
variables of procedure A because of Pascal’s scoping rules. So, the Pascal compiler
passes procedure A’s A6 register to procedure B as an extra parameter. This way,
procedure B has its own A6, but it also has procedure A’s A6, because it was passed to
B as a parameter.
This causes procedure B to have one more parameter than you specified in the
procedure declaration. AND, since the Mac ROM is expecting to call a procedure with a
certain set of parms, it doesn’t pass the extra A6 parameter. This trashes the stack,
and causes a crash.
The net effect of all this is that you have to put your filter procs at the outermost
level. Annoying, but not too bad.
Word printing problems
From: Jim Reekes
Make sure you turn RAM CACHING OFF with Word 3.0 !! You’ll not be able to
print with the System 4.1 RAM CACHE. If you want faster speed, use Word’s internal
caching system.
PageMaker 2.0 RAM warning
From: Laser Dolphin
I would like to warn everyone about a potentially troublesome bug in PageMaker
2.0. If you are going to modify a large graphic, such as by cropping it, PageMaker
creates a bitmap version of it for speedy display. If you are doing this in 200% mode,
this obviously quadruples the number of bits in the bitmap. I was doing this to a large
graphic that covers most of a page (to be used as a background for the text), and had
my usual 256K RAM cache on. Sure enough, PageMaker ran out of memory (I have a
1MB Plus). It put up a dialog box to tell me of this disaster, which box would not go
away when I clicked OK. It was stuck in a loop, and I had to hit the programmer’s
switch. Moral: have mondo big much RAM when using PageMaker, particularly in this
situation. Solutions: more RAM or always disable caching when PageMaking.
Keyboard Polling
From: The Cloud
I need to know exactly how to poll the keyboard each time through the main event
loop (alon with my cursor-checking) so that if JUST the option key is down (and the
cursor is in a particular region), I can change it. IM says that the only way to do this
is to call GetKeys... but this returns a packed boolean array...
Option key
From: DON
You can easily check for a depressed option key in your event loop by simply
looking in your event record. The modifiers word in your event record contains a bit
which will be set if the option key is down. Do a logical AND on the modifiers word
with the predefined mask called (cleverly) "optionKey" (equal to 2048 decimal) to see
if the bit is set. Note that you need to be receiving null events to check for this
continually during a null event.