top of page

Recommended: Gigatron

a computer w/o a microprocessor

7120711513027485198.jpg

PiDP-10: RECREATING THE PDP-10 AT THE MIT AI LAB

This page is work in progress - to be completed in March

 

For now, just download the user manual for an up-to-date impression. It also contains a step-by-step walkthrough of an ITS user session, showing you some of the best games and programs.

 

The text below will soon be updated with the content of the user manual, it is not at all up to date with how the PiDP-10 presents itself since all the software updates were put in! Once we have some oxygen left, this page will fill up quickly with the new content.

The text below will soon be upated from the content of the user manual, it is not at all up to date with how the PiDP-10 presents itself since all the software updates were put in! Once we have some oxygen left, this page will fill up quickly with the new content.

turist2.png

Using ITS

​

This section is work-in-progress. But the following will get you started, it will be completed in a week or two so please check back:

​

Also, look for a more conceptual 'what to do with my mainframe today' here (link) on the more general pidp.net overview site. As I said, it's all WIP at the moment (March 2024).

​

Booting up

​

The normal way: set switch SR 35 (that is the bottom-rightmost switch on the front panel), and no other switches. Power up the PiDP-10.

​

Unnecessary details: because a PDP-10 has core memory, which remains intact after a power-down, there is a running lights program still left in memory. The simulator has done you a favour by already hitting RESET, toggling in the start address 1000, and hitting START for you. It has also put the bootstrap in the paper tape reader. So all you need to do is press READ IN, which triggers the PDP-10 to load the tape. If you resent all this helpfulness, modify the /opt/pidp10/systems/its/boot.ini script and you can do it all manually next time.

​

Once you see the quick running lights on the front panel, press READ IN to load and run the bootstrap from paper tape.

​

The PDP-10 had dedicated circuitry to make paper tape load and run. It is not simulator fakery!

​

Open up a window on the PDP-10 console port from the Linux shell: type 'pdp con'.

​

Make sure you lower the sound volume on your HDMI monitor (if you have one attached). Teletypes are noisy. If the noise is too much, the Mute button switches between typing with the hood open (loud), the hood closed (muffled), and fully muted (uncool). If the slowness gets to you, toggle the Fast button.

​

After some Teletype chatter, you see the Salvager program come up with the prompt 'DSKDMP'. There is more to Salvager than this (it can also load some stand-alone programs, including a spacewar version) but to boot from the ITS disks, type "ITS<return><esc>G".

​

Instead of pdp con, you can also enter pdp view, which brings up the left half of this screen shot. It is the default overview setup for the PiDP-10, although you're completely free to follow your own set-up using the command-line options of the pdp command. Those were actually used to fill up the right-half of the display.

​

​

A first look around

​

After a brief while, ITS reports itself. Hit CTRL-Z to get a login on the console Teletype if you want (you do not, normally). On the Linux shell, type 'pdp tvcon', to use one of these legendary graphics terminals. Press F1 to connect to the PDP-10. It is polite to log in (but not necessary), by typing ':login turist'.

​

Turist was the unflattering name for someone who is looking around on ITS. You don't have your own account, thus also no working directory. But there's no security in ITS, just go to someone else's directory. Later on, you don't want to be a Turist on your own mainframe: set up your own account, so you can use mail, have your own directory to work in, etc.

​

Type ':CWD LARS'. Lars has some nice demos. Type ':LISTF' to see the files in his directory. In the Linux shell, now type 'pdp type340', because it is time to have the graphics display in view.

​

Type ':LORENZ', and you see the strange attractors in action. To kill the program: ':KILL'.

Type ':MINSKY', and use the front panel switches to influence the patterns. ':KILL' again.

​

Go to the Shrdlu AI demo's directory with ':CWD SHRDLU', and run ':TWDEMO', follow the instructions. Kill with ':KILL'.

​

Do ':CWD GAMES', then ':ADVENT'. You are in a cave. Quit graciously with QUIT, or ungraciously with CTRL-Z and then ':KILL'.

​

Enough gaming. Do ':PEEK' for the system monitor, enable its graphics mode with ...

​

To be continued, work continues daily at the moment (March 2024)

​

Shutting Down

​

Type ':LOCK' and hit return. Then, '5down', Y, CTRL-C. Hit return, and type ':LOGOUT' in case you had indeed properly logged in at the beginning. Wait until you are in the DDT/Z debugger. Now you are done. On the linux command line, you can power down the PDP-10 with 'pdpcontrol stop'. No surprise, 'pdpcontrol start' will bring you back.​

​

​

More - as this is WIP

​

​

Have a look at my first blog post from seven years ago, about the ITS reconstruction project and what it really did. Pretty bad - written after my first encounter with the project - but still useful to get an impression of what it is. Although playing with the ITS project's setup is now much, much more user-friendly than it was in 2018:

https://obsolescenceguaranteed.blogspot.com/2020/02/a-turists-guide-to-its.html

​

Also, see the links at the bottom of this page for more!

​

screen-shot.png
PDP-1040.jpg

PiDP-10 Software Install

​

See the Building Instructions for this. Basically, download from Github, run the install script.

​

​

PiDP-10 (virtual) Hardware Management​

 

The PiDP-10 remains usable as a regular Pi. The PDP-10 simulator engine runs hidden in the background.

Two commands control the PDP-10:

  • pdpcontrol: used to start, stop, check the PDP-10 simulator. Commands:​​

  • pdp: used to access the PDP-10 in daily life, start terminal simulations and other various hardware.

​

​

pdpcontrol

​

You will normally not need to use pdpcontrol, it's handled automatically. But if you wish:

​

pdpcontrol start 

Starts the PDP-10 simulator, which reads the rightmost 3 switches on the bottom row on the front panel to decide which hardware configuration should be started up. Leave then off to form the number 0 to boot into Blinky; set the rightmost switch (SR 35) to form the number 1, to boot into ITS, or SR34 to form the number 2, to boot into TOPS-10.

​

pdpcontrol start <boot number>

This will ignore the switches and just force booting into boot option 0,1 or 2. Use this if you have a Naked Pi, i.e., without the PiDP-10 hardware.

​

pdpcontrol stop

Stops the simulator. You are supposed to shut down ITS or TOPS-10 before, it they are running. Although, if you booted into ITS but have not yet typed ITS (esc) G, no harm can come from a simulator stop.

​

pdpcontrol stat / pdpcontrol status

Just shows you if the simulator is up; and what virtual screen it is attached to.

​

If you want a better understanding of how the PiDP-10 software works, have a look at the underlying /opt/pidp10/bin/pdpcontrol.sh script that does all this. It will demistify the workings of the PiDP-10 for you.

​

​

pdp

​

pdp is just a handy command to start up terminals (or any other AI Lab hardware connected to the PDP-10).

​

pdp

Not normally useful. But used to look at the simulator, if you are curious or if something is not right. Also, press CTRL-E to stop the simulator; now you can use its command line to configure hardware, do quick assembly, inspect the CPU registers, check and modify memory, use its built-in debugger, etc. It's powerful! Read the general simh manual (link) and the PDP-10/KA10 specific one (link) for more details.

  • After CTRL-E to do whatever you want on the command line, type 'cont' to continue running.

  • Leave by typing CTRL-A followed by the letter d. Google for the linux 'screen' utility for many more options.

​

pdp con or pdp telcon

This gives you access to the PDP-10 system console. Which normally was a nasty Teletype Model 33 clattering away. Use "pdp con" to get the noise and slowness, or pdp telcon to reroute the console to a more pleasant telnet connection. Your choice.

Booting ITS: You must use pdp (tel)con in the boot process. If it prints DSKDMP, type 'ITS<return><esc>G. After that, you could log in and use ITS as a regular user (CTRL-Z), but why would you? Use a proper terminal, see below.

​

pdp vt52, pdp vt05, pdp dp3300, pdp imlac, pdp tek

These start up the various terminal simulators. Type CTRL-Z to make them log in to ITS. It is elegant to do :logout when you're done, and the graceful way to leave is CTRL-], quit. Just closing the windows is OK though. The Imlac, just so you know, is not really just a terminal, it is a computer in its own right. Hackable.

​

pdp tv11

This starts up a PDP-11 simulator with the Knight TV terminal system. This PDP-11 shares memory with the PDP-10, and once it is running, you can use pdp tvcon to connect a simulated Knight TV terminal that plugs in to it.

​

pdp tvcon

Starts a Knight TV terminal simulator. Knight TV terminals were the default way for students to get a terminal into ITS, in fact. Logging in to ITS is done by pressing F1 rather than Ctrl-Z.

​

pdp tv11-tty

Starts the Teletype console on the TV11/PDP-11. Although this PDP-11 was used for the Knight TV terminals, it can be hacked for any other purpose on this Teletype.

​

pdp gt40

This starts up the GT40, a PDP-11 with graphics display, hooked up to the PDP-10. Used for graphical logo and many other things.

​

pdp type340

This enables the main 'Type 340' graphics display on the PDP-10. Fun with graphics demos, the graphics mode of the peek system monitor, and many other things.

​

pdp pdp6

Not for the faint of heart, but source of great hacking satisfaction. And because the PDP-6 has its own Type 30 graphics display, the PDP-6 can be used to play its own version of spacewar whilst leaving the PDP-10 free for more important Business. Next to the simulated Type 30 display, this also opens up the virtual Blinkenlights control panel window for the PDP-6. More Blinkenlights to enjoy!

​

pdp pdp6-tty

Opens up the Teletype connected to the PDP-6's system console port.

​

The PiDP-10 system software is still under development. More hardware will be added soon. For instance, the IMP router and XGP printer. It is useful to look at /opt/pidp10/bin/pdp.sh (which is behind the pdp command) to see how the individual simulators can be run on their own. You don't necessarily need the pdp wrapper for them! It will demistify the software setup for you. 

Links​

 

The go-to for any in-depth information about ITS and the replicated AI Lab hardware is Lars Brinkhoff's site:

https://github.com/PDP-10/its

​

A more accessible ITS manual for starters can be found here:

https://github.com/larsbrinkhoff/its-manual/wiki

​

The SDF has run an ITS Bootcamp, and might do so again. They also have an online ITS system to login to:

https://sdf.org/its/

​

Huge amounts of books and manuals from DEC can be found at Bitsavers. Endless reading:

https://bitsavers.org/pdf/dec/pdp10/

​

My first blog post from seven years ago, about the ITS reconstruction project and what it really did. Pretty bad - written after my first encounter with the project - but still useful to get an impression of what it is. Although playing with the ITS project's setup is now much, much more user-friendly than it was in 2018:

https://obsolescenceguaranteed.blogspot.com/2020/02/a-turists-guide-to-its.html

bottom of page