198 Commits

Author SHA1 Message Date
100thCoin
63e51c84b5 Updated the All NOPs test.
Fixed a false-positive with the flags, since the way to verify incorrect opcode length involves DEY.
2025-07-13 00:55:50 -04:00
100thCoin
07b1c37995 Updated the all NOPs test.
Added very thorough checks for all instruction size inaccuracies.
2025-07-13 00:50:03 -04:00
100thCoin
906165098d Updated the all NOP test
The test now properly checks for writes to RAM.
2025-07-12 23:53:38 -04:00
100thCoin
0fd62635c2 Updated the all NOP test
The absolute NOP instructions now NOP to address $05CA as well as $2002
2025-07-12 23:38:46 -04:00
100thCoin
d2d135f7da Updated All NOP test
Fixed an issue with false flags
2025-07-12 23:28:50 -04:00
100thCoin
582c8cec78 Expanded the all NOP test 2025-07-12 23:13:10 -04:00
100thCoin
8d469cb13b Added a test for JSR edge cases
Added a test for JSR pushing the correct bytes, and setting the data bus to the correct value.
2025-07-12 21:40:38 -04:00
100thCoin
60f0650e8d Added a check for JSR pushing the correct return address
If JSR pushes the wrong return address, the "CopyReturnAddressToByte0" and "FixRTS" functions now take this into account.
This will likely be added to a new test.
2025-07-09 02:20:01 -04:00
100thCoin
14f7e02bc3 Fixed the timing of the DMC Bus Conflict test. 2025-06-27 02:08:45 -04:00
100thCoin
4fa2354278 Fixed CLI in the newest test causing an IRQ. 2025-06-27 00:23:29 -04:00
100thCoin
3598d0559e Updated Readme for Instruction Timing Test 2025-06-26 17:39:56 -04:00
100thCoin
c28cc8696f Updated the Instruction Timing test
I'm pretty sure it tests every official opcode now.
2025-06-26 17:28:40 -04:00
100thCoin
c13dc68719 Fixed test for DMC Conflict bug with Famicoms
I also added extra debugging tools for the SHA and SHS tests.
2025-06-25 13:38:57 -04:00
100thCoin
3442a47fc9 Fixed a visual bug with the all-tests menu.
The "Print Text" subroutine behaves differently if "dontSetPointer" is set to 0 or 1. I used this subroutine in the all-tests menu, but did not clear "dontSetPointer" after running previous tests. This has been fixed.
2025-06-25 13:26:53 -04:00
100thCoin
12bbb53d6b The Power on state tests no longer run on resets.
The Power on state tests no longer run on resets.
2025-06-25 13:19:45 -04:00
100thCoin
774f2f5a4b The "print tests" are now labeled with "DRAW"
Instead of showing "TEST" "PASS" or "FAIL", the 5 tests that simply print information on screen are now labeled as "DRAW", which does not get replaced with a pass/fail.
2025-06-25 13:05:56 -04:00
100thCoin
dd629e0575 Updated the .nes file to match the .asm changes. 2025-06-24 21:59:12 -04:00
100thCoin
9a322ceb59 Removed error code 5 form the OAM test. 2025-06-24 21:55:53 -04:00
100thCoin
312a89788e Added a test for OAM Corruption
Added a test for OAM Corruption
Reordered some of the open bus tests.
2025-06-24 18:21:35 -04:00
100thCoin
8509e14922 Fixed a typo in the readme. 2025-06-18 15:36:32 -04:00
100thCoin
3e4811b9af Prevented tests that print info on screen from printing during the all-test mode.
Prevented tests that print info on screen from printing during the all-test mode.
2025-06-18 15:35:08 -04:00
Chris Siebert
6f0d17c273 Update README.md
Updated some images, and added info about the debug menu.
2025-06-18 15:33:51 -04:00
100thCoin
4f2024a251 Added the Controller Clocking test.
Added the Controller Clocking test.
DMA + $4016 will now print which behavior was used, as well as having a "success code".
Replaced all instances in the comments of "even cycle" and "odd cycle" with "put cycle" and "get cycle"
2025-06-18 14:51:21 -04:00
100thCoin
ab5638937b Flipped success codes for Implicit DMA Abort test.
My theory is these should now correlate with the SHA and SHS behaviors.
2025-06-18 01:02:24 -04:00
100thCoin
e974470e4c Added the success code for the new DMC test to readme
Added the success code for the new DMC test to readme
2025-06-16 18:29:06 -04:00
100thCoin
22c5efbca7 Disabled the DMC after the new DMC tests
Also added "prints" for which implicit abort behavior was used.
2025-06-16 18:12:02 -04:00
100thCoin
9bf337903c Added 3 new DMC tests.
Moved controller strobing to the APU Timing page.
Added a test for DMC DMA + OAM DMA, Explicit DMA Abort, and Implicit DMA Abort.
Page-aligned the various DMA sync routines.
Clockslide36_Plus_A had an issue where if A=0, it would run something 2 cycles before the case if A=1. That subroutine was replaced with Clockslide37_Plus_A, and I corrected the timing for various functions that relied on the old one.
2025-06-16 17:08:52 -04:00
100thCoin
5ddb05fe0a DMA Sync routines are now page-aligned
This prevents branches from crossing page boundaries inside this routine.
2025-06-14 13:04:19 -04:00
100thCoin
fe3d31ab2e Updated Address $2004 behavior
When the OAM address is incremented by 4, it is also bitwise ANDed with $FC
2025-06-13 22:23:13 -04:00
100thCoin
8fc893a27f Updated a few tests to prevent infinite loops on NSO.
By disabling the DMC channel, I force the IRQ to not occur after acknowledgement in the NSO emulator, preventing an infinite loop in the Interrupt Flag Latency test.
2025-06-12 20:08:47 -04:00
100thCoin
cf72aad986 Added several tests, updated all results table.
Removed "$FFFF + X Wraparound", and replaced it with "PC Wraparound"
Added a new page with many addressing mode wraparound tests.
Added "Absolute Indexed Wraparound"
Added "Zero Page Indexed Wraparound"
Added "Indirect Addressing Wraparound"
Added "Indirect Addressing, X Wraparound"
Added "Indirect Addressing, Y Wraparound"
Added "Relative Addressing Wraparound"
Added "Decimal Flag"
Added "The B Flag"
Moved "PPU Register Mirroring" and "PPU Register Open Bus" to a new page.
Added "PPU Read Buffer"
Updated the all-test-results-table to add the two new pages.
Updated the all-test-results-table to skip any test that uses page 3 to store the results.
Moved the results of all the "print tests" to page 3.
Updated the readme.
2025-06-12 16:32:39 -04:00
100thCoin
86c5bae660 Reverted changes to the PPU Reset Flag test
Upon further research, I assume this flag should always exist.
2025-06-11 15:49:45 -04:00
100thCoin
f3a04f324f Updated the PPU Reset flag test to print results.
Updated the PPU Reset flag test to print "Reset Flag Detected" or "Reset Flag Not Detected", which are (to my current understanding) both valid.
2025-06-11 12:12:31 -04:00
100thCoin
bdd6a1aa97 Power On State PPU Reset Flag is now using success codes
I figured it was worth making that one not print "fail"
2025-06-11 00:14:36 -04:00
100thCoin
b62856dea0 Updated comments for APU Frame Counter IRQ.
corrected a typo.
2025-06-10 17:02:48 -04:00
100thCoin
288af59db8 Added more comments.
Added more comments to APU Register Activation to help explain what's happening
Added more comments to APU Frame Counter IRQ to help explain test 6 and 7 a bit better.
2025-06-10 16:55:10 -04:00
100thCoin
29941af520 Updated the comments of the Implied Dummy Read test
Fixed a few typos.
2025-06-10 16:17:51 -04:00
100thCoin
ff620908ba Added the Implied Dummy Reads test
Added the implied dummy reads test to page 18, and updated the Frame Counter IRQ test to include newly discovered behavior about the timing in which the Frame Counter IRQ flag is cleared.
2025-06-10 16:11:14 -04:00
100thCoin
1f4add7997 Updated the readme to use "should" instead of "does"
The error codes are clearer now.
2025-06-08 16:09:16 -04:00
100thCoin
12e109c44d Fixed a few typos in the readme for the DMC test. 2025-06-08 15:21:45 -04:00
100thCoin
c3802169cf Updated the README for Delta Modulation Channel
Added the error codes for test M and N.
2025-06-08 15:18:32 -04:00
100thCoin
e5a4009928 Made a correction to the DMC test
Corrected the behavior of test L, and added tests M and N.
2025-06-08 15:16:58 -04:00
100thCoin
794f042814 Updated Frame Counter IRQ and 4-step tests
Discovered bit 6 of $4015 is set for 2 cycles even if the frame counter interrupts should be suppressed.
2025-06-08 12:51:46 -04:00
100thCoin
42991dc58d Fixed a bug in the RWM $2007 Test
I modified the color palettes, so it makes sense that this would need changed.
2025-06-07 16:22:48 -04:00
100thCoin
15b47262af Extended the Address $2004 test
Added a test for reading during PPU cycles 256 to 320.
2025-06-07 15:59:24 -04:00
100thCoin
8a388e0d64 Added a debug screen, and updated DMA + Open Bus
Updated DMA + Open Bus to verify open bus won't read as $00 by default.
Added  a screen where you press select to print the values in $500 of RAM.
2025-06-07 14:43:47 -04:00
100thCoin
1237ff25c6 Merge branch 'main' of https://github.com/100thCoin/AccuracyCoin 2025-06-07 14:05:26 -04:00
Chris Siebert
51d8f1f2d9 Update README.md
Fixed formatting of the SHS error codes
2025-06-07 02:09:42 -04:00
100thCoin
134309b6db Merge branch 'main' of https://github.com/100thCoin/AccuracyCoin 2025-06-07 01:30:42 -04:00
100thCoin
a401ecb9fb Optimized a few Clockslides, fixed a typo 2025-06-07 01:30:40 -04:00