X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Farea.c;h=e12b94919912bc93a7aaf2a28a9e790b0e74d45d;hb=3cf9570bacd8952713106a2a2e3176852d811d18;hp=8a14d55847442d73899a832352297bd00121666f;hpb=bcc9eda077d079ea5005d60ac58f9fe0d5105abe;p=picodrive.git diff --git a/pico/area.c b/pico/area.c index 8a14d55..e12b949 100644 --- a/pico/area.c +++ b/pico/area.c @@ -89,8 +89,9 @@ PICO_INTERNAL void PicoAreaUnpackCpu(unsigned char *cpu, int is_sub) CycloneSetSr(context, *(unsigned int *)(cpu+0x44)); context->osp=*(unsigned int *)(cpu+0x48); memcpy(context->d,cpu,0x40); - context->membase=0; - context->pc = context->checkpc(*(unsigned int *)(cpu+0x40)); // Base pc + context->membase = 0; + context->pc = *(unsigned int *)(cpu+0x40); + CycloneUnpack(context, NULL); // rebase PC context->irq = cpu[0x4c]; context->state_flags = 0; if (cpu[0x4d]) @@ -144,6 +145,10 @@ static int PicoAreaScan(int is_write, unsigned int ver, void *PmovFile) SCAN_VAR(Pico.m ,"misc") SCAN_VAR(Pico.video,"video") + // no longer keeping eeprom data in sram_reg + if (!is_write && (Pico.m.sram_reg & 4)) + Pico.m.sram_reg = SRR_MAPPED; + if (is_write) z80_pack(cpu_z80); ret = SCAN_VAR(cpu_z80,"cpu_z80")