summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fcrash.c
diff options
context:
space:
mode:
author Robbbert <robbbert@users.noreply.github.com>2013-03-30 13:43:47 +0000
committer Robbbert <robbbert@users.noreply.github.com>2013-03-30 13:43:47 +0000
commit87491f9d2f8d5720dd4552ea281ce66f3dc6f8d3 (patch)
treee824ca9e18c216bbba928f41ff08c60857fd5f0d /src/mame/drivers/fcrash.c
parent0deff571baf510a30d1aea054dba109ef65ffff1 (diff)
sf2m1 - game is working apart from some very minor gfx glitches.
Diffstat (limited to 'src/mame/drivers/fcrash.c')
-rw-r--r--src/mame/drivers/fcrash.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/mame/drivers/fcrash.c b/src/mame/drivers/fcrash.c
index 8d52fee4e25..ac2068ddda4 100644
--- a/src/mame/drivers/fcrash.c
+++ b/src/mame/drivers/fcrash.c
@@ -245,7 +245,6 @@ WRITE16_MEMBER(cps_state::sf2m1_layer_w)
m_cps_a_regs[0x14 / 2] = data;
break;
case 0x06:
- {
switch (data)
{
case 0:
@@ -267,16 +266,13 @@ WRITE16_MEMBER(cps_state::sf2m1_layer_w)
data = 0x0b4e;
break;
}
+ case 0xb3:
m_cps_b_regs[m_layer_enable_reg / 2] = data;
break;
- }
case 0x0b:
case 0x1b:
m_cps_a_regs[0x06 / 2] = data;
break;
- case 0xb3:
- m_cps_b_regs[0x26 / 2] = data;
- break;
default:
logerror("%s: Unknown layer cmd %X %X\n",space.machine().describe_context(),offset<<1,data);
@@ -547,7 +543,7 @@ UINT32 cps_state::screen_update_fcrash(screen_device &screen, bitmap_ind16 &bitm
static ADDRESS_MAP_START( knightsb_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0x000000, 0x3fffff) AM_ROM
AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN1") /* Player input ports */
- AM_RANGE(0x800002, 0x800003) AM_READ_PORT("IN2")//(cps1_in2_r) /* Player 3 controls */
+ AM_RANGE(0x800002, 0x800003) AM_READ_PORT("IN2") /* Player 3 controls */
AM_RANGE(0x800004, 0x800005) AM_WRITENOP // writes 0000 here
AM_RANGE(0x800006, 0x800007) AM_WRITE(fcrash_soundlatch_w) /* Sound command */
AM_RANGE(0x800018, 0x80001f) AM_READ(cps1_dsw_r) /* System input ports / Dip Switches */
@@ -582,7 +578,7 @@ static ADDRESS_MAP_START( sf2m1_map, AS_PROGRAM, 16, cps_state )
AM_RANGE(0x800012, 0x800013) AM_READ(cps1_in2_r) /* Buttons 4,5,6 for both players */
AM_RANGE(0x800018, 0x80001f) AM_READ(cps1_dsw_r) /* System input ports / Dip Switches */
AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_SHARE("cps_a_regs") /* CPS-A custom */
- AM_RANGE(0x800140, 0x80017f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_SHARE("cps_b_regs") // area not used
+ AM_RANGE(0x800140, 0x80017f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_SHARE("cps_b_regs")
AM_RANGE(0x800180, 0x800181) AM_WRITENOP // only once at boot, for 80010c
AM_RANGE(0x800188, 0x80018f) AM_WRITE(cps1_soundlatch2_w) /* Sound timer fade */
AM_RANGE(0x880000, 0x880001) AM_WRITENOP // unknown
@@ -1988,13 +1984,21 @@ ROM_START( sf2m1 )
ROM_LOAD( "s92_19.bin", 0x20000, 0x20000, CRC(beade53f) SHA1(277c397dc12752719ec6b47d2224750bd1c07f79) )
ROM_END
+DRIVER_INIT_MEMBER(cps_state, sf2m1)
+{
+ UINT16 *mem16 = (UINT16 *)memregion("maincpu")->base();
+ mem16[0x64E/2] = 0x6046; // fix priorities
+
+ DRIVER_INIT_CALL(knightsb);
+}
+
GAME( 1990, fcrash, ffight, fcrash, fcrash, cps_state, cps1, ROT0, "bootleg (Playmark)", "Final Crash (bootleg of Final Fight)", GAME_SUPPORTS_SAVE )
GAME( 1991, kodb, kod, kodb, kodb, cps_state, kodb, ROT0, "bootleg (Playmark)", "The King of Dragons (bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 910731 "ETC"
GAME( 1991, knightsb, knights, knightsb, knights, cps_state, knightsb, ROT0, "bootleg", "Knights of the Round (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 911127 - based on World version
GAME( 1990, cawingbl, cawing, cawingbl, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM205 set 1)", GAME_SUPPORTS_SAVE )
GAME( 1990, cawingb2, cawing, cawingbl, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM205 set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1992, sf2m1, sf2ce, sf2m1, sf2, cps_state, knightsb, ROT0, "bootleg", "Street Fighter II': Champion Edition (M1, bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1992, sf2m1, sf2ce, sf2m1, sf2, cps_state, sf2m1, ROT0, "bootleg", "Street Fighter II': Champion Edition (M1, bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 920313 ETC
GAME( 1992, sf2mdt, sf2ce, sf2mdt, sf2mdt, cps_state, sf2mdt, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 920313 - based on (heavily modified) World version
GAME( 1992, sf2mdta, sf2ce, sf2mdt, sf2mdt, cps_state, sf2mdta, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 920313 - based on World version
GAME( 1999, sgyxz, wof, sgyxz, sgyxz, cps_state, cps1, ROT0, "bootleg (All-In Electronic)", "Warriors of Fate ('sgyxz' bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 921005 - Sangokushi 2