summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2018-02-12 11:28:45 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2018-02-12 11:28:45 +0100
commit3ef7728d357ef313148e5659c0c627e394fe8c03 (patch)
tree349f83b6ce31d158c002c0f163e5859f834a9c87
parentc5219643162cb7d2a8688425a09008d28c8e2437 (diff)
fcrash.cpp: let wofabl have sprites. Suffers from heavy glitching, so left as not working (nw)
-rw-r--r--src/mame/drivers/fcrash.cpp45
-rw-r--r--src/mame/includes/cps1.h1
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<uint16_t[]>(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);