[Coco] CPU speed in MIPS

William Astle lost at l-w.ca
Fri Apr 20 00:28:52 EDT 2007

> Diego Barizo wrote:
>> Surprisingly, the high speed poke turns a sluggish CoCo into a PC
>> killer (The T.1100 laptop)
>> The poor rating on the Print test for the CoCo 3 is because I used one
>> of the hi-res text modes.
>> But anyway, the CoCo3 seems slower than a 2. Might be because the 3 is
>> always in "all RAM"?

That's actually easily explained. Between every statement, there is a
poll for the BREAK key. On the original color basic, that meant doing a
full poll of the keyboard between every statement. In newer versions,
POLCAT was patched to check if any key was down and if none were down at
all, it didn't bother polling the keyboard. The upshot of this is that
BASIC runs faster as long as no keys or joystick buttons are pressed.

Unfortunately, a patch in the CoCo3 removed the check in POLCAT so that
the keyboard is scanned completely between every statement again. That
means that the system runs a bit slower than an equivalent CoCo2.

IIRC, there's also a replacement to the command interpretation loop in
DECB 1.1 which does the same thing so you would think that DECB 1.1
would solve the problem on the CoCo3. Unfortunately, the patching
routine in the CoCo3 recognizes DECB 1.1 and patches that routine out
too. Useful, eh?

So, basically, the CoCo3 is running slower than the CoCo2 on plain basic
statements because of the BREAK check process is scanning the keyboard
whether a key is down or not.

William Astle
finger lost at l-w.ca for further information

Geek Code V3.12: GCS/M/S d- s+:+ !a C++ UL++++$ P++ L+++ !E W++ !N w---
!D !M PS PE V-- Y+ PGP t+@ 5++ X !R tv+@ b+++@ !DI D? G e++ h+ y?

More information about the Coco mailing list