allisonlastname wrote:
The scheme you're suggesting seems to be that the 6502's A[0, 13] connect to the RAM's A[0, 13] and then the 6502's A15 connects to the RAM's A14. That would give you the bottom 16k of the RAM chip twice, in the bottom 32k of the address range, and then the top 16k twice in the top 32k. This doesn't seem very useful. You'd be better off just connecting the 6502's address lines to the same on the RAM, and leaving A15 unconnected. That would just give you the whole RAM twice.
Ah! That explains the problem I was having all afternoon but have since resolved (but couldn't understand exactly how I resolved it). I had a program starting at 32768 and just doing a jmp $8000 for an endless loop but the reset vector kept pointing the start to 49152 most likely due to the reasoning you just described. That gives me something to look at in the morning.
Aside from that I actually had a huge win today! What I did was, wired up a Raspberry Pi Pico and programmed it to be a big ROM (for the moment, RAM is the next step which should be pretty trivial) and am making the W65C02 run directly from that, with no additional components. Even the clock is supplied by the Pico.
For me, I think this will be an invaluable setup initially, as I will be able to prototype things faster (in theory
). No flashing of ROM's etc, just drop the 6502 code on to the Pico and off you go.
With some very tight coding I have this setup running next to me right now at 2 MHz! Again, the actual 6502 is very basic right now as I haven't created write functionality yet.
Attachment:
2mhz.jpg [ 43.77 KiB | Viewed 5041 times ]