Developing for extremely old computers is a chore; not only are you limited by assembly or pure machine language, there’s also the issue of burning ROMs to actually run your programs. [Frank Buss] came up with a neat solution to developing for the venerable 4004 CPU – build a ROM emulator using a modern microcontroller.
The build started off with a ZIF socket for the 4004 CPU and a 256 byte 4001 ROM chip emulated on a PIC micro. The CPU looked a little lonely sitting in the ZIF socket all by its lonesome, so [Frank] updated his board to allow a 4002 RAM chip to be plugged in as well.
Because [Frank] chose a 4004 for his entry for this season’s retrochallenge competition, we need to point we’re offering a prize for loading our retro site with this CPU. Yes, it’s most likely impossible but nothing worth doing is easy.
You can check out a video [Frank]’s ROM emulator after the break.
Man, I’m trying to find a single-chip USB MCU solution to emulate a small (<256 bytes) ROM for bootstrapping a ROMless NES cart. This would be great for homebrew as it effectively could give you access to GB's of storage for say, a video-playing demo (albeit at a horrible resolution and FPS). Totally useless for casual piracy ('repro'ing' as they try to call it) since you'd have to totally change the memory-management code even if you somehow filled the program and character SRAM with a ROM image.
I was thinking of it more as a way to instantly test your patches with both an emulator and real system. Thanks for the ideas in this article – I'll be sure to try out what looks like it'll help!