nestest failing. Is it inflalibe?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
nestest failing. Is it inflalibe?
by on (#242826)
Hi and hello again. Too much time without writing here.
Well the thing is i have been busy.

One thing i have done is study c++. So i'm writing my emu from scratch alll OOP based.

I have an awful problem:
Time ago when i developed in C i remember using nestest.nes for fixing my cpu emu problems.
The thing is that nestest is throwing me all "OK" and i have CPU errors (the reflect it in image produced).
I have changed intentinally come cpù opcodes to be wrong, but nestest keep throwing all "OK"

The question is: which is the minimum opcodes to be "right" so nestest really show me errors and correct output. I'm suer my PPU is fine.
It can't be that i comment out the line in ABSOLUTE, X and i don't add the X and keep thorwing me OK. I have made a lot of this tests.

Any idea?? I have blargg's debuger in C, should i write a debegguer, becouse i can't keep going!!
Re: nestest failing. Is it inflalibe?
by on (#242834)
nestest.nes, by itself, is known to not be complete - there are several types of CPU errors it does not catch, and it doesn't test the PPU or APU at all. We don't know exactly what errors it doesn't catch, though - to do that, you'd have to examine its code to figure out exactly what it does catch, then compare it to some other test programs to see what other things they check.


If you want to comprehensively test your emulator, I'd recommend running Blargg's tests as well - at the very least, instr_test_v5 (linked from the wiki) will give you a good idea of what else is wrong.
Re: nestest failing. Is it inflalibe?
by on (#242859)
I made it work!! As you say there are things that nestest.nes isn't infalible
The BIT instruction was setting the flags bad and TXA. I writed well those instructions and now i have correct testing.
It seems a found a point where nestest.nes was completly erroneous. Thanks god now it's fine.