Hey guys and gals,
I'm in the process of emulating the CPU. I've been running it against nestest and comparing my CPU state with the Nintendulator log. Finally I've run across something that's stumped me.
First: I have emulated no additional hardware. All I'm doing is loading the ROM into memory at 0xc000 and letting it go. I have a suspicion that maybe I'm missing something here and that's what the problem is.
I'm stumped on the following line:
So, an absolute read from $a9a9 on one of the unofficial NOP opcodes. In Nintendulator, the value at $a9a9 is $a9, but in mine it's $00.
I've done some scanning through the previous N lines (where 'N' is a relatively large number) of the log and nothing seems to write to $a9a9 (though, of course, it's possible I'm missing something).
Is this something to do with writing to a weird memory-space? I realize it's not that big of a deal, since either way -- a NOP is a NOP and none of the opcodes up to that point seem to have been different than Nintendulator, but the one-off is screwing up my automated testing.
Anyone have any ideas?
I'm in the process of emulating the CPU. I've been running it against nestest and comparing my CPU state with the Nintendulator log. Finally I've run across something that's stumped me.
First: I have emulated no additional hardware. All I'm doing is loading the ROM into memory at 0xc000 and letting it go. I have a suspicion that maybe I'm missing something here and that's what the problem is.
I'm stumped on the following line:
Code:
5013 expected: C6C9 0C A9 A9 *NOP $A9A9 = A9 A:AA X:97 Y:4E P:EF SP:F7
5013 actual : C6C9 0C A9 A9 *NOP $A9A9 = 00 A:AA X:97 Y:4E P:EF SP:F7
5013 actual : C6C9 0C A9 A9 *NOP $A9A9 = 00 A:AA X:97 Y:4E P:EF SP:F7
So, an absolute read from $a9a9 on one of the unofficial NOP opcodes. In Nintendulator, the value at $a9a9 is $a9, but in mine it's $00.
I've done some scanning through the previous N lines (where 'N' is a relatively large number) of the log and nothing seems to write to $a9a9 (though, of course, it's possible I'm missing something).
Is this something to do with writing to a weird memory-space? I realize it's not that big of a deal, since either way -- a NOP is a NOP and none of the opcodes up to that point seem to have been different than Nintendulator, but the one-off is screwing up my automated testing.
Anyone have any ideas?