This is the second part of our journey to create a ROM emulator based around the STM32H523CET6 microcontroller. The basic idea is that the McROM, which is the improbable name I’ve given this device, should be a drop-in replacement for the AT28C256 EEPROMs I’ve been using to provide the ROM code for my Zolatron 65C02-based homebrew computer.
The EEPROM sits in a ZIF socket on the main processor board, which makes taking it out for reprogramming fairly easy. But not easy enough. I want to be able to reprogram the ‘ROM’ in place — something that’s not straightforward with EEPROMs. There are many ways to do this, but this one is mine.
And it seems a manageable job. The 28C256 EEPROM is a plain beast. We’ll ignore writing to it, because in the Zolatron it’s being used to emulate a mask ROM, which means that its only purpose in life is to be read, not written to.
The chip becomes active, or selected, when its chip enable (/CE) pin is pulled low by the CPU. When its output enable (/OE) pin is also pulled low, this is its cue to read the value on the address bus, which has been put there by the CPU, look up a corresponding byte value from its data table and place that value on the data bus. When the /CE line goes high again, the ROM goes back to minding its own business.

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.