80-Bus News


January–February 1984, Volume 3, Issue 1

Page 35 of 55



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:

10 FOR N3=1 TO 9 It should print out the results of 20 FOR N2=0 TO 9 153,370,371,407 but doesn’t. Can anyone see why 30 FOR N1=0 TO 9 not? 40 A= N173 + N273 + N373 The answer is simple, and reminds me of that old 50 B= NI + N2*10 + N3*100 adage about not blindly accepting the answer 60 IF A=B THEN 80 that comes out of a computer. Just because your 70 GOTO 90 computer tells you that 2<>2 or 3=2 does not 80 PRINT B necessarily mean that it is true. Remember that 90 NEXT NI your computer is an idiot and tries to do 100 NEXT N2 exactly what you tell it. It can do mundane 110 NEXT N3 operations very quickly, but it does have 120 END limitations and this example highlights twoof them.

Point 1: Derived Arithmetic Functions.

To us normal Human Beings N173 (N1 raised to the power 3) in line 40 of the above program means NI*NI1*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:

CO + CL*AX + C2*X72 + C3*X73 + .2+ + 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

This is an OCR’d version of the scanned page and likely contains recognition errors.

Page 35 of 55