mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
sms: some bugfixes
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@870 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
fcdefcf62c
commit
03065bb617
3 changed files with 10 additions and 2 deletions
|
@ -260,6 +260,7 @@ void PicoDoHighPal555M4(void)
|
||||||
t |= (t >> 4) & 0x08610861;
|
t |= (t >> 4) & 0x08610861;
|
||||||
*dpal = t;
|
*dpal = t;
|
||||||
}
|
}
|
||||||
|
HighPal[0xe0] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FinalizeLineRGB555M4(int line)
|
static void FinalizeLineRGB555M4(int line)
|
||||||
|
|
|
@ -257,6 +257,8 @@ void PicoFrameMS(void)
|
||||||
for (y = 0; y < lines; y++)
|
for (y = 0; y < lines; y++)
|
||||||
{
|
{
|
||||||
pv->v_counter = Pico.m.scanline = y;
|
pv->v_counter = Pico.m.scanline = y;
|
||||||
|
if (y > 218)
|
||||||
|
pv->v_counter = y - 6;
|
||||||
|
|
||||||
if (y < lines_vis && !skip)
|
if (y < lines_vis && !skip)
|
||||||
PicoLineMode4(y);
|
PicoLineMode4(y);
|
||||||
|
|
|
@ -384,6 +384,10 @@ static int state_load(void *file)
|
||||||
char header[8];
|
char header[8];
|
||||||
int ver, len;
|
int ver, len;
|
||||||
|
|
||||||
|
memset(buff_m68k, 0, sizeof(buff_m68k));
|
||||||
|
memset(buff_s68k, 0, sizeof(buff_s68k));
|
||||||
|
memset(buff_z80, 0, sizeof(buff_z80));
|
||||||
|
|
||||||
g_read_offs = 0;
|
g_read_offs = 0;
|
||||||
CHECKED_READ(8, header);
|
CHECKED_READ(8, header);
|
||||||
if (strncmp(header, "PicoSMCD", 8) && strncmp(header, "PicoSEXT", 8))
|
if (strncmp(header, "PicoSMCD", 8) && strncmp(header, "PicoSEXT", 8))
|
||||||
|
@ -408,7 +412,6 @@ static int state_load(void *file)
|
||||||
|
|
||||||
case CHUNK_Z80:
|
case CHUNK_Z80:
|
||||||
CHECKED_READ_BUFF(buff_z80);
|
CHECKED_READ_BUFF(buff_z80);
|
||||||
z80_unpack(buff_z80);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CHUNK_RAM: CHECKED_READ_BUFF(Pico.ram); break;
|
case CHUNK_RAM: CHECKED_READ_BUFF(Pico.ram); break;
|
||||||
|
@ -499,13 +502,15 @@ readend:
|
||||||
if (!(Pico_mcd->s68k_regs[0x36] & 1) && (Pico_mcd->scd.Status_CDC & 1))
|
if (!(Pico_mcd->s68k_regs[0x36] & 1) && (Pico_mcd->scd.Status_CDC & 1))
|
||||||
cdda_start_play();
|
cdda_start_play();
|
||||||
|
|
||||||
// must unpack after mem is set up
|
|
||||||
SekUnpackCpu(buff_s68k, 1);
|
SekUnpackCpu(buff_s68k, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// must unpack 68k and z80 after banks are set up
|
||||||
if (!(PicoAHW & PAHW_SMS))
|
if (!(PicoAHW & PAHW_SMS))
|
||||||
SekUnpackCpu(buff_m68k, 0);
|
SekUnpackCpu(buff_m68k, 0);
|
||||||
|
|
||||||
|
z80_unpack(buff_z80);
|
||||||
|
|
||||||
if (PicoAHW & PAHW_32X)
|
if (PicoAHW & PAHW_32X)
|
||||||
Pico32xStateLoaded();
|
Pico32xStateLoaded();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue