First of all, excuse my english. I'm spanish, so sometimes I find it difficult to say exactly what I wanna say.
Well, I'm writing this cause I need some help about the NES bank switching system. I've started to write my first emulator, a NES one. I've coded the 6502 core ( it seems to work fine ), and I've done some other little tasks. The problem is that I only can work with little games, you know, 32K PRG games, cause I'm lost with bank switching.
What I would like you to do ( if possible ) is to explain me more or less what bank switching consists on. I know the basic concepts but, for example, I don't know how the CPU core has to work with these banks, how the CPU reads the info from them, how the info is stored in the memory map, how... etc. I've read Ritchie's MMC1 document and some others, but I still don't have a clear idea about how this system works. A graphical explanation would be great!
If it's not possible could you tell me where can I find clear information about this topic? Web sites, or other texts, or something else... I've also visited www.nesdev.parodius.net, but I haven't been able to find anything useful for me.
Lots of thanks in advance!