Using flash memory as a homebrew computer ROM
Can a flash chip replace the ROM in a homebrew computer? Yes. But can I do it? We’ll find out.
So here’s the idea. The process of burning new code into an EEPROM can be tedious. When you’re developing the ROM code for a homebrew microcomputer, you find yourself doing this over and over.
It takes time and effort. It eventually wears out the EEPROM and as it involves constantly removing and reinserting the chip, there’s the ever-present danger of (even with a ZIF socket) or inserting the chip backwards
It would be so much easier to have the software toolchain simply upload the new firmware to the computer directly. After all, that’s typically the workflow with microcontrollers such as the Arduino.
Enter flash
How do microcontrollers do this? The answer is that the program code gets stored in flash memory. Like a ROM or EEPROM, this is non-volatile, so the contents remain intact even when the device is powered down.
So the answer is simple. You just replace the EEPROM with a flash chip and you’re good to go. I’ve encountered homebrew machines that have done this and mightily envied them. There’s just one problem.
See above where I used the word ‘simple’? Well, maybe it is if you know how to program flash chips. I didn’t and so I decided to find out, and share my experience with you.


