Circuit-level PDP-11/34 emulator
This project unveils a remarkably detailed, circuit-level emulator for the vintage PDP-11/34A, meticulously reverse-engineered from original schematics and microcode. Its unique fidelity allows for the reproduction of hardware bugs and provides advanced debugging tools, appealing to deep technical enthusiasts and computer history buffs. The sheer dedication to accuracy and the comprehensive suite of features make it a standout example of hardware preservation.
The Lowdown
The ll-34 project introduces an exceptionally detailed, circuit-level emulator for the vintage PDP-11/34A computer from 1976. Unlike typical instruction-set emulators, ll-34 recreates the virtual CPU by meticulously translating original schematics, microcode, and logic captures, aiming for signal-level fidelity. This deep dive into hardware emulation allows it to reproduce even subtle hardware bugs, offering an unprecedented level of accuracy while remaining fast enough for practical use.
- Circuit-Level Fidelity: The emulator's CPU, the KD11-EA, is reverse-engineered directly from schematics and microcode, modeling individual logic gates and combinational ROM truth tables.
- Comprehensive Device Emulation: It accurately emulates a wide array of peripherals, including the UNIBUS backplane, M9301 boot card, DL11 serial card, KW11 line clock, RK05/RL01/RL02 drives, and a tape reader.
- Detailed Architecture: Key components like the 512x48-bit microcode store, reconstituted combinational ROMs, a fully modeled 74S181 bit-slice ALU, a precise MMU (Memory Management Unit), and a clock generator are all meticulously simulated.
- Interactive Consoles: It features a Programmer Console that emulates the physical front panel switches and indicators, and a Debug Console offering an interactive debugger for both microcode and instruction-level execution, with features like stepping, breakpoints, and memory/register dumps.
- Integrated Logic Analyzer: A standout feature, it allows probing 102 major CPU signals mapped to physical chip pins, with high sample rates and configurable triggers, proving crucial for development and useful for real hardware troubleshooting.
- Sample Programs and Systems: The project includes functional examples like a Game of Life, V6 UNIX, RT-11 V4 with Tetris, and surprisingly, a small trainable Transformer (ATTN/11) running on the emulated system.
- Accessibility: The emulator is built with minimal dependencies (C11 compiler), compiles across various platforms, and even provides a WebAssembly version with a photorealistic GUI for browser-based access.
This project stands as an extraordinary effort in historical computer preservation and reverse engineering, providing a functional, highly accurate digital twin of a classic machine. Its robust set of debugging and analysis tools makes it invaluable for understanding the intricate workings of the PDP-11/34A at a fundamental level, serving both enthusiasts and researchers.