1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-19 23:32:28 +00:00

Corrected CPx bit 3 and 5 flags. I think only BIT n, (HL) with the famous MEMPTR reliance is preventing a complete pass by Zexall now.

This commit is contained in:
Thomas Harte 2017-06-04 14:59:18 -04:00
parent f5c910beb7
commit a2f01b4a46

View File

@ -1205,8 +1205,10 @@ template <class T> class Processor {
parity_overflow_result_ = bc_.full ? Flag::Parity : 0; \ parity_overflow_result_ = bc_.full ? Flag::Parity : 0; \
half_carry_result_ = halfResult; \ half_carry_result_ = halfResult; \
subtract_flag_ = Flag::Subtract; \ subtract_flag_ = Flag::Subtract; \
sign_result_ = zero_result_ = result; \
\
result -= (halfResult >> 4)&1; \
bit53_result_ = (uint8_t)((result&0x8) | ((result&0x2) << 4)); \ bit53_result_ = (uint8_t)((result&0x8) | ((result&0x2) << 4)); \
sign_result_ = zero_result_ = result;
case MicroOp::CPDR: { case MicroOp::CPDR: {
CPxR_STEP(-1); CPxR_STEP(-1);