Chilly Willy wrote:I don't remember one detail - did writing the rom area from the SH2 do any cycle at all? Like a read instead of a write? One thing I noticed with A2600 carts - Atari didn't route /WR to the cart port, so the way carts do writing is by making writes to a specific address - the cart knows that when a read occurs in that bank, it's really a write.
There was no activity at all during a write, not even a dummy read from that location. The write operation was totally invisible on the cartridge port side of things, which is really unfortunate.
I can't remember if I mentioned this or not, but the 32X dev "box" that has RAM to simulate a cartridge has a lot of hardware to access RAM on the box side. It seems like overkill, but if you really can't write to the cartridge area from the 32X SH-2 side (which seems to be the case currently) this might explain why they went to the trouble to access it from the other end. There could be other reasons why they took the hard route too.
If one was making a custom cart I was going to suggest something along the lines of:
- Have an address range where 16 bits of the address bus are latched during a read.
- Have a RAM region where reads cause the 16-bits of latched data to be written to RAM.
- Have a mirror of the RAM region where reads work normally for regular access.
This way you could write to RAM in a roundabout way by reading the 'word' to write first, and then reading the address you want to write to second.
It would be less troublesome if you could do byte access but IIRC all ROM access is word-only. I have no idea if that is practical, or if treating a read like a write violates the expected write timings for the RAM. Just rambling here.