Mapping more than 64kb of address space

2017-10-22 10:19:09

I'm planning out a 6502 homebrew build but seem to be stuck in the issue of buying parts. My plan is to extend the addressing capabilities of the 6502 by giving myself 64kb of RAM, and another 64kb of ROM, by using an MMU. I've looked up those such as the MOS-8722 and 74LS610, but can't seem to find them anywhere that don't cost $30AUD or more, because they have to be shipped from overseas and are now incredibly rare.

Obviously using a memory mapper would serve me well, however is there any tricks you can do with an Address Decoder or alike to extend the memory without needing any MMU's?

I'm pretty sure I read somewhere that you can flip a byte in memory and then it somehow knows which chips to take from, but then is that byte being stored in a register, ROM/RAM, I don't know.

If there is a trick, what happens if I assumingly have two single 64kb ROM and 64kb RAM chips, want to read from ROM and put it in RAM. How does the decoder know to swap chips, grab the data and

  • The simplest way to do that is extend your address bus by at least one bit and have a latch (like, for example, a 74279 TTL latch) to store these bits. Then put in some address decoding to memory-(or i/o-) map this latch as a register allowing you to store arbitrary values in this latch.

    Whatever you put into this latch then will determine which area of memory the CPU is addressing. You might want to disable this circuit on some address ranges to for example make sure ROM is paged in at a certain address all the time.

    2017-10-22 12:05:54