From bdec53eb974a6ce40f3627113fc5a309e99dbf58 Mon Sep 17 00:00:00 2001 From: Raimon Zamora Date: Tue, 17 Dec 2024 17:40:42 +0100 Subject: [PATCH] =?UTF-8?q?-=20[FIX]=20Els=20opcodes=20DD=20amb=20par?= =?UTF-8?q?=C3=A0metre=20de=2016=20bits=20mostraven=20mal=20l'adre=C3=A7a?= =?UTF-8?q?=20-=20[FIX]=20Al=20carregar=20un=20estat=20el=20contador=20de?= =?UTF-8?q?=20programa=20no=20mantenia=20l'adre=C3=A7a=20correcta=20-=20[N?= =?UTF-8?q?EW]=20Afegit=20al=20analitzador=20la=20visualitzaci=C3=B3=20de?= =?UTF-8?q?=20escritura=20de=20dades=20-=20[NEW]=20Deshabilite=20les=20int?= =?UTF-8?q?errupcions=20al=20entrar=20a=20una=20interrupci=C3=B3.=20No=20s?= =?UTF-8?q?e=20si=20fa=20falta.=20-=20[NEW]=20Afegit=20el=20Batman=20de=20?= =?UTF-8?q?Jon=20Ritman=20pa=20provar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- batman.sav | Bin 0 -> 49183 bytes batmanritman.tap | Bin 0 -> 47819 bytes symbols-glaurung.txt | 13 +++++++++++ symbols.txt | 14 +----------- z80.cpp | 50 ++++++++++++++++++++++--------------------- z80analyze.cpp | 6 +++--- z80debug.cpp | 2 ++ z80dis.cpp | 2 +- 8 files changed, 46 insertions(+), 41 deletions(-) create mode 100644 batman.sav create mode 100644 batmanritman.tap create mode 100644 symbols-glaurung.txt diff --git a/batman.sav b/batman.sav new file mode 100644 index 0000000000000000000000000000000000000000..9aad46a0dfe89f64f20fb2512aac345a6ef27bc5 GIT binary patch literal 49183 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 literal 0 HcmV?d00001 diff --git a/batmanritman.tap b/batmanritman.tap new file mode 100644 index 0000000000000000000000000000000000000000..ba504db0a85216ce4dd5413faed392608f5904a2 GIT binary patch literal 47819 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 Or5N!n)8BJy(f literal 0 HcmV?d00001 diff --git a/symbols-glaurung.txt b/symbols-glaurung.txt new file mode 100644 index 0000000..1872db7 --- /dev/null +++ b/symbols-glaurung.txt @@ -0,0 +1,13 @@ +0x5e38 STACK +0x9a01 DRW_ROOM +0x9f00 DRW_SCO_HERO +0x9f0f VAR_VIDES +0x9f8d DRW_SCO_INV +0xa00a DRW_SCO_LIVS +0xa01a DRW_SCO_NBAG +0xa022 DRW_SCO_NARW +0xa02a DRW_SCO_PNTS +0xc661 CLEAR_SCR +0xed5e MAINLOOP +0xf2b1 DRW_HERO +0xfed5 COUNT500 diff --git a/symbols.txt b/symbols.txt index 1872db7..0c3d0c5 100644 --- a/symbols.txt +++ b/symbols.txt @@ -1,13 +1 @@ -0x5e38 STACK -0x9a01 DRW_ROOM -0x9f00 DRW_SCO_HERO -0x9f0f VAR_VIDES -0x9f8d DRW_SCO_INV -0xa00a DRW_SCO_LIVS -0xa01a DRW_SCO_NBAG -0xa022 DRW_SCO_NARW -0xa02a DRW_SCO_PNTS -0xc661 CLEAR_SCR -0xed5e MAINLOOP -0xf2b1 DRW_HERO -0xfed5 COUNT500 +0x6580 START diff --git a/z80.cpp b/z80.cpp index 5241adf..3b02d9e 100644 --- a/z80.cpp +++ b/z80.cpp @@ -217,6 +217,7 @@ namespace z80 memtag[addr] = MEMTAG_MIXED; } else { memtag[addr] = MEMTAG_DATA; + memtouched[addr] = MEMTAG_DATA; } } @@ -717,30 +718,6 @@ namespace z80 RETN(); } - void interrupt() - { - if (!iff1) return; - exit_from_halt = true; - PUSH(rPC); - uint16_t address; - if (im==1) { - rPC = 0x38; - } else if (im==2) { - address = (rI<<8) | 0xFE; - rPC = READ_MEM_16(address); - } else if (im==0) { - printf("Interrupt mode 0!\n"); - z80debug::stop(); - return; - } - if (options[Z80_OPTION_BREAK_ON_INTERRUPT]) { - printf("Break on interrupt! 0x%2x, PC: 0x%2x\n", address, rPC); - z80debug::setcursor(rPC); - z80debug::history::store(); - z80debug::stop(); - } - } - void RST(uint8_t vec) { PUSH(rPC); @@ -785,6 +762,31 @@ namespace z80 } } + void interrupt() + { + if (!iff1) return; + DI(); + exit_from_halt = true; + PUSH(rPC); + uint16_t address; + if (im==1) { + rPC = 0x38; + } else if (im==2) { + address = (rI<<8) | 0xFE; + rPC = READ_MEM_16(address); + } else if (im==0) { + printf("Interrupt mode 0!\n"); + z80debug::stop(); + return; + } + if (options[Z80_OPTION_BREAK_ON_INTERRUPT]) { + printf("Break on interrupt! 0x%2x, PC: 0x%2x\n", address, rPC); + z80debug::setcursor(rPC); + z80debug::history::store(); + z80debug::stop(); + } + } + static inline const uint8_t RLC(const uint8_t v) { const uint8_t res = (v>>7) | (v<<1); diff --git a/z80analyze.cpp b/z80analyze.cpp index dde37f9..d346e57 100644 --- a/z80analyze.cpp +++ b/z80analyze.cpp @@ -85,7 +85,7 @@ namespace z80analyze if (!win) return; if (conditional && !needs_refresh) return; needs_refresh = false; - + ui::setrenderer(ren, uitex); Uint32 *pixels; @@ -95,9 +95,9 @@ namespace z80analyze { //uint8_t tag = z80::getMemTag(i); //pixels[i] = tag==MEMTAG_NONE ? 0x808080 : tag==MEMTAG_DATA ? 0x0000FF : tag==MEMTAG_MIXED ? 0xFF00FF : 0x00FF00; - + uint32_t none_color = i<0x4000 ? 0x101010 : i<0x5800 ? 0x202020 : i<0x5b00 ? 0x404040 : 0x808080; uint8_t tag = z80::getMemTouched(i); - pixels[i] = tag==MEMTAG_NONE ? 0x808080 : tag==MEMTAG_DATA ? 0x0000FF : tag==MEMTAG_REPEAT ? 0xFF0000 : 0x00FF00; + pixels[i] = tag==MEMTAG_NONE ? none_color : tag==MEMTAG_DATA ? 0x0000FF : tag==MEMTAG_REPEAT ? 0xFF0000 : 0x00FF00; } pixels[z80::getPC()] = 0xFFFFFF; diff --git a/z80debug.cpp b/z80debug.cpp index b5de5a6..22eeba5 100644 --- a/z80debug.cpp +++ b/z80debug.cpp @@ -1028,6 +1028,8 @@ namespace z80debug fread(regs, 31, 1, f); fread(&memory[0x4000], 0xc000, 1, f); fclose(f); + history::store(); + history::gototop(); } void setcursor(const uint16_t address) diff --git a/z80dis.cpp b/z80dis.cpp index 55a7e01..f5e612b 100644 --- a/z80dis.cpp +++ b/z80dis.cpp @@ -123,7 +123,7 @@ namespace z80dis if (strstr(buffer, "4x")) { opcode_size+=2; - const uint16_t word = *(uint16_t*)(memory+((*memory==0xFD) || (*memory==0xDD)?2:1)); + const uint16_t word = *(uint16_t*)(memory+((*memory==0xFD) || (*memory==0xDD) || (*memory==0xED)?2:1)); if (symbols[word][0]!=0) { char *p = strstr(buffer, "$"); (*p)='%'; p++;