Close
0%
0%

PicoRAM Ultimate

SRAM Emulator and SD Card Interface for Vintage Single Board Computers (such as the Heathkit ET-3400, Lab-Volt 6502, and Microprofessor)

Similar projects worth following
PicoRAM Ultimate is the ultimate storage solution for single board computers (SBCs) / CPU trainers from the 70s and 80s.

It emulates:
- up to 4 2112 SRAM chips: it replaces the 512 bytes of stock SRAM in the Heathkit ET-3400; alternatively,
- a 2 KB memory expansion for the Heathkit ET-3400 (with expansion header installed),
- a single 6116 2 KB SRAM (e.g., for the Multitech Microprofessor MPF-1 / 1B / 1P),
- up to 4 2114 SRAM chips (e.g., for the Lab-Volt 6502 and Philips MasterLab MC6400 CPU trainers).

Using the built-in SD card interface, PicoRAM Ultimate allows you to save and load full memory dumps (including programs and data) to and from SD card, hence, rendering the cassette interfaces of these SBCs obsolete (if they even came with one; i.e., the ET-3400 required an extra memory expansion + IO box for the cassette interface, and the Lab-Volt 6502 doesn't come with one either).

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.

PicoRAM Heathkit

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:

2112 Chip

2114 Chip

6116 Pinout

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:

Jumper Settings

Features

  • Supports multiple host machines: ET-3400,...

Read more »

View all 12 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates