diff options
Diffstat (limited to 'src/mame/drivers/hyperspt.cpp')
-rw-r--r-- | src/mame/drivers/hyperspt.cpp | 43 |
1 files changed, 19 insertions, 24 deletions
diff --git a/src/mame/drivers/hyperspt.cpp b/src/mame/drivers/hyperspt.cpp index b8773269f13..7bba4916232 100644 --- a/src/mame/drivers/hyperspt.cpp +++ b/src/mame/drivers/hyperspt.cpp @@ -12,7 +12,6 @@ Based on drivers from Juno First emulator by Chris Hardy (chrish@kcbbs.gen.nz) #include "includes/hyperspt.h" #include "includes/konamipt.h" #include "audio/hyprolyb.h" -#include "audio/trackfld.h" #include "cpu/m6800/m6800.h" #include "cpu/m6809/m6809.h" @@ -22,10 +21,8 @@ Based on drivers from Juno First emulator by Chris Hardy (chrish@kcbbs.gen.nz) #include "machine/konami1.h" #include "machine/nvram.h" #include "machine/watchdog.h" -#include "sound/dac.h" #include "sound/volt_reg.h" -#include "screen.h" #include "speaker.h" @@ -88,8 +85,8 @@ void hyperspt_state::common_sound_map(address_map &map) map(0x0000, 0x3fff).rom(); map(0x4000, 0x4fff).ram(); map(0x6000, 0x6000).r("soundlatch", FUNC(generic_latch_8_device::read)); - map(0x8000, 0x8000).r("trackfld_audio", FUNC(trackfld_audio_device::hyperspt_sh_timer_r)); - map(0xe000, 0xe000).w("dac", FUNC(dac_byte_interface::write)); + map(0x8000, 0x8000).r(m_soundbrd, FUNC(trackfld_audio_device::hyperspt_sh_timer_r)); + map(0xe000, 0xe000).w(m_dac, FUNC(dac_byte_interface::write)); map(0xe001, 0xe001).w(this, FUNC(hyperspt_state::konami_SN76496_latch_w)); /* Loads the snd command into the snd latch */ map(0xe002, 0xe002).w(this, FUNC(hyperspt_state::konami_SN76496_w)); /* This address triggers the SN chip to read the data port. */ } @@ -98,7 +95,7 @@ void hyperspt_state::hyperspt_sound_map(address_map &map) { common_sound_map(map); map(0xa000, 0xa000).w(m_vlm, FUNC(vlm5030_device::data_w)); /* speech data */ - map(0xc000, 0xdfff).w("trackfld_audio", FUNC(trackfld_audio_device::hyperspt_sound_w)); /* speech and output control */ + map(0xc000, 0xdfff).w(m_soundbrd, FUNC(trackfld_audio_device::hyperspt_sound_w)); /* speech and output control */ } void hyperspt_state::roadf_sound_map(address_map &map) @@ -298,15 +295,15 @@ WRITE_LINE_MEMBER(hyperspt_state::vblank_irq) MACHINE_CONFIG_START(hyperspt_state::hyperspt) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", KONAMI1, XTAL(18'432'000)/12) /* verified on pcb */ + MCFG_DEVICE_ADD(m_maincpu, KONAMI1, XTAL(18'432'000)/12) /* verified on pcb */ MCFG_DEVICE_PROGRAM_MAP(hyperspt_map) - MCFG_DEVICE_ADD("audiocpu", Z80,XTAL(14'318'181)/4) /* verified on pcb */ + MCFG_DEVICE_ADD(m_audiocpu, Z80,XTAL(14'318'181)/4) /* verified on pcb */ MCFG_DEVICE_PROGRAM_MAP(hyperspt_sound_map) MCFG_DEVICE_ADD("mainlatch", LS259, 0) // F2 MCFG_ADDRESSABLE_LATCH_Q0_OUT_CB(WRITELINE(*this, hyperspt_state, flipscreen_w)) - MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE("trackfld_audio", trackfld_audio_device, sh_irqtrigger_w)) // SOUND ON + MCFG_ADDRESSABLE_LATCH_Q1_OUT_CB(WRITELINE(m_soundbrd, trackfld_audio_device, sh_irqtrigger_w)) // SOUND ON MCFG_ADDRESSABLE_LATCH_Q2_OUT_CB(NOOP) // END MCFG_ADDRESSABLE_LATCH_Q3_OUT_CB(WRITELINE(*this, hyperspt_state, coin_counter_1_w)) // COIN 1 MCFG_ADDRESSABLE_LATCH_Q4_OUT_CB(WRITELINE(*this, hyperspt_state, coin_counter_2_w)) // COIN 2 @@ -318,17 +315,17 @@ MACHINE_CONFIG_START(hyperspt_state::hyperspt) MCFG_WATCHDOG_ADD("watchdog") /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_ADD(m_screen, RASTER) MCFG_SCREEN_REFRESH_RATE(60) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MCFG_SCREEN_SIZE(32*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) MCFG_SCREEN_UPDATE_DRIVER(hyperspt_state, screen_update) - MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_PALETTE(m_palette) MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, hyperspt_state, vblank_irq)) - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_hyperspt) - MCFG_PALETTE_ADD("palette", 16*16+16*16) + MCFG_DEVICE_ADD(m_gfxdecode, GFXDECODE, "palette", gfx_hyperspt) + MCFG_PALETTE_ADD(m_palette, 16*16+16*16) MCFG_PALETTE_INDIRECT_ENTRIES(32) MCFG_PALETTE_INIT_OWNER(hyperspt_state, hyperspt) @@ -337,16 +334,16 @@ MACHINE_CONFIG_START(hyperspt_state::hyperspt) MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_DEVICE_ADD("trackfld_audio", TRACKFLD_AUDIO, 0) + MCFG_DEVICE_ADD(m_soundbrd, TRACKFLD_AUDIO, 0, m_audiocpu, m_vlm) - MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC + MCFG_DEVICE_ADD(m_dac, DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4) // unknown DAC MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_DEVICE_ADD("snsnd", SN76496, XTAL(14'318'181)/8) /* verified on pcb */ + MCFG_DEVICE_ADD(m_sn, SN76496, XTAL(14'318'181)/8) /* verified on pcb */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) - MCFG_DEVICE_ADD("vlm", VLM5030, XTAL(3'579'545)) /* verified on pcb */ + MCFG_DEVICE_ADD(m_vlm, VLM5030, XTAL(3'579'545)) /* verified on pcb */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) MACHINE_CONFIG_END @@ -378,8 +375,7 @@ MACHINE_CONFIG_START(hyperspt_state::hypersptb) hyperspt(config); MCFG_DEVICE_REMOVE("vlm") - MCFG_DEVICE_MODIFY("audiocpu") - MCFG_DEVICE_PROGRAM_MAP(soundb_map) + m_audiocpu->set_addrmap(AS_PROGRAM, address_map_constructor(&std::remove_pointer_t<decltype(this)>::soundb_map, tag(), this)); MCFG_DEVICE_ADD("adpcm", M6802, XTAL(14'318'181)/8) /* unknown clock */ MCFG_DEVICE_PROGRAM_MAP(hyprolyb_adpcm_map) @@ -398,13 +394,12 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(hyperspt_state::roadf) hyperspt(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(roadf_map) - MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_roadf) + m_maincpu->set_addrmap(AS_PROGRAM, address_map_constructor(&std::remove_pointer_t<decltype(this)>::roadf_map, tag(), this)); + m_audiocpu->set_addrmap(AS_PROGRAM, address_map_constructor(&std::remove_pointer_t<decltype(this)>::roadf_sound_map, tag(), this)); + m_gfxdecode->set_info(gfx_roadf); + MCFG_VIDEO_START_OVERRIDE(hyperspt_state,roadf) - MCFG_DEVICE_MODIFY("audiocpu") - MCFG_DEVICE_PROGRAM_MAP(roadf_sound_map) MCFG_DEVICE_REMOVE("vlm") MACHINE_CONFIG_END |