This is an implementation of the 1968 DEC PDP-8/I on
a Xilinx Zynq, a FPGA controller with an ARM CPU.
Built on the PiDP-8/I Console by Oscar Vermeulen,
it acts as a replacement for the Raspberry Pi approach.
Drawback of the Raspberry Pi + Linux + SIMH approach:
- Inaccurate Simulation : Doesn't allow for single stepping
- Long Boot Times : Linux takes a few seconds to boot and start SIMH
- Dangerous Shutdown : In the default Raspberry Pi setup, Linux needs a proper shutdown to avoid corrupting the file system
The SoCDP8 implements the PDP-8/I in VHDL, targeting FPGAs.
The system is modeled exactly as described in the
Maintenance Manual and Engineering Drawings.
The manual is treated as the project specification, registers
and signals are named as described in the book and register
transfers are modeled as specified in the drawings.
Peripherals are implemented on the ARM CPU on the SoC.
This makes device implementation such as the teletype fairly easy.
Code for peripherals can access the onboard
SD Card to retrieve tapes, disk images, ..
When connected to the Ethernet / WiFi, the system, including
its peripherals, can be controlled with a Web Browser.
-
Implementing the system as close as possible to the original specifications.
-
Providing a simple replacement for the Raspberry Pi,
ideally the project runs on a SoC board that snaps into
the PiDP-8/I Console in the same way the Pi does. -
Have it be operable through a browser using
a web socket connection between a web server
on the ARM and the PDP-8 on the FPGA.
The project currently only targets the Zynq board
and utilizes the Pynq-Z2 for development only.
Board | |
---|---|
ZynqBerry | Xilinx Zynq 7010 - 130€ | Good Availability - Raspberry Pi form factor - No free GPIO pins - Has the smallest Zynq |
Pynq-Z2 | Xilinx Zynq 7020 132€ | Good Availability - Raspberry Pi Connectors - Spare GPIO pins, such as a PMOD pin, useful for sensors - Switches, buttons, LEDs - Requires a ribbon cable to fit in the PiDP-8/I box |
Board | |
---|---|
DE0-Nano-SoC | Altera Cyclone V - 125€ | International Shipping - Incompatible 40 pin connector, requires adapter. - Many free GPIO pins - Switches, buttons, LEDs |
- Base System
- Timesharing
- Data Breaks
- Interrupts
- EAE
- I/O
These features pass the MAINDEC tests and
can be loaded using the RIM / BIN loaders.
Focal69
TSS/8
OS/8
Implemented in software with only basic functionality.
To have the PiDP-8/I work with the Zynq boards,
unfortunately a little modification had to be made.
The 1KΩ
resistors had to be replaced by 220Ω
ones
to support the pullup resistance of the Zynq drivers.
Thankfully, 220Ω
is compatible with the Raspberry Pi as well so these resistors also support the original system.