summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/hyperspt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/hyperspt.cpp')
-rw-r--r--src/mame/drivers/hyperspt.cpp43
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