diff options
Diffstat (limited to 'src/mame/drivers/superdq.cpp')
-rw-r--r-- | src/mame/drivers/superdq.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/mame/drivers/superdq.cpp b/src/mame/drivers/superdq.cpp index fe721023bde..46fa1572638 100644 --- a/src/mame/drivers/superdq.cpp +++ b/src/mame/drivers/superdq.cpp @@ -123,18 +123,18 @@ void superdq_state::superdq_palette(palette_device &palette) const bit0 = BIT(color_prom[i], 7); bit1 = BIT(color_prom[i], 6); bit2 = BIT(color_prom[i], 5); - int const r = combine_weights(rweights, bit2, bit1, bit0); + int const r = combine_3_weights(rweights, bit2, bit1, bit0); // green component bit0 = BIT(color_prom[i], 4); bit1 = BIT(color_prom[i], 3); bit2 = BIT(color_prom[i], 2); - int const g = combine_weights(gweights, bit2, bit1, bit0); + int const g = combine_3_weights(gweights, bit2, bit1, bit0); // blue component bit0 = BIT(color_prom[i], 1); bit1 = BIT(color_prom[i], 0); - int const b = combine_weights(bweights, bit1, bit0); + int const b = combine_2_weights(bweights, bit1, bit0); palette.set_pen_color(i, rgb_t(r, g, b)); } @@ -228,7 +228,7 @@ void superdq_state::superdq_io(address_map &map) map(0x01, 0x01).portr("IN1"); map(0x02, 0x02).portr("DSW1"); map(0x03, 0x03).portr("DSW2"); - map(0x04, 0x04).r(FUNC(superdq_state::superdq_ld_r)).w("snsnd", FUNC(sn76496_device::write)); + map(0x04, 0x04).r(FUNC(superdq_state::superdq_ld_r)).w("snsnd", FUNC(sn76496_device::command_w)); map(0x08, 0x08).w(FUNC(superdq_state::superdq_io_w)); map(0x0c, 0x0d).noprw(); /* HD46505S */ } @@ -339,17 +339,15 @@ void superdq_state::machine_start() MACHINE_CONFIG_START(superdq_state::superdq) /* basic machine hardware */ - Z80(config, m_maincpu, MASTER_CLOCK/8); - m_maincpu->set_addrmap(AS_PROGRAM, &superdq_state::superdq_map); - m_maincpu->set_addrmap(AS_IO, &superdq_state::superdq_io); - m_maincpu->set_vblank_int("screen", FUNC(superdq_state::superdq_vblank)); + MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK/8) + MCFG_DEVICE_PROGRAM_MAP(superdq_map) + MCFG_DEVICE_IO_MAP(superdq_io) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", superdq_state, superdq_vblank) - PIONEER_LDV1000(config, m_laserdisc, 0); - m_laserdisc->set_overlay(256, 256, FUNC(superdq_state::screen_update_superdq)); - m_laserdisc->set_overlay_palette(m_palette); - m_laserdisc->add_route(0, "lspeaker", 1.0); - m_laserdisc->add_route(1, "rspeaker", 1.0); + MCFG_LASERDISC_LDV1000_ADD("laserdisc") + MCFG_LASERDISC_OVERLAY_DRIVER(256, 256, superdq_state, screen_update_superdq) + MCFG_LASERDISC_OVERLAY_PALETTE(m_palette); /* video hardware */ MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc") @@ -362,6 +360,10 @@ MACHINE_CONFIG_START(superdq_state::superdq) SPEAKER(config, "rspeaker").front_right(); SN76496(config, "snsnd", MASTER_CLOCK/8).add_route(ALL_OUTPUTS, "lspeaker", 0.8); + + MCFG_DEVICE_MODIFY("laserdisc") + MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) + MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) MACHINE_CONFIG_END |