Close

New Firmware v1.2 Passes LabVolt RAM Test!

A project log for PicoRAM Ultimate Rev. 2

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

michael-wesselMichael Wessel 06/22/2025 at 19:480 Comments

I just learned (from reading the manual) that the LabVolt trainer comes with a built-in RAM test in ROM. So I tried it - and PicoRAM failed :-( Only "pages" `0x02` and `0x03` are user RAM on the LabVolt; page `0x00` is obviously the infamous 6502 Zero Page, and `0x04` is memory-mapped IO / hardware, specifically, the PIA sits there. As you know, in 6502 speak, a page corresponds to the high nibble of the 16 bit address, and hence, each page has 256 bytes. 

To start the RAM test, you write the start page (`0x02`) into memory cell `0x0000`, and the end page (`0x03`) to `0x0001`. Then you start the program from the ROM address `0xF6B1`. The program then goes through all the test patterns (bytes  `0x00` to `0xFF`) and writes and reads back every memory cell in all pages (inclusive and) between start- and end-page; here, from `0x0200`  to ` 0x03FF`, 512 bytes of user RAM. 

This test *failed* at first, and it failed quickly! It is surprising that the machine was working at all with the LabVOLT... I hence tweaked the firmware a bit by introducing two more `NOP`s when reading the address from the latches, and played with some GPIO settings. After a bit of back and forth, the RAM test finally succeeded! 

The firmware version 1.2 has been uploaded to the GitHub repo.

Discussions