diff options
Diffstat (limited to 'src/mame/taito/topspeed.cpp')
-rw-r--r-- | src/mame/taito/topspeed.cpp | 45 |
1 files changed, 20 insertions, 25 deletions
diff --git a/src/mame/taito/topspeed.cpp b/src/mame/taito/topspeed.cpp index b3253f3b04b..9f2fb25d657 100644 --- a/src/mame/taito/topspeed.cpp +++ b/src/mame/taito/topspeed.cpp @@ -206,12 +206,12 @@ public: void topspeed(machine_config &config); - DECLARE_CUSTOM_INPUT_MEMBER(gas_pedal_r); - DECLARE_CUSTOM_INPUT_MEMBER(brake_pedal_r); + ioport_value gas_pedal_r(); + ioport_value brake_pedal_r(); protected: - virtual void machine_start() override; - virtual void machine_reset() override; + virtual void machine_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; private: required_shared_ptr<u16> m_spritemap; @@ -267,15 +267,13 @@ private: void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void cpua_map(address_map &map); - void cpub_map(address_map &map); - void z80_io(address_map &map); - void z80_prg(address_map &map); + void cpua_map(address_map &map) ATTR_COLD; + void cpub_map(address_map &map) ATTR_COLD; + void z80_io(address_map &map) ATTR_COLD; + void z80_prg(address_map &map) ATTR_COLD; }; -// video - /**************************************************************************** NOTES @@ -555,8 +553,6 @@ u32 topspeed_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c } -// machine - /********************************************************** CPU CONTROL **********************************************************/ @@ -591,13 +587,13 @@ u8 topspeed_state::input_bypass_r() } } -CUSTOM_INPUT_MEMBER(topspeed_state::gas_pedal_r) +ioport_value topspeed_state::gas_pedal_r() { static constexpr u8 retval[8] = { 0, 1, 3, 2, 6, 7, 5, 4 }; return retval[m_gas->read() & 7]; } -CUSTOM_INPUT_MEMBER(topspeed_state::brake_pedal_r) +ioport_value topspeed_state::brake_pedal_r() { static constexpr u8 retval[8] = { 0, 1, 3, 2, 6, 7, 5, 4 }; return retval[m_brake->read() & 7]; @@ -858,7 +854,7 @@ static INPUT_PORTS_START( topspeed ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(topspeed_state, brake_pedal_r) PORT_CONDITION("DSWA", 0x03, NOTEQUALS, 0x02) + PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(topspeed_state::brake_pedal_r)) PORT_CONDITION("DSWA", 0x03, NOTEQUALS, 0x02) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Brake Switch") PORT_CONDITION("DSWA", 0x03, EQUALS, 0x02) PORT_START("IN1") @@ -867,7 +863,7 @@ static INPUT_PORTS_START( topspeed ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Calibrate") // ? PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Shifter") PORT_TOGGLE - PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(topspeed_state, gas_pedal_r) PORT_CONDITION("DSWA", 0x03, NOTEQUALS, 0x02) + PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(FUNC(topspeed_state::gas_pedal_r)) PORT_CONDITION("DSWA", 0x03, NOTEQUALS, 0x02) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Gas Switch") PORT_CONDITION("DSWA", 0x03, EQUALS, 0x02) PORT_START("IN2") // Unused @@ -997,8 +993,7 @@ void topspeed_state::topspeed(machine_config &config) PALETTE(config, "palette").set_format(palette_device::xBGR_555, 8192); // sound hardware - SPEAKER(config, "lspeaker").front_left(); - SPEAKER(config, "rspeaker").front_right(); + SPEAKER(config, "speaker", 2).front(); ym2151_device &ymsnd(YM2151(config, "ymsnd", 16_MHz_XTAL / 4)); ymsnd.irq_handler().set_inputline(m_audiocpu, 0); @@ -1015,12 +1010,12 @@ void topspeed_state::topspeed(machine_config &config) m_msm[1]->set_prescaler_selector(msm5205_device::SEX_4B); // Slave mode, 4-bit m_msm[1]->add_route(ALL_OUTPUTS, "filter3", 1.0); - FILTER_VOLUME(config, "filter1l").add_route(ALL_OUTPUTS, "lspeaker", 1.0); - FILTER_VOLUME(config, "filter1r").add_route(ALL_OUTPUTS, "rspeaker", 1.0); + FILTER_VOLUME(config, "filter1l").add_route(ALL_OUTPUTS, "speaker", 1.0, 0); + FILTER_VOLUME(config, "filter1r").add_route(ALL_OUTPUTS, "speaker", 1.0, 1); - FILTER_VOLUME(config, "filter2").add_route(ALL_OUTPUTS, "lspeaker", 1.0).add_route(ALL_OUTPUTS, "rspeaker", 1.0); + FILTER_VOLUME(config, "filter2").add_route(ALL_OUTPUTS, "speaker", 1.0, 0).add_route(ALL_OUTPUTS, "speaker", 1.0, 1); - FILTER_VOLUME(config, "filter3").add_route(ALL_OUTPUTS, "lspeaker", 1.0).add_route(ALL_OUTPUTS, "rspeaker", 1.0); + FILTER_VOLUME(config, "filter3").add_route(ALL_OUTPUTS, "speaker", 1.0, 0).add_route(ALL_OUTPUTS, "speaker", 1.0, 1); } @@ -1169,6 +1164,6 @@ ROM_END } // anonymous namespace -GAMEL( 1987, topspeed, 0, topspeed, topspeed, topspeed_state, empty_init, ROT0, "Taito Corporation Japan", "Top Speed (World)", MACHINE_SUPPORTS_SAVE, layout_topspeed ) -GAMEL( 1987, topspeedu, topspeed, topspeed, fullthrl, topspeed_state, empty_init, ROT0, "Taito America Corporation (Romstar license)", "Top Speed (US)", MACHINE_SUPPORTS_SAVE, layout_topspeed ) -GAMEL( 1987, fullthrl, topspeed, topspeed, fullthrl, topspeed_state, empty_init, ROT0, "Taito Corporation", "Full Throttle (Japan)", MACHINE_SUPPORTS_SAVE, layout_topspeed ) +GAMEL( 1987, topspeed, 0, topspeed, topspeed, topspeed_state, empty_init, ROT0, "Taito Corporation Japan", "Top Speed (World, rev 1)", MACHINE_SUPPORTS_SAVE, layout_topspeed ) +GAMEL( 1987, topspeedu, topspeed, topspeed, fullthrl, topspeed_state, empty_init, ROT0, "Taito America Corporation (Romstar license)", "Top Speed (US)", MACHINE_SUPPORTS_SAVE, layout_topspeed ) +GAMEL( 1987, fullthrl, topspeed, topspeed, fullthrl, topspeed_state, empty_init, ROT0, "Taito Corporation", "Full Throttle (Japan)", MACHINE_SUPPORTS_SAVE, layout_topspeed ) |