X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fdebug.c;h=d6b91bdda30332c857ae2c3ed7beb05f0a1a4bbd;hb=87b0845f3733166b491ae236feb8bc2eb0fca2ec;hp=4751cf4f176fdb0147edc67081a2fedc9afb5ad6;hpb=7b3f44c6b677a60b63b092f825a2b6c58166b70c;p=picodrive.git diff --git a/pico/debug.c b/pico/debug.c index 4751cf4..d6b91bd 100644 --- a/pico/debug.c +++ b/pico/debug.c @@ -161,22 +161,14 @@ void PDebugShowSpriteStats(unsigned short *screen, int stride) void PDebugShowPalette(unsigned short *screen, int stride) { - unsigned int *spal=(void *)Pico.cram; - unsigned int *dpal=(void *)HighPal; - int x, y, i; + int x, y; - for (i = 0x3f/2; i >= 0; i--) -#ifdef USE_BGR555 - dpal[i] = ((spal[i]&0x000f000f)<< 1)|((spal[i]&0x00f000f0)<<3)|((spal[i]&0x0f000f00)<<4); -#else - dpal[i] = ((spal[i]&0x000f000f)<<12)|((spal[i]&0x00f000f0)<<3)|((spal[i]&0x0f000f00)>>7); -#endif - for (i = 0x3f; i >= 0; i--) - HighPal[0x40|i] = (unsigned short)((HighPal[i]>>1)&0x738e); - for (i = 0x3f; i >= 0; i--) { - int t=HighPal[i]&0xe71c;t+=0x4208;if(t&0x20)t|=0x1c;if(t&0x800)t|=0x700;if(t&0x10000)t|=0xe000;t&=0xe71c; - HighPal[0x80|i] = (unsigned short)t; - } + Pico.m.dirtyPal = 1; + if (PicoAHW & PAHW_SMS) + PicoDoHighPal555M4(); + else + PicoDoHighPal555(1); + Pico.m.dirtyPal = 1; screen += 16*stride+8; for (y = 0; y < 8*4; y++) @@ -192,8 +184,6 @@ void PDebugShowPalette(unsigned short *screen, int stride) for (y = 0; y < 8*4; y++) for (x = 0; x < 8*16; x++) screen[x + y*stride] = HighPal[(x/8 + (y/8)*16) | 0x80]; - - Pico.m.dirtyPal = 1; } #if defined(DRAW2_OVERRIDE_LINE_WIDTH) @@ -280,11 +270,19 @@ void PDebugShowSprite(unsigned short *screen, int stride, int which) void PDebugDumpMem(void) { - dump_ram(Pico.ram, "dumps/ram.bin"); dump_ram_noswab(Pico.zram, "dumps/zram.bin"); - dump_ram(Pico.vram, "dumps/vram.bin"); dump_ram(Pico.cram, "dumps/cram.bin"); - dump_ram(Pico.vsram,"dumps/vsram.bin"); + + if (PicoAHW & PAHW_SMS) + { + dump_ram_noswab(Pico.vramb, "dumps/vram.bin"); + } + else + { + dump_ram(Pico.ram, "dumps/ram.bin"); + dump_ram(Pico.vram, "dumps/vram.bin"); + dump_ram(Pico.vsram,"dumps/vsram.bin"); + } if (PicoAHW & PAHW_MCD) { @@ -306,6 +304,9 @@ void PDebugZ80Frame(void) { int lines, line_sample; + if (PicoAHW & PAHW_SMS) + return; + if (Pico.m.pal) { lines = 312; line_sample = 68; @@ -342,3 +343,11 @@ void PDebugZ80Frame(void) timers_cycle(); } +void PDebugCPUStep(void) +{ + if (PicoAHW & PAHW_SMS) + z80_run(1); + else + SekStepM68k(); +} +