SerialDisk Operational Notes

I use Kyle Owen’s excellent SerialDisk software to run OS/8 on my PDP-8/e.

This page sets out my notes relating to the ongoing care and maintenance of my existing SerialDisk setup. It does not explain how to initially setup SerialDisk.

Configuration information

SerialDisk is installed on a Raspberry Pi 2 Model B fitted with a WiFi dongle.

My router allocates it the IP address 192.168.2.154 via DHCP.

When the RPi boots up, the IP address is displayed towards the end of the boot-up messages.

The login credentials for the RPi are: pi / raspberry.

The RPi’s hostname is rpi-sd.

For command-line access, connect to the RPi via SSH using PuTTY.

To copy files to/from the RPi, I use WinSCP.

Cautions and limitations – Please read !!

Although RK05 images are used by SerialDisk, OS/8 cannot “see” them as RK05 disks. SerialDisk relies on modifying the disk handlers so that it can read and write to these images.

The three disk images that I am using have been patched to use the “system handler” and “non-system handler” required for SerialDisk, using the instructions and handler code provided by Kyle Owen. Accordingly they will no longer work as RK05 images. These images however have not been “fully patched”, so commands like PIP and RESORC will apparently NOT work correctly. I hope to fix this in the near future.

When using a KL8E (M8650) configured for 38,400 or 230,400 baud and 1 stop bit, I do not recommend setting SerialDisk (on the RPi) for 1 stop bit (by putting 0 in the second line of the file disk.cfg). Twice this has resulted in my first disk image (SDA0) being corrupted on boot up. For some reason SerialDisk thinks that it is being asked to write to the disk image, rather than read from it. This is apparent from the SerialDisk status messages that appear on the RPi’s console display. By instead setting the number of stop bits to 2 on the RPi (by putting 1 in the second line of the file disk.cfg), I have had no further issues. I leave the KL8E set to 1 stop bit.

Disk images

SerialDisk can serve up 2 disk images, for a total of 4 devices. The first disk image is the “System Disk” and appears as devices SDA0 and SDB0. The second disk image is the “Second Disk” and appears as devices SDA1 and SDB1.

A collection of PDP-8 RK05 images is available here on David Gesswein’s website. I am making use of diagpack2.rk05 and disk-games-kermit.rk05. Click on the links shown here for a listing and description of the files on those images.

To use an RK05 image as the “System Disk” it must be modified (using the instructions provided by Kyle Owen) to install the “system handler” and the “non-system handler” necessary to make it work with SerialDisk. However, you can mount an un-modified RK05 image as the “Second Disk” in SerialDisk without needing to modify it.

I have fitted a 3-position switch to the RPi, wired to the GPIO pins, to select the disk images that are used by SerialDisk. The 3-way switch is read by the Python script /home/pi/startserialdisk.py. It is read only once (at startup), so changing the switch position once SerialDisk is running will have no effect.

The disk images served up by SerialDisk are as follows:

Switch Position System Disk
(SDA0 & SDB0)
Second Disk
(SDA1 & SDB1)
1 (top) diagpack2.rk05 scratch-pack.rk05
2 (centre) diag-games-kermit.rk05 scratch-pack.rk05
3 (bottom) scratch-pack.rk05 diag-games-kermit.rk05

 

The directory listing of the disk images is available below:

diagpack2.rk05: Side-A Side-B

diag-games-kermit.rk05: Side-A Side-B

Useful commands

To view the name of the virtual disk file(s) served up by SerialDisk:

pi@rpi-sd:~ $ cat startserialdisk.py

To view the serial interface parameters used by SerialDisk:

pi@rpi-sd:~ $ cat os8diskserver/SerialDisk/server/disk.cfg

To view available USB-to-RS232 interfaces:

pi@rpi-sd:~ $ ls -l /dev/ttyUSB*

To view current USB-to-RS232 parameters:

pi@rpi-sd:~ $ stty -F /dev/ttyUSB0

To view the network settings and IP address of the WiFi adapter:

pi@rpi-sd:~ $ ifconfig wlan0

To view the wireless access points that are currently in range:

pi@rpi-sd:~ $ sudo iwlist wlan0 scan

To view the WiFi access points that the RPi will attempt to connect to:

pi@rpi-sd:~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf

To view the hostname currently in use by the RPi. This is useful if you want to access the RPi by hostname over SSH using PuTTY (but note that the RPi will need to have the samba package installed. See below for details about how to do this):

pi@rpi-sd:~ $ hostname

To change the hostname you need to edit two files. The first file should have just the hostname in it. The second file will have the hostname to the right of text that says “127.0.0.1” (the local loopback address). Here are the commands needed to edit the two files (use CTRL-X then Y to save and exit):

pi@rpi-sd:~ $ sudo nano /etc/hostname
pi@rpi-sd:~ $ sudo nano /etc/hosts

To install samba, so that the RPi will be visible to a Windows machine using just the RPi’s hostname. Note that no configuration of samba is required for this to work:

pi@rpi-sd:~ $ sudo apt-get update
pi@rpi-sd:~ $ sudo apt-get install samba