The funny thing about Cowering posting that is the code for it was promptly ripped back out for breaking everything else

Yeah, it didn't bother me at all, it was just kinda funny. The presumption that I wasn't aware of something so basic after all the stuff I've uncovered smile

Either way, I'm glad he brought it up and gave me the motivation to look at it again. It's wonderful to have one more nightmare behind us.

The final things left to do:
* S-CPU auto joypad poll timing
* S-CPUr1 HDMA crash detection
* S-CPU<>S-SMP port ORing
* S-SMP timer glitching
* S-SMP TEST register
* S-DSP mute pulse
* pseudo-random initialization of memory
* full cycle-level emulation of the S-PPU

If we get all of that, I will consider emulation as close as the difference between hardware revisions.

Also, MVN/MVP are perfectly useful on systems that actually have more than 128k of RAM, although it'd be nice if the extra 3 cycles/byte had been fixed. That's the cost of the world's last hand-laid-out processor I guess.

It has such an immense cost per byte. 56 cycles/byte, whereas DMA is 8 cycles/byte.