Compare commits

...

2 Commits

Author SHA1 Message Date
omarandlorraine 547c49228f
Merge 38a2dfb2f3 into 11499b6bc8 2023-11-01 03:29:09 +00:00
Sam M W 38a2dfb2f3 add failing test 2022-08-11 22:38:44 +01:00
1 changed files with 22 additions and 0 deletions

View File

@ -1103,6 +1103,28 @@ mod tests {
assert_eq!(cpu.registers.accumulator, 0);
}
#[cfg_attr(feature = "decimal_mode", test)]
fn invalid_decimal_values_test() {
let mut cpu = CPU::new();
cpu.registers.status.remove(Status::PS_CARRY);
cpu.add_with_carry(0x0e);
assert_eq!(cpu.registers.accumulator, 0x0e);
cpu.registers.status.or(Status::PS_DECIMAL_MODE);
assert_eq!(cpu.registers.accumulator, 0x0e);
assert!(!cpu.registers.status.contains(Status::PS_CARRY));
assert!(!cpu.registers.status.contains(Status::PS_ZERO));
assert!(!cpu.registers.status.contains(Status::PS_NEGATIVE));
assert!(!cpu.registers.status.contains(Status::PS_OVERFLOW));
cpu.add_with_carry(-92); // hex $a4
assert_eq!(cpu.registers.accumulator, 0x18);
assert!(cpu.registers.status.contains(Status::PS_CARRY));
assert!(!cpu.registers.status.contains(Status::PS_ZERO));
assert!(cpu.registers.status.contains(Status::PS_NEGATIVE));
assert!(!cpu.registers.status.contains(Status::PS_OVERFLOW));
}
#[cfg_attr(feature = "decimal_mode", test)]
fn decimal_add_test() {
let mut cpu = CPU::new(Ram::new(), Nmos6502);