- [NEW] Més opcions de control del etiquetat de la memòria

- [FIX] Les instruccions DD34 i DD35 no pillaven un byte signed, sino unsigned. Han de haber-ne més. REPASAR.
- [ONGOING] Preparant el analyzer per a tindre diverses visualitzacions de la memòria
- [NEW] El debugger ara mostra el etiquetat de la memòria en el desensamblador
- [FIX] El cursor ja se torna a vore en el debugger
This commit is contained in:
2024-12-13 13:52:41 +01:00
parent 8c197d5519
commit c9aceeb387
4 changed files with 68 additions and 13 deletions

View File

@@ -137,6 +137,7 @@ namespace z80debug
}
}
if (e->type == SDL_MOUSEMOTION) {
SDL_ShowCursor(SDL_ENABLE);
if (!resizing) {
if ( (e->motion.y > (mem_y*CHR_H)-8) && (e->motion.y < (mem_y*CHR_H)+8) && ( e->motion.x < midx*CHR_W ) ) {
if (resizing_type != RESIZING_MEMORY) SDL_SetCursor(cur_ns);
@@ -313,6 +314,14 @@ namespace z80debug
if ( (z80::getMemTag(address)==MEMTAG_INST) || heuristics ) {
const char *sym = z80dis::getSymbol(address);
if (sym[0]!=0) ui::printtxt(7,line, sym, COLOR_YELLOW);
const int opcodesize = z80dis::getOpcodeSize(address);
for (int i=0; i<opcodesize; ++i) {
const uint8_t tag = z80::getMemTag(address+i);
const uint32_t color = tag==MEMTAG_NONE ? COLOR_GRAY : tag==MEMTAG_DATA ? COLOR_BLUE : tag==MEMTAG_MIXED ? COLOR_MAGENTA : COLOR_GREEN;
ui::printrect(19+i*3,line,2,1,color);
}
ui::printtxt(19,line, z80dis::getOpcode(address), colors[2]);
ui::printtxt(31,line, z80dis::getAsm(address), colors[3]);
} else {
@@ -780,6 +789,10 @@ namespace z80debug
} else if (strcmp(cmd, "print")==0) {
printOpcodesUsed();
}
} else if (strcmp(cmd, "ignore")==0) {
getcmd();
int value = getnum(cmd);
z80::setMemTag(value, MEMTAG_IGNORE);
}
}