idle skip for sfz3upper, and fixed a gfx regression

This commit is contained in:
Angelo Salese 2010-05-04 14:56:06 +00:00
parent 5323d14f1c
commit 06758e886e
4 changed files with 21 additions and 15 deletions

View File

@ -5783,7 +5783,7 @@ GAME( 2001, naomigd, 0, naomi, naomi, naomi, ROT0, "Sega",
/* GDL-xxxx ("licensed by Sega" games) */
GAME( 2001, gundmgd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom", "Mobile Suit Gundam: Federation VS Zeon (GDL-0001)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
GAME( 2001, sfz3ugd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom", "Street Fighter Zero 3 Upper (GDL-0002)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
GAME( 2001, sfz3ugd, naomigd, naomigd, naomi, sfz3ugd, ROT0, "Capcom", "Street Fighter Zero 3 Upper (GDL-0002)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
//GDL-0003
GAME( 2001, cvsgd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millenium Fight 2000 Pro (GDL-0004)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
//GDL-0005 Doki Doki Idol Star Seeker

View File

@ -23,6 +23,7 @@ extern DRIVER_INIT( naomi );
extern DRIVER_INIT( naomi_mp );
extern DRIVER_INIT( naomi2 );
extern DRIVER_INIT( sfz3ugd );
extern DRIVER_INIT( ggxxsla );
extern DRIVER_INIT( ggxxrl );
extern DRIVER_INIT( ggxx );

View File

@ -688,7 +688,8 @@ WRITE64_HANDLER( dc_sysctrl_w )
else //direct texture path
dc_sysctrl_regs[SB_C2DSTAT]=address+ddtdata.length;
timer_set(space->machine, ATTOTIME_IN_USEC(200), NULL, 0, ch2_dma_irq);
/* 200 usecs breaks sfz3upper */
timer_set(space->machine, ATTOTIME_IN_USEC(50), NULL, 0, ch2_dma_irq);
/* simulate YUV FIFO processing here */
if((address & 0x1800000) == 0x0800000)
timer_set(space->machine, ATTOTIME_IN_USEC(500), NULL, 0, yuv_fifo_irq);

View File

@ -2,21 +2,10 @@
Per-game specific JVS settings / idle loop skips for the MAME Naomi driver.
suchie3: check bp c0a6458 (might be protection related)
tetkiwam: check bp c09613a
vtennis: check wpset dee3ec8,8,w,wpdata==0xa8804000
suchie3: check bp c0a6458
vtennis2: check bp c020130 / wpset c013ff0,f,w,wpdata==0x3f800000 -> 0xc020434 (test mode)
smarinef: put cabinet in STD mode, bp c027968, wpset c0e66a6,4,w
hotd2: bp 0xc0ba235, modify work RAM 0xc9c35e8 to be zero, bpclear
hotd2o: bp 0xc0ba1f6, modify work RAM 0xc9c35a8 to be zero, bpclear
***************************************************************************/
#include "emu.h"
@ -235,13 +224,28 @@ static READ64_HANDLER( naomigd_ggxxrl_idle_skip_r )
return naomi_ram64[0x18d6c8/8];
}
DRIVER_INIT( ggxxrl )
{
memory_install_read64_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xc18d6c8, 0xc18d6cf, 0, 0, naomigd_ggxxrl_idle_skip_r);
DRIVER_INIT_CALL(naomi);
}
/* at least speeds up the annoying copyright screens ;-) */
static READ64_HANDLER( naomigd_sfz3ugd_idle_skip_r )
{
if (cpu_get_pc(space->cpu)==0xc36a2dc)
cpu_spinuntil_time(space->cpu, ATTOTIME_IN_USEC(500));
return naomi_ram64[0x5dc900/8];
}
DRIVER_INIT( sfz3ugd )
{
memory_install_read64_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xc5dc900, 0xc5dc907, 0, 0, naomigd_sfz3ugd_idle_skip_r);
DRIVER_INIT_CALL(naomi);
}
DRIVER_INIT( qmegamis )
{
DRIVER_INIT_CALL(naomi);