Major Differences Between the Distributions
This software began as a series of improvements I made to Oscar Vermeulen's 2015.12.15 software release. For the first several months of this software distribution's lifetime, it was considered an alternative to Oscar's stable version, but as of May 2017, Oscar now considers this to be the current stable version.
You can consider the rest of this document a migration guide for users who are coming from Oscar's prior stable release. It may also be of use while reading through older messages on the mailing list, since they often give commands that differ under this version of the software.
This document ignores pure enhancements, bug fixes, and other things which do not change how the user interacts with the software from this site as compared with Oscar's prior stable version. If you want a detailed user-focused list of changes since that version, see the ChangeLog. For the low-level blow-by-blow, see the project timeline.
Build and Installation
The prior stable version has a fairly involved manual build and installation process, whereas my version installs like any other Linux source code release:
./configure && make && sudo make install. It's a tradeoff: my version is more complicated under the hood in order to be more automatic.
This means any references you find to
cd scanswitch ; make or to
sudo install/pidp8-setup-default.sh do not apply to this version of the software.
This software distribution builds and installs several files in different locations than the prior stable version. The mapping is:
|Prior Name||What It Is||Current Name|
||script to [re]enter the simulator from the command line||
||modified SimH simulator for the PiDP-8/I panel||
||panel LED and switch test program by Paul R. Bernard, posted to mailing list||
||init script used on boot to start the software||
||default installation location (a.k.a. $prefix)||
||helper program for the simulator startup script||
||scripts that tell the simulator how to start up given different IF switch combinations||
||binary paper tape images, disk images, and such||
I added an
i to some of these names for two reasons:
It was useful during the transition period so that both versions of the software could be installed on the same system without conflicts.
I decided that it was unlikely that we will ever see a follow-on project for a different PDP-8 front panel, or if we do, it will be different enough that it won't use this software directly, so the paths and program names might as well be named after the only hardware it does work with, the PiDP-8/I.
The files now under the
share subdirectory were moved to conform to the Linux Filesystem Hierarchy Standard, so that experienced Linux users would be more likely to guess their location.
The reason for the
scanswitch relocation is that there is no reason for end users to run it directly, so it's better off out of the user's
PATH. That is also why I haven't bothered to rename it to something like
pidp8i-scanswitch. There is a plan to merge this program with
pidp8i-test, which if done will mean
scanswitch goes away.
The PiDP-8/I Service
The way you start, stop, restart, and query the background simulator service has changed. See the top-level
README.md file for details.
Running Both Versions Side-by-Side
It is possible to run both the current PiDP-8/I software from this web site alongside Oscar's last stable release. They can't run simultaneously, since they'd fight over the front panel GPIO pins, but you can swap between them at will, without either interfering with the other, due to the file naming and service differences lined out above.
To switch back from my version to the prior stable version, say:
$ systemctl --user stop pidp8i $ sudo systemctl start pidp8
And then to switch back to my version:
$ sudo systemctl stop pidp8 $ systemctl --user start pidp8i
The prior stable version was essentially fixed in place in the filesystem. Its source code had to be unpacked into
/opt/pidp8 and run from there to work correctly.
This current software can be unpacked anywhere in the filesystem, you can build it into a second directory separate from the source directory, and you can install it to yet a third directory. This affords considerable flexibility in how you build and install this software.
This software also doesn't overwrite your binary media on re-installation: whenever we ship a change to one of the paper tape images, DECtape images, disk images, etc., upgrading to that release only gets you a copy of the new media in the source tree; those new versions do not overwrite your local copies in the installation tree, since they may contain local changes. With the prior stable version, since the build and installation locations were the same, upgrading would always overwrite your local media images. See the "Overwriting the Local Simulator Setup" section of the
README.md file for more on this topic.
Incandescent Lamp Simulator
When you build this software on a multi-core Pi, the default is to build the PiDP-8/I simulator with the incandescent lamp simulator (ILS) enabled, as opposed to the original LED driving code which is more efficient but less period-accurate in appearance. On single-core Pis, we build the software to drive the LEDs in much the same way as the prior stable version does, because the ILS takes too much CPU to run both it and the PDP-8 simulator at the same time on a single 700 MHz ARM core. You can force a return to the old efficient method on a multi-core Pi by configuring the software with the
Runs on More OSes
The PiDP-8/I software now builds and runs on more OS types than did Oscar's last release, which was pretty much tied to Raspbian and close relatives like pipaOS. Full details on this are covered elsewhere.
Front Panel Switch Combos
Several of the PiDP-8/I specific front-panel switch combos are different:
Startnow reboots the host Pi, rather than power it down, because "Start" makes more sense as a mnemonic for "restart."
Stopnow powers the host Pi down.
Contused to reboot the host Pi, but is currently unassigned.
Load_Addused to mount the USB stick, but that is unnecessary, since the software now uses Raspbian's USB automounter.
Depused to unmount the USB stick, but that is unnecessary in this instance since USB sticks are primarily used to emulate paper tapes, which are read-only media. You don't have to unmount the stick before unplugging it in order to avoid filesystem corruption in instances like this.
DF=7changed from looking for a
*.rlfile to mount as an RL01 disk pack image to expecting an
*.rkfile and mounting it on the second
RK05disk drive. The RL series drives postdates the PDP-8/I by many years, and the stock OS/8 configuration ships as an RK05 image that mounts on the first drive, so this new meaning feels more appropriate on many axes. The other
DFsettings retain their stock meanings.
Copyright © 2017-2018 by Warren Young. This document is licensed under the terms of the SIMH license.