Jump to content

SIO2PI -> ATARI as a terminal for a Raspberry Pi (visiting BBS)


Recommended Posts

I'm so glad I managed to setup the Raspberry Pi and the ATARI, so I was able to use the ATARI as a terminal for the Raspberry Pi, so I want to share it with you all :)


post-29824-0-98080800-1456083762_thumb.jpg post-29824-0-15389300-1456083771_thumb.jpg


Actually I already played with the RPI 3 years ago. I used the Raspberry Pi and its serial port (/dev/ttyAMA0) for a floppy emulation with AspeQt.

Today it still works and it is even easier with the RespeQt (because the hardware handshake is not necessary anymore):



However the serial port of the Raspberry Pi can also be used to remotely work on the Raspberry Pi and even to visit BBS.

It is not a new topic to use ATARI as a terminal to a Linux machine, but Raspberry Pi makes it more attractive to the community I hope.


All what you need to do is:

1) Prepare a SIO2PI cable (see http://atariage.com/forums/topic/209010-sio2pi-raspberry-pi-as-a-floppy/?do=findComment&comment=2698490)

2) Prepare a SD card with the Raspbian Jessie

3) Start the Raspberry Pi and remove all references to ttyAMA0 from the /boot/cmdline.txt file (create a backup of this file first)

4) Enable the console for the serial port (this is probably anyway a default setting):

sudo systemctl enable serial-getty@ttyAMA0.service

5) Restart the Raspberry Pi

6a) Load the ICE-T terminal software on the ATARI (with RespeQt using SIO2PI or SIO2PC/USB or from any other device like SIO2SD)

6b) If you have less than 128kB RAM load the BobTerm instead

7) Enjoy


Here are the ATR Images with the ATARI terminal Software:

ICE-T 2.80 alpha 7 icet.atr (load RS232.COM first and then ICET.COM)

BobTerm 1.23 bterm.atr

The trick here is to use the file based R: Handler, since the Raspberry Pi wil not provide the R: Handler as the Atari 850 would do.



Set the baud rate to 9600 (in the Atari terminal software). If you see initially strange characters on the screen in ICE-T, go to menu and select "reset terminal".


You may need to install the telnet client on the Raspberry Pi with:

sudo apt-get install telnet


If you like to use SIO2PI and RespeQt to load the terminal software to the ATARI, you have to first disable the serial console functinality for ttyAMA0 (before starting RespeQt):

sudo systemctl stop serial-getty@ttyAMA0.service

and restart it afterwards (after you close the RespeQt):

sudo systemctl start serial-getty@ttyAMA0.service


The default USER / PASSWORD on the Raspberry Pi are: pi / raspberry


Raspberry expects a VT100 compatible terminal and uses ASCII coding.




  • Like 5
Link to comment
Share on other sites

I think, it is possible. I'm not that familiar wit Debian, but I will try to find it out.

The currect Debian version (Jessie) uses per default systemd for a startup management.


There is an article about it:



By the way - I was wrong saying that Raspberry expects a VT100 compatible terminal.

It expects whatever is exported in a variable TERM and I just checked and it was set to xterm on my RPI.

Link to comment
Share on other sites

I wonder of the same things could be done with SIO2BT?


I got it running :)

The assumption is that the Bluetooth devices are already paired (if not look here).


Open two terminal windows.

In the first window type in:


sudo rfcomm connect /dev/rfcomm0 98:D3:31:B0:95:A7


(of course replace the Bluetooth address with the address of your SIO2BT module)

This should open a Bluetooth connection, so the LED should stop blinking.


In the second window type in:


sudo agetty 19200 rfcomm0 vt102


That's all.

Remember to set 19200 baudrate in the Atari terminal software.

Link to comment
Share on other sites

There is a file serial-getty@.service (located in /lib/systemd/system folder) with the configuration for serial consoles.

Raspberry Pi cycles between 115200, 38400 and 9600 baud...


To use the ATARI as a terminal, it is recommended to edit the line:

ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM


ExecStart=-/sbin/agetty 19200 %I VT102


ExecStart=-/sbin/agetty 19200 %I VT520

(Ice-T supports VT102 emulation, and BobTerm VT520).


When we enabled ttyAMA0 (sudo systemctl enable serial-getty@ttyAMA0.service) and connected RPI serial port to the ATARI SIO (with SIO2PI, which is basically a NULL modem cable with a level shifter),

then the Raspberry PI can be operated fully from the ATARI (no extra keyboard/display needs to be connected to the RPI).

Remember to set 19200 baudrate in the Atari terminal software.

Edited by TheMontezuma
Link to comment
Share on other sites

I read a very interesting thread about Ice-T terminal.

As recommended:


Linux shell users please set the TERM environment variable to 'vt102' or 'ansi' and set the Emulation setting to VT-102 or ANSI-BBS accordingly. Emacs will enable colors in ANSI mode but is very pedantic on the emulation setting.


I tried out the terminal settings: ansi.

Wow! This is a great terminal software. Look at that:




Please use the following settings in Raspberry Pi:


1) as mentioned in the above post in serial-getty@.service

ExecStart=-/sbin/agetty 19200 %I ansi

2) or for Bluetooth connection

sudo agetty 19200 rfcomm0 ansi

and of course in the Ice-T settings.


I was not aware that Ice-T loads automatically a file RS232.COM (if available and it is availabe in the atr file, which I uploaded above), so it is enough to load icet.com from MyDos menu.

I also learned, that if you change the extension of a file to arX (where X is 0..9), then MyDos will start that file automatically.

So I did it for Ice-T:


The Ice-T will now be started automatically :)


One more remark regarding the level shifter (SIO2PI adapter), you can have it for $1.30 at E-Bay

Two lines are enough to build a NULL modem cable, just connect SIO DATA OUT to RxD at RPI and SIO DATA IN to TxD on RPI (of course GND and VCC have to be connected as well).


I played also a little bit with the BobTerm, but it does not work so well. I really recommend Ice-T to everybody.

Kudos to itaych (Itay Chamiel) !!! Great work!


Link to comment
Share on other sites

So I gather there might be some kind of language translation issue here, or perhaps I don't get what's going on, but if one already has an SIO2USB device, isn't it possible to use a Unix pipe to simply "divert" the data from an existing USB interface through to the serial terminal?

Link to comment
Share on other sites

So I gather there might be some kind of language translation issue here, or perhaps I don't get what's going on, but if one already has an SIO2USB device, isn't it possible to use a Unix pipe to simply "divert" the data from an existing USB interface through to the serial terminal?


I understand that you mean the USB version of the SIO2PC cable (I use to call it SIO2PC/USB) and not the SIO2USB device.


If this is this what you are asking:

"Can I use the SIO2PC/USB cable instead of the SIO2PI (a null modem cable with a level shifter, which is connected to the Raspberry PI serial port)?"

Then the answer is: yes, you can :)


You only need to type in (only once) the following commands in the Raspberry Pi terminal window:

ln -s /lib/systemd/system/serial-getty@.service serial-getty@ttyUSB0.service
sudo systemctl enable serial-getty@ttyUSB0.service

your "virtual" serial port (ttyUSB0) will now automatically accept a serial terminal connected to it.


Do also the modification of the serial-getty@.service file (located in /lib/systemd/system folder):


ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM


ExecStart=-/sbin/agetty 19200 %I ansi

You need to load somehow Ice-T terminal software to the ATARI (for example with SIO2SD).

Then you can connect the Raspberry Pi with the ATARI with your SIO2PC/USB cable and power on the RPI (without extra display/keyboard etc.). You will fully control your RPI from the ATARI.


Note, that if you want to run RespeQt on the Raspberry Pi with SIO2PC/USB and you enabled the getty service for ttyUSB0, then you need to stop it before starting RespeQt:

sudo systemctl stop serial-getty@ttyUSB0.service

Have fun :)

Edited by TheMontezuma
Link to comment
Share on other sites

Some more experience with Ice-T:


Starting Ice-T from an external harddrive like MY IDE II / SIDE2 / KMK IDE let you perform disk operation (from Ice-T), which is very cool.


To start the Ice-T from the external "Harddrive", you should copy the files from the ATR image to a MyDos or a Sparta DOS partition and rename the ICET.AR0 back to ICET.COM.

For MyDos: if RS232.COM and ICET.COM files are in the same directory, ICE-T will load RS232.COM automatically when we load ICET.COM.


To use ICE-T with RPI under Sparta Dos, first rename the RS232.COM back to RVERTER.COM and start the Handler and Terminal with the following commands:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...