nestest.nes gave me all OKs on the first screen but most games ran with very corrupted graphics.
After 2 hours of wondering why everytime there was a write to PPU my emulator would read PPU just beforehand (causing the corruption), I discovered that I had accidentally done the following;
Instread of being a XWrite I had entered XRead for all of the STA, STX and STY opcodes. How the hell did nestest.nes miss this?
After 2 hours of wondering why everytime there was a write to PPU my emulator would read PPU just beforehand (causing the corruption), I discovered that I had accidentally done the following;
Code:
inline void C6502::Opcode85()
{
ZeroPageRead();
STA();
}
{
ZeroPageRead();
STA();
}
Instread of being a XWrite I had entered XRead for all of the STA, STX and STY opcodes. How the hell did nestest.nes miss this?