This page describes the process of setting up an interface between SIMH and SerialDisk, so that SIMH has read/write access to the same image files as SerialDisk serves up to a real PDP-8.
Most of what you need to do this is already set up in Kyle’s distribution of SerialDisk. I don’t recall exactly what changes that I’ve made to Kyle’s standard configuration. The notes below reflect the end-state of my system (which is tested and working).
Before starting on the process below, make sure you have already completed the following:
- You have SerialDisk installed and working reliably with a real PDP-8
- You have installed the patches necessary to load the system and non-system handlers in the SerialDisk images
- You have the SIMH PDP-8 simulator installed and working on the same Linux box as SerialDisk
I have set this up under Ubuntu 14.04, running under VirtualBox on a Windows laptop (Lenovo X1). I have not yet tried it on a RaspberryPi.
The main new item that you will need is a “pdp.ini” script that is customised to interface SIMH to work with SerialDisk.
Here is the file that I am currently using:
# Instructions: # Run 'pdp8' in this directory, and assuming socat and xterm are installed, # the server should start automatically and the system should boot. :starter SET ON ON OPENERR ON OPENERR GOTO telerr at ttix 2222;notelnet set ttox0 8b echo Starting socat... #! sleep 1 ! socat PTY,echo=0,link=ttyPDP TCP:localhost:2222 & echo Waiting for socat... ! sleep 4 echo Starting SerialDisk server... ! xterm -e "bash -c \"../server/os8disk -1 /media/sf_ubuntu-shared-folder/kyle-sd-packs/diagpack2.rk05 -2 /media/sf_ubuntu-shared-folder/kyle-sd-packs/pdp8-blank.rk05; exec bash\"" & ! sleep 5 echo Booting... l ../bootloader/bootloader.bin go :byebye detach ttix quit :telerr echo TTIX has not released port. Retrying now... ! sleep 2 goto starter
Now navigate to the directory ~/os8diskserver/SerialDisk/simh.
You need to do 3 things here:
- Edit the file disk.cfg. The top line (baud rate) and second line (stop bits) don’t matter much. Set these to 19200 and 1 respectively. The third line must say “ttyPDP” (without the quotation marks), for consistency with the content of the file pdp8.ini
- Insert a symbolic link called “pdp8” which links to “/home/[username]/simh/simh-master/BIN/pdp8”
- Insert the file “pdp8.ini”, the content of which is set out above
You’re now ready to run “./pdp8” from this directory. When you do, SIMH will start up. The start-up script will start “socat” (which forms a pseudo-serial port between SIMH and SerialDisk). After a short delay (to allow socat to start up), the SIMH script will then start SerialDisk.