Build Your Own Arcade Controls Forum
Main => Software Forum => Topic started by: 2slk on March 26, 2003, 11:17:23 pm
-
Are there any options that would speed up games that use .chd images to run? Some games (killer instinct, KI2, Vicious Circle) are running like molasses. Core hardware on my test system is:
AMD XP 2100+
GF4 ti4200 128 MEGS
512MEGS RAM
HD is Ultra ATA.
Using MAME .66 & Win XP
Thanks in advance.
-
Hmmm... I run Area 51 and Maximum Force, which have quite large CHD's, and they run fine on my Athlon XP 2000+ with its awful embedded s3 Savage4 video under Windows 98. Your system should blow mine away. Perhaps it's not the CHD that's at fault, but the game itself?
--Chris
-
Chris,
Actually, area51 runs OK on my system (well, except for the annoying reload situation). I have been unsuccessful in extracting the maximum force .chd so far so I couldn't comment (I have another post on that). So far, it's really the three games that I listed.
Thanks for the reply.
-
There's a patch to fix the reload situation; I've installed it and it works great... of course, you have to recompile MAME to do it....
This part goes in src/drivers/cojag.c:
PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_Y, 70, 10, 0, 255 )
PORT_START /* fake analog X */
PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_X | IPF_PLAYER2, 50, 10, 0, 255 )
PORT_START /* fake analog Y */
PORT_ANALOG( 0xff, 0x80, IPT_LIGHTGUN_Y | IPF_PLAYER2, 70, 10, 0, 255 )
PORT_START /* gun triggers */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_SPECIAL ) /* gun data valid */
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SPECIAL ) /* gun data valid */
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* fake reload triggers */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_SPECIAL ) /* gun data valid */
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SPECIAL ) /* gun data valid */
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
and in src/vidhrdw/jaguar.c change READ32_HANDLER( cojag_gun_input_r ) to:
READ32_HANDLER( cojag_gun_input_r )
{
int beamx, beamy;
switch (offset)
{
case 0:
if (!(readinputport(8) & 0x04)) return 0;
get_crosshair_xy(1, &beamx, &beamy);
beamx += 52;
beamy += 17;
return (beamy << 16) | (beamx ^ 0x1ff);
case 1:
if (!(readinputport(8) & 0x08)) return 0;
get_crosshair_xy(0, &beamx, &beamy);
beamx += 52;
beamy += 17;
return (beamy << 16) | (beamx ^ 0x1ff);
case 2:
return (readinputport(7) & readinputport(8)) << 16;
}
return 0;
}
-
Chris,
Cool, thanks. Can't wait to check it out. ;D