By - swampdonkey2246
Neat. NES emulator's a good choice. Building a minimum system is comparatively easy, but then there are all those wonderful opportunities for "dang, I didn't expect a game to do *that* in the middle of a frame" and "wait, obscure_mapper_85 does *what*?"
Thank you. The comments on my previous post motivated me to actually try and do it, so I very much appreciate this community for its support :)
Bellow the opcodes was a test for SBC $#01 with value $11 in accumulator, and carry being 1. I think the result is correct.
Self advertisement: check out the tests I put together [here](https://github.com/TomHarte/ProcessorTests/tree/main/nes6502); if nothing else I could do with the feedback.
You’ll find 10,000 randomly-generated tests per instruction, each test being:
* an initial processor state;
* some memory values to set up;
* processor state after one instruction;
* the values in all touched memory locations after the instruction; and
* a cycle-by-cycle breakdown of CPU bus transactions.
All tests are expressed in JSON so they should be easy to parse — I don’t really know the Java libraries but I assume there’s a JSON parser already in there.
So the idea is that you should be able to test immediately upon implementing each opcode, for any subset of opcodes you actually expect to be correct, and if discrepancies that are found you immediately have the before and after to inspect.
Ooh yeah that seems really useful. Thanks, I will certainly make use of that.
Now comes the PPU :)
And the rest of the cpu haha, I have only done the arithmetic and store operations at the moment. There are certainly some bugs, but I will fix them
Good going! And good luck in further development :)