- [CHG] En proves: fer un IN a un port no usat ara torna 0x00 en compte de 0xFF. Probablement hi haurà que revertir-ho.

- [NEW] Amb F9 es pot ficar o llevar un breakpoint en l'adreça on estiga el cursor del desensamblador.
- [NEW] Nou comando de la consola "show analyzer"
- [FIX] Quan es fa un full refresh mentres se debugga no ha de causar interrupcions. A més, ara mantenim els t_states i el punter a pantalla.
- [FIX] La instrucció CPIR llegia mal la memòria apuntada per HL al considerar si hi havia coincidencia
This commit is contained in:
2024-12-18 13:22:56 +01:00
parent bdec53eb97
commit 6f45044a9a
4 changed files with 31 additions and 14 deletions

12
z80.cpp
View File

@@ -930,10 +930,11 @@ namespace z80
}
}
void CPI()
uint8_t CPI()
{
bool keep_fC = (rF & fC);
CP(READ_MEM_8(rHL));
const uint8_t hlmem = READ_MEM_8(rHL);
CP(hlmem);
rHL++;
rBC--;
t+=2;
@@ -941,12 +942,13 @@ namespace z80
if (keep_fC) SET_FLAGS(fC);
if (rBC!=0) SET_FLAGS(fP);
//if (READ_MEM_8(rHL)==rA) SET_FLAGS(fZ);
return hlmem;
}
void CPIR()
{
CPI();
if (rBC!=0 && READ_MEM_8(rHL)!=rA)
const uint8_t hlmem = CPI();
if (rBC!=0 && hlmem!=rA)
{
rPC-=2;
t+=2;
@@ -996,7 +998,7 @@ namespace z80
}
return val;
} else
return 0xff;
return 0xFF;
}
void OUT(uint8_t val, int port = 0x10000)