More to update, though I don't know who is reading much anyways. All good either way.
I found a "problem" with my design, perhaps I should just call it a "feature" though. I replaced my 128K RAM with 32K RAM today and got unexpected results!
I had designed to be able to accommodate the 32K only, sacrificing BASIC but nothing else. And I did this in software. So nothing wrong inherently with using only 32K. What would happen is any writes to the $8000-$BFFF region would duplicate in the $0000-$3FFF region, that's all.
But I got some weird writes to $4000 instead... This appears on the screen as stray pixels, and I didn't know why. How could that happen? Well, I was writing to ROM location $C000 (for I/O purposes) which duplicated in RAM at $4000. Hm! I would read from $C000 in ROM and everything was fine. But when I write to ROM at $C000, it *also* wrote to RAM. Dun dun duuunnn!
Why? Attached are schematics, which are probably hard to follow, so I'll just tell you.
If I write to ROM, the /WE signal is low of course. But my RAM's /CE is high because of my addressing scheme. As soon as PHI2 falls though, I have logic to enable RAM's /CE line and /OE line (for video purposes), but also disable the /WE line. The /WE signal is behind one extra NAND gate though, so what must be happening is the address and data buses are pushing on the RAM, the /WE is low and ready to go, but /CE is waiting. /CE falls just before /WE rises, causing a write.
That means my 62256-55 SRAM is 'freakin fast'! Super fast. My original timing scheme actually forced the /CE line low far later, and thus it never happened. But I wanted to save chips, and so now it does happen. It could be happening to my 128K RAM, but I wouldn't ever know because the address spaces don't duplicate like the 32K RAM does.
Thankfully reading from ROM does not affect anything at all. I have a '245 between the 6502 and the RAM, which is not enabled while reading from ROM, and not enabled for the video signal, so changing PHI2 does not affect it.
To not have this affect anything, I am no longer writing to ROM at the $C000 location, but now the $FFFF location. This would put any RAM writes on the 32K chip at $7FFF instead, which is technically video memory but off screen.
So! Interesting "feature" discovered! And now it's accommodated for in software. I'd rather not increase chip count just to 'fix' this 'feature'. So, I think I'll keep it
That's what you get when you try to minimize a system so much. Interesting things pop up at times!
There's the update. Space Invaders is complete now, and I'm nearly ready to get the next revision board printed. Hopefully it won't be bodgy.
Thanks everyone!
Chad