I've been running tests for the past 10 hours or so (running 3 copies of the simulator at once). I didn't run every single test, some take a ridiculously long time to run (1 second test = 1 hour... one of them took about 5-6 hours to complete)
The CPU seems to be working correctly in most cases ($4014 writes aside).
ADC/SBC (and RRA/ISC which reuse their logic) are bugged (I imagine the "carry" part of the operation might not be working properly?) - this has the potential to break other tests if they are used.
The APU seems to be working as well (irq_flag failed, and dmc dma's behavior seems to be slightly incorrect)
The PPU is hard to say - with the $4014 bug, sprite-related tests will all fail.
The palette RAM test passed, but I'm fairly sure there is something wrong with the palette in general.
The background color that gets output seems to always use $3F0F instead of $3F00 (so the lower 4 bits are inverted - incorrect wiring maybe?), among other things.
Hopefully these results can eventually be useful in trying to fix the visual 2A03/2C02 - I'm not sure there is anything I can do beyond this, though.
Edit: Also updated the download link to include the latest build (better speed, fixes, and some UI improvements)
Code: Select all
03.irq_flag: FAIL ($06 - "Writing $00 or $80 to $4017 doesn't affect flag")
power_up_palette: FAIL (expected it to fail)
sprite_ram: FAIL ($06 - "$4014 DMA copy doesn't work at all")
dma_2007_read: FAIL? (Outputs: 11 22, 11 22, 11 22, 11 22, 33 44 - 4AEFDE12)
double_2007_read: FAIL? (Outputs: 22 33 44 55 66, 02 33 44 55 66, 31D9ED83)
02-immediate: FAIL (69 ADC, E9 SBC)
03-zero_page: FAIL (65 ADC, E5 SBC, 67 RRA, E7 ISC)
04-zp_xy: FAIL (75 ADC, F5 SBC, 77 RRA, F7 ISC)
05-absolute: FAIL (6D ADC, ED SBC, 6E RRA, EF ISC)
06-abs_xy: FAIL (7D ADC, 79 ADC, FD SBC, F9 SBC, 7F RRA, FF ISC, 7B RRA, FB ISC)
07-ind_x: FAIL (61 ADC, E1 SBC, 63 RRA, E3 ISC)
08-ind_y: FAIL (F1 SBC, 71 ADC, 73 RRA, F3 ISC)
oam_read: FAIL (Displays mostly stars)
01-basics: FAIL ("Flag isn't working at all" - Most likely caused by broken $4014 writes)
01-basics: FAIL ("Should clear flag at end of VBL" - Not sure what is causing this)
count_errors_fast: FAIL (because no controller is connected - need to emulate a standard controller and try again)
test_2: FAIL (might be normal - apparently can also fail on NES based on cpu-ppu alignment)
test_6: FAIL (not sure if this is normal - test 6 was originally affected by alignment, but it sounded like it was fixed?)
The OAM read test looked like this: