latest SMS+GG WIP
This commit is contained in:
parent
849652bb73
commit
4acf3099c7
|
@ -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},
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue