PDP-11/70 emulator

flok

Well-known member
Hi,

I wrote a PDP-11/70 emulator that runs on lots of systems, especially on the Teensy 4.1.
The plus of the teensy4.1 is that it has Ethernet and plenty PSRAM (altough only 4 MB of that is required). It is also very fast: booting an emulated BSD 2.11 on it takes only 1 minute!

1781337623832.png


The "blinkenlights" (the led-panel) is a simulated front-panel. The original PDP-11/70 had a frontpanel with lights indicating all kinds of things.
 
Hi and congratulations!
In the 80ies I had a student job to program am PDP11/23+ with RT11 and Fortran, that was controlling a test rig. This machine had 1MB of Ram, but only 64k (words, I think?) could be used directly, so we used the memory for a RAM disk and could load overlays fast.

Looking at the benchmark, I wonder, why teensy is so much slower than Pi5? Is this because of use of PSRAM? What would happen, if you would only emulate a smaller machine with the internal RAM, that is directly accessible?

I have been wondering for some time, if an emulation of a PDP11 could somehow be actually useful for today controller projects?
Have ARM directly do some interrupt driven controller work and have PDP11 do some work in parallel more towards user interface, like display data, use an editor, a spreadsheet (?). Perhaps a next generation Teensy will have more than one core, which would be helpful.

Once I tried to port an emulator of 6809 with OS9 to a Parallax P2. Unfortunately I was not able to find a fast way of implementing the MMU, which slowed down any memory access too much. OS9 would be nice, because there is some software and it seems to work with 512kB.

Generally I am curious, what the route of operating systems for controllers will be in future. Will there be something new in between Linux (needing Gigabytes) and (super inefficient) Micropython?
((For some years now I am using Forth to have an operating system with console access in parallel to a running controller's work. Forth had it's high time, when machines had memory of the amount of actual controllers, so it fits very well there now. ))

Christof
 
Hi Christof,

I think the Teensy4.1 is slower than the Pi5 as it is a different processor. If I emulate without PSRAM, it is hardly slower. I only tested with RAM2 though, not the faster RAM1 as I don't have enough memory free for that. My built-in benchmark would maybe fit though I realise.
 
The pi5 uses a quad-core 64-bit 2.4GHz A76 ARM processor, the Teensy is a single-core 32-bit 600MHz M7 ARM processor. There's a league of difference.
 
Well, I thought, that neither 4 cores nor 64bit will help much in the emulation of a 16bit processor. So clock speed and memory bandwidth should be most important.

Of course, you can argue, that an emulator is good, if it is at least as fast as the original!
 
Even just looking only the clock speed, it's four times as fast.

64-bit (aarch64) does help because it has 31 general purpose registers compared to 8 on the M7 (arm thumb).
 
Back
Top