More Kaneko separation and continued mpu4 work - From Haze (nw)

This commit is contained in:
Scott Stone 2012-08-09 04:28:48 +00:00
parent 3ae8341d9c
commit a0e11fdc40
12 changed files with 677 additions and 508 deletions

View File

@ -157,7 +157,13 @@ class expro02_state : public kaneko16_state
{ {
public: public:
expro02_state(const machine_config &mconfig, device_type type, const char *tag) expro02_state(const machine_config &mconfig, device_type type, const char *tag)
: kaneko16_state(mconfig, type, tag) { } : kaneko16_state(mconfig, type, tag),
m_galsnew_bg_pixram(*this, "galsnew_bgram"),
m_galsnew_fg_pixram(*this, "galsnew_fgram")
{ }
optional_shared_ptr<UINT16> m_galsnew_bg_pixram;
optional_shared_ptr<UINT16> m_galsnew_fg_pixram;
UINT16 m_vram_0_bank_num; UINT16 m_vram_0_bank_num;
UINT16 m_vram_1_bank_num; UINT16 m_vram_1_bank_num;
@ -168,6 +174,71 @@ public:
}; };
SCREEN_UPDATE_IND16( galsnew )
{
expro02_state *state = screen.machine().driver_data<expro02_state>();
// kaneko16_fill_bitmap(screen.machine(),bitmap,cliprect);
int y,x;
int count;
count = 0;
for (y=0;y<256;y++)
{
UINT16 *dest = &bitmap.pix16(y);
for (x=0;x<256;x++)
{
UINT16 dat = (state->m_galsnew_fg_pixram[count] & 0xfffe)>>1;
dat+=2048;
dest[x] = dat;
count++;
}
}
count = 0;
for (y=0;y<256;y++)
{
UINT16 *dest = &bitmap.pix16(y);
for (x=0;x<256;x++)
{
UINT16 dat = (state->m_galsnew_bg_pixram[count]);
//dat &=0x3ff;
if (dat)
dest[x] = dat;
count++;
}
}
// if the display is disabled, do nothing?
if (!state->m_disp_enable) return 0;
int i;
screen.machine().priority_bitmap.fill(0, cliprect);
state->m_view2_0->kaneko16_prepare(bitmap, cliprect);
for ( i = 0; i < 8; i++ )
{
state->m_view2_0->render_tilemap_chip(bitmap,cliprect,i);
}
state->m_kaneko_spr->kaneko16_render_sprites(screen.machine(),bitmap,cliprect, state->m_spriteram, state->m_spriteram.bytes());
return 0;
}
VIDEO_START( galsnew )
{
kaneko16_state *state = machine.driver_data<kaneko16_state>();
state->m_disp_enable = 1; // default enabled for games not using it
}
/************************************* /*************************************
* *
* Game-specific port definitions * Game-specific port definitions

View File

@ -227,6 +227,7 @@ public:
}; };
/*************************************************************************** /***************************************************************************
MCU Code Simulation MCU Code Simulation
@ -368,7 +369,7 @@ static VIDEO_START(jchan)
state->m_spritegen1->skns_sprite_kludge(0,0); state->m_spritegen1->skns_sprite_kludge(0,0);
state->m_spritegen2->skns_sprite_kludge(0,0); state->m_spritegen2->skns_sprite_kludge(0,0);
VIDEO_START_CALL( kaneko16_1xVIEW2_tilemaps ); state->m_disp_enable = 1; // default enabled for games not using it
} }
@ -389,7 +390,14 @@ static SCREEN_UPDATE_IND16(jchan)
bitmap.fill(get_black_pen(screen.machine()), cliprect); bitmap.fill(get_black_pen(screen.machine()), cliprect);
SCREEN_UPDATE16_CALL(jchan_view2); screen.machine().priority_bitmap.fill(0, cliprect);
state->m_view2_0->kaneko16_prepare(bitmap, cliprect);
for ( int i = 0; i < 8; i++ )
{
state->m_view2_0->render_tilemap_chip(bitmap,cliprect,i);
}
state->m_sprite_bitmap_1->fill(0x0000, cliprect); state->m_sprite_bitmap_1->fill(0x0000, cliprect);
state->m_sprite_bitmap_2->fill(0x0000, cliprect); state->m_sprite_bitmap_2->fill(0x0000, cliprect);

View File

@ -306,7 +306,7 @@ WRITE16_MEMBER(kaneko16_state::kaneko16_eeprom_w)
The Berlin Wall The Berlin Wall
***************************************************************************/ ***************************************************************************/
static ADDRESS_MAP_START( berlwall, AS_PROGRAM, 16, kaneko16_state ) static ADDRESS_MAP_START( berlwall, AS_PROGRAM, 16, kaneko16_berlwall_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM AM_RANGE(0x000000, 0x03ffff) AM_ROM // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // Work RAM AM_RANGE(0x200000, 0x20ffff) AM_RAM // Work RAM
AM_RANGE(0x30e000, 0x30ffff) AM_RAM AM_SHARE("spriteram") // Sprites AM_RANGE(0x30e000, 0x30ffff) AM_RAM AM_SHARE("spriteram") // Sprites
@ -1712,7 +1712,7 @@ static const ay8910_interface ay8910_intf_eeprom =
6-7] rte 6-7] rte
*/ */
static MACHINE_CONFIG_START( berlwall, kaneko16_state ) static MACHINE_CONFIG_START( berlwall, kaneko16_berlwall_state )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, 12000000) /* MC68000P12 */ MCFG_CPU_ADD("maincpu", M68000, 12000000) /* MC68000P12 */
@ -1802,7 +1802,7 @@ static MACHINE_CONFIG_START( bakubrkr, kaneko16_state )
MCFG_VIDEO_START(kaneko16_2xVIEW2) MCFG_VIDEO_START(kaneko16)
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
@ -1869,7 +1869,7 @@ static MACHINE_CONFIG_START( blazeon, kaneko16_state )
// there is actually a 2nd sprite chip! looks like our device emulation handles both at once // there is actually a 2nd sprite chip! looks like our device emulation handles both at once
MCFG_VIDEO_START(kaneko16_1xVIEW2) MCFG_VIDEO_START(kaneko16)
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@ -1928,7 +1928,7 @@ static MACHINE_CONFIG_START( gtmr, kaneko16_state )
MCFG_DEVICE_ADD_KC002_SPRITES MCFG_DEVICE_ADD_KC002_SPRITES
MCFG_VIDEO_START(kaneko16_2xVIEW2) MCFG_VIDEO_START(kaneko16)
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
@ -2025,7 +2025,7 @@ static MACHINE_CONFIG_START( mgcrystl, kaneko16_state )
MCFG_VIDEO_START(kaneko16_2xVIEW2) MCFG_VIDEO_START(kaneko16)
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
@ -2141,7 +2141,7 @@ static MACHINE_CONFIG_START( shogwarr, kaneko16_state )
kaneko_view2_tilemap_device::set_gfx_region(*device, 1); kaneko_view2_tilemap_device::set_gfx_region(*device, 1);
kaneko_view2_tilemap_device::set_offset(*device, 0x33, -0x8, 320, 240); kaneko_view2_tilemap_device::set_offset(*device, 0x33, -0x8, 320, 240);
MCFG_VIDEO_START(kaneko16_1xVIEW2) MCFG_VIDEO_START(kaneko16)
MCFG_DEVICE_ADD_VU002_SPRITES MCFG_DEVICE_ADD_VU002_SPRITES
kaneko16_sprite_device::set_priorities(*device, 1 /* below all */ ,3 /* above tile[0], below the others */ ,5 /* above all */ ,7 /* above all */); kaneko16_sprite_device::set_priorities(*device, 1 /* below all */ ,3 /* above tile[0], below the others */ ,5 /* above all */ ,7 /* above all */);

View File

@ -972,68 +972,6 @@ ROM_START( m4cashln )
ROM_LOAD( "cls2.hex", 0x080000, 0x080000, CRC(e42e674b) SHA1(1cda06425f3d4797ee0c4ff7426970150e5af4b6) ) ROM_LOAD( "cls2.hex", 0x080000, 0x080000, CRC(e42e674b) SHA1(1cda06425f3d4797ee0c4ff7426970150e5af4b6) )
ROM_END ROM_END
ROM_START( m4cashmn )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "cma07s.p1", 0x0000, 0x020000, CRC(e9c1d9f2) SHA1(f2df4ae650ec2b62d15bbaa562d638476bf926e7) )
ROM_REGION( 0x20000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */
ROM_LOAD( "camc2010", 0x0000, 0x020000, CRC(82e459ab) SHA1(62e1906007f6bba99e3e8badc3472070e8ae84f8) )
ROM_LOAD( "cma07ad.p1", 0x0000, 0x020000, CRC(411889fd) SHA1(5855b584315867ecc5df6d37f4a664b8331ecde8) )
ROM_LOAD( "cma07b.p1", 0x0000, 0x020000, CRC(ab889a33) SHA1(0f3ed0e4b8131585bcb4af47674fb1b65c37503d) )
ROM_LOAD( "cma07bd.p1", 0x0000, 0x020000, CRC(cc022738) SHA1(5968d1b6db55008cbd3c83651214c61c28fd4c5c) )
ROM_LOAD( "cma07c.p1", 0x0000, 0x020000, CRC(9cc22721) SHA1(ee4e9860641c8bf7db024a5bf9469265a6383e0a) )
ROM_LOAD( "cma07d.p1", 0x0000, 0x020000, CRC(d6939145) SHA1(45b6f7f80c7a2f4377d9bf8e184fb791f4ed0a2d) )
ROM_LOAD( "cma07dk.p1", 0x0000, 0x020000, CRC(86c58f6e) SHA1(fce50f86a641d27d0f5e5ecbac84822ccc9c177b) )
ROM_LOAD( "cma07dr.p1", 0x0000, 0x020000, CRC(35ca345f) SHA1(ddbb926988028bef13ebaa949d3ee92599770003) )
ROM_LOAD( "cma07dy.p1", 0x0000, 0x020000, CRC(0126af90) SHA1(0f303451fd8ca8c0cc50a31297f0d2729cfc2d7b) )
ROM_LOAD( "cma07k.p1", 0x0000, 0x020000, CRC(e14f3265) SHA1(7b5dc581fe8679559356fdca9644985da7d299cb) )
ROM_LOAD( "cma07r.p1", 0x0000, 0x020000, CRC(52408954) SHA1(623f840d94cc3cf2d2d648eb2be644d48350b169) )
ROM_LOAD( "cma07y.p1", 0x0000, 0x020000, CRC(66ac129b) SHA1(97f8c0c1f46444d4a492bc3dd3689df038000640) )
ROM_LOAD( "cma08ad.p1", 0x0000, 0x020000, CRC(fce2f785) SHA1(fc508e3d1036319894985600cb0142f13536078c) )
ROM_LOAD( "cma08b.p1", 0x0000, 0x020000, CRC(df7526de) SHA1(71456496fc31ae11ffa7c543b6444adba735aeb9) )
ROM_LOAD( "cma08bd.p1", 0x0000, 0x020000, CRC(71f85940) SHA1(439c54f35f4f6161a683d2c3d2bb6ce81b4190bf) )
ROM_LOAD( "cma08c.p1", 0x0000, 0x020000, CRC(e83f9bcc) SHA1(e20297ba5238b59c3872776b01e6a89a51a7aea7) )
ROM_LOAD( "cma08d.p1", 0x0000, 0x020000, CRC(a26e2da8) SHA1(928dfe399a7ae278dadd1e930bd370022f5113c4) )
ROM_LOAD( "cma08dk.p1", 0x0000, 0x020000, CRC(3b3ff116) SHA1(f60f0f9d996398a0f1c5b7d2a411613c42149e65) )
ROM_LOAD( "cma08dr.p1", 0x0000, 0x020000, CRC(88304a27) SHA1(9b86a49edca078dd68abab4c3e8655d3b4e79d47) )
ROM_LOAD( "cma08dy.p1", 0x0000, 0x020000, CRC(bcdcd1e8) SHA1(a7a4ab2313198c3bc0536526bd83179fd9170e66) )
ROM_LOAD( "cma08k.p1", 0x0000, 0x020000, CRC(95b28e88) SHA1(282a782900a0ddf60c66aa6a69e6871bb42c647a) )
ROM_LOAD( "cma08r.p1", 0x0000, 0x020000, CRC(26bd35b9) SHA1(74d07da26932bf48fe4b79b39ff76956b0993f3b) )
ROM_LOAD( "cma08s.p1", 0x0000, 0x020000, CRC(d0154d3c) SHA1(773f211092c51fb4ca1ef6a5a0cbdb15f842aca8) )
ROM_LOAD( "cma08y.p1", 0x0000, 0x020000, CRC(1251ae76) SHA1(600ce195be615796b887bb56bebb6c4322709632) )
ROM_LOAD( "cmh06ad.p1", 0x0000, 0x020000, CRC(ea2f6866) SHA1(afae312a488d7d83576c17eb2627a84637d88f18) )
ROM_LOAD( "cmh06b.p1", 0x0000, 0x020000, CRC(2d4d9667) SHA1(896ed70962c8904646df7159c3717399d0ceb022) )
ROM_LOAD( "cmh06bd.p1", 0x0000, 0x020000, CRC(6735c6a3) SHA1(4bce480c57473a9b0787a87a462c76e146a10157) )
ROM_LOAD( "cmh06c.p1", 0x0000, 0x020000, CRC(1a072b75) SHA1(89d4aed011391b2f12b48c0344136d83175ff2f0) )
ROM_LOAD( "cmh06d.p1", 0x0000, 0x020000, CRC(50569d11) SHA1(bdf7e984766bbe90bafbf0b367690ca65a8612d2) )
ROM_LOAD( "cmh06dk.p1", 0x0000, 0x020000, CRC(2df26ef5) SHA1(c716b73396d0af1f69f5812bace06341d368859f) )
ROM_LOAD( "cmh06dr.p1", 0x0000, 0x020000, CRC(9efdd5c4) SHA1(b9e02fe91e766aff41ca19879ab29e53bdee537e) )
ROM_LOAD( "cmh06dy.p1", 0x0000, 0x020000, CRC(aa114e0b) SHA1(8bc9b94e488a98b8a8008f9a35b6c078cc5c8f3f) )
ROM_LOAD( "cmh06k.p1", 0x0000, 0x020000, CRC(678a3e31) SHA1(2351b5167eec2a0d23c9938014de6f6ee07f13ff) )
ROM_LOAD( "cmh06r.p1", 0x0000, 0x020000, CRC(d4858500) SHA1(489fd55ac6c93b94bfb9297fd71b5d74bf95a97f) )
ROM_LOAD( "cmh06s.p1", 0x0000, 0x020000, CRC(9d3b4260) SHA1(7c4740585d17be3da3a0ea6e7fc68f89538013fb) )
ROM_LOAD( "cmh06y.p1", 0x0000, 0x020000, CRC(e0691ecf) SHA1(978fa00736967dd09d48ce5c847698b39a058ab5) )
ROM_LOAD( "cmh07ad.p1", 0x0000, 0x020000, CRC(4f354391) SHA1(687eccc312cd69f8bb70e35837f0b7ce74392936) )
ROM_LOAD( "cmh07b.p1", 0x0000, 0x020000, CRC(27fb6e7b) SHA1(c1558e4a0e2c28a825c2c5bb4089143cf919b67c) )
ROM_LOAD( "cmh07bd.p1", 0x0000, 0x020000, CRC(c22fed54) SHA1(5b6df1ed8518f9ba3e02b17c189c01ad1d0acbbb) )
ROM_LOAD( "cmh07c.p1", 0x0000, 0x020000, CRC(10b1d369) SHA1(9933a2a7933df941ee93e16682e91dcc90abb627) )
ROM_LOAD( "cmh07d.p1", 0x0000, 0x020000, CRC(5ae0650d) SHA1(da6917aa186daf59f35124c7cdc9d039d365c4c2) )
ROM_LOAD( "cmh07dk.p1", 0x0000, 0x020000, CRC(88e84502) SHA1(2ab86be51b3dde0b2cb05e3af5f43aad3d8a76df) )
ROM_LOAD( "cmh07dr.p1", 0x0000, 0x020000, CRC(3be7fe33) SHA1(074243cdfd37ba36e18e00610f45473e46ddc728) )
ROM_LOAD( "cmh07dy.p1", 0x0000, 0x020000, CRC(0f0b65fc) SHA1(68d775bb4af9595ac87c33c2663b272640eea69e) )
ROM_LOAD( "cmh07k.p1", 0x0000, 0x020000, CRC(6d3cc62d) SHA1(85f76fd8513c20683d486de7a1509cadfb6ecaa9) )
ROM_LOAD( "cmh07r.p1", 0x0000, 0x020000, CRC(de337d1c) SHA1(dd07727fb183833eced5c0c2dc284d571baacd25) )
ROM_LOAD( "cmh07s.p1", 0x0000, 0x020000, CRC(0367f4cf) SHA1(8b24a9009ff17d517b34e078ebbdc17465df139d) )
ROM_LOAD( "cmh07y.p1", 0x0000, 0x020000, CRC(eadfe6d3) SHA1(80541aba612b8ebba7ab159c61e6492b9c06feda) )
ROM_REGION( 0x48, "fakechr", 0 )
ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) )
ROM_REGION( 0x100000, "msm6376", 0 )
ROM_LOAD( "cmasnd.p1", 0x000000, 0x080000, CRC(1e7e13b8) SHA1(2db5c3789ad1b9bdb59e058562bd8be181ba0259) )
ROM_LOAD( "cmasnd.p2", 0x080000, 0x080000, CRC(cce703a8) SHA1(97487f3df0724d3ee01f6f4deae126aec6d2dd68) )
ROM_END
ROM_START( m4casmul ) ROM_START( m4casmul )
@ -1401,43 +1339,6 @@ ROM_START( m4crdome )
ROM_LOAD( "cd2snd.p2", 0x080000, 0x080000, CRC(b1bb4678) SHA1(8e8ab0a8d1b3e70dcb56d071193fdb5f34af7d14) ) ROM_LOAD( "cd2snd.p2", 0x080000, 0x080000, CRC(b1bb4678) SHA1(8e8ab0a8d1b3e70dcb56d071193fdb5f34af7d14) )
ROM_END ROM_END
ROM_START( m4crmaze )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "crms.p1", 0x0000, 0x020000, CRC(b289c54b) SHA1(eb74bb559e2be2737fc311d044b9ce87014616f3) )
ROM_REGION( 0x20000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */
ROM_LOAD( "cma15g", 0x0000, 0x020000, CRC(f30b3ef2) SHA1(c8fb4d883d12a477a703d8cb0842994675aaf879) )
ROM_LOAD( "cma15t", 0x0000, 0x020000, CRC(a4ed66a4) SHA1(0e98859c4d7dbccdea9396c3fea9f345b2f08db6) )
ROM_LOAD( "cmaz510", 0x0000, 0x010000, CRC(0a1d39ac) SHA1(37888bbea427e115c29253deb85ed851ff6bdfd4) )
ROM_LOAD( "cmaz510l", 0x0000, 0x010000, CRC(0a1d39ac) SHA1(37888bbea427e115c29253deb85ed851ff6bdfd4) )
ROM_LOAD( "cmaz55", 0x0000, 0x010000, CRC(2c2540ce) SHA1(12163109e05fe8675bc2dbcad95f598bebec8ba3) )
ROM_LOAD( "cmaz55v2", 0x0000, 0x010000, CRC(9a3515d6) SHA1(5edd2c67152d353a48ad2f28b685fae1e1e7fff7) )
ROM_LOAD( "cmaz58t", 0x0000, 0x010000, CRC(81a2c48a) SHA1(3ea25a2863f1350054f41cb169282c592565dbcd) )
ROM_LOAD( "cmaze8", 0x0000, 0x020000, CRC(f2f81306) SHA1(725bfbdc53cf66c08b440c2b8d45547aa426d9c7) )
ROM_LOAD( "crmad.p1", 0x0000, 0x020000, CRC(ed30e66e) SHA1(25c09637f6efaf8e24f758405fb55d6cfc7f4782) )
ROM_LOAD( "crmb.p1", 0x0000, 0x020000, CRC(6f29a37f) SHA1(598541e2dbf05b3f2a70279276407cd93734731e) )
ROM_LOAD( "crmbd.p1", 0x0000, 0x020000, CRC(602a48ab) SHA1(3f1bf2b3294d15013e89d906865f065476202e54) )
ROM_LOAD( "crmc.p1", 0x0000, 0x020000, CRC(58631e6d) SHA1(cffecd4c4ca46aa0ccfbaf7592d58da0428cf143) )
ROM_LOAD( "crmd.p1", 0x0000, 0x020000, CRC(1232a809) SHA1(483b96b3b3ea50cbf5c3823c3ba20369b88bd459) )
ROM_LOAD( "crmdk.p1", 0x0000, 0x020000, CRC(2aede0fd) SHA1(1731c901149c196d8f6a8bf3c2eec4f9a42126ad) )
ROM_LOAD( "crmdy.p1", 0x0000, 0x020000, CRC(ad0ec003) SHA1(2d8a7467c3a79d60100f1290abe06410aaefaa49) )
ROM_LOAD( "crmk.p1", 0x0000, 0x020000, CRC(25ee0b29) SHA1(addadf351a26e235a7fca573145a501aa6c0b53c) )
ROM_LOAD( "crmy.p1", 0x0000, 0x020000, CRC(a20d2bd7) SHA1(b05a0e2ab2b90a86873976c26a8299cb703fd6eb) )
ROM_LOAD( "crystalmaze15.bin", 0x0000, 0x020000, CRC(492440a4) SHA1(2d5fe812f1d815620f7e72333d44946b66f5c867) )
ROM_REGION( 0x20000, "altbwb", 0 ) /* alternate revisions - to be sorted / split into clones in the future */
ROM_LOAD( "cmaz5.10", 0x0000, 0x010000, CRC(13a64c64) SHA1(3a7c4173f99fdf1a4b5d5b627022b18eb66837ce) )
ROM_LOAD( "cmaz5.5", 0x0000, 0x010000, CRC(1f110757) SHA1(a60bac78176dab70d68bfb2b6a44debf499c96e3) )
ROM_REGION( 0x48, "fakechr", 0 )
ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) )
ROM_REGION( 0x100000, "msm6376", 0 )
ROM_LOAD( "cmazep1.bin", 0x000000, 0x080000, CRC(3d94a320) SHA1(a9b4e89ce36dbc2ef584b3adffffa00b7ae7e245) )
ROM_LOAD( "crmsnd.p1", 0x000000, 0x080000, CRC(e05cdf96) SHA1(c85c7b31b775e3cc2d7f943eb02ff5ebae6c6080) )
ROM_LOAD( "crmsnd.p2", 0x080000, 0x080000, CRC(11da0781) SHA1(cd63834bf5d5034c2473372bfcc4930c300333f7) )
ROM_END
ROM_START( m4dbl9 ) ROM_START( m4dbl9 )
@ -4797,70 +4698,6 @@ ROM_START( m4techno )
ROM_END ROM_END
ROM_START( m4toot )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "toc03c.p1", 0x0000, 0x020000, CRC(752ffa3f) SHA1(6cbe521ff85173159b6d34cc3e29a4192cd66394) )
ROM_REGION( 0x20000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */
ROM_LOAD( "toc03ad.p1", 0x0000, 0x020000, CRC(f67e53c1) SHA1(07a50fb649c5085a33f0a1a9b3d65b0b61a3f152) )
ROM_LOAD( "toc03b.p1", 0x0000, 0x020000, CRC(4265472d) SHA1(01d5eb4e0a30abd1efed45658dcd8455494aabc4) )
ROM_LOAD( "toc03bd.p1", 0x0000, 0x020000, CRC(7b64fd04) SHA1(377af32317d8356f06b19de553a13e8558993c34) )
ROM_LOAD( "toc03d.p1", 0x0000, 0x020000, CRC(61f6b566) SHA1(2abd8092fe387c474ed10885a23ac242fa1462fa) )
ROM_LOAD( "toc03dk.p1", 0x0000, 0x020000, CRC(31a35552) SHA1(3765fe6209d7b33afa1805ba56376e83e825165f) )
ROM_LOAD( "toc03dr.p1", 0x0000, 0x020000, CRC(82acee63) SHA1(5a95425d6175c6496d745011d0ca3d744a027579) )
ROM_LOAD( "toc03dy.p1", 0x0000, 0x020000, CRC(b64075ac) SHA1(ffdf8e45c2eab593570e15efd5161b67de5e4ecf) )
ROM_LOAD( "toc03k.p1", 0x0000, 0x020000, CRC(08a2ef7b) SHA1(a4181db6280c7cc37b54baaf9cce1e61f61f3274) )
ROM_LOAD( "toc03r.p1", 0x0000, 0x020000, CRC(bbad544a) SHA1(5fb31e5641a9e85147f5b61c5aba5a1ee7470f9c) )
ROM_LOAD( "toc03s.p1", 0x0000, 0x020000, CRC(30feff92) SHA1(14397768ebd7469b4d1cff22ca9727f63608a98a) )
ROM_LOAD( "toc03y.p1", 0x0000, 0x020000, CRC(8f41cf85) SHA1(315b359d6d1a9f6ad939be1fc5e4d8f21f998fb8) )
ROM_LOAD( "toc04ad.p1", 0x0000, 0x020000, CRC(59075e2e) SHA1(a3ad5c642fb9cebcce2fb6c1e65514f2414948e0) )
ROM_LOAD( "toc04b.p1", 0x0000, 0x020000, CRC(b2d54721) SHA1(4c72d434c0f4f37b9a3f08a760c7fe3851717059) )
ROM_LOAD( "toc04bd.p1", 0x0000, 0x020000, CRC(d41df0eb) SHA1(e5a04c728a2893073ff8b5f6efd7cffd433a2985) )
ROM_LOAD( "toc04c.p1", 0x0000, 0x020000, CRC(859ffa33) SHA1(05b7bd3b87a0ebcc78de751766cfcdc4276035ac) )
ROM_LOAD( "toc04d.p1", 0x0000, 0x020000, CRC(9146b56a) SHA1(04bcd265d83e3554aef2de05aab9c3869bb966ea) )
ROM_LOAD( "toc04dk.p1", 0x0000, 0x020000, CRC(9eda58bd) SHA1(5e38f87a162d1cb37e74850af6a00ae81619ecbe) )
ROM_LOAD( "toc04dr.p1", 0x0000, 0x020000, CRC(2dd5e38c) SHA1(a1b0e8d48e164ab91b277a7efedf5b9fc73fc266) )
ROM_LOAD( "toc04dy.p1", 0x0000, 0x020000, CRC(19397843) SHA1(e7e3299d8e46c79d3cd0ea7fd639a1d649a806df) )
ROM_LOAD( "toc04k.p1", 0x0000, 0x020000, CRC(f812ef77) SHA1(d465b771efed27a9f616052d3fcabdbeb7c2d151) )
ROM_LOAD( "toc04r.p1", 0x0000, 0x020000, CRC(4b1d5446) SHA1(f4bac0c8257add41295679b3541d2064d8c772c2) )
ROM_LOAD( "toc04s.p1", 0x0000, 0x020000, CRC(295e6fff) SHA1(a21d991f00f144e12de60b891e3e2e5dd7d08d71) )
ROM_LOAD( "toc04y.p1", 0x0000, 0x020000, CRC(7ff1cf89) SHA1(d4ab56b2b5b05643cd077b8d596b6cddf8a25134) )
ROM_LOAD( "tot05ad.p1", 0x0000, 0x020000, CRC(fce00fcc) SHA1(7d10c0b83d782a9e603522ed039089866d931474) )
ROM_LOAD( "tot05b.p1", 0x0000, 0x020000, CRC(594d551c) SHA1(3fcec5f41cfbea497aa53af4570664265774d1aa) )
ROM_LOAD( "tot05bd.p1", 0x0000, 0x020000, CRC(71faa109) SHA1(8bec4a03e2dc43656c910652cf10d1afdf0bab33) )
ROM_LOAD( "tot05c.p1", 0x0000, 0x020000, CRC(6e07e80e) SHA1(087a51da5578c326d7d9716c61b454be5e091761) )
ROM_LOAD( "tot05d.p1", 0x0000, 0x020000, CRC(24565e6a) SHA1(0f2c19e54e5a78ae10e786d49ebcd7c16e41850c) )
ROM_LOAD( "tot05dk.p1", 0x0000, 0x020000, CRC(3b3d095f) SHA1(326574adaa285a479abb5ae7515ef7d6bdd64126) )
ROM_LOAD( "tot05dr.p1", 0x0000, 0x020000, CRC(8832b26e) SHA1(d5414560245bbb2c070f7a035e5e3416617c2cf3) )
ROM_LOAD( "tot05dy.p1", 0x0000, 0x020000, CRC(bcde29a1) SHA1(cf8af40faf81a2a3141d3addd6b28c917beeda49) )
ROM_LOAD( "tot05k.p1", 0x0000, 0x020000, CRC(138afd4a) SHA1(bc53d71d926da7aca74c79f45c47610e62e347b6) )
ROM_LOAD( "tot05r.p1", 0x0000, 0x020000, CRC(a085467b) SHA1(de2deda7635c9565db0f69aa6f375216ed36b7bb) )
ROM_LOAD( "tot05s.p1", 0x0000, 0x020000, CRC(7dd1cfa8) SHA1(3bd0eeb621cc81ac462a6981e081837985f6635b) )
ROM_LOAD( "tot05y.p1", 0x0000, 0x020000, CRC(9469ddb4) SHA1(553812e3ece921d31c585b6a412c00ea5095b1b0) )
ROM_LOAD( "tot06ad.p1", 0x0000, 0x020000, CRC(ebe50569) SHA1(1906f1a8d47cc9ee3fa703ad57b180f8a4cdcf89) )
ROM_LOAD( "tot06b.p1", 0x0000, 0x020000, CRC(4d5a8ebe) SHA1(d30da9ce729fed7ad42b30d522b2b6d65a462b84) )
ROM_LOAD( "tot06bd.p1", 0x0000, 0x020000, CRC(66ffabac) SHA1(25822e42a58173b8f51dcbbd98d041b261e675e4) )
ROM_LOAD( "tot06c.p1", 0x0000, 0x020000, CRC(7a1033ac) SHA1(9d3c2f521574f405e1da81b605581bc4b6f011a4) )
ROM_LOAD( "tot06d.p1", 0x0000, 0x020000, CRC(304185c8) SHA1(f7ef4fce3ce9a455f39766ae97ebfbf93418e019) )
ROM_LOAD( "tot06dk.p1", 0x0000, 0x020000, CRC(2c3803fa) SHA1(68c83ccdd1f776376608918d9a1257fe64ce3a9b) )
ROM_LOAD( "tot06dr.p1", 0x0000, 0x020000, CRC(9f37b8cb) SHA1(3eb2f843dc4f87b7bfe16da1d133750ad7075a71) )
ROM_LOAD( "tot06dy.p1", 0x0000, 0x020000, CRC(abdb2304) SHA1(1c29f4176306f472323388f8c34b102930fb9f5f) )
ROM_LOAD( "tot06k.p1", 0x0000, 0x020000, CRC(079d26e8) SHA1(60e3d02d62f6fde6bdf4b9e77702549d493ccf09) )
ROM_LOAD( "tot06r.p1", 0x0000, 0x020000, CRC(b4929dd9) SHA1(fa3d99b8f6344c9511ecc864d4fff4629b105b5f) )
ROM_LOAD( "tot06s.p1", 0x0000, 0x020000, CRC(c6140fea) SHA1(c2257dd84bf97b71580e8b873fc745dfa456ddd9) )
ROM_LOAD( "tot06y.p1", 0x0000, 0x020000, CRC(807e0616) SHA1(2a3f89239a7fa43dfde90dd7ad929747e888074b) )
ROM_LOAD( "tten2010", 0x0000, 0x020000, CRC(28373e9a) SHA1(496df7b511b950b5affe9d65c80037f3ecddc5f8) )
ROM_REGION( 0x48, "fakechr", 0 )
ROM_LOAD( "tenoutten.chr", 0x0000, 0x000048, CRC(f94b32a4) SHA1(7d7fdf7612dab684b549c6fc99f11185056b8c3e) )
ROM_REGION( 0x100000, "msm6376", 0 )
ROM_LOAD( "totsnd.p1", 0x0000, 0x080000, CRC(684e9eb1) SHA1(8af28de879ae41efa07dfb07ecbd6c72201749a7) )
ROM_LOAD( "tocsnd.p1", 0x000000, 0x080000, CRC(b9527b0e) SHA1(4dc5f6794c3e63c8faced34e166dcc748ffb4941) )
ROM_LOAD( "tocsnd.p2", 0x080000, 0x080000, CRC(f684a488) SHA1(7c93cda3d3b55d9818625f696798c7c2cde79fa8) )
ROM_END
ROM_START( m4ttdia ) ROM_START( m4ttdia )
@ -4918,82 +4755,6 @@ ROM_END
ROM_START( m4topten )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "tts04s.p1", 0x0000, 0x020000, CRC(5e53f04f) SHA1(d49377966ed787cc3571eadff8c4c16fac74434c) )
ROM_REGION( 0x20000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */
ROM_LOAD( "topt15g", 0x0000, 0x020000, CRC(4bd34f0b) SHA1(e513582ec0579e2d030a82735284ca62ee8fedf9) )
ROM_LOAD( "topt15t", 0x0000, 0x020000, CRC(5c0f6549) SHA1(c20c0beccf23d49633127da37536f81186861c28) )
ROM_LOAD( "tot15g", 0x0000, 0x020000, CRC(1f9508ad) SHA1(33089ea05f6adecf8f4004aa1e4d626969b6ac3a) )
ROM_LOAD( "tot15t", 0x0000, 0x020000, CRC(1ce7f467) SHA1(cf47a126500680107a2f31743c3fff8290b595b8) )
ROM_LOAD( "tth10ad.p1", 0x0000, 0x020000, CRC(cd15be85) SHA1(fc2aeabbb8524a7225322c17c4f1a32d2a17bcd0) )
ROM_LOAD( "tth10b.p1", 0x0000, 0x020000, CRC(52d17d33) SHA1(0da24e685b1a7c8ee8899a17a87a55c3d7916608) )
ROM_LOAD( "tth10bd.p1", 0x0000, 0x020000, CRC(400f1040) SHA1(4485791bb962d8f13bcc87a10dccf1fd096f31d5) )
ROM_LOAD( "tth10c.p1", 0x0000, 0x020000, CRC(659bc021) SHA1(12e99ef185ac75ecab0604659085fee344e2d798) )
ROM_LOAD( "tth10d.p1", 0x0000, 0x020000, CRC(2fca7645) SHA1(84237e9d72180f39f273540e1df711f9cb282afd) )
ROM_LOAD( "tth10dh.p1", 0x0000, 0x020000, CRC(29cf8d8c) SHA1(b5fe04e5dd1417cda8665d2593809ae1b49bf4be) )
ROM_LOAD( "tth10dk.p1", 0x0000, 0x020000, CRC(0ac8b816) SHA1(d8b7d4e467b48b4998cbc7bf02a7adb8307d1594) )
ROM_LOAD( "tth10dr.p1", 0x0000, 0x020000, CRC(b9c70327) SHA1(5c4ba29b11f317677bea0b588975e1ce8f9c66f2) )
ROM_LOAD( "tth10dy.p1", 0x0000, 0x020000, CRC(8d2b98e8) SHA1(3dc25a4d90407b3b38a1717d4a67d5ef5f815417) )
ROM_LOAD( "tth10h.p1", 0x0000, 0x020000, CRC(3b11e0ff) SHA1(9aba4f17235876aeab71fcc46a4f15e58c87aa42) )
ROM_LOAD( "tth10k.p1", 0x0000, 0x020000, CRC(1816d565) SHA1(78d65f8cd5dfba8bfca732295fab12d408a4a8a0) )
ROM_LOAD( "tth10r.p1", 0x0000, 0x020000, CRC(ab196e54) SHA1(d55b8cb3acd961e4fd8ace7590be7ce0ae5babfc) )
ROM_LOAD( "tth10s.p1", 0x0000, 0x020000, CRC(046f5357) SHA1(ddcf7ff7d113b2bbf2106095c9166a678b00ad06) )
ROM_LOAD( "tth10y.p1", 0x0000, 0x020000, CRC(9ff5f59b) SHA1(a51f5f9bc90bfe89efd2cb39f32a626831c22056) )
ROM_LOAD( "tth12ad.p1", 0x0000, 0x020000, CRC(08e54740) SHA1(c86e36eb16d6031017a9a309ae0ae627c855b75a) )
ROM_LOAD( "tth12b.p1", 0x0000, 0x020000, CRC(dc787847) SHA1(0729350c65f4363b04aedbae214aca9f54b22b36) )
ROM_LOAD( "tth12bd.p1", 0x0000, 0x020000, CRC(85ffe985) SHA1(bf0eba40b0f74f77b7625fbbe6fa0382f089fd9d) )
ROM_LOAD( "tth12c.p1", 0x0000, 0x020000, CRC(eb32c555) SHA1(aa5c36d1c6d3f5f198d38705742a0a6a44b745bb) )
ROM_LOAD( "tth12d.p1", 0x0000, 0x020000, CRC(a1637331) SHA1(b5787e5f099375db689f8815493d1b6c9de5ee1e) )
ROM_LOAD( "tth12dh.p1", 0x0000, 0x020000, CRC(ec3f7449) SHA1(1db5e83734342c4c431614001fe06a8d8632242b) )
ROM_LOAD( "tth12dk.p1", 0x0000, 0x020000, CRC(cf3841d3) SHA1(e2629b9f06c39b2c7e1b321ab262e61d64c706b1) )
ROM_LOAD( "tth12dr.p1", 0x0000, 0x020000, CRC(7c37fae2) SHA1(e16eb1297ec725a879c3339d17ae2d8029646375) )
ROM_LOAD( "tth12dy.p1", 0x0000, 0x020000, CRC(48db612d) SHA1(6ab67832ad61c4b0192b8e3a282238981a730aba) )
ROM_LOAD( "tth12h.p1", 0x0000, 0x020000, CRC(b5b8e58b) SHA1(d1dd2ce68c657089267f78622ab5ecc34d7c306e) )
ROM_LOAD( "tth12k.p1", 0x0000, 0x020000, CRC(96bfd011) SHA1(38a1473d61eaec3d9d2bbb6486a8cb1d81d03b9f) )
ROM_LOAD( "tth12r.p1", 0x0000, 0x020000, CRC(25b06b20) SHA1(21b1566424fd68ab90a0ba11cb2b61fc6131256c) )
ROM_LOAD( "tth12s.p1", 0x0000, 0x020000, CRC(d204097c) SHA1(d06c0e1c8d3da373772723c580977aefdd7224b3) )
ROM_LOAD( "tth12y.p1", 0x0000, 0x020000, CRC(115cf0ef) SHA1(b13122a69d16200a587c8cb6328fe7cd89897261) )
ROM_LOAD( "tts02ad.p1", 0x0000, 0x020000, CRC(afba21a4) SHA1(6394014f5d46df96d6c7cd840fec996a6d5ffee5) )
ROM_LOAD( "tts02b.p1", 0x0000, 0x020000, CRC(ef4e080d) SHA1(a82940e58537d0c40f97c43aec470d68e9b344e8) )
ROM_LOAD( "tts02bd.p1", 0x0000, 0x020000, CRC(22a08f61) SHA1(5a28d4f3cf89368a1cfa0cf5df1a9050f27f7e05) )
ROM_LOAD( "tts02c.p1", 0x0000, 0x020000, CRC(d804b51f) SHA1(b6f18c7855f11978c408de3ec799859d8a534c93) )
ROM_LOAD( "tts02d.p1", 0x0000, 0x020000, CRC(9255037b) SHA1(f470f5d089a598bc5da6329caa38f87974bd2984) )
ROM_LOAD( "tts02dh.p1", 0x0000, 0x020000, CRC(ec4cdf22) SHA1(d3af8a72ce2740461c4528328b04084924e12832) )
ROM_LOAD( "tts02dk.p1", 0x0000, 0x020000, CRC(68672737) SHA1(79e5d15a62a6fcb90c3949e3676276b49167e353) )
ROM_LOAD( "tts02dr.p1", 0x0000, 0x020000, CRC(db689c06) SHA1(6c333c1fce6ccd0a34f11c11e3b826488e3ea663) )
ROM_LOAD( "tts02dy.p1", 0x0000, 0x020000, CRC(ef8407c9) SHA1(ecd3704d995d797d2c4a8c3aa729850ae4ccde56) )
ROM_LOAD( "tts02h.p1", 0x0000, 0x020000, CRC(21a2584e) SHA1(b098abf763af86ac691ccd1dcc3e0a4d92b0073d) )
ROM_LOAD( "tts02k.p1", 0x0000, 0x020000, CRC(a589a05b) SHA1(30e1b3a7baddd7a69be7a9a01ee4a84937eaedbd) )
ROM_LOAD( "tts02r.p1", 0x0000, 0x020000, CRC(16861b6a) SHA1(8275099a3abfa388e9568be5465abe0e31db320d) )
ROM_LOAD( "tts02s.p1", 0x0000, 0x020000, CRC(3cd87ce5) SHA1(b6214953e5b9f655b413b008d61624acbc39d419) )
ROM_LOAD( "tts02y.p1", 0x0000, 0x020000, CRC(226a80a5) SHA1(23b25dba28af1225a75e6f7c428c8576df4e8cb9) )
ROM_LOAD( "tts04ad.p1", 0x0000, 0x020000, CRC(cdcc3d18) SHA1(4e9ccb8bfbe5b86731a24631cc60819919bb3ce8) )
ROM_LOAD( "tts04b.p1", 0x0000, 0x020000, CRC(d0280881) SHA1(c2e416a224a7ed4cd9010a8e10b0aa5e808fbbb9) )
ROM_LOAD( "tts04bd.p1", 0x0000, 0x020000, CRC(40d693dd) SHA1(fecbf86d6b533dd0721497cc689ab978c75d67e5) )
ROM_LOAD( "tts04c.p1", 0x0000, 0x020000, CRC(e762b593) SHA1(7bcd65b747d12801430e783ead01c746fee3f371) )
ROM_LOAD( "tts04d.p1", 0x0000, 0x020000, CRC(ad3303f7) SHA1(5df231e7d20bf21da56ce912b736fc570707a10f) )
ROM_LOAD( "tts04dh.p1", 0x0000, 0x020000, CRC(8e3ac39e) SHA1(27ed795953247075089c1df8e577aa61ae64f59e) )
ROM_LOAD( "tts04dk.p1", 0x0000, 0x020000, CRC(0a113b8b) SHA1(1282ad75537040fa84620f0871050762546b5a28) )
ROM_LOAD( "tts04dr.p1", 0x0000, 0x020000, CRC(b91e80ba) SHA1(b7e082ea29d8558967564d057dfd4a48d0a997cc) )
ROM_LOAD( "tts04dy.p1", 0x0000, 0x020000, CRC(8df21b75) SHA1(2de6bc76bae324e149fb9003eb8327f4a2db269b) )
ROM_LOAD( "tts04h.p1", 0x0000, 0x020000, CRC(1ec458c2) SHA1(49a8e39a6506c8c5af3ad9eac47871d828611338) )
ROM_LOAD( "tts04k.p1", 0x0000, 0x020000, CRC(9aefa0d7) SHA1(f90be825c58ac6e443822f7c8f5da74dcf18c652) )
ROM_LOAD( "tts04r.p1", 0x0000, 0x020000, CRC(29e01be6) SHA1(59ee4baf1f48dbd703e94c7a8e45d841f196ec54) )
ROM_LOAD( "tts04y.p1", 0x0000, 0x020000, CRC(1d0c8029) SHA1(9ddc7a3d92715bfd4b24470f3d5ba2d9047be967) )
ROM_LOAD( "tth11s.p1", 0x0000, 0x020000, CRC(c46b2866) SHA1(26d9ee1f25e6a0f708a48ce91c7e9ed9ad3bee7a) )
ROM_REGION( 0x48, "fakechr", 0 )
ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) )
ROM_REGION( 0x100000, "msm6376", 0 )
ROM_LOAD( "tops1.hex", 0x000000, 0x080000, CRC(70f16892) SHA1(e6448831d3ce7fa251b40023bc7d5d6dee9d6793) )
ROM_LOAD( "tops2.hex", 0x080000, 0x080000, CRC(5fc888b0) SHA1(8d50ee4f36bd36aed5d0e7a77f76bd6caffc6376) )
ROM_END
ROM_START( m4toptim ) ROM_START( m4toptim )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "toptimer.bin", 0x0000, 0x010000, CRC(74804012) SHA1(0d9460ba6b1d359d358483c4e8bfd5518f364518) ) ROM_LOAD( "toptimer.bin", 0x0000, 0x010000, CRC(74804012) SHA1(0d9460ba6b1d359d358483c4e8bfd5518f364518) )
@ -10910,7 +10671,6 @@ GAME(199?, m4calamab,m4calama ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,
GAME(199?, m4calama ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Calamari Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4calama ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Calamari Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4cashat ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Cash Attack (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4cashat ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Cash Attack (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4cashln ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Cash Lines (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // gives WRONG SOUND, NEEDS V1 (can be skipped with 1) GAME(199?, m4cashln ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Cash Lines (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // gives WRONG SOUND, NEEDS V1 (can be skipped with 1)
GAME(199?, m4cashmn ,0 ,mod4oki ,mpu4jackpot8tkn , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Cash Machine (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4ceptr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ceptor (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4ceptr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ceptor (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4chasei ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4chasei ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4c9 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cloud Nine (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4c9 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cloud Nine (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
@ -10923,7 +10683,6 @@ GAME(199?, m4crzjwl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0,
GAME(199?, m4crjwl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Crown Jewels Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4crjwl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Crown Jewels Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4crjwl2 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Crown Jewels Mk II Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4crjwl2 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Crown Jewels Mk II Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4crdome ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Crystal Dome (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4crdome ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Crystal Dome (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4crmaze ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Crystal Maze (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4shocm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4shocm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4dbl9 ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Double 9's (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4dbl9 ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Double 9's (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4dbldmn ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Double Diamond Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4dbldmn ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Double Diamond Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
@ -11027,10 +10786,8 @@ GAME(199?, m4take5 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0,
GAME(199?, m4takepk ,0 ,mod4oki ,mpu4jackpot8per , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Take Your Pick (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4takepk ,0 ,mod4oki ,mpu4jackpot8per , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Take Your Pick (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4tpcl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Take Your Pick Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4tpcl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Take Your Pick Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4techno ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Techno Reel (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4techno ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Techno Reel (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4toot ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Ten Out Of Ten (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4ttdia ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Ten Ten Do It Again (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4ttdia ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Ten Ten Do It Again (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4toprn ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Run (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4toprn ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Run (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4topten ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4toptim ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4toptim ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4tbplay ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Turbo Play (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4tbplay ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Turbo Play (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
GAME(199?, m4tutfrt ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Tutti Fruity (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) GAME(199?, m4tutfrt ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Tutti Fruity (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )

View File

@ -14,7 +14,9 @@ MACHINE_CONFIG_EXTERN( mod4oki );
MACHINE_CONFIG_EXTERN( mod2 ); MACHINE_CONFIG_EXTERN( mod2 );
INPUT_PORTS_EXTERN( mpu4 ); INPUT_PORTS_EXTERN( mpu4 );
INPUT_PORTS_EXTERN( grtecp ); INPUT_PORTS_EXTERN( grtecp );
INPUT_PORTS_EXTERN( mpu4jackpot8tkn );
extern DRIVER_INIT( m4default ); extern DRIVER_INIT( m4default );
extern DRIVER_INIT( m4default_bigbank );
extern DRIVER_INIT( m_grtecp ); extern DRIVER_INIT( m_grtecp );
#define GAME_FLAGS (GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK) #define GAME_FLAGS (GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK)
@ -24,15 +26,22 @@ static DRIVER_INIT( m4debug )
// many original barcrest / bwb sets have identification info around here // many original barcrest / bwb sets have identification info around here
// this helps with sorting // this helps with sorting
UINT8 *src = machine.root_device().memregion( "maincpu" )->base(); UINT8 *src = machine.root_device().memregion( "maincpu" )->base();
int size = machine.root_device().memregion( "maincpu" )->bytes();
for (int j=0;j<size;j+=0x10000)
{
if (size>0x10000) printf("\nblock 0x%06x:\n",j);
printf("\ncopyright string:\n"); printf("\ncopyright string:\n");
for (int i = 0xffe0; i<0xfff0; i++) for (int i = 0xffe0; i<0xfff0; i++)
{ {
printf("%c", src[i]); printf("%c", src[j+i]);
} }
printf("\n\nidentification string:\n"); printf("\n\nidentification string:\n");
for (int i = 0xff28; i<0xff30; i++) for (int i = 0xff28; i<0xff30; i++)
{ {
printf("%c", src[i]); printf("%c", src[j+i]);
}
printf("\n");
} }
} }
@ -40,9 +49,16 @@ static DRIVER_INIT( m4_showstring )
{ {
DRIVER_INIT_CALL( m4default ); DRIVER_INIT_CALL( m4default );
DRIVER_INIT_CALL( m4debug ); DRIVER_INIT_CALL( m4debug );
} }
static DRIVER_INIT( m4_showstring_big )
{
DRIVER_INIT_CALL( m4default_bigbank );
DRIVER_INIT_CALL( m4debug );
}
static DRIVER_INIT( m_grtecpss ) static DRIVER_INIT( m_grtecpss )
{ {
DRIVER_INIT_CALL( m_grtecp ); DRIVER_INIT_CALL( m_grtecp );
@ -589,3 +605,298 @@ M4DENMEN_SET( 199?, m4denmen_h1, m4denmen, "dtm205", 0x0000, 0x010000, CRC(
// "DAFFY DUCK" and "V1 0.1" (display message R.E.O instead of Barcrest) // "DAFFY DUCK" and "V1 0.1" (display message R.E.O instead of Barcrest)
M4DENMEN_SET( 199?, m4denmen_h2, m4denmen, "den20.10", 0x0000, 0x010000, CRC(e002932d) SHA1(0a9b31c138a79695e1c1c29eee40c5a741275da6), "hack","Dennis The Menace (Barcrest) (MPU4) (V1 0.1, hack, set 1)" ) M4DENMEN_SET( 199?, m4denmen_h2, m4denmen, "den20.10", 0x0000, 0x010000, CRC(e002932d) SHA1(0a9b31c138a79695e1c1c29eee40c5a741275da6), "hack","Dennis The Menace (Barcrest) (MPU4) (V1 0.1, hack, set 1)" )
M4DENMEN_SET( 199?, m4denmen_h3, m4denmen, "denm2010", 0x0000, 0x010000, CRC(dbed5e48) SHA1(f374f01aeefca7cc19fc46c93e2ca7a10606b183), "hack","Dennis The Menace (Barcrest) (MPU4) (V1 0.1, hack, set 2)" ) M4DENMEN_SET( 199?, m4denmen_h3, m4denmen, "denm2010", 0x0000, 0x010000, CRC(dbed5e48) SHA1(f374f01aeefca7cc19fc46c93e2ca7a10606b183), "hack","Dennis The Menace (Barcrest) (MPU4) (V1 0.1, hack, set 2)" )
#define M4CRMAZE_EXTRA_ROMS \
ROM_REGION( 0x48, "fakechr", 0 ) \
ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \
ROM_REGION( 0x100000, "msm6376", 0 ) \
ROM_LOAD( "crmsnd.p1", 0x000000, 0x080000, CRC(e05cdf96) SHA1(c85c7b31b775e3cc2d7f943eb02ff5ebae6c6080) ) \
ROM_LOAD( "crmsnd.p2", 0x080000, 0x080000, CRC(11da0781) SHA1(cd63834bf5d5034c2473372bfcc4930c300333f7) ) \
ROM_REGION( 0x100000, "altmsm6376", 0 ) /* which sets are meant to use this? */ \
ROM_LOAD( "cmazep1.bin", 0x000000, 0x080000, CRC(3d94a320) SHA1(a9b4e89ce36dbc2ef584b3adffffa00b7ae7e245) ) \
#define M4CRMAZE_SET(year, setname,parent,name,offset,length,hash,company,title) \
ROM_START( setname ) \
ROM_REGION( length, "maincpu", 0 ) \
ROM_LOAD( name, offset, length, hash ) \
M4CRMAZE_EXTRA_ROMS \
ROM_END \
GAME(year, setname, parent ,mod4oki ,mpu4jackpot8tkn , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) \
// "(C)1993 BARCREST" and "CRM 3.0"
M4CRMAZE_SET( 1993, m4crmaze, 0, "crms.p1", 0x0000, 0x020000, CRC(b289c54b) SHA1(eb74bb559e2be2737fc311d044b9ce87014616f3), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0)" )
M4CRMAZE_SET( 1993, m4crmaze__h, m4crmaze, "crmd.p1", 0x0000, 0x020000, CRC(1232a809) SHA1(483b96b3b3ea50cbf5c3823c3ba20369b88bd459), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0D)" )
M4CRMAZE_SET( 1993, m4crmaze__d, m4crmaze, "crmad.p1", 0x0000, 0x020000, CRC(ed30e66e) SHA1(25c09637f6efaf8e24f758405fb55d6cfc7f4782), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0AD)" )
M4CRMAZE_SET( 1993, m4crmaze__e, m4crmaze, "crmb.p1", 0x0000, 0x020000, CRC(6f29a37f) SHA1(598541e2dbf05b3f2a70279276407cd93734731e), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0B)" )
M4CRMAZE_SET( 1993, m4crmaze__f, m4crmaze, "crmbd.p1", 0x0000, 0x020000, CRC(602a48ab) SHA1(3f1bf2b3294d15013e89d906865f065476202e54), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0BD)" )
M4CRMAZE_SET( 1993, m4crmaze__g, m4crmaze, "crmc.p1", 0x0000, 0x020000, CRC(58631e6d) SHA1(cffecd4c4ca46aa0ccfbaf7592d58da0428cf143), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0C)" )
M4CRMAZE_SET( 1993, m4crmaze__k, m4crmaze, "crmk.p1", 0x0000, 0x020000, CRC(25ee0b29) SHA1(addadf351a26e235a7fca573145a501aa6c0b53c), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0K)" )
M4CRMAZE_SET( 1993, m4crmaze__i, m4crmaze, "crmdk.p1", 0x0000, 0x020000, CRC(2aede0fd) SHA1(1731c901149c196d8f6a8bf3c2eec4f9a42126ad), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0KD)" )
M4CRMAZE_SET( 1993, m4crmaze__l, m4crmaze, "crmy.p1", 0x0000, 0x020000, CRC(a20d2bd7) SHA1(b05a0e2ab2b90a86873976c26a8299cb703fd6eb), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0Y)" )
M4CRMAZE_SET( 1993, m4crmaze__j, m4crmaze, "crmdy.p1", 0x0000, 0x020000, CRC(ad0ec003) SHA1(2d8a7467c3a79d60100f1290abe06410aaefaa49), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 3.0YD)" )
// "(C)1993 BARCREST" and "CRM 2.3"
M4CRMAZE_SET( 1993, m4crmaze__c, m4crmaze, "cmaze8", 0x0000, 0x020000, CRC(f2f81306) SHA1(725bfbdc53cf66c08b440c2b8d45547aa426d9c7), "Barcrest","Crystal Maze (Barcrest) (MPU4) (CRM 2.3)" )
// no copyright string, and "CRM 3.0"
M4CRMAZE_SET( 1993, m4crmaze__m, m4crmaze, "crystalmaze15.bin", 0x0000, 0x020000, CRC(492440a4) SHA1(2d5fe812f1d815620f7e72333d44946b66f5c867), "hack?","Crystal Maze (Barcrest) (MPU4) (CRM 3.0, hack?)" ) // bad chr
// roms below are a smaller size, have they been hacked to not use banking, or are they bad, they're all Bwb versions but all have the Barcrest at the end blanked out rather than replaced
// no copyright string, and "CRC 0.7"
M4CRMAZE_SET( 199?, m4crmaze__n, m4crmaze, "cmaz5.10", 0x0000, 0x010000, CRC(13a64c64) SHA1(3a7c4173f99fdf1a4b5d5b627022b18eb66837ce), "Bwb / hack?","Crystal Maze (Bwb / Barcrest) (MPU4) (CRC 0.7, hack?)" ) // bad chr
// no copyright string, and "CRC 1.3"
M4CRMAZE_SET( 199?, m4crmaze__p, m4crmaze, "cmaz510", 0x0000, 0x010000, CRC(0a1d39ac) SHA1(37888bbea427e115c29253deb85ed851ff6bdfd4), "Bwb / hack?","Crystal Maze (Bwb / Barcrest) (MPU4) (CRC 1.3, hack?)" ) // bad chr
// no copyright string, and "CR5 1.0"
M4CRMAZE_SET( 199?, m4crmaze__o, m4crmaze, "cmaz5.5", 0x0000, 0x010000, CRC(1f110757) SHA1(a60bac78176dab70d68bfb2b6a44debf499c96e3), "Bwb / hack?","Crystal Maze (Bwb / Barcrest) (MPU4) (CR5 1.0, hack?)" ) // bad chr
// no copyright string, and "CR5 2.0"
M4CRMAZE_SET( 199?, m4crmaze__q, m4crmaze, "cmaz55", 0x0000, 0x010000, CRC(2c2540ce) SHA1(12163109e05fe8675bc2dbcad95f598bebec8ba3), "Bwb / hack?","Crystal Maze (Bwb / Barcrest) (MPU4) (CR5 2.0, hack?, set 1)" ) // bad chr
M4CRMAZE_SET( 199?, m4crmaze__r, m4crmaze, "cmaz55v2", 0x0000, 0x010000, CRC(9a3515d6) SHA1(5edd2c67152d353a48ad2f28b685fae1e1e7fff7), "Bwb / hack?","Crystal Maze (Bwb / Barcrest) (MPU4) (CR5 2.0, hack?, set 2)" ) // bad chr
// no copyright string, and "CR8 1.2"
M4CRMAZE_SET( 199?, m4crmaze__s, m4crmaze, "cmaz58t", 0x0000, 0x010000, CRC(81a2c48a) SHA1(3ea25a2863f1350054f41cb169282c592565dbcd), "Bwb / hack?","Crystal Maze (Bwb / Barcrest) (MPU4) (CR8 1.2, hack?)" ) // bad chr
// these were in the Crystal Maze set, but are Cash Machine
#define M4CASHMN_EXTRA_ROMS \
ROM_REGION( 0x48, "fakechr", 0 ) \
ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \
ROM_REGION( 0x100000, "msm6376", 0 ) \
ROM_LOAD( "cmasnd.p1", 0x000000, 0x080000, CRC(1e7e13b8) SHA1(2db5c3789ad1b9bdb59e058562bd8be181ba0259) ) \
ROM_LOAD( "cmasnd.p2", 0x080000, 0x080000, CRC(cce703a8) SHA1(97487f3df0724d3ee01f6f4deae126aec6d2dd68) ) \
#define M4CASHMN_SET(year, setname,parent,name,offset,length,hash,company,title) \
ROM_START( setname ) \
ROM_REGION( length, "maincpu", 0 ) \
ROM_LOAD( name, offset, length, hash ) \
M4CASHMN_EXTRA_ROMS \
ROM_END \
GAME(year, setname, parent ,mod4oki ,mpu4jackpot8tkn , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) \
ROM_START( m4cashmn )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "cma07s.p1", 0x0000, 0x020000, CRC(e9c1d9f2) SHA1(f2df4ae650ec2b62d15bbaa562d638476bf926e7) )
ROM_REGION( 0x20000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */
ROM_LOAD( "camc2010", 0x0000, 0x020000, CRC(82e459ab) SHA1(62e1906007f6bba99e3e8badc3472070e8ae84f8) )
ROM_LOAD( "cma07ad.p1", 0x0000, 0x020000, CRC(411889fd) SHA1(5855b584315867ecc5df6d37f4a664b8331ecde8) )
ROM_LOAD( "cma07b.p1", 0x0000, 0x020000, CRC(ab889a33) SHA1(0f3ed0e4b8131585bcb4af47674fb1b65c37503d) )
ROM_LOAD( "cma07bd.p1", 0x0000, 0x020000, CRC(cc022738) SHA1(5968d1b6db55008cbd3c83651214c61c28fd4c5c) )
ROM_LOAD( "cma07c.p1", 0x0000, 0x020000, CRC(9cc22721) SHA1(ee4e9860641c8bf7db024a5bf9469265a6383e0a) )
ROM_LOAD( "cma07d.p1", 0x0000, 0x020000, CRC(d6939145) SHA1(45b6f7f80c7a2f4377d9bf8e184fb791f4ed0a2d) )
ROM_LOAD( "cma07dk.p1", 0x0000, 0x020000, CRC(86c58f6e) SHA1(fce50f86a641d27d0f5e5ecbac84822ccc9c177b) )
ROM_LOAD( "cma07dr.p1", 0x0000, 0x020000, CRC(35ca345f) SHA1(ddbb926988028bef13ebaa949d3ee92599770003) )
ROM_LOAD( "cma07dy.p1", 0x0000, 0x020000, CRC(0126af90) SHA1(0f303451fd8ca8c0cc50a31297f0d2729cfc2d7b) )
ROM_LOAD( "cma07k.p1", 0x0000, 0x020000, CRC(e14f3265) SHA1(7b5dc581fe8679559356fdca9644985da7d299cb) )
ROM_LOAD( "cma07r.p1", 0x0000, 0x020000, CRC(52408954) SHA1(623f840d94cc3cf2d2d648eb2be644d48350b169) )
ROM_LOAD( "cma07y.p1", 0x0000, 0x020000, CRC(66ac129b) SHA1(97f8c0c1f46444d4a492bc3dd3689df038000640) )
ROM_LOAD( "cma08ad.p1", 0x0000, 0x020000, CRC(fce2f785) SHA1(fc508e3d1036319894985600cb0142f13536078c) )
ROM_LOAD( "cma08b.p1", 0x0000, 0x020000, CRC(df7526de) SHA1(71456496fc31ae11ffa7c543b6444adba735aeb9) )
ROM_LOAD( "cma08bd.p1", 0x0000, 0x020000, CRC(71f85940) SHA1(439c54f35f4f6161a683d2c3d2bb6ce81b4190bf) )
ROM_LOAD( "cma08c.p1", 0x0000, 0x020000, CRC(e83f9bcc) SHA1(e20297ba5238b59c3872776b01e6a89a51a7aea7) )
ROM_LOAD( "cma08d.p1", 0x0000, 0x020000, CRC(a26e2da8) SHA1(928dfe399a7ae278dadd1e930bd370022f5113c4) )
ROM_LOAD( "cma08dk.p1", 0x0000, 0x020000, CRC(3b3ff116) SHA1(f60f0f9d996398a0f1c5b7d2a411613c42149e65) )
ROM_LOAD( "cma08dr.p1", 0x0000, 0x020000, CRC(88304a27) SHA1(9b86a49edca078dd68abab4c3e8655d3b4e79d47) )
ROM_LOAD( "cma08dy.p1", 0x0000, 0x020000, CRC(bcdcd1e8) SHA1(a7a4ab2313198c3bc0536526bd83179fd9170e66) )
ROM_LOAD( "cma08k.p1", 0x0000, 0x020000, CRC(95b28e88) SHA1(282a782900a0ddf60c66aa6a69e6871bb42c647a) )
ROM_LOAD( "cma08r.p1", 0x0000, 0x020000, CRC(26bd35b9) SHA1(74d07da26932bf48fe4b79b39ff76956b0993f3b) )
ROM_LOAD( "cma08s.p1", 0x0000, 0x020000, CRC(d0154d3c) SHA1(773f211092c51fb4ca1ef6a5a0cbdb15f842aca8) )
ROM_LOAD( "cma08y.p1", 0x0000, 0x020000, CRC(1251ae76) SHA1(600ce195be615796b887bb56bebb6c4322709632) )
ROM_LOAD( "cmh06ad.p1", 0x0000, 0x020000, CRC(ea2f6866) SHA1(afae312a488d7d83576c17eb2627a84637d88f18) )
ROM_LOAD( "cmh06b.p1", 0x0000, 0x020000, CRC(2d4d9667) SHA1(896ed70962c8904646df7159c3717399d0ceb022) )
ROM_LOAD( "cmh06bd.p1", 0x0000, 0x020000, CRC(6735c6a3) SHA1(4bce480c57473a9b0787a87a462c76e146a10157) )
ROM_LOAD( "cmh06c.p1", 0x0000, 0x020000, CRC(1a072b75) SHA1(89d4aed011391b2f12b48c0344136d83175ff2f0) )
ROM_LOAD( "cmh06d.p1", 0x0000, 0x020000, CRC(50569d11) SHA1(bdf7e984766bbe90bafbf0b367690ca65a8612d2) )
ROM_LOAD( "cmh06dk.p1", 0x0000, 0x020000, CRC(2df26ef5) SHA1(c716b73396d0af1f69f5812bace06341d368859f) )
ROM_LOAD( "cmh06dr.p1", 0x0000, 0x020000, CRC(9efdd5c4) SHA1(b9e02fe91e766aff41ca19879ab29e53bdee537e) )
ROM_LOAD( "cmh06dy.p1", 0x0000, 0x020000, CRC(aa114e0b) SHA1(8bc9b94e488a98b8a8008f9a35b6c078cc5c8f3f) )
ROM_LOAD( "cmh06k.p1", 0x0000, 0x020000, CRC(678a3e31) SHA1(2351b5167eec2a0d23c9938014de6f6ee07f13ff) )
ROM_LOAD( "cmh06r.p1", 0x0000, 0x020000, CRC(d4858500) SHA1(489fd55ac6c93b94bfb9297fd71b5d74bf95a97f) )
ROM_LOAD( "cmh06s.p1", 0x0000, 0x020000, CRC(9d3b4260) SHA1(7c4740585d17be3da3a0ea6e7fc68f89538013fb) )
ROM_LOAD( "cmh06y.p1", 0x0000, 0x020000, CRC(e0691ecf) SHA1(978fa00736967dd09d48ce5c847698b39a058ab5) )
ROM_LOAD( "cmh07ad.p1", 0x0000, 0x020000, CRC(4f354391) SHA1(687eccc312cd69f8bb70e35837f0b7ce74392936) )
ROM_LOAD( "cmh07b.p1", 0x0000, 0x020000, CRC(27fb6e7b) SHA1(c1558e4a0e2c28a825c2c5bb4089143cf919b67c) )
ROM_LOAD( "cmh07bd.p1", 0x0000, 0x020000, CRC(c22fed54) SHA1(5b6df1ed8518f9ba3e02b17c189c01ad1d0acbbb) )
ROM_LOAD( "cmh07c.p1", 0x0000, 0x020000, CRC(10b1d369) SHA1(9933a2a7933df941ee93e16682e91dcc90abb627) )
ROM_LOAD( "cmh07d.p1", 0x0000, 0x020000, CRC(5ae0650d) SHA1(da6917aa186daf59f35124c7cdc9d039d365c4c2) )
ROM_LOAD( "cmh07dk.p1", 0x0000, 0x020000, CRC(88e84502) SHA1(2ab86be51b3dde0b2cb05e3af5f43aad3d8a76df) )
ROM_LOAD( "cmh07dr.p1", 0x0000, 0x020000, CRC(3be7fe33) SHA1(074243cdfd37ba36e18e00610f45473e46ddc728) )
ROM_LOAD( "cmh07dy.p1", 0x0000, 0x020000, CRC(0f0b65fc) SHA1(68d775bb4af9595ac87c33c2663b272640eea69e) )
ROM_LOAD( "cmh07k.p1", 0x0000, 0x020000, CRC(6d3cc62d) SHA1(85f76fd8513c20683d486de7a1509cadfb6ecaa9) )
ROM_LOAD( "cmh07r.p1", 0x0000, 0x020000, CRC(de337d1c) SHA1(dd07727fb183833eced5c0c2dc284d571baacd25) )
ROM_LOAD( "cmh07s.p1", 0x0000, 0x020000, CRC(0367f4cf) SHA1(8b24a9009ff17d517b34e078ebbdc17465df139d) )
ROM_LOAD( "cmh07y.p1", 0x0000, 0x020000, CRC(eadfe6d3) SHA1(80541aba612b8ebba7ab159c61e6492b9c06feda) )
M4CASHMN_EXTRA_ROMS
ROM_END
GAME(199?, m4cashmn ,0 ,mod4oki ,mpu4jackpot8tkn , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Cash Machine (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
// "(C)1993 BARCREST" and "CMH 0.6"
M4CASHMN_SET( 199?, m4cashmn__za, m4cashmn, "cma15g", 0x0000, 0x020000, CRC(f30b3ef2) SHA1(c8fb4d883d12a477a703d8cb0842994675aaf879), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMH 0.6Y)" )
// no copyright string, and "CMA 0.7"
M4CASHMN_SET( 199?, m4cashmn__zb, m4cashmn, "cma15t", 0x0000, 0x020000, CRC(a4ed66a4) SHA1(0e98859c4d7dbccdea9396c3fea9f345b2f08db6), "Barcrest","Cash Machine (Barcrest) (MPU4) (CMA 0.7C, hack?)" )
#define M4TOPTEN_EXTRA_ROMS \
ROM_REGION( 0x48, "fakechr", 0 ) \
ROM_LOAD( "tri98.chr", 0x0000, 0x000048, CRC(8a4532a8) SHA1(c128fd513bbcba68a1c75a11e09a54ba1d23d6f4) ) \
ROM_REGION( 0x100000, "msm6376", 0 ) \
ROM_LOAD( "tops1.hex", 0x000000, 0x080000, CRC(70f16892) SHA1(e6448831d3ce7fa251b40023bc7d5d6dee9d6793) ) \
ROM_LOAD( "tops2.hex", 0x080000, 0x080000, CRC(5fc888b0) SHA1(8d50ee4f36bd36aed5d0e7a77f76bd6caffc6376) ) \
#define M4TOPTEN_SET(year, setname,parent,name,offset,length,hash,company,title) \
ROM_START( setname ) \
ROM_REGION( length, "maincpu", 0 ) \
ROM_LOAD( name, offset, length, hash ) \
M4TOPTEN_EXTRA_ROMS \
ROM_END \
GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) \
M4TOPTEN_SET( 199?, m4topten, 0, "tts04s.p1", 0x0000, 0x020000, CRC(5e53f04f) SHA1(d49377966ed787cc3571eadff8c4c16fac74434c), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4)" )
M4TOPTEN_SET( 199?, m4topten__ak, m4topten, "tts04ad.p1", 0x0000, 0x020000, CRC(cdcc3d18) SHA1(4e9ccb8bfbe5b86731a24631cc60819919bb3ce8), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4AD)" )
M4TOPTEN_SET( 199?, m4topten__al, m4topten, "tts04b.p1", 0x0000, 0x020000, CRC(d0280881) SHA1(c2e416a224a7ed4cd9010a8e10b0aa5e808fbbb9), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4B)" )
M4TOPTEN_SET( 199?, m4topten__am, m4topten, "tts04bd.p1", 0x0000, 0x020000, CRC(40d693dd) SHA1(fecbf86d6b533dd0721497cc689ab978c75d67e5), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4BD)" )
M4TOPTEN_SET( 199?, m4topten__an, m4topten, "tts04c.p1", 0x0000, 0x020000, CRC(e762b593) SHA1(7bcd65b747d12801430e783ead01c746fee3f371), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4C)" )
M4TOPTEN_SET( 199?, m4topten__ao, m4topten, "tts04d.p1", 0x0000, 0x020000, CRC(ad3303f7) SHA1(5df231e7d20bf21da56ce912b736fc570707a10f), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4D)" )
M4TOPTEN_SET( 199?, m4topten__ap, m4topten, "tts04dh.p1", 0x0000, 0x020000, CRC(8e3ac39e) SHA1(27ed795953247075089c1df8e577aa61ae64f59e), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4DH)" )
M4TOPTEN_SET( 199?, m4topten__aq, m4topten, "tts04dk.p1", 0x0000, 0x020000, CRC(0a113b8b) SHA1(1282ad75537040fa84620f0871050762546b5a28), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4KD)" )
M4TOPTEN_SET( 199?, m4topten__ar, m4topten, "tts04dr.p1", 0x0000, 0x020000, CRC(b91e80ba) SHA1(b7e082ea29d8558967564d057dfd4a48d0a997cc), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4RD)" )
M4TOPTEN_SET( 199?, m4topten__as, m4topten, "tts04dy.p1", 0x0000, 0x020000, CRC(8df21b75) SHA1(2de6bc76bae324e149fb9003eb8327f4a2db269b), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4YD)" )
M4TOPTEN_SET( 199?, m4topten__at, m4topten, "tts04h.p1", 0x0000, 0x020000, CRC(1ec458c2) SHA1(49a8e39a6506c8c5af3ad9eac47871d828611338), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4H)" )
M4TOPTEN_SET( 199?, m4topten__au, m4topten, "tts04k.p1", 0x0000, 0x020000, CRC(9aefa0d7) SHA1(f90be825c58ac6e443822f7c8f5da74dcf18c652), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4K)" )
M4TOPTEN_SET( 199?, m4topten__av, m4topten, "tts04r.p1", 0x0000, 0x020000, CRC(29e01be6) SHA1(59ee4baf1f48dbd703e94c7a8e45d841f196ec54), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4R)" )
M4TOPTEN_SET( 199?, m4topten__aw, m4topten, "tts04y.p1", 0x0000, 0x020000, CRC(1d0c8029) SHA1(9ddc7a3d92715bfd4b24470f3d5ba2d9047be967), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.4Y)" )
M4TOPTEN_SET( 199?, m4topten__6, m4topten, "tts02ad.p1", 0x0000, 0x020000, CRC(afba21a4) SHA1(6394014f5d46df96d6c7cd840fec996a6d5ffee5), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2AD)" )
M4TOPTEN_SET( 199?, m4topten__7, m4topten, "tts02b.p1", 0x0000, 0x020000, CRC(ef4e080d) SHA1(a82940e58537d0c40f97c43aec470d68e9b344e8), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2B)" )
M4TOPTEN_SET( 199?, m4topten__8, m4topten, "tts02bd.p1", 0x0000, 0x020000, CRC(22a08f61) SHA1(5a28d4f3cf89368a1cfa0cf5df1a9050f27f7e05), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2BD)" )
M4TOPTEN_SET( 199?, m4topten__9, m4topten, "tts02c.p1", 0x0000, 0x020000, CRC(d804b51f) SHA1(b6f18c7855f11978c408de3ec799859d8a534c93), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2C)" )
M4TOPTEN_SET( 199?, m4topten__aa, m4topten, "tts02d.p1", 0x0000, 0x020000, CRC(9255037b) SHA1(f470f5d089a598bc5da6329caa38f87974bd2984), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2D)" )
M4TOPTEN_SET( 199?, m4topten__ab, m4topten, "tts02dh.p1", 0x0000, 0x020000, CRC(ec4cdf22) SHA1(d3af8a72ce2740461c4528328b04084924e12832), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2DH)" )
M4TOPTEN_SET( 199?, m4topten__ac, m4topten, "tts02dk.p1", 0x0000, 0x020000, CRC(68672737) SHA1(79e5d15a62a6fcb90c3949e3676276b49167e353), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2KD)" )
M4TOPTEN_SET( 199?, m4topten__ad, m4topten, "tts02dr.p1", 0x0000, 0x020000, CRC(db689c06) SHA1(6c333c1fce6ccd0a34f11c11e3b826488e3ea663), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2RD)" )
M4TOPTEN_SET( 199?, m4topten__ae, m4topten, "tts02dy.p1", 0x0000, 0x020000, CRC(ef8407c9) SHA1(ecd3704d995d797d2c4a8c3aa729850ae4ccde56), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2YD)" )
M4TOPTEN_SET( 199?, m4topten__af, m4topten, "tts02h.p1", 0x0000, 0x020000, CRC(21a2584e) SHA1(b098abf763af86ac691ccd1dcc3e0a4d92b0073d), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2H)" )
M4TOPTEN_SET( 199?, m4topten__ag, m4topten, "tts02k.p1", 0x0000, 0x020000, CRC(a589a05b) SHA1(30e1b3a7baddd7a69be7a9a01ee4a84937eaedbd), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2K)" )
M4TOPTEN_SET( 199?, m4topten__ah, m4topten, "tts02r.p1", 0x0000, 0x020000, CRC(16861b6a) SHA1(8275099a3abfa388e9568be5465abe0e31db320d), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2R)" )
M4TOPTEN_SET( 199?, m4topten__ai, m4topten, "tts02s.p1", 0x0000, 0x020000, CRC(3cd87ce5) SHA1(b6214953e5b9f655b413b008d61624acbc39d419), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2)" )
M4TOPTEN_SET( 199?, m4topten__aj, m4topten, "tts02y.p1", 0x0000, 0x020000, CRC(226a80a5) SHA1(23b25dba28af1225a75e6f7c428c8576df4e8cb9), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2Y)" )
M4TOPTEN_SET( 199?, m4topten__e, m4topten, "tth10ad.p1", 0x0000, 0x020000, CRC(cd15be85) SHA1(fc2aeabbb8524a7225322c17c4f1a32d2a17bcd0), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0AD)" )
M4TOPTEN_SET( 199?, m4topten__f, m4topten, "tth10b.p1", 0x0000, 0x020000, CRC(52d17d33) SHA1(0da24e685b1a7c8ee8899a17a87a55c3d7916608), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0B)" )
M4TOPTEN_SET( 199?, m4topten__g, m4topten, "tth10bd.p1", 0x0000, 0x020000, CRC(400f1040) SHA1(4485791bb962d8f13bcc87a10dccf1fd096f31d5), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0BD)" )
M4TOPTEN_SET( 199?, m4topten__h, m4topten, "tth10c.p1", 0x0000, 0x020000, CRC(659bc021) SHA1(12e99ef185ac75ecab0604659085fee344e2d798), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0C)" )
M4TOPTEN_SET( 199?, m4topten__i, m4topten, "tth10d.p1", 0x0000, 0x020000, CRC(2fca7645) SHA1(84237e9d72180f39f273540e1df711f9cb282afd), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0D)" )
M4TOPTEN_SET( 199?, m4topten__j, m4topten, "tth10dh.p1", 0x0000, 0x020000, CRC(29cf8d8c) SHA1(b5fe04e5dd1417cda8665d2593809ae1b49bf4be), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0DH)" )
M4TOPTEN_SET( 199?, m4topten__k, m4topten, "tth10dk.p1", 0x0000, 0x020000, CRC(0ac8b816) SHA1(d8b7d4e467b48b4998cbc7bf02a7adb8307d1594), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0KD)" )
M4TOPTEN_SET( 199?, m4topten__l, m4topten, "tth10dr.p1", 0x0000, 0x020000, CRC(b9c70327) SHA1(5c4ba29b11f317677bea0b588975e1ce8f9c66f2), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0RD)" )
M4TOPTEN_SET( 199?, m4topten__m, m4topten, "tth10dy.p1", 0x0000, 0x020000, CRC(8d2b98e8) SHA1(3dc25a4d90407b3b38a1717d4a67d5ef5f815417), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0YD)" )
M4TOPTEN_SET( 199?, m4topten__n, m4topten, "tth10h.p1", 0x0000, 0x020000, CRC(3b11e0ff) SHA1(9aba4f17235876aeab71fcc46a4f15e58c87aa42), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0H)" )
M4TOPTEN_SET( 199?, m4topten__o, m4topten, "tth10k.p1", 0x0000, 0x020000, CRC(1816d565) SHA1(78d65f8cd5dfba8bfca732295fab12d408a4a8a0), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0K)" )
M4TOPTEN_SET( 199?, m4topten__p, m4topten, "tth10r.p1", 0x0000, 0x020000, CRC(ab196e54) SHA1(d55b8cb3acd961e4fd8ace7590be7ce0ae5babfc), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0R)" )
M4TOPTEN_SET( 199?, m4topten__q, m4topten, "tth10s.p1", 0x0000, 0x020000, CRC(046f5357) SHA1(ddcf7ff7d113b2bbf2106095c9166a678b00ad06), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0)" )
M4TOPTEN_SET( 199?, m4topten__r, m4topten, "tth10y.p1", 0x0000, 0x020000, CRC(9ff5f59b) SHA1(a51f5f9bc90bfe89efd2cb39f32a626831c22056), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0Y)" )
M4TOPTEN_SET( 199?, m4topten__ax, m4topten, "tth11s.p1", 0x0000, 0x020000, CRC(c46b2866) SHA1(26d9ee1f25e6a0f708a48ce91c7e9ed9ad3bee7a), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.1)" )
M4TOPTEN_SET( 199?, m4topten__s, m4topten, "tth12ad.p1", 0x0000, 0x020000, CRC(08e54740) SHA1(c86e36eb16d6031017a9a309ae0ae627c855b75a), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2AD)" )
M4TOPTEN_SET( 199?, m4topten__t, m4topten, "tth12b.p1", 0x0000, 0x020000, CRC(dc787847) SHA1(0729350c65f4363b04aedbae214aca9f54b22b36), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2B)" )
M4TOPTEN_SET( 199?, m4topten__u, m4topten, "tth12bd.p1", 0x0000, 0x020000, CRC(85ffe985) SHA1(bf0eba40b0f74f77b7625fbbe6fa0382f089fd9d), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2BD)" )
M4TOPTEN_SET( 199?, m4topten__v, m4topten, "tth12c.p1", 0x0000, 0x020000, CRC(eb32c555) SHA1(aa5c36d1c6d3f5f198d38705742a0a6a44b745bb), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2C)" )
M4TOPTEN_SET( 199?, m4topten__w, m4topten, "tth12d.p1", 0x0000, 0x020000, CRC(a1637331) SHA1(b5787e5f099375db689f8815493d1b6c9de5ee1e), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2D)" )
M4TOPTEN_SET( 199?, m4topten__x, m4topten, "tth12dh.p1", 0x0000, 0x020000, CRC(ec3f7449) SHA1(1db5e83734342c4c431614001fe06a8d8632242b), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2DH)" )
M4TOPTEN_SET( 199?, m4topten__y, m4topten, "tth12dk.p1", 0x0000, 0x020000, CRC(cf3841d3) SHA1(e2629b9f06c39b2c7e1b321ab262e61d64c706b1), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2KD)" )
M4TOPTEN_SET( 199?, m4topten__z, m4topten, "tth12dr.p1", 0x0000, 0x020000, CRC(7c37fae2) SHA1(e16eb1297ec725a879c3339d17ae2d8029646375), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2RD)" )
M4TOPTEN_SET( 199?, m4topten__0, m4topten, "tth12dy.p1", 0x0000, 0x020000, CRC(48db612d) SHA1(6ab67832ad61c4b0192b8e3a282238981a730aba), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2YD)" )
M4TOPTEN_SET( 199?, m4topten__1, m4topten, "tth12h.p1", 0x0000, 0x020000, CRC(b5b8e58b) SHA1(d1dd2ce68c657089267f78622ab5ecc34d7c306e), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2H)" )
M4TOPTEN_SET( 199?, m4topten__2, m4topten, "tth12k.p1", 0x0000, 0x020000, CRC(96bfd011) SHA1(38a1473d61eaec3d9d2bbb6486a8cb1d81d03b9f), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2K)" )
M4TOPTEN_SET( 199?, m4topten__3, m4topten, "tth12r.p1", 0x0000, 0x020000, CRC(25b06b20) SHA1(21b1566424fd68ab90a0ba11cb2b61fc6131256c), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2R)" )
M4TOPTEN_SET( 199?, m4topten__4, m4topten, "tth12s.p1", 0x0000, 0x020000, CRC(d204097c) SHA1(d06c0e1c8d3da373772723c580977aefdd7224b3), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2)" )
M4TOPTEN_SET( 199?, m4topten__5, m4topten, "tth12y.p1", 0x0000, 0x020000, CRC(115cf0ef) SHA1(b13122a69d16200a587c8cb6328fe7cd89897261), "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.2Y)" )
// no copyright string
M4TOPTEN_SET( 199?, m4topten__a, m4topten, "topt15g", 0x0000, 0x020000, CRC(4bd34f0b) SHA1(e513582ec0579e2d030a82735284ca62ee8fedf9), "hack?","Top Tenner (Barcrest) (type 1) (MPU4) (TTH 1.0, hack?)" )
M4TOPTEN_SET( 199?, m4topten__b, m4topten, "topt15t", 0x0000, 0x020000, CRC(5c0f6549) SHA1(c20c0beccf23d49633127da37536f81186861c28), "hack?","Top Tenner (Barcrest) (type 1) (MPU4) (TTS 0.2, hack?)" )
#define M4TOOT_EXTRA_ROMS \
ROM_REGION( 0x48, "fakechr", 0 ) \
ROM_LOAD( "tenoutten.chr", 0x0000, 0x000048, CRC(f94b32a4) SHA1(7d7fdf7612dab684b549c6fc99f11185056b8c3e) ) \
ROM_REGION( 0x100000, "msm6376", 0 ) \
ROM_LOAD( "tocsnd.p1", 0x000000, 0x080000, CRC(b9527b0e) SHA1(4dc5f6794c3e63c8faced34e166dcc748ffb4941) ) \
ROM_LOAD( "tocsnd.p2", 0x080000, 0x080000, CRC(f684a488) SHA1(7c93cda3d3b55d9818625f696798c7c2cde79fa8) ) \
ROM_REGION( 0x100000, "altmsm6376", 0 ) \
ROM_LOAD( "totsnd.p1", 0x0000, 0x080000, CRC(684e9eb1) SHA1(8af28de879ae41efa07dfb07ecbd6c72201749a7) ) \
#define M4TOOT_SET(year, setname,parent,name,offset,length,hash,company,title) \
ROM_START( setname ) \
ROM_REGION( length, "maincpu", 0 ) \
ROM_LOAD( name, offset, length, hash ) \
M4TOOT_EXTRA_ROMS \
ROM_END \
GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) \
ROM_START( m4toot )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "toc03c.p1", 0x0000, 0x020000, CRC(752ffa3f) SHA1(6cbe521ff85173159b6d34cc3e29a4192cd66394) )
ROM_REGION( 0x20000, "altrevs", 0 ) /* alternate revisions - to be sorted / split into clones in the future */
ROM_LOAD( "toc03ad.p1", 0x0000, 0x020000, CRC(f67e53c1) SHA1(07a50fb649c5085a33f0a1a9b3d65b0b61a3f152) )
ROM_LOAD( "toc03b.p1", 0x0000, 0x020000, CRC(4265472d) SHA1(01d5eb4e0a30abd1efed45658dcd8455494aabc4) )
ROM_LOAD( "toc03bd.p1", 0x0000, 0x020000, CRC(7b64fd04) SHA1(377af32317d8356f06b19de553a13e8558993c34) )
ROM_LOAD( "toc03d.p1", 0x0000, 0x020000, CRC(61f6b566) SHA1(2abd8092fe387c474ed10885a23ac242fa1462fa) )
ROM_LOAD( "toc03dk.p1", 0x0000, 0x020000, CRC(31a35552) SHA1(3765fe6209d7b33afa1805ba56376e83e825165f) )
ROM_LOAD( "toc03dr.p1", 0x0000, 0x020000, CRC(82acee63) SHA1(5a95425d6175c6496d745011d0ca3d744a027579) )
ROM_LOAD( "toc03dy.p1", 0x0000, 0x020000, CRC(b64075ac) SHA1(ffdf8e45c2eab593570e15efd5161b67de5e4ecf) )
ROM_LOAD( "toc03k.p1", 0x0000, 0x020000, CRC(08a2ef7b) SHA1(a4181db6280c7cc37b54baaf9cce1e61f61f3274) )
ROM_LOAD( "toc03r.p1", 0x0000, 0x020000, CRC(bbad544a) SHA1(5fb31e5641a9e85147f5b61c5aba5a1ee7470f9c) )
ROM_LOAD( "toc03s.p1", 0x0000, 0x020000, CRC(30feff92) SHA1(14397768ebd7469b4d1cff22ca9727f63608a98a) )
ROM_LOAD( "toc03y.p1", 0x0000, 0x020000, CRC(8f41cf85) SHA1(315b359d6d1a9f6ad939be1fc5e4d8f21f998fb8) )
ROM_LOAD( "toc04ad.p1", 0x0000, 0x020000, CRC(59075e2e) SHA1(a3ad5c642fb9cebcce2fb6c1e65514f2414948e0) )
ROM_LOAD( "toc04b.p1", 0x0000, 0x020000, CRC(b2d54721) SHA1(4c72d434c0f4f37b9a3f08a760c7fe3851717059) )
ROM_LOAD( "toc04bd.p1", 0x0000, 0x020000, CRC(d41df0eb) SHA1(e5a04c728a2893073ff8b5f6efd7cffd433a2985) )
ROM_LOAD( "toc04c.p1", 0x0000, 0x020000, CRC(859ffa33) SHA1(05b7bd3b87a0ebcc78de751766cfcdc4276035ac) )
ROM_LOAD( "toc04d.p1", 0x0000, 0x020000, CRC(9146b56a) SHA1(04bcd265d83e3554aef2de05aab9c3869bb966ea) )
ROM_LOAD( "toc04dk.p1", 0x0000, 0x020000, CRC(9eda58bd) SHA1(5e38f87a162d1cb37e74850af6a00ae81619ecbe) )
ROM_LOAD( "toc04dr.p1", 0x0000, 0x020000, CRC(2dd5e38c) SHA1(a1b0e8d48e164ab91b277a7efedf5b9fc73fc266) )
ROM_LOAD( "toc04dy.p1", 0x0000, 0x020000, CRC(19397843) SHA1(e7e3299d8e46c79d3cd0ea7fd639a1d649a806df) )
ROM_LOAD( "toc04k.p1", 0x0000, 0x020000, CRC(f812ef77) SHA1(d465b771efed27a9f616052d3fcabdbeb7c2d151) )
ROM_LOAD( "toc04r.p1", 0x0000, 0x020000, CRC(4b1d5446) SHA1(f4bac0c8257add41295679b3541d2064d8c772c2) )
ROM_LOAD( "toc04s.p1", 0x0000, 0x020000, CRC(295e6fff) SHA1(a21d991f00f144e12de60b891e3e2e5dd7d08d71) )
ROM_LOAD( "toc04y.p1", 0x0000, 0x020000, CRC(7ff1cf89) SHA1(d4ab56b2b5b05643cd077b8d596b6cddf8a25134) )
ROM_LOAD( "tot05ad.p1", 0x0000, 0x020000, CRC(fce00fcc) SHA1(7d10c0b83d782a9e603522ed039089866d931474) )
ROM_LOAD( "tot05b.p1", 0x0000, 0x020000, CRC(594d551c) SHA1(3fcec5f41cfbea497aa53af4570664265774d1aa) )
ROM_LOAD( "tot05bd.p1", 0x0000, 0x020000, CRC(71faa109) SHA1(8bec4a03e2dc43656c910652cf10d1afdf0bab33) )
ROM_LOAD( "tot05c.p1", 0x0000, 0x020000, CRC(6e07e80e) SHA1(087a51da5578c326d7d9716c61b454be5e091761) )
ROM_LOAD( "tot05d.p1", 0x0000, 0x020000, CRC(24565e6a) SHA1(0f2c19e54e5a78ae10e786d49ebcd7c16e41850c) )
ROM_LOAD( "tot05dk.p1", 0x0000, 0x020000, CRC(3b3d095f) SHA1(326574adaa285a479abb5ae7515ef7d6bdd64126) )
ROM_LOAD( "tot05dr.p1", 0x0000, 0x020000, CRC(8832b26e) SHA1(d5414560245bbb2c070f7a035e5e3416617c2cf3) )
ROM_LOAD( "tot05dy.p1", 0x0000, 0x020000, CRC(bcde29a1) SHA1(cf8af40faf81a2a3141d3addd6b28c917beeda49) )
ROM_LOAD( "tot05k.p1", 0x0000, 0x020000, CRC(138afd4a) SHA1(bc53d71d926da7aca74c79f45c47610e62e347b6) )
ROM_LOAD( "tot05r.p1", 0x0000, 0x020000, CRC(a085467b) SHA1(de2deda7635c9565db0f69aa6f375216ed36b7bb) )
ROM_LOAD( "tot05s.p1", 0x0000, 0x020000, CRC(7dd1cfa8) SHA1(3bd0eeb621cc81ac462a6981e081837985f6635b) )
ROM_LOAD( "tot05y.p1", 0x0000, 0x020000, CRC(9469ddb4) SHA1(553812e3ece921d31c585b6a412c00ea5095b1b0) )
ROM_LOAD( "tot06ad.p1", 0x0000, 0x020000, CRC(ebe50569) SHA1(1906f1a8d47cc9ee3fa703ad57b180f8a4cdcf89) )
ROM_LOAD( "tot06b.p1", 0x0000, 0x020000, CRC(4d5a8ebe) SHA1(d30da9ce729fed7ad42b30d522b2b6d65a462b84) )
ROM_LOAD( "tot06bd.p1", 0x0000, 0x020000, CRC(66ffabac) SHA1(25822e42a58173b8f51dcbbd98d041b261e675e4) )
ROM_LOAD( "tot06c.p1", 0x0000, 0x020000, CRC(7a1033ac) SHA1(9d3c2f521574f405e1da81b605581bc4b6f011a4) )
ROM_LOAD( "tot06d.p1", 0x0000, 0x020000, CRC(304185c8) SHA1(f7ef4fce3ce9a455f39766ae97ebfbf93418e019) )
ROM_LOAD( "tot06dk.p1", 0x0000, 0x020000, CRC(2c3803fa) SHA1(68c83ccdd1f776376608918d9a1257fe64ce3a9b) )
ROM_LOAD( "tot06dr.p1", 0x0000, 0x020000, CRC(9f37b8cb) SHA1(3eb2f843dc4f87b7bfe16da1d133750ad7075a71) )
ROM_LOAD( "tot06dy.p1", 0x0000, 0x020000, CRC(abdb2304) SHA1(1c29f4176306f472323388f8c34b102930fb9f5f) )
ROM_LOAD( "tot06k.p1", 0x0000, 0x020000, CRC(079d26e8) SHA1(60e3d02d62f6fde6bdf4b9e77702549d493ccf09) )
ROM_LOAD( "tot06r.p1", 0x0000, 0x020000, CRC(b4929dd9) SHA1(fa3d99b8f6344c9511ecc864d4fff4629b105b5f) )
ROM_LOAD( "tot06s.p1", 0x0000, 0x020000, CRC(c6140fea) SHA1(c2257dd84bf97b71580e8b873fc745dfa456ddd9) )
ROM_LOAD( "tot06y.p1", 0x0000, 0x020000, CRC(807e0616) SHA1(2a3f89239a7fa43dfde90dd7ad929747e888074b) )
ROM_LOAD( "tten2010", 0x0000, 0x020000, CRC(28373e9a) SHA1(496df7b511b950b5affe9d65c80037f3ecddc5f8) )
M4TOOT_EXTRA_ROMS
ROM_END
GAME(199?, m4toot ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Ten Out Of Ten (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
M4TOOT_SET( 199?, m4toot__za, m4topten, "tot15g", 0x0000, 0x020000, CRC(1f9508ad) SHA1(33089ea05f6adecf8f4004aa1e4d626969b6ac3a), "hack?","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3, hack?)" )
M4TOOT_SET( 199?, m4toot__zb, m4topten, "tot15t", 0x0000, 0x020000, CRC(1ce7f467) SHA1(cf47a126500680107a2f31743c3fff8290b595b8), "hack?","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.4, hack?)" )

View File

@ -105,6 +105,32 @@ public:
}; };
SCREEN_UPDATE_IND16( sandscrp )
{
kaneko16_state *state = screen.machine().driver_data<kaneko16_state>();
device_t *pandora = screen.machine().device("pandora");
bitmap.fill(0, cliprect);
int i;
screen.machine().priority_bitmap.fill(0, cliprect);
state->m_view2_0->kaneko16_prepare(bitmap, cliprect);
for ( i = 0; i < 8; i++ )
{
state->m_view2_0->render_tilemap_chip(bitmap,cliprect,i);
}
// copy sprite bitmap to screen
pandora_update(pandora, bitmap, cliprect);
return 0;
}
static MACHINE_RESET( sandscrp ) static MACHINE_RESET( sandscrp )
{ {
// sandscrp_state *state = machine.driver_data<sandscrp_state>(); // sandscrp_state *state = machine.driver_data<sandscrp_state>();
@ -497,8 +523,6 @@ static MACHINE_CONFIG_START( sandscrp, sandscrp_state )
MCFG_KANEKO_PANDORA_ADD("pandora", sandscrp_pandora_config) MCFG_KANEKO_PANDORA_ADD("pandora", sandscrp_pandora_config)
MCFG_VIDEO_START(sandscrp_1xVIEW2)
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")

View File

@ -72,12 +72,8 @@ public:
: driver_device(mconfig, type, tag), : driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_spriteram(*this, "spriteram"), m_spriteram(*this, "spriteram"),
m_bg15_reg(*this, "bg15_reg"),
m_bg15_select(*this, "bg15_select"),
m_mcu_ram(*this, "mcu_ram"), m_mcu_ram(*this, "mcu_ram"),
m_mainram(*this, "mainram"), m_mainram(*this, "mainram"),
m_galsnew_bg_pixram(*this, "galsnew_bgram"),
m_galsnew_fg_pixram(*this, "galsnew_fgram"),
m_view2_0(*this, "view2_0"), m_view2_0(*this, "view2_0"),
m_view2_1(*this, "view2_1"), m_view2_1(*this, "view2_1"),
m_kaneko_spr(*this, "kan_spr") m_kaneko_spr(*this, "kan_spr")
@ -86,12 +82,8 @@ public:
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
optional_shared_ptr<UINT16> m_spriteram; optional_shared_ptr<UINT16> m_spriteram;
optional_shared_ptr<UINT16> m_bg15_reg;
optional_shared_ptr<UINT16> m_bg15_select;
optional_shared_ptr<UINT16> m_mcu_ram; optional_shared_ptr<UINT16> m_mcu_ram;
optional_shared_ptr<UINT16> m_mainram; optional_shared_ptr<UINT16> m_mainram;
optional_shared_ptr<UINT16> m_galsnew_bg_pixram;
optional_shared_ptr<UINT16> m_galsnew_fg_pixram;
optional_device<kaneko_view2_tilemap_device> m_view2_0; optional_device<kaneko_view2_tilemap_device> m_view2_0;
optional_device<kaneko_view2_tilemap_device> m_view2_1; optional_device<kaneko_view2_tilemap_device> m_view2_1;
optional_device<kaneko16_sprite_device> m_kaneko_spr; optional_device<kaneko16_sprite_device> m_kaneko_spr;
@ -107,7 +99,6 @@ public:
int VIEW2_2_pri; int VIEW2_2_pri;
bitmap_ind16 m_bg15_bitmap;
DECLARE_READ16_MEMBER(kaneko16_rnd_r); DECLARE_READ16_MEMBER(kaneko16_rnd_r);
DECLARE_WRITE16_MEMBER(kaneko16_coin_lockout_w); DECLARE_WRITE16_MEMBER(kaneko16_coin_lockout_w);
@ -139,10 +130,6 @@ public:
DECLARE_READ16_MEMBER(shogwarr_calc_r); DECLARE_READ16_MEMBER(shogwarr_calc_r);
DECLARE_WRITE16_MEMBER(kaneko16_display_enable); DECLARE_WRITE16_MEMBER(kaneko16_display_enable);
DECLARE_READ16_MEMBER(kaneko16_bg15_select_r);
DECLARE_WRITE16_MEMBER(kaneko16_bg15_select_w);
DECLARE_READ16_MEMBER(kaneko16_bg15_reg_r);
DECLARE_WRITE16_MEMBER(kaneko16_bg15_reg_w);
DECLARE_READ16_MEMBER(kaneko16_ay1_YM2149_r); DECLARE_READ16_MEMBER(kaneko16_ay1_YM2149_r);
DECLARE_WRITE16_MEMBER(kaneko16_ay1_YM2149_w); DECLARE_WRITE16_MEMBER(kaneko16_ay1_YM2149_w);
DECLARE_READ16_MEMBER(kaneko16_ay2_YM2149_r); DECLARE_READ16_MEMBER(kaneko16_ay2_YM2149_r);
@ -157,6 +144,27 @@ public:
DECLARE_WRITE8_MEMBER(kaneko16_eeprom_reset_w); DECLARE_WRITE8_MEMBER(kaneko16_eeprom_reset_w);
}; };
class kaneko16_berlwall_state : public kaneko16_state
{
public:
kaneko16_berlwall_state(const machine_config &mconfig, device_type type, const char *tag)
: kaneko16_state(mconfig, type, tag),
m_bg15_reg(*this, "bg15_reg"),
m_bg15_select(*this, "bg15_select")
{
}
optional_shared_ptr<UINT16> m_bg15_reg;
optional_shared_ptr<UINT16> m_bg15_select;
bitmap_ind16 m_bg15_bitmap;
DECLARE_READ16_MEMBER(kaneko16_bg15_select_r);
DECLARE_WRITE16_MEMBER(kaneko16_bg15_select_w);
DECLARE_READ16_MEMBER(kaneko16_bg15_reg_r);
DECLARE_WRITE16_MEMBER(kaneko16_bg15_reg_w);
};
/*----------- defined in machine/kaneko16.c -----------*/ /*----------- defined in machine/kaneko16.c -----------*/
@ -195,20 +203,11 @@ void kaneko16_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const
PALETTE_INIT( berlwall ); PALETTE_INIT( berlwall );
VIDEO_START( kaneko16_sprites ); VIDEO_START( kaneko16 );
VIDEO_START( kaneko16_1xVIEW2_tilemaps );
VIDEO_START( kaneko16_1xVIEW2 );
VIDEO_START( kaneko16_2xVIEW2 );
VIDEO_START( berlwall ); VIDEO_START( berlwall );
VIDEO_START( sandscrp_1xVIEW2 );
SCREEN_UPDATE_IND16( kaneko16 ); SCREEN_UPDATE_IND16( kaneko16 );
SCREEN_UPDATE_IND16( sandscrp );
SCREEN_UPDATE_IND16( berlwall ); SCREEN_UPDATE_IND16( berlwall );
SCREEN_UPDATE_IND16( jchan_view2 );
VIDEO_START( galsnew );
SCREEN_UPDATE_IND16( galsnew );
#endif #endif

View File

@ -18956,6 +18956,8 @@ m4cashcoc //
m4cashcod // m4cashcod //
m4cashln // Cash Lines (Barcrest) m4cashln // Cash Lines (Barcrest)
m4cashmn // Cash Machine (Barcrest) m4cashmn // Cash Machine (Barcrest)
m4cashmn__za //
m4cashmn__zb //
m4cashmx // Cash Matrix (Barcrest) m4cashmx // Cash Matrix (Barcrest)
m4cashmxa // m4cashmxa //
m4cashzn // Cash Zone (Barcrest) m4cashzn // Cash Zone (Barcrest)
@ -18994,6 +18996,23 @@ m4crjwl // Crown Jewels Club (Barcrest)
m4crjwl2 // Crown Jewels Mk II Club (Barcrest) m4crjwl2 // Crown Jewels Mk II Club (Barcrest)
m4crdome // Crystal Dome (Barcrest) m4crdome // Crystal Dome (Barcrest)
m4crmaze // Crystal Maze (Barcrest) m4crmaze // Crystal Maze (Barcrest)
m4crmaze__c //
m4crmaze__d //
m4crmaze__e //
m4crmaze__f //
m4crmaze__g //
m4crmaze__h //
m4crmaze__i //
m4crmaze__j //
m4crmaze__k //
m4crmaze__l //
m4crmaze__m //
m4crmaze__n //
m4crmaze__o //
m4crmaze__p //
m4crmaze__q //
m4crmaze__r //
m4crmaze__s //
m4denmen // Dennis The Menace (Barcrest) m4denmen // Dennis The Menace (Barcrest)
m4denmen_h2 // m4denmen_h2 //
m4denmendnc // m4denmendnc //
@ -19367,6 +19386,8 @@ m4takepk // Take Your Pick (Barcrest)
m4tpcl // Take Your Pick Club (Barcrest) m4tpcl // Take Your Pick Club (Barcrest)
m4techno // Techno Reel (Barcrest) m4techno // Techno Reel (Barcrest)
m4toot // Ten Out Of Ten (Barcrest) m4toot // Ten Out Of Ten (Barcrest)
m4toot__za //
m4toot__zb //
m4ttdia // Ten Ten Do It Again (Barcrest) m4ttdia // Ten Ten Do It Again (Barcrest)
m4tiktak // Tic Tak Cash (Barcrest) m4tiktak // Tic Tak Cash (Barcrest)
m4toma // Tomahawk (Barcrest) m4toma // Tomahawk (Barcrest)
@ -19378,6 +19399,64 @@ m4toprn // Top Run (Barcrest)
m4topst // Top Stop (Barcrest) m4topst // Top Stop (Barcrest)
m4toptak // Top Take (Barcrest) m4toptak // Top Take (Barcrest)
m4topten // Top Tenner (Barcrest) m4topten // Top Tenner (Barcrest)
m4topten__a //
m4topten__b //
m4topten__e //
m4topten__f //
m4topten__g //
m4topten__h //
m4topten__i //
m4topten__j //
m4topten__k //
m4topten__l //
m4topten__m //
m4topten__n //
m4topten__o //
m4topten__p //
m4topten__q //
m4topten__r //
m4topten__s //
m4topten__t //
m4topten__u //
m4topten__v //
m4topten__w //
m4topten__x //
m4topten__y //
m4topten__z //
m4topten__0 //
m4topten__1 //
m4topten__2 //
m4topten__3 //
m4topten__4 //
m4topten__5 //
m4topten__6 //
m4topten__7 //
m4topten__8 //
m4topten__9 //
m4topten__aa //
m4topten__ab //
m4topten__ac //
m4topten__ad //
m4topten__ae //
m4topten__af //
m4topten__ag //
m4topten__ah //
m4topten__ai //
m4topten__aj //
m4topten__ak //
m4topten__al //
m4topten__am //
m4topten__an //
m4topten__ao //
m4topten__ap //
m4topten__aq //
m4topten__ar //
m4topten__as //
m4topten__at //
m4topten__au //
m4topten__av //
m4topten__aw //
m4topten__ax //
m4toptena // m4toptena //
m4toplot // Top The Lot (Barcrest) m4toplot // Top The Lot (Barcrest)
m4toptim // Top Timer (Barcrest) m4toptim // Top Timer (Barcrest)

View File

@ -129,7 +129,7 @@ VIDEO_START( galpani2 )
state->m_bg8_bitmap[0] = auto_bitmap_ind16_alloc(machine, 512, 256); state->m_bg8_bitmap[0] = auto_bitmap_ind16_alloc(machine, 512, 256);
state->m_bg8_bitmap[1] = auto_bitmap_ind16_alloc(machine, 512, 256); state->m_bg8_bitmap[1] = auto_bitmap_ind16_alloc(machine, 512, 256);
VIDEO_START_CALL(kaneko16_sprites); state->m_disp_enable = 1; // default enabled for games not using it
} }
@ -194,6 +194,6 @@ if (screen.machine().input().code_pressed(KEYCODE_Z))
cliprect,0x4000 + 0); cliprect,0x4000 + 0);
} }
if (layers_ctrl & 0x8) state->m_kaneko_spr->kaneko16_draw_sprites(screen.machine(), bitmap, cliprect, state->m_spriteram, state->m_spriteram.bytes()); if (layers_ctrl & 0x8) state->m_kaneko_spr->kaneko16_render_sprites(screen.machine(), bitmap, cliprect, state->m_spriteram, state->m_spriteram.bytes());
return 0; return 0;
} }

View File

@ -17,35 +17,73 @@ WRITE16_MEMBER(kaneko16_state::kaneko16_display_enable)
COMBINE_DATA(&m_disp_enable); COMBINE_DATA(&m_disp_enable);
} }
VIDEO_START( kaneko16_sprites ) VIDEO_START( kaneko16 )
{
kaneko16_state *state = machine.driver_data<kaneko16_state>();
state->m_disp_enable = 1; // default enabled for games not using it
}
VIDEO_START( kaneko16_1xVIEW2_tilemaps )
{ {
kaneko16_state *state = machine.driver_data<kaneko16_state>(); kaneko16_state *state = machine.driver_data<kaneko16_state>();
state->m_disp_enable = 1; // default enabled for games not using it state->m_disp_enable = 1; // default enabled for games not using it
} }
VIDEO_START( kaneko16_1xVIEW2 )
static void kaneko16_fill_bitmap(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
{ {
VIDEO_START_CALL(kaneko16_sprites);
VIDEO_START_CALL(kaneko16_1xVIEW2_tilemaps); kaneko16_state *state = machine.driver_data<kaneko16_state>();
if (state->m_kaneko_spr)
if(state->m_kaneko_spr->get_sprite_type()== 1)
{
bitmap.fill(0x7f00, cliprect);
return;
} }
VIDEO_START( kaneko16_2xVIEW2 )
{
VIDEO_START_CALL(kaneko16_1xVIEW2); /* Fill the bitmap with pen 0. This is wrong, but will work most of
the times. To do it right, each pixel should be drawn with pen 0
of the bottomost tile that covers it (which is pretty tricky to do) */
bitmap.fill(0, cliprect);
} }
VIDEO_START( sandscrp_1xVIEW2 ) static SCREEN_UPDATE_IND16( common )
{ {
VIDEO_START_CALL(kaneko16_1xVIEW2); int i;
kaneko16_state *state = screen.machine().driver_data<kaneko16_state>();
screen.machine().priority_bitmap.fill(0, cliprect);
if (state->m_view2_0) state->m_view2_0->kaneko16_prepare(bitmap, cliprect);
if (state->m_view2_1) state->m_view2_1->kaneko16_prepare(bitmap, cliprect);
for ( i = 0; i < 8; i++ )
{
if (state->m_view2_0) state->m_view2_0->render_tilemap_chip(bitmap,cliprect,i);
if (state->m_view2_1) state->m_view2_1->render_tilemap_chip_alt(bitmap,cliprect,i, state->VIEW2_2_pri);
} }
return 0;
}
SCREEN_UPDATE_IND16( kaneko16 )
{
kaneko16_state *state = screen.machine().driver_data<kaneko16_state>();
kaneko16_fill_bitmap(screen.machine(),bitmap,cliprect);
// if the display is disabled, do nothing?
if (!state->m_disp_enable) return 0;
SCREEN_UPDATE16_CALL(common);
state->m_kaneko_spr->kaneko16_render_sprites(screen.machine(),bitmap,cliprect, state->m_spriteram, state->m_spriteram.bytes());
return 0;
}
/* Berlwall and Gals Panic have an additional hi-color layers */ /* Berlwall and Gals Panic have an additional hi-color layers */
@ -63,7 +101,7 @@ PALETTE_INIT( berlwall )
VIDEO_START( berlwall ) VIDEO_START( berlwall )
{ {
kaneko16_state *state = machine.driver_data<kaneko16_state>(); kaneko16_berlwall_state *state = machine.driver_data<kaneko16_berlwall_state>();
int sx, x,y; int sx, x,y;
UINT8 *RAM = state->memregion("gfx3")->base(); UINT8 *RAM = state->memregion("gfx3")->base();
@ -105,13 +143,9 @@ VIDEO_START( berlwall )
state->m_bg15_bitmap.pix16(y, sx * 256 + x) = 2048 + ((g << 10) | (r << 5) | b); state->m_bg15_bitmap.pix16(y, sx * 256 + x) = 2048 + ((g << 10) | (r << 5) | b);
} }
VIDEO_START_CALL(kaneko16_1xVIEW2); VIDEO_START_CALL(kaneko16);
} }
VIDEO_START( galsnew )
{
VIDEO_START_CALL(kaneko16_sprites);
}
@ -119,31 +153,29 @@ VIDEO_START( galsnew )
/* Select the high color background image (out of 32 in the ROMs) */ /* Select the high color background image (out of 32 in the ROMs) */
READ16_MEMBER(kaneko16_state::kaneko16_bg15_select_r) READ16_MEMBER(kaneko16_berlwall_state::kaneko16_bg15_select_r)
{ {
return m_bg15_select[0]; return m_bg15_select[0];
} }
WRITE16_MEMBER(kaneko16_state::kaneko16_bg15_select_w) WRITE16_MEMBER(kaneko16_berlwall_state::kaneko16_bg15_select_w)
{ {
COMBINE_DATA(&m_bg15_select[0]); COMBINE_DATA(&m_bg15_select[0]);
} }
/* ? */ /* ? */
READ16_MEMBER(kaneko16_state::kaneko16_bg15_reg_r) READ16_MEMBER(kaneko16_berlwall_state::kaneko16_bg15_reg_r)
{ {
return m_bg15_reg[0]; return m_bg15_reg[0];
} }
WRITE16_MEMBER(kaneko16_state::kaneko16_bg15_reg_w) WRITE16_MEMBER(kaneko16_berlwall_state::kaneko16_bg15_reg_w)
{ {
COMBINE_DATA(&m_bg15_reg[0]); COMBINE_DATA(&m_bg15_reg[0]);
} }
static void kaneko16_render_15bpp_bitmap(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) static void kaneko16_render_15bpp_bitmap(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
{ {
kaneko16_state *state = machine.driver_data<kaneko16_state>(); kaneko16_berlwall_state *state = machine.driver_data<kaneko16_berlwall_state>();
if (state->m_bg15_bitmap.valid()) if (state->m_bg15_bitmap.valid())
{ {
int select = state->m_bg15_select[ 0 ]; int select = state->m_bg15_select[ 0 ];
@ -161,46 +193,6 @@ static void kaneko16_render_15bpp_bitmap(running_machine &machine, bitmap_ind16
// flag = 0; // flag = 0;
} }
} }
static void kaneko16_fill_bitmap(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
kaneko16_state *state = machine.driver_data<kaneko16_state>();
if (state->m_kaneko_spr)
if(state->m_kaneko_spr->get_sprite_type()== 1)
{
bitmap.fill(0x7f00, cliprect);
return;
}
/* Fill the bitmap with pen 0. This is wrong, but will work most of
the times. To do it right, each pixel should be drawn with pen 0
of the bottomost tile that covers it (which is pretty tricky to do) */
bitmap.fill(0, cliprect);
}
static SCREEN_UPDATE_IND16( common )
{
int i;
kaneko16_state *state = screen.machine().driver_data<kaneko16_state>();
screen.machine().priority_bitmap.fill(0, cliprect);
if (state->m_view2_0) state->m_view2_0->kaneko16_prepare(bitmap, cliprect);
if (state->m_view2_1) state->m_view2_1->kaneko16_prepare(bitmap, cliprect);
for ( i = 0; i < 8; i++ )
{
if (state->m_view2_0) state->m_view2_0->render_tilemap_chip(bitmap,cliprect,i);
if (state->m_view2_1) state->m_view2_1->render_tilemap_chip_alt(bitmap,cliprect,i, state->VIEW2_2_pri);
}
return 0;
}
SCREEN_UPDATE_IND16(berlwall) SCREEN_UPDATE_IND16(berlwall)
{ {
kaneko16_state *state = screen.machine().driver_data<kaneko16_state>(); kaneko16_state *state = screen.machine().driver_data<kaneko16_state>();
@ -214,91 +206,3 @@ SCREEN_UPDATE_IND16(berlwall)
state->m_kaneko_spr->kaneko16_render_sprites(screen.machine(),bitmap,cliprect, state->m_spriteram, state->m_spriteram.bytes()); state->m_kaneko_spr->kaneko16_render_sprites(screen.machine(),bitmap,cliprect, state->m_spriteram, state->m_spriteram.bytes());
return 0; return 0;
} }
SCREEN_UPDATE_IND16( jchan_view2 )
{
SCREEN_UPDATE16_CALL(common);
return 0;
}
SCREEN_UPDATE_IND16( kaneko16 )
{
kaneko16_state *state = screen.machine().driver_data<kaneko16_state>();
kaneko16_fill_bitmap(screen.machine(),bitmap,cliprect);
// if the display is disabled, do nothing?
if (!state->m_disp_enable) return 0;
SCREEN_UPDATE16_CALL(common);
state->m_kaneko_spr->kaneko16_render_sprites(screen.machine(),bitmap,cliprect, state->m_spriteram, state->m_spriteram.bytes());
return 0;
}
SCREEN_UPDATE_IND16( galsnew )
{
kaneko16_state *state = screen.machine().driver_data<kaneko16_state>();
// kaneko16_fill_bitmap(screen.machine(),bitmap,cliprect);
int y,x;
int count;
count = 0;
for (y=0;y<256;y++)
{
UINT16 *dest = &bitmap.pix16(y);
for (x=0;x<256;x++)
{
UINT16 dat = (state->m_galsnew_fg_pixram[count] & 0xfffe)>>1;
dat+=2048;
dest[x] = dat;
count++;
}
}
count = 0;
for (y=0;y<256;y++)
{
UINT16 *dest = &bitmap.pix16(y);
for (x=0;x<256;x++)
{
UINT16 dat = (state->m_galsnew_bg_pixram[count]);
//dat &=0x3ff;
if (dat)
dest[x] = dat;
count++;
}
}
// if the display is disabled, do nothing?
if (!state->m_disp_enable) return 0;
SCREEN_UPDATE16_CALL(common);
state->m_kaneko_spr->kaneko16_render_sprites(screen.machine(),bitmap,cliprect, state->m_spriteram, state->m_spriteram.bytes());
return 0;
}
SCREEN_UPDATE_IND16( sandscrp )
{
kaneko16_state *state = screen.machine().driver_data<kaneko16_state>();
device_t *pandora = screen.machine().device("pandora");
kaneko16_fill_bitmap(screen.machine(),bitmap,cliprect);
// if the display is disabled, do nothing?
if (!state->m_disp_enable) return 0;
SCREEN_UPDATE16_CALL(common);
// copy sprite bitmap to screen
pandora_update(pandora, bitmap, cliprect);
return 0;
}

View File

@ -10,7 +10,7 @@
Sprites are 16 x 16 x 4 in the older games, 16 x 16 x 8 in Sprites are 16 x 16 x 4 in the older games, 16 x 16 x 8 in
gtmr & gtmr2. gtmr & gtmr2.
Sprites types 0 and 2 can also have a simple effect keeping Sprite type 0 also has a simple effect for keeping
sprites on the screen sprites on the screen
@ -25,10 +25,12 @@
#include "emu.h" #include "emu.h"
#include "kaneko_spr.h" #include "kaneko_spr.h"
const device_type KANEKO16_SPRITE = &device_creator<kaneko16_sprite_device>; //const device_type KANEKO16_SPRITE = &device_creator<kaneko16_sprite_device>; // we have pure virtual functions
const device_type KANEKO_VU002_SPRITE = &device_creator<kaneko_vu002_sprite_device>;
const device_type KANEKO_KC002_SPRITE = &device_creator<kaneko_kc002_sprite_device>;
kaneko16_sprite_device::kaneko16_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) kaneko16_sprite_device::kaneko16_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock, device_type type)
: device_t(mconfig, KANEKO16_SPRITE, "kaneko16_sprite_device", tag, owner, clock) : device_t(mconfig, type, "kaneko16_sprite_device", tag, owner, clock)
{ {
m_keep_sprites = 0; // default disabled for games not using it m_keep_sprites = 0; // default disabled for games not using it
@ -37,7 +39,6 @@ kaneko16_sprite_device::kaneko16_sprite_device(const machine_config &mconfig, co
m_sprite_yoffs = 0; m_sprite_yoffs = 0;
m_sprite_fliptype = 0; m_sprite_fliptype = 0;
m_sprite_type = 0;
m_altspacing = 0; m_altspacing = 0;
/* /*
@ -81,11 +82,6 @@ void kaneko16_sprite_device::set_priorities(device_t &device, int pri0, int pri1
dev.m_priority.sprite[3] = pri3; dev.m_priority.sprite[3] = pri3;
} }
void kaneko16_sprite_device::set_type(device_t &device, int type)
{
kaneko16_sprite_device &dev = downcast<kaneko16_sprite_device &>(device);
dev.m_sprite_type = type;
}
void kaneko16_sprite_device::set_altspacing(device_t &device, int spacing) void kaneko16_sprite_device::set_altspacing(device_t &device, int spacing)
{ {
@ -119,16 +115,16 @@ void kaneko16_sprite_device::set_offsets(device_t &device, int xoffs, int yoffs)
Sprites Drawing Sprites Drawing
Sprite data is layed out in RAM in different ways for different games Sprite data is layed out in RAM in different ways for different games
(type 0,1,2,etc.). This basically involves the bits in the attribute (type 0,1). This basically involves the bits in the attribute
word to be shuffled around and/or the words being in different order. word to be shuffled around and/or the words being in different order.
Each sprite is always stuffed in 4 words. There may be some extra Each sprite is always stuffed in 4 words. There may be some extra
padding words though (e.g. type 2 sprites are like type 0 but the padding words though
data is held in the last 8 bytes of every 16). Examples are:
Examples are:
Type 0: shogwarr, blazeon, bakubrkr. Type 0: shogwarr, blazeon, bakubrkr.
Type 1: gtmr. Type 1: gtmr.
Type 2: berlwall
Offset: Format: Value: Offset: Format: Value:
@ -166,6 +162,24 @@ Offset: Format: Value:
#define USE_LATCHED_CODE 2 #define USE_LATCHED_CODE 2
#define USE_LATCHED_COLOR 4 #define USE_LATCHED_COLOR 4
void kaneko_kc002_sprite_device::get_sprite_attributes(struct tempsprite *s, UINT16 attr)
{
s->color = (attr & 0x003f);
s->priority = (attr & 0x00c0) >> 6;
s->flipy = (attr & 0x0100);
s->flipx = (attr & 0x0200);
s->code += (s->y & 1) << 16; // bloodwar
}
void kaneko_vu002_sprite_device::get_sprite_attributes(struct tempsprite *s, UINT16 attr)
{
s->flipy = (attr & 0x0001);
s->flipx = (attr & 0x0002);
s->color = (attr & 0x00fc) >> 2;
s->priority = (attr & 0x0300) >> 8;
}
int kaneko16_sprite_device::kaneko16_parse_sprite_type012(running_machine &machine, int i, struct tempsprite *s, UINT16* spriteram16, int spriteram16_bytes) int kaneko16_sprite_device::kaneko16_parse_sprite_type012(running_machine &machine, int i, struct tempsprite *s, UINT16* spriteram16, int spriteram16_bytes)
{ {
int attr, xoffs, offs; int attr, xoffs, offs;
@ -180,21 +194,8 @@ int kaneko16_sprite_device::kaneko16_parse_sprite_type012(running_machine &machi
s->x = spriteram16[offs + 2]; s->x = spriteram16[offs + 2];
s->y = spriteram16[offs + 3]; s->y = spriteram16[offs + 3];
if (m_sprite_type == 1) // this differs between each chip type
{ get_sprite_attributes(s, attr);
s->color = (attr & 0x003f);
s->priority = (attr & 0x00c0) >> 6;
s->flipy = (attr & 0x0100);
s->flipx = (attr & 0x0200);
s->code += (s->y & 1) << 16; // bloodwar
}
else
{
s->flipy = (attr & 0x0001);
s->flipx = (attr & 0x0002);
s->color = (attr & 0x00fc) >> 2;
s->priority = (attr & 0x0300) >> 8;
}
xoffs = (attr & 0x1800) >> 11; xoffs = (attr & 0x1800) >> 11;
s->yoffs = m_sprites_regs[0x10/2 + xoffs*2 + 1]; s->yoffs = m_sprites_regs[0x10/2 + xoffs*2 + 1];
@ -345,12 +346,7 @@ void kaneko16_sprite_device::kaneko16_draw_sprites(running_machine &machine, bit
{ {
int flags; int flags;
switch( m_sprite_type ) flags = kaneko16_parse_sprite_type012(machine, i,s, spriteram16, spriteram16_bytes);
{
case 0:
case 1: flags = kaneko16_parse_sprite_type012(machine, i,s, spriteram16, spriteram16_bytes); break;
default: flags = -1;
}
if (flags == -1) // End of Sprites if (flags == -1) // End of Sprites
break; break;
@ -453,7 +449,7 @@ void kaneko16_sprite_device::kaneko16_draw_sprites(running_machine &machine, bit
0000.w f--- ---- ---- ---- Sprites Disable?? (see blazeon) 0000.w f--- ---- ---- ---- Sprites Disable?? (see blazeon)
-edc ba98 7654 3--- -edc ba98 7654 3---
---- ---- ---- -2-- Keep sprites on screen (only sprites types 0 and 2) ---- ---- ---- -2-- Keep sprites on screen (only sprites type 0?)
---- ---- ---- --1- Flip X ---- ---- ---- --1- Flip X
---- ---- ---- ---0 Flip Y ---- ---- ---- ---0 Flip Y
@ -532,7 +528,7 @@ WRITE16_MEMBER(kaneko16_sprite_device::kaneko16_sprites_regs_w)
m_sprite_flipx = new_data & 2; m_sprite_flipx = new_data & 2;
m_sprite_flipy = new_data & 1; m_sprite_flipy = new_data & 1;
if(m_sprite_type == 0) if(get_sprite_type() == 0)
m_keep_sprites = ~new_data & 4; m_keep_sprites = ~new_data & 4;
} }
@ -561,3 +557,13 @@ void kaneko16_sprite_device::kaneko16_render_sprites(running_machine &machine, b
kaneko16_draw_sprites(machine,bitmap,cliprect, spriteram16, spriteram16_bytes); kaneko16_draw_sprites(machine,bitmap,cliprect, spriteram16, spriteram16_bytes);
} }
} }
kaneko_vu002_sprite_device::kaneko_vu002_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: kaneko16_sprite_device(mconfig, tag, owner, clock, KANEKO_VU002_SPRITE)
{
}
kaneko_kc002_sprite_device::kaneko_kc002_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: kaneko16_sprite_device(mconfig, tag, owner, clock, KANEKO_KC002_SPRITE)
{
}

View File

@ -2,13 +2,11 @@
/* berlwall, blazeon etc. */ /* berlwall, blazeon etc. */
#define MCFG_DEVICE_ADD_VU002_SPRITES \ #define MCFG_DEVICE_ADD_VU002_SPRITES \
MCFG_DEVICE_ADD("kan_spr", KANEKO16_SPRITE, 0) \ MCFG_DEVICE_ADD("kan_spr", KANEKO_VU002_SPRITE, 0) \
kaneko16_sprite_device::set_type(*device, 0); \
/* gtmr, gtmr2, bloodwar etc. */ /* gtmr, gtmr2, bloodwar etc. */
#define MCFG_DEVICE_ADD_KC002_SPRITES \ #define MCFG_DEVICE_ADD_KC002_SPRITES \
MCFG_DEVICE_ADD("kan_spr", KANEKO16_SPRITE, 0) \ MCFG_DEVICE_ADD("kan_spr", KANEKO_KC002_SPRITE, 0) \
kaneko16_sprite_device::set_type(*device, 1); \
@ -31,19 +29,25 @@ struct tempsprite
class kaneko16_sprite_device : public device_t class kaneko16_sprite_device : public device_t
{ {
public: public:
kaneko16_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); kaneko16_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock, device_type type);
static void set_type(device_t &device, int type);
static void set_altspacing(device_t &device, int spacing); static void set_altspacing(device_t &device, int spacing);
static void set_fliptype(device_t &device, int fliptype); static void set_fliptype(device_t &device, int fliptype);
static void set_offsets(device_t &device, int xoffs, int yoffs); static void set_offsets(device_t &device, int xoffs, int yoffs);
static void set_priorities(device_t &device, int pri0, int pri1, int pri2, int pri3); static void set_priorities(device_t &device, int pri0, int pri1, int pri2, int pri3);
// (legacy) used in the bitmap clear functions
virtual int get_sprite_type(void) =0;
void kaneko16_render_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16* spriteram16, int spriteram16_bytes);
// sprite type: todo, different class instead (set when declaring device in MCFG) DECLARE_READ16_MEMBER(kaneko16_sprites_regs_r);
int m_sprite_type; DECLARE_WRITE16_MEMBER(kaneko16_sprites_regs_w);
protected:
virtual void device_start();
virtual void device_reset();
// alt ram addressing (set when declaring device in MCFG) // alt ram addressing (set when declaring device in MCFG)
// used on Berlin Wall.. it's the same sprite chip, so probably just a different RAM hookup on the PCB, maybe also // used on Berlin Wall.. it's the same sprite chip, so probably just a different RAM hookup on the PCB, maybe also
@ -60,16 +64,12 @@ public:
// priority for mixing (set when declaring device in MCFG ) // priority for mixing (set when declaring device in MCFG )
kaneko16_priority_t m_priority; kaneko16_priority_t m_priority;
// pure virtual function for getting the attributes on sprites, the two different chip types have
// them in a different order
virtual void get_sprite_attributes(struct tempsprite *s, UINT16 attr) =0;
// used in the bitmap clear functions private:
int get_sprite_type(void)
{
return m_sprite_type;
}
// registers // registers
UINT16 m_sprite_flipx; UINT16 m_sprite_flipx;
UINT16 m_sprite_flipy; UINT16 m_sprite_flipy;
@ -79,8 +79,6 @@ public:
int m_keep_sprites; int m_keep_sprites;
bitmap_ind16 m_sprites_bitmap; bitmap_ind16 m_sprites_bitmap;
void kaneko16_render_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16* spriteram16, int spriteram16_bytes);
void kaneko16_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16* spriteram16, int spriteram16_bytes); void kaneko16_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16* spriteram16, int spriteram16_bytes);
void kaneko16_draw_sprites_custom(bitmap_ind16 &dest_bmp,const rectangle &clip,const gfx_element *gfx, void kaneko16_draw_sprites_custom(bitmap_ind16 &dest_bmp,const rectangle &clip,const gfx_element *gfx,
@ -90,17 +88,29 @@ public:
int kaneko16_parse_sprite_type012(running_machine &machine, int i, struct tempsprite *s, UINT16* spriteram16, int spriteram16_bytes); int kaneko16_parse_sprite_type012(running_machine &machine, int i, struct tempsprite *s, UINT16* spriteram16, int spriteram16_bytes);
DECLARE_READ16_MEMBER(kaneko16_sprites_regs_r);
DECLARE_WRITE16_MEMBER(kaneko16_sprites_regs_w);
protected:
virtual void device_start();
virtual void device_reset();
private:
}; };
extern const device_type KANEKO16_SPRITE; //extern const device_type KANEKO16_SPRITE;
class kaneko_vu002_sprite_device : public kaneko16_sprite_device
{
public:
kaneko_vu002_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
void get_sprite_attributes(struct tempsprite *s, UINT16 attr);
int get_sprite_type(void){ return 0; };
};
extern const device_type KANEKO_VU002_SPRITE;
class kaneko_kc002_sprite_device : public kaneko16_sprite_device
{
public:
kaneko_kc002_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
void get_sprite_attributes(struct tempsprite *s, UINT16 attr);
int get_sprite_type(void){ return 1; };
};
extern const device_type KANEKO_KC002_SPRITE;