diff --git a/src/mame/drivers/saturn.c b/src/mame/drivers/saturn.c index 662292d9c19..8fe1e08650e 100644 --- a/src/mame/drivers/saturn.c +++ b/src/mame/drivers/saturn.c @@ -4126,11 +4126,11 @@ GAME( 1995, finlarch, smleague,stv, stv, finlarch, ROT0, "Sega", GAME( 1996, sokyugrt, stvbios, stv, stv, sokyugrt, ROT0, "Raizing / Eighting", "Soukyugurentai / Terra Diver (JUET 960821 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) GAME( 1995, suikoenb, stvbios, stv, stv, suikoenb, ROT0, "Data East", "Suikoenbu / Outlaws of the Lost Dynasty (JUETL 950314 V2.001)", GAME_IMPERFECT_SOUND ) GAME( 1996, vfkids, stvbios, stv, stv, stv, ROT0, "Sega", "Virtua Fighter Kids (JUET 960319 V0.000)", GAME_IMPERFECT_SOUND ) +GAME( 1997, vmahjong, stvbios, stv, stvmp, stv, ROT0, "Micronet", "Virtual Mahjong (J 961214 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) GAME( 1997, winterht, stvbios, stv, stv, winterht, ROT0, "Sega", "Winter Heat (JUET 971012 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) GAME( 1997, znpwfv, stvbios, stv, stv, znpwfv, ROT0, "Sega", "Zen Nippon Pro-Wrestling Featuring Virtua (J 971123 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) /* Almost */ -GAME( 1997, vmahjong, stvbios, stv, stvmp, stv, ROT0, "Micronet", "Virtual Mahjong (J 961214 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) GAME( 1998, twcup98, stvbios, stv, stv, twcup98, ROT0, "Tecmo", "Tecmo World Cup '98 (JUET 980410 V1.000)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // player movement GAME( 1998, elandore, stvbios, stv, stv, elandore, ROT0, "Sai-Mate", "Touryuu Densetsu Elan-Doree / Elan Doree - Legend of Dragoon (JUET 980922 V1.006)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) diff --git a/src/mame/video/stvvdp2.c b/src/mame/video/stvvdp2.c index 5c8f26fbbdb..5ce3c243b64 100644 --- a/src/mame/video/stvvdp2.c +++ b/src/mame/video/stvvdp2.c @@ -5637,8 +5637,8 @@ static void stv_vdp2_get_window0_coordinates(running_machine &machine,UINT16 *s_ *e_y = ((STV_VDP2_W0EY & 0x3ff) >> 0); break; case 3: - *s_y = ((STV_VDP2_W0SY & 0x7ff) >> 0); - *e_y = ((STV_VDP2_W0EY & 0x7ff) >> 0); + *s_y = ((STV_VDP2_W1SY & 0x7ff) >> 0) << 1; + *e_y = ((STV_VDP2_W1EY & 0x7ff) >> 0) << 1; break; } switch(STV_VDP2_HRES & 6) @@ -5684,8 +5684,8 @@ static void stv_vdp2_get_window1_coordinates(running_machine &machine,UINT16 *s_ *e_y = ((STV_VDP2_W1EY & 0x3ff) >> 0); break; case 3: - *s_y = ((STV_VDP2_W1SY & 0x3ff) >> 0); - *e_y = ((STV_VDP2_W1EY & 0x3ff) >> 0); + *s_y = ((STV_VDP2_W1SY & 0x3ff) >> 0) << 1; + *e_y = ((STV_VDP2_W1EY & 0x3ff) >> 0) << 1; break; } switch(STV_VDP2_HRES & 6) @@ -5948,6 +5948,7 @@ static void draw_sprites(running_machine &machine, bitmap_t *bitmap, const recta mycliprect.max_x = cliprect->max_x; mycliprect.min_y = cliprect->min_y; mycliprect.max_y = cliprect->max_y; + stv_vdp2_apply_window_on_layer(machine,&mycliprect); if (interlace_framebuffer == 0 && double_x == 0 ) @@ -6446,7 +6447,7 @@ SCREEN_UPDATE( stv_vdp2 ) fp=fopen("mamevdp1", "w+b"); if (fp) { - fwrite(stv_vdp1_vram, 0x80000, 1, fp); + fwrite(state->m_vdp1_vram, 0x80000, 1, fp); fclose(fp); } } @@ -6458,7 +6459,7 @@ SCREEN_UPDATE( stv_vdp2 ) fp=fopen("vdp1_vram.bin", "r+b"); if (fp) { - fread(stv_vdp1_vram, 0x80000, 1, fp); + fread(state->m_vdp1_vram, 0x80000, 1, fp); fclose(fp); } }