previous sc2 pull requests cleaned up and reduced to a single update

makes the DMD be treated as a screen, avoids tag lookups, adds correct dmd rom to some sets etc.
This commit is contained in:
David Haywood 2016-08-25 14:36:52 +01:00
parent cf8060d762
commit d53f5dec3c
10 changed files with 219 additions and 41127 deletions

View File

@ -202,24 +202,18 @@ public:
m_reel3(*this, "reel3"), m_reel3(*this, "reel3"),
m_reel4(*this, "reel4"), m_reel4(*this, "reel4"),
m_reel5(*this, "reel5"), m_reel5(*this, "reel5"),
m_strobein0(*this, "STROBE0"), m_strobein(*this, { "STROBE0", "STROBE1", "STROBE2", "STROBE3", "STROBE4", "STROBE5", "STROBE6", "STROBE7", "STROBE8", "STROBE9", "STROBE10", "STROBE11" }),
m_strobein1(*this, "STROBE1"),
m_strobein2(*this, "STROBE2"),
m_strobein3(*this, "STROBE3"),
m_strobein4(*this, "STROBE4"),
m_strobein5(*this, "STROBE5"),
m_strobein6(*this, "STROBE6"),
m_strobein7(*this, "STROBE7"),
m_strobein8(*this, "STROBE8"),
m_strobein9(*this, "STROBE9"),
m_strobein10(*this, "STROBE10"),
m_strobein11(*this, "STROBE11"),
m_rombank1(*this, "bank1"), m_rombank1(*this, "bank1"),
m_ym2413(*this, "ymsnd"),
m_upd7759(*this, "upd"), m_upd7759(*this, "upd"),
m_vfd0(*this, "vfd0"), m_vfd0(*this, "vfd0"),
m_vfd1(*this, "vfd1"), m_vfd1(*this, "vfd1"),
m_dm01(*this, "dm01"), m_dm01(*this, "dm01"),
m_meters(*this, "meters") { } m_meters(*this, "meters")
{
for (auto & elem : m_lamps_old)
elem = 0;
}
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
optional_device<stepper_device> m_reel0; optional_device<stepper_device> m_reel0;
@ -228,8 +222,10 @@ public:
optional_device<stepper_device> m_reel3; optional_device<stepper_device> m_reel3;
optional_device<stepper_device> m_reel4; optional_device<stepper_device> m_reel4;
optional_device<stepper_device> m_reel5; optional_device<stepper_device> m_reel5;
required_ioport m_strobein0, m_strobein1, m_strobein2, m_strobein3, m_strobein4, m_strobein5, m_strobein6, m_strobein7, m_strobein8, m_strobein9, m_strobein10, m_strobein11; required_ioport_array<12> m_strobein;
optional_memory_bank m_rombank1; optional_memory_bank m_rombank1;
optional_device<ym2413_device> m_ym2413;
required_device<upd7759_device> m_upd7759; required_device<upd7759_device> m_upd7759;
optional_device<bfm_bd1_t> m_vfd0; optional_device<bfm_bd1_t> m_vfd0;
@ -286,6 +282,7 @@ public:
int m_e2dummywrite; int m_e2dummywrite;
int m_e2data_to_read; int m_e2data_to_read;
UINT8 m_codec_data[256]; UINT8 m_codec_data[256];
UINT8 m_lamps_old[0x20];
void e2ram_init(nvram_device &nvram, void *data, size_t size); void e2ram_init(nvram_device &nvram, void *data, size_t size);
DECLARE_WRITE_LINE_MEMBER(bfmdm01_busy); DECLARE_WRITE_LINE_MEMBER(bfmdm01_busy);
DECLARE_WRITE8_MEMBER(bankswitch_w); DECLARE_WRITE8_MEMBER(bankswitch_w);
@ -433,7 +430,8 @@ void bfm_sc2_state::on_scorpion2_reset()
e2ram_reset(); e2ram_reset();
machine().device("ymsnd")->reset(); if (m_ym2413)
m_ym2413->reset();
// make sure no inputs are overidden //////////////////////////////////// // make sure no inputs are overidden ////////////////////////////////////
memset(m_input_override, 0, sizeof(m_input_override)); memset(m_input_override, 0, sizeof(m_input_override));
@ -643,12 +641,24 @@ WRITE8_MEMBER(bfm_sc2_state::mmtr_w)
WRITE8_MEMBER(bfm_sc2_state::mux_output_w) WRITE8_MEMBER(bfm_sc2_state::mux_output_w)
{ {
// this is a useful profiler point to make sure the artwork writes / lookups are performing properly.
g_profiler.start(PROFILER_USER6);
int i; int i;
int off = offset<<3; int off = offset<<3;
for (i=0; i<8; i++) for (i = 0; i < 8; i++)
output().set_lamp_value(off+i, ((data & (1 << i)) != 0)); {
int oldbit = m_lamps_old[offset] & (1 << i);
int newbit = data & (1 << i);
if (oldbit != newbit)
output().set_lamp_value(off + i, newbit != 0);
}
m_lamps_old[offset] = data;
g_profiler.stop();
} }
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
@ -657,8 +667,6 @@ READ8_MEMBER(bfm_sc2_state::mux_input_r)
{ {
int result = 0xFF,t1,t2; int result = 0xFF,t1,t2;
required_ioport m_strobein[12] = { m_strobein0, m_strobein1, m_strobein2, m_strobein3, m_strobein4, m_strobein5, m_strobein6, m_strobein7, m_strobein8, m_strobein9, m_strobein10, m_strobein11 };
if (offset < 8) if (offset < 8)
{ {
int idx = (offset & 4) ? 4 : 8; int idx = (offset & 4) ? 4 : 8;
@ -713,7 +721,11 @@ WRITE8_MEMBER(bfm_sc2_state::volume_override_w)
if ( old != m_volume_override ) if ( old != m_volume_override )
{ {
ym2413_device *ym = machine().device<ym2413_device>("ymsnd"); ym2413_device *ym = m_ym2413;
if (!m_ym2413)
return;
float percent = m_volume_override? 1.0f : (32-m_global_volume)/32.0f; float percent = m_volume_override? 1.0f : (32-m_global_volume)/32.0f;
ym->set_output_gain(0, percent); ym->set_output_gain(0, percent);
@ -809,12 +821,16 @@ WRITE8_MEMBER(bfm_sc2_state::expansion_latch_w)
} }
{ {
ym2413_device *ym = machine().device<ym2413_device>("ymsnd"); ym2413_device *ym = m_ym2413;
float percent = m_volume_override ? 1.0f : (32-m_global_volume)/32.0f;
ym->set_output_gain(0, percent); if (m_ym2413)
ym->set_output_gain(1, percent); {
m_upd7759->set_output_gain(0, percent); float percent = m_volume_override ? 1.0f : (32 - m_global_volume) / 32.0f;
ym->set_output_gain(0, percent);
ym->set_output_gain(1, percent);
m_upd7759->set_output_gain(0, percent);
}
} }
} }
} }
@ -3695,10 +3711,12 @@ static MACHINE_CONFIG_START( scorpion2, bfm_sc2_state )
MCFG_FRAGMENT_ADD(_8meters) MCFG_FRAGMENT_ADD(_8meters)
MACHINE_CONFIG_END MACHINE_CONFIG_END
#if 0
static MACHINE_CONFIG_DERIVED( scorpion2_3m, scorpion2 ) static MACHINE_CONFIG_DERIVED( scorpion2_3m, scorpion2 )
MCFG_DEVICE_REMOVE("meters") MCFG_DEVICE_REMOVE("meters")
MCFG_FRAGMENT_ADD(_3meters) MCFG_FRAGMENT_ADD(_3meters)
MACHINE_CONFIG_END MACHINE_CONFIG_END
#endif
/* machine driver for scorpion3 board */ /* machine driver for scorpion3 board */
static MACHINE_CONFIG_DERIVED( scorpion3, scorpion2 ) static MACHINE_CONFIG_DERIVED( scorpion3, scorpion2 )
@ -5301,7 +5319,7 @@ ROM_START( sc2cpe3 )
ROM_LOAD( "club-public-enemy-no1_std_ac_200pnd_ass.bin", 0x0000, 0x010000, CRC(5704e52d) SHA1(dfae48734794cea2e9a952d808dedb96fd5204b3) ) ROM_LOAD( "club-public-enemy-no1_std_ac_200pnd_ass.bin", 0x0000, 0x010000, CRC(5704e52d) SHA1(dfae48734794cea2e9a952d808dedb96fd5204b3) )
ROM_REGION( 0x20000, "dm01:matrix", 0 ) ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "matrix.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) ) // seems to be from a cops+robbers instead, will say 'wrong display prom' during attract cycle ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) ) // WRONG this is from cops and robbers
sc2_cpe_sound_alt2 sc2_cpe_sound_alt2
ROM_END ROM_END
@ -5311,7 +5329,7 @@ ROM_START( sc2cpe3p )
ROM_LOAD( "club-public-enemy-no1_dat_ac_200pnd_ass.bin", 0x0000, 0x010000, CRC(fec925a3) SHA1(5ce3b6f1236f511ae8975c7ecd1549e8d427a245) ) ROM_LOAD( "club-public-enemy-no1_dat_ac_200pnd_ass.bin", 0x0000, 0x010000, CRC(fec925a3) SHA1(5ce3b6f1236f511ae8975c7ecd1549e8d427a245) )
ROM_REGION( 0x20000, "dm01:matrix", 0 ) ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "matrix.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) ) // see above comment ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) ) // see above comment
sc2_cpe_sound_alt2 sc2_cpe_sound_alt2
ROM_END ROM_END
@ -5321,7 +5339,7 @@ ROM_START( sc2cpe4 )
ROM_LOAD( "95750273.p1", 0x0000, 0x010000, CRC(950da13c) SHA1(2c544e06112969f7914a5b4fd15e6b0dfedf6b0b) ) ROM_LOAD( "95750273.p1", 0x0000, 0x010000, CRC(950da13c) SHA1(2c544e06112969f7914a5b4fd15e6b0dfedf6b0b) )
ROM_REGION( 0x20000, "dm01:matrix", 0 ) ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "matrix.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) ) // see above comment ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) ) // see above comment
sc2_cpe_sound_alt2 sc2_cpe_sound_alt2
ROM_END ROM_END
@ -5331,7 +5349,7 @@ ROM_START( sc2cpe4p )
ROM_LOAD( "club-public-enemy-no1_dat_fe_ac_200pnd_p65_rot_ass.bin", 0x0000, 0x010000, CRC(8d5ff953) SHA1(bdf6b5e014c46f6abac792a5913e98cb897b2a73) ) ROM_LOAD( "club-public-enemy-no1_dat_fe_ac_200pnd_p65_rot_ass.bin", 0x0000, 0x010000, CRC(8d5ff953) SHA1(bdf6b5e014c46f6abac792a5913e98cb897b2a73) )
ROM_REGION( 0x20000, "dm01:matrix", 0 ) ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "matrix.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) ) // see above comment ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) ) // see above comment
sc2_cpe_sound_alt2 sc2_cpe_sound_alt2
ROM_END ROM_END
@ -5481,120 +5499,180 @@ ROM_START( sc2copcl )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_std_ac_250pnd-25p_phx_ass.bin", 0x0000, 0x010000, CRC(668def2e) SHA1(802ca565a20d0fce2f5e4340c646429af6aadff6) ) ROM_LOAD( "club-cops-and-robbers_std_ac_250pnd-25p_phx_ass.bin", 0x0000, 0x010000, CRC(668def2e) SHA1(802ca565a20d0fce2f5e4340c646429af6aadff6) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copclp ) ROM_START( sc2copclp )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_dat_ac_250pnd-25p_phx_ass.bin", 0x0000, 0x010000, CRC(f6e9a013) SHA1(02b6c203c3facdd7015ba1119bcb70bf34b4ec00) ) ROM_LOAD( "club-cops-and-robbers_dat_ac_250pnd-25p_phx_ass.bin", 0x0000, 0x010000, CRC(f6e9a013) SHA1(02b6c203c3facdd7015ba1119bcb70bf34b4ec00) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl1 ) ROM_START( sc2copcl1 )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_std_ac_250pnd-20p_rot_ass.bin", 0x0000, 0x010000, CRC(078651b5) SHA1(2acc45e5d66625753e5869f6f3ac1379d0c9dfcd) ) ROM_LOAD( "club-cops-and-robbers_std_ac_250pnd-20p_rot_ass.bin", 0x0000, 0x010000, CRC(078651b5) SHA1(2acc45e5d66625753e5869f6f3ac1379d0c9dfcd) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl1p ) ROM_START( sc2copcl1p )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_dat_ac_250pnd-20p_rot_ass.bin", 0x0000, 0x010000, CRC(05635f8b) SHA1(d3cf98e3858189db725621d4ba07728a585d7a3b) ) ROM_LOAD( "club-cops-and-robbers_dat_ac_250pnd-20p_rot_ass.bin", 0x0000, 0x010000, CRC(05635f8b) SHA1(d3cf98e3858189db725621d4ba07728a585d7a3b) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl2 ) ROM_START( sc2copcl2 )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_std_ac_250pnd-20p_ass.bin", 0x0000, 0x010000, CRC(229c65c1) SHA1(8052c4b8702275235545807e7b075571fc97d4f3) ) ROM_LOAD( "club-cops-and-robbers_std_ac_250pnd-20p_ass.bin", 0x0000, 0x010000, CRC(229c65c1) SHA1(8052c4b8702275235545807e7b075571fc97d4f3) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl3 ) ROM_START( sc2copcl3 )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_std_fe_ac_p67_ass.bin", 0x0000, 0x010000, CRC(4906d170) SHA1(c304a2986560d675b2e776965fdf444e4d56f104) ) ROM_LOAD( "club-cops-and-robbers_std_fe_ac_p67_ass.bin", 0x0000, 0x010000, CRC(4906d170) SHA1(c304a2986560d675b2e776965fdf444e4d56f104) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl3p ) ROM_START( sc2copcl3p )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_dat_fe_ac_p67_ass.bin", 0x0000, 0x010000, CRC(327db998) SHA1(aa8583cedd52a3cd06be6423a32e48273ec6218a) ) ROM_LOAD( "club-cops-and-robbers_dat_fe_ac_p67_ass.bin", 0x0000, 0x010000, CRC(327db998) SHA1(aa8583cedd52a3cd06be6423a32e48273ec6218a) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl4 ) ROM_START( sc2copcl4 )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_std_ac_var_p65_ass.bin", 0x0000, 0x010000, CRC(23d80392) SHA1(d7f5bab4fc8f42c1a38e26b54bc519e0f03d20bc) ) ROM_LOAD( "club-cops-and-robbers_std_ac_var_p65_ass.bin", 0x0000, 0x010000, CRC(23d80392) SHA1(d7f5bab4fc8f42c1a38e26b54bc519e0f03d20bc) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl5 ) ROM_START( sc2copcl5 )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_std_fe_ac_p63_ass.bin", 0x0000, 0x010000, CRC(fc7f9b85) SHA1(d9f940bca29919d097fa7d128869725e01d6dbc3) ) ROM_LOAD( "club-cops-and-robbers_std_fe_ac_p63_ass.bin", 0x0000, 0x010000, CRC(fc7f9b85) SHA1(d9f940bca29919d097fa7d128869725e01d6dbc3) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl6 ) ROM_START( sc2copcl6 )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_std_ac_200pnd-20p_ass.bin", 0x0000, 0x010000, CRC(214cda40) SHA1(fc585f211256495bfaaa6cb6c4d9c8a110ab5051) ) ROM_LOAD( "club-cops-and-robbers_std_ac_200pnd-20p_ass.bin", 0x0000, 0x010000, CRC(214cda40) SHA1(fc585f211256495bfaaa6cb6c4d9c8a110ab5051) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl6p ) ROM_START( sc2copcl6p )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_dat_ac_200pnd-20p_ass.bin", 0x0000, 0x010000, CRC(b4071611) SHA1(2596ccee2b94bb56aa629ee892bd357b706005b0) ) ROM_LOAD( "club-cops-and-robbers_dat_ac_200pnd-20p_ass.bin", 0x0000, 0x010000, CRC(b4071611) SHA1(2596ccee2b94bb56aa629ee892bd357b706005b0) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl7 ) ROM_START( sc2copcl7 )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_std_ac_var_200pnd_ijf_ass.bin", 0x0000, 0x010000, CRC(db5a287e) SHA1(5615480767348061b7f08a709a16aa0b9cf0658e) ) ROM_LOAD( "club-cops-and-robbers_std_ac_var_200pnd_ijf_ass.bin", 0x0000, 0x010000, CRC(db5a287e) SHA1(5615480767348061b7f08a709a16aa0b9cf0658e) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl8 ) ROM_START( sc2copcl8 )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_std_ac_ffp_ass.bin", 0x0000, 0x010000, CRC(347255bf) SHA1(7f96277579e68bdf1e21788cc5e35941d98df87f) ) ROM_LOAD( "club-cops-and-robbers_std_ac_ffp_ass.bin", 0x0000, 0x010000, CRC(347255bf) SHA1(7f96277579e68bdf1e21788cc5e35941d98df87f) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl8p ) ROM_START( sc2copcl8p )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_dat_ac_ffp_ass.bin", 0x0000, 0x010000, CRC(ec92b62d) SHA1(f10bc8fa55cd59127f179a35a61c1a57597856b6) ) ROM_LOAD( "club-cops-and-robbers_dat_ac_ffp_ass.bin", 0x0000, 0x010000, CRC(ec92b62d) SHA1(f10bc8fa55cd59127f179a35a61c1a57597856b6) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl9 ) ROM_START( sc2copcl9 )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_std_fe_ac_ass.bin", 0x0000, 0x010000, CRC(c7461e95) SHA1(f4088056e848742d3795f5b067476b56071f99bd) ) ROM_LOAD( "club-cops-and-robbers_std_fe_ac_ass.bin", 0x0000, 0x010000, CRC(c7461e95) SHA1(f4088056e848742d3795f5b067476b56071f99bd) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl9p ) ROM_START( sc2copcl9p )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_dat_fe_ac_ass.bin", 0x0000, 0x010000, CRC(ead8cbe5) SHA1(5594eb9a736e0f15a6f0f097a8cbbd8352e46fc4) ) ROM_LOAD( "club-cops-and-robbers_dat_fe_ac_ass.bin", 0x0000, 0x010000, CRC(ead8cbe5) SHA1(5594eb9a736e0f15a6f0f097a8cbbd8352e46fc4) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl10 ) ROM_START( sc2copcl10 )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_std_ac_npr_ass.bin", 0x0000, 0x010000, CRC(b9c0bcb4) SHA1(c1a398bd58097411b80d36030760e7820dc346f4) ) ROM_LOAD( "club-cops-and-robbers_std_ac_npr_ass.bin", 0x0000, 0x010000, CRC(b9c0bcb4) SHA1(c1a398bd58097411b80d36030760e7820dc346f4) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl11 ) ROM_START( sc2copcl11 )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "cops200", 0x0000, 0x010000, CRC(05d29adc) SHA1(06a986356c1b48ad5ee92c9a7f6fb2531e1806af) ) ROM_LOAD( "cops200", 0x0000, 0x010000, CRC(05d29adc) SHA1(06a986356c1b48ad5ee92c9a7f6fb2531e1806af) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl11p ) ROM_START( sc2copcl11p )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "club-cops-and-robbers_dat_fr_ac_p63_ass.bin", 0x0000, 0x010000, CRC(93965bfc) SHA1(52af75234f56a77f082132d9532d3ffcaef5d271) ) ROM_LOAD( "club-cops-and-robbers_dat_fr_ac_p63_ass.bin", 0x0000, 0x010000, CRC(93965bfc) SHA1(52af75234f56a77f082132d9532d3ffcaef5d271) )
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copcl12 ) ROM_START( sc2copcl12 )
ROM_REGION( 0x10000, "maincpu", 0 ) ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "premier-club-manager_dat_ac_250pnd-25p_ass.bin", 0x0000, 0x010000, CRC(6446176c) SHA1(17cccc00d443ffde11943ebda112ef1e79134455) ) // filename is wrong, this is a club cops n robbers ROM_LOAD( "premier-club-manager_dat_ac_250pnd-25p_ass.bin", 0x0000, 0x010000, CRC(6446176c) SHA1(17cccc00d443ffde11943ebda112ef1e79134455) ) // filename is wrong, this is a club cops n robbers
sc2_copcl_sound sc2_copcl_sound
ROM_REGION( 0x20000, "dm01:matrix", 0 )
ROM_LOAD( "95000569.bin", 0x0000, 0x010000, CRC(64014f73) SHA1(67d44db91944738fcadc38bfd0d2b7c0536adb9a) )
ROM_END ROM_END
ROM_START( sc2copdc ) ROM_START( sc2copdc )
@ -7749,37 +7827,37 @@ GAME( 199?, sc2gsclb6p , sc2gsclb , scorpion2 , drwho , bfm_sc2_st
********************************************************************************************************************************************************************************************************************/ ********************************************************************************************************************************************************************************************************************/
// PROJECT PR6231 CLUB COPS AND ROBBERS - 20-JUL-1993 15:15:32 // PROJECT PR6231 CLUB COPS AND ROBBERS - 20-JUL-1993 15:15:32
GAMEL( 199?, sc2copcl11 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-118 GAMEL( 199?, sc2copcl11 , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-118
// PROJECT PR6231 CLUB COPS AND ROBBERS 150 POUND JACKPOT - 16-NOV-1993 12:34:10 // PROJECT PR6231 CLUB COPS AND ROBBERS 150 POUND JACKPOT - 16-NOV-1993 12:34:10
GAMEL( 199?, sc2copcl1 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-154 GAMEL( 199?, sc2copcl1 , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-154
GAMEL( 199?, sc2copcl1p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 2, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-751-154 GAMEL( 199?, sc2copcl1p , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 2, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-751-154
// PROJECT NUMBER PR6231 CLUB COPS AND ROBBERS FIXED 65% - 16-NOV-1993 12:35:38 // PROJECT NUMBER PR6231 CLUB COPS AND ROBBERS FIXED 65% - 16-NOV-1993 12:35:38
GAMEL( 199?, sc2copcl4 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-156 GAMEL( 199?, sc2copcl4 , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-156
// PROJECT PR6231 CLUB COPS AND ROBBERS - 16-NOV-1993 12:39:31 // PROJECT PR6231 CLUB COPS AND ROBBERS - 16-NOV-1993 12:39:31
GAMEL( 199?, sc2copcl6 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-153 GAMEL( 199?, sc2copcl6 , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-153
GAMEL( 199?, sc2copcl6p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 4, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-751-153 GAMEL( 199?, sc2copcl6p , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 4, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-751-153
// PROJECT PR6231 CLUB COPS AND ROBBERS GENEROUS 5P - 20-JAN-1994 11:13:45 // PROJECT PR6231 CLUB COPS AND ROBBERS GENEROUS 5P - 20-JAN-1994 11:13:45
GAMEL( 199?, sc2copcl7 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-190 GAMEL( 199?, sc2copcl7 , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-190
// PROJECT PR6231 CLUB COPS AND ROBBERS - 4-AUG-1994 16:23:21 // PROJECT PR6231 CLUB COPS AND ROBBERS - 4-AUG-1994 16:23:21
GAMEL( 199?, sc2copcl10 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 6, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-268 GAMEL( 199?, sc2copcl10 , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 6, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-268
// PROJECT PR6231 CLUB COPS AND ROBBERS SEALINK VERSION - 22-MAY-1995 11:47:58 // PROJECT PR6231 CLUB COPS AND ROBBERS SEALINK VERSION - 22-MAY-1995 11:47:58
GAMEL( 199?, sc2copcl9 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 7, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-409 GAMEL( 199?, sc2copcl9 , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 7, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-409
GAMEL( 199?, sc2copcl9p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 7, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-751-409 GAMEL( 199?, sc2copcl9p , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 7, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-751-409
// PROJECT NUMBER 6231 CLUB COPS AND ROBBERS GENEROUS 5P NPO - 2-FEB-1996 12:39:22 // PROJECT NUMBER 6231 CLUB COPS AND ROBBERS GENEROUS 5P NPO - 2-FEB-1996 12:39:22
GAMEL( 199?, sc2copcl8 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 8, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-628 GAMEL( 199?, sc2copcl8 , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 8, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-628
GAMEL( 199?, sc2copcl8p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 8, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-751-628 GAMEL( 199?, sc2copcl8p , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 8, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-751-628
// PROJECT NUMBER PR6231 CLUB COPS AND ROBBERS 25P/#250 - 2-SEP-1996 17:17:50 // PROJECT NUMBER PR6231 CLUB COPS AND ROBBERS 25P/#250 - 2-SEP-1996 17:17:50
GAMEL( 199?, sc2copcl , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 9, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-859 GAMEL( 199?, sc2copcl , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 9, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-859
GAMEL( 199?, sc2copclp , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 9, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-751-859 GAMEL( 199?, sc2copclp , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 9, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-751-859
// PROJECT NUMBER PR6231 CLUB COPS AND ROBBERS 20P/#250 - 2-SEP-1996 17:26:44 // PROJECT NUMBER PR6231 CLUB COPS AND ROBBERS 20P/#250 - 2-SEP-1996 17:26:44
GAMEL( 199?, sc2copcl2 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 10, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-858 GAMEL( 199?, sc2copcl2 , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 10, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-750-858
GAMEL( 199?, sc2copcl12 , sc2copcl , scorpion2_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 10, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-751-858 GAMEL( 199?, sc2copcl12 , sc2copcl , scorpion2_dm01_3m , drwho , bfm_sc2_state, prom , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 10, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-751-858
// PROJECT PR6231 CLUB COPS AND ROBBERS NPO 63% SEALINK VERSION - 5-JAN-1998 11:53:49 // PROJECT PR6231 CLUB COPS AND ROBBERS NPO 63% SEALINK VERSION - 5-JAN-1998 11:53:49
GAMEL( 199?, sc2copcl5 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 11, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-752-015 GAMEL( 199?, sc2copcl5 , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 11, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-752-015
GAMEL( 199?, sc2copcl11p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 11, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-753-015 GAMEL( 199?, sc2copcl11p , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 11, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-753-015
// PROJECT PR6231 CLUB COPS AND ROBBERS NPO 67% SEALINK VERSION - 5-JAN-1998 11:56:01 // PROJECT PR6231 CLUB COPS AND ROBBERS NPO 67% SEALINK VERSION - 5-JAN-1998 11:56:01
GAMEL( 199?, sc2copcl3 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 12, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-752-014 GAMEL( 199?, sc2copcl3 , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 12, UK) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-752-014
GAMEL( 199?, sc2copcl3p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 12, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-753-014 GAMEL( 199?, sc2copcl3p , sc2copcl , scorpion2_dm01 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 12, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS, layout_sc2copcl7) // GAME No 95-753-014
/******************************************************************************************************************************************************************************************************************** /********************************************************************************************************************************************************************************************************************

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -57,6 +57,8 @@ const device_type BF_DM01 = &device_creator<bfmdm01_device>;
bfmdm01_device::bfmdm01_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) bfmdm01_device::bfmdm01_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, BF_DM01, "BFM Dotmatrix 01", tag, owner, clock, "bfm_dm01", __FILE__), : device_t(mconfig, BF_DM01, "BFM Dotmatrix 01", tag, owner, clock, "bfm_dm01", __FILE__),
m_matrixcpu(*this, "matrix"), m_matrixcpu(*this, "matrix"),
m_screen(*this, "dmd"),
m_palette(*this, "palette_lcd"),
m_data_avail(0), m_data_avail(0),
m_control(0), m_control(0),
m_xcounter(0), m_xcounter(0),
@ -77,6 +79,12 @@ bfmdm01_device::bfmdm01_device(const machine_config &mconfig, const char *tag, d
void bfmdm01_device::device_start() void bfmdm01_device::device_start()
{ {
if(!m_screen->started())
throw device_missing_dependencies();
if(!m_palette->started())
throw device_missing_dependencies();
m_busy_cb.resolve_safe(); m_busy_cb.resolve_safe();
save_item(NAME(m_data_avail)); save_item(NAME(m_data_avail));
@ -90,8 +98,15 @@ void bfmdm01_device::device_start()
for (int i = 0; i < DM_BYTESPERROW; i++) for (int i = 0; i < DM_BYTESPERROW; i++)
save_item(NAME(m_scanline), i); save_item(NAME(m_scanline), i);
m_screen->register_screen_bitmap(m_tmpbitmap);
m_palette->set_pen_color(0, rgb_t(10, 5, 0));
m_palette->set_pen_color(1, rgb_t(100, 50, 0));
m_palette->set_pen_color(2, rgb_t(255, 127, 0));
} }
//------------------------------------------------- //-------------------------------------------------
// device_reset - device-specific reset // device_reset - device-specific reset
//------------------------------------------------- //-------------------------------------------------
@ -162,6 +177,8 @@ READ8_MEMBER( bfmdm01_device::mux_r )
WRITE8_MEMBER( bfmdm01_device::mux_w ) WRITE8_MEMBER( bfmdm01_device::mux_w )
{ {
g_profiler.start(PROFILER_USER2);
if ( m_xcounter < DM_BYTESPERROW ) if ( m_xcounter < DM_BYTESPERROW )
{ {
m_scanline[m_xcounter] = data; m_scanline[m_xcounter] = data;
@ -190,16 +207,19 @@ WRITE8_MEMBER( bfmdm01_device::mux_w )
p++; p++;
} }
g_profiler.start(PROFILER_USER1); UINT16* pix = &m_tmpbitmap.pix16(row*2);
UINT16* pix2 = &m_tmpbitmap.pix16((row*2)+1);
for (int pos=0;pos<65;pos++) for (int pos=0;pos<65;pos++)
{ {
machine().output().set_indexed_value("dotmatrix", pos +(65*row), m_segbuffer[(pos)]); pix[0 + (pos * 2)] = m_segbuffer[(pos)]+1;
} pix[1 + (pos * 2)] = 0;
pix2[0 + (pos * 2)] = 0;
g_profiler.stop(); pix2[1 + (pos * 2)] = 0;
}
} }
} }
g_profiler.stop();
} }
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
@ -253,6 +273,15 @@ ADDRESS_MAP_START( bfm_dm01_memmap, AS_PROGRAM, 8, bfmdm01_device )
AM_RANGE(0x4000, 0xFfff) AM_ROM // 48k ROM AM_RANGE(0x4000, 0xFfff) AM_ROM // 48k ROM
ADDRESS_MAP_END ADDRESS_MAP_END
UINT32 bfmdm01_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
copybitmap(bitmap, m_tmpbitmap, 0, 0, 0, 0, cliprect);
return 0;
}
INTERRUPT_GEN_MEMBER( bfmdm01_device::nmi_line_assert ) INTERRUPT_GEN_MEMBER( bfmdm01_device::nmi_line_assert )
{ {
m_matrixcpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE); m_matrixcpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
@ -263,7 +292,16 @@ static MACHINE_CONFIG_FRAGMENT( bdmdm01 )
MCFG_CPU_PROGRAM_MAP(bfm_dm01_memmap) MCFG_CPU_PROGRAM_MAP(bfm_dm01_memmap)
MCFG_CPU_PERIODIC_INT_DRIVER(bfmdm01_device, nmi_line_assert, 1500 ) /* generate 1500 NMI's per second ?? what is the exact freq?? */ MCFG_CPU_PERIODIC_INT_DRIVER(bfmdm01_device, nmi_line_assert, 1500 ) /* generate 1500 NMI's per second ?? what is the exact freq?? */
MCFG_PALETTE_ADD("palette_lcd", 3)
MCFG_SCREEN_ADD("dmd", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(65*2, 21*2)
MCFG_SCREEN_VISIBLE_AREA(0, 65*2-1, 0, 21*2-1)
MCFG_SCREEN_UPDATE_DRIVER(bfmdm01_device, screen_update)
MCFG_SCREEN_PALETTE("palette_lcd")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor bfmdm01_device::device_mconfig_additions() const machine_config_constructor bfmdm01_device::device_mconfig_additions() const

View File

@ -35,6 +35,8 @@ public:
INTERRUPT_GEN_MEMBER(nmi_line_assert); INTERRUPT_GEN_MEMBER(nmi_line_assert);
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
protected: protected:
// device-level overrides // device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override; virtual machine_config_constructor device_mconfig_additions() const override;
@ -43,6 +45,8 @@ protected:
private: private:
required_device<cpu_device> m_matrixcpu; required_device<cpu_device> m_matrixcpu;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
// internal state // internal state
int m_data_avail; int m_data_avail;
@ -57,6 +61,8 @@ private:
devcb_write_line m_busy_cb; devcb_write_line m_busy_cb;
int read_data(void); int read_data(void);
bitmap_ind16 m_tmpbitmap;
}; };