add B6 and C1 instructions

This commit is contained in:
Brad Grantham 2019-02-16 08:44:49 -08:00
parent ee0b5fc58c
commit 0bb0b6ffd4

View File

@ -456,6 +456,15 @@ struct CPU6502
break;
}
case 0xC1: { // CMP (ind, X)
unsigned char zpg = (read_pc_inc() + x) & 0xFF;
int addr = bus.read(zpg) + bus.read((zpg + 1) & 0xFF) * 256;
m = bus.read(addr);
flag_change(C, m <= a);
set_flags(N | Z, m = a - m);
break;
}
case 0xD9: { // CMP abs, Y
int addr = read_pc_inc() + read_pc_inc() * 256;
m = bus.read(addr + y);
@ -1135,6 +1144,12 @@ struct CPU6502
break;
}
case 0xB6: { // LDX zpg, Y
int zpg = (read_pc_inc() + y) & 0xFF;
set_flags(N | Z, x = bus.read(zpg));
break;
}
case 0xA4: { // LDY
unsigned char zpg = read_pc_inc();
set_flags(N | Z, y = bus.read(zpg));