Tuesday, July 24, 2018

BASIC accuracy, 6502 vs 6809/6803

In the discussion about Microsoft BASIC, the difference in accuracy between 6502 and 6809/6803 versions was mentioned.
These are what Ahl's benchmark reports for accuracy on a few machines. 
Smaller numbers are better (more accurate).
  1. OSI Challenger 1P .32959
  2. Mattel Aquarius .187805
  3. TRS-80 Model III .0338745
  4. Atari 800 .012959
  5. Atari (fastchip) .006875
  6. Apple II+/IIe .0010414235
  7. C64 .0010414235
  8. VIC 20 .0010414235
  9. Oric .0010414235
  10. Sinclair ZX-81 .0006685257
  11. Sinclair Spectrum .0006685257
  12. MC-10 .000596284867
  13. CoCo .000596284867
  14. Model 100 .0000002058
  15. TI-99/4A .00000011
The Atari, Sinclair, and TI machines do not use Microsoft BASIC.

OSI used a lower precision math library than Apple and Commodore versions, but it finished the benchmark over 30 seconds faster than the Apple & Commodore machines.

The Aquarius appears to use a reduced precision library vs the TRS-80 Model III.

The Model III benchmark seems to have been conducted with single precision variables, but it's BASIC also supports double precision which would make it the 2nd most accurate here.  Double precision would be much slower.

The Atari fastchip is an aftermarket math ROM that speeds up the Atari.  It cuts over 4 minutes off the the Atari's benchmark time and is more accurate than the regular ROM.

The Oric is clocked at the same speed as the Apple II & C64, but it's benchmark times are over twice as long.  The chrget/chrgot code on page zero skips spaces quickly, but all other conditions are tested in ROM, making it slower than other 6502 versions, but still more optimized than the MC-10 and CoCo versions.  At the very least it should have tested for tokens in RAM and everything else in ROM.  You can delete extra spaces from code, but you are stuck with tokens.

The Model 100 appears to use double precision math.

The TI-99/4A may be slow, but it has really accurate math libraries.

No comments:

Post a Comment