John Public
2022-04-11 18:54:14 UTC
Not sure but I think I found a bug.
Look at this table then at the 6502 and the results
0 00 0000
1 01 0001
2 02 0010
3 03 0011
4 04 0100
5 05 0101
6 06 0110
7 07 0111
8 08 1000
9 09 1001
10 0A 1010
11 0B 1011
12 0C 1100
13 0D 1101
14 0E 1110
15 0F 1111
19 ROL become 32
32 XOR 58 = 6A
6A ROL become D4
D4 XOR 79 = AD
AD ROL SHOULD BE 5B but it's 5A
Is this a bug in the CPU itself or AppleWin?
If I take AD
10101101
rotate left
01011011 = 5B
The debugger shows 5A in the accumulator with the
carry flag being set?
32 EOR 58
Look at this table then at the 6502 and the results
0 00 0000
1 01 0001
2 02 0010
3 03 0011
4 04 0100
5 05 0101
6 06 0110
7 07 0111
8 08 1000
9 09 1001
10 0A 1010
11 0B 1011
12 0C 1100
13 0D 1101
14 0E 1110
15 0F 1111
19 ROL become 32
32 XOR 58 = 6A
6A ROL become D4
D4 XOR 79 = AD
AD ROL SHOULD BE 5B but it's 5A
Is this a bug in the CPU itself or AppleWin?
If I take AD
10101101
rotate left
01011011 = 5B
The debugger shows 5A in the accumulator with the
carry flag being set?
32 EOR 58