Files

This page gives a short description of the files in the source distribution. ‘X’ in the filenames mark a wildcard, and files not mentioned are mostly test stuff, for a very specific purpose, or obsolete.

Source and data files
pdp11/
ChangeLog Short log of changes
LICENSE Your rights

Base components
cpu.vhd Source of the CPU
cpuregs.vhd CPU register file
fpuregs.vhd FP11 register file
cr.vhd Control registers - PSW, PIRQ, CER, etc
csdr.vhd Switch/Display register
kl11.vhd Serial line controller - KL11
kw11l.vhd KW11L Line clock
mmu.vhd Source of the Memory Management Unit
unibus.vhd Unibus - 'backplane' of the system

Bootstraps
m9312*-odt.mac DEC M9312 modified to accept lower case
m9312*-pdp2011.mac PDP2011 boot - boot RK, RL, or RP
m9312*-minc.mac Bootstrap for MINC systems

Disk controllers
rh11.vhd RH11/RH70 mass bus controller and RP/RM
rk11.vhd RK11 controller for upto 8 RK05 disks
rl11.vhd RL11 controller for upto 4 RL02 disks
sdspi.vhd Common SD card backend for the disk
controllers

Embedded terminal
ps2.vhd PS2 keyboard interface for terminal
vga.vhd VGA controller for terminal
vgacr.vhd VGA control registers for terminal
vgafont.vhd VGA controller font rom
vgafont.txt Font source
vt.vhd Terminal top level component
vtbr.mac Terminal microcode source

DEUNA Ethernet
xu.vhd DEUNA controller main source
xubm.vhd DEUNA-to-main memory busmaster
xubr.mac microcode (ENC424)
xubl.vhd spi busmaster (ENC424)
xubs.mac microcode (ENC28)
xubg.vhd spi busmaster (ENC28)
xu28m.vhd ENC28 constants element
xubw.mac microcode (ESP32)
xubf.vhd spi busmaster (ESP32)
xuesp/ ESP32 code

MINC
mncad.vhd MINC adc - frontend for adc hardware
mnckw.vhd MINC clock
mncaa.vhd MINC dac - frontend for dac hardware
mncdi.vhd MINC digital input
mncdo.vhd MINC digital output
ibv11*.vhd IBV11 GPIB interface
ibv11_e1.vhd IBV11 E1 capability: open drain
ibv11_e2.vhd IBV11 E2 capability: tri state

Board directories for current boards with PiDP-11
cons-c1k-basic/ Board directory for Trenz CYC1000 board
cons-c1k-rk/ CYC1000 board build variants
cons-c1k-rl/
cons-c1k-rh/
cons-c1k-rhxu/

cons-de0n-basic/ DE0-Nano with PiDP console

Board directories for MINC systems
minc-de10l/ DE10-Lite MINC setup
minc-de0n/ DE0-Nano MINC setup

Board directories (other Altera/Intel)
de0/ DE0 (*)
de0n/ DE0-Nano
de1/ DE1 (*)
de10l DE10-Lite
de1dram/ DE1 - DRAM version (*)
de2/ DE2 (**)
de270/ DE2-70

Board directories (Xilinx)
n2b1200/ Nexys-2 (*)
n3b/ Nexys-3 (*)
s3b1000/ Spartan-3, -1000 chip (***)
s3e500/ Spartan-3E (***)

(*) No longer maintained but should work,
but likely with limitations on model
and peripherals to fit the FPGA
(**) Not recently tested; I don't have
access to a board
(***) Obsolete, may not run current versions

Misc
Makefile Makefile for bootstraps and microcode
Models Quick reference of model differences
pdp2011.vhd Component declaration 'work library'
sdram.vhd Generic SD ram driver and clock generation
*.mem Templates for roms (M9312, vtbr, xubr)

Utilities
tools/ Macro-11, sdfmt, fontconvert
/INSTALL generic GNU autoconf/automake
/bootstrap run this script first to generate a
configure script for your system
/configure.ac autoconf input - see bootstrap
/dumpobj.c Macro-11 part
/genblkram.c Modified Macro-11 backend that generates
blockram formatted output
/license your rights - note Macro-11 copyright
/macro11.c Macro-11 main source
/sdfmt.c sdfmt - stuff RL sectors into SD Card
sector format
/vthidhost BT keyboard interface ESP32 project