If you think RAM is expensive now, try putting yourselves in the shoes of a Commodore engineer, circa 1981. RAM was eye-wateringly expensive by modern standards, and Jack Tramiel wanted 64K of the stuff for the next computer — hence the name, Commodore 64 — but he didn’t want to pay for it. The solution was to use cheaper dynamic RAM over the more expensive static RAM that later took over the market in the kilobyte range. That’s a small problem for retrocomputer hobbyists, because while we’re complaining about the price of gigabytes of the stuff, you can’t buy new DRAM chips that fit a Commodore at any price. That’s why [Fabio Battaglia] aka [hkzlab] came up with an adapter board to fit easily-available SRAM chips onto aging C64s.
Nothing lasts forever: not cold September rain, and not DRAM chips. Heat damage? Internal corrosion? There are probably multiple failure modes, but someday the old stock of chips will run out and the retrocomputer community is going to be ready for it. [Keith Olson] sent us a tip on a video by [The Retro Shack] about this very problem that serves as a good demo of what you get when you put SRAM into a C64. (Thanks [Keith]!) That said, the adapter board on offer is only good for C64s with the 250407 motherboard. If yours is different, you may have to modify the board. But hey, it’s open source, so go ye and do that thing. Let us know via the tips line if you do.

It seems like it should be rather trivial to emulate a C64 DRAM chip with a small 8 bit mcu and a small 8KB external SPI RAM chip.
Hi, yes. But there’s a downside, too.
If you grew up with a vintage system, you’d probably like to keep the heart of it authentic, if possible.
Ie, you’d like to use technology that exist back then.
Either the exact same thing or a close derivation of that technology (as it’s the case with SRAM).
Using a microcontroller for an accessory is one thing, but if it’s a core component, it does hit a bit harder, I guess.
It’s not so much because of functionality but principle.
Many C64 fans know their platform inside out and I think they
don’t feel comfortable dealing with a simulation of the hardware they did admire when young.
They like the idea that a real 6510 or VIC-II is working inside in realtime.
If it just was some simulation, the fascination for the technology wouldn’t be the same anymore.
Users also nolonger would feel as knowledgeable as they used to.
They’d feel a bit obsolete themselves, maybe.
Because without the real, limited hardware, the C64 architecture is just an arbitary “construct” that has no justification anymore.
(-Real hardware in the sense of being physical.
A clone IC or a modern, miniaturized counterpart of the circuit is fine too, I think.
It doesn’t need to be exact down to the serial numbers and date codes etc.
One modern example that comes to mind is the C64 DTV, maybe,
which basically was using an modern ASIC re-producing C64-ish technology.
Some things were processed differently in detail, but it was no conventional emulation.
Unlike FPGA, things were hard-wired, basically.
The architecture was set into stone during production.-)
Because, an microcontroller could be anything.
Depending on its capabilities, even something more powerful such as an C65 or C128.
I’m not sure how to put this into words, really.
It’s not about functionality alone but an emotional bond to a specific platform/technology.
I mean, there are radio enthusiasts into crystal radios, for example.
They love to see the magic happen with simple technology.
To them, replacing a crystal detector by a closely related glass diode is still acceptable,
but using a transistor in diode mode would be a bit too much.
It wouldn’t be the same magic anymore, even if the functionality was same in the end.
On other hand, it would be okay to wire up a crystal radio wotha detector crystal or diode to a modern transistor audio amplifier.
The heart of thd platform remains intact, after all.
That’s basically what happens when retro/vintage fans use a modern floppy drive emulator or an modern cartridge using FPGA.
It’s combining old and new, while retaining the original personality of vintage hardware.
Well, not this project.
Hi, I’m just a layman here but from what I’ve read the project uses “128Kx8 SRAM, DIP32 or SOP32” and two discreet 74 series chips (74HCT32, 74HCT573).
So it seems the SRAM technology used in the project is “dumb” (microcontroller free) and
not much different two what had existed in the 80s or early 90s (the C64 was sold new up to the 90s).
If my memory serves we well, such high-capacity DIP32 SRAM chips did exist by early 90s, at very least.
But anyway, it would be an interesting philosophical question if, say, an 8042 or 8051 based microcontroller
and some modern, non-intelligent RAM chip was used in the project to manage/provide the RAM.
Because, unlike an Arduino (AtMega 328 etc) that microcontroller technology was actually available during the C64 days.
So C64 users of the day might have had the schematics in the book shelf, even.
There were quite some books related to 8052 AH BASIC chip, I remember.
The 1984 PC /AT used an 8042 for keyboard i/o and memory managment (80286 reset, A20 Gate).
The 1989 Sound Blaster card had an 8051 as DSP, I vaguely remember.
eh… I replaced RAM chips in my C64 in the 1980’s when I was a teenager. I don’t romanticize RAM chips. Nothing can replace a real SID, but RAM? As long as it stores 1s and 0s faithfully, I don’t really care what it is.
Seems like it until its a nanosecond off time and the whole system shits the bed constantly
The RAM in the C64 typically has a speed of 200ns to 500ns. A single nanosecond isn’t going to trip that up.
I emulated memory for a 6502 once. I had to use a Teensy4 to do it with some dirty tricks like counting individual clocks.
The nasty thing is that your “memory” has to get the task of reading/writing and presenting done within the tiny window of time that a 6502 has sent out an address and clocks in the data. Which happens within a single clock-cycle with timings of like <350nS at 1Mhz. Trying to capture a write is even nastier as it very quickly clears the data bus the moment the R/W switches which normally clocks the RAM in so you got to anticipate the write. Oh and let’s not forget that the Address bus is 16-bit.
Suddenly you are looking at needing significantly more speed than your typical 8-bit MCU can provide. Silver lining is that your MCU is more likely to have more than 64Kb SRAM at this point. So you can just use the MCU’s own working memory.
Some MCUs come with some logic blocks that can run autonomously, ie the pi pico has pretty advanced logic blocks and pipelines that can offload the cpu. But still SPI is probably still too slow.
Even if it was trivial: Why? (Besides the “because we can aspect” which is valid of course)
The SRAM solution works perfectly, with currently available parts, and is even “era appropriate”.
More and more this recent blog post is applicable:
https://hackaday.com/2026/07/04/yesterdays-technology-re-engineered-today/
We each have different opinions on How It Should Be Done, but the great thing about being Makers is that we can choose how we make things. This one, though maybe different than how any given Maker would do, is A Good Hack, methinks, and should be congratulated as such.
Is this a comment in search of an argument? Where in my comment did I say it wasn’t a good hack? I also never suggested anything about “how it should be done”.
I recently restored my childhood Commodore 64, which was an epic journey of debugging, struggle, and ultimately success.
I had a completely dead system, so the first step was buying modern power supply and replacing the PLA with a modern recreation (“it is always the power supply, PLA, and usually both”), which was enough to get some activity, but it took a complete probing of the circuit board to find some broken traces, which was enough to get the Dead Test and especially the DesTestMAX cartridges to show some activity. The last step was ripping out all of the accursed MT DRAM chips and replacing it with a similar SRAM replacement and fortunately none of the truly valuable chips were damaged.
If you are restoring a Commodore 64, just start by snipping off all of the DRAM chip leads, tossing the chips in the trash, installing quality sockets, and using a modern memory replacement. Don’t try desoldering all of those chips – just snip them off and clean up the remaining leads. Then replace the PLA. And THEN start troubleshooting.
This project is interesting and valuable, but I can’t recommend the DIYChris store enough – not only for the SRAM replacement, but they have a plethora of modern replacement components for the C64. For example, $30 for a pre-assembled SRAM module and they have both the 250407 and 250425 board compatible boards.
The PLA could been replaced by using 1970s technology, too.
There was an EPROM based PLA, for example! 😎
http://www.vic20.de/html/eprom_pla_8296_und_c64.html
Btw, even without a diagnostic cartridge some troubleshooting is possible! 😃
The C64 community has documented the C64 faults through lots of pictures and descriptions of the symptoms of each defect.
Here’s a site that I used in the past: https://www.pictorial64.com/index.htm
That is a great resource, although really only for the super edge cases – at least from my research and understanding. I actually also replaced the 74LS257 chips after some misleading diagnostic information, but ultimately, it was the DRAM all along.
I think the article is overstating the “penny-pinching” aspect just a bit. There was no reason to use more expensive static RAM for main memory in many home computers back then since dynamic RAMs were cheaper and denser and the more complicated access and refresh cycles were easily handled by the support chips of that era. The Z80 (like used in the TRS-80) even directly handled DRAM refresh itself. As semiconductor manufacturing processes progressed and transistors shrank by orders of magnitudes, SRAM came way up in density and way down in price and it wasn’t necessary to use DRAM chips for low-capacity needs anymore.
I don’t know about “can’t buy new DRAM chips that fit a Commodore at any price” though. Jameco seems to have 4164 and 4464 DRAMs in stock for ~$5 each
There also was PSRAM, DRAM that had an internal refresher circuit.
To the outside world it behaved like SRAM.
This helped to not have to deal with refresher circuits that steal CPU time (IBM PC motherboard etc).
The Sega Mega Drive/Genesis did use PSRAM, I think.
Some modders replaced it with better SRAM a few years ago, I believe.
Stability and speed was a reason, maybe.
If the refresh was too slow, there was data loss.
There were DOS utilities to change refresh rates on 8088 based PCs, for example.
They really improved 8088 performance by lowering refresh rate, at the cost of RAM stability.
Another thing that comes to mind is how sensitive DRAMs were to electro static discharges (ESD).
SRAM due to its design wasn’t as failure prone here.
I think that back in the day everyone into the matter knew that SRAM was the technological cleaner, more professional approach.
That’s why PSRAM, pseudo-Static RAM, found a niche, I think.
It moved the unstable or vulnerable refresher circuit inside the RAM chip itself.
So no external influences (noise, ripple, voltage changes etc) could disturb the fragile DRAM technology.
I don’t think the used SRAM is much younger then the DRAM it replaces. Looking at the foto the datecode seems 0003 which translates to 3rd week of 2000. I doubt they are still being produced, esp the DIP version.
So the problems shifts.. but in the mean time the CPU and other chips will die
New parallel-interface 128Kx8 SRAM in DIP packages is still manufactured by Alliance Memory and is available from Digikey and Mouser. In the Digikey catalog it looks like quite a few companies are still manufacturing parallel-interface SRAM in DIP packages in low-capacity sizes like 8Kx8 to 512Kx8.
Except the available source of DRAM that first 80s era computer are the old stock. There hasn’t been any new small DRAM chips in years. SRAM OTOH are still produced that are ideal for 80s era computer.
November?
Yeah, I think so too.
Yeah, that’s so obvious I was wondering if September is some kind of joke, but I don’t get it.
what about somehow hooking up a stick of dram from the 486 era — i have a box of those that will never have any use, since 32 bit intel computers do not and never will interest me. just imagine the banking options on a commodore 64 (which will never not interest me)!
Heck 286 RAM will work. 30 pins came in 8 or 9 bits, 256k were the smallest and would work if you can figure out the pinout and figure out how to lock out 3/4 of the RAM so it stays in the same 64KB block. (or 128KB fir C128)
hobbiests => hobbyists
Hm… at first I thought it was a simple spelling mistake correction, but I think I see you point.
You prevent confusion, s thank you for that. After all we hobbyists are people with a hobby.
But hobbiests, might imply that one person is more of a hobbit than another person and that is most likely not what this article is about. I could be wrong though, yet I like the thought of one person being more of a hobbit than another person, may be because I just I like the hobbit movies.
“Hobbiest” is either “The most hobby”, ie hobby-est, or a leisure activity of someone from the Shire, ie a Hobbit hobby.
“Finally”?
There have been a few different solutions to replace the C64 DRAM with SRAM available to buy or build for some years now.
Some, like this one partially or fully demultiplex the memory address bus.
Others don’t bother and just connect the SRAM directly to the CPU address bus. The VIC-II outputs A0-A11 on the CPU bus to be able to access the character ROM, colour RAM and the expansion port in Ultimax mode. A12-A15 can be grabbed from the memory bus.
I like the solution as it uses chip series that would been around at the time. The 74LS573 brings back a lot of happy memories dabbling with 8bit CPUs.
To put some context on the challenges at the time, the Spectrum 48K computer had an interesting memory design. It had 16 DRAM memory chips to give 48K bytes RAM. This consisted of 8x2k bit chips as 16KB and 8x32K bit for the upper 32KB. For the upper 32KB bank, they use 64K bit rejected chips that had 1 failure in the upper or lower region. As a kid, my computer needed to be repaired and they put in a 1x64bit chip as a replacement.
I’m assuming there was some cost/availability issues at the time, if they went with these higher chip count options. Especially with Spectrum 48K having a ULA to reduce the chip count / replace a lot of the glue logic.
As a side note ROM/EPROM emulators would use these SRAM type chips.
I have replaced the DRAM chips on my TK90X (zx spectrum clone) using DRAM chips from a 30 pin printer memory module. It worked flawlessly and have the side effect of reducing the power consumption by half.
They should use bubble memory; wasn’t the vic ii screen memory using bubble memory.
With all the modern replacements for retro computers soon we’ll be talking about the 64 of Theseus.