summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/btoads.cpp26
-rw-r--r--src/mame/drivers/tapatune.cpp37
-rw-r--r--src/mame/includes/btoads.h86
3 files changed, 78 insertions, 71 deletions
diff --git a/src/mame/drivers/btoads.cpp b/src/mame/drivers/btoads.cpp
index dffa36f88b9..6f5f9e6a492 100644
--- a/src/mame/drivers/btoads.cpp
+++ b/src/mame/drivers/btoads.cpp
@@ -303,8 +303,8 @@ INPUT_PORTS_END
*
*************************************/
-MACHINE_CONFIG_START(btoads_state::btoads)
-
+void btoads_state::btoads(machine_config &config)
+{
TMS34020(config, m_maincpu, CPU_CLOCK/2);
m_maincpu->set_addrmap(AS_PROGRAM, &btoads_state::main_map);
m_maincpu->set_halt_on_reset(false);
@@ -314,28 +314,28 @@ MACHINE_CONFIG_START(btoads_state::btoads)
m_maincpu->set_shiftreg_in_callback(FUNC(btoads_state::to_shiftreg));
m_maincpu->set_shiftreg_out_callback(FUNC(btoads_state::from_shiftreg));
- MCFG_DEVICE_ADD("audiocpu", Z80, SOUND_CLOCK/4)
- MCFG_DEVICE_PROGRAM_MAP(sound_map)
- MCFG_DEVICE_IO_MAP(sound_io_map)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(btoads_state, irq0_line_assert, 183)
+ Z80(config, m_audiocpu, SOUND_CLOCK/4);
+ m_audiocpu->set_addrmap(AS_PROGRAM, &btoads_state::sound_map);
+ m_audiocpu->set_addrmap(AS_IO, &btoads_state::sound_io_map);
+ m_audiocpu->set_periodic_int(FUNC(btoads_state::irq0_line_assert), attotime::from_ticks(32768, SOUND_CLOCK/4));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
/* video hardware */
TLC34076(config, m_tlc34076, tlc34076_device::TLC34076_6_BIT);
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/2, 640, 0, 512, 257, 0, 224)
- MCFG_SCREEN_UPDATE_DEVICE("maincpu", tms34020_device, tms340x0_rgb32)
+ SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
+ m_screen->set_raw(VIDEO_CLOCK/2, 640, 0, 512, 257, 0, 224);
+ m_screen->set_screen_update("maincpu", FUNC(tms34020_device::tms340x0_rgb32));
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- MCFG_DEVICE_ADD("bsmt", BSMT2000, SOUND_CLOCK)
- MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
- MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
-MACHINE_CONFIG_END
+ BSMT2000(config, m_bsmt, SOUND_CLOCK);
+ m_bsmt->add_route(0, "lspeaker", 1.0);
+ m_bsmt->add_route(1, "rspeaker", 1.0);
+}
diff --git a/src/mame/drivers/tapatune.cpp b/src/mame/drivers/tapatune.cpp
index 9363ee91bd6..2b3a9414c2f 100644
--- a/src/mame/drivers/tapatune.cpp
+++ b/src/mame/drivers/tapatune.cpp
@@ -522,12 +522,13 @@ INPUT_PORTS_END
*
*************************************/
-MACHINE_CONFIG_START(tapatune_state::tapatune_base)
+void tapatune_state::tapatune_base(machine_config &config)
+{
/* basic machine hardware */
- MCFG_DEVICE_ADD("maincpu", Z80, XTAL(24'000'000) / 4)
- MCFG_DEVICE_PROGRAM_MAP(maincpu_map)
- MCFG_DEVICE_IO_MAP(maincpu_io_map)
- MCFG_DEVICE_PERIODIC_INT_DRIVER(tapatune_state, irq0_line_assert, XTAL(24'000'000) / 4 / 4 / 4096)
+ Z80(config, m_maincpu, XTAL(24'000'000) / 4);
+ m_maincpu->set_addrmap(AS_PROGRAM, &tapatune_state::maincpu_map);
+ m_maincpu->set_addrmap(AS_IO, &tapatune_state::maincpu_io_map);
+ m_maincpu->set_periodic_int(FUNC(tapatune_state::irq0_line_assert), attotime::from_ticks(4 * 4096, XTAL(24'000'000) / 4));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@@ -537,17 +538,19 @@ MACHINE_CONFIG_START(tapatune_state::tapatune_base)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- MCFG_DEVICE_ADD("bsmt", BSMT2000, XTAL(24'000'000))
- MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
- MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
-MACHINE_CONFIG_END
+ BSMT2000(config, m_bsmt, XTAL(24'000'000));
+ m_bsmt->add_route(0, "lspeaker", 1.0);
+ m_bsmt->add_route(1, "rspeaker", 1.0);
+}
-MACHINE_CONFIG_START(tapatune_state::tapatune)
+void tapatune_state::tapatune(machine_config &config)
+{
tapatune_base(config);
- MCFG_DEVICE_ADD("videocpu", M68000, XTAL(24'000'000) / 2)
- MCFG_DEVICE_PROGRAM_MAP(video_map)
- MCFG_QUANTUM_PERFECT_CPU("videocpu")
+ M68000(config, m_videocpu, XTAL(24'000'000) / 2);
+ m_videocpu->set_addrmap(AS_PROGRAM, &tapatune_state::video_map);
+
+ config.m_perfect_cpu_quantum = subtag("videocpu");
h46505_device &crtc(H46505(config, "crtc", XTAL(24'000'000) / 16));
crtc.set_screen("screen");
@@ -558,10 +561,10 @@ MACHINE_CONFIG_START(tapatune_state::tapatune)
crtc.out_vsync_callback().set(FUNC(tapatune_state::crtc_vsync));
/* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_RAW_PARAMS(XTAL(24'000'000) / 16 * 5, 500, 0, 320, 250, 0, 240)
- MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
-MACHINE_CONFIG_END
+ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
+ screen.set_raw(XTAL(24'000'000) / 16 * 5, 500, 0, 320, 250, 0, 240);
+ screen.set_screen_update("crtc", FUNC(h46505_device::screen_update));
+}
/*************************************
*
diff --git a/src/mame/includes/btoads.h b/src/mame/includes/btoads.h
index 7dec9ad59f2..bfbe88dd255 100644
--- a/src/mame/includes/btoads.h
+++ b/src/mame/includes/btoads.h
@@ -21,9 +21,6 @@ class btoads_state : public driver_device
public:
btoads_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
- m_audiocpu(*this, "audiocpu"),
- m_bsmt(*this, "bsmt"),
- m_tlc34076(*this, "tlc34076"),
m_vram_fg0(*this, "vram_fg0", 16),
m_vram_fg1(*this, "vram_fg1", 16),
m_vram_fg_data(*this, "vram_fg_data"),
@@ -32,45 +29,16 @@ public:
m_sprite_scale(*this, "sprite_scale"),
m_sprite_control(*this, "sprite_control"),
m_maincpu(*this, "maincpu"),
+ m_audiocpu(*this, "audiocpu"),
+ m_bsmt(*this, "bsmt"),
+ m_tlc34076(*this, "tlc34076"),
m_screen(*this, "screen") { }
- // in drivers/btoads
- DECLARE_WRITE16_MEMBER( main_sound_w );
- DECLARE_READ16_MEMBER( main_sound_r );
DECLARE_CUSTOM_INPUT_MEMBER( main_to_sound_r );
DECLARE_CUSTOM_INPUT_MEMBER( sound_to_main_r );
- DECLARE_WRITE8_MEMBER( sound_data_w );
- DECLARE_READ8_MEMBER( sound_data_r );
- DECLARE_READ8_MEMBER( sound_ready_to_send_r );
- DECLARE_READ8_MEMBER( sound_data_ready_r );
- DECLARE_WRITE8_MEMBER( sound_int_state_w );
- DECLARE_READ8_MEMBER( bsmt_ready_r );
- DECLARE_WRITE8_MEMBER( bsmt2000_port_w );
-
- // in video/btoads
- DECLARE_WRITE16_MEMBER( misc_control_w );
- DECLARE_WRITE16_MEMBER( display_control_w );
- DECLARE_WRITE16_MEMBER( scroll0_w );
- DECLARE_WRITE16_MEMBER( scroll1_w );
- DECLARE_WRITE16_MEMBER( paletteram_w );
- DECLARE_READ16_MEMBER( paletteram_r );
- DECLARE_WRITE16_MEMBER( vram_bg0_w );
- DECLARE_WRITE16_MEMBER( vram_bg1_w );
- DECLARE_READ16_MEMBER( vram_bg0_r );
- DECLARE_READ16_MEMBER( vram_bg1_r );
- DECLARE_WRITE16_MEMBER( vram_fg_display_w );
- DECLARE_WRITE16_MEMBER( vram_fg_draw_w );
- DECLARE_READ16_MEMBER( vram_fg_display_r );
- DECLARE_READ16_MEMBER( vram_fg_draw_r );
- void render_sprite_row(uint16_t *sprite_source, uint32_t address);
- TMS340X0_TO_SHIFTREG_CB_MEMBER(to_shiftreg);
- TMS340X0_FROM_SHIFTREG_CB_MEMBER(from_shiftreg);
- TMS340X0_SCANLINE_RGB32_CB_MEMBER(scanline_update);
void btoads(machine_config &config);
- void main_map(address_map &map);
- void sound_io_map(address_map &map);
- void sound_map(address_map &map);
+
protected:
// device overrides
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@@ -79,6 +47,7 @@ protected:
virtual void machine_start() override;
virtual void video_start() override;
+private:
// timer IDs
enum
{
@@ -86,11 +55,6 @@ protected:
TIMER_ID_DELAYED_SOUND
};
- // devices
- required_device<z80_device> m_audiocpu;
- required_device<bsmt2000_device> m_bsmt;
- required_device<tlc34076_device> m_tlc34076;
-
// shared pointers
required_shared_ptr<uint8_t> m_vram_fg0;
required_shared_ptr<uint8_t> m_vram_fg1;
@@ -118,6 +82,46 @@ protected:
uint16_t m_sprite_dest_offs;
uint16_t m_misc_control;
int m_xcount;
+
+ // in drivers/btoads
+ DECLARE_WRITE16_MEMBER( main_sound_w );
+ DECLARE_READ16_MEMBER( main_sound_r );
+ DECLARE_WRITE8_MEMBER( sound_data_w );
+ DECLARE_READ8_MEMBER( sound_data_r );
+ DECLARE_READ8_MEMBER( sound_ready_to_send_r );
+ DECLARE_READ8_MEMBER( sound_data_ready_r );
+ DECLARE_WRITE8_MEMBER( sound_int_state_w );
+ DECLARE_READ8_MEMBER( bsmt_ready_r );
+ DECLARE_WRITE8_MEMBER( bsmt2000_port_w );
+
+ // in video/btoads
+ DECLARE_WRITE16_MEMBER( misc_control_w );
+ DECLARE_WRITE16_MEMBER( display_control_w );
+ DECLARE_WRITE16_MEMBER( scroll0_w );
+ DECLARE_WRITE16_MEMBER( scroll1_w );
+ DECLARE_WRITE16_MEMBER( paletteram_w );
+ DECLARE_READ16_MEMBER( paletteram_r );
+ DECLARE_WRITE16_MEMBER( vram_bg0_w );
+ DECLARE_WRITE16_MEMBER( vram_bg1_w );
+ DECLARE_READ16_MEMBER( vram_bg0_r );
+ DECLARE_READ16_MEMBER( vram_bg1_r );
+ DECLARE_WRITE16_MEMBER( vram_fg_display_w );
+ DECLARE_WRITE16_MEMBER( vram_fg_draw_w );
+ DECLARE_READ16_MEMBER( vram_fg_display_r );
+ DECLARE_READ16_MEMBER( vram_fg_draw_r );
+ void render_sprite_row(uint16_t *sprite_source, uint32_t address);
+ TMS340X0_TO_SHIFTREG_CB_MEMBER(to_shiftreg);
+ TMS340X0_FROM_SHIFTREG_CB_MEMBER(from_shiftreg);
+ TMS340X0_SCANLINE_RGB32_CB_MEMBER(scanline_update);
+
+ // devices
required_device<tms34020_device> m_maincpu;
+ required_device<z80_device> m_audiocpu;
+ required_device<bsmt2000_device> m_bsmt;
+ required_device<tlc34076_device> m_tlc34076;
required_device<screen_device> m_screen;
+
+ void main_map(address_map &map);
+ void sound_io_map(address_map &map);
+ void sound_map(address_map &map);
};