sf2m3, sf2m8 - boots up, sound works, some gfx issues

This commit is contained in:
Robbbert 2013-03-15 08:23:28 +00:00
parent 3f4aa4873d
commit d0a4f25e58
3 changed files with 49 additions and 7 deletions

View File

@ -264,6 +264,24 @@ READ16_MEMBER(cps_state::cps1_hack_dsw_r)
return (in << 8) | in;
}
READ16_MEMBER(cps_state::cps1_in1_r)
{
int in = ioport("IN1")->read();
return (in << 8) | in;
}
READ16_MEMBER(cps_state::cps1_in2_r)
{
int in = ioport("IN2")->read();
return (in << 8) | in;
}
READ16_MEMBER(cps_state::cps1_in3_r)
{
int in = ioport("IN3")->read();
return (in << 8) | in;
}
READ16_MEMBER(cps_state::forgottn_dial_0_r)
{
return ((ioport("DIAL0")->read() - m_dial[0]) >> (8 * offset)) & 0xff;
@ -622,6 +640,21 @@ ADDRESS_MAP_START( qsound_sub_map, AS_PROGRAM, 8, cps_state ) // used by cps2.
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("qsound_ram2")
ADDRESS_MAP_END
static ADDRESS_MAP_START( sf2m3_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800010, 0x800011) AM_READ_PORT("IN1") /* Player input ports */
AM_RANGE(0x800028, 0x80002f) AM_READ(cps1_hack_dsw_r) /* System input ports / Dip Switches */
AM_RANGE(0x800030, 0x800037) AM_WRITE(cps1_coinctrl_w)
AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_SHARE("cps_a_regs") /* CPS-A custom */
AM_RANGE(0x800140, 0x80017f) AM_MIRROR(0x80) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_SHARE("cps_b_regs") /* CPS-B custom */
AM_RANGE(0x800186, 0x800187) AM_READ(cps1_in2_r) /* Buttons 4,5,6 for both players */
AM_RANGE(0x800190, 0x800197) AM_WRITE(cps1_soundlatch_w) /* Sound command */
AM_RANGE(0x800198, 0x80019f) AM_WRITE(cps1_soundlatch2_w) /* Sound timer fade */
AM_RANGE(0x8001a0, 0x8001bf) AM_WRITE(cps1_cps_a_w)
AM_RANGE(0x900000, 0x92ffff) AM_RAM_WRITE(cps1_gfxram_w) AM_SHARE("gfxram")
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
/***********************************************************
INPUT PORTS, DIPs
***********************************************************/
@ -3276,6 +3309,11 @@ static MACHINE_CONFIG_DERIVED( wofhfh, cps1_12MHz )
MCFG_EEPROM_ADD("eeprom", qsound_eeprom_interface)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( sf2m3, cps1_12MHz)
MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(sf2m3_map)
MACHINE_CONFIG_END
/***************************************************************************
@ -8581,8 +8619,8 @@ ROM_START( sf2m8 )
ROMX_LOAD( "yyc-d", 0x200004, 0x80000, CRC(92a8b572) SHA1(cbad24e519f0152989764c054da914f55e2b118c), ROM_GROUPWORD | ROM_SKIP(6) )
ROM_CONTINUE( 0x200006, 0x80000)
ROMX_LOAD( "yyc-e", 0x400000, 0x80000, CRC(61138469) SHA1(dec3b3af6e3f4fedf51600ddf0515f61b2122493), ROM_GROUPWORD | ROM_SKIP(6) )
ROM_CONTINUE( 0x400002, 0x80000)
ROMX_LOAD( "yyc-f", 0x400004, 0x80000, CRC(b800dcdb) SHA1(2ec3251b78159b15032d55a5ee5138f159e67190), ROM_GROUPWORD | ROM_SKIP(6) )
ROM_CONTINUE( 0x400004, 0x80000)
ROMX_LOAD( "yyc-f", 0x400002, 0x80000, CRC(b800dcdb) SHA1(2ec3251b78159b15032d55a5ee5138f159e67190), ROM_GROUPWORD | ROM_SKIP(6) )
ROM_CONTINUE( 0x400006, 0x80000)
/* extra gfx layer roms loaded over the former ones to remove the capcom copyright logo */
ROMX_LOAD( "yyc-6.1", 0x400000, 0x10000, CRC(94778332) SHA1(c0b9a05c710b89864ee5df1a53b39de30c994e2d), ROM_SKIP(7) )
@ -11269,15 +11307,15 @@ GAME( 1992, sf2amf, sf2ce, cps1_12MHz, sf2amf, cps_state, cps1,
GAME( 1992, sf2dkot2, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Double K.O. Turbo II, bootleg)", GAME_SUPPORTS_SAVE ) // 902140 !!! - based on USA version
GAME( 1992, sf2m1, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (M1, bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
GAME( 1992, sf2m2, sf2ce, cps1_12MHz, sf2m2, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M2, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
GAME( 1992, sf2m3, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (M3, bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
GAME( 1992, sf2m3, sf2ce, sf2m3, sf2hack, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (M3, bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1992, sf2m4, sf2ce, cps1_12MHz, sf2m4, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M4, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on Japan version
GAME( 1992, sf2m5, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M5, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
GAME( 1992, sf2m6, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M6, bootleg)", GAME_SUPPORTS_SAVE ) // 811102 !!! - based on World version
GAME( 1992, sf2m7, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M7, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
GAME( 1992, sf2m8, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M8, bootleg)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
GAME( 1992, sf2m8, sf2ce, sf2m3, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M8, bootleg)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
GAME( 1992, sf2yyc, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (YYC, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
GAME( 1992, sf2koryu, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (Xiang Long, Chinese bootleg)", GAME_SUPPORTS_SAVE ) // 811102 !!! - based on World version
GAME( 1992, sf2dongb, sf2ce, cps1_12MHz, sf2, cps_state, sf2dongb, ROT0, "bootleg", "Street Fighter II': Champion Edition (Dongfang Bubai protection, bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 920313 - based on World version
GAME( 1992, sf2dongb, sf2ce, cps1_12MHz, sf2, cps_state, sf2dongb, ROT0, "bootleg", "Street Fighter II': Champion Edition (Dongfang Bubai protection, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
GAME( 1992, cworld2j, 0, cps1_12MHz, cworld2j, cps_state, cps1, ROT0, "Capcom", "Adventure Quiz Capcom World 2 (Japan 920611)", GAME_SUPPORTS_SAVE )
GAME( 1992, varth, 0, cps1_12MHz, varth, cps_state, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (World 920714)", GAME_SUPPORTS_SAVE ) // "ETC" // 12MHz verified
GAME( 1992, varthr1, varth, cps1_12MHz, varth, cps_state, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (World 920612)", GAME_SUPPORTS_SAVE ) // "ETC"

View File

@ -165,6 +165,9 @@ public:
msm5205_device *m_msm_1; // fcrash
msm5205_device *m_msm_2; // fcrash
DECLARE_READ16_MEMBER(cps1_hack_dsw_r);
DECLARE_READ16_MEMBER(cps1_in1_r);
DECLARE_READ16_MEMBER(cps1_in2_r);
DECLARE_READ16_MEMBER(cps1_in3_r);
DECLARE_READ16_MEMBER(forgottn_dial_0_r);
DECLARE_READ16_MEMBER(forgottn_dial_1_r);
DECLARE_WRITE16_MEMBER(forgottn_dial_0_reset_w);

View File

@ -464,6 +464,7 @@ The games seem to use them to mark platforms, kill zones and no-go areas.
#define CPS_B_21_QS4 0x2e,0x0c01, -1, -1, -1, -1, 0x1c,0x1e,0x08, 0x16,{0x00,0x02,0x28,0x2a},0x2c, {0x04,0x08,0x10,0x00,0x00}
#define CPS_B_21_QS5 0x1e,0x0c02, -1, -1, -1, -1, 0x0c, -1, -1, 0x2a,{0x2c,0x2e,0x30,0x32},0x1c, {0x04,0x08,0x10,0x00,0x00}
#define HACK_B_1 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0x14,{0x12,0x10,0x0e,0x0c},0x0a, {0x0e,0x0e,0x0e,0x30,0x30}
#define HACK_H_3 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0x04,{0x12,0x10,0x0e,0x0c},0x0a, {0x02,0xc4,0x18,0x00,0x00}
/*
CPS_B_21_DEF is CPS-B-21 at default settings (no battery)
@ -1385,13 +1386,13 @@ static const struct CPS1config cps1_config_table[]=
{"sf2dkot2", CPS_B_21_DEF, mapper_S9263B, 0x36 },
{"sf2m1", CPS_B_21_DEF, mapper_S9263B, 0x36 },
{"sf2m2", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },
{"sf2m3", CPS_B_21_DEF, mapper_S9263B, 0x36 },
{"sf2m3", HACK_H_3, mapper_S9263B, 0, 0, 0, 1 },
{"sf2m4", HACK_B_1, mapper_S9263B, 0x36, 0, 0, 1 },
{"sf2m5", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },
{"sf2m6", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },
{"sf2m7", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },
{"sf2m8", HACK_H_3, mapper_S9263B, 0, 0, 0, 1 },
{"sf2dongb", CPS_B_21_DEF, mapper_S9263B, 0x36 },
//sf2m8 unsupported
{"sf2yyc", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },
{"sf2koryu", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },
{"sf2mdt", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },