Skip to main content
1 of 4
Gábor
  • 196
  • 5

It can be read directly (some circuitry decoding the addresses can determine what memory to select to read from, depending on the actual address range) or it can be copied from ROM to RAM (called shadowing). There's no need for any program to do that, a dedicated (and rather simple) hardware circuit can simply loop through the address range and make the copying on startup, before letting the processor to start.

You might want to watch one or more of the series on YouTube of enthusiasts (eg. Ben Eater, James Sharman, Jack Oatley) creating 8-bit era microprocessors with discrete components. It's both entertaining and would also be very helpful in your case to really understand how these circuits actually work.

Gábor
  • 196
  • 5