[Coco] multiplexed serial into ip

Aaron Wolfe aawolfe at gmail.com
Mon Jul 6 14:15:27 EDT 2009


On Mon, Jul 6, 2009 at 1:50 PM, William Schaub<wschaub at steubentech.com> wrote:
> Aaron Wolfe wrote:
>>
>> Hello,
>>
>> I have been experimenting with a simple way to allow multiple tcpip
>> connections to a coco over a single serial connection on the bit
>> banger port.
>> This allows multi user applications running on the coco to be
>> accessible via the internet.  I've written a very simple chat room
>> type
>> application in Basic as proof of concept.  it mostly works fine :)
>>
>> I would like to extend this idea to OS-9, to allow multiple terminals
>> to be internet accessible.  I believe this would be possible, and by
>> having multiple 'virtual' serial devices corresponding to the
>> different IP connections perhaps one could run multiline BBS software
>> originally intended to use modems.
>> Having a coco bbs connected to the internet is fairly easy, but having
>> a multi line/user BBS would be really interesting.  This could also be
>> used to provide multiple regular os9 shell logins over an IP network.
>>
>> I'm a bit stuck on making progress with an os9 driver right now as I
>> do not have any working disk drive hardware or RS232 pack.  Currently
>> I load the software using the Drivewire cable via the bit banger, then
>> remove that cable and connect the terminal server which does the
>> IP->serial conversion.  So while the software is running, I have no
>> drives.. or I can have drives to boot os9 but cannot use the serial
>> port for my software.. catch 22 kind of thing.    Also, I'm using the
>> remote2 serial driver from Rainbow mag, this is limiting me to 600
>> baud which is not very quick when you multiplex several connections
>> over it :)  I'd like to eventually do this via an rs232 pak if I can
>> find one, and a multipak interface too i suppose.
>>
>> Is anyone else interested in this?  If it would be useful to people
>> then I might go ahead and purchase the superide from cloud9 or
>> something similar.  I am no expert in os9 either, so although the coco
>> side of the multiplexed serial connection is very simple I could
>> certainly use a hand implementing it.  basically just need to extend
>> the serial driver to provide multiple os9 devices and decode/encode
>> the serial data to associate with the correct device.   the concept is
>> simple, not sure about the implementation.
>>
>> -Aaron
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> http://five.pairlist.net/mailman/listinfo/coco
>>
>
> I once had a similar Idea. this may be possible if an API to the drivewire
> routines could be exposed to developers on OS/9 you would have to extend the
> drivewire server software to handle some new custom opcodes and pass traffic
> back and forth. and you would have to do lots of polling but I think it
> could be done. but as far as I know I don't know if boisy ever added any way
> for a programmer to access the drivewire bit banger routines to extend the
> system. (I'm still using drivewire V2.0)
>
>

that's interesting, I had not considered using the drivewire interface
to do this.  my current setup is completly incompatible with it, which
is why I was planning on getting a 'real' drive interface of some kind
to move forward.  the drivewire does provide both a disk system and a
realtime clock to os9... providing a usable serial port would be a
natural and very useful extension.

currently, I terminate tcpip connections on a linux box running server
code that handles all the sockets and communicates with the coco by
way of a single ip connection to a terminal server.   the serial data
is given a header that indicates which session it belongs to on the
way in by my server code, and on the way out by the coco.  this allows
multiple simultaneous sessions to the coco.  my poc code is running in
basic (due to the limitations of my current setup) so the coco side is
not multitasking, it is handling the events sequentially, limiting its
usefulness to small things that can be done quickly, like chat rooms
or very simple bbs type systems.  however if the sessions could
terminate in devices under os9, this would become very nice for true
multiuser scenarios running any kind of software.

crude ascii:

(internet)  === lots of ip connections ===> (linux server) --- one ip
connection ---> (term server) --- one serial connection ---> (coco)

(and it all actually works :)

-Aaron



>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>



More information about the Coco mailing list