[GreenKeys] Model 33 ethernet connectivity
Chris Elmquist
chrise at pobox.com
Thu Jun 5 22:19:59 EDT 2008
On Thursday (06/05/2008 at 04:10PM -0700), gil smith wrote:
> Hi Chris:
>
> I'd like to know more about your plans to use SitePlayer. I have used a
> couple of ethernet-to-serial modules (xport and cas) in products, but never
> tried using something like that for a tty. It makes a lot of sense though.
> I had considered using one to front-end my tty-connect board -- I could
> then telnet to it and send a stream of data to either the (ascii) low-volt
> loop for an M33/35..., or the (baudot) high-volt loop for an M14/15/28...
> The ascii-to-baudot conversion is already done on the board.
yes. I am currently using the SitePlayer because I had it on hand. I
too have used a number of other units including the xport and the Digi
-ME modules.
> It sounds like you only want to connect to a 33, so the baudot conversion
> goes away. And you can use a pretty simple low-voltage 232-to-20mA circuit
> to drive the M33.
Right. I have just a 33 now which is here for vintage computing purposes.
I'm a radio guy too but not active on RTTY so that is not the application
right now and there's nothing here doing BAUDOT presently.
I was going to build the 232-to-20mA converter but when the $5 eBay
units were mentioned, I chose the buy over build approach on that one.
That's just too cheap since I barely have enough time to brush my teeth
these days.
There's a ton of room inside the BlackBox CL050A box and if I remove
one DIP switch and the DB25, the SitePlayer (still in its metal box)
will mount right to the CL050A PCB with the ethernet jack and link LED
sticking out from where the DB25 used to be. I'll then steal the power
from the CL050A and eliminate a wall-wart. In the end, I'll have a
20mA terminal server... or, better, a Teletype with ethernet :-)
> As you found, the 2-stop bit thing can be important so characters are not
> lost during M33 printing -- if the siteplayer folks are going to implement
> 2-stops, that is great. Their stuff is pretty cheap too. You could
> insert inter-character delays at a higher level, but 2-stops is the clean
> way to go.
yes... what we converged on there is to use one of their existing character
format options-- the 8-bits, mark parity setting. This effectively
generates 8-bit characters with two stop bits because the mark parity and
the stop bit are at the same level. This works great.
However there is an issue with their default firmware and accepting AT
commands from the tty keyboard. The tty keyboard sends 7-bits with
space parity, meaning that if you receive that with a UART set for
8-bits, you will see a 1 in the most significant bit. This means that
the AT command interpreter in the SitePlayer was not recognizing any
commands. They have fixed this in a BETA firmware version for me so
that it makes the parity bit and now commands can be typed on the tty
and accepted by the SitePlayer.
This makes for an interesting setup... since you can then type on the
tty,
ATDTip:port
and it will originate a telnet session to that IP address and port number.
For my purposes, this works great because I just telnet to another
terminal server port to which one of my vintage computers is connected
and now the tty becomes the console for that machine. Take a look at
page 41,42 in the SitePlayer manual for a description of how their
AT commands work:
http://siteplayer.com/telnet/downloads/SitePlayer%20Telnet.pdf
You of course can also make the SitePlayer be a telnet server so
an application on a host on your network can then originate a
connection to it and then stream data to or from the tty. This
might be a mode suitable for the HeavyMetal program to use if it
wanted to steer the traffic to a real tty. Although I suspect in
that application, a real serial port with 20mA converter or a USB
serial port with 20mA converter might be more appropriate.
> The other thing to keep in mind is insertion of nulls after CR, so the
> carriage goes fully back to the left. This can be done in your application
> program, and you could even count the number of characters on the current
> line and send just the right number of nulls to compensate. Or, maybe the
> siteplayer folks would add a programmable (but fixed) number of optional
> post-CR nulls for you.
Yes. I will solve that problem at the application level. I don't want
the SitePlayer to modify the datastream at all or have to change any mode
on it to move between text and binary streams-- and that is because I
want the tape reader and punch to work over this setup and need the
full 8-bit character set to be delivered unmodified. When I send 0x0D
I want to just punch a single byte on the tape in other words.
> It would be nice to make two little gizmo modules:
> ethernet-to-ascii-20mA-loop (a low-volt loop for M33s), and an
> ethernet-to-baudot-60mA-loop (high-volt loop for other stuff). If these
> could be made cheap enough, you could have one at each tty (or local loop
> of ttys) and just plug in an ethernet cable. Or even make it wireless
> ethernet.
Sure. Some of the other telnet modules-- the Digi ones in particular--
are capable of 5-bit, 1.5 stop bit UART settings. They don't do the
ASCII<->BAUDOT thing but the thing to which this network server connects
could certainly do that. The SitePlayer is not currently capable of
5-bit characters although I could ask the guys if they can do that...
> That would solve the hardware connectivity issue, but at this point all you
> can do with existing software is to open a telnet session to the
> appropriate ip address and port number, and manually type to the tty. Plus
> you need to be able to configure the ethernet module for a static address,
> or look in your router's table to find the dynamically-assigned dhcp ip
> address.
well, I do all my work on Linux and it is a no brainer to whip up PERL
scripts to open that telnet connection and have a dialog with the tty.
I intend to convert a large collection of paper tapes to files on disk
this way. I've got Bill Gate's original 4K BASIC for the Altair680
that needs to be converted. I'll do it... only because this was
before Gates became a criminal. :-)
> Now if you can write custom software, you can do more, by opening a tcp/ip
> socket connection to the same address/port numbers and get application
> access to the serial-port/current-loop. But what do you do now? You could
> connect to different machines, or patch different loops of machines
> together via software, etc. You still have the issue with the ip address,
> which you can work around with static addressing, but unless your ethernet
> module provides some method of discovery, you can't automatically find a
> dynamic address in your software program.
The SitePlayer can certainly be configured for a static IP address via its
web interface if you so choose. My approach is to hand out "static" IP
numbers via DHCP. I simply add the SitePlayer's MAC address to my DHCP
server, assign an IP number to it, put a name in my DNS for that IP number
and off we go. Any time I open a connection to the host "tty33", I get
connected to the teletype.
I guess I am using this as a solid-state ABCDEFG... switch. I have a half
dozen or more old computers with serial console ports that all at one time
may have had a tty33 connected to them. With this arrangement, I can
decide right at the tty keyboard, which of those old machines I want to
talk to at any instant. I simply enter ATDT192.168.1.30:port, where port
is the number of the old machine I want to connect to. No moving of cables,
wires, etc.
> It would also be nice if Bill Buzbee's heavymetal program could be modified
> to talk to an ethernet tty (Bill?). All the great functionality he has in
> there for email, weather, and other cool stuff, could just get piped to a
> tcp socket in pure ascii form, getting around the whole 5-bit serial port
> problem. Baudot conversion just moves to the ethernet/loop adapter, and
> data throttling is handled over ethernet, much like how I use xon/xoff to
> throttle 232 ascii data into tty-connect.
yes... or, if a terminal server capable of 5-bit chars is used, he can
just pass the 5-bit (in 8) chars directly to that terminal server which
will then deliver it to the BAUDOT tty.
I think you could also use this scheme for what the guys were talking about
the other day-- namely calling each other up and exchanging messages. With
the terminal server, you can just do ATDT followed by the IP number and port
of your buddy's Internet firewall/router. At his end, he's got port forwarding
enabled to pass that port straight through to his terminal server equipped
tty and as soon as that connection is made, the guys can QSO with each
other. Obviously point to point and not point to multipoint but it might
beat using a dialup POTS circuit and modems.
> MY WISH LIST: I plug my M33 into an ethernet-to-LV gizmo, plug my M15 into
> an ethernet-to-baudot-converting-HV gizmo, plug my TU into a 232 or loop
> gizmo. A program running on a pc finds them all as they come online, and
> lets me send filtered email summaries to one tty, news and weather
> headlines to another tty, TU traffic to another... Oh, and automatic motor
> powering for each tty as well. And the gizmos need to stay cool.
>
> Sounds feasible enough, and I kinda started down that path with stuff I
> did, but the final result still eludes me. The software in the center is
> key, and I have no interest in writing pc code. Embedded C keeps me busy
> enough.
This is a simple bit of scriping on Linux once you have those gizmos on
your network. I'm pretty sure it is impossible to do with Windows ;-)
> Let me know what you find, as I am quite interested in where you are
> headed. Maybe we can work together on it somewhat if you'd like -- I can
> do circuit boards, and interfacing microcontrollers, if you can get the
> high-end software to work.
Cool. I can write high-end and low-end software (when I am not doing
same for Supercomputers at the day job) and design the embedded systems
but I never tooled up for PCB layout. I've tried but making symbols for
all of these parts I want to use drives me to drink (which isn't all bad
sometimes). So, yes... I'd be interested in working on some projects.
Time is the real killer here but we do what we can.
Chris
--
Chris Elmquist
mailto:chrise at pobox.com
More information about the GreenKeys
mailing list