Supported
Supported machines (as of June 2025):
- Multitech Microprofessor MPF-1, -1B, -1P (Z80)
- Heathkit ET-3400 (MC6800)
- Lab-Volt 6502 Trainer (6502)
- Philips MasterLab MC6400 (SC/MP III = INS8070)
- Busch Microtronic (well, kind of - this is really a bigger beast, see PicoRAM 2090)
2112 Emulation for the stock, unexpanded Heathkit ET-3400 (4x 2112 SRAMs = 512 bytes):
Heathkit ET-3400 Memory Expansion Mode (2 KBs of 2112 memory; requires extra GAL 16V8 as an address decoder):
6116 Emulation (Microprofessor MPF-1B with 2 KBs of 6116 SRAMs; also see PicoRAM 6116):
2114 Emulation (Lab-Volt 6502 CPU Trainer with 2x 2114 SRAMs, 1 KB):
Last supported machine - the Philips MasterLab MC6400 (2x 2114 SRAM, 1 KB), a SC/MP III (INS8070) trainer from ~1985:
picoram-ultimate
A Raspberry Pi Pico (RP2040)-based SRAM Emulator and SD Card Interface for vintage Single Board Computers (SBCs).
About
PicoRAM Ultimate replaces some (or all) of the RAM chips of these
systems by emulating them in software with a Raspberry Pi Pico
(RP2040) microcontroller slightly overclocked at 250 MHz. PicoRAM is
equipped with an SD card to store and load whole memory dumps to and
from SD card. These memory dump .RAM
files are similar to Intel HEX
ASCII format and can be edited easily by hand on the PC. The utilized
FAT file system facilitates data / file exchange with the PC or Mac.
Currently supported SBCs / host machines are:
- Stock Heathkit ET-3400 (not ET-3400a): MC6800 CPU, either 2x 2112 (512 Bytes) or 4x 2112 (1 KB)
- Heathkit ET-3400 memory expansion mode: MC6800 CPU, 2 KBs via expansion header and additional GAL16V8 address decoder
- Multitech Microprofessor MPF-1, MPF-1B and MPF-1P: Z80 CPU, 1x 6116, 2 KBs
- Lab-Volt 6502: 6502 CPU, 2x 2114, 1 KB
- Philips MC6400 MasterLab: INS8070 SC/MP III CPU, 2x 2114, 1 KB
The development logs are on Hackaday.
This project is a follow-up to PicoRAM 2090 for the Busch Microtronic Computer System and PicoRAM 6116 for the Microprofessor MPF-1.
Overview
PicoRAM Ultimate is powered directly from the host machine; i.e., via the 5V and GND SRAM socket power pins.
To emulate SRAM, PicoRAM needs memory addresses, the 8bit data bus, as well as chip select and write enable signals. These are provided from either the 2112 sockets, the 2114 sockets, the 6116 socket, or the Heathkit expansion header.
The pinouts of these vintage SRAM chips can be found here:
The specs of these vintage SRAM chips are:
- 2112: 256 x 4 bits
- 2114: 1024 x 4 bits
- 6116: 2048 x 8 bits
Whereas the primary mode of operation is to simply use ribbon cables connecting PicoRAM to the host machine's SRAM sockets, there is also an extension header option on the PicoRAM PCB that allows to neatly and directly connect PicoRAM to the Heathkit ET-3400. In this case, the address and data bus as well as the control signals are not supplied via the SRAM chip sockets, but over the expansion header. A dedicated address decoder is used in this case (GAL16V8).
PicoRAM generates a READY/BUSY/HALT signal for the CPU in order to suspend CPU operation while it cannot serve the RAM content (i.e., during file or UI operations). Power (VCC = 5V and GND) is fed in from the sockets and connectors as well (i.e., whatever socket / connector is being used to connect to the host machine supplies power to PicoRAM).
PicoRAM has a convenient OLED-based UI. The hexadecimal ASCII-based file representation of the memory content and FAT32 file system facilitates editing and exchange of memory dumps (programs and data) with a PC or Mac.
PicoRAM also offers an auto-load function - programs can be loaded automatically into the host machine when it powers up (as it was an EPROM-based program).
A number of jumpers must be set to match the host machine. These jumper settings can be found on the PCB as well:
Features
-
Supports multiple host machines: ET-3400,...