Quantcast
Viewing all articles
Browse latest Browse all 746

oam_read test

Hi, I'm trying to get the oam_read test to run on my NES emulator. To debug, I'm comparing my log with Nintendulator log. However, the Nintendulator log makes me question my understanding of OAM reading and writing.

Here's the nintendulator log snippet, extracted from line 51187 to 51230:

Code:

E78A  A9 00     LDA #$00                        A:00 X:00 Y:00 P:A6 SP:FD PPU: 42,241 CYC:176318E78C  8D 00 20  STA $2000 = FF                  A:00 X:00 Y:00 P:26 SP:FD PPU: 48,241 CYC:176320E78F  A9 00     LDA #$00                        A:00 X:00 Y:00 P:26 SP:FD PPU: 60,241 CYC:176324E791  8D 01 20  STA $2001 = FF                  A:00 X:00 Y:00 P:26 SP:FD PPU: 66,241 CYC:176326E794  A2 00     LDX #$00                        A:00 X:00 Y:00 P:26 SP:FD PPU: 78,241 CYC:176330E796  8E 03 20  STX $2003 = FF                  A:00 X:00 Y:00 P:26 SP:FD PPU: 84,241 CYC:176332E799  AD 04 20  LDA $2004 = FF                  A:00 X:00 Y:00 P:26 SP:FD PPU: 96,241 CYC:176336E79C  49 E3     EOR #$E3                        A:FF X:00 Y:00 P:A4 SP:FD PPU:108,241 CYC:176340E79E  8E 03 20  STX $2003 = FF                  A:1C X:00 Y:00 P:24 SP:FD PPU:114,241 CYC:176342E7A1  8D 04 20  STA $2004 = FF                  A:1C X:00 Y:00 P:24 SP:FD PPU:126,241 CYC:176346E7A4  8D 04 20  STA $2004 = FF                  A:1C X:00 Y:00 P:24 SP:FD PPU:138,241 CYC:176350E7A7  8D 04 20  STA $2004 = FF                  A:1C X:00 Y:00 P:24 SP:FD PPU:150,241 CYC:176354E7AA  8D 04 20  STA $2004 = FF                  A:1C X:00 Y:00 P:24 SP:FD PPU:162,241 CYC:176358E7AD  8D 04 20  STA $2004 = FF                  A:1C X:00 Y:00 P:24 SP:FD PPU:174,241 CYC:176362E7B0  8D 04 20  STA $2004 = FF                  A:1C X:00 Y:00 P:24 SP:FD PPU:186,241 CYC:176366E7B3  8D 04 20  STA $2004 = FF                  A:1C X:00 Y:00 P:24 SP:FD PPU:198,241 CYC:176370E7B6  8D 04 20  STA $2004 = FF                  A:1C X:00 Y:00 P:24 SP:FD PPU:210,241 CYC:176374E7B9  8E 03 20  STX $2003 = FF                  A:1C X:00 Y:00 P:24 SP:FD PPU:222,241 CYC:176378E7BC  4D 04 20  EOR $2004 = FF                  A:1C X:00 Y:00 P:24 SP:FD PPU:234,241 CYC:176382E7BF  9D 25 02  STA $0225,X @ 0225 = 00         A:00 X:00 Y:00 P:26 SP:FD PPU:246,241 CYC:176386E7C2  E8        INX                             A:00 X:00 Y:00 P:26 SP:FD PPU:261,241 CYC:176391E7C3  D0 D1     BNE $E796                       A:00 X:01 Y:00 P:24 SP:FD PPU:267,241 CYC:176393E796  8E 03 20  STX $2003 = FF                  A:00 X:01 Y:00 P:24 SP:FD PPU:276,241 CYC:176396E799  AD 04 20  LDA $2004 = FF                  A:00 X:01 Y:00 P:24 SP:FD PPU:288,241 CYC:176400E79C  49 E3     EOR #$E3                        A:1C X:01 Y:00 P:24 SP:FD PPU:300,241 CYC:176404E79E  8E 03 20  STX $2003 = FF                  A:FF X:01 Y:00 P:A4 SP:FD PPU:306,241 CYC:176406E7A1  8D 04 20  STA $2004 = FF                  A:FF X:01 Y:00 P:A4 SP:FD PPU:318,241 CYC:176410E7A4  8D 04 20  STA $2004 = FF                  A:FF X:01 Y:00 P:A4 SP:FD PPU:330,241 CYC:176414E7A7  8D 04 20  STA $2004 = FF                  A:FF X:01 Y:00 P:A4 SP:FD PPU:  1,242 CYC:176418E7AA  8D 04 20  STA $2004 = FF                  A:FF X:01 Y:00 P:A4 SP:FD PPU: 13,242 CYC:176422E7AD  8D 04 20  STA $2004 = FF                  A:FF X:01 Y:00 P:A4 SP:FD PPU: 25,242 CYC:176426E7B0  8D 04 20  STA $2004 = FF                  A:FF X:01 Y:00 P:A4 SP:FD PPU: 37,242 CYC:176430E7B3  8D 04 20  STA $2004 = FF                  A:FF X:01 Y:00 P:A4 SP:FD PPU: 49,242 CYC:176434E7B6  8D 04 20  STA $2004 = FF                  A:FF X:01 Y:00 P:A4 SP:FD PPU: 61,242 CYC:176438E7B9  8E 03 20  STX $2003 = FF                  A:FF X:01 Y:00 P:A4 SP:FD PPU: 73,242 CYC:176442E7BC  4D 04 20  EOR $2004 = FF                  A:FF X:01 Y:00 P:A4 SP:FD PPU: 85,242 CYC:176446E7BF  9D 25 02  STA $0225,X @ 0226 = 00         A:00 X:01 Y:00 P:26 SP:FD PPU: 97,242 CYC:176450E7C2  E8        INX                             A:00 X:01 Y:00 P:26 SP:FD PPU:112,242 CYC:176455E7C3  D0 D1     BNE $E796                       A:00 X:02 Y:00 P:24 SP:FD PPU:118,242 CYC:176457E796  8E 03 20  STX $2003 = FF                  A:00 X:02 Y:00 P:24 SP:FD PPU:127,242 CYC:176460E799  AD 04 20  LDA $2004 = FF                  A:00 X:02 Y:00 P:24 SP:FD PPU:139,242 CYC:176464E79C  49 E3     EOR #$E3                        A:E3 X:02 Y:00 P:A4 SP:FD PPU:151,242 CYC:176468E79E  8E 03 20  STX $2003 = FF                  A:00 X:02 Y:00 P:26 SP:FD PPU:157,242 CYC:176470E7A1  8D 04 20  STA $2004 = FF                  A:00 X:02 Y:00 P:26 SP:FD PPU:169,242 CYC:176474
At the 4th line from the bottom, the LDA $2004 returns E3 to the accumulator instead of the expected FF value, which was previously written to OAM[2] above.

Does anyone know what's happening here? Any help is appreciated. Thanks for reading

Statistics: Posted by minhmxc — Sat Sep 14, 2024 12:50 am — Replies 2 — Views 102



Viewing all articles
Browse latest Browse all 746

Trending Articles