latest SMS+GG WIP

This commit is contained in:
dinkc64 2015-03-03 22:45:12 +00:00
parent 849652bb73
commit 4acf3099c7
3 changed files with 31 additions and 11 deletions

View File

@ -145,6 +145,8 @@ INT32 SMSFrame()
if(SMSJoy1[1]) input.system |= (IS_GG) ? INPUT_START : INPUT_PAUSE;
}
BurnTransferClear();
ZetOpen(0);
system_frame(0);
ZetClose();
@ -174,6 +176,18 @@ static rominfo_t game_list[] = {
{0xA577CE46, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, "Micro Machines"},
{0x8813514B, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, "Excellent Dizzy (Proto)"},
{0xAA140C9C, MAPPER_CODIES, DISPLAY_PAL, TERRITORY_EXPORT, "Excellent Dizzy (Proto - GG)"},
{0x76c5bdfb, MAPPER_CODIES, DISPLAY_NTSC,TERRITORY_EXPORT, "Jang Pung 2 (KR)"},
{0x18fb98a3, MAPPER_CODIES, DISPLAY_NTSC,TERRITORY_EXPORT, "Jang Pung 3 (KR)"},
// GameGear
{0x6CAA625B, MAPPER_CODIES, DISPLAY_NTSC,TERRITORY_EXPORT, "Cosmic Spacehead [GG]"},
{0x152F0DCC, MAPPER_CODIES, DISPLAY_NTSC,TERRITORY_EXPORT, "Drop Zone"},
{0x5E53C7F7, MAPPER_CODIES, DISPLAY_NTSC,TERRITORY_EXPORT, "Ernie Els Golf"},
{0xD9A7F170, MAPPER_CODIES, DISPLAY_NTSC,TERRITORY_EXPORT, "Man Overboard!"},
{0xF7C524F6, MAPPER_CODIES, DISPLAY_NTSC,TERRITORY_EXPORT, "Micro Machines [GG]"},
{0xDBE8895C, MAPPER_CODIES, DISPLAY_NTSC,TERRITORY_EXPORT, "Micro Machines 2 - Turbo Tournament"},
{0xC1756BEE, MAPPER_CODIES, DISPLAY_NTSC,TERRITORY_EXPORT, "Pete Sampras Tennis"},
{0x72981057, MAPPER_CODIES, DISPLAY_NTSC,TERRITORY_EXPORT, "CJ Elephant Fugitive"},
{0x72420f38, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, "Addams Family"},
{0x887d9f6b, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, "XXAce of Aces"},
{0x3793c01a, MAPPER_SEGA, DISPLAY_PAL, TERRITORY_EXPORT, "XXShadow Dancer (KR)"},
@ -225,7 +239,6 @@ static rominfo_t game_list[] = {
{0xf06f2ccb, MAPPER_MSX, DISPLAY_NTSC, TERRITORY_EXPORT, "Eagles 5(KR)"},
{0xdd74bcf1, MAPPER_MSX, DISPLAY_NTSC, TERRITORY_EXPORT, "Exa Innova E.I. (KR)"},
{0x17ab6883, MAPPER_MSX, DISPLAY_NTSC, TERRITORY_EXPORT, "FA Tetris (KR)"},
{0x18fb98a3, MAPPER_MSX, DISPLAY_NTSC, TERRITORY_EXPORT, "Jang Pung 3 (KR)"},
//{, MAPPER_MSX, DISPLAY_NTSC, TERRITORY_EXPORT, " (KR)"},
{0 , -1 , -1, -1, NULL},
};

View File

@ -253,13 +253,14 @@ void render_line(int line)
/* Update pattern cache */
update_bg_pattern_cache();
memset(linebuf, 0, bitmap.width);
/* Blank line (full width) */
if((IS_GG) && line < 8) { // fix for crap at top of screen in GG -dink
//char bg = (char)linebuf[0];
memset(linebuf, 0, bitmap.width);
// do nothing
} else
if(!(vdp.reg[1] & 0x40))
{
{
memset(linebuf, BACKDROP_COLOR, bitmap.width);
}
else
@ -275,11 +276,17 @@ void render_line(int line)
/* Blank leftmost column of display */
if(vdp.reg[0] & 0x20)
{
if (IS_GG)
bitmap.viewport.x = 44; // fixes crap on the right side of the screen in Devilish, Yuyu & Codemasters games
memset(linebuf, BACKDROP_COLOR, 8);
// center the screen -dink
memmove(linebuf+4, linebuf+8, bitmap.width);
memset(linebuf+bitmap.width-4, BACKDROP_COLOR, 4);
}
memmove(linebuf+4, linebuf+8, bitmap.viewport.w + bitmap.viewport.x);
if (!IS_GG)
memset(linebuf+bitmap.viewport.w + bitmap.viewport.x - 4, BACKDROP_COLOR, 4);
} else {
if (IS_GG)
bitmap.viewport.x = 48;
}
}
if(bitmap.depth != 8) remap_8_to_16(line);
@ -604,9 +611,9 @@ void palette_sync(int index, int force)
void remap_8_to_16(int line)
{
if (line > nScreenHeight) return;
int i;
uint16 *p = (uint16 *)&bitmap.data[(line * bitmap.pitch)];
for(i = bitmap.viewport.x; i < bitmap.viewport.w + bitmap.viewport.x; i++)
UINT16 *p = (uint16 *)&bitmap.data[(line * bitmap.pitch)];
for (INT32 i = bitmap.viewport.x; i < bitmap.viewport.w + bitmap.viewport.x; i++)
{
p[i] = internal_buffer[i] & PIXEL_MASK;
}

View File

@ -52,7 +52,7 @@ void vdp_reset(void)
vdp.extended = 0;
vdp.height = 192;
bitmap.viewport.x = (IS_GG) ? 48 : 0;
bitmap.viewport.x = (IS_GG) ? 48 : 0; // 44 for (vdp.reg[0] & 0x20 && IS_GG)
bitmap.viewport.y = (IS_GG) ? 24 : 0;
bitmap.viewport.w = (IS_GG) ? 160 : 256;
bitmap.viewport.h = (IS_GG) ? 144 : 192;