Simulating old microprocessors (and systems) with modern hardware

Happy 2021.

A few months ago I mentioned how the venerable 6502 could be simulated with an Arduino IDE compatible ARM board.

The results were a version of Commodore BASIC, which ran at an effective clock frequency of 48MHz with the ARM providing all system RAM, ROM and a serial interface.

Shortly afterwards I came across a PDP-8 simulator, complete with a ROM listing for FOCAL, which allowed a lunar lander game to be played - just like it’s 1969 again.

Over the last week, I found Jean Claude Wippler (Jeelabs) Z80 simulation, which started life on an STM32F103 and after a STM32F407 ended up on a 600MHz ARM M7 - the Teensy 4.0.

The simulated Z80 runs all the Zexall tests at a simulated clock of 158MHz - that’s 39.5 times the thoughput of the original Z80A.

Many of the classic microprocessors, micro and minicomputers are now readily simulated on very low cost hardware - The Teensy 4 is less than $20.

Jean Marc Harvengt has now ported several simulated systems to the Teensy 4.1


Quite recently Ted Fried reported on his MCL65+, also based on a Teensy 4.1 - with 600MHz available, aiming to emulate only the 6502 MPU, and bit bang the interfaces to drive a 6502 bus. Still a work in progress, I think.


Ted Fried has made significant progress - the hardware side of this is nice and simple:

Two short videos, first of cycle-accurate speed, and then full-on speed:


I uploaded a quick demo of the MCL65+ running some of the acceleration modes which you may enjoy.

YouTube Video of MCL65+

1 Like

All these simulators and emulators makes me think It’s a shame that keyboard with the LCD screens in the keys didn’t catch on. Would have been nice to be able to switch what’s on the keys based on the system you are running and not have to map/translate from a standard keyboard or building a custom keyboard for each one.

I’ve been using a terminal emulator lately, TeraTerm, and it seems to handle most keys fine but it gets really confused by the numpad. I’m still trying to figure out which keys it thinks I’m pressing.

1 Like

I like tera term, but I can only run it on my older machine, with a only specfic USB slot. Move the slot, the serial port # changes. The USB to serial cable, just don’t run at all the latest machine.

I like it to but I was just surprised when I pressed the num-pad * key and got an OR character. I didn’t even know there was a character for that. Turns out you have to press shift + num-pad * to get an *.

Edit: But it just goes to show how often keyboards have changed and it’s hard to get around the expectation that pressing a key with a character on it will do anything but print that character. I did find that there are some e-ink keyboards out there so that’s cool.

But you can still buy NEW white PS/2 IBM M keyboards. I love them, not a ‘WIDOWS’ or strange key in sight. Shipping to CANADA
costs as much as the keyboard. It is not the Keyboard, tera-term is set up as a DEC Terminal and function and
keypad keys default to the VT-100.
As a side note, why do need gaming keyboards? Somebody must make a game keypad that you plug your keyboard in that passes though, flip a switch and the keypad emulates the correct keys. Joysticks are still a problem.
Why can a 1977 APPLE II have them and not a new cpu?Ben.

Thanks for pointing me to the VT-100, those PF keys may be what I’m seeing. I figured TeraTerm was emulating a specific terminal but I wasn’t sure which one it would be. I guess the VT-100 would have been the obvious bet.

For the LEDs, the clickiness, the huge rollover buffers all the while chasing down that bugbear, latency … It’s all marketing, but if they can make a buck and I don’t have to work near a clicky keeb nerd, fine by me.

There is a custom keyboard design that uses an FPGA (!) to cut latency down to nothing, the vendors claim. It’s also able to load different keyboard cores, so you’ll finally be able to get a replacement keyboard for your Amiga 1000 for under four figures.

Joysticks? Everyone’s gone back to gaming with analogue ones. Switched ones are history, sadly.

PS/2 has no Latency. I am all thumbs, so I do’t play games, but games only work on the MOST EXPENSIZE computer
yoo can get, regardless of the era.
This brings up a good question, how does one emulate a APPLE II with joysticks?
I have no answer. Ben.

Jürgen Müller has an intriguing “6502F” FPGA-based build which plugs into the socket of a 6502 (!) and has its own fast RAM on-board: The 100 MHz 6502 · e-basteln

(if only he / someone would bring this out as a kit …)


I was just shown this, which is also an FPGA in a 6502 socket:

It sockets the original 6502, however, and simply “sits on the bus” between the processor and memory.

There is more information and description here:

It seems to be intended as a diagnostic and debugging tool (you can dump the system RAM to an attached Raspberry Pi, for example), but there’s a lot you can do with an FPGA on the memory bus; I am reminded of DOOM for the NES, for example.