From 3ef7728d357ef313148e5659c0c627e394fe8c03 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Mon, 12 Feb 2018 11:28:45 +0100 Subject: fcrash.cpp: let wofabl have sprites. Suffers from heavy glitching, so left as not working (nw) --- src/mame/drivers/fcrash.cpp | 45 ++++++++++++++++++++++++--------------------- src/mame/includes/cps1.h | 1 + 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/src/mame/drivers/fcrash.cpp b/src/mame/drivers/fcrash.cpp index 4c1527f4093..b8721ba98a5 100644 --- a/src/mame/drivers/fcrash.cpp +++ b/src/mame/drivers/fcrash.cpp @@ -78,13 +78,11 @@ sf2m1: crowd is missing. Plane's tail comes off a bit. Patch used. sf2mdt, sf2mdta: ok -sgyxz: garbage left behind. A priority problem can be seen in 3rd demo where +sgyxz, wofabl: garbage left behind. A priority problem can be seen in 3rd demo where the fighters walk through the crowd instead of behind. slampic: no sound. A priority problem between sprites and crowd. -wofabl: no sprites. - */ #include "emu.h" @@ -797,7 +795,7 @@ ADDRESS_MAP_START(cps_state::sgyxz_map) ADDRESS_MAP_END ADDRESS_MAP_START(cps_state::wofabl_map) - AM_RANGE(0x000000, 0x3fffff) AM_ROM + AM_RANGE(0x000000, 0x1fffff) AM_ROM AM_RANGE(0x800030, 0x800031) AM_WRITE(cps1_coinctrl_w) AM_RANGE(0x800100, 0x80013f) AM_RAM AM_SHARE("cps_a_regs") /* CPS-A custom */ AM_RANGE(0x800140, 0x80017f) AM_RAM AM_SHARE("cps_b_regs") /* CPS-B custom */ @@ -2919,27 +2917,12 @@ DRIVER_INIT_MEMBER(cps_state, sf2mdt) DRIVER_INIT_MEMBER(cps_state, sf2mdtb) { - int i; - uint32_t gfx_size = memregion( "gfx" )->bytes(); - uint8_t *rom = memregion( "gfx" )->base(); - uint8_t tmp; - - for( i = 0; i < gfx_size; i += 8 ) - { - tmp = rom[i + 1]; - rom[i + 1] = rom[i + 4]; - rom[i + 4] = tmp; - tmp = rom[i + 3]; - rom[i + 3] = rom[i + 6]; - rom[i + 6] = tmp; - } - /* bootleg sprite ram */ m_bootleg_sprite_ram = std::make_unique(0x2000); m_maincpu->space(AS_PROGRAM).install_ram(0x700000, 0x703fff, m_bootleg_sprite_ram.get()); m_maincpu->space(AS_PROGRAM).install_ram(0x704000, 0x707fff, m_bootleg_sprite_ram.get()); /* both of these need to be mapped */ - DRIVER_INIT_CALL(cps1); + DRIVER_INIT_CALL(wofabl); } @@ -2966,6 +2949,26 @@ DRIVER_INIT_MEMBER(cps_state, sf2b) DRIVER_INIT_CALL(cps1); } +DRIVER_INIT_MEMBER(cps_state, wofabl) +{ + int i; + uint32_t gfx_size = memregion( "gfx" )->bytes(); + uint8_t *rom = memregion( "gfx" )->base(); + uint8_t tmp; + + for( i = 0; i < gfx_size; i += 8 ) + { + tmp = rom[i + 1]; + rom[i + 1] = rom[i + 4]; + rom[i + 4] = tmp; + tmp = rom[i + 3]; + rom[i + 3] = rom[i + 6]; + rom[i + 6] = tmp; + } + + DRIVER_INIT_CALL(cps1); +} + // ************************************************************************* SLAMPIC MACHINE_START_MEMBER(cps_state, slampic) @@ -3194,6 +3197,6 @@ GAME( 1992, sf2m9, sf2ce, sf2m1, sf2, cps_state, sf2m1, ROT0, GAME( 1993, slampic, slammast, slampic, slammast, cps_state, dinopic, ROT0, "bootleg", "Saturday Night Slam Masters (bootleg with PIC16c57)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // 930713 ETC GAME( 1999, sgyxz, wof, sgyxz, sgyxz, cps_state, cps1, ROT0, "bootleg (All-In Electronic)", "Warriors of Fate ('sgyxz' bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 921005 - Sangokushi 2 -GAME( 1999, wofabl, wof, wofabl, wofabl, cps_state, sf2mdtb, ROT0, "bootleg", "Sangokushi II (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // no sprites - 921005 - Sangokushi 2 +GAME( 1999, wofabl, wof, wofabl, wofabl, cps_state, wofabl, ROT0, "bootleg", "Sangokushi II (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // heavy gfx glitches - 921005 - Sangokushi 2 GAME( 1992, varthb, varth, varthb, varth, cps_state, dinopic, ROT270, "bootleg", "Varth: Operation Thunderstorm (bootleg)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/includes/cps1.h b/src/mame/includes/cps1.h index 778855263d7..6d7e26b688f 100644 --- a/src/mame/includes/cps1.h +++ b/src/mame/includes/cps1.h @@ -344,6 +344,7 @@ public: DECLARE_DRIVER_INIT(sf2mdtb); DECLARE_DRIVER_INIT(sf2b); DECLARE_DRIVER_INIT(slampic); + DECLARE_DRIVER_INIT(wofabl); DECLARE_MACHINE_START(fcrash); DECLARE_MACHINE_RESET(fcrash); DECLARE_MACHINE_START(cawingbl); -- cgit v1.2.3