[Coco] DriveWire 3
Roger Taylor
operator at coco3.com
Sat Apr 4 14:25:59 EDT 2009
Boisy, since DW3 is not a sale product I decided to bring this to
your attention on the list like everyone does with my software
issues. It tends to help to get a collection of opinions.
First, let me mention that I sell HQ bitbanger cables. I test them
not only at 115200 bps, but at twice that speed using a certain
person's unannounced bitbanger routines. Not only that, but my
cables are tested using an IOGear USB to Serial adaptor. With that
being said, I doubt that my cables are the reason I'm having trouble with DW3.
What I've found is that it doesn't take much to throw some USB serial
adaptors out of sync or to crash them. CoCoNet bitbanger does
neither, nor taps into any special tricks with such an adaptor. I'm
simply opening the COM port and talking over it but with precise
timing of the bitstream.
After looking at your DW3 source code, it appears that your order of
alternating cycle counts of 15 and 16 could be a problem.
It appears that your order of alternating cycles to RECEIVE bits are:
15,15,16,15,16,15,16,16
__ __ -- __ -- __ -- --
I drew the dashes and underscores to better visualize the
pattern. Your transmitting routine's cycle pattern appears to be different.
The best approach I've found after trying tons of different patterns
was to use 15,16,15,16,15,16,15,16 for both Receive and Trasmit
routines. This has proven to work almost flawlessly (I say almost
because there's no such thing as flawless) and I've run tests for
days straight with no CRC errors counted, over both a motherboard COM
port and a USB to Serial adaptor, two latops and an old Win98 tower.
You'll get even MORE stability by using the 8-N-2 protocol. The
extra bit of timing is worth it. Throughput means nothing if the
connection is going to barf out every 1 attempt out of 10.
For me right now about 1 or 2 out of 10 attempts in DriveWire 3
results in an error. For example, I can be sitting at the NitrOS-9
prompt and type "dir" and get an error #244, type "dir" again and get
error #216. Finally, a third "dir" spits the directory out. Almost
always a "dir /x1" on the first one or two tries results in an
error. Sometimes but rarely the .dsk image crashes during boot.
Again, IMHO, since DW3 is free I saw no harm in talking about these
things on the list as opposed to stepping on a sale product. My
biggest question is whether or not anybody else is having the
occasional errors with DW3 and what brand of USB adaptor they might
be using, etc. But another question is why all of my bitbanger
cables work fine with CoCoNet but not DriveWire using the same
bitbanger cable wiring.
If there are other coders now improving on DriveWire, I think the
above 2 timing suggestions should do the trick.
Why am I using DW3? I'm working on building a wirelessly bootable
NitrOS-9 .dsk image to add to my test cases. Nothing major, just
typical lab work.
--
Roger Taylor
http://www.wordofthedayonline.com
More information about the Coco
mailing list