MottZilla wrote:Try looking through the source code for that test.
Turned out the Timer sync wasn't working properly because I wasn't adding cycles for taken CALL, RET, and JR instructions. But now the test is saying that I'm using extremely large timing values (on the order of 255) instead of the expected times. So, as with all emu dev: fix one thing, break another.
It took some doing but I finally figured out the problem, I wasn't handling the cases where more cycles are added to my TIMA frequency timer than were being remove (262,144 hz frequency was doing this, and also happens to be the speed used by the tests). So it all boiled down to changing an if statement to a while statement.