[Coco] Info on drivewire networking protocol
Brett Gordon
beretta42 at gmail.com
Mon Apr 6 09:19:11 EDT 2015
Here's a list of "extra" notes I have made about network/virtual
serial port and DW4:
* Don't use SERINIT. It doesn't work in all DW's I've used. To open
and close ports use SERSETSTAT instead.
* If during a SERREAD/POLL loop DW reports that a channel has closed,
You'll need to also close it from the CoCo with SERSETSTAT, otherwise
some portions of DW will lock up. (including the disk sector server).
issuing a INIT/RESET/TERM doesn't help here. only SETSETSTAT seems to
prevent lock-ups.
* When using a channel for TCP, Some of the textual response lines
from DW are duplicated, and they are duplicated with slightly
different end-of-lines. You'll need to textually parse through this
stuff on connect to find the start of in-band data.
* If using older version of DW4, some response codes are in binary
(aka "0x00" ) rather then textually ( "0x30" or "0" ).
* If you plan on having one tcp virtual channel control the others (a
listener port), then know that the "connection" numbers as reported by
DW are in decimal ascii - text. You need to resend this connection
number back to DW at times to accept, kill or join channels. It may
be beneficial to use a atoi() type routine to convert the connection
number to binary, as this number can be 1 or 2 digits.
I think the the undocumented "UI" interface may avoid some of the
ascii-binary issues, but I'm guessing only Aaron Wolfe and Bill Pierce
have this unholy carnal knowledge :)
Overall, with careful incremental development, I find DW's networking
to be pretty easy to do. I'm surprised not more programmers take
advantage of it: I've used it to:
Write my coco IRC client.
Provide a optical mouse for my coco's windowing environment.
Provide for headless coco booting.
YA-DOS's drivewire UI uses it, of course.
Provide terminals for some of my goofy coco multitaskers.
Hope this helps!
Brett
On Sun, Apr 5, 2015 at 6:38 PM, Joe Grubbs <jsgrubbs at hotmail.com> wrote:
> Brett, thank you so much for posting this link. Back when I was searching a few weeks ago I was unable to stumble upon this page.
>
>
>
> --- Original Message ---
>
> From: "Brett Gordon" <beretta42 at gmail.com>
> Sent: April 5, 2015 8:43 AM
> To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
> Subject: Re: [Coco] Info on drivewire networking protocol
>
> http://sourceforge.net/p/drivewireserver/wiki/DriveWire_Specification
> On Apr 5, 2015 5:51 AM, "jon bird" <news at onastick.clara.co.uk> wrote:
>
>> Hi,
>>
>> Can anyone point me in the direction of any detailed information on how to
>> use the IP networking capabilities offered by Drivewire? Only information
>> I've managed to track down is from here:
>>
>> http://sourceforge.net/p/drivewireserver/wiki/OS9_Modules/#virtual-serial
>> -ports
>>
>> and here:
>>
>> http://sourceforge.net/p/drivewireserver/wiki/Writing_Network_Capable_Sof
>> tware/
>>
>> which rather cryptically mentions a network library but doesn't state
>> where it is/what its called and has links to two files which don't exist.
>>
>> Cheers,
>>
>>
>> Jon.
>> --
>> == jon bird - software engineer
>> == <reply to address _may_ be invalid, real mail below>
>> == <reduce rsi, stop using the shift key>
>> == posted as: news 'at' onastick 'dot' clara.co.uk
>>
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> https://pairlist5.pair.net/mailman/listinfo/coco
>>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
--
Brett M. Gordon,
beretta42 at gmail.com
More information about the Coco
mailing list