there is hope for tiny code!

Don Y dgy at DakotaCom.Net
Sat Apr 15 22:25:31 CDT 2006


Sean 'Captain Napalm' Conner wrote:
> It was thus said that the Great Roger Merchberger once stated:
>> Rumor has it that Richard may have mentioned these words:
>>> OK, in some threads I've seen the curmudgeons shake their head back
>>> and forth and bemoan how people don't write finely tuned hand assembly
>>> code anymore.
>> Drivewire for the Tandy CoCo1/2/3 (http://www.cloud9tech.com.) use 
>> hand-tuned assembly for the serial routines on the bit-banger (one bit of a 
>> PIA, toggled by software) port - they acheive 38400bps on a .89Mhz 6809 
>> (CoCo1/2), and 57600 on a 1.78Mhz 6809 (CoCo3). I've booted NitrOS9 on my 
>> machine, and it's pretty durned quick. Not *quite* as fast as the floppy 
>> drive (and certainly not as fast as the CF memory card I have on the IDE 
>> bus ;-) but awfully handy! (Oh, and check out the SuperBoard project...)
> 
>   Really?  I did the math once and found that 19200 was about the
> theoretical maximum one could get on a Coco 1/2---but I suppose if you
> unrolled the loop to read a byte you could, maybe, get a bit faster at the
> expense of space ... hmm ... as I'm doing it, yes, I think it is possible by
> unrolling the loops, but the timing is *very* tight.

The speech in vintage (1980-ish) Williams arcade pieces takes
the same approach -- using the 6809's accumulator to shift
the bits out to the CVSD.  As a result, nothing gets done
while the sound card is speaking -- and the quality of the
speech suffers (all to save a 12c shift register  :< )

<shrug>

--don



More information about the cctalk mailing list