[Coco] Serial to Telnet Gateway Progrm (Web surf with Coco)
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?
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.
More information about the Coco