The firmware in my RAMCHECK is very old, there were many updates since then. Unfortunately, the firmware was not published on the internet before Innoventions closed down. So, this is my adventure about obtaining new firmware.

Original Firmware

My RAMCHECK runs version 2.06E. It is pretty good, but I have noticed when running the advanced test that it is marking some known-good RAM sticks as bad. I figured that this is something that is fixed with newer firmware. It might also allow for more modules to work with my RAMCHECK in the future.

I had no luck looking at archive.org, because firmware upgrades required registration with Innoventions. But, I happened to notice a video by Adrian’s Digital Basement where he was showing the RAMCHECK he owns. In that video, his was running a much more up-to-date version. I wondered if it was possible for him to retrieve that firmware for me. But first, I needed to disassemble mine to see how easy a firmware upgrade would be.

Diassembly

Disassembly was quite simple. The six rubber feet on the bottom were plugs which revealed screws. Undoing them meant the lid easily came off. This revealed the mezzanine board with the DIMM and module sockets, which in-turn was removed using six screws.

Now this is really cool. The main motherboard is powered by a Ti 486 CPU. (The TX486DLC was a 486 CPU for a 386 motherboard). I was not expecting that. I thought it was going to be a 32-bit microcontroller. I also immediately noticed a couple of things that made me think that this was going to be possible:

  1. Almost everything was socketed
  2. Two SST39SF020 EEPROM chips

I’m very familiar with the SST chips, I use them in my ROMulus boards and have even written flashing software for them. They are 8bit EEPROM chips and the 020 variant are 256KB in size. Two of them are used to provide 16bits of data to the CPU. Hence the ‘O’ and ‘E’ labels for ‘Odd’ and ‘Even’.

Adrian’s Digital Basement

If you haven’t seen Adrian’s videos, you should definitely watch them. I think his videos tend to focus on vintage PC and Apple repairs, but they are very good content. I reached out to him, and he replied willing to help me out and archive everything for the rest of the community.

There was a small problem, however. He had documentation that indicated that when his was upgraded to support DDR RAM, it had more work done to it than just a firmware upgrade. Amongst other things, there was a PAL chip upgrade.

This documented a 2.23 upgrade, but he mentioned that his was subsequently software upgraded to 2.35. He managed to backup the EEPROM chips in his device and attempted to backup the PAL chip, but that one was locked (to be expected).

It is also possible that the CPLDs, one next to the CPU and three on the mezzanine board, had also had a firmware upgrade. Whilst there is an EEPROM in the bottom right corner, that appears to be just storing the settings, not things like calibration dates and values. That version information is stored somewhere, because it is available in the menus.

Upgrading

I’ve been using a GALEP-5 EPROM programmer lately. I think it is kinda cool because it’s still supported and has Linux software, even if it doesn’t look great in a modern distro. Using this I dumped the EEPROMs of my device. I also dumped the PAL chip, but as with most PAL chips, it is difficult to know if you got a real backup until you actually burn it. Protected chips tend to give you _something_ even if it is junk. I acquired the same model of PAL chip, and found it was a bad backup.

This was interesting, only the bottom half of the EEPROM was in use. Which was actually useful to me to know, as we will see shortly. The backup of Adrian’s newer ROMs used the full ROM space.

Now, I wanted to flash the ROMs, but I didn’t want to flash over my own EEPROMs, mostly so that I could easily go back and forth as needed. I didn’t have SST39SF020s in stock, but I did have SST39SF040s. These are 512KB instead of 256KB, they utilise an extra pin which is unused in the 020 for the extra address space. I checked the motherboard and that pin was connected, so they had intended the possibility of upgrading to that much in the future, at least at a hardware level.

Given my knowledge that the first half of my 020s were empty, I flashed Adrian’s ROMs onto the top half of my 040s. I plugged them in, and…

To quote Adrian, “It freakin’ works!”. Now, that message is an indication that my board did not go through the full upgrade, and our theory is the PAL is the key to this. This doesn’t matter to me, because I don’t have the DDR modules for this device.

Let’s try it with a 72-pin SIMM…

Fantastic! This stick would fail in the more advanced tests on the old firmware, but I pulled it from a working machine.

You may have noticed the 30-pin SIMM left locking lever is missing. It was not working great, and I found out that it is actually broken. I should be able to design and 3D print a replacement, but that is a task for another day.

Conclusion

With the upgrade done, I ran some tests on some piles of RAM I had available (over 100x 72-pin SIMMs). I was able to easily label each one with its specifications (capacity, FPM/EDO, etc.) and sort into good and bad piles.

The firmware from both of our backups is on archive.org. Adrian has also created a video of his part of the adventure, I’ll update this post when it is available. If you have a different firmware version, please let us know, it would be great to have a full range of versions on archive.org.

Many thanks to Adrian from Adrian’s Digital Basement for all the help you have given me on this little adventure.

Update 2025-08-08

The video on Adrian’s Digital Basement second channel is available here.

5 responses to “Upgrading the RAM Detective: A Firmware Adventure with RAMCHECK”

  1. I really wish that there was more information out there about these devices. Given that the Retro Chip Tester and BackBit chip testers both can only test 30-pin SIMMs up to 4 megabytes — and it takes a glacial age on the RCT and several minutes on the BackBit — I keep hoping and praying that something will break loose to enable a community-made device that can test the 72 and 168-pin sizes of these older memory sticks.

    1. The reason why I haven’t gone for the BackBit solution, despite having their Chip Tester 2, is exactly because it takes a glacial age, which means it isn’t testing at anywhere near the max speed of the SIMM. It will be good for retention tests, but that is about it.
      I have very much considered designing one myself in the past, using a 32bit ARM (maybe an STM32H7 or similar) as a host CPU, combined with a low-end FPGA to rapidly talk to and test the SIMMs. I’ve actually considered it again recently to test SOJ DRAM ICs I have lying around.
      The R&D cost along with my time would be so high, there is no way I would be able to open source it. Which is partly why I haven’t done it yet. But it would be significantly cheaper than a RAMCHECK.

  2. Hi, looking at the ROMs Adrian put on archive.org, I I found some codes to access restricted areas on the Ramcheck, but no idea which is which.

    Codes to try:
    2352
    351123
    54521233
    444123

    If I am not mistaken, as soon as it recognizes the correct code it will enter the menu, if the code is wrong it will let you enter up to 15 numbers and kick you out which is what happened in Adrian’s video.

    Peter

    1. Excellent! Many thanks for this. I had intended to drill into the ROM at some point to try and find these.

      When trying them out, only the last one worked for the Tech Support menu. It brought me to a menu to set the “RCB VER”. You can use the cursors to set the digits.

      Adrian forwarded me your email as well, and I’ve sent him a screenshot of what I can see. Happy to email it to you if you want it.

      1. Oh nice, yes I would like to see the screenshot!

Leave a Reply to LinuxJedi Cancel reply

Your email address will not be published. Required fields are marked *