[Coco] Bitbanging limits
operator at coco3.com
Sat Apr 28 18:55:23 EDT 2007
I changed the topic since this is getting into sort of a project to
see just what the limit is for the CoCo's bitbanger port (with a 6809).
894886.25 / 8 cycles per bit yields ~111861 bits per second. I'm not
bothering with 6309 code which *would* give faster possibilities but
not everybody has the upgrade.
In 8 cycles you can LSR <34 which is 65314, pushing bit #0 into the
carry bit, followed by a RORA which pushes the carry bit into the
data byte. But, to prevent graphics distortion on a CoCo 1/2, you
might have to first set up the PIA's DDR so that bits 1-7 are input
bits during the receive routines. This way, an LSR to that register
shouldn't corrupt anything.
You'd need ~80 cycles for a Start-8-Stop character format. ~88 for
an extra stop bit which should give you time to loop back and check
for a new start bit.
The truth is, 57600/115200 bps is probably our best bet for
compatibility with other PC's. OS-9 would get the higher speed since
it's in ~2mhz mode.
More information about the Coco