I seem to have some difficulty understanding this behavior. Below is an excerpt from NESTEST.log:
As far as I understand, 0xFF is loaded into A, which is pushed onto the stack. Finally it is brought out of the stack and placed in the status registers... or not... because 0xFF went in to the operation and somehow the processor flags were set as 0xEF (missing the break flag).
Anyone have any information about why this is the case? Thanks!
Code:
C822 A9 FF LDA #$FF A:2F X:00 Y:00 P:2F SP:FB CYC: 80 SL:243
C824 48 PHA A:FF X:00 Y:00 P:AD SP:FB CYC: 86 SL:243
C825 28 PLP A:FF X:00 Y:00 P:AD SP:FA CYC: 95 SL:243
C826 D0 09 BNE $C831 A:FF X:00 Y:00 P:EF SP:FB CYC:107 SL:243
C824 48 PHA A:FF X:00 Y:00 P:AD SP:FB CYC: 86 SL:243
C825 28 PLP A:FF X:00 Y:00 P:AD SP:FA CYC: 95 SL:243
C826 D0 09 BNE $C831 A:FF X:00 Y:00 P:EF SP:FB CYC:107 SL:243
As far as I understand, 0xFF is loaded into A, which is pushed onto the stack. Finally it is brought out of the stack and placed in the status registers... or not... because 0xFF went in to the operation and somehow the processor flags were set as 0xEF (missing the break flag).
Anyone have any information about why this is the case? Thanks!