[Coco] Serial to Telnet Gateway Progrm (Web surf with Coco)

Roger Taylor operator at coco3.com
Sat Aug 25 21:54:36 EDT 2007


At 01:19 PM 8/25/2007, you wrote:
>Couldn't the DriveWire and Roger's 115Kb bit-banging tweak be used 
>with something like this?
>
>Jim



My version of a 115200 bps bitbanger protocol can work even in OS-9 
(in theory), so I'm sure it would fit into the scheme.  I don't have 
time right now to get into serious projects like this but I'm a good coach.

My protocol (which is ~25% theoretical) can be imagined as a 
"Request-Only, Variable-Size, Two-Way, Packet-Blaster".  :)

I'll go ahead and explain how it works so you can see how even OS-9 
won't miss any data - even while doing other stuff.

Some ideas and truth about the concept:

The PC must listen continuously using IRQ and the CoCo only requests 
that something be done (packet to send or receive).  The CoCo demands 
15 to 30 times a second that the PC send it some kind of data packet 
that contains data, commands, etc.  Even if the packet only has a few 
control bytes and zero data bytes, a return packet is needed because 
once the CoCo sends the "request" code to the PC, it *imediately* 
enters a tight loop of code that syncs to the first start bit and 
receives the remaining stream of data.  Since the CoCo is in control 
of the protocol's traffic, OS-9 could be carrying on tons of 
operations at the same time.  If OS-9 was so bogged down that it 
could only send *1* request code to the PC per second, but the data 
size of the received packet was 4k, 8k, or even 16k, think of how 
fast that can arrive at 115.2kbps.  I think OS-9 should limit the 
packet size for 4k, however.  A 4k burst of 115200 bps data seems 
like nothing at all, and the request frequency can also be tuned 
(manually or automatically) along with the packet size to work best 
in DECB or OS-9.

Here's another secret:  8-N-2  (that's 2 stop bits) is the only way 
the CoCo could have time to stay in loop while do a little processing 
for this protocol.  Otherwise, 8-N-1 makes for a nice "dull and 
useless single block transfer" project (at 115.2 kbps, that is).

It sounds like a huge headache, and probably is to most 6809 
dabblers, but most of the code is already written for the CoCo.  The 
PC side of the protocol is in partial form and exists already in the 
Rainbow IDE hidden in one of the menus.  It might be grayed out.. I'm 
not sure at this second, but I used Rainbow and a real CoCo for 
several days straight in my initial tests before announcing an 
error-free 115.2k achievement.  The CoCo was receiving 512-byte 
screens in real-time of patterned data that you could even see 
blasting (very quickly!) to the CoCo's screen.  The CoCo was 
requesting these packets as quick as it could, then using a checksum 
to prove the data was consistently valid.




-- 
Roger Taylor





More information about the Coco mailing list