diff options
Diffstat (limited to 'src')
59 files changed, 828 insertions, 816 deletions
diff --git a/src/devices/bus/abckb/abc99.cpp b/src/devices/bus/abckb/abc99.cpp index 6782fbd8a59..4b49e73548e 100644 --- a/src/devices/bus/abckb/abc99.cpp +++ b/src/devices/bus/abckb/abc99.cpp @@ -169,7 +169,7 @@ void abc99_device::device_add_mconfig(machine_config &config) m_mousecpu->set_addrmap(AS_PROGRAM, &abc99_device::abc99_z5_mem); //m_mousecpu->p1_in_cb().set(FUNC(abc99_device::z5_p1_r)); //m_mousecpu->p2_out_cb().set(FUNC(abc99_device::z5_p2_w)); - //MCFG_MCS48_PORT_T0_CLK_CUSTOM() // Z2 CLK + //m_mousecpu->set_t0_clk_cb(); // Z2 CLK //m_mousecpu->t1_in_cb().set(FUNC(abc99_device::z5_t1_r)); m_mousecpu->set_disable(); // HACK fix for broken serial I/O diff --git a/src/devices/bus/vip/vp550.cpp b/src/devices/bus/vip/vp550.cpp index 48b666a3714..6d1e36f57d7 100644 --- a/src/devices/bus/vip/vp550.cpp +++ b/src/devices/bus/vip/vp550.cpp @@ -47,7 +47,7 @@ DEFINE_DEVICE_TYPE(VP550, vp550_device, "vp550", "VP-550 Super Sound") //------------------------------------------------- -// MACHINE_CONFIG_START( vp550 ) +// machine_config( vp550 ) //------------------------------------------------- void vp550_device::device_add_mconfig(machine_config &config) diff --git a/src/devices/bus/vip/vp575.cpp b/src/devices/bus/vip/vp575.cpp index 40b3b992dc9..685c05be7c6 100644 --- a/src/devices/bus/vip/vp575.cpp +++ b/src/devices/bus/vip/vp575.cpp @@ -42,7 +42,7 @@ void vp575_device::update_interrupts() //------------------------------------------------- -// MACHINE_CONFIG_START( vp575 ) +// machine_config( vp575 ) //------------------------------------------------- void vp575_device::device_add_mconfig(machine_config &config) diff --git a/src/devices/bus/vip/vp590.cpp b/src/devices/bus/vip/vp590.cpp index 85ea459dcdc..3fd9185c5d1 100644 --- a/src/devices/bus/vip/vp590.cpp +++ b/src/devices/bus/vip/vp590.cpp @@ -50,7 +50,7 @@ READ_LINE_MEMBER( vp590_device::gd_r ) //------------------------------------------------- -// MACHINE_CONFIG_START( vp590 ) +// machine_config( vp590 ) //------------------------------------------------- void vp590_device::device_add_mconfig(machine_config &config) diff --git a/src/devices/bus/vip/vp595.cpp b/src/devices/bus/vip/vp595.cpp index e7fe7c64c44..1dab7f4a49f 100644 --- a/src/devices/bus/vip/vp595.cpp +++ b/src/devices/bus/vip/vp595.cpp @@ -30,7 +30,7 @@ DEFINE_DEVICE_TYPE(VP595, vp595_device, "vp595", "VP-595 Simple Sound") //------------------------------------------------- -// MACHINE_CONFIG_START( vp595 ) +// machine_config( vp595 ) //------------------------------------------------- void vp595_device::device_add_mconfig(machine_config &config) diff --git a/src/devices/bus/vip/vp620.cpp b/src/devices/bus/vip/vp620.cpp index 643a8856481..ba6a938f660 100644 --- a/src/devices/bus/vip/vp620.cpp +++ b/src/devices/bus/vip/vp620.cpp @@ -33,7 +33,7 @@ void vp620_device::kb_w(uint8_t data) } //------------------------------------------------- -// MACHINE_CONFIG_START( vp620 ) +// machine_config( vp620 ) //------------------------------------------------- void vp620_device::device_add_mconfig(machine_config &config) diff --git a/src/devices/bus/wangpc/lvc.cpp b/src/devices/bus/wangpc/lvc.cpp index 60ec03e5674..0d316e5b15b 100644 --- a/src/devices/bus/wangpc/lvc.cpp +++ b/src/devices/bus/wangpc/lvc.cpp @@ -113,7 +113,7 @@ WRITE_LINE_MEMBER( wangpc_lvc_device::vsync_w ) } //------------------------------------------------- -// MACHINE_CONFIG_START( wangpc_lvc ) +// machine_config( wangpc_lvc ) //------------------------------------------------- void wangpc_lvc_device::device_add_mconfig(machine_config &config) diff --git a/src/devices/bus/wangpc/mcc.cpp b/src/devices/bus/wangpc/mcc.cpp index 5f483cee5fd..5b029ed38d2 100644 --- a/src/devices/bus/wangpc/mcc.cpp +++ b/src/devices/bus/wangpc/mcc.cpp @@ -52,7 +52,7 @@ DEFINE_DEVICE_TYPE(WANGPC_MCC, wangpc_mcc_device, "wangpc_mcc", "Wang PC-PM043 M //------------------------------------------------- -// MACHINE_CONFIG_START( wangpc_mcc ) +// machine_config( wangpc_mcc ) //------------------------------------------------- void wangpc_mcc_device::device_add_mconfig(machine_config &config) diff --git a/src/devices/bus/wangpc/mvc.cpp b/src/devices/bus/wangpc/mvc.cpp index fbe4db1fe4a..af78d16cc29 100644 --- a/src/devices/bus/wangpc/mvc.cpp +++ b/src/devices/bus/wangpc/mvc.cpp @@ -133,7 +133,7 @@ WRITE_LINE_MEMBER( wangpc_mvc_device::vsync_w ) } //------------------------------------------------- -// MACHINE_CONFIG_START( wangpc_mvc ) +// machine_config( wangpc_mvc ) //------------------------------------------------- void wangpc_mvc_device::device_add_mconfig(machine_config &config) diff --git a/src/devices/bus/wangpc/tig.cpp b/src/devices/bus/wangpc/tig.cpp index fa18e4189ce..f0c00ed3cc3 100644 --- a/src/devices/bus/wangpc/tig.cpp +++ b/src/devices/bus/wangpc/tig.cpp @@ -111,7 +111,7 @@ UPD7220_DISPLAY_PIXELS_MEMBER( wangpc_tig_device::hgdc_display_pixels ) //------------------------------------------------- -// MACHINE_CONFIG_START( wangpc_tig ) +// machine_config( wangpc_tig ) //------------------------------------------------- void wangpc_tig_device::device_add_mconfig(machine_config &config) diff --git a/src/devices/bus/wangpc/wdc.cpp b/src/devices/bus/wangpc/wdc.cpp index 0f2598541ce..2ad74d8c8fd 100644 --- a/src/devices/bus/wangpc/wdc.cpp +++ b/src/devices/bus/wangpc/wdc.cpp @@ -89,7 +89,7 @@ void wangpc_wdc_device::wangpc_wdc_io(address_map &map) //------------------------------------------------- -// MACHINE_CONFIG_START( wangpc_wdc ) +// machine_config( wangpc_wdc ) //------------------------------------------------- void wangpc_wdc_device::device_add_mconfig(machine_config &config) diff --git a/src/devices/imagedev/mfmhd.cpp b/src/devices/imagedev/mfmhd.cpp index 6e95fcc9e64..1d6d3574c07 100644 --- a/src/devices/imagedev/mfmhd.cpp +++ b/src/devices/imagedev/mfmhd.cpp @@ -205,7 +205,7 @@ This means that when we add a slot (the connector), we also have to pass the desired parameters for the drive. - MCFG_MFM_HARDDISK_CONN_ADD(_tag, _slot_intf, _def_slot, _enc, _spinupms, _cache, _format) + MFM_HD_CONNECTOR(config, _tag, _slot_intf, _def_slot, _enc, _spinupms, _cache, _format); Specific parameters: diff --git a/src/devices/video/tms9927.cpp b/src/devices/video/tms9927.cpp index 9a43cb1f635..bc8e187f8e8 100644 --- a/src/devices/video/tms9927.cpp +++ b/src/devices/video/tms9927.cpp @@ -81,7 +81,7 @@ crt5057_device::crt5057_device(const machine_config &mconfig, const char *tag, d void tms9927_device::device_start() { assert(clock() > 0); - if (!(m_hpixels_per_column > 0)) fatalerror("TMS9927: number of pixels per column must be explicitly set using MCFG_TMS9927_CHAR_WIDTH()!\n"); + if (!(m_hpixels_per_column > 0)) fatalerror("TMS9927: number of pixels per column must be explicitly set using set_char_width()!\n"); // resolve callbacks m_write_vsyn.resolve_safe(); diff --git a/src/mame/drivers/jack.cpp b/src/mame/drivers/jack.cpp index 3addd7185b3..8e88f0c8440 100644 --- a/src/mame/drivers/jack.cpp +++ b/src/mame/drivers/jack.cpp @@ -910,26 +910,26 @@ MACHINE_RESET_MEMBER(jack_state,joinem) /***************************************************************/ -MACHINE_CONFIG_START(jack_state::jack) - +void jack_state::jack(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(18'000'000)/6) - MCFG_DEVICE_PROGRAM_MAP(jack_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", jack_state, irq0_line_hold) + Z80(config, m_maincpu, XTAL(18'000'000)/6); + m_maincpu->set_addrmap(AS_PROGRAM, &jack_state::jack_map); + m_maincpu->set_vblank_int("screen", FUNC(jack_state::irq0_line_hold)); - MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(18'000'000)/6) - MCFG_DEVICE_PROGRAM_MAP(sound_map) - MCFG_DEVICE_IO_MAP(sound_io_map) - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(jack_state, jack_sh_irq_ack) + Z80(config, m_audiocpu, XTAL(18'000'000)/6); + m_audiocpu->set_addrmap(AS_PROGRAM, &jack_state::sound_map); + m_audiocpu->set_addrmap(AS_IO, &jack_state::sound_io_map); + m_audiocpu->set_irq_acknowledge_callback(FUNC(jack_state::jack_sh_irq_ack)); /* video hardware */ - MCFG_SCREEN_ADD("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(jack_state, screen_update_jack) - MCFG_SCREEN_PALETTE(m_palette) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(32*8, 32*8); + screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1); + screen.set_screen_update(FUNC(jack_state::screen_update_jack)); + screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_jack); PALETTE(config, m_palette).set_format(palette_device::BGR_233_inverted, 32); @@ -944,29 +944,28 @@ MACHINE_CONFIG_START(jack_state::jack) aysnd.port_a_read_callback().set(m_soundlatch, FUNC(generic_latch_8_device::read)); aysnd.port_b_read_callback().set(FUNC(jack_state::timer_r)); aysnd.add_route(ALL_OUTPUTS, "mono", 1.0); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(jack_state::treahunt) +void jack_state::treahunt(machine_config &config) +{ jack(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map) -MACHINE_CONFIG_END + m_maincpu->set_addrmap(AS_OPCODES, &jack_state::decrypted_opcodes_map); +} -MACHINE_CONFIG_START(jack_state::striv) +void jack_state::striv(machine_config &config) +{ jack(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(striv_map) + m_maincpu->set_addrmap(AS_PROGRAM, &jack_state::striv_map); MCFG_MACHINE_START_OVERRIDE(jack_state,striv) MCFG_MACHINE_RESET_OVERRIDE(jack_state,striv) /* video hardware */ - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_UPDATE_DRIVER(jack_state, screen_update_striv) -MACHINE_CONFIG_END + subdevice<screen_device>("screen")->set_screen_update(FUNC(jack_state::screen_update_striv)); +} /***************************************************************/ @@ -977,43 +976,41 @@ INTERRUPT_GEN_MEMBER(jack_state::joinem_vblank_irq) device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } -MACHINE_CONFIG_START(jack_state::joinem) +void jack_state::joinem(machine_config &config) +{ jack(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(joinem_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", jack_state, joinem_vblank_irq) - MCFG_DEVICE_PERIODIC_INT_DRIVER(jack_state, irq0_line_hold, 250) // ??? controls game speed + m_maincpu->set_addrmap(AS_PROGRAM, &jack_state::joinem_map); + m_maincpu->set_vblank_int("screen", FUNC(jack_state::joinem_vblank_irq)); + m_maincpu->set_periodic_int(FUNC(jack_state::irq0_line_hold), attotime::from_hz(250)); // ??? controls game speed MCFG_MACHINE_START_OVERRIDE(jack_state,joinem) MCFG_MACHINE_RESET_OVERRIDE(jack_state,joinem) /* video hardware */ - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_UPDATE_DRIVER(jack_state, screen_update_joinem) + subdevice<screen_device>("screen")->set_screen_update(FUNC(jack_state::screen_update_joinem)); m_gfxdecode->set_info(gfx_joinem); PALETTE(config.replace(), m_palette, FUNC(jack_state::joinem_palette), 64); MCFG_VIDEO_START_OVERRIDE(jack_state,joinem) -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(jack_state::unclepoo) +void jack_state::unclepoo(machine_config &config) +{ joinem(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(unclepoo_map) + m_maincpu->set_addrmap(AS_PROGRAM, &jack_state::unclepoo_map); /* video hardware */ - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) + subdevice<screen_device>("screen")->set_visarea(0*8, 32*8-1, 1*8, 31*8-1); m_palette->set_entries(256); -MACHINE_CONFIG_END +} diff --git a/src/mame/drivers/jackal.cpp b/src/mame/drivers/jackal.cpp index 5adb580f073..7b1cbfb2ce1 100644 --- a/src/mame/drivers/jackal.cpp +++ b/src/mame/drivers/jackal.cpp @@ -357,28 +357,28 @@ void jackal_state::machine_reset() m_irq_enable = 0; } -MACHINE_CONFIG_START(jackal_state::jackal) - +void jackal_state::jackal(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("master", MC6809E, MASTER_CLOCK/12) // verified on pcb - MCFG_DEVICE_PROGRAM_MAP(master_map) + MC6809E(config, m_mastercpu, MASTER_CLOCK/12); // verified on pcb + m_mastercpu->set_addrmap(AS_PROGRAM, &jackal_state::master_map); - MCFG_DEVICE_ADD("slave", MC6809E, MASTER_CLOCK/12) // verified on pcb - MCFG_DEVICE_PROGRAM_MAP(slave_map) + MC6809E(config, m_slavecpu, MASTER_CLOCK/12); // verified on pcb + m_slavecpu->set_addrmap(AS_PROGRAM, &jackal_state::slave_map); config.m_minimum_quantum = attotime::from_hz(6000); WATCHDOG_TIMER(config, "watchdog"); /* video hardware */ - MCFG_SCREEN_ADD("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(1*8, 31*8-1, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(jackal_state, screen_update_jackal) - MCFG_SCREEN_PALETTE("palette") - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, jackal_state, vblank_irq)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(32*8, 32*8); + screen.set_visarea(1*8, 31*8-1, 2*8, 30*8-1); + screen.set_screen_update(FUNC(jackal_state::screen_update_jackal)); + screen.set_palette(m_palette); + screen.screen_vblank().set(FUNC(jackal_state::vblank_irq)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_jackal); PALETTE(config, m_palette, FUNC(jackal_state::jackal_palette)); @@ -390,7 +390,7 @@ MACHINE_CONFIG_START(jackal_state::jackal) SPEAKER(config, "rspeaker").front_right(); YM2151(config, "ymsnd", SOUND_CLOCK).add_route(0, "lspeaker", 0.50).add_route(1, "rspeaker", 0.50); // verified on pcb -MACHINE_CONFIG_END +} /************************************* * diff --git a/src/mame/drivers/jackpool.cpp b/src/mame/drivers/jackpool.cpp index 4b8800b9a16..2946a84c8ab 100644 --- a/src/mame/drivers/jackpool.cpp +++ b/src/mame/drivers/jackpool.cpp @@ -233,20 +233,21 @@ INTERRUPT_GEN_MEMBER(jackpool_state::jackpool_interrupt) } -MACHINE_CONFIG_START(jackpool_state::jackpool) - MCFG_DEVICE_ADD("maincpu", M68000, 12000000) // ? - MCFG_DEVICE_PROGRAM_MAP(jackpool_mem) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", jackpool_state, jackpool_interrupt) // ? +void jackpool_state::jackpool(machine_config &config) +{ + M68000(config, m_maincpu, 12000000); // ? + m_maincpu->set_addrmap(AS_PROGRAM, &jackpool_state::jackpool_mem); + m_maincpu->set_vblank_int("screen", FUNC(jackpool_state::jackpool_interrupt)); // ? GFXDECODE(config, m_gfxdecode, m_palette, gfx_jackpool); - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) - MCFG_SCREEN_SIZE(64*8, 64*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1) - MCFG_SCREEN_UPDATE_DRIVER(jackpool_state, screen_update_jackpool) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); + screen.set_size(64*8, 64*8); + screen.set_visarea(0*8, 64*8-1, 0*8, 32*8-1); + screen.set_screen_update(FUNC(jackpool_state::screen_update_jackpool)); + screen.set_palette(m_palette); ls259_device &latch1(LS259(config, "latch1")); latch1.q_out_cb<0>().set_nop(); // HOLD3 lamp @@ -277,9 +278,8 @@ MACHINE_CONFIG_START(jackpool_state::jackpool) SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) -MACHINE_CONFIG_END + OKIM6295(config, "oki", 1056000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // clock frequency & pin 7 not verified +} ROM_START( jackpool ) diff --git a/src/mame/drivers/jailbrek.cpp b/src/mame/drivers/jailbrek.cpp index cae5ca8996b..9f99ca04ff3 100644 --- a/src/mame/drivers/jailbrek.cpp +++ b/src/mame/drivers/jailbrek.cpp @@ -261,12 +261,12 @@ void jailbrek_state::machine_reset() m_nmi_enable = 0; } -MACHINE_CONFIG_START(jailbrek_state::jailbrek) - +void jailbrek_state::jailbrek(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", KONAMI1, MASTER_CLOCK/12) - MCFG_DEVICE_PROGRAM_MAP(jailbrek_map) - MCFG_DEVICE_PERIODIC_INT_DRIVER(jailbrek_state, interrupt_nmi, 500) /* ? */ + KONAMI1(config, m_maincpu, MASTER_CLOCK/12); + m_maincpu->set_addrmap(AS_PROGRAM, &jailbrek_state::jailbrek_map); + m_maincpu->set_periodic_int(FUNC(jailbrek_state::interrupt_nmi), attotime::from_hz(500)); /* ? */ WATCHDOG_TIMER(config, "watchdog"); @@ -274,22 +274,21 @@ MACHINE_CONFIG_START(jailbrek_state::jailbrek) GFXDECODE(config, m_gfxdecode, m_palette, gfx_jailbrek); PALETTE(config, m_palette, FUNC(jailbrek_state::jailbrek_palette), 512, 32); - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3, 396, 8, 248, 256, 16, 240) - MCFG_SCREEN_UPDATE_DRIVER(jailbrek_state, screen_update) - MCFG_SCREEN_PALETTE(m_palette) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, jailbrek_state, vblank_irq)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(MASTER_CLOCK/3, 396, 8, 248, 256, 16, 240); + screen.set_screen_update(FUNC(jailbrek_state::screen_update)); + screen.set_palette(m_palette); + screen.screen_vblank().set(FUNC(jailbrek_state::vblank_irq)); /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("snsnd", SN76489A, MASTER_CLOCK/12) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + SN76489A(config, "snsnd", MASTER_CLOCK/12).add_route(ALL_OUTPUTS, "mono", 1.0); - MCFG_DEVICE_ADD("vlm", VLM5030, VOICE_CLOCK) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MCFG_DEVICE_ADDRESS_MAP(0, vlm_map) -MACHINE_CONFIG_END + VLM5030(config, m_vlm, VOICE_CLOCK); + m_vlm->add_route(ALL_OUTPUTS, "mono", 1.0); + m_vlm->set_addrmap(0, &jailbrek_state::vlm_map); +} /*************************************************************************** diff --git a/src/mame/drivers/jalmah.cpp b/src/mame/drivers/jalmah.cpp index c501cc106c0..02bad953018 100644 --- a/src/mame/drivers/jalmah.cpp +++ b/src/mame/drivers/jalmah.cpp @@ -123,10 +123,10 @@ class jalmah_state : public driver_device public: jalmah_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), m_palette(*this, "palette"), m_tmap(*this, "scroll%u", 0), m_sharedram(*this, "sharedram"), - m_maincpu(*this, "maincpu"), m_prirom(*this, "prirom"), m_p1_key_io(*this, "P1_KEY%u", 0U), m_p2_key_io(*this, "P2_KEY%u", 0U), @@ -170,6 +170,7 @@ protected: virtual void machine_reset() override; virtual void video_start() override; + required_device<cpu_device> m_maincpu; required_device<palette_device> m_palette; optional_device_array<megasys1_tilemap_device, 4> m_tmap; @@ -179,7 +180,6 @@ protected: private: required_shared_ptr<uint16_t> m_sharedram; - required_device<cpu_device> m_maincpu; optional_region_ptr<uint8_t> m_prirom; required_ioport_array<3> m_p1_key_io; optional_ioport_array<3> m_p2_key_io; @@ -1086,10 +1086,11 @@ void urashima_state::machine_reset() mcu_check_test_mode(); } -MACHINE_CONFIG_START(jalmah_state::jalmah) - MCFG_DEVICE_ADD("maincpu" , M68000, 12000000/2) // assume same as Mega System 1 - MCFG_DEVICE_PROGRAM_MAP(jalmah_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", jalmah_state, irq2_line_hold) +void jalmah_state::jalmah(machine_config &config) +{ + M68000(config, m_maincpu, 12000000/2); // assume same as Mega System 1 + m_maincpu->set_addrmap(AS_PROGRAM, &jalmah_state::jalmah_map); + m_maincpu->set_vblank_int("screen", FUNC(jalmah_state::irq2_line_hold)); //M50747 MCU @@ -1098,20 +1099,20 @@ MACHINE_CONFIG_START(jalmah_state::jalmah) MEGASYS1_TILEMAP(config, m_tmap[2], m_palette, 0x0200); MEGASYS1_TILEMAP(config, m_tmap[3], m_palette, 0x0300); - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(12000000/2,406,0,256,263,16,240) // assume same as nmk16 & mega system 1 - MCFG_SCREEN_UPDATE_DRIVER(jalmah_state, screen_update_jalmah) - MCFG_SCREEN_PALETTE(m_palette) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(12000000/2,406,0,256,263,16,240); // assume same as nmk16 & mega system 1 + screen.set_screen_update(FUNC(jalmah_state::screen_update_jalmah)); + screen.set_palette(m_palette); PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 0x400); TIMER(config, "mcusim").configure_periodic(FUNC(jalmah_state::mcu_sim), attotime::from_hz(10000)); SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("oki", OKIM6295, 4000000, okim6295_device::PIN7_LOW) - MCFG_DEVICE_ADDRESS_MAP(0, oki_map) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) -MACHINE_CONFIG_END + okim6295_device &oki(OKIM6295(config, "oki", 4000000, okim6295_device::PIN7_LOW)); + oki.set_addrmap(0, &jalmah_state::oki_map); + oki.add_route(ALL_OUTPUTS, "mono", 0.5); +} static const gfx_layout charlayout = { @@ -1144,18 +1145,18 @@ static GFXDECODE_START( gfx_urashima ) GFXDECODE_ENTRY( "scroll3", 0, charlayout, 0x000, 16 ) GFXDECODE_END -MACHINE_CONFIG_START(jalmah_state::jalmahv1) +void jalmah_state::jalmahv1(machine_config &config) +{ jalmah(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(jalmahv1_map) -MACHINE_CONFIG_END + m_maincpu->set_addrmap(AS_PROGRAM, &jalmah_state::jalmahv1_map); +} -MACHINE_CONFIG_START(urashima_state::urashima) +void urashima_state::urashima(machine_config &config) +{ jalmah(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(urashima_map) + m_maincpu->set_addrmap(AS_PROGRAM, &urashima_state::urashima_map); // Urashima seems to use an earlier version of the Jaleco tilemaps (without range etc.) // and with per-scanline video registers @@ -1166,9 +1167,8 @@ MACHINE_CONFIG_START(urashima_state::urashima) GFXDECODE(config, "gfxdecode", m_palette, gfx_urashima); - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_UPDATE_DRIVER(urashima_state, screen_update_urashima) -MACHINE_CONFIG_END + subdevice<screen_device>("screen")->set_screen_update(FUNC(urashima_state::screen_update_urashima)); +} // fake ROM containing 68k snippets // the original MCU actually uploads these into shared work ram area diff --git a/src/mame/drivers/jangou.cpp b/src/mame/drivers/jangou.cpp index 7b9844585e2..f35b4a257f1 100644 --- a/src/mame/drivers/jangou.cpp +++ b/src/mame/drivers/jangou.cpp @@ -870,8 +870,8 @@ MACHINE_RESET_MEMBER(jangou_state,jngolady) } /* Note: All frequencies and dividers are unverified */ -MACHINE_CONFIG_START(jangou_state::jangou) - +void jangou_state::jangou(machine_config &config) +{ /* basic machine hardware */ Z80(config, m_cpu_0, MASTER_CLOCK / 8); m_cpu_0->set_addrmap(AS_PROGRAM, &jangou_state::cpu0_map); diff --git a/src/mame/drivers/jchan.cpp b/src/mame/drivers/jchan.cpp index 33e5cf4a321..5d860983d60 100644 --- a/src/mame/drivers/jchan.cpp +++ b/src/mame/drivers/jchan.cpp @@ -603,26 +603,26 @@ INPUT_PORTS_END /* machine driver */ -MACHINE_CONFIG_START(jchan_state::jchan) - - MCFG_DEVICE_ADD("maincpu", M68000, 16000000) - MCFG_DEVICE_PROGRAM_MAP(jchan_main) +void jchan_state::jchan(machine_config &config) +{ + M68000(config, m_maincpu, 16000000); + m_maincpu->set_addrmap(AS_PROGRAM, &jchan_state::jchan_main); TIMER(config, "scantimer").configure_scanline(FUNC(jchan_state::vblank), "screen", 0, 1); - MCFG_DEVICE_ADD("sub", M68000, 16000000) - MCFG_DEVICE_PROGRAM_MAP(jchan_sub) + M68000(config, m_subcpu, 16000000); + m_subcpu->set_addrmap(AS_PROGRAM, &jchan_state::jchan_sub); WATCHDOG_TIMER(config, "watchdog"); GFXDECODE(config, "gfxdecode", m_palette, gfx_jchan); - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(64*8, 64*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(jchan_state, screen_update) - MCFG_SCREEN_PALETTE(m_palette) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(64*8, 64*8); + screen.set_visarea(0*8, 40*8-1, 0*8, 30*8-1); + screen.set_screen_update(FUNC(jchan_state::screen_update)); + screen.set_palette(m_palette); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 0x10000); @@ -634,7 +634,7 @@ MACHINE_CONFIG_START(jchan_state::jchan) for (auto &spritegen : m_spritegen) SKNS_SPRITE(config, spritegen, 0); - MCFG_DEVICE_ADD("toybox", KANEKO_TOYBOX, "eeprom", "DSW1", "mcuram", "mcudata") + KANEKO_TOYBOX(config, "toybox", "eeprom", "DSW1", "mcuram", "mcudata"); EEPROM_93C46_16BIT(config, "eeprom"); @@ -642,10 +642,10 @@ MACHINE_CONFIG_START(jchan_state::jchan) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymz", YMZ280B, 16000000) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) -MACHINE_CONFIG_END + ymz280b_device &ymz(YMZ280B(config, "ymz", 16000000)); + ymz.add_route(0, "lspeaker", 1.0); + ymz.add_route(1, "rspeaker", 1.0); +} /* ROM loading */ diff --git a/src/mame/drivers/jclub2.cpp b/src/mame/drivers/jclub2.cpp index a511e6a6a7e..b5720c16a48 100644 --- a/src/mame/drivers/jclub2.cpp +++ b/src/mame/drivers/jclub2.cpp @@ -1131,15 +1131,16 @@ TIMER_DEVICE_CALLBACK_MEMBER(common_state::scanline_irq) } // Older hardware (ST-0020 + ST-0016) -MACHINE_CONFIG_START(jclub2o_state::jclub2o) - MCFG_DEVICE_ADD("maincpu", M68EC020, 12000000) - MCFG_DEVICE_PROGRAM_MAP(jclub2o_map) +void jclub2o_state::jclub2o(machine_config &config) +{ + M68EC020(config, m_maincpu, 12000000); + m_maincpu->set_addrmap(AS_PROGRAM, &jclub2o_state::jclub2o_map); TIMER(config, "scantimer").configure_scanline(FUNC(common_state::scanline_irq), "screen", 0, 1); - MCFG_DEVICE_ADD("soundcpu",ST0016_CPU, 8000000) - MCFG_DEVICE_PROGRAM_MAP(st0016_mem) - MCFG_DEVICE_IO_MAP(st0016_io) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", jclub2o_state, irq0_line_hold) + ST0016_CPU(config, m_soundcpu, 8000000); + m_soundcpu->set_addrmap(AS_PROGRAM, &jclub2o_state::st0016_mem); + m_soundcpu->set_addrmap(AS_IO, &jclub2o_state::st0016_io); + m_soundcpu->set_vblank_int("screen", FUNC(jclub2o_state::irq0_line_hold)); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); EEPROM_S29290_16BIT(config, "eeprom"); @@ -1149,13 +1150,13 @@ MACHINE_CONFIG_START(jclub2o_state::jclub2o) TICKET_DISPENSER(config, m_hopper2, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH); // video hardware - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(0x190, 0x100+16) - MCFG_SCREEN_VISIBLE_AREA(0, 0x190-1, 0x10, 0x100-1) - MCFG_SCREEN_UPDATE_DRIVER(jclub2_state, screen_update) - MCFG_SCREEN_PALETTE(m_palette) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(0x190, 0x100+16); + screen.set_visarea(0, 0x190-1, 0x10, 0x100-1); + screen.set_screen_update(FUNC(jclub2_state::screen_update)); + screen.set_palette(m_palette); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x10000); @@ -1165,13 +1166,14 @@ MACHINE_CONFIG_START(jclub2o_state::jclub2o) // layout config.set_default_layout(layout_jclub2o); -MACHINE_CONFIG_END +} // Newer hardware (ST-0032) -MACHINE_CONFIG_START(jclub2_state::jclub2) - MCFG_DEVICE_ADD("maincpu", M68EC020, 12000000) - MCFG_DEVICE_PROGRAM_MAP(jclub2_map) +void jclub2_state::jclub2(machine_config &config) +{ + M68EC020(config, m_maincpu, 12000000); + m_maincpu->set_addrmap(AS_PROGRAM, &jclub2_state::jclub2_map); TIMER(config, "scantimer").configure_scanline(FUNC(common_state::scanline_irq), "screen", 0, 1); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -1182,13 +1184,13 @@ MACHINE_CONFIG_START(jclub2_state::jclub2) TICKET_DISPENSER(config, m_hopper2, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH); // video hardware - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(0x190, 0x100+16) - MCFG_SCREEN_VISIBLE_AREA(0, 0x190-1, 8, 0x100-8-1) - MCFG_SCREEN_UPDATE_DRIVER(jclub2_state, screen_update) - MCFG_SCREEN_PALETTE(m_palette) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(0x190, 0x100+16); + screen.set_visarea(0, 0x190-1, 8, 0x100-8-1); + screen.set_screen_update(FUNC(jclub2_state::screen_update)); + screen.set_palette(m_palette); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x10000); @@ -1200,12 +1202,13 @@ MACHINE_CONFIG_START(jclub2_state::jclub2) // layout config.set_default_layout(layout_jclub2o); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(darkhors_state::darkhors) - MCFG_DEVICE_ADD("maincpu", M68EC020, 12000000) // 36MHz/3 ?? - MCFG_DEVICE_PROGRAM_MAP(darkhors_map) +void darkhors_state::darkhors(machine_config &config) +{ + M68EC020(config, m_maincpu, 12000000); // 36MHz/3 ?? + m_maincpu->set_addrmap(AS_PROGRAM, &darkhors_state::darkhors_map); TIMER(config, "scantimer").configure_scanline(FUNC(common_state::scanline_irq), "screen", 0, 1); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -1216,13 +1219,13 @@ MACHINE_CONFIG_START(darkhors_state::darkhors) TICKET_DISPENSER(config, m_hopper2, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH); // video hardware - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(0x190, 0x100+16) - MCFG_SCREEN_VISIBLE_AREA(0, 0x190-1, 8, 0x100-8-1) - MCFG_SCREEN_UPDATE_DRIVER(darkhors_state, screen_update) - MCFG_SCREEN_PALETTE(m_palette) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(0x190, 0x100+16); + screen.set_visarea(0, 0x190-1, 8, 0x100-8-1); + screen.set_screen_update(FUNC(darkhors_state::screen_update)); + screen.set_palette(m_palette); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x10000); @@ -1235,9 +1238,8 @@ MACHINE_CONFIG_START(darkhors_state::darkhors) // sound hardware SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("oki", OKIM6295, 528000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) -MACHINE_CONFIG_END + OKIM6295(config, "oki", 528000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // clock frequency & pin 7 not verified +} /*************************************************************************** diff --git a/src/mame/drivers/jeutel.cpp b/src/mame/drivers/jeutel.cpp index 3dff8566ab2..37877d8feb3 100644 --- a/src/mame/drivers/jeutel.cpp +++ b/src/mame/drivers/jeutel.cpp @@ -198,15 +198,18 @@ void jeutel_state::init_jeutel() { } -MACHINE_CONFIG_START(jeutel_state::jeutel) +void jeutel_state::jeutel(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 3300000) - MCFG_DEVICE_PROGRAM_MAP(jeutel_map) - MCFG_DEVICE_ADD("cpu2", Z80, 3300000) - MCFG_DEVICE_PROGRAM_MAP(jeutel_cpu2) - MCFG_DEVICE_ADD("cpu3", Z80, 3300000) - MCFG_DEVICE_PROGRAM_MAP(jeutel_cpu3) - MCFG_DEVICE_IO_MAP(jeutel_cpu3_io) + Z80(config, m_maincpu, 3300000); + m_maincpu->set_addrmap(AS_PROGRAM, &jeutel_state::jeutel_map); + + Z80(config, m_cpu2, 3300000); + m_cpu2->set_addrmap(AS_PROGRAM, &jeutel_state::jeutel_cpu2); + + z80_device &cpu3(Z80(config, "cpu3", 3300000)); + cpu3.set_addrmap(AS_PROGRAM, &jeutel_state::jeutel_cpu3); + cpu3.set_addrmap(AS_IO, &jeutel_state::jeutel_cpu3_io); /* Video */ config.set_default_layout(layout_jeutel); @@ -222,10 +225,10 @@ MACHINE_CONFIG_START(jeutel_state::jeutel) aysnd.port_b_read_callback().set(FUNC(jeutel_state::portb_r)); aysnd.add_route(ALL_OUTPUTS, "mono", 0.40); - MCFG_DEVICE_ADD("tms", TMS5110A, 640000) - //MCFG_TMS5110_M0_CB(WRITELINE("tmsprom", tmsprom_device, m0_w)) - //MCFG_TMS5110_DATA_CB(READLINE("tmsprom", tmsprom_device, data_r)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + TMS5110A(config, m_tms, 640000); + //m_tms->m0().set("tmsprom", FUNC(tmsprom_device::m0_w)); + //m_tms->data().set("tmsprom", FUNC(tmsprom_device::data_r)); + m_tms->add_route(ALL_OUTPUTS, "mono", 1.0); /* Devices */ i8255_device &ppi0(I8255A(config, "ppi8255_0")); @@ -253,7 +256,7 @@ MACHINE_CONFIG_START(jeutel_state::jeutel) //ppi2.out_pc_callback().set(FUNC(jeutel_state::ppi2c_w)); TIMER(config, "timer_a").configure_periodic(FUNC(jeutel_state::timer_a), attotime::from_hz(120)); -MACHINE_CONFIG_END +} /*-------------------------------- / Le King diff --git a/src/mame/drivers/jokrwild.cpp b/src/mame/drivers/jokrwild.cpp index 38c53c9fbe6..8e22e948f24 100644 --- a/src/mame/drivers/jokrwild.cpp +++ b/src/mame/drivers/jokrwild.cpp @@ -413,11 +413,11 @@ WRITE8_MEMBER(jokrwild_state::testb_w) * Machine Drivers * *************************/ -MACHINE_CONFIG_START(jokrwild_state::jokrwild) - +void jokrwild_state::jokrwild(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M6809, MASTER_CLOCK/2) /* guess */ - MCFG_DEVICE_PROGRAM_MAP(jokrwild_map) + M6809(config, m_maincpu, MASTER_CLOCK/2); /* guess */ + m_maincpu->set_addrmap(AS_PROGRAM, &jokrwild_state::jokrwild_map); // NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -432,13 +432,13 @@ MACHINE_CONFIG_START(jokrwild_state::jokrwild) pia1.readpb_handler().set_ioport("IN3"); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE((32+1)*8, (32+1)*8) // From MC6845, registers 00 & 04. (value-1) - MCFG_SCREEN_VISIBLE_AREA(0*8, 24*8-1, 0*8, 26*8-1) // From MC6845, registers 01 & 06. - MCFG_SCREEN_UPDATE_DRIVER(jokrwild_state, screen_update_jokrwild) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size((32+1)*8, (32+1)*8); // From MC6845, registers 00 & 04. (value-1) + screen.set_visarea(0*8, 24*8-1, 0*8, 26*8-1); // From MC6845, registers 01 & 06. + screen.set_screen_update(FUNC(jokrwild_state::screen_update_jokrwild)); + screen.set_palette("palette"); GFXDECODE(config, m_gfxdecode, "palette", gfx_jokrwild); PALETTE(config, "palette", FUNC(jokrwild_state::jokrwild_palette), 512); @@ -448,8 +448,7 @@ MACHINE_CONFIG_START(jokrwild_state::jokrwild) crtc.set_show_border_area(false); crtc.set_char_width(8); crtc.out_vsync_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); - -MACHINE_CONFIG_END +} /************************* diff --git a/src/mame/drivers/jollyjgr.cpp b/src/mame/drivers/jollyjgr.cpp index 7fddc2e98e5..f745cad2888 100644 --- a/src/mame/drivers/jollyjgr.cpp +++ b/src/mame/drivers/jollyjgr.cpp @@ -676,19 +676,20 @@ void jollyjgr_state::machine_reset() m_tilemap_bank = 0; } -MACHINE_CONFIG_START(jollyjgr_state::jollyjgr) +void jollyjgr_state::jollyjgr(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(18'000'000)/6) /* 3MHz verified */ - MCFG_DEVICE_PROGRAM_MAP(jollyjgr_map) + Z80(config, m_maincpu, XTAL(18'000'000)/6); /* 3MHz verified */ + m_maincpu->set_addrmap(AS_PROGRAM, &jollyjgr_state::jollyjgr_map); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(59.18) /* 59.1864Hz measured */ - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(256, 256) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(jollyjgr_state, screen_update_jollyjgr) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, jollyjgr_state, vblank_irq)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(59.18); /* 59.1864Hz measured */ + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(256, 256); + screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1); + screen.set_screen_update(FUNC(jollyjgr_state::screen_update_jollyjgr)); + screen.screen_vblank().set(FUNC(jollyjgr_state::vblank_irq)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_jollyjgr); PALETTE(config, m_palette, FUNC(jollyjgr_state::jollyjgr_palette), 32); // tilemap and sprites @@ -698,16 +699,15 @@ MACHINE_CONFIG_START(jollyjgr_state::jollyjgr) SPEAKER(config, "mono").front_center(); AY8910(config, "aysnd", XTAL(3'579'545)/2).add_route(ALL_OUTPUTS, "mono", 0.45); /* 1.7897725MHz verified */ -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(jollyjgr_state::fspider) +void jollyjgr_state::fspider(machine_config &config) +{ jollyjgr(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(fspider_map) + m_maincpu->set_addrmap(AS_PROGRAM, &jollyjgr_state::fspider_map); - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_UPDATE_DRIVER(jollyjgr_state, screen_update_fspider) -MACHINE_CONFIG_END + subdevice<screen_device>("screen")->set_screen_update(FUNC(jollyjgr_state::screen_update_fspider)); +} /************************************* * diff --git a/src/mame/drivers/jongkyo.cpp b/src/mame/drivers/jongkyo.cpp index e8286ef38c3..402fa56e677 100644 --- a/src/mame/drivers/jongkyo.cpp +++ b/src/mame/drivers/jongkyo.cpp @@ -508,8 +508,8 @@ void jongkyo_state::machine_reset() } -MACHINE_CONFIG_START(jongkyo_state::jongkyo) - +void jongkyo_state::jongkyo(machine_config &config) +{ /* basic machine hardware */ sega_315_5084_device &maincpu(SEGA_315_5084(config, m_maincpu, JONGKYO_CLOCK/4)); maincpu.set_addrmap(AS_PROGRAM, &jongkyo_state::jongkyo_memmap); @@ -522,13 +522,13 @@ MACHINE_CONFIG_START(jongkyo_state::jongkyo) /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(256, 256) - MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 8, 256-8-1) - MCFG_SCREEN_UPDATE_DRIVER(jongkyo_state, screen_update_jongkyo) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(256, 256); + screen.set_visarea(0, 256-1, 8, 256-8-1); + screen.set_screen_update(FUNC(jongkyo_state::screen_update_jongkyo)); + screen.set_palette("palette"); PALETTE(config, "palette", FUNC(jongkyo_state::jongkyo_palette), 0x100); @@ -537,7 +537,7 @@ MACHINE_CONFIG_START(jongkyo_state::jongkyo) aysnd.port_a_read_callback().set(FUNC(jongkyo_state::input_1p_r)); aysnd.port_b_read_callback().set(FUNC(jongkyo_state::input_2p_r)); aysnd.add_route(ALL_OUTPUTS, "mono", 0.33); -MACHINE_CONFIG_END +} diff --git a/src/mame/drivers/jonos.cpp b/src/mame/drivers/jonos.cpp index a66a3f783f2..92a767ec09d 100644 --- a/src/mame/drivers/jonos.cpp +++ b/src/mame/drivers/jonos.cpp @@ -175,26 +175,27 @@ static GFXDECODE_START( gfx_jonos ) GFXDECODE_END -MACHINE_CONFIG_START(jonos_state::jonos) +void jonos_state::jonos(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", I8085A, XTAL(16'000'000) / 4) - MCFG_DEVICE_PROGRAM_MAP(jonos_mem) + I8085A(config, m_maincpu, XTAL(16'000'000) / 4); + m_maincpu->set_addrmap(AS_PROGRAM, &jonos_state::jonos_mem); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_UPDATE_DRIVER(jonos_state, screen_update) - MCFG_SCREEN_SIZE(640, 288) - MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 287) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_screen_update(FUNC(jonos_state::screen_update)); + screen.set_size(640, 288); + screen.set_visarea(0, 639, 0, 287); + screen.set_palette("palette"); GFXDECODE(config, "gfxdecode", "palette", gfx_jonos); PALETTE(config, "palette", palette_device::MONOCHROME); generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0)); keyboard.set_keyboard_callback(FUNC(jonos_state::kbd_put)); -MACHINE_CONFIG_END +} /* ROM definition */ diff --git a/src/mame/drivers/joystand.cpp b/src/mame/drivers/joystand.cpp index 7a99bab3e1e..633de6a096e 100644 --- a/src/mame/drivers/joystand.cpp +++ b/src/mame/drivers/joystand.cpp @@ -587,13 +587,13 @@ INTERRUPT_GEN_MEMBER(joystand_state::joystand_interrupt) m_tmp68301->external_interrupt_1(); } -MACHINE_CONFIG_START(joystand_state::joystand) - +void joystand_state::joystand(machine_config &config) +{ // basic machine hardware - MCFG_DEVICE_ADD(m_maincpu, M68000, XTAL(16'000'000)) // !! TMP68301 !! - MCFG_DEVICE_PROGRAM_MAP(joystand_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", joystand_state, joystand_interrupt) - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("tmp68301",tmp68301_device,irq_callback) + M68000(config, m_maincpu, XTAL(16'000'000)); // !! TMP68301 !! + m_maincpu->set_addrmap(AS_PROGRAM, &joystand_state::joystand_map); + m_maincpu->set_vblank_int("screen", FUNC(joystand_state::joystand_interrupt)); + m_maincpu->set_irq_acknowledge_callback("tmp68301", FUNC(tmp68301_device::irq_callback)); TMP68301(config, m_tmp68301, 0); m_tmp68301->set_cputag(m_maincpu); @@ -601,11 +601,11 @@ MACHINE_CONFIG_START(joystand_state::joystand) m_tmp68301->out_parallel_callback().set(FUNC(joystand_state::eeprom_w)); // video hardware - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_UPDATE_DRIVER(joystand_state, screen_update) - MCFG_SCREEN_SIZE(0x200, 0x100) - MCFG_SCREEN_VISIBLE_AREA(0x40, 0x40+0x178-1, 0x10, 0x100-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_screen_update(FUNC(joystand_state::screen_update)); + screen.set_size(0x200, 0x100); + screen.set_visarea(0x40, 0x40+0x178-1, 0x10, 0x100-1); PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x1000); GFXDECODE(config, m_gfxdecode, m_palette, gfx_joystand); @@ -615,11 +615,9 @@ MACHINE_CONFIG_START(joystand_state::joystand) // sound hardware SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ym2413", YM2413, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) + YM2413(config, "ym2413", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 0.80); - MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000) / 16, okim6295_device::PIN7_HIGH) // pin 7 not verified - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + OKIM6295(config, m_oki, XTAL(16'000'000) / 16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.50); // pin 7 not verified // cart TMS_29F040(config, "cart.u1"); @@ -638,7 +636,7 @@ MACHINE_CONFIG_START(joystand_state::joystand) // devices EEPROM_93C46_16BIT(config, "eeprom"); MSM6242(config, "rtc", XTAL(32'768)); -MACHINE_CONFIG_END +} /*************************************************************************** diff --git a/src/mame/drivers/jpmimpct.cpp b/src/mame/drivers/jpmimpct.cpp index c09569d27cc..6db9c4aa5f5 100644 --- a/src/mame/drivers/jpmimpct.cpp +++ b/src/mame/drivers/jpmimpct.cpp @@ -838,9 +838,10 @@ WRITE_LINE_MEMBER(jpmimpct_state::tms_irq) * *************************************/ -MACHINE_CONFIG_START(jpmimpct_state::jpmimpct) - MCFG_DEVICE_ADD("maincpu", M68000, 8000000) - MCFG_DEVICE_PROGRAM_MAP(m68k_program_map) +void jpmimpct_state::jpmimpct(machine_config &config) +{ + M68000(config, m_maincpu, 8000000); + m_maincpu->set_addrmap(AS_PROGRAM, &jpmimpct_state::m68k_program_map); TMS34010(config, m_dsp, 40000000); m_dsp->set_addrmap(AS_PROGRAM, &jpmimpct_state::tms_program_map); @@ -859,19 +860,18 @@ MACHINE_CONFIG_START(jpmimpct_state::jpmimpct) TIMER(config, m_duart_1_timer).configure_generic(FUNC(jpmimpct_state::duart_1_timer_event)); - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(40000000/4, 156*4, 0, 100*4, 328, 0, 300) - MCFG_SCREEN_UPDATE_DEVICE("dsp", tms34010_device, tms340x0_rgb32) - MCFG_PALETTE_ADD("palette", 256) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(40000000/4, 156*4, 0, 100*4, 328, 0, 300); + screen.set_screen_update("dsp", FUNC(tms34010_device::tms340x0_rgb32)); + PALETTE(config, m_palette).set_entries(256); SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("upd", UPD7759) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + UPD7759(config, m_upd7759).add_route(ALL_OUTPUTS, "mono", 0.50); MCFG_VIDEO_START_OVERRIDE(jpmimpct_state,jpmimpct) METERS(config, m_meters, 0).set_number(5); -MACHINE_CONFIG_END +} @@ -1309,9 +1309,10 @@ INPUT_PORTS_END * *************************************/ -MACHINE_CONFIG_START(jpmimpct_state::impctawp) - MCFG_DEVICE_ADD("maincpu",M68000, 8000000) - MCFG_DEVICE_PROGRAM_MAP(awp68k_program_map) +void jpmimpct_state::impctawp(machine_config &config) +{ + M68000(config, m_maincpu, 8000000); + m_maincpu->set_addrmap(AS_PROGRAM, &jpmimpct_state::awp68k_program_map); config.m_minimum_quantum = attotime::from_hz(30000); S16LF01(config, m_vfd); @@ -1329,8 +1330,8 @@ MACHINE_CONFIG_START(jpmimpct_state::impctawp) TIMER(config, m_duart_1_timer).configure_generic(FUNC(jpmimpct_state::duart_1_timer_event)); SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("upd",UPD7759) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + UPD7759(config, m_upd7759).add_route(ALL_OUTPUTS, "mono", 0.50); + config.set_default_layout(layout_jpmimpct); REEL(config, m_reel[0], STARPOINT_48STEP_REEL, 1, 3, 0x09, 4); @@ -1347,9 +1348,7 @@ MACHINE_CONFIG_START(jpmimpct_state::impctawp) m_reel[5]->optic_handler().set(FUNC(jpmimpct_state::reel_optic_cb<5>)); METERS(config, m_meters, 0).set_number(5); - -MACHINE_CONFIG_END - +} /************************************* diff --git a/src/mame/drivers/jpmsru.cpp b/src/mame/drivers/jpmsru.cpp index 6bff4e4c61f..ca601ce3439 100644 --- a/src/mame/drivers/jpmsru.cpp +++ b/src/mame/drivers/jpmsru.cpp @@ -73,17 +73,19 @@ void jpmsru_state::jpmsru_io(address_map &map) static INPUT_PORTS_START( jpmsru ) INPUT_PORTS_END -MACHINE_CONFIG_START(jpmsru_state::jpmsru) +void jpmsru_state::jpmsru(machine_config &config) +{ TMS9980A(config, m_maincpu, MAIN_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &jpmsru_state::jpmsru_map); m_maincpu->set_addrmap(AS_IO, &jpmsru_state::jpmsru_io); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(jpmsru_state::jpmsru_4) +void jpmsru_state::jpmsru_4(machine_config &config) +{ TMS9980A(config, m_maincpu, MAIN_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &jpmsru_state::jpmsru_4_map); m_maincpu->set_addrmap(AS_IO, &jpmsru_state::jpmsru_io); -MACHINE_CONFIG_END +} void jpmsru_state::init_jpmsru() { diff --git a/src/mame/drivers/jpmsys5.cpp b/src/mame/drivers/jpmsys5.cpp index 38f431377b8..6542cc1f317 100644 --- a/src/mame/drivers/jpmsys5.cpp +++ b/src/mame/drivers/jpmsys5.cpp @@ -583,7 +583,8 @@ void jpmsys5v_state::machine_reset() * *************************************/ -MACHINE_CONFIG_START(jpmsys5v_state::jpmsys5v) +void jpmsys5v_state::jpmsys5v(machine_config &config) +{ M68000(config, m_maincpu, 8_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &jpmsys5v_state::m68000_map); @@ -613,25 +614,23 @@ MACHINE_CONFIG_START(jpmsys5v_state::jpmsys5v) S16LF01(config, m_vfd); //for debug ports - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(40'000'000) / 4, 676, 20*4, 147*4, 256, 0, 254) - MCFG_SCREEN_UPDATE_DRIVER(jpmsys5v_state, screen_update_jpmsys5v) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(40'000'000) / 4, 676, 20*4, 147*4, 256, 0, 254); + screen.set_screen_update(FUNC(jpmsys5v_state::screen_update_jpmsys5v)); TMS34061(config, m_tms34061, 0); m_tms34061->set_rowshift(8); /* VRAM address is (row << rowshift) | col */ m_tms34061->set_vram_size(0x40000); m_tms34061->int_callback().set(FUNC(jpmsys5v_state::generate_tms34061_interrupt)); - MCFG_PALETTE_ADD("palette", 16) + PALETTE(config, "palette").set_entries(16); SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("upd7759", UPD7759) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) + UPD7759(config, m_upd7759).add_route(ALL_OUTPUTS, "mono", 0.30); /* Earlier revisions use an SAA1099, but no video card games seem to (?) */ - MCFG_DEVICE_ADD("ym2413", YM2413, 4000000 ) /* Unconfirmed */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) + YM2413(config, "ym2413", 4000000).add_route(ALL_OUTPUTS, "mono", 1.00); /* Unconfirmed */ pia6821_device &pia(PIA6821(config, "6821pia", 0)); pia.readpa_handler().set(FUNC(jpmsys5v_state::u29_porta_r)); @@ -646,7 +645,7 @@ MACHINE_CONFIG_START(jpmsys5v_state::jpmsys5v) ptm.set_external_clocks(0, 0, 0); ptm.o1_callback().set(FUNC(jpmsys5v_state::u26_o1_callback)); ptm.irq_callback().set(FUNC(jpmsys5v_state::ptm_irq)); -MACHINE_CONFIG_END +} READ16_MEMBER(jpmsys5_state::mux_awp_r) { diff --git a/src/mame/drivers/jpmsys7.cpp b/src/mame/drivers/jpmsys7.cpp index eafdcb7fa17..2702f1fc070 100644 --- a/src/mame/drivers/jpmsys7.cpp +++ b/src/mame/drivers/jpmsys7.cpp @@ -56,15 +56,16 @@ void jpmsys7_state::jpmsys7_map(address_map &map) static INPUT_PORTS_START( jpmsys7 ) INPUT_PORTS_END -MACHINE_CONFIG_START(jpmsys7_state::jpmsys7) - MCFG_DEVICE_ADD("maincpu", MCF5206E, 40000000) // seems to be a Coldfire of some kind - MCFG_DEVICE_PROGRAM_MAP(jpmsys7_map) +void jpmsys7_state::jpmsys7(machine_config &config) +{ + MCF5206E(config, m_maincpu, 40000000); // seems to be a Coldfire of some kind + m_maincpu->set_addrmap(AS_PROGRAM, &jpmsys7_state::jpmsys7_map); MCF5206E_PERIPHERAL(config, "maincpu_onboard", 0); SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); /* unknown sound (probably DMA driven DAC) */ -MACHINE_CONFIG_END +} diff --git a/src/mame/drivers/jr200.cpp b/src/mame/drivers/jr200.cpp index 9998844d3c6..4228a4fdd41 100644 --- a/src/mame/drivers/jr200.cpp +++ b/src/mame/drivers/jr200.cpp @@ -539,21 +539,22 @@ void jr200_state::machine_reset() } -MACHINE_CONFIG_START(jr200_state::jr200) +void jr200_state::jr200(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M6802, XTAL(14'318'181) / 4) /* MN1800A, ? Mhz assumption that it is same as JR-100*/ - MCFG_DEVICE_PROGRAM_MAP(jr200_mem) + M6802(config, m_maincpu, XTAL(14'318'181) / 4); /* MN1800A, ? MHz assumption that it is same as JR-100*/ + m_maincpu->set_addrmap(AS_PROGRAM, &jr200_state::jr200_mem); -// MCFG_DEVICE_ADD("mn1544", MN1544, ?) +// MN1544(config, "mn1544", ?); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_SIZE(16 + 256 + 16, 16 + 192 + 16) /* border size not accurate */ - MCFG_SCREEN_VISIBLE_AREA(0, 16 + 256 + 16 - 1, 0, 16 + 192 + 16 - 1) - MCFG_SCREEN_UPDATE_DRIVER(jr200_state, screen_update_jr200) - MCFG_SCREEN_PALETTE(m_palette) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_size(16 + 256 + 16, 16 + 192 + 16); /* border size not accurate */ + screen.set_visarea(0, 16 + 256 + 16 - 1, 0, 16 + 192 + 16 - 1); + screen.set_screen_update(FUNC(jr200_state::screen_update_jr200)); + screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_jr200); PALETTE(config, m_palette, palette_device::BRG_3BIT); @@ -562,9 +563,8 @@ MACHINE_CONFIG_START(jr200_state::jr200) // AY-8910 ? - MCFG_DEVICE_ADD("beeper", BEEP, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS,"mono",0.50) -MACHINE_CONFIG_END + BEEP(config, m_beeper, 0).add_route(ALL_OUTPUTS,"mono",0.50); +} diff --git a/src/mame/drivers/jtc.cpp b/src/mame/drivers/jtc.cpp index dac98da8110..5e9c9bcdb39 100644 --- a/src/mame/drivers/jtc.cpp +++ b/src/mame/drivers/jtc.cpp @@ -834,71 +834,75 @@ MACHINE_CONFIG_START(jtc_state::basic) MCFG_QUICKLOAD_ADD("quickload", jtc_state, jtc, "jtc,bin", attotime::from_seconds(2)) MACHINE_CONFIG_END -MACHINE_CONFIG_START(jtc_state::jtc) +void jtc_state::jtc(machine_config &config) +{ basic(config); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_UPDATE_DRIVER(jtc_state, screen_update) - MCFG_SCREEN_SIZE(64, 64) - MCFG_SCREEN_VISIBLE_AREA(0, 64-1, 0, 64-1) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(50); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_screen_update(FUNC(jtc_state::screen_update)); + screen.set_size(64, 64); + screen.set_visarea(0, 64-1, 0, 64-1); + screen.set_palette("palette"); PALETTE(config, "palette", palette_device::MONOCHROME); /* internal ram */ RAM(config, m_ram).set_default_size("2K"); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(jtces88_state::jtces88) +void jtces88_state::jtces88(machine_config &config) +{ jtc(config); /* internal ram */ m_ram->set_default_size("4K"); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(jtces23_state::jtces23) +void jtces23_state::jtces23(machine_config &config) +{ basic(config); /* basic machine hardware */ m_maincpu->set_addrmap(AS_PROGRAM, &jtces23_state::jtc_es23_mem); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_UPDATE_DRIVER(jtces23_state, screen_update) - MCFG_SCREEN_SIZE(128, 128) - MCFG_SCREEN_VISIBLE_AREA(0, 128-1, 0, 128-1) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(50); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_screen_update(FUNC(jtces23_state::screen_update)); + screen.set_size(128, 128); + screen.set_visarea(0, 128-1, 0, 128-1); + screen.set_palette("palette"); GFXDECODE(config, "gfxdecode", "palette", gfx_jtces23); PALETTE(config, "palette", palette_device::MONOCHROME); /* internal ram */ RAM(config, RAM_TAG).set_default_size("4K"); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(jtces40_state::jtces40) +void jtces40_state::jtces40(machine_config &config) +{ basic(config); /* basic machine hardware */ m_maincpu->set_addrmap(AS_PROGRAM, &jtces40_state::jtc_es40_mem); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_UPDATE_DRIVER(jtces40_state, screen_update) - MCFG_SCREEN_SIZE(320, 192) - MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 192-1) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(50); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_screen_update(FUNC(jtces40_state::screen_update)); + screen.set_size(320, 192); + screen.set_visarea(0, 320-1, 0, 192-1); + screen.set_palette("palette"); GFXDECODE(config, "gfxdecode", "palette", gfx_jtces40); PALETTE(config, "palette", FUNC(jtc_state::es40_palette), 16); /* internal ram */ RAM(config, RAM_TAG).set_default_size("8K").set_extra_options("16K,32K"); -MACHINE_CONFIG_END +} /* ROMs */ diff --git a/src/mame/drivers/jubilee.cpp b/src/mame/drivers/jubilee.cpp index bbb516f507c..799d18ebcaf 100644 --- a/src/mame/drivers/jubilee.cpp +++ b/src/mame/drivers/jubilee.cpp @@ -670,8 +670,8 @@ GFXDECODE_END * Machine Drivers * *************************/ -MACHINE_CONFIG_START(jubilee_state::jubileep) - +void jubilee_state::jubileep(machine_config &config) +{ // Main CPU TMS9980A, no line connections. TMS9980A(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &jubilee_state::jubileep_map); @@ -681,22 +681,22 @@ MACHINE_CONFIG_START(jubilee_state::jubileep) NVRAM(config, "videoworkram", nvram_device::DEFAULT_ALL_0); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(32*8, 32*8) /* (47+1*8, 38+1*8) from CRTC settings */ - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1) /* (32*8, 32*8) from CRTC settings */ - MCFG_SCREEN_UPDATE_DRIVER(jubilee_state, screen_update_jubileep) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(32*8, 32*8); /* (47+1*8, 38+1*8) from CRTC settings */ + screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1); /* (32*8, 32*8) from CRTC settings */ + screen.set_screen_update(FUNC(jubilee_state::screen_update_jubileep)); + screen.set_palette("palette"); GFXDECODE(config, m_gfxdecode, "palette", gfx_jubileep); - MCFG_PALETTE_ADD("palette",8) + PALETTE(config, "palette").set_entries(8); mc6845_device &crtc(MC6845(config, "crtc", CRTC_CLOCK)); crtc.set_screen("screen"); crtc.set_show_border_area(false); crtc.set_char_width(8); -MACHINE_CONFIG_END +} /************************* diff --git a/src/mame/drivers/juicebox.cpp b/src/mame/drivers/juicebox.cpp index df74caac2e2..2e01708869a 100644 --- a/src/mame/drivers/juicebox.cpp +++ b/src/mame/drivers/juicebox.cpp @@ -308,19 +308,19 @@ void juicebox_state::init_juicebox() // do nothing } -MACHINE_CONFIG_START(juicebox_state::juicebox) - MCFG_DEVICE_ADD("maincpu", ARM7, 66000000) - MCFG_DEVICE_PROGRAM_MAP(juicebox_map) - - MCFG_PALETTE_ADD("palette", 32768) +void juicebox_state::juicebox(machine_config &config) +{ + ARM7(config, m_maincpu, 66000000); + m_maincpu->set_addrmap(AS_PROGRAM, &juicebox_state::juicebox_map); - MCFG_SCREEN_ADD("screen", LCD) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_SIZE(240, 160) - MCFG_SCREEN_VISIBLE_AREA(0, 240 - 1, 0, 160 - 1) + PALETTE(config, "palette").set_entries(32768); - MCFG_SCREEN_UPDATE_DEVICE("s3c44b0", s3c44b0_device, video_update) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_size(240, 160); + screen.set_visarea(0, 240 - 1, 0, 160 - 1); + screen.set_screen_update("s3c44b0", FUNC(s3c44b0_device::video_update)); SPEAKER(config, "speaker").front_center(); DAC_16BIT_R2R_TWOS_COMPLEMENT(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // unknown DAC @@ -338,7 +338,7 @@ MACHINE_CONFIG_START(juicebox_state::juicebox) /* software lists */ SOFTWARE_LIST(config, "cart_list").set_original("juicebox"); -MACHINE_CONFIG_END +} static INPUT_PORTS_START( juicebox ) PORT_START( "PORTG" ) diff --git a/src/mame/drivers/jungleyo.cpp b/src/mame/drivers/jungleyo.cpp index b42416e14b7..dc8967d320a 100644 --- a/src/mame/drivers/jungleyo.cpp +++ b/src/mame/drivers/jungleyo.cpp @@ -120,31 +120,31 @@ static GFXDECODE_START( gfx_jungleyo ) GFXDECODE_END -MACHINE_CONFIG_START(jungleyo_state::jungleyo) - - MCFG_DEVICE_ADD("maincpu", M68000, 24_MHz_XTAL / 2) - MCFG_DEVICE_PROGRAM_MAP(jungleyo_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", jungleyo_state, irq1_line_hold) +void jungleyo_state::jungleyo(machine_config &config) +{ + M68000(config, m_maincpu, 24_MHz_XTAL / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &jungleyo_state::jungleyo_map); + m_maincpu->set_vblank_int("screen", FUNC(jungleyo_state::irq1_line_hold)); GFXDECODE(config, m_gfxdecode, "palette", gfx_jungleyo); - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(64*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1) - MCFG_SCREEN_UPDATE_DRIVER(jungleyo_state, screen_update_jungleyo) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(64*8, 32*8); + screen.set_visarea(0*8, 64*8-1, 0*8, 32*8-1); + screen.set_screen_update(FUNC(jungleyo_state::screen_update_jungleyo)); + screen.set_palette("palette"); PALETTE(config, "palette").set_format(palette_device::xRGB_555, 0x200); SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("oki", OKIM6295, 24_MHz_XTAL / 20, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47) -MACHINE_CONFIG_END + okim6295_device &oki(OKIM6295(config, "oki", 24_MHz_XTAL / 20, okim6295_device::PIN7_HIGH)); // clock frequency & pin 7 not verified + oki.add_route(ALL_OUTPUTS, "lspeaker", 0.47); + oki.add_route(ALL_OUTPUTS, "rspeaker", 0.47); +} ROM_START( jungleyo ) diff --git a/src/mame/drivers/jupace.cpp b/src/mame/drivers/jupace.cpp index 5ee07a09601..453a6828dc0 100644 --- a/src/mame/drivers/jupace.cpp +++ b/src/mame/drivers/jupace.cpp @@ -751,21 +751,21 @@ void ace_state::machine_start() //************************************************************************** //------------------------------------------------- -// MACHINE_CONFIG( ace ) +// machine_config( ace ) //------------------------------------------------- MACHINE_CONFIG_START(ace_state::ace) // basic machine hardware - MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(6'500'000)/2) - MCFG_DEVICE_PROGRAM_MAP(ace_mem) - MCFG_DEVICE_IO_MAP(ace_io) + Z80(config, m_maincpu, XTAL(6'500'000)/2); + m_maincpu->set_addrmap(AS_PROGRAM, &ace_state::ace_mem); + m_maincpu->set_addrmap(AS_IO, &ace_state::ace_io); config.m_minimum_quantum = attotime::from_hz(60); // video hardware - MCFG_SCREEN_ADD(SCREEN_TAG, RASTER) - MCFG_SCREEN_UPDATE_DRIVER(ace_state, screen_update) - MCFG_SCREEN_RAW_PARAMS(XTAL(6'500'000), 416, 0, 336, 312, 0, 304) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(ace_state::screen_update)); + screen.set_raw(XTAL(6'500'000), 416, 0, 336, 312, 0, 304); + screen.set_palette("palette"); TIMER(config, "set_irq").configure_scanline(FUNC(ace_state::set_irq), SCREEN_TAG, 31*8, 264); TIMER(config, "clear_irq").configure_scanline(FUNC(ace_state::clear_irq), SCREEN_TAG, 32*8, 264); diff --git a/src/mame/drivers/jupiter.cpp b/src/mame/drivers/jupiter.cpp index e6f57c2018c..06726da0312 100644 --- a/src/mame/drivers/jupiter.cpp +++ b/src/mame/drivers/jupiter.cpp @@ -280,7 +280,7 @@ void jupiter3_state::machine_reset() //************************************************************************** //------------------------------------------------- -// MACHINE_CONFIG( jupiter ) +// machine_config( jupiter ) //------------------------------------------------- void jupiter2_state::jupiter2(machine_config &config) @@ -316,23 +316,24 @@ void jupiter2_state::jupiter2(machine_config &config) //------------------------------------------------- -// MACHINE_CONFIG( jupiter3 ) +// machine_config( jupiter3 ) //------------------------------------------------- -MACHINE_CONFIG_START(jupiter3_state::jupiter3) +void jupiter3_state::jupiter3(machine_config &config) +{ // basic machine hardware - MCFG_DEVICE_ADD(Z80_TAG, Z80, 4000000) - MCFG_DEVICE_PROGRAM_MAP(jupiter3_mem) - MCFG_DEVICE_IO_MAP(jupiter3_io) + Z80(config, m_maincpu, 4000000); + m_maincpu->set_addrmap(AS_PROGRAM, &jupiter3_state::jupiter3_mem); + m_maincpu->set_addrmap(AS_IO, &jupiter3_state::jupiter3_io); // video hardware - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_UPDATE_DRIVER(jupiter3_state, screen_update) - MCFG_SCREEN_SIZE(512, 320) - MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 320-1) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_screen_update(FUNC(jupiter3_state::screen_update)); + screen.set_size(512, 320); + screen.set_visarea(0, 512-1, 0, 320-1); + screen.set_palette("palette"); PALETTE(config, "palette", palette_device::MONOCHROME); @@ -346,7 +347,7 @@ MACHINE_CONFIG_START(jupiter3_state::jupiter3) // internal ram RAM(config, RAM_TAG).set_default_size("64K"); -MACHINE_CONFIG_END +} diff --git a/src/mame/drivers/k1003.cpp b/src/mame/drivers/k1003.cpp index 95a11014fa5..50c42a3ca57 100644 --- a/src/mame/drivers/k1003.cpp +++ b/src/mame/drivers/k1003.cpp @@ -147,15 +147,16 @@ void k1003_state::machine_reset() { } -MACHINE_CONFIG_START(k1003_state::k1003) +void k1003_state::k1003(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu",I8008, 800000) - MCFG_DEVICE_PROGRAM_MAP(k1003_mem) - MCFG_DEVICE_IO_MAP(k1003_io) + I8008(config, m_maincpu, 800000); + m_maincpu->set_addrmap(AS_PROGRAM, &k1003_state::k1003_mem); + m_maincpu->set_addrmap(AS_IO, &k1003_state::k1003_io); /* video hardware */ config.set_default_layout(layout_k1003); -MACHINE_CONFIG_END +} /* ROM definition */ diff --git a/src/mame/drivers/kaneko16.cpp b/src/mame/drivers/kaneko16.cpp index 42b241c5c70..3070854ecf8 100644 --- a/src/mame/drivers/kaneko16.cpp +++ b/src/mame/drivers/kaneko16.cpp @@ -1768,8 +1768,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(kaneko16_state::kaneko16_interrupt) 6-7] rte */ -MACHINE_CONFIG_START(kaneko16_berlwall_state::berlwall) - +void kaneko16_berlwall_state::berlwall(machine_config &config) +{ /* basic machine hardware */ M68000(config, m_maincpu, 12000000); /* MC68000P12 */ m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_berlwall_state::berlwall_map); @@ -1778,13 +1778,13 @@ MACHINE_CONFIG_START(kaneko16_berlwall_state::berlwall) WATCHDOG_TIMER(config, m_watchdog); /* video hardware */ - MCFG_SCREEN_ADD(m_screen, RASTER) -// MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) // mangled sprites otherwise - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(256, 256) - MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 240-1) - MCFG_SCREEN_UPDATE_DRIVER(kaneko16_berlwall_state, screen_update_berlwall) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); +// m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK); // mangled sprites otherwise + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); + m_screen->set_size(256, 256); + m_screen->set_visarea(0, 256-1, 16, 240-1); + m_screen->set_screen_update(FUNC(kaneko16_berlwall_state::screen_update_berlwall)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x4bit_1x4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048); @@ -1817,7 +1817,7 @@ MACHINE_CONFIG_START(kaneko16_berlwall_state::berlwall) OKIM6295(config, m_oki[0], 12000000/6, okim6295_device::PIN7_LOW); m_oki[0]->add_route(ALL_OUTPUTS, "lspeaker", 1.0); m_oki[0]->add_route(ALL_OUTPUTS, "rspeaker", 1.0); -MACHINE_CONFIG_END +} /*************************************************************************** @@ -1830,8 +1830,8 @@ void kaneko16_state::bakubrkr_oki1_map(address_map &map) map(0x20000, 0x3ffff).bankr("okibank1"); } -MACHINE_CONFIG_START(kaneko16_state::bakubrkr) - +void kaneko16_state::bakubrkr(machine_config &config) +{ /* basic machine hardware */ M68000(config, m_maincpu, XTAL(12'000'000)); /* verified on pcb */ m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_state::bakubrkr_map); @@ -1843,14 +1843,14 @@ MACHINE_CONFIG_START(kaneko16_state::bakubrkr) WATCHDOG_TIMER(config, m_watchdog); /* video hardware */ - MCFG_SCREEN_ADD(m_screen, RASTER) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) // mangled sprites otherwise - MCFG_SCREEN_REFRESH_RATE(59) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(256, 256) - MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 240-1) - MCFG_SCREEN_UPDATE_DRIVER(kaneko16_state, screen_update_kaneko16) - MCFG_SCREEN_PALETTE(m_palette) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK); // mangled sprites otherwise + m_screen->set_refresh_hz(59); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); + m_screen->set_size(256, 256); + m_screen->set_visarea(0, 256-1, 16, 240-1); + m_screen->set_screen_update(FUNC(kaneko16_state::screen_update_kaneko16)); + m_screen->set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x4bit_2x4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048); @@ -1885,7 +1885,7 @@ MACHINE_CONFIG_START(kaneko16_state::bakubrkr) OKIM6295(config, m_oki[0], XTAL(12'000'000)/6, okim6295_device::PIN7_HIGH); /* verified on pcb */ m_oki[0]->set_addrmap(0, &kaneko16_state::bakubrkr_oki1_map); m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0); -MACHINE_CONFIG_END +} /*************************************************************************** @@ -1902,8 +1902,8 @@ MACHINE_CONFIG_END 6-7] busy loop */ -MACHINE_CONFIG_START(kaneko16_state::blazeon) - +void kaneko16_state::blazeon(machine_config &config) +{ /* basic machine hardware */ M68000(config, m_maincpu, 12000000); /* TMP68HC000-12 */ m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_state::blazeon_map); @@ -1914,14 +1914,14 @@ MACHINE_CONFIG_START(kaneko16_state::blazeon) m_audiocpu->set_addrmap(AS_IO, &kaneko16_state::blazeon_soundport); /* video hardware */ - MCFG_SCREEN_ADD(m_screen, RASTER) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(320, 240) - MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1 -8) - MCFG_SCREEN_UPDATE_DRIVER(kaneko16_state, screen_update_kaneko16) - MCFG_SCREEN_PALETTE(m_palette) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK); + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); + m_screen->set_size(320, 240); + m_screen->set_visarea(0, 320-1, 0, 240-1 -8); + m_screen->set_screen_update(FUNC(kaneko16_state::screen_update_kaneko16)); + m_screen->set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x4bit_1x4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048); @@ -1950,15 +1950,15 @@ MACHINE_CONFIG_START(kaneko16_state::blazeon) YM2151(config, m_ymsnd, 4000000); m_ymsnd->add_route(0, "lspeaker", 1.0); m_ymsnd->add_route(1, "rspeaker", 1.0); -MACHINE_CONFIG_END +} /*************************************************************************** Wing Force ***************************************************************************/ -MACHINE_CONFIG_START(kaneko16_state::wingforc) - +void kaneko16_state::wingforc(machine_config &config) +{ /* basic machine hardware */ M68000(config, m_maincpu, XTAL(16'000'000)); /* TMP68HC000N-16 */ m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_state::blazeon_map); @@ -1969,14 +1969,14 @@ MACHINE_CONFIG_START(kaneko16_state::wingforc) m_audiocpu->set_addrmap(AS_IO, &kaneko16_state::wingforc_soundport); /* video hardware */ - MCFG_SCREEN_ADD(m_screen, RASTER) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) - MCFG_SCREEN_REFRESH_RATE(59.1854) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(320, 240) - MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1 -16) - MCFG_SCREEN_UPDATE_DRIVER(kaneko16_state, screen_update_kaneko16) - MCFG_SCREEN_PALETTE(m_palette) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK); + m_screen->set_refresh_hz(59.1854); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); + m_screen->set_size(320, 240); + m_screen->set_visarea(0, 320-1, 0, 240-1 -16); + m_screen->set_screen_update(FUNC(kaneko16_state::screen_update_kaneko16)); + m_screen->set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x4bit_1x4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048); @@ -2007,7 +2007,7 @@ MACHINE_CONFIG_START(kaneko16_state::wingforc) OKIM6295(config, m_oki[0], XTAL(16'000'000)/16, okim6295_device::PIN7_HIGH); m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0); m_oki[0]->set_addrmap(0, &kaneko16_state::bakubrkr_oki1_map); -MACHINE_CONFIG_END +} /*************************************************************************** @@ -2035,8 +2035,8 @@ void kaneko16_state::gtmr_oki2_map(address_map &map) map(0x00000, 0x3ffff).bankr("okibank2"); } -MACHINE_CONFIG_START(kaneko16_gtmr_state::gtmr) - +void kaneko16_gtmr_state::gtmr(machine_config &config) +{ /* basic machine hardware */ M68000(config, m_maincpu, XTAL(16'000'000)); /* verified on pcb */ m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_gtmr_state::gtmr_map); @@ -2049,14 +2049,14 @@ MACHINE_CONFIG_START(kaneko16_gtmr_state::gtmr) WATCHDOG_TIMER(config, m_watchdog); /* video hardware */ - MCFG_SCREEN_ADD(m_screen, RASTER) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(320, 240) - MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1) - MCFG_SCREEN_UPDATE_DRIVER(kaneko16_state, screen_update_kaneko16) - MCFG_SCREEN_PALETTE(m_palette) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK); + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); + m_screen->set_size(320, 240); + m_screen->set_visarea(0, 320-1, 0, 240-1); + m_screen->set_screen_update(FUNC(kaneko16_state::screen_update_kaneko16)); + m_screen->set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x8bit_2x4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 32768); @@ -2091,27 +2091,30 @@ MACHINE_CONFIG_START(kaneko16_gtmr_state::gtmr) OKIM6295(config, m_oki[1], XTAL(16'000'000)/8, okim6295_device::PIN7_LOW); /* verified on pcb */ m_oki[1]->add_route(ALL_OUTPUTS, "mono", 0.5); m_oki[1]->set_addrmap(0, &kaneko16_gtmr_state::gtmr_oki2_map); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(kaneko16_gtmr_state::gtmre) +void kaneko16_gtmr_state::gtmre(machine_config &config) +{ gtmr(config); m_toybox->set_table(kaneko_toybox_device::TABLE_ALT); -MACHINE_CONFIG_END +} /*************************************************************************** Great 1000 Miles Rally 2 ***************************************************************************/ -MACHINE_CONFIG_START(kaneko16_gtmr_state::gtmr2) +void kaneko16_gtmr_state::gtmr2(machine_config &config) +{ gtmre(config); m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_gtmr_state::gtmr2_map); -MACHINE_CONFIG_END +} /*************************************************************************** Blood Warrior ***************************************************************************/ -MACHINE_CONFIG_START(kaneko16_gtmr_state::bloodwar) +void kaneko16_gtmr_state::bloodwar(machine_config &config) +{ gtmr(config); /* basic machine hardware */ @@ -2119,7 +2122,7 @@ MACHINE_CONFIG_START(kaneko16_gtmr_state::bloodwar) MCFG_MACHINE_RESET_OVERRIDE(kaneko16_gtmr_state, gtmr) m_kaneko_spr->set_priorities(2 /* never used? */ ,3 /* character selection / vs. portraits */ ,5 /* winning portrait*/ ,7 /* ? */); -MACHINE_CONFIG_END +} @@ -2127,7 +2130,8 @@ MACHINE_CONFIG_END Bonk's Adventure ***************************************************************************/ -MACHINE_CONFIG_START(kaneko16_gtmr_state::bonkadv) +void kaneko16_gtmr_state::bonkadv(machine_config &config) +{ gtmr(config); /* basic machine hardware */ @@ -2138,13 +2142,14 @@ MACHINE_CONFIG_START(kaneko16_gtmr_state::bonkadv) m_toybox->set_game_type(kaneko_toybox_device::GAME_BONK); m_kaneko_hit->set_type(0); -MACHINE_CONFIG_END +} /*************************************************************************** Magical Crystal ***************************************************************************/ -MACHINE_CONFIG_START(kaneko16_state::mgcrystl) +void kaneko16_state::mgcrystl(machine_config &config) +{ /* basic machine hardware */ M68000(config, m_maincpu, XTAL(12'000'000)); /* verified on pcb, TMP68HC000N-12 @U31 and X2 is 12MHz */ m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_state::mgcrystl_map); @@ -2157,14 +2162,14 @@ MACHINE_CONFIG_START(kaneko16_state::mgcrystl) WATCHDOG_TIMER(config, m_watchdog); /* video hardware */ - MCFG_SCREEN_ADD(m_screen, RASTER) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(256, 256) - MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-16-1) - MCFG_SCREEN_UPDATE_DRIVER(kaneko16_state, screen_update_kaneko16) - MCFG_SCREEN_PALETTE(m_palette) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK); + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); + m_screen->set_size(256, 256); + m_screen->set_visarea(0, 256-1, 0+16, 256-16-1); + m_screen->set_screen_update(FUNC(kaneko16_state::screen_update_kaneko16)); + m_screen->set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x4bit_2x4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048); @@ -2198,7 +2203,7 @@ MACHINE_CONFIG_START(kaneko16_state::mgcrystl) OKIM6295(config, m_oki[0], XTAL(12'000'000)/6, okim6295_device::PIN7_HIGH); /* verified on pcb */ m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0); -MACHINE_CONFIG_END +} @@ -2261,8 +2266,8 @@ static const uint16_t shogwarr_default_eeprom[64] = { 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0xFFFF }; -MACHINE_CONFIG_START(kaneko16_shogwarr_state::shogwarr) - +void kaneko16_shogwarr_state::shogwarr(machine_config &config) +{ /* basic machine hardware */ M68000(config, m_maincpu, XTAL(12'000'000)); m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_shogwarr_state::shogwarr_map); @@ -2275,14 +2280,14 @@ MACHINE_CONFIG_START(kaneko16_shogwarr_state::shogwarr) WATCHDOG_TIMER(config, m_watchdog); /* video hardware */ - MCFG_SCREEN_ADD(m_screen, RASTER) - MCFG_SCREEN_REFRESH_RATE(59.1854) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(320, 240) - MCFG_SCREEN_VISIBLE_AREA(40, 296-1, 16, 240-1) - MCFG_SCREEN_UPDATE_DRIVER(kaneko16_state, screen_update_kaneko16) - MCFG_SCREEN_PALETTE(m_palette) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_refresh_hz(59.1854); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); + m_screen->set_size(320, 240); + m_screen->set_visarea(40, 296-1, 16, 240-1); + m_screen->set_screen_update(FUNC(kaneko16_state::screen_update_kaneko16)); + m_screen->set_palette(m_palette); + m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK); GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x4bit_1x4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048); @@ -2315,7 +2320,7 @@ MACHINE_CONFIG_START(kaneko16_shogwarr_state::shogwarr) OKIM6295(config, m_oki[1], XTAL(16'000'000)/8, okim6295_device::PIN7_LOW); m_oki[1]->set_addrmap(0, &kaneko16_shogwarr_state::gtmr_oki2_map); m_oki[1]->add_route(ALL_OUTPUTS, "mono", 1.0); -MACHINE_CONFIG_END +} static const uint16_t brapboys_default_eeprom[64] = { diff --git a/src/mame/drivers/kangaroo.cpp b/src/mame/drivers/kangaroo.cpp index 62fff7f69c5..c0d8de228bf 100644 --- a/src/mame/drivers/kangaroo.cpp +++ b/src/mame/drivers/kangaroo.cpp @@ -418,24 +418,24 @@ INPUT_PORTS_END * *************************************/ -MACHINE_CONFIG_START(kangaroo_state::nomcu) - +void kangaroo_state::nomcu(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK/4) - MCFG_DEVICE_PROGRAM_MAP(main_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", kangaroo_state, irq0_line_hold) + Z80(config, m_maincpu, MASTER_CLOCK/4); + m_maincpu->set_addrmap(AS_PROGRAM, &kangaroo_state::main_map); + m_maincpu->set_vblank_int("screen", FUNC(kangaroo_state::irq0_line_hold)); - MCFG_DEVICE_ADD("audiocpu", Z80, MASTER_CLOCK/8) - MCFG_DEVICE_PROGRAM_MAP(sound_map) - MCFG_DEVICE_IO_MAP(sound_map) // yes, this is identical - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", kangaroo_state, irq0_line_hold) + z80_device &audiocpu(Z80(config, "audiocpu", MASTER_CLOCK/8)); + audiocpu.set_addrmap(AS_PROGRAM, &kangaroo_state::sound_map); + audiocpu.set_addrmap(AS_IO, &kangaroo_state::sound_map); // yes, this is identical + audiocpu.set_vblank_int("screen", FUNC(kangaroo_state::irq0_line_hold)); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_SCANLINE) - MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK, 320*2, 0*2, 256*2, 260, 8, 248) - MCFG_SCREEN_UPDATE_DRIVER(kangaroo_state, screen_update_kangaroo) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_video_attributes(VIDEO_UPDATE_SCANLINE); + screen.set_raw(MASTER_CLOCK, 320*2, 0*2, 256*2, 260, 8, 248); + screen.set_screen_update(FUNC(kangaroo_state::screen_update_kangaroo)); PALETTE(config, m_palette, palette_device::BGR_3BIT); @@ -445,17 +445,17 @@ MACHINE_CONFIG_START(kangaroo_state::nomcu) GENERIC_LATCH_8(config, "soundlatch"); AY8910(config, "aysnd", MASTER_CLOCK/8).add_route(ALL_OUTPUTS, "mono", 0.50); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(kangaroo_state::mcu) +void kangaroo_state::mcu(machine_config &config) +{ nomcu(config); MCFG_MACHINE_START_OVERRIDE(kangaroo_state,kangaroo_mcu) - MCFG_DEVICE_ADD("mcu", MB8841, MASTER_CLOCK/4/2) - MCFG_DEVICE_DISABLE() -MACHINE_CONFIG_END + MB8841(config, "mcu", MASTER_CLOCK/4/2).set_disable(); +} diff --git a/src/mame/drivers/kas89.cpp b/src/mame/drivers/kas89.cpp index 557be24145f..5de1f4a17af 100644 --- a/src/mame/drivers/kas89.cpp +++ b/src/mame/drivers/kas89.cpp @@ -767,17 +767,17 @@ INPUT_PORTS_END * Machine Driver * **************************************/ -MACHINE_CONFIG_START(kas89_state::kas89) - +void kas89_state::kas89(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK/6) /* Confirmed */ - MCFG_DEVICE_PROGRAM_MAP(kas89_map) - MCFG_DEVICE_IO_MAP(kas89_io) + Z80(config, m_maincpu, MASTER_CLOCK/6); /* Confirmed */ + m_maincpu->set_addrmap(AS_PROGRAM, &kas89_state::kas89_map); + m_maincpu->set_addrmap(AS_IO, &kas89_state::kas89_io); TIMER(config, "kas89_nmi").configure_periodic(FUNC(kas89_state::kas89_nmi_cb), attotime::from_hz(138)); - MCFG_DEVICE_ADD("audiocpu", Z80, MASTER_CLOCK/6) /* Confirmed */ - MCFG_DEVICE_PROGRAM_MAP(audio_map) - MCFG_DEVICE_IO_MAP(audio_io) + Z80(config, m_audiocpu, MASTER_CLOCK/6); /* Confirmed */ + m_audiocpu->set_addrmap(AS_PROGRAM, &kas89_state::audio_map); + m_audiocpu->set_addrmap(AS_IO, &kas89_state::audio_io); TIMER(config, "kas89_snmi").configure_periodic(FUNC(kas89_state::kas89_sound_nmi_cb), attotime::from_hz(138)); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); @@ -795,7 +795,7 @@ MACHINE_CONFIG_START(kas89_state::kas89) GENERIC_LATCH_8(config, m_soundlatch); AY8910(config, "aysnd", MASTER_CLOCK/12).add_route(ALL_OUTPUTS, "mono", 1.0); /* Confirmed */ -MACHINE_CONFIG_END +} /************************************** diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp index fe1d2ff8e11..76fad038721 100644 --- a/src/mame/drivers/kaypro.cpp +++ b/src/mame/drivers/kaypro.cpp @@ -293,13 +293,14 @@ MACHINE_CONFIG_START(kaypro_state::kaypro484) MCFG_MACHINE_RESET_OVERRIDE(kaypro_state, kaypro ) /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(80*8, 25*16) - MCFG_SCREEN_VISIBLE_AREA(0,80*8-1,0,25*16-1) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); + m_screen->set_size(80*8, 25*16); + m_screen->set_visarea(0,80*8-1,0,25*16-1); + m_screen->set_screen_update(FUNC(kaypro_state::screen_update_kaypro484)); + MCFG_VIDEO_START_OVERRIDE(kaypro_state, kaypro ) - MCFG_SCREEN_UPDATE_DRIVER(kaypro_state, screen_update_kaypro484) GFXDECODE(config, "gfxdecode", m_palette, gfx_kaypro484); PALETTE(config, m_palette, FUNC(kaypro_state::kaypro_palette), 3); @@ -387,11 +388,11 @@ void kaypro_state::kaypro284(machine_config &config) FLOPPY_CONNECTOR(config, "fdc:1", kaypro_floppies, "525ssdd", floppy_image_device::default_floppy_formats).enable_sound(true); } -MACHINE_CONFIG_START(kaypro_state::omni2) +void kaypro_state::omni2(machine_config &config) +{ kayproiv(config); - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_UPDATE_DRIVER(kaypro_state, screen_update_omni2) -MACHINE_CONFIG_END + m_screen->set_screen_update(FUNC(kaypro_state::screen_update_omni2)); +} void kaypro_state::init_kaypro() { diff --git a/src/mame/drivers/kickgoal.cpp b/src/mame/drivers/kickgoal.cpp index 91af2885e69..4520698d0c7 100644 --- a/src/mame/drivers/kickgoal.cpp +++ b/src/mame/drivers/kickgoal.cpp @@ -418,12 +418,12 @@ WRITE16_MEMBER(kickgoal_state::to_pic_w) -MACHINE_CONFIG_START(kickgoal_state::kickgoal) - +void kickgoal_state::kickgoal(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M68000, XTAL(12'000'000)) /* 12 MHz */ - MCFG_DEVICE_PROGRAM_MAP(kickgoal_program_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", kickgoal_state, irq6_line_hold) + M68000(config, m_maincpu, XTAL(12'000'000)); /* 12 MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &kickgoal_state::kickgoal_program_map); + m_maincpu->set_vblank_int("screen", FUNC(kickgoal_state::irq6_line_hold)); PIC16C57(config, m_audiocpu, XTAL(12'000'000)/3); /* 4MHz ? */ m_audiocpu->write_a().set(FUNC(kickgoal_state::soundio_port_a_w)); @@ -437,13 +437,13 @@ MACHINE_CONFIG_START(kickgoal_state::kickgoal) EEPROM_93C46_16BIT(config, "eeprom").default_data(kickgoal_default_eeprom_type1, 128); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(64*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(9*8, 55*8-1, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(kickgoal_state, screen_update_kickgoal) - MCFG_SCREEN_PALETTE(m_palette) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(64*8, 32*8); + screen.set_visarea(9*8, 55*8-1, 2*8, 30*8-1); + screen.set_screen_update(FUNC(kickgoal_state::screen_update_kickgoal)); + screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_kickgoal); PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 1024); @@ -455,32 +455,32 @@ MACHINE_CONFIG_START(kickgoal_state::kickgoal) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(12'000'000)/12, okim6295_device::PIN7_LOW) - MCFG_DEVICE_ADDRESS_MAP(0, oki_map) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(kickgoal_state::actionhw) + OKIM6295(config, m_oki, XTAL(12'000'000)/12, okim6295_device::PIN7_LOW); + m_oki->set_addrmap(0, &kickgoal_state::oki_map); + m_oki->add_route(ALL_OUTPUTS, "mono", 0.80); +} +void kickgoal_state::actionhw(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M68000, XTAL(12'000'000)) /* verified on pcb */ - MCFG_DEVICE_PROGRAM_MAP(kickgoal_program_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", kickgoal_state, irq6_line_hold) + M68000(config, m_maincpu, XTAL(12'000'000)); /* verified on pcb */ + m_maincpu->set_addrmap(AS_PROGRAM, &kickgoal_state::kickgoal_program_map); + m_maincpu->set_vblank_int("screen", FUNC(kickgoal_state::irq6_line_hold)); - MCFG_DEVICE_ADD("audiocpu", PIC16C57, XTAL(12'000'000)/3) /* verified on pcb */ - MCFG_DEVICE_DISABLE() /* Disabled since the internal rom isn't dumped */ + PIC16C57(config, m_audiocpu, XTAL(12'000'000)/3); /* verified on pcb */ + m_audiocpu->set_disable(); /* Disabled since the internal rom isn't dumped */ /* Program and Data Maps are internal to the MCU */ EEPROM_93C46_16BIT(config, "eeprom").default_data(kickgoal_default_eeprom_type1, 128); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(64*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(10*8+2, 54*8-1+2, 0*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(kickgoal_state, screen_update_kickgoal) - MCFG_SCREEN_PALETTE(m_palette) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(64*8, 32*8); + screen.set_visarea(10*8+2, 54*8-1+2, 0*8, 30*8-1); + screen.set_screen_update(FUNC(kickgoal_state::screen_update_kickgoal)); + screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_actionhw); PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 1024); @@ -492,10 +492,10 @@ MACHINE_CONFIG_START(kickgoal_state::actionhw) GENERIC_LATCH_8(config, "soundlatch"); - MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH) /* verified on pcb */ - MCFG_DEVICE_ADDRESS_MAP(0, oki_map) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) -MACHINE_CONFIG_END + OKIM6295(config, m_oki, XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH); /* verified on pcb */ + m_oki->set_addrmap(0, &kickgoal_state::oki_map); + m_oki->add_route(ALL_OUTPUTS, "mono", 0.80); +} diff --git a/src/mame/drivers/kingdrby.cpp b/src/mame/drivers/kingdrby.cpp index d88e8a89274..7a83fb6ab7c 100644 --- a/src/mame/drivers/kingdrby.cpp +++ b/src/mame/drivers/kingdrby.cpp @@ -964,21 +964,22 @@ void kingdrby_state::kingdrbb_palette(palette_device &palette) const } } -MACHINE_CONFIG_START(kingdrby_state::kingdrby) - MCFG_DEVICE_ADD("master", Z80, CLK_2) - MCFG_DEVICE_PROGRAM_MAP(master_map) - MCFG_DEVICE_IO_MAP(master_io_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", kingdrby_state, irq0_line_hold) - - MCFG_DEVICE_ADD("slave", Z80, CLK_2) - MCFG_DEVICE_PROGRAM_MAP(slave_map) - MCFG_DEVICE_IO_MAP(slave_io_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", kingdrby_state, irq0_line_hold) - - MCFG_DEVICE_ADD("soundcpu", Z80, CLK_2) - MCFG_DEVICE_PROGRAM_MAP(sound_map) - MCFG_DEVICE_IO_MAP(sound_io_map) - MCFG_DEVICE_PERIODIC_INT_DRIVER(kingdrby_state, irq0_line_hold, 1000) /* guess, controls ay8910 tempo.*/ +void kingdrby_state::kingdrby(machine_config &config) +{ + z80_device &master(Z80(config, "master", CLK_2)); + master.set_addrmap(AS_PROGRAM, &kingdrby_state::master_map); + master.set_addrmap(AS_IO, &kingdrby_state::master_io_map); + master.set_vblank_int("screen", FUNC(kingdrby_state::irq0_line_hold)); + + z80_device &slave(Z80(config, "slave", CLK_2)); + slave.set_addrmap(AS_PROGRAM, &kingdrby_state::slave_map); + slave.set_addrmap(AS_IO, &kingdrby_state::slave_io_map); + slave.set_vblank_int("screen", FUNC(kingdrby_state::irq0_line_hold)); + + Z80(config, m_soundcpu, CLK_2); + m_soundcpu->set_addrmap(AS_PROGRAM, &kingdrby_state::sound_map); + m_soundcpu->set_addrmap(AS_IO, &kingdrby_state::sound_io_map); + m_soundcpu->set_periodic_int(FUNC(kingdrby_state::irq0_line_hold), attotime::from_hz(1000)); /* guess, controls ay8910 tempo.*/ config.m_perfect_cpu_quantum = subtag("master"); @@ -1000,13 +1001,13 @@ MACHINE_CONFIG_START(kingdrby_state::kingdrby) GFXDECODE(config, m_gfxdecode, m_palette, gfx_kingdrby); PALETTE(config, m_palette, FUNC(kingdrby_state::kingdrby_palette), 0x200); - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_SIZE(256, 256) - MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 224-1) /* controlled by CRTC */ - MCFG_SCREEN_UPDATE_DRIVER(kingdrby_state, screen_update_kingdrby) - MCFG_SCREEN_PALETTE(m_palette) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_size(256, 256); + screen.set_visarea(0, 256-1, 0, 224-1); /* controlled by CRTC */ + screen.set_screen_update(FUNC(kingdrby_state::screen_update_kingdrby)); + screen.set_palette(m_palette); mc6845_device &crtc(MC6845(config, "crtc", CLK_1/32)); /* 53.333 Hz. guess */ crtc.set_screen("screen"); @@ -1018,13 +1019,13 @@ MACHINE_CONFIG_START(kingdrby_state::kingdrby) ay8910_device &aysnd(AY8910(config, "aysnd", CLK_1/8)); /* guess */ aysnd.port_a_read_callback().set(FUNC(kingdrby_state::sound_cmd_r)); aysnd.add_route(ALL_OUTPUTS, "mono", 0.25); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(kingdrby_state::kingdrbb) +void kingdrby_state::kingdrbb(machine_config &config) +{ kingdrby(config); - MCFG_DEVICE_MODIFY("slave") - MCFG_DEVICE_PROGRAM_MAP(slave_1986_map) + subdevice<z80_device>("slave")->set_addrmap(AS_PROGRAM, &kingdrby_state::slave_1986_map); m_palette->set_init(FUNC(kingdrby_state::kingdrbb_palette)); @@ -1044,26 +1045,26 @@ MACHINE_CONFIG_START(kingdrby_state::kingdrbb) m_ppi[1]->out_pa_callback().set_nop(); m_ppi[1]->out_pb_callback().set_nop(); m_ppi[1]->out_pc_callback().set_nop(); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(kingdrby_state::cowrace) +void kingdrby_state::cowrace(machine_config &config) +{ kingdrbb(config); - MCFG_DEVICE_MODIFY("soundcpu") - MCFG_DEVICE_PROGRAM_MAP(cowrace_sound_map) - MCFG_DEVICE_IO_MAP(cowrace_sound_io) + m_soundcpu->set_addrmap(AS_PROGRAM, &kingdrby_state::cowrace_sound_map); + m_soundcpu->set_addrmap(AS_IO, &kingdrby_state::cowrace_sound_io); m_gfxdecode->set_info(gfx_cowrace); m_palette->set_init(FUNC(kingdrby_state::kingdrby_palette)); - MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) + + OKIM6295(config, "oki", 1056000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.80); // clock frequency & pin 7 not verified ym2203_device &aysnd(YM2203(config.replace(), "aysnd", 3000000)); aysnd.port_a_read_callback().set(FUNC(kingdrby_state::sound_cmd_r)); aysnd.port_b_read_callback().set("oki", FUNC(okim6295_device::read)); aysnd.port_b_write_callback().set("oki", FUNC(okim6295_device::write)); aysnd.add_route(ALL_OUTPUTS, "mono", 0.80); -MACHINE_CONFIG_END +} ROM_START( kingdrby ) ROM_REGION( 0x3000, "master", 0 ) diff --git a/src/mame/drivers/kingobox.cpp b/src/mame/drivers/kingobox.cpp index c9397f5e376..575bd849403 100644 --- a/src/mame/drivers/kingobox.cpp +++ b/src/mame/drivers/kingobox.cpp @@ -462,8 +462,8 @@ void kingofb_state::machine_reset() kingofb_f800_w(0); // LS174 reset } -MACHINE_CONFIG_START(kingofb_state::kingofb) - +void kingofb_state::kingofb(machine_config &config) +{ /* basic machine hardware */ Z80(config, m_maincpu, 4000000); // 4.0 MHz m_maincpu->set_addrmap(AS_PROGRAM, &kingofb_state::kingobox_map); @@ -489,14 +489,14 @@ MACHINE_CONFIG_START(kingofb_state::kingofb) /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - 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(kingofb_state, screen_update_kingofb) - MCFG_SCREEN_PALETTE(m_palette) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("nmigate", input_merger_device, in_w<0>)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); + screen.set_size(32*8, 32*8); + screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1); + screen.set_screen_update(FUNC(kingofb_state::screen_update_kingofb)); + screen.set_palette(m_palette); + screen.screen_vblank().set(m_nmigate, FUNC(input_merger_device::in_w<0>)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_kingobox); PALETTE(config, m_palette, FUNC(kingofb_state::kingofb_palette), 256+8*2, 256+8); @@ -515,12 +515,12 @@ MACHINE_CONFIG_START(kingofb_state::kingofb) voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); -MACHINE_CONFIG_END +} /* Ring King */ -MACHINE_CONFIG_START(kingofb_state::ringking) - +void kingofb_state::ringking(machine_config &config) +{ /* basic machine hardware */ Z80(config, m_maincpu, 4000000); // 4.0 MHz m_maincpu->set_addrmap(AS_PROGRAM, &kingofb_state::ringking_map); @@ -546,14 +546,14 @@ MACHINE_CONFIG_START(kingofb_state::ringking) /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - 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(kingofb_state, screen_update_ringking) - MCFG_SCREEN_PALETTE(m_palette) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("nmigate", input_merger_device, in_w<0>)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); + screen.set_size(32*8, 32*8); + screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1); + screen.set_screen_update(FUNC(kingofb_state::screen_update_ringking)); + screen.set_palette(m_palette); + screen.screen_vblank().set(m_nmigate, FUNC(input_merger_device::in_w<0>)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_rk); PALETTE(config, m_palette, FUNC(kingofb_state::ringking_palette), 256+8*2, 256+8); @@ -572,7 +572,7 @@ MACHINE_CONFIG_START(kingofb_state::ringking) voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); -MACHINE_CONFIG_END +} /*************************************************************************** diff --git a/src/mame/drivers/kncljoe.cpp b/src/mame/drivers/kncljoe.cpp index e2568b09ff9..74d90fec1c6 100644 --- a/src/mame/drivers/kncljoe.cpp +++ b/src/mame/drivers/kncljoe.cpp @@ -249,12 +249,12 @@ void kncljoe_state::machine_reset() m_flipscreen = 0; } -MACHINE_CONFIG_START(kncljoe_state::kncljoe) - +void kncljoe_state::kncljoe(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(6'000'000)) /* verified on pcb */ - MCFG_DEVICE_PROGRAM_MAP(main_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", kncljoe_state, irq0_line_hold) + Z80(config, m_maincpu, XTAL(6'000'000)); /* verified on pcb */ + m_maincpu->set_addrmap(AS_PROGRAM, &kncljoe_state::main_map); + m_maincpu->set_vblank_int("screen", FUNC(kncljoe_state::irq0_line_hold)); m6803_cpu_device &soundcpu(M6803(config, "soundcpu", XTAL(3'579'545))); /* verified on pcb */ soundcpu.set_addrmap(AS_PROGRAM, &kncljoe_state::sound_map); @@ -265,14 +265,14 @@ MACHINE_CONFIG_START(kncljoe_state::kncljoe) soundcpu.set_periodic_int(FUNC(kncljoe_state::sound_nmi), attotime::from_hz((double)3970)); //measured 3.970 kHz /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(1500)) - MCFG_SCREEN_SIZE(32*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 0*8, 32*8-1) - MCFG_SCREEN_UPDATE_DRIVER(kncljoe_state, screen_update_kncljoe) - MCFG_SCREEN_PALETTE(m_palette) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK); + m_screen->set_refresh_hz(60); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(1500)); + m_screen->set_size(32*8, 32*8); + m_screen->set_visarea(1*8, 31*8-1, 0*8, 32*8-1); + m_screen->set_screen_update(FUNC(kncljoe_state::screen_update_kncljoe)); + m_screen->set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_kncljoe); PALETTE(config, m_palette, FUNC(kncljoe_state::kncljoe_palette), 16*8+16*8, 128+16); @@ -287,12 +287,10 @@ MACHINE_CONFIG_START(kncljoe_state::kncljoe) m_ay8910->port_b_write_callback().set(FUNC(kncljoe_state::unused_w)); m_ay8910->add_route(ALL_OUTPUTS, "mono", 0.30); - MCFG_DEVICE_ADD("sn1", SN76489, XTAL(3'579'545)) /* verified on pcb */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) + SN76489(config, "sn1", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 0.30); /* verified on pcb */ - MCFG_DEVICE_ADD("sn2", SN76489, XTAL(3'579'545)) /* verified on pcb */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) -MACHINE_CONFIG_END + SN76489(config, "sn2", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 0.30); /* verified on pcb */ +} diff --git a/src/mame/drivers/koftball.cpp b/src/mame/drivers/koftball.cpp index faf83ce687e..2b1c1658888 100644 --- a/src/mame/drivers/koftball.cpp +++ b/src/mame/drivers/koftball.cpp @@ -238,20 +238,21 @@ static GFXDECODE_START( gfx_koftball ) GFXDECODE_END -MACHINE_CONFIG_START(koftball_state::koftball) - MCFG_DEVICE_ADD("maincpu", M68000, XTAL(21'477'272) / 2) - MCFG_DEVICE_PROGRAM_MAP(koftball_mem) +void koftball_state::koftball(machine_config &config) +{ + M68000(config, m_maincpu, XTAL(21'477'272) / 2); + m_maincpu->set_addrmap(AS_PROGRAM, &koftball_state::koftball_mem); TIMER(config, "scantimer").configure_scanline(FUNC(koftball_state::bmc_interrupt), "screen", 0, 1); - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_UPDATE_DRIVER(koftball_state, screen_update_koftball) - MCFG_SCREEN_SIZE(64*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 30*8-1) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); + screen.set_screen_update(FUNC(koftball_state::screen_update_koftball)); + screen.set_size(64*8, 32*8); + screen.set_visarea(0*8, 64*8-1, 0*8, 30*8-1); + screen.set_palette(m_palette); - MCFG_PALETTE_ADD("palette", 256) + PALETTE(config, m_palette).set_entries(256); ramdac_device &ramdac(RAMDAC(config, "ramdac", 0, m_palette)); ramdac.set_addrmap(0, &koftball_state::ramdac_map); @@ -260,14 +261,14 @@ MACHINE_CONFIG_START(koftball_state::koftball) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymsnd", YM2413, XTAL(3'579'545)) // guessed chip type, clock not verified - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50) + ym2413_device &ymsnd(YM2413(config, "ymsnd", XTAL(3'579'545))); // guessed chip type, clock not verified + ymsnd.add_route(ALL_OUTPUTS, "lspeaker", 0.50); + ymsnd.add_route(ALL_OUTPUTS, "rspeaker", 0.50); - MCFG_DEVICE_ADD("oki", OKIM6295, 1122000, okim6295_device::PIN7_LOW) /* clock frequency & pin 7 not verified */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50) -MACHINE_CONFIG_END + okim6295_device &oki(OKIM6295(config, "oki", 1122000, okim6295_device::PIN7_LOW)); /* clock frequency & pin 7 not verified */ + oki.add_route(ALL_OUTPUTS, "lspeaker", 0.50); + oki.add_route(ALL_OUTPUTS, "rspeaker", 0.50); +} ROM_START( koftball ) ROM_REGION( 0x200000, "maincpu", 0 ) /* 68000 Code */ diff --git a/src/mame/drivers/koikoi.cpp b/src/mame/drivers/koikoi.cpp index 51eb86d950f..e2ee71ee3a5 100644 --- a/src/mame/drivers/koikoi.cpp +++ b/src/mame/drivers/koikoi.cpp @@ -354,23 +354,23 @@ void koikoi_state::machine_reset() m_ioram[i] = 0; } -MACHINE_CONFIG_START(koikoi_state::koikoi) - +void koikoi_state::koikoi(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80,KOIKOI_CRYSTAL/4) /* ?? */ - MCFG_DEVICE_PROGRAM_MAP(koikoi_map) - MCFG_DEVICE_IO_MAP(koikoi_io_map) + Z80(config, m_maincpu, KOIKOI_CRYSTAL/4); /* ?? */ + m_maincpu->set_addrmap(AS_PROGRAM, &koikoi_state::koikoi_map); + m_maincpu->set_addrmap(AS_IO, &koikoi_state::koikoi_io_map); /* video hardware */ - MCFG_SCREEN_ADD("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, 0*8, 32*8-1) - MCFG_SCREEN_UPDATE_DRIVER(koikoi_state, screen_update_koikoi) - MCFG_SCREEN_PALETTE("palette") - MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(32*8, 32*8); + screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1); + screen.set_screen_update(FUNC(koikoi_state::screen_update_koikoi)); + screen.set_palette("palette"); + screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); GFXDECODE(config, m_gfxdecode, "palette", gfx_koikoi); PALETTE(config, "palette", FUNC(koikoi_state::koikoi_palette), 8 * 32, 16); @@ -382,7 +382,7 @@ MACHINE_CONFIG_START(koikoi_state::koikoi) aysnd.port_b_read_callback().set(FUNC(koikoi_state::input_r)); aysnd.port_a_write_callback().set(FUNC(koikoi_state::unknown_w)); aysnd.add_route(ALL_OUTPUTS, "mono", 0.10); -MACHINE_CONFIG_END +} /************************************* diff --git a/src/mame/drivers/konamigv.cpp b/src/mame/drivers/konamigv.cpp index 1dcd966349e..664108f51cc 100644 --- a/src/mame/drivers/konamigv.cpp +++ b/src/mame/drivers/konamigv.cpp @@ -506,10 +506,10 @@ WRITE16_MEMBER(simpbowl_state::flash_w) } } -MACHINE_CONFIG_START(simpbowl_state::simpbowl) +void simpbowl_state::simpbowl(machine_config &config) +{ konamigv(config); - MCFG_DEVICE_MODIFY( "maincpu" ) - MCFG_DEVICE_PROGRAM_MAP( simpbowl_map ) + m_maincpu->set_addrmap(AS_PROGRAM, &simpbowl_state::simpbowl_map); FUJITSU_29F016A(config, "flash0"); FUJITSU_29F016A(config, "flash1"); @@ -519,7 +519,7 @@ MACHINE_CONFIG_START(simpbowl_state::simpbowl) upd4701_device &upd(UPD4701A(config, "upd")); upd.set_portx_tag("TRACK0_X"); upd.set_porty_tag("TRACK0_Y"); -MACHINE_CONFIG_END +} static INPUT_PORTS_START( simpbowl ) PORT_INCLUDE( konamigv ) @@ -546,10 +546,10 @@ WRITE16_MEMBER(konamigv_state::btc_trackball_w) } } -MACHINE_CONFIG_START(konamigv_state::btchamp) +void konamigv_state::btchamp(machine_config &config) +{ konamigv(config); - MCFG_DEVICE_MODIFY( "maincpu" ) - MCFG_DEVICE_PROGRAM_MAP( btchamp_map ) + m_maincpu->set_addrmap(AS_PROGRAM, &konamigv_state::btchamp_map); SHARP_LH28F400(config, "flash"); @@ -560,7 +560,7 @@ MACHINE_CONFIG_START(konamigv_state::btchamp) UPD4701A(config, m_btc_trackball[1]); m_btc_trackball[1]->set_portx_tag("TRACK1_X"); m_btc_trackball[1]->set_porty_tag("TRACK1_Y"); -MACHINE_CONFIG_END +} static INPUT_PORTS_START( btchamp ) PORT_INCLUDE( konamigv ) @@ -604,11 +604,11 @@ WRITE16_MEMBER(konamigv_state::tokimeki_serial_w) } -MACHINE_CONFIG_START(konamigv_state::tmosh) +void konamigv_state::tmosh(machine_config &config) +{ konamigv(config); - MCFG_DEVICE_MODIFY( "maincpu" ) - MCFG_DEVICE_PROGRAM_MAP( tmosh_map ) -MACHINE_CONFIG_END + m_maincpu->set_addrmap(AS_PROGRAM, &konamigv_state::tmosh_map); +} /* Dead Eye @@ -620,13 +620,13 @@ CD: A01 */ -MACHINE_CONFIG_START(konamigv_state::kdeadeye) +void konamigv_state::kdeadeye(machine_config &config) +{ konamigv(config); - MCFG_DEVICE_MODIFY( "maincpu" ) - MCFG_DEVICE_PROGRAM_MAP( kdeadeye_map ) + m_maincpu->set_addrmap(AS_PROGRAM, &konamigv_state::kdeadeye_map); SHARP_LH28F400(config, "flash"); -MACHINE_CONFIG_END +} static INPUT_PORTS_START( kdeadeye ) PORT_INCLUDE( konamigv ) diff --git a/src/mame/drivers/konamigx.cpp b/src/mame/drivers/konamigx.cpp index 50e33254c5c..565a2837f3d 100644 --- a/src/mame/drivers/konamigx.cpp +++ b/src/mame/drivers/konamigx.cpp @@ -1645,7 +1645,7 @@ void konamigx_state::konamigx(machine_config &config) /* These parameters are actual value written to the CCU. tbyahhoo attract mode desync is caused by another matter. */ - //MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(600)) + //MCFG_SCREEN_vblank_time(ATTOSECONDS_IN_USEC(600)) // TODO: WTF, without these most games crashes? Some legacy call in video code??? m_screen->set_size(1024, 1024); m_screen->set_visarea(24, 24+288-1, 16, 16+224-1); diff --git a/src/mame/drivers/konendev.cpp b/src/mame/drivers/konendev.cpp index 2708b198fe7..d61bef2d23a 100644 --- a/src/mame/drivers/konendev.cpp +++ b/src/mame/drivers/konendev.cpp @@ -304,22 +304,23 @@ INTERRUPT_GEN_MEMBER(konendev_state::vbl_interrupt) device.execute().set_input_line(INPUT_LINE_IRQ3, ASSERT_LINE); } -MACHINE_CONFIG_START(konendev_state::konendev) +void konendev_state::konendev(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", PPC403GCX, 32000000) // Clock unknown - MCFG_DEVICE_PROGRAM_MAP(konendev_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", konendev_state, vbl_interrupt) + PPC403GCX(config, m_maincpu, 32000000); // Clock unknown + m_maincpu->set_addrmap(AS_PROGRAM, &konendev_state::konendev_map); + m_maincpu->set_vblank_int("screen", FUNC(konendev_state::vbl_interrupt)); /* video hardware */ PALETTE(config, "palette", palette_device::RGB_555); - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // Not accurate - MCFG_SCREEN_SIZE(640, 480) - MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479) - MCFG_SCREEN_UPDATE_DRIVER(konendev_state, screen_update) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // Not accurate + screen.set_size(640, 480); + screen.set_visarea(0, 639, 0, 479); + screen.set_screen_update(FUNC(konendev_state::screen_update)); + screen.set_palette("palette"); K057714(config, m_gcu, 0); m_gcu->irq_callback().set(FUNC(konendev_state::gcu_interrupt)); @@ -333,10 +334,10 @@ MACHINE_CONFIG_START(konendev_state::konendev) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymz", YMZ280B, 16934400) // Clock unknown - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) -MACHINE_CONFIG_END + ymz280b_device &ymz(YMZ280B(config, "ymz", 16934400)); // Clock unknown + ymz.add_route(0, "lspeaker", 1.0); + ymz.add_route(1, "rspeaker", 1.0); +} /* Interesting sets */ diff --git a/src/mame/drivers/konmedal68k.cpp b/src/mame/drivers/konmedal68k.cpp index 38286a57418..7b562fa8655 100644 --- a/src/mame/drivers/konmedal68k.cpp +++ b/src/mame/drivers/konmedal68k.cpp @@ -294,20 +294,21 @@ void konmedal68k_state::machine_reset() m_control = m_control2 = 0; } -MACHINE_CONFIG_START(konmedal68k_state::kzaurus) +void konmedal68k_state::kzaurus(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", M68000, XTAL(33'868'800)/4 ) // 33.8688 MHz crystal verified on PCB - MCFG_DEVICE_PROGRAM_MAP(kzaurus_main) + M68000(config, m_maincpu, XTAL(33'868'800)/4); // 33.8688 MHz crystal verified on PCB + m_maincpu->set_addrmap(AS_PROGRAM, &konmedal68k_state::kzaurus_main); TIMER(config, "scantimer").configure_scanline(FUNC(konmedal68k_state::scanline), "screen", 0, 1); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(59.62) /* verified on pcb */ - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(64*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(40, 400-1, 16, 240-1) - MCFG_SCREEN_UPDATE_DRIVER(konmedal68k_state, screen_update_konmedal68k) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(59.62); /* verified on pcb */ + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(64*8, 32*8); + screen.set_visarea(40, 400-1, 16, 240-1); + screen.set_screen_update(FUNC(konmedal68k_state::screen_update_konmedal68k)); + screen.set_palette("palette"); PALETTE(config, "palette").set_format(palette_device::xBGR_888, 8192).enable_shadows(); @@ -322,10 +323,10 @@ MACHINE_CONFIG_START(konmedal68k_state::kzaurus) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ymz", YMZ280B, XTAL(33'868'800)/2) // 33.8688 MHz xtal verified on PCB - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) -MACHINE_CONFIG_END + YMZ280B(config, m_ymz, XTAL(33'868'800)/2); // 33.8688 MHz xtal verified on PCB + m_ymz->add_route(0, "lspeaker", 1.0); + m_ymz->add_route(1, "rspeaker", 1.0); +} ROM_START( kzaurus ) ROM_REGION( 0x80000, "maincpu", 0 ) /* main program */ diff --git a/src/mame/drivers/kontest.cpp b/src/mame/drivers/kontest.cpp index d3c8fc47410..2bf98250613 100644 --- a/src/mame/drivers/kontest.cpp +++ b/src/mame/drivers/kontest.cpp @@ -254,21 +254,21 @@ void kontest_state::machine_reset() m_control = 0; } -MACHINE_CONFIG_START(kontest_state::kontest) - +void kontest_state::kontest(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80,MAIN_CLOCK/8) - MCFG_DEVICE_PROGRAM_MAP(kontest_map) - MCFG_DEVICE_IO_MAP(kontest_io) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", kontest_state, kontest_interrupt) + Z80(config, m_maincpu, MAIN_CLOCK/8); + m_maincpu->set_addrmap(AS_PROGRAM, &kontest_state::kontest_map); + m_maincpu->set_addrmap(AS_IO, &kontest_state::kontest_io); + m_maincpu->set_vblank_int("screen", FUNC(kontest_state::kontest_interrupt)); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_UPDATE_DRIVER(kontest_state, screen_update) - MCFG_SCREEN_SIZE(32*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_screen_update(FUNC(kontest_state::screen_update)); + screen.set_size(32*8, 32*8); + screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1); PALETTE(config, m_palette, FUNC(kontest_state::kontest_palette), 32); @@ -276,12 +276,10 @@ MACHINE_CONFIG_START(kontest_state::kontest) SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("sn1", SN76489A, MAIN_CLOCK/16) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50) + SN76489A(config, "sn1", MAIN_CLOCK/16).add_route(ALL_OUTPUTS, "rspeaker", 0.50); - MCFG_DEVICE_ADD("sn2", SN76489A, MAIN_CLOCK/16) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) -MACHINE_CONFIG_END + SN76489A(config, "sn2", MAIN_CLOCK/16).add_route(ALL_OUTPUTS, "lspeaker", 0.50); +} /*************************************************************************** diff --git a/src/mame/drivers/kopunch.cpp b/src/mame/drivers/kopunch.cpp index 7de29871fa1..f846590101a 100644 --- a/src/mame/drivers/kopunch.cpp +++ b/src/mame/drivers/kopunch.cpp @@ -233,13 +233,13 @@ void kopunch_state::machine_start() save_item(NAME(m_scrollx)); } -MACHINE_CONFIG_START(kopunch_state::kopunch) - +void kopunch_state::kopunch(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", I8085A, 4000000) // 4 MHz? - MCFG_DEVICE_PROGRAM_MAP(kopunch_map) - MCFG_DEVICE_IO_MAP(kopunch_io_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", kopunch_state, vblank_interrupt) + I8085A(config, m_maincpu, 4000000); // 4 MHz? + m_maincpu->set_addrmap(AS_PROGRAM, &kopunch_state::kopunch_map); + m_maincpu->set_addrmap(AS_IO, &kopunch_state::kopunch_io_map); + m_maincpu->set_vblank_int("screen", FUNC(kopunch_state::vblank_interrupt)); i8255_device &ppi0(I8255A(config, "ppi8255_0")); // $30 - always $9b (PPI mode 0, ports A & B & C as input) @@ -267,20 +267,20 @@ MACHINE_CONFIG_START(kopunch_state::kopunch) ppi3.out_pc_callback().set(FUNC(kopunch_state::gfxbank_w)); /* video hardware */ - MCFG_SCREEN_ADD("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, 28*8-1) - MCFG_SCREEN_UPDATE_DRIVER(kopunch_state, screen_update_kopunch) - MCFG_SCREEN_PALETTE("palette") + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(32*8, 32*8); + screen.set_visarea(0*8, 32*8-1, 2*8, 28*8-1); + screen.set_screen_update(FUNC(kopunch_state::screen_update_kopunch)); + screen.set_palette("palette"); GFXDECODE(config, m_gfxdecode, "palette", gfx_kopunch); PALETTE(config, "palette", FUNC(kopunch_state::kopunch_palette), 8); /* sound hardware */ // ... -MACHINE_CONFIG_END +} diff --git a/src/mame/drivers/kramermc.cpp b/src/mame/drivers/kramermc.cpp index a38a409effd..b2229f86a83 100644 --- a/src/mame/drivers/kramermc.cpp +++ b/src/mame/drivers/kramermc.cpp @@ -111,11 +111,12 @@ static INPUT_PORTS_START( kramermc ) INPUT_PORTS_END /* Machine driver */ -MACHINE_CONFIG_START(kramermc_state::kramermc) +void kramermc_state::kramermc(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 1500000) - MCFG_DEVICE_PROGRAM_MAP(kramermc_mem) - MCFG_DEVICE_IO_MAP(kramermc_io) + Z80(config, m_maincpu, 1500000); + m_maincpu->set_addrmap(AS_PROGRAM, &kramermc_state::kramermc_mem); + m_maincpu->set_addrmap(AS_IO, &kramermc_state::kramermc_io); z80pio_device& pio(Z80PIO(config, "z80pio", 1500000)); pio.in_pa_callback().set(FUNC(kramermc_state::kramermc_port_a_r)); @@ -123,19 +124,18 @@ MACHINE_CONFIG_START(kramermc_state::kramermc) pio.in_pb_callback().set(FUNC(kramermc_state::kramermc_port_b_r)); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ - MCFG_SCREEN_SIZE(64*8, 16*8) - MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 16*8-1) - MCFG_SCREEN_UPDATE_DRIVER(kramermc_state, screen_update_kramermc) - MCFG_SCREEN_PALETTE(m_palette) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(50); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_size(64*8, 16*8); + screen.set_visarea(0, 64*8-1, 0, 16*8-1); + screen.set_screen_update(FUNC(kramermc_state::screen_update_kramermc)); + screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_kramermc); PALETTE(config, m_palette, palette_device::MONOCHROME); - -MACHINE_CONFIG_END +} /* ROM definition */ ROM_START( kramermc ) diff --git a/src/mame/drivers/ksayakyu.cpp b/src/mame/drivers/ksayakyu.cpp index f1c290556a2..f0ca353b282 100644 --- a/src/mame/drivers/ksayakyu.cpp +++ b/src/mame/drivers/ksayakyu.cpp @@ -258,28 +258,28 @@ void ksayakyu_state::machine_reset() m_flipscreen = 0; } -MACHINE_CONFIG_START(ksayakyu_state::ksayakyu) - +void ksayakyu_state::ksayakyu(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80,MAIN_CLOCK/8) //divider is guessed - MCFG_DEVICE_PROGRAM_MAP(maincpu_map) + Z80(config, m_maincpu, MAIN_CLOCK/8); //divider is guessed + m_maincpu->set_addrmap(AS_PROGRAM, &ksayakyu_state::maincpu_map); - MCFG_DEVICE_ADD("audiocpu", Z80, MAIN_CLOCK/8) //divider is guessed, controls DAC tempo - MCFG_DEVICE_PROGRAM_MAP(soundcpu_map) - MCFG_DEVICE_PERIODIC_INT_DRIVER(ksayakyu_state, irq0_line_hold, 60) //guess, controls music tempo + z80_device &audiocpu(Z80(config, "audiocpu", MAIN_CLOCK/8)); //divider is guessed, controls DAC tempo + audiocpu.set_addrmap(AS_PROGRAM, &ksayakyu_state::soundcpu_map); + audiocpu.set_periodic_int(FUNC(ksayakyu_state::irq0_line_hold), attotime::from_hz(60)); //guess, controls music tempo config.m_minimum_quantum = attotime::from_hz(60000); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(256, 256) - MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(ksayakyu_state, screen_update_ksayakyu) - MCFG_SCREEN_PALETTE(m_palette) - MCFG_SCREEN_VBLANK_CALLBACK(ASSERTLINE("maincpu", 0)) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(256, 256); + screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1); + screen.set_screen_update(FUNC(ksayakyu_state::screen_update_ksayakyu)); + screen.set_palette(m_palette); + screen.screen_vblank().set_inputline(m_maincpu, 0, ASSERT_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_ksayakyu); PALETTE(config, m_palette, FUNC(ksayakyu_state::ksayakyu_palette), 256); @@ -303,7 +303,7 @@ MACHINE_CONFIG_START(ksayakyu_state::ksayakyu) voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); -MACHINE_CONFIG_END +} ROM_START( ksayakyu ) ROM_REGION( 0x20000, "maincpu", 0 ) diff --git a/src/mame/drivers/kyugo.cpp b/src/mame/drivers/kyugo.cpp index 8c39ed46430..d0c96f25d20 100644 --- a/src/mame/drivers/kyugo.cpp +++ b/src/mame/drivers/kyugo.cpp @@ -519,18 +519,18 @@ INTERRUPT_GEN_MEMBER(kyugo_state::vblank_irq) } -MACHINE_CONFIG_START(kyugo_state::kyugo_base) - +void kyugo_state::kyugo_base(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, XTAL(18'432'000)/6) /* verified on pcb */ - MCFG_DEVICE_PROGRAM_MAP(kyugo_main_map) - MCFG_DEVICE_IO_MAP(kyugo_main_portmap) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", kyugo_state, vblank_irq) + Z80(config, m_maincpu, XTAL(18'432'000)/6); /* verified on pcb */ + m_maincpu->set_addrmap(AS_PROGRAM, &kyugo_state::kyugo_main_map); + m_maincpu->set_addrmap(AS_IO, &kyugo_state::kyugo_main_portmap); + m_maincpu->set_vblank_int("screen", FUNC(kyugo_state::vblank_irq)); - MCFG_DEVICE_ADD("sub", Z80, XTAL(18'432'000)/6) /* verified on pcb */ - MCFG_DEVICE_PROGRAM_MAP(gyrodine_sub_map) - MCFG_DEVICE_IO_MAP(gyrodine_sub_portmap) - MCFG_DEVICE_PERIODIC_INT_DRIVER(kyugo_state, irq0_line_hold, 4*60) + Z80(config, m_subcpu, XTAL(18'432'000)/6); /* verified on pcb */ + m_subcpu->set_addrmap(AS_PROGRAM, &kyugo_state::gyrodine_sub_map); + m_subcpu->set_addrmap(AS_IO, &kyugo_state::gyrodine_sub_portmap); + m_subcpu->set_periodic_int(FUNC(kyugo_state::irq0_line_hold), attotime::from_hz(4*60)); config.m_minimum_quantum = attotime::from_hz(6000); @@ -540,13 +540,13 @@ MACHINE_CONFIG_START(kyugo_state::kyugo_base) mainlatch.q_out_cb<2>().set_inputline(m_subcpu, INPUT_LINE_RESET).invert(); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(64*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(kyugo_state, screen_update) - MCFG_SCREEN_PALETTE(m_palette) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); + screen.set_size(64*8, 32*8); + screen.set_visarea(0*8, 36*8-1, 2*8, 30*8-1); + screen.set_screen_update(FUNC(kyugo_state::screen_update)); + screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_kyugo); PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 256); @@ -560,51 +560,51 @@ MACHINE_CONFIG_START(kyugo_state::kyugo_base) ay1.add_route(ALL_OUTPUTS, "mono", 0.30); AY8910(config, "ay2", XTAL(18'432'000)/12).add_route(ALL_OUTPUTS, "mono", 0.30); /* verified on pcb */ -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(kyugo_state::gyrodine) +void kyugo_state::gyrodine(machine_config &config) +{ kyugo_base(config); /* add watchdog */ WATCHDOG_TIMER(config, "watchdog"); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(gyrodine_main_map) -MACHINE_CONFIG_END + m_maincpu->set_addrmap(AS_PROGRAM, &kyugo_state::gyrodine_main_map); +} -MACHINE_CONFIG_START(kyugo_state::repulse) +void kyugo_state::repulse(machine_config &config) +{ kyugo_base(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("sub") - MCFG_DEVICE_PROGRAM_MAP(repulse_sub_map) - MCFG_DEVICE_IO_MAP(repulse_sub_portmap) -MACHINE_CONFIG_END + m_subcpu->set_addrmap(AS_PROGRAM, &kyugo_state::repulse_sub_map); + m_subcpu->set_addrmap(AS_IO, &kyugo_state::repulse_sub_portmap); +} -MACHINE_CONFIG_START(kyugo_state::srdmissn) +void kyugo_state::srdmissn(machine_config &config) +{ kyugo_base(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("sub") - MCFG_DEVICE_PROGRAM_MAP(srdmissn_sub_map) - MCFG_DEVICE_IO_MAP(srdmissn_sub_portmap) -MACHINE_CONFIG_END + m_subcpu->set_addrmap(AS_PROGRAM, &kyugo_state::srdmissn_sub_map); + m_subcpu->set_addrmap(AS_IO, &kyugo_state::srdmissn_sub_portmap); +} -MACHINE_CONFIG_START(kyugo_state::flashgala) +void kyugo_state::flashgala(machine_config &config) +{ kyugo_base(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("sub") - MCFG_DEVICE_PROGRAM_MAP(flashgala_sub_map) - MCFG_DEVICE_IO_MAP(flashgala_sub_portmap) -MACHINE_CONFIG_END + m_subcpu->set_addrmap(AS_PROGRAM, &kyugo_state::flashgala_sub_map); + m_subcpu->set_addrmap(AS_IO, &kyugo_state::flashgala_sub_portmap); +} -MACHINE_CONFIG_START(kyugo_state::legend) +void kyugo_state::legend(machine_config &config) +{ kyugo_base(config); /* basic machine hardware */ - MCFG_DEVICE_MODIFY("sub") - MCFG_DEVICE_PROGRAM_MAP(legend_sub_map) - MCFG_DEVICE_IO_MAP(srdmissn_sub_portmap) -MACHINE_CONFIG_END + m_subcpu->set_addrmap(AS_PROGRAM, &kyugo_state::legend_sub_map); + m_subcpu->set_addrmap(AS_IO, &kyugo_state::srdmissn_sub_portmap); +} /************************************* diff --git a/src/mame/includes/jpmsys5.h b/src/mame/includes/jpmsys5.h index e354a1a62c4..e94cbcce9c1 100644 --- a/src/mame/includes/jpmsys5.h +++ b/src/mame/includes/jpmsys5.h @@ -59,6 +59,7 @@ protected: required_device<cpu_device> m_maincpu; required_device_array<acia6850_device, 3> m_acia6850; optional_device<s16lf01_device> m_vfd; + required_device<upd7759_device> m_upd7759; void jpm_sys5_common_map(address_map &map); @@ -76,7 +77,6 @@ private: void m68000_awp_map(address_map &map); void m68000_awp_map_saa(address_map &map); - required_device<upd7759_device> m_upd7759; required_ioport m_direct_port; optional_device<meters_device> m_meters; //jpmsys5v doesn't use this output_finder<16 * 16> m_lamps; |