- [FIX] OR() was ANDing instead of ORing
- [FIX] BIT() was doing the opposite of what it should. - [FIX] IX_BIT_INSTRUCTIONS() where never called - [NEW] Afegit color al zxscreen
This commit is contained in:
6
z80.cpp
6
z80.cpp
@@ -395,7 +395,7 @@ namespace z80
|
||||
|
||||
void OR(uint8_t b)
|
||||
{
|
||||
rA = rA & b;
|
||||
rA = rA | b;
|
||||
rF=0;
|
||||
FLAGS_SZXY(rA);
|
||||
SET_PARITY_FLAG();
|
||||
@@ -709,7 +709,7 @@ namespace z80
|
||||
const uint8_t res = v & 1<<pos;
|
||||
KEEP_FLAGS(fC);
|
||||
SET_FLAGS(fH);
|
||||
if (~(v>>pos) & 1) SET_FLAGS(fZ | fP);
|
||||
if (!res) SET_FLAGS(fZ | fP);
|
||||
if (res&0x80) SET_FLAGS(fS);
|
||||
if (res&0x20) SET_FLAGS(fY);
|
||||
if (res&0x08) SET_FLAGS(fX);
|
||||
@@ -2290,7 +2290,7 @@ namespace z80
|
||||
case 0xBE: d=READ_MEM_8(); CP(READ_MEM_8(rIY+d));t+=5; break;
|
||||
case 0xBF: CP(rA); break;
|
||||
|
||||
case 0xCB: IX_BIT_INSTRUCTIONS(); break;
|
||||
case 0xCB: IY_BIT_INSTRUCTIONS(); break;
|
||||
case 0xE1: POP(_rIY); break;
|
||||
case 0xE3: EX_MEM(_rIY, rSP); break;
|
||||
case 0xE5: PUSH(rIY); break;
|
||||
|
||||
Reference in New Issue
Block a user