- [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

@@ -18,13 +18,15 @@ namespace z80analyze
if (e->type == SDL_MOUSEBUTTONUP)
{
if (e->button.button == 1)
z80::clearMemTouched();
//z80::clearMemTouched();
z80::clearMemTag();
else
z80::fixMemTouched();
refresh();
}
if (e->type == SDL_MOUSEMOTION)
{
SDL_ShowCursor(SDL_DISABLE);
refreshTitle();
refresh();
}
@@ -35,7 +37,6 @@ namespace z80analyze
{
if (!win)
{
SDL_ShowCursor(SDL_DISABLE);
win = SDL_CreateWindow("Z80 Analyzer", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 512, 512, SDL_WINDOW_SHOWN);
ren = SDL_CreateRenderer(win, -1, 0);
tex = SDL_CreateTexture(ren, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, 256, 256);
@@ -64,8 +65,11 @@ namespace z80analyze
SDL_LockTexture(tex, NULL, (void**)&pixels, &pitch);
for (int i=0; i<65536; ++i)
{
uint8_t tag = z80::getMemTouched(i);
pixels[i] = tag==MEMTAG_NONE ? 0x808080 : tag==MEMTAG_DATA ? 0x0000FF : tag==MEMTAG_REPEAT ? 0xFF0000 : 0x00FF00;
uint8_t tag = z80::getMemTag(i);
pixels[i] = tag==MEMTAG_NONE ? 0x808080 : tag==MEMTAG_DATA ? 0x0000FF : tag==MEMTAG_MIXED ? 0xFF00FF : 0x00FF00;
//uint8_t tag = z80::getMemTouched(i);
//pixels[i] = tag==MEMTAG_NONE ? 0x808080 : tag==MEMTAG_DATA ? 0x0000FF : tag==MEMTAG_REPEAT ? 0xFF0000 : 0x00FF00;
}
pixels[z80::getPC()] = 0xFFFFFF;