- [NEW] La posició del cursor se marca amb un requadre blau (no relleno) en el desensamblador

- [NEW] setcursor corregeix l'adreça si no coincideix amb una instrucció
- [FIX] Corregits els opcodes FD34 i FD35
- [NEW] Ara en el analitzador es borra o es fixa la memòria amb DELETE i RETURN
- [NEW] Fent click en un pixel del analitzador du a la posició de memòria que toca en el desensamblador
- [NEW] ui::printvoidrect()
- [NEW] la finestra del analitzador pilla el foco nomes amb pasar per damunt
- [NEW] Fent click en una linea del desensamblador fica o lleva un breakpoint en eixa adreça
- [FIX] les accions en el analitzador actualitzen la finestra del debugger
- [FIX] El cursor del analitzador nomes es deu moure al estar damunt de al finestra del analitzador
- [FIX] El desensamblador, quan el tag de memoria era MIXED no reconixia part de la instrucció
- [FIX] El desensamblador usava el color incorrecte per a codi amb el tag REPEAT
This commit is contained in:
2024-12-14 09:31:52 +01:00
parent c9aceeb387
commit 6768c01c81
6 changed files with 83 additions and 25 deletions

16
z80.cpp
View File

@@ -153,15 +153,15 @@ namespace z80
if (memtag[addr] != MEMTAG_IGNORE) {
if (!code) {
if ( memtag[addr] == MEMTAG_INST ) {
printf("WARNING! READING DATA FROM CODE!!! $%4X\n", addr);
z80debug::stop();
//printf("WARNING! READING DATA FROM CODE!!! $%4X\n", addr);
//z80debug::stop();
} else {
memtag[addr] = MEMTAG_DATA;
}
} else {
if ( (reading_m1) && (memtag[addr] == MEMTAG_DATA) ) {
printf("WARNING! EXECUTING DATA AS CODE!!! $%4X\n", addr);
z80debug::stop();
//printf("WARNING! EXECUTING DATA AS CODE!!! $%4X\n", addr);
//z80debug::stop();
}
}
}
@@ -210,8 +210,8 @@ namespace z80
z80debug::setmemmodified(addr);
if ( (memtag[addr] != MEMTAG_IGNORE) && (memtag[addr] != MEMTAG_MIXED) ) {
if (memtag[addr]==MEMTAG_INST) {
printf("WARNING! WRITING DATA OVER CODE!!! $%4X\n", addr);
z80debug::stop();
//printf("WARNING! WRITING DATA OVER CODE!!! $%4X\n", addr);
//z80debug::stop();
} else if (memtag[addr] == MEMTAG_CODE) {
memtag[addr] = MEMTAG_MIXED;
} else {
@@ -2339,8 +2339,8 @@ namespace z80
case 0x31: INVALID(opcode); break;
case 0x32: INVALID(opcode); break;
case 0x33: INVALID(opcode); break;
case 0x34: INCMEM8(rIY+READ_MEM_8());t+=2; break;
case 0x35: DECMEM8(rIY+READ_MEM_8());t+=2; break;
case 0x34: d=READ_MEM_8(); INCMEM8(rIY+d);t+=2; break;
case 0x35: d=READ_MEM_8(); DECMEM8(rIY+d);t+=2; break;
case 0x36: d=READ_MEM_8(); WRITE_MEM_8(rIY+d, READ_MEM_8()); t+=2; break;
case 0x37: INVALID(opcode); break;
case 0x38: INVALID(opcode); break;