PiDP-8/I Software

Artifact [f2f686fc82]
Log In

Artifact f2f686fc821b50b7ec83549094f8c78ca52156d2:

Wiki page [Home] by tangent 2017-09-18 05:16:06.
D 2017-09-18T05:16:06.291
L Home
N text/x-markdown
P f8a8da8ea49f5f4d70153436c9db2134d75c6d19
U tangent
W 10578
# What It Is

This repository is the current [official](https://groups.google.com/d/msg/pidp-8/VXt914aAttg/E6ECG0KLCAAJ) PiDP-8/I software development nexus. Here we continue development of the software from the last stable version published on the [project site](http://obsolescence.wixsite.com/obsolescence/pidp-8-details). This software differs in [several major ways](/wiki?name=Major+Differences) from that prior stable release.

The release versions available from this site are "stable" in the sense that they represent a coherent new version of the software and they are no longer changing in major ways, as they did in the first months of development.


# <a name="src"></a>Getting Started: Source Code

The efficient method to get started is to install this software into an existing [Raspbian](https://www.raspberrypi.org/downloads/raspbian/) installation on the Pi which you are using with the PiDP-8/I board.

You can download the latest release — cut on 2017.04.04 — as [a Zip archive](/zip/pidp8i-v20170404.zip?uuid=release) or [a tarball](/tarball/pidp8i-v20170404.tar.gz?uuid=release). (About **5 MB** each.)

See [the `README.md` file](/doc/trunk/README.md) for more information on how to install this into your OS.


# <a name="bosi"></a>Getting Started: Binary OS Images

Those with plenty of Internet bandwidth and a micro SD card they don't mind overwriting may prefer to download the software hosted here in binary OS image form. There are two versions, each based on Raspbian Jessie Lite and each roughly **400 MB**:

1. [Multi-core version](https://tangentsoft.com/dl/pidp8i-2017.04.01-ils-jessie-lite.img.zip) — This OS image is built with the [incandescent lamp simulator](wiki?name=Incandescent+Lamp+Simulator) which only works properly on the multi-core Raspberry Pi 2 and 3 boards. (All models.)

    It takes about one and a half of the four available CPU cores on a Pi 2 or Pi 3 while running about *20&times;* faster than a real PDP-8/I.

2. [Single-core version](https://tangentsoft.com/dl/pidp8i-2017.04.04-nls-jessie-lite.img.zip) — For those running on Raspberry Pi Model A+ and B+ boards or the Pi Zero, this alternative download disables the ILS feature. It also slows the simulator down so it uses only about half the available CPU power to leave some host CPU power for background tasks. This allows it to run PDP-8 software roughly *3-4&times;* as fast as a real PDP-8/I, depending on the speed of the Pi you run it on.

    This image will also run on a multi-core Pi. It will run PDP-8 software slower than the ILS version, since it will also be affected by the intentional 50% CPU usage limit, but because each one of those cores are faster than a single-core Pi and the other cores can take the load of background tasks, it still manages to run PDP-8 software roughly *10&times;* faster than a real PDP-8/I.

See the [installation instructions](/doc/trunk/doc/OS-images.md) for more information.

The binary OS releases are not always updated when the source code releases are cut, since it is a fair amount of work to do those binary releases. Addressing that is the topic of the next section.


## <a name="updating"></a>Updating the Binary OS Release

As shipped, the binary OS images above also contain the PiDP-8/I software source code and Fossil, the tool that lets you download updated source code as it becomes available. Updating the software is therefore much simpler than downloading the whole OS all over again and overwriting your perfectly good SD card:

    $ cd ~/pidp8i
    $ fossil update
    $ make && sudo make install
    $ sudo systemctl restart pidp8i
    $ pidp8i

That should put you back into the PiDP-8/I simulator with the new code running.

I say "should" because the above process isn't foolproof. There are many situations where you'll need to dig deeper into the process:

*   the `make` process failed because of the changes made to the source code since the version you have locally

*   you want the binary OS media replaced as well as the PiDP-8/I software

*   you want updated simulator configuration files for the same reason

*   the prior software configuration wasn't exactly what you wanted

All of those situations and more are covered in [the `README.md` file](/doc/trunk/README.md).


# <a name="learning"></a>Learning More

### <a name="upstream"></a>Official Project Site

Much of the information on Oscar Vermeulen's [PiDP-8/I project site](http://obsolescence.wixsite.com/obsolescence/pidp-8) still applies to this distribution of the software for the PiDP-8/I.

The [main differences](/wiki?name=Major+Differences) largely boil down to file name changes. For example, in Oscar's article "[How to use the PiDP-8/I](http://obsolescence.wixsite.com/obsolescence/how-to-use-the-pidp-8)," the only difference I see in a quick skim is that you now have to type `pdp8i` at the Raspbian command line to attach your terminal to the PiDP-8/I simulator rather than `pdp.sh`.


### <a name="pdoc"></a>Project Documentation

This software project has its own documentation and tutorials, which I've collected here for convenience:

*   [The top-level README file](/doc/trunk/README.md) tells how to configure, build, and start using the PiDP-8/I software. It is not meant to replace the other resources available, only to give a fast-track guide to someone getting started. The primary bit of unique info it presents is documentation of the `configure` script flags.

*   One of those `configure` script flags is complicated enough to deserve its own document, [`--throttle`](/doc/trunk/README-throttle.md).

*   The [installation instructions](/doc/trunk/doc/OS-images.md) explain how to install the [binary OS images](#bosi) to an SD card and get started with it.

*   While building your PiDP-8/I, you may run into some trouble which can be diagnosed by the `pidp8i-test` program shipped with the software distribution and [documented here](/doc/trunk/doc/pidp8i-test.md).

*   [The project wiki](/wcontent) contains several tutorials, design documents, etc.

*   The project ships [several example programs](https://tangentsoft.com/pidp8i/file/examples) for those who want to learn to program the PDP-8. This is not meant to be a comprehensive tutorial, but more to help you bridge the gap in material meant for a real PDP-8, which won't talk about the superior methods we have for program input now: SIMH boot scripts, copy-paste via SSH, etc.

*   If you want to know what has changed in the software since Oscar Vermeulen's last release on 2015.12.15, see [the ChangeLog](https://tangentsoft.com/pidp8i/doc/trunk/ChangeLog.md).

*    If you would like to help contribute to the development of the PiDP-8/I software project, see "[Hacking on the PiDP-8/I Software](https://tangentsoft.com/pidp8i/doc/trunk/HACKERS.md)".

*   The KiCad [PiDP-8/I front panel schematic](/doc/trunk/hardware/pdp8i/schematic.pdf) was converted to PDF by Tony Hill. (400 kB)

*   Are you wondering who brought all of this software, hardware, and documentation to you? That is summarized in the project's [authors file](https://tangentsoft.com/pidp8i/doc/trunk/AUTHORS.md). Those pieces are included with the project under [a variety of licenses](https://tangentsoft.com/pidp8i/doc/trunk/COPYING.md).


### <a name="sdoc"></a>SIMH Documentation

The PiDP-8/I software project is based on [the actively-developed version of SIMH](https://github.com/simh/simh). (As opposed to the [old frozen SIMH 3.9 version](http://simh.trailing-edge.com/) which still comes up high in search results.) That project has its own documentation, but for convenience I've provided PDF versions of the relevant subset here:

*   [SIMH Main Manual](/uv/doc/simh/main.pdf) — If you're going to read or modify `boot/*.script`, or you want to give commands at the `sim>` prompt you get by pressing Ctrl-E from within the PiDP-8/I simulator, you need to read this manual.

*   [PDP-8 Simulator Manual](/uv/doc/simh/pdp8.pdf) — This addendum to the main SIMH manual covers the details specific to the PDP-8 simulator. (The main manual covers functionality common to all of the simulators bundled with SIMH.)

*   [SIMH FAQ](/uv/doc/simh/faq.pdf) — Frequently-asked questions about SIMH. (With answers!)


### <a name="rdoc"></a>Rare PDP-8 Documentation

While most of the information about the PDP-8 is widely available on the Internet and may thus be easily found [by Googling](https://www.google.com/search?q=pdp-8), we have a small number of documents here that are not so easy to come by, plus some links that don't seem to come up as high in Google searches as they ought to:

*   DEC's 1969 edition [System User's Guide](/uv/doc/pdp8i-sug.pdf) for the PDP-8 family computers, the pinnacle of which was the PDP-8/I at that time. DEC published many editions of this guide, and the newer versions come up far more frequently in web searches, but they're often not OCR'd (whereas this version is) and they tend to focus on the newer PDP-8 models which don't apply entirely to the PDP-8/I.

*   DEC's 1973 [Small Computer Handbook](https://archive.org/details/bitsavers_decpdp8hanHandbook1973_79671711), because when dealing with SIMH, you actually *want* documentation of the newer models of PDP-8, since SIMH simulates a fairly tricked-out late-model PDP-8; there is no easy way to restrict SIMH to support only the features that existed at the time of the PDP-8/I. For example, SIMH's PDP-8 simulator will process [mode B EAE instructions](http://homepage.divms.uiowa.edu/~jones/pdp8/refcard/74.html) introduced in the PDP-8/e, well after the PDP-8/I came out with its less functional EAE option.

    You may want to split the difference between these two documents and try to find a 1968 edition of the Small Computer Handbook. The closest I'm aware of online is the [1967 edition](http://bitsavers.org/pdf/dec/pdp8/handbooks/SmallComputerHandbook_67-68.pdf) which mentions the PDP-8/I inside, but shows the original PDP-8 "Straight Eight" and a PDP-8/S on the cover. I assume it was written while the PDP-8/I design was being finalized, so it may be fairly accurate, and it may be full of bugs; I couldn't say. I happen to have here a paper copy of the 1968 edition, which you can tell from the 1967 edition by the [yellow-green themed cover](https://tangentsoft.com/pidp8i/doc/trunk/doc/dec-sch-pdp8i-1968.jpg) (JPEG, 473&nbsp;kB) showing the standard rack-mounted and rare console version of the PDP-8/I.
Z 44194134ce27de4e47f57b18dbeb2466