return dstr;
}
+char *PDebug32x(void)
+{
+ char *dstrp = dstr;
+ unsigned short *r;
+ int i;
+
+ r = Pico32x.regs;
+ sprintf(dstrp, "regs:\n"); MVP;
+ for (i = 0; i < 0x40/2; i += 8) {
+ sprintf(dstrp, "%02x: %04x %04x %04x %04x %04x %04x %04x %04x\n",
+ i*2, r[i+0], r[i+1], r[i+2], r[i+3], r[i+4], r[i+5], r[i+6], r[i+7]); MVP;
+ }
+
+ i = 0;
+ r = Pico32x.vdp_regs;
+ sprintf(dstrp, "VDP regs:\n"); MVP;
+ sprintf(dstrp, "%02x: %04x %04x %04x %04x %04x %04x %04x %04x\n",
+ i*2, r[i+0], r[i+1], r[i+2], r[i+3], r[i+4], r[i+5], r[i+6], r[i+7]); MVP;
+
+ sprintf(dstrp, " mSH2 sSH2\n"); MVP;
+ sprintf(dstrp, "PC,SR %08x, %03x %08x, %03x\n", sh2_pc(0), sh2_sr(0), sh2_pc(1), sh2_sr(1)); MVP;
+ for (i = 0; i < 16/2; i++) {
+ sprintf(dstrp, "R%d,%2d %08x,%08x %08x,%08x\n", i, i + 8,
+ sh2_reg(0,i), sh2_reg(0,i+8), sh2_reg(1,i), sh2_reg(1,i+8)); MVP;
+ }
+ sprintf(dstrp, "gb,vb %08x,%08x %08x,%08x\n", sh2_gbr(0), sh2_vbr(0), sh2_gbr(1), sh2_vbr(1));
+
+ return dstr;
+}
+
char *PDebugSpriteList(void)
{
struct PicoVideo *pvid=&Pico.video;
dump_ram_noswab(Pico_mcd->pcm_ram,"dumps/pcm_ram.bin");
dump_ram_noswab(Pico_mcd->bram, "dumps/bram.bin");
}
+
+ if (PicoAHW & PAHW_32X)
+ {
+ dump_ram(Pico32xMem->sdram, "dumps/sdram.bin");
+ dump_ram(Pico32xMem->dram[0], "dumps/dram0.bin");
+ dump_ram(Pico32xMem->dram[1], "dumps/dram1.bin");
+ dump_ram(Pico32xMem->pal, "dumps/pal32x.bin");
+ dump_ram(Pico32xMem->data_array[0], "dumps/data_array0.bin");
+ dump_ram(Pico32xMem->data_array[1], "dumps/data_array1.bin");
+ }
}
void PDebugZ80Frame(void)
void PDebugCPUStep(void)
{
if (PicoAHW & PAHW_SMS)
- z80_run(1);
+ z80_run_nr(1);
else
SekStepM68k();
}