Preliminary work on Scorpion 4 lamps + more set resorting [David Haywood]
Discovered similarities in gotcha.c to Data East Bootleg sprites, also happening to be the closest implementation to Silver Millennium in the sources. Refactored each based on this information. [David Haywood]
This commit is contained in:
parent
912f74766d
commit
55265da530
File diff suppressed because it is too large
Load Diff
@ -229,6 +229,39 @@ READ16_MEMBER(sc4_state::sc4_mem_r)
|
||||
|
||||
static WRITE8_HANDLER( bfm_sc4_reel4_w );
|
||||
|
||||
WRITE8_MEMBER(sc4_state::mux_output_w)
|
||||
{
|
||||
int i;
|
||||
int off = offset<<3;
|
||||
|
||||
for (i=0; i<8; i++)
|
||||
output_set_lamp_value(off+i, ((data & (1 << i)) != 0));
|
||||
|
||||
|
||||
output_set_indexed_value("matrix", off+i, ((data & (1 << i)) != 0));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(sc4_state::mux_output2_w)
|
||||
{
|
||||
int i;
|
||||
int off = offset<<3;
|
||||
|
||||
for (i=0; i<8; i++)
|
||||
{
|
||||
output_set_indexed_value("matrix", off+i, ((data & (1 << i)) != 0));
|
||||
}
|
||||
|
||||
|
||||
if (offset>=20)
|
||||
{
|
||||
offset-=20;
|
||||
// todo, reorder to what our 7segs expect
|
||||
UINT8 bf7segdata = BITSWAP8(data,7,6,5,4,3,2,1,0);
|
||||
output_set_digit_value(offset, bf7segdata);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(sc4_state::sc4_mem_w)
|
||||
{
|
||||
@ -260,31 +293,61 @@ WRITE16_MEMBER(sc4_state::sc4_mem_w)
|
||||
else if ((offset>=base2) && (offset<end2))
|
||||
{
|
||||
offset-=base2;
|
||||
int addr = (offset<<1);
|
||||
|
||||
switch (offset << 1)
|
||||
if (addr < 0x0200)
|
||||
{
|
||||
case 0x0330:
|
||||
logerror("%08x meter write %04x\n",pc, data);
|
||||
//m_meterstatus = (m_meterstatus&0xc0) | (data & 0x3f);
|
||||
sec.write_clock_line(~data&0x20);
|
||||
break;
|
||||
|
||||
if (mem_mask&0xff00)
|
||||
{
|
||||
logerror("lamp write mem_mask&0xff00 unhandled\n");
|
||||
}
|
||||
|
||||
case 0x1248:
|
||||
ymz280b_w(m_ymz,0, data & 0xff);
|
||||
break;
|
||||
if (mem_mask&0x00ff)
|
||||
{ // lamps
|
||||
mux_output_w(space, (addr & 0x01f0)>>4, data);
|
||||
}
|
||||
|
||||
}
|
||||
else if ((addr >= 0x1000) && (addr < 0x1200))
|
||||
{
|
||||
if (mem_mask&0xff00)
|
||||
{
|
||||
logerror("lamp write mem_mask&0xff00 unhandled\n");
|
||||
}
|
||||
|
||||
case 0x124a:
|
||||
ymz280b_w(m_ymz,1, data & 0xff);
|
||||
break;
|
||||
if (mem_mask&0x00ff)
|
||||
{ // lamps
|
||||
mux_output2_w(space, (addr & 0x01f0)>>4, data);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (addr)
|
||||
{
|
||||
case 0x0330:
|
||||
logerror("%08x meter write %04x\n",pc, data);
|
||||
//m_meterstatus = (m_meterstatus&0xc0) | (data & 0x3f);
|
||||
sec.write_clock_line(~data&0x20);
|
||||
break;
|
||||
|
||||
case 0x1330:
|
||||
bfm_sc4_reel4_w(&space,0,data&0xf);
|
||||
//m_meterstatus = (m_meterstatus&0x3f) | ((data & 0x30) << 2);
|
||||
sec.write_data_line(~data&0x10);
|
||||
break;
|
||||
case 0x1248:
|
||||
ymz280b_w(m_ymz,0, data & 0xff);
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("%08x maincpu write access offset %08x data %04x mem_mask %04x cs %d (LAMPS etc.)\n", pc, offset*2, data, mem_mask, cs);
|
||||
case 0x124a:
|
||||
ymz280b_w(m_ymz,1, data & 0xff);
|
||||
break;
|
||||
|
||||
case 0x1330:
|
||||
bfm_sc4_reel4_w(&space,0,data&0xf);
|
||||
//m_meterstatus = (m_meterstatus&0x3f) | ((data & 0x30) << 2);
|
||||
sec.write_data_line(~data&0x10);
|
||||
break;
|
||||
|
||||
default:
|
||||
logerror("%08x maincpu write access offset %08x data %04x mem_mask %04x cs %d (LAMPS etc.)\n", pc, offset*2, data, mem_mask, cs);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -655,7 +718,7 @@ MACHINE_CONFIG_START( sc4, sc4_state )
|
||||
MCFG_DUART68681_ADD("duart68681", 16000000/4, bfm_sc4_duart68681_config) // ?? Mhz
|
||||
|
||||
|
||||
MCFG_DEFAULT_LAYOUT(layout_awpvid14)
|
||||
MCFG_DEFAULT_LAYOUT(layout_bfm_sc4)
|
||||
|
||||
MCFG_SOUND_ADD("ymz", YMZ280B, 16000000) // ?? Mhz
|
||||
MCFG_SOUND_CONFIG(ymz280b_config)
|
||||
|
@ -13,7 +13,9 @@ TODO:
|
||||
- Unknown sound writes at C00F; also, there's an NMI handler that would
|
||||
read from C00F.
|
||||
- Sound samples were getting chopped; I fixed this by changing sound/adpcm.c to
|
||||
disregard requests to play new samples until the previous one is finished.
|
||||
disregard requests to play new samples until the previous one is finished*.
|
||||
- This seems to be happening again now, I guess something else disagreed
|
||||
with the changed behavior? Maybe AD-65 specific?
|
||||
|
||||
Gotcha pcb: 97,7,29 PARA VER 3.0 but it is the same as ppchamp
|
||||
|
||||
@ -63,6 +65,7 @@ Notes:
|
||||
#include "sound/2151intf.h"
|
||||
#include "sound/okim6295.h"
|
||||
#include "includes/gotcha.h"
|
||||
#include "video/decospr.h"
|
||||
|
||||
|
||||
WRITE16_MEMBER(gotcha_state::gotcha_lamps_w)
|
||||
@ -300,6 +303,12 @@ static MACHINE_CONFIG_START( gotcha, gotcha_state )
|
||||
|
||||
MCFG_VIDEO_START(gotcha)
|
||||
|
||||
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
|
||||
decospr_device::set_gfx_region(*device, 1);
|
||||
decospr_device::set_is_bootleg(*device, true);
|
||||
decospr_device::set_offsets(*device, 5,-1); // aligned to 2nd instruction screen in attract
|
||||
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
|
@ -4,6 +4,8 @@
|
||||
yet another Data East / Tumble Pop derived hardware
|
||||
this one seems similar to (but not identical to)
|
||||
the crospang.c hardware from F2 system
|
||||
also very close to gotcha.c, which was also a Para
|
||||
board.
|
||||
|
||||
todo: refresh rate & audio balance
|
||||
verify dipswitches - difficulty & unknown dips
|
||||
|
@ -46,6 +46,8 @@ public:
|
||||
bool m_dochk41;
|
||||
|
||||
|
||||
DECLARE_WRITE8_MEMBER(mux_output_w);
|
||||
DECLARE_WRITE8_MEMBER(mux_output2_w);
|
||||
|
||||
DECLARE_READ16_MEMBER(sc4_mem_r);
|
||||
DECLARE_WRITE16_MEMBER(sc4_mem_w);
|
||||
@ -78,8 +80,8 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
PORT_DIPSETTING( 0x06, "6" ) \
|
||||
PORT_DIPSETTING( 0x07, "500GBP (club)" ) \
|
||||
PORT_DIPSETTING( 0x08, "5GBP" ) \
|
||||
PORT_DIPSETTING( 0x09, "9" ) \
|
||||
PORT_DIPSETTING( 0x0a, "4GBP / 25GBP" ) \
|
||||
PORT_DIPSETTING( 0x09, "15GBP" ) \
|
||||
PORT_DIPSETTING( 0x0a, "25GBP (4GBP, Maz)" ) \
|
||||
PORT_DIPSETTING( 0x0b, "11" ) \
|
||||
PORT_DIPSETTING( 0x0c, "35GBP" ) \
|
||||
PORT_DIPSETTING( 0x0d, "70GBP" ) \
|
||||
@ -141,7 +143,9 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
ROM_LOAD( "95008527.bin", 0x0000, 0x0ff5c3, CRC(6fac2014) SHA1(5b364406f7b5d8f4c54561e3977571e4a47273a0) ) \
|
||||
|
||||
#define sc_adwta_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) /* PR1940 ADSNT SHOWTIME SOUNDS11 */ \
|
||||
ROM_LOAD( "95008656.bin", 0x000000, 0x100000, CRC(632a4cbb) SHA1(455e6242f5c5c1a0d84aadfdda33873e8e7b2418) ) \
|
||||
ROM_LOAD( "95008657.bin", 0x100000, 0x100000, CRC(aa68db50) SHA1(52ee314549fac989dd9ee494144ee3bbb99ee283) ) \
|
||||
|
||||
#define sc_aztec_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
@ -234,7 +238,8 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
|
||||
#define sc_bonbx_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95008992.bin", 0x0000, 0x0aa536, CRC(aad10089) SHA1(d8a32f66432ee901be05435e8930d3897f4b4e33) ) /* BARX - right header, wrong sounds */ \
|
||||
ROM_LOAD( "95008992.bin", 0x0000, 0x0aa536, CRC(aad10089) SHA1(d8a32f66432ee901be05435e8930d3897f4b4e33) ) /* BARX - right header, wrong sounds? */ \
|
||||
ROM_LOAD( "95009015.bin", 0x0000, 0x0b7821, CRC(8b6ca362) SHA1(4c50935b6d1038738ce631fbdc359416197b8c03) ) /* BARX - right header, wrong sounds? */ \
|
||||
|
||||
#define sc_brksp_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
@ -1178,13 +1183,15 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
|
||||
#define sc_gd_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
/* PR1016 GOLD DIG SOUNDS11 */ \
|
||||
/* PR1016 GOLD DIG SOUNDS11 (game header actually lists PR1016 GOLD DIGGER SOUNDS11 but it accepts these) */ \
|
||||
ROM_LOAD( "95008187.bin", 0x000000, 0x100000, CRC(1fbbc7cc) SHA1(6e19b582a3654bbbcf65b8f42bd556029f43e8cb) ) \
|
||||
ROM_LOAD( "95008188.bin", 0x100000, 0x100000, CRC(a74b23a7) SHA1(f7948edfb5524eaf80039c07ca7a9f76883f5a6f) ) \
|
||||
ROM_REGION( 0x400000, "others", ROMREGION_ERASE00 ) \
|
||||
/* PR3509 GOLD DIGGER SOUNDS11 */ \
|
||||
ROM_LOAD( "95009061.bin", 0x000000, 0x100000, CRC(c4cad720) SHA1(ce67af8d9e0b2f4f79d38b7a01dfc5ff7323e162) ) \
|
||||
ROM_LOAD( "95009062.bin", 0x100000, 0x100000, CRC(509761d3) SHA1(6a133cc33bac6a1696de98a4961572a86cefc1c8) ) \
|
||||
|
||||
|
||||
#define sc_gdmz_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95008980.bin", 0x0000, 0x0fe431, CRC(c09277a0) SHA1(227609194f7d7e8b00cbd5cb94f8679f8fff71c6) ) \
|
||||
@ -1228,12 +1235,14 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
ROM_LOAD( "95008367.bin", 0x000000, 0x100000, CRC(37eea219) SHA1(e612b2c0bca83d742b35fbaf487b6805cfac024d) ) \
|
||||
ROM_LOAD( "95008368.bin", 0x100000, 0x100000, CRC(06549054) SHA1(923a320f9689361802dc82db467b294f7bc85147) ) \
|
||||
|
||||
#define PR1327_CAS_HAPPY_NOTES_SOUNDS11 \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95008312.bin", 0x000000, 0x100000, CRC(cf33e14d) SHA1(33382be257a145784d9de7050b5c90f725241de4) ) \
|
||||
|
||||
#define sc_hapnt_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
/* PR1306 HAPPY NOTES SOUNDS11 */ \
|
||||
ROM_LOAD( "95008290.bin", 0x000000, 0x100000, CRC(427fc43d) SHA1(c63154c7f2bb3e7ec78e31268a8040d0eb131f2f) ) \
|
||||
/* PR1327 CAS_HAPPY_NOTES SOUNDS11 */ \
|
||||
ROM_LOAD( "95008312.bin", 0x100000, 0x100000, CRC(cf33e14d) SHA1(33382be257a145784d9de7050b5c90f725241de4) ) \
|
||||
|
||||
#define sc_hfcl_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
@ -1494,20 +1503,27 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
ROM_LOAD( "95890728.bin", 0x0000, 0x5000, CRC(0c3acfbc) SHA1(ff39c8236d5bd44c7d238edd1827af5aebc46e5c) ) \
|
||||
ROM_LOAD( "95890729.bin", 0x0000, 0x5000, CRC(cf60ed2c) SHA1(df015b71567d6762b4c8ea6ad6d719cefdfdc60f) ) \
|
||||
|
||||
#define PR1706_WHEEL_OF_WEALTH_SOUNDS11 \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95008550.bin", 0x000000, 0x100000, CRC(db6343bf) SHA1(e4d702020af67aa5be0560027706c1cbf34296fa) ) \
|
||||
|
||||
#define WHEEL_OF_WEALTH_WOWT_SOUNDS \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95008869.bin", 0x000000, 0x0b9d9d, CRC(f3ef3bbb) SHA1(92f9835e96c4fc444a451e97b2b8a7b66e5794b7) ) \
|
||||
|
||||
|
||||
#define sc_mowow_others \
|
||||
ROM_REGION( 0x5000, "pics", 0 ) \
|
||||
ROM_LOAD( "95890712.bin", 0x0000, 0x5000, CRC(ec6db00b) SHA1(d16a1527caa3c115e3326c897ce0fa66e3a0420d) ) \
|
||||
ROM_LOAD( "95890713.bin", 0x0000, 0x5000, CRC(f0bb40b7) SHA1(33c19dab3086cdeae4f503fbf3f3cc5f0dad98c4) ) \
|
||||
ROM_LOAD( "95890714.bin", 0x0000, 0x5000, CRC(33e16227) SHA1(87efc1a046ef6af0b72cc76a6ee393a4d1ddbce3) ) \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
/* PR1706 WHEEL OF WEALTH SOUNDS11 */ \
|
||||
ROM_LOAD( "95008550.bin", 0x000000, 0x100000, CRC(db6343bf) SHA1(e4d702020af67aa5be0560027706c1cbf34296fa) ) \
|
||||
/* 95008551 STEPITS5 PR1666 */ \
|
||||
ROM_LOAD( "95008551.bin", 0x100000, 0x100000, CRC(2d89a52a) SHA1(244101df7f6beae545f9b823750f908f532ac1e4) ) \
|
||||
/* WOW SOUNDS */ \
|
||||
/* WOW SOUNDS - wrong for this game, wants "WOTW SOUNDS" */ \
|
||||
ROM_LOAD( "95008850.bin", 0x000000, 0x0af41f, CRC(8ca16e09) SHA1(9b494ad6946c2c7bbfad6591e62fa699fd53b6dc) ) \
|
||||
/* WOWT SOUNDS */ \
|
||||
ROM_LOAD( "95008869.bin", 0x000000, 0x0b9d9d, CRC(f3ef3bbb) SHA1(92f9835e96c4fc444a451e97b2b8a7b66e5794b7) ) \
|
||||
ROM_REGION( 0x400000, "others", ROMREGION_ERASE00 ) \
|
||||
/* 95008551 STEPITS5 PR1666 - wrong game?? */ \
|
||||
ROM_LOAD( "95008551.bin", 0x100000, 0x100000, CRC(2d89a52a) SHA1(244101df7f6beae545f9b823750f908f532ac1e4) ) \
|
||||
|
||||
|
||||
#define sc_nmare_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
@ -1775,9 +1791,6 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) /* PR3013 SHOWTIME SOUNDS11 */ \
|
||||
ROM_LOAD( "95008734.bin", 0x000000, 0x100000, CRC(8b469657) SHA1(514b3f4cbbafb3cee618b9ce0bae572f1a4fcf7b) ) \
|
||||
ROM_LOAD( "95008735.bin", 0x100000, 0x100000, CRC(fa614cc1) SHA1(e5ecce4936a8db267b08b938ab5bc7500cf98f99) ) \
|
||||
ROM_REGION( 0x400000, "others1", ROMREGION_ERASE00 ) /* PR1940 ADSNT SHOWTIME SOUNDS11 */ \
|
||||
ROM_LOAD( "95008656.bin", 0x000000, 0x100000, CRC(632a4cbb) SHA1(455e6242f5c5c1a0d84aadfdda33873e8e7b2418) ) \
|
||||
ROM_LOAD( "95008657.bin", 0x100000, 0x100000, CRC(aa68db50) SHA1(52ee314549fac989dd9ee494144ee3bbb99ee283) ) \
|
||||
ROM_REGION( 0x400000, "others2", ROMREGION_ERASE00 ) /* PR3243 SHOWTIME SOUNDS11 */ \
|
||||
ROM_LOAD( "95008777.bin", 0x000000, 0x100000, CRC(1ff19229) SHA1(6db08982ee923ef4568caf76e05088574f99fc36) ) \
|
||||
ROM_LOAD( "95008778.bin", 0x100000, 0x100000, CRC(2f2f3ee1) SHA1(cade826fec6c07a1fffa548c96404da83db14dd7) ) \
|
||||
@ -1942,11 +1955,13 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
#define sc_mrrcl_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
|
||||
#define sc_gball_pthers \
|
||||
#define PR1034_GOLDEN_BALLS_SOUNDS11 \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
/* PR1034 GOLDEN BALLS SOUNDS11 */ \
|
||||
ROM_LOAD( "95008161.bin", 0x000000, 0x080000, CRC(ecd13fd9) SHA1(51d11b9133d4e840ce9afd7cf716520ea0fc0343) ) \
|
||||
ROM_LOAD( "95008162.bin", 0x080000, 0x080000, CRC(b4b4a5c5) SHA1(d0748decfaee7da52d2f6a4bc0877be4243ed6fb) ) \
|
||||
|
||||
#define sc_gball_pthers \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
/* PR1604 GOLDEN BALLS SOUNDS12 */ \
|
||||
ROM_LOAD( "95008465.bin", 0x000000, 0x100000, CRC(5d1fa2c9) SHA1(c12de2b89f0bcb8f1b35630fffd205fd9d5b9777) ) \
|
||||
ROM_LOAD( "95008466.bin", 0x100000, 0x100000, CRC(418068ab) SHA1(342939e9bcc1d213bc2f52666cc3765442e18635) ) \
|
||||
@ -1957,9 +1972,10 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
|
||||
#define sc_ggame_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95008992.bin", 0x0000, 0x0aa536, CRC(aad10089) SHA1(d8a32f66432ee901be05435e8930d3897f4b4e33) ) /* BARX */ \
|
||||
ROM_REGION( 0x400000, "others", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95008515.bin", 0x0000, 0x0ab5c3, CRC(70cd8480) SHA1(2da34a0c1d9d84471005f5d6491499e707c0b0d4) ) /* KGXDX */ \
|
||||
ROM_LOAD( "95008958.bin", 0x0000, 0x0435d3, CRC(31ffdb64) SHA1(e48cfa2e5b158555b4ba204fc1175810b81cbbed) ) /* MULTIGG */ \
|
||||
ROM_LOAD( "95008992.bin", 0x0000, 0x0aa536, CRC(aad10089) SHA1(d8a32f66432ee901be05435e8930d3897f4b4e33) ) /* BARX */ \
|
||||
ROM_REGION( 0x5000, "pics", 0 ) \
|
||||
ROM_LOAD( "95890410.bin", 0x0000, 0x5000, CRC(9588ae1d) SHA1(ae45d9e0272b2b048b99e337def1acfb2524597e) ) \
|
||||
ROM_LOAD( "95890411.bin", 0x0000, 0x5000, CRC(895e5ea1) SHA1(070df49baca709f69fa1e522b21e42b716af0ba5) ) \
|
||||
@ -1967,8 +1983,9 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
|
||||
#define sc_ggg_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95008992.bin", 0x0000, 0x0aa536, CRC(aad10089) SHA1(d8a32f66432ee901be05435e8930d3897f4b4e33) ) \
|
||||
ROM_LOAD( "95009015.bin", 0x0000, 0x0b7821, CRC(8b6ca362) SHA1(4c50935b6d1038738ce631fbdc359416197b8c03) ) \
|
||||
ROM_LOAD( "95009015.bin", 0x0000, 0x0b7821, CRC(8b6ca362) SHA1(4c50935b6d1038738ce631fbdc359416197b8c03) ) /* BARX SOUNDS */ \
|
||||
ROM_REGION( 0x400000, "others", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95008992.bin", 0x0000, 0x0aa536, CRC(aad10089) SHA1(d8a32f66432ee901be05435e8930d3897f4b4e33) ) /* BARX SOUNDS */ \
|
||||
ROM_REGION( 0x400000, "pivs", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95890730.bin", 0x0000, 0x5000, CRC(9673d1ce) SHA1(fee90139fc8de5e7b6dfe741b4852a363c17eb93) ) \
|
||||
ROM_LOAD( "95890731.bin", 0x0000, 0x5000, CRC(8aa52172) SHA1(441a649e3da00556a8ea966a88ee9b58b4943d3b) ) \
|
||||
@ -1980,11 +1997,12 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
#define sc_gnc_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
|
||||
#define sc_hellb_others \
|
||||
#define SC4_95004211_HELLS_BELLS_PR6945 \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
/* 95004211 HELLS BELLS PR6945 */ \
|
||||
ROM_LOAD( "95004211.bin", 0x0000, 0x080000, CRC(2e729642) SHA1(c8dcdce52f930b3fa894c46907691a28a5499a16) ) \
|
||||
/* PR1402 HELLS BELLS SOUNDS11 */ \
|
||||
|
||||
#define sc_hellb_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) /* PR1402 HELLS BELLS SOUNDS11 */ \
|
||||
ROM_LOAD( "95008341.bin", 0x0000, 0x100000, CRC(486e5395) SHA1(0ad68f271f4839d50a790b7f4427e1f1f1933bd4) ) \
|
||||
|
||||
#define sc_leg_others \
|
||||
@ -2019,22 +2037,28 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
ROM_LOAD( "95008684.bin", 0x000000, 0x100000, CRC(52b7d26e) SHA1(ba6629dbad8d00c132c0ddf6a8a41ddc99231c75) ) \
|
||||
ROM_LOAD( "95008685.bin", 0x100000, 0x100000, CRC(dc9717c0) SHA1(27234bb7c7e7bd1f395972ce2958d55e84005313) ) \
|
||||
|
||||
#define sc_pacmn_others \
|
||||
#define QPS_PACP_SOUNDS \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95004183", 0x000000, 0x080000, CRC(4b28f610) SHA1(fff01c890a8c109bb4b522ee2391c15abdc2758c) ) \
|
||||
ROM_LOAD( "95004184", 0x080000, 0x080000, CRC(bee11fdd) SHA1(b5ce97108812e296c92a000444c1fb7a11286de4) ) \
|
||||
ROM_LOAD( "95004199.lo", 0x000000, 0x080000, CRC(3a9605c8) SHA1(ce1c94fe26eac9e145e94539f62f2bde740e5b9a) ) \
|
||||
ROM_LOAD( "95004199.hi", 0x080000, 0x080000, CRC(0ecfc531) SHA1(15e20eedf4b7d9102c40834612d111559b4dcbca) ) \
|
||||
/* PACP SOUNDS */ \
|
||||
ROM_LOAD( "97000000.evn", 0x000000, 0x080000, CRC(5b13fe7b) SHA1(1bd32e577914ab4e3bc3282261f8c3cdf015b85d) ) /* pacp */ \
|
||||
ROM_LOAD( "97000000.odd", 0x080000, 0x080000, CRC(8bab1c78) SHA1(ddc915a8c56473ba4d67d8c62c66105dd622b593) ) \
|
||||
|
||||
#define PACMAN_SOUNDS \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
/* PACMAN SOUNDS */ \
|
||||
ROM_LOAD( "95004183", 0x000000, 0x080000, CRC(4b28f610) SHA1(fff01c890a8c109bb4b522ee2391c15abdc2758c) ) \
|
||||
ROM_LOAD( "95004184", 0x080000, 0x080000, CRC(bee11fdd) SHA1(b5ce97108812e296c92a000444c1fb7a11286de4) ) \
|
||||
|
||||
|
||||
#define sc_paccs_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95004199.lo", 0x000000, 0x080000, CRC(3a9605c8) SHA1(ce1c94fe26eac9e145e94539f62f2bde740e5b9a) ) \
|
||||
ROM_LOAD( "95004199.hi", 0x080000, 0x080000, CRC(0ecfc531) SHA1(15e20eedf4b7d9102c40834612d111559b4dcbca) ) \
|
||||
|
||||
#define sc_paccl_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95008145.bin", 0x0000, 0x100000, CRC(e2ec54f8) SHA1(bb1c40b13151ed1e3c7ba603506701457392bb8b) ) \
|
||||
ROM_LOAD( "pacmancsnd.bin", 0x0000, 0x0bbb33, CRC(c505aa18) SHA1(a99bd1c4101269e2eb2b6becf210d9991fee1da1) ) \
|
||||
ROM_LOAD( "pacmancsnd.bin", 0x0000, 0x0bbb33, CRC(c505aa18) SHA1(a99bd1c4101269e2eb2b6becf210d9991fee1da1) ) /* identical but cut at 0xff bytes */ \
|
||||
|
||||
#define sc_pacpl_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
@ -2670,9 +2694,12 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
ROM_LOAD( "95004224.sn1", 0x000000, 0x080000, CRC(74382d29) SHA1(bd0323b7208e9b03e2d8468f7d4603fb4a3fe394) ) \
|
||||
ROM_LOAD( "95004225.sn2", 0x080000, 0x080000, CRC(23efa88d) SHA1(af52ec3dcb45a2ea26eaa273c783134402105168) ) \
|
||||
|
||||
#define sc_pgold_others \
|
||||
#define SC4_95004316_CAS_PHAR_GOLD_PR1261 \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95004316.snd", 0x000000, 0x080000, CRC(94a9ec9c) SHA1(bab1a431e2857b9db9fa3f3ef28f150e19c4ae50) ) /* casino */ \
|
||||
|
||||
#define sc_pgold_others \
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95008141.bin", 0x000000, 0x100000, CRC(e1b214dc) SHA1(811f6ec42961496f8cd9fb3434ab6a07457ca61a) ) \
|
||||
ROM_LOAD( "95008142.bin", 0x100000, 0x100000, CRC(faa84d52) SHA1(f5139df5e9ff95fab3c01ac2b1aa44b1d939bf7a) ) \
|
||||
|
||||
@ -3017,15 +3044,18 @@ INPUT_PORTS_EXTERN( sc4_base );
|
||||
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \
|
||||
|
||||
#define sc_clbtm_others \
|
||||
ROM_REGION( 0x800000, "ymz", ROMREGION_ERASE00 ) \
|
||||
/* very large sound roms! */ \
|
||||
ROM_LOAD( "95008055.p1", 0x0000, 0x800000, CRC(ef474fd3) SHA1(e7427184683603b57a3a8b37452fa6ec7a41e34c) ) \
|
||||
ROM_LOAD( "95008056.p2", 0x0000, 0x800000, CRC(39b1b566) SHA1(937ec27964124b92b75d4b37d09a35585baa68c6) ) \
|
||||
ROM_REGION( 0x1000000, "ymz", ROMREGION_ERASE00 ) \
|
||||
/* very large sound roms! - overdumps.. mostly garbage (cut them) */ \
|
||||
ROM_LOAD( "95008055.p1", 0x00000, 0x80000, CRC(ef474fd3) SHA1(e7427184683603b57a3a8b37452fa6ec7a41e34c) ) \
|
||||
ROM_IGNORE(0x780000) \
|
||||
ROM_LOAD( "95008056.p2", 0x80000, 0x80000, CRC(39b1b566) SHA1(937ec27964124b92b75d4b37d09a35585baa68c6) ) \
|
||||
ROM_IGNORE(0x780000) \
|
||||
\
|
||||
ROM_REGION( 0x1000000, "others2", ROMREGION_ERASE00 ) \
|
||||
ROM_LOAD( "95008055.bin", 0x0000, 0x100000, CRC(df9ae6e3) SHA1(5766cb1749aa92c34a76270a641f7a9302cc44d7) ) \
|
||||
\
|
||||
ROM_REGION( 0x400000, "others", ROMREGION_ERASE00 ) \
|
||||
/* dot matrix roms? */ \
|
||||
/* dot matrix roms? - for the SC1 version? */ \
|
||||
ROM_LOAD( "club-temptation_mtx_(ihex)ss.hex", 0x0000, 0x01d0da, CRC(08ebee96) SHA1(2e87d734c966abab1d4a59c9481ebea161f77286) ) \
|
||||
ROM_LOAD( "clubtempdot.bin", 0x0000, 0x010000, CRC(283d2d9c) SHA1(5b76a13ad674f8a40c270e5dbc61dac04d411d02) ) /* DM01 */ \
|
||||
ROM_LOAD( "95717692a.bin", 0x0000, 0x008000, CRC(f9fe7b9a) SHA1(0e3fe5da9fc837726d08f02a2c6ed782f016c982) ) /* is this something else? sc1/2? */ \
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -13915,7 +13915,6 @@ sc4mclbd //
|
||||
sc4mclbe //
|
||||
sc4mdlx // Monopoly Deluxe (Mazooma)
|
||||
sc4mondxg //
|
||||
sc4mowowd //
|
||||
sc4mont // Montego Pay (Qps)
|
||||
sc4monta //
|
||||
sc4montb //
|
||||
@ -13957,9 +13956,9 @@ sc4outlwc //
|
||||
sc4pacmn // Pac Man (Mazooma)
|
||||
sc4pacmna //
|
||||
sc4pacmnb //
|
||||
sc4pacmnc //
|
||||
sc4pacmnd //
|
||||
sc4pacmne //
|
||||
sc4pacqp //
|
||||
sc4pacqpa //
|
||||
sc4pacqpb //
|
||||
sc4paccs // Pac Man Casino (Mazooma)
|
||||
sc4paccsa //
|
||||
sc4paccsb //
|
||||
@ -15095,22 +15094,22 @@ sc4gball //
|
||||
sc4gballa //
|
||||
sc4gballb //
|
||||
sc4gballc //
|
||||
sc4ggame // Golden Game (Mazooma)
|
||||
sc4ggtb // Golden Game (Mazooma) Top Box
|
||||
sc4ggtba //
|
||||
sc4ggtbb //
|
||||
sc4ggame // Golden Game
|
||||
sc4ggamea //
|
||||
sc4ggameb //
|
||||
sc4ggamec //
|
||||
sc4ggamed //
|
||||
sc4ggamee //
|
||||
sc4ggamef //
|
||||
sc4ggameg //
|
||||
sc4ggameh //
|
||||
sc4ggamei //
|
||||
sc4ggamej //
|
||||
sc4ggamek //
|
||||
sc4ggamel //
|
||||
sc4ggamem //
|
||||
sc4ggamen //
|
||||
sc4ggameo //
|
||||
sc4ggamep //
|
||||
sc4ggameq //
|
||||
sc4ggamer //
|
||||
@ -15145,8 +15144,9 @@ sc4ggdlxd //
|
||||
sc4ggdlxe //
|
||||
sc4ggdlxf //
|
||||
sc4ggdlxg //
|
||||
sc4ggg // Grand Golden Game (Mazooma)
|
||||
sc4ggga //
|
||||
sc4gggtb // Grand Golden Game (Mazooma)
|
||||
sc4gggtba //
|
||||
sc4ggg //
|
||||
sc4gggb //
|
||||
sc4gggc //
|
||||
sc4gggd //
|
||||
@ -15155,7 +15155,6 @@ sc4gggf //
|
||||
sc4gggg //
|
||||
sc4gggh //
|
||||
sc4gggi //
|
||||
sc4gggj //
|
||||
sc4gggk //
|
||||
sc4gggl //
|
||||
sc4gggm //
|
||||
@ -15654,16 +15653,17 @@ sc4dndbem //
|
||||
sc4dndben //
|
||||
sc4dndbc // Deal Or No Deal Box Clever (Bellfruit)
|
||||
sc4dndbca //
|
||||
sc4bwow // Wheel of Wealth (Bellfruit)
|
||||
sc4bwowa //
|
||||
sc4mowow // Monopoly Wheel Of Wealth (Mazooma)
|
||||
sc4mowowa //
|
||||
sc4mowowb //
|
||||
sc4mowowc //
|
||||
sc4mowowe //
|
||||
sc4mowowf //
|
||||
sc4mowowg //
|
||||
sc4mowowh //
|
||||
sc4mowowi //
|
||||
sc4mowowj //
|
||||
sc4mwwtb //
|
||||
sc4mwwtba //
|
||||
sc4mwwtbb //
|
||||
sc4mwwtbc //
|
||||
sc4mwwtbd //
|
||||
sc4nunsm // Nuns 'n' Roses (Mazooma)
|
||||
sc4nunsmb //
|
||||
sc4nunsmc //
|
||||
|
@ -40,6 +40,8 @@
|
||||
(bootleg) nmg5.c
|
||||
(bootleg) tumbleb.c
|
||||
(bootleg) crospang.c
|
||||
(bootleg) silvmil.c
|
||||
(bootleg) gotcha.c
|
||||
|
||||
to convert:
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include "emu.h"
|
||||
#include "includes/gotcha.h"
|
||||
#include "video/decospr.h"
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@ -100,41 +101,12 @@ WRITE16_MEMBER(gotcha_state::gotcha_scroll_w)
|
||||
|
||||
|
||||
|
||||
static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||
{
|
||||
gotcha_state *state = machine.driver_data<gotcha_state>();
|
||||
UINT16 *spriteram = state->m_spriteram;
|
||||
int offs;
|
||||
|
||||
for (offs = 0; offs < state->m_spriteram.bytes() / 2; offs += 4)
|
||||
{
|
||||
int sx, sy, code, color, flipx, flipy, height, y;
|
||||
|
||||
sx = spriteram[offs + 2];
|
||||
sy = spriteram[offs + 0];
|
||||
code = spriteram[offs + 1];
|
||||
color = spriteram[offs + 2] >> 9;
|
||||
height = 1 << ((spriteram[offs + 0] & 0x0600) >> 9);
|
||||
flipx = spriteram[offs + 0] & 0x2000;
|
||||
flipy = spriteram[offs + 0] & 0x4000;
|
||||
|
||||
for (y = 0; y < height; y++)
|
||||
{
|
||||
drawgfx_transpen(bitmap,cliprect,machine.gfx[1],
|
||||
code + (flipy ? height-1 - y : y),
|
||||
color,
|
||||
flipx,flipy,
|
||||
0x140-5 - ((sx + 0x10) & 0x1ff),0x100+1 - ((sy + 0x10 * (height - y)) & 0x1ff),0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SCREEN_UPDATE_IND16( gotcha )
|
||||
{
|
||||
gotcha_state *state = screen.machine().driver_data<gotcha_state>();
|
||||
state->m_bg_tilemap->draw(bitmap, cliprect, 0, 0);
|
||||
state->m_fg_tilemap->draw(bitmap, cliprect, 0, 0);
|
||||
draw_sprites(screen.machine(), bitmap, cliprect);
|
||||
screen.machine().device<decospr_device>("spritegen")->draw_sprites(bitmap, cliprect, state->m_spriteram, 0x400);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user