Last night I started an attempt to connect to my BBS via an arduino mega. The first step was to get the second serial port on the SIO/2 module to communicate with the arduino so the arduino could communicate with the computer. I connected the RX and TX pins to the TX1 and RX1 of the mega respectivley and the ground to the ground. I then uploaded a simple sketch that would relay data from serial1 of the mega to serial0.

It didn’t work. I didn’t have a terminal capable of talking to the SIO/2 chip and had no idea where to find one.

The retro-comp google group came to the rescue with QTerm which had been modified to work with the SIO/2, once I had that it worked - almost first go. I did have to adjust the baud rate between the computer and the mega, as having it on 115200BPS resulted in dropped characters.

The next step was to install tcpser which acts like a modem, but instead you give it telnet addresses instead of phone numbers. Here it is all working:

Connected!

You can see the main menu of the BBS on the TV, which is connected to the Pi Serial Terminal of the RC2014. The laptop is connected to the mega and is running tcpser.

Here is the arduino sketch:

void setup() {
  // put your setup code here, to run once:
  Serial.begin(38400);
  Serial1.begin(115200);
  
}

void loop() {
  // put your main code here, to run repeatedly:
 // read from port 1, send to port 0:
 int count = Serial1.available();
  while (count--) {
    int inByte = Serial1.read();
    Serial.write(inByte);
  }

  // read from port 0, send to port 1:
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.write(inByte);
    Serial1.flush();
  }
}

This sketch was taken from the arduino website, but I modified it a bit. I added the count loop and the flush, I’m not sure if it’s necessary or not as I was experimenting when I was losing characters.