diff --git a/src/mame/drivers/expro02.c b/src/mame/drivers/expro02.c index e6bde04e189..4ca4b1d98d7 100644 --- a/src/mame/drivers/expro02.c +++ b/src/mame/drivers/expro02.c @@ -157,7 +157,13 @@ class expro02_state : public kaneko16_state { public: 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 m_galsnew_bg_pixram; + optional_shared_ptr m_galsnew_fg_pixram; UINT16 m_vram_0_bank_num; UINT16 m_vram_1_bank_num; @@ -168,6 +174,71 @@ public: }; + +SCREEN_UPDATE_IND16( galsnew ) +{ + expro02_state *state = screen.machine().driver_data(); +// 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(); + state->m_disp_enable = 1; // default enabled for games not using it +} + + /************************************* * * Game-specific port definitions diff --git a/src/mame/drivers/jchan.c b/src/mame/drivers/jchan.c index f6fe138f35c..816ea19595b 100644 --- a/src/mame/drivers/jchan.c +++ b/src/mame/drivers/jchan.c @@ -227,6 +227,7 @@ public: }; + /*************************************************************************** MCU Code Simulation @@ -368,7 +369,7 @@ static VIDEO_START(jchan) state->m_spritegen1->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); - 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_2->fill(0x0000, cliprect); diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c index 000baeb9303..435b83a3cf9 100644 --- a/src/mame/drivers/kaneko16.c +++ b/src/mame/drivers/kaneko16.c @@ -306,7 +306,7 @@ WRITE16_MEMBER(kaneko16_state::kaneko16_eeprom_w) 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(0x200000, 0x20ffff) AM_RAM // Work RAM AM_RANGE(0x30e000, 0x30ffff) AM_RAM AM_SHARE("spriteram") // Sprites @@ -1712,7 +1712,7 @@ static const ay8910_interface ay8910_intf_eeprom = 6-7] rte */ -static MACHINE_CONFIG_START( berlwall, kaneko16_state ) +static MACHINE_CONFIG_START( berlwall, kaneko16_berlwall_state ) /* basic machine hardware */ 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 */ 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 - MCFG_VIDEO_START(kaneko16_1xVIEW2) + MCFG_VIDEO_START(kaneko16) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") @@ -1928,7 +1928,7 @@ static MACHINE_CONFIG_START( gtmr, kaneko16_state ) MCFG_DEVICE_ADD_KC002_SPRITES - MCFG_VIDEO_START(kaneko16_2xVIEW2) + MCFG_VIDEO_START(kaneko16) /* sound hardware */ 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 */ 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_offset(*device, 0x33, -0x8, 320, 240); - MCFG_VIDEO_START(kaneko16_1xVIEW2) + MCFG_VIDEO_START(kaneko16) 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 */); diff --git a/src/mame/drivers/mpu4.c b/src/mame/drivers/mpu4.c index caa0fc8ffd9..c091b4b19ac 100644 --- a/src/mame/drivers/mpu4.c +++ b/src/mame/drivers/mpu4.c @@ -972,68 +972,6 @@ ROM_START( m4cashln ) ROM_LOAD( "cls2.hex", 0x080000, 0x080000, CRC(e42e674b) SHA1(1cda06425f3d4797ee0c4ff7426970150e5af4b6) ) 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 ) @@ -1401,43 +1339,6 @@ ROM_START( m4crdome ) ROM_LOAD( "cd2snd.p2", 0x080000, 0x080000, CRC(b1bb4678) SHA1(8e8ab0a8d1b3e70dcb56d071193fdb5f34af7d14) ) 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 ) @@ -4797,70 +4698,6 @@ ROM_START( m4techno ) 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 ) @@ -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_REGION( 0x10000, "maincpu", 0 ) 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?, 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?, 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?, 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 ) @@ -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?, 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?, 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?, 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 ) @@ -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?, 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?, 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?, 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?, 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 ) diff --git a/src/mame/drivers/mpu4sw.c b/src/mame/drivers/mpu4sw.c index f2e9afa47b3..4c69f22b455 100644 --- a/src/mame/drivers/mpu4sw.c +++ b/src/mame/drivers/mpu4sw.c @@ -14,7 +14,9 @@ MACHINE_CONFIG_EXTERN( mod4oki ); MACHINE_CONFIG_EXTERN( mod2 ); INPUT_PORTS_EXTERN( mpu4 ); INPUT_PORTS_EXTERN( grtecp ); +INPUT_PORTS_EXTERN( mpu4jackpot8tkn ); extern DRIVER_INIT( m4default ); +extern DRIVER_INIT( m4default_bigbank ); extern DRIVER_INIT( m_grtecp ); #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 // this helps with sorting UINT8 *src = machine.root_device().memregion( "maincpu" )->base(); - printf("\ncopyright string:\n"); - for (int i = 0xffe0; i<0xfff0; i++) + int size = machine.root_device().memregion( "maincpu" )->bytes(); + + for (int j=0;j0x10000) printf("\nblock 0x%06x:\n",j); + printf("\ncopyright string:\n"); + for (int i = 0xffe0; i<0xfff0; i++) + { + printf("%c", src[j+i]); + } + printf("\n\nidentification string:\n"); + for (int i = 0xff28; i<0xff30; i++) + { + printf("%c", src[j+i]); + } + printf("\n"); } } @@ -40,9 +49,16 @@ static DRIVER_INIT( m4_showstring ) { DRIVER_INIT_CALL( m4default ); DRIVER_INIT_CALL( m4debug ); - } +static DRIVER_INIT( m4_showstring_big ) +{ + DRIVER_INIT_CALL( m4default_bigbank ); + DRIVER_INIT_CALL( m4debug ); +} + + + static DRIVER_INIT( m_grtecpss ) { 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) 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)" ) + + +#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?)" ) + diff --git a/src/mame/drivers/sandscrp.c b/src/mame/drivers/sandscrp.c index 7cee9bc52c5..0ad07c1d6e2 100644 --- a/src/mame/drivers/sandscrp.c +++ b/src/mame/drivers/sandscrp.c @@ -105,6 +105,32 @@ public: }; + +SCREEN_UPDATE_IND16( sandscrp ) +{ + kaneko16_state *state = screen.machine().driver_data(); + 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 ) { // sandscrp_state *state = machine.driver_data(); @@ -497,8 +523,6 @@ static MACHINE_CONFIG_START( sandscrp, sandscrp_state ) MCFG_KANEKO_PANDORA_ADD("pandora", sandscrp_pandora_config) - MCFG_VIDEO_START(sandscrp_1xVIEW2) - /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") diff --git a/src/mame/includes/kaneko16.h b/src/mame/includes/kaneko16.h index 429167a89a8..51bccfe3289 100644 --- a/src/mame/includes/kaneko16.h +++ b/src/mame/includes/kaneko16.h @@ -72,12 +72,8 @@ public: : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_spriteram(*this, "spriteram"), - m_bg15_reg(*this, "bg15_reg"), - m_bg15_select(*this, "bg15_select"), m_mcu_ram(*this, "mcu_ram"), 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_1(*this, "view2_1"), m_kaneko_spr(*this, "kan_spr") @@ -86,12 +82,8 @@ public: required_device m_maincpu; optional_shared_ptr m_spriteram; - optional_shared_ptr m_bg15_reg; - optional_shared_ptr m_bg15_select; optional_shared_ptr m_mcu_ram; optional_shared_ptr m_mainram; - optional_shared_ptr m_galsnew_bg_pixram; - optional_shared_ptr m_galsnew_fg_pixram; optional_device m_view2_0; optional_device m_view2_1; optional_device m_kaneko_spr; @@ -107,7 +99,6 @@ public: int VIEW2_2_pri; - bitmap_ind16 m_bg15_bitmap; DECLARE_READ16_MEMBER(kaneko16_rnd_r); DECLARE_WRITE16_MEMBER(kaneko16_coin_lockout_w); @@ -139,10 +130,6 @@ public: DECLARE_READ16_MEMBER(shogwarr_calc_r); 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_WRITE16_MEMBER(kaneko16_ay1_YM2149_w); DECLARE_READ16_MEMBER(kaneko16_ay2_YM2149_r); @@ -157,6 +144,27 @@ public: 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 m_bg15_reg; + optional_shared_ptr 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 -----------*/ @@ -195,20 +203,11 @@ void kaneko16_draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const PALETTE_INIT( berlwall ); -VIDEO_START( kaneko16_sprites ); -VIDEO_START( kaneko16_1xVIEW2_tilemaps ); -VIDEO_START( kaneko16_1xVIEW2 ); -VIDEO_START( kaneko16_2xVIEW2 ); +VIDEO_START( kaneko16 ); VIDEO_START( berlwall ); -VIDEO_START( sandscrp_1xVIEW2 ); - SCREEN_UPDATE_IND16( kaneko16 ); -SCREEN_UPDATE_IND16( sandscrp ); SCREEN_UPDATE_IND16( berlwall ); -SCREEN_UPDATE_IND16( jchan_view2 ); -VIDEO_START( galsnew ); -SCREEN_UPDATE_IND16( galsnew ); #endif diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 5835eda9cb7..539eb24205b 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -18956,6 +18956,8 @@ m4cashcoc // m4cashcod // m4cashln // Cash Lines (Barcrest) m4cashmn // Cash Machine (Barcrest) +m4cashmn__za // +m4cashmn__zb // m4cashmx // Cash Matrix (Barcrest) m4cashmxa // m4cashzn // Cash Zone (Barcrest) @@ -18994,6 +18996,23 @@ m4crjwl // Crown Jewels Club (Barcrest) m4crjwl2 // Crown Jewels Mk II Club (Barcrest) m4crdome // Crystal Dome (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_h2 // m4denmendnc // @@ -19367,6 +19386,8 @@ m4takepk // Take Your Pick (Barcrest) m4tpcl // Take Your Pick Club (Barcrest) m4techno // Techno Reel (Barcrest) m4toot // Ten Out Of Ten (Barcrest) +m4toot__za // +m4toot__zb // m4ttdia // Ten Ten Do It Again (Barcrest) m4tiktak // Tic Tak Cash (Barcrest) m4toma // Tomahawk (Barcrest) @@ -19378,6 +19399,64 @@ m4toprn // Top Run (Barcrest) m4topst // Top Stop (Barcrest) m4toptak // Top Take (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 // m4toplot // Top The Lot (Barcrest) m4toptim // Top Timer (Barcrest) diff --git a/src/mame/video/galpani2.c b/src/mame/video/galpani2.c index d0235bc719a..6f687402e47 100644 --- a/src/mame/video/galpani2.c +++ b/src/mame/video/galpani2.c @@ -129,7 +129,7 @@ VIDEO_START( galpani2 ) state->m_bg8_bitmap[0] = 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); } - 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; } diff --git a/src/mame/video/kaneko16.c b/src/mame/video/kaneko16.c index ece52042292..40d13719173 100644 --- a/src/mame/video/kaneko16.c +++ b/src/mame/video/kaneko16.c @@ -17,34 +17,72 @@ WRITE16_MEMBER(kaneko16_state::kaneko16_display_enable) COMBINE_DATA(&m_disp_enable); } -VIDEO_START( kaneko16_sprites ) +VIDEO_START( kaneko16 ) { kaneko16_state *state = machine.driver_data(); state->m_disp_enable = 1; // default enabled for games not using it } -VIDEO_START( kaneko16_1xVIEW2_tilemaps ) + + +static void kaneko16_fill_bitmap(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) { + kaneko16_state *state = machine.driver_data(); - state->m_disp_enable = 1; // default enabled for games not using it + 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); + } - -VIDEO_START( kaneko16_1xVIEW2 ) +static SCREEN_UPDATE_IND16( common ) { - VIDEO_START_CALL(kaneko16_sprites); - VIDEO_START_CALL(kaneko16_1xVIEW2_tilemaps); + int i; + kaneko16_state *state = screen.machine().driver_data(); + + 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; } -VIDEO_START( kaneko16_2xVIEW2 ) + + + + +SCREEN_UPDATE_IND16( kaneko16 ) { - VIDEO_START_CALL(kaneko16_1xVIEW2); + kaneko16_state *state = screen.machine().driver_data(); + 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; } -VIDEO_START( sandscrp_1xVIEW2 ) -{ - VIDEO_START_CALL(kaneko16_1xVIEW2); -} + + @@ -63,7 +101,7 @@ PALETTE_INIT( berlwall ) VIDEO_START( berlwall ) { - kaneko16_state *state = machine.driver_data(); + kaneko16_berlwall_state *state = machine.driver_data(); int sx, x,y; 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); } - 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) */ -READ16_MEMBER(kaneko16_state::kaneko16_bg15_select_r) +READ16_MEMBER(kaneko16_berlwall_state::kaneko16_bg15_select_r) { 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]); } /* ? */ -READ16_MEMBER(kaneko16_state::kaneko16_bg15_reg_r) +READ16_MEMBER(kaneko16_berlwall_state::kaneko16_bg15_reg_r) { 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]); } - - static void kaneko16_render_15bpp_bitmap(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) { - kaneko16_state *state = machine.driver_data(); + kaneko16_berlwall_state *state = machine.driver_data(); if (state->m_bg15_bitmap.valid()) { int select = state->m_bg15_select[ 0 ]; @@ -161,46 +193,6 @@ static void kaneko16_render_15bpp_bitmap(running_machine &machine, bitmap_ind16 // flag = 0; } } - -static void kaneko16_fill_bitmap(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect) -{ - - kaneko16_state *state = machine.driver_data(); - 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(); - - 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) { kaneko16_state *state = screen.machine().driver_data(); @@ -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()); 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_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_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(); - 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; -} - - diff --git a/src/mame/video/kaneko_spr.c b/src/mame/video/kaneko_spr.c index 7daab9f86f1..526c4b3556c 100644 --- a/src/mame/video/kaneko_spr.c +++ b/src/mame/video/kaneko_spr.c @@ -10,7 +10,7 @@ Sprites are 16 x 16 x 4 in the older games, 16 x 16 x 8 in 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 @@ -25,10 +25,12 @@ #include "emu.h" #include "kaneko_spr.h" -const device_type KANEKO16_SPRITE = &device_creator; +//const device_type KANEKO16_SPRITE = &device_creator; // we have pure virtual functions +const device_type KANEKO_VU002_SPRITE = &device_creator; +const device_type KANEKO_KC002_SPRITE = &device_creator; -kaneko16_sprite_device::kaneko16_sprite_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) - : device_t(mconfig, KANEKO16_SPRITE, "kaneko16_sprite_device", tag, owner, 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, type, "kaneko16_sprite_device", tag, owner, clock) { 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_fliptype = 0; - m_sprite_type = 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; } -void kaneko16_sprite_device::set_type(device_t &device, int type) -{ - kaneko16_sprite_device &dev = downcast(device); - dev.m_sprite_type = type; -} 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 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. 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 - data is held in the last 8 bytes of every 16). Examples are: + padding words though + + Examples are: Type 0: shogwarr, blazeon, bakubrkr. Type 1: gtmr. - Type 2: berlwall Offset: Format: Value: @@ -166,6 +162,24 @@ Offset: Format: Value: #define USE_LATCHED_CODE 2 #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 attr, xoffs, offs; @@ -180,21 +194,8 @@ int kaneko16_sprite_device::kaneko16_parse_sprite_type012(running_machine &machi s->x = spriteram16[offs + 2]; s->y = spriteram16[offs + 3]; - if (m_sprite_type == 1) - { - 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; - } + // this differs between each chip type + get_sprite_attributes(s, attr); xoffs = (attr & 0x1800) >> 11; 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; - switch( m_sprite_type ) - { - case 0: - case 1: flags = kaneko16_parse_sprite_type012(machine, i,s, spriteram16, spriteram16_bytes); break; - default: flags = -1; - } + flags = kaneko16_parse_sprite_type012(machine, i,s, spriteram16, spriteram16_bytes); if (flags == -1) // End of Sprites break; @@ -453,7 +449,7 @@ void kaneko16_sprite_device::kaneko16_draw_sprites(running_machine &machine, bit 0000.w f--- ---- ---- ---- Sprites Disable?? (see blazeon) -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 ---- ---- ---- ---0 Flip Y @@ -532,7 +528,7 @@ WRITE16_MEMBER(kaneko16_sprite_device::kaneko16_sprites_regs_w) m_sprite_flipx = new_data & 2; m_sprite_flipy = new_data & 1; - if(m_sprite_type == 0) + if(get_sprite_type() == 0) 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); } } + +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) +{ +} diff --git a/src/mame/video/kaneko_spr.h b/src/mame/video/kaneko_spr.h index f1543d145b3..96a987d796e 100644 --- a/src/mame/video/kaneko_spr.h +++ b/src/mame/video/kaneko_spr.h @@ -2,13 +2,11 @@ /* berlwall, blazeon etc. */ #define MCFG_DEVICE_ADD_VU002_SPRITES \ - MCFG_DEVICE_ADD("kan_spr", KANEKO16_SPRITE, 0) \ - kaneko16_sprite_device::set_type(*device, 0); \ + MCFG_DEVICE_ADD("kan_spr", KANEKO_VU002_SPRITE, 0) \ /* gtmr, gtmr2, bloodwar etc. */ #define MCFG_DEVICE_ADD_KC002_SPRITES \ - MCFG_DEVICE_ADD("kan_spr", KANEKO16_SPRITE, 0) \ - kaneko16_sprite_device::set_type(*device, 1); \ + MCFG_DEVICE_ADD("kan_spr", KANEKO_KC002_SPRITE, 0) \ @@ -31,19 +29,25 @@ struct tempsprite class kaneko16_sprite_device : public device_t { 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_fliptype(device_t &device, int fliptype); 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); + // (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) - int m_sprite_type; + DECLARE_READ16_MEMBER(kaneko16_sprites_regs_r); + 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) // 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 ) 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 - int get_sprite_type(void) - { - return m_sprite_type; - } - - - +private: // registers UINT16 m_sprite_flipx; UINT16 m_sprite_flipy; @@ -79,8 +79,6 @@ public: int m_keep_sprites; 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_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); - 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;