PDP-8/L & DF32 disk on FPGA Oct 12, 2016
As final entry in this PDP-8 saga (for now), I’d like to present an FPGA implementation of a small but very functional setup by Ian Schofield of a PDP-8/L with serial console and a whopping 32-kiloword disk drive.
All available for $25K at the time (PDF).
Ian’s project is for the Cyclone III of an old’ish Nios II Embedded Evaluation Kit. Luckily, the DE0-Nano has enough on-chip BRAM memory to take its place. Since the DE0-Nano has no serial port, I had to hook up an extra FTDI-BUB to its I/O pins:
Here’s Altera Quartus’s synthesis summary:
And then the (old-fashioned) fun begins…
That’s it – the command prompt of DEC’s Disk Monitor System (PDF) for the PDP-8 series. DMS reserves the top two “pages” (i.e. 2x 128 words) in memory, and loads everything else on demand. You really have to be careful when total RAM is 4K words (in the PDP-8’s smallest configuration).
Here’s a directory listing:
.PIP *OPT-L *IN-S: FB=0015 NAME TYPE BLK AF PIP .SYS (0) 0025 EDIT.SYS (0) 0016 LOAD.SYS (0) 0011 .CD..SYS (0) 0007 PALD.SYS (0) 0037 DDT .SYS (0) 0002 .DDT.USER(0) 0022 .SYM.USER(0) 0022 FORT.SYS (0) 0010 .FT..SYS (0) 0035 .OS..SYS (0) 0025 FOSL.SYS (0) 0010 STBL.SYS (0) 0001 DIAG.SYS (0) 0004 TF .ASCII 0001 TX .FTC BIN 0001 FCL .SYS (0) 0037 *OPT- .
An editor, assembler (PALD), debugger, Fortran (!), Focal, and… 15 (octal?) disk blocks free, i.e. under 2 KB. Ouch …
Let’s look at that “TF” source code:
.PIP *OPT-A *OUT-T: * *IN-S:TF *C DO 10 I=1,10 TYPE 20,I 20 FORMAT(/,"HELLO:",I) 10 CONTINUE END *OPT-
Now let’s compile and run it:
.FORT *OUT-S:TX * *IN-S:TF * ^ *READY ^ HELLO: 1 HELLO: 2 HELLO: 3 HELLO: 4 HELLO: 5 HELLO: 6 HELLO: 7 HELLO: 8 HELLO: 9 HELLO: 10 ! .
Amazing. There’s even a way to dump this Fortran compiler’s internal symbol table:
.FORT *OUT- * *IN-S:TF * ^ .STBL 5230 7574 I 7576 0020 5212 0010 5226 ^ .
Now imagine consuming a thousand times more power, running the terminal I/O at a thousand times slower pace, having to accommodate a ginormous cupboard in the room, and hearing the (very loud!) sound of a rattling ASR-33 “teletype” all day – then you’ll have an idea of how computers were starting to invade the office in the 1960’s …
The PDP-8 was before my time, but I did get a chance once to play with one. It made a huge impression. And it made history!