80-Bus News

  

September–October 1983 · Volume 2 · Issue 5

Page 12 of 67

review manual came bound with one of those pull-on plastic spines. I have no objection to then, I’ve used them myself, but when I opened the manual I found I could not read the start of most lines as they were lost in the binding. Pulling the plastic spine off cured that, but then left me with a pile of loose paper. My alternative method of storing manuals – four-hole punching the pages and storing them in a ring binder – would not be perfect either, as the holes would mutilate some of the text. I measured the left and right margins at 10mm and 15mm respectively. I reckon they should be 15mm at an absolute minimum, 20mm would be better.

On glancing through the Hisoft HP5 manual one thing I noticed immediately was that the range of the floating point numbers was given as 3.4x1038 to 5.9x10-39). However the range that the Am9511 can handle directly is only 9.2x1018 to 2.7x10-20. Subsequently I wrote a short program that verified that the limits in HP5 are those of the Am9511.

Support

The area where a product like this stands or falls is in how easy it is to use. All your current software will obviously ignore it, and it is not a trivial task to get round this problem. Belectra have taken a step in the right direction by including in the price a special version of the Hisoft Pascal compiler whose run-time routines make specific use of the arithmetic processor. So if you want to “plug-in-and-go”, you are currently restricted to Hisoft Pascal, or Pascal/MT+ which also has an option for using the Am9511.

Trying it out

I list below a few comparitive benchmarks of the performance. A nice benchmark I came across recently [4] is a good test of processor speed and accuracy on purely arithmetic routines. This very nicely matches the area in which the HSA-88B would be used. Try it on your current favourite interpreter and/or compiler for comparison with the figures below. Ideally it should produce a result of 2500 in as little time as possible.

5  REM Benchmark from DDJ No 83 (Sept '83) p120-122
10 N%=2500
20 A=1
30 FOR I%=1 TO N%-1:A=TAN(ATN(EXP(LOG(SQR(A*A)))))+1:NEXT I%
40 PRINT USING "A = ££££.££££";A

Fig 1 – DDJ Benchmark in BASIC

LanguageResultTime
Standard MBASIC interpreter:2304.86in225secs
BASCOM compiler:2304.86in183secs
*Modified MBASIC interpreter:2326.94in41.8secsAm9511support
Hisoft Pascal (V5):2326.94in29.1secs""
Simple assembly code:2326.94in26.8secs""
version of the benchmark:

* see below

Fig 2 – Benchmark timings (4MHz Z80)

Unfortunately several Pascals do not appear to offer TAN as a function, (they do have SIN and COS), and only have ARCTAN for the inverse functions. So, for the Pascals, I have translated the PCW BM8 into Pascal.

Page 12 of 67