There's no bus conflicts on CHR, because the PPU has separate /RD and /WR strobes. The CHR ROM gets enabled, but isn't hooked up to /WR, so no write happens.Andy18650 wrote: ↑Sun May 08, 2022 11:19 am I don't understand. why does games write to an area that is ROM? wouldn't that cause a bus conflict? The idea behind this question is that if no games write to CHR-ROM, I can jsut load the CHR-ROM from the SD card and leave it there. If it's a CHR-RAM game, then it will be aware what it's doing. If a CHR-ROM game tries to write to the ROM expecting nothing will change when something does change, the game is likely to crash/have major visual artifact.
As to why? Sometimes, because of mapper hacks, from a game that had CHR RAM but was modified to have a fixed ROM CHR instead. Sometimes because of bugs.
Er. What's the distinction you're making here? Why does it matter if it's a physical cartridge?The category seems to be composed of not-so-popular game (I don't have time to go through them one by one, so correct me if I'm wrong) Such games will only run on physical cartridge.
You can't know, unfortunately. Every programmer did something different, so every game will use a different part of RAM...What I wanted to ask was, how many bytes are used? considering many games' 'savefile' could be encoded into a 'password', then I don't think it will be too long.
But how is this relevant to how games used that area?What I want to do is to bankswitch a battery-backed $6000~$7FFF SRAM area, then we can have multiple games saved on a single machine (but then I realize if I load the game from SD card, I can just write to a file. If I use battery-backed cartridge, it would have it's own WRAM and battery...)
Ranges should really be obvious in both FCEUX and Mesen...I know, but I am only able to read/write-break a single address, not a range of addresses.
You may wish to read how the Game Doctor works - it's basically this idea.it's because I want to create a 'generic mapper' with a 74LS670. The idea is to catch mapper writes, analyse it, then emulate it in BIOS.