I'm developing a game for a subset of the MMC3 that fits on a particular CPLD. I'm trying to ensure that the game doesn't accidentally do anything that the subset can't handle. Is there a way to tell any stable NES emulator to log or stop if any of the following inadvertently occur?
The answer to "Then just don't do that!" is "We did not budget for formal verification."
Or would it be better to modify an emulator's source code to support the subset directly?
- Writes to $8000 with a value greater than 7, no matter from which register the write came
- Writes to $8001 with bit 4 = 1 while $8000 is 0 or 1
- Writes to $8001 with bit 4 = 0 while $8000 is 2, 3, 4, or 5
The answer to "Then just don't do that!" is "We did not budget for formal verification."
Or would it be better to modify an emulator's source code to support the subset directly?