• Published on | Feb 05, 2014 | by FozzTexx

Putting Your Retro Computer On the Line

With it being BBS Week over on RetroBattlestations, many people are trying to get their retro computers online so they can connect to a BBS over the Internet. One reason for wanting to connect over the internet is because phone calls cost money, and for others (like me), we don't even have a phone line to use with a modem anymore. Some of the discussion has pointed to some specialized serial to Ethernet or serial to WiFi adapters. Those boxes can be over $300 so I thought I’d put together a quick guide on how to get an older computer “connected to the Internet.” This method will work for computers that have an RS232 port, and will use a Raspberry Pi to act as an intermediary to gate to the Internet and costs a lot less.

Obviously the first thing you’re going to need is a retro computer with an RS232 port. RS232 is pretty much the lowest common denominator in terms of communications standards. Many computers came with some kind of serial port which could do RS232, and most of the rest could get one as an add-on.

Besides the retro computer, other things you will need are:

  • Raspberry Pi
  • null modem cable
  • USB to serial adapter
  • Terminal Emulation software for your retro computer

First thing to do is get your Raspberry Pi setup and get it on your network. Plug the USB to serial adapter into your Raspberry Pi, and then use your null modem cable to connect your retro computer to the USB serial adapter. Get into a shell on the Raspberry Pi, and type in:

sudo apt-get install tcpser

Fire up your terminal emulation software on your retro computer and find out what the maximum speed it can handle is. Back on the Raspberry Pi, run this command:

tcpser -s <maxspeed> -d /dev/ttyUSB0

The Apple IIe now has WiFi! Your Raspberry Pi will now show up as a modem to your retro computer. With a WiFi module on your Raspberry Pi, you can now connect your retro computer wirelessly to the Internet. If you are able to type commands to the modem, enter AT and you should see an OK show up. You can “dial out” to other computers by putting in hostname:port instead of a phone number.


If everything is working, you should soon see yourself connected to my BBS. Since tcpser emulates a modem, you can use any software on your retro computer which expects to communicate over a modem. You can use it to transfer files from newer computers to your old computer, or copy files from old floppies and put them in the cloud. You can call out to other BBSs, or even setup your own BBS and let people connect to your retro computer. One downside to tcpser though is that the version that comes with the Pi doesn't support connecting to a true telnet server, so it won't give you shell access. (See my update below to fix the telnet bug.)

So many standards to choose from! The hardest part of this setup will probably be the null modem cable. Finding a cable that has the right connector to match your retro computer may not be easy. While many manufacturers put on ports that were compatible with RS232 electrically, not too many used a standard connector. I have computers that use a fairly standard DB25, others that use a DIN connector or a mini-DIN connector, some that use a DE9 connector, and at least one that uses a headphone connector! And just because a computer used a DB25 or DE9, that doesn’t mean they used a standard pinout. An old Mac DE9 is not wired the same as the DE9 on a PC. The DE9 on an Atari 850 serial box uses a completely different pinout.

Update 2016-05-25:

I've fixed the bug with connecting to real telnet servers, incorporated geneb's echo and port changes, and added parity support to tcpser. You can get my updates to tcpser from here.

Update 2016-06-17:

I've posted instructions on how you can use tcpser to do ssh too.

"On the line." "Online." "On the line." "Online." "On the line." "Online." "On the line." 

Join The Discussion

+1  Posted by John Reynolds • Feb.05.2014 at 22.44 • Reply

Null-modem cables are extremely easy to make, by switching one wire in a standard cable though. Great post!

+1  Posted by FozzTexx • Feb.05.2014 at 22.55 • Reply

You actually need to swap 2 wires, send & receive. And for hardware flow control you might need to swap CTS/RTS and/or DTR/DSR.

+1  Posted by Stu • Feb.16.2014 at 16.11 • Reply

So what would you advise to connect to a C64 (in terms of cables and modem software)?

+1  Posted by FozzTexx • Feb.16.2014 at 16.16 • Reply

You can get an old RS232 cartridge, or another option is to get a 64NIC+ which can connect to Ethernet. I have the 64NIC+ and it's very cool being able to telnet out. The downside is that it requires special software that knows how to talk to it.

+1  Posted by Ayman Mikhail • May.15.2014 at 04.28 • Reply

Will a VT-100 Terminal Emulator disk for Apple IIe work for this?

+1  Posted by FozzTexx • May.15.2014 at 04.48 • Reply

Yes, but you'll also need a serial card in a IIe.

+1  Posted by Ayman Mikhail • May.16.2014 at 07.05 • Reply

Apple Super Serial Card? I have everything described above. Tcpser installed on Raspberry Pi, null modem and USB to serial adapter. When I enter tcpser -s 19200 -d /dev/ttyUSB0 in the Raspberry Pi it doesn't crash but it only goes to next line and nothing. I have 2 Apple IIe's .. with the terminal emulator, one comes to a asterisk (*) prompt .. and the other "Go..." without the quotes and nothing else. Is there anyway I can send you snapshots of what I see?

+1  Posted by FozzTexx • May.16.2014 at 13.44 • Reply

There won't be any output from tcpser on the Raspberry Pi, you'll only see results on the computer connected via serial when typing modem commands. Are you sure you have the correct cabling? Do you have the SSC jumpered correctly?

You can send me screenshots through Twitter or Google+, see the links at the very top of the page.

+1  Posted by layth118 • Jun.24.2016 at 22.44 • Reply

What terminal emulation software should I use?

+1  Posted by Chris • Aug.27.2016 at 21.12 • Reply

i have noticed that using tcpser allows me to connect to BBS with no issues, but when it comes to file transfers they do not succeed. I am using the latest tcpser on a Raspberry Pi3

+1  Posted by FozzTexx • Aug.27.2016 at 21.15 • Reply

It sounds like you are using a 7 bit connection but trying to do an 8 bit transfer. If your computer is using even/odd/mark parity then you have a 7 bit data path and you can't use xmodem/ymodem/zmodem.

+1  Posted by Chris • Aug.27.2016 at 21.12 • Reply

File transfers will error out until they get cancelled.

+1  Posted by tom • May.19.2020 at 13.47 • Reply

Is there a way to have TCPSER run as a background task on startup?