Aunt Agatha’s Agony Column
By David Parkinson
GM809,
GM829
compatibility/upgrading
This is a question that has cropped up several times recently. The answer
is that the Gemini GM829 FDC/SASI board can be regarded as a
GM809HL. With the
‘HL’ level of trim you gain software controlled 5.25″/8″ switching together
with a SASI interface. Other than that the products are identical (ports,
software interface etc). For some one currently running a system with
GM809,
upgrading is a matter of a) getting a GM829; b) Checking the straps; c)
Plugging it in. That’s all there is to it.
The software controllable 5.25″/8″ switching of GM829 is quite useful –
even if you don’t have 8″ drives connected to your system. This is because the
Western Digital Floppy disk controller used on
GM809/GM829 is limited in the
maximum rate it can step the head between tracks on the attached drives. When
set for 5.25″ drives it can only achieve a 6ms stepping rate, but the modern
Japanese drives (e.g. TEAC FD55Es & Fs) can be stepped at 3ms/step. Running
them at the slower rate results in reduced performance and a ‘graunching’
noise from the drive (non destructive!). However, with GM829, whenever a SEEK
is required, the 5.25″/8″ control can be flipped to 8″. The main effect of
this is to double the clock frequency to the Controller chip, which results in
all stepping times being halved. Thus drives can now be stepped as fast as
3ms/step, leading to increased performance and much quieter stepping. (Once
the seek is complete, the control bit is obviously flipped back to the 5.25″
setting before doing the read/write operation.)
BASIC mathematics
A letter from Phil Dunglinson on the topic of a BASIC program that
doesn’t work provides me with my next topic. The listing is shown below:
It should print out the results of
153,370,371,407 but doesn’t. Can anyone see why
not?
The answer is simple, and reminds me of that old
adage about not blindly accepting the answer
that comes out of a computer. Just because your
computer tells you that 2<>2 or 3=2 does not
necessarily mean that it is true. Remember that
your computer is an idiot and tries to do
exactly what you tell it. It can do mundane
operations very quickly, but it does have
limitations and this example highlights twoof
them.
Point 1: Derived Arithmetic Functions.
To us normal Human Beings N1^3 (N1 raised to the power 3) in line 40 of
the above program means N1*N1*N1. However to Nascom BASIC it means:
EXP(3*LOG(N1)), where both the LOG() and the EXP() are calculated by
evaluating polynomial approximations of the form:
C0 + C1*X + C2*X^2 + C3*X^3 + … + CN*X^N
X is the value passed to the approximation routine, and C0,C1,..CN are
constants whose value depend upon the approximation required (EXP, LOG, SQR
etc). Usually X has to be scaled to lie within a certain range for the
approximation to be valid. The accuracy of the approximation obviously depends
upon the degree of the polynomial, and for some functions a polynomial of low
degree (of only 3 say) can be suprisingly accurate. From a computational speed