80-Bus News


January–February 1984 · Volume 3 · Issue 1

Page 35 of 55

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

Page 35 of 55