- [NEW] makefile més util

- [FIX] next (F11) no longer keeps breaking on current line
- [NEW] b alone sets breakpoint on current line
- [NEW] d alone clears breakpoint on current line
- [NEW] d all removes all breakpoints
- [FIX] IX bit & IY bit instruction visualization is fixed
- [FIX] RRD & RLD were swaped
This commit is contained in:
2024-04-18 13:01:51 +02:00
parent e80de06d2c
commit 145a48b86b
6 changed files with 22 additions and 12 deletions

View File

@@ -365,6 +365,7 @@ namespace z80debug
z80debug::refresh();
} else if (strcmp(cmd, "b")==0 || strcmp(cmd, "break")==0) {
getcmd();
if (cmd[0] == 0) { breakpoints[z80::getPC()]=1; return; }
int address = getnum(cmd);
if (address<0 || address>65536) { strcpy(console_error, "Illegal break address"); return; }
getcmd();
@@ -384,6 +385,8 @@ namespace z80debug
breakpoints[address] |= break_type;
} else if (strcmp(cmd, "d")==0 || strcmp(cmd, "delete")==0) {
getcmd();
if (strcmp(cmd, "all")==0) { for (int i=0;i<65536;++i) breakpoints[i]=0; return; }
if (cmd[0] == 0) { breakpoints[z80::getPC()]=0; return; }
int address = getnum(cmd);
if (address<0 || address>65536) { strcpy(console_error, "Illegal address"); return; }
getcmd();
@@ -414,9 +417,11 @@ namespace z80debug
return (breakpoints[address]&type);
}
void next()
uint32_t next()
{
breakpoints[z80::getPC()+z80dis::getOpcodeSize(z80::getPC())] |= 8;
const uint32_t t = z80::step();
cont();
return t;
}
}