diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2017-06-01 15:17:47 +0200 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2017-06-01 15:17:47 +0200 |
commit | 472be8055fc05670b5e37726130792b0472ec230 (patch) | |
tree | 9430dbbbad81e7ac89e7a3e137da9bdbebf48c7d | |
parent | cc9a0e699fd16e5c7245ae018e61fb6f18e9ccac (diff) |
some more devices/machine to device_add_mconfig (nw)
38 files changed, 206 insertions, 318 deletions
diff --git a/src/devices/machine/68153bim.cpp b/src/devices/machine/68153bim.cpp index 98b5e45f729..00934d66ff9 100644 --- a/src/devices/machine/68153bim.cpp +++ b/src/devices/machine/68153bim.cpp @@ -66,8 +66,8 @@ DEFINE_DEVICE_TYPE(EI68C153, ei68c153_device, "ei68c153", "EPIC //------------------------------------------------- // device_add_mconfig - add device configuration //------------------------------------------------- + MACHINE_CONFIG_MEMBER( bim68153_device::device_add_mconfig ) - LOG("%s\n", FUNCNAME); MCFG_DEVICE_ADD(CHN0_TAG, MC68153_CHANNEL, 0) MCFG_DEVICE_ADD(CHN1_TAG, MC68153_CHANNEL, 0) MCFG_DEVICE_ADD(CHN2_TAG, MC68153_CHANNEL, 0) diff --git a/src/devices/machine/at_keybc.h b/src/devices/machine/at_keybc.h index b38c3b8595b..03bb9b6459f 100644 --- a/src/devices/machine/at_keybc.h +++ b/src/devices/machine/at_keybc.h @@ -75,9 +75,6 @@ protected: virtual void device_add_mconfig(machine_config &config) override; private: - // internal state - upi41_cpu_device *m_cpu; - // internal 8042 interface DECLARE_READ_LINE_MEMBER( t0_r ); DECLARE_READ_LINE_MEMBER( t1_r ); @@ -85,6 +82,9 @@ private: DECLARE_READ8_MEMBER( p2_r ); DECLARE_WRITE8_MEMBER( p2_w ); + // internal state + upi41_cpu_device *m_cpu; + // interface to the host pc devcb_write_line m_system_reset_cb; devcb_write_line m_gate_a20_cb; diff --git a/src/devices/machine/i82371sb.cpp b/src/devices/machine/i82371sb.cpp index 99d2a61ccf2..3139cefeb87 100644 --- a/src/devices/machine/i82371sb.cpp +++ b/src/devices/machine/i82371sb.cpp @@ -47,13 +47,17 @@ DEVICE_ADDRESS_MAP_START(internal_io_map, 32, i82371sb_isa_device) AM_RANGE(0x00e0, 0x00ef) AM_NOP // VGA-HACK - AM_RANGE(0x3b0, 0x3bf) AM_DEVREADWRITE8("vga",vga_device,port_03b0_r, port_03b0_w, 0xffffffff); - AM_RANGE(0x3c0, 0x3cf) AM_DEVREADWRITE8("vga",vga_device,port_03c0_r, port_03c0_w, 0xffffffff); - AM_RANGE(0x3d0, 0x3df) AM_DEVREADWRITE8("vga",vga_device,port_03d0_r, port_03d0_w, 0xffffffff); + AM_RANGE(0x3b0, 0x3bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff); + AM_RANGE(0x3c0, 0x3cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff); + AM_RANGE(0x3d0, 0x3df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff); // end-VGA-HACK ADDRESS_MAP_END -static MACHINE_CONFIG_START( southbridge ) +//------------------------------------------------- +// device_add_mconfig - add device configuration +//------------------------------------------------- + +MACHINE_CONFIG_MEMBER( i82371sb_isa_device::device_add_mconfig ) MCFG_DEVICE_ADD("pit8254", PIT8254, 0) MCFG_PIT8253_CLK0(4772720/4) /* heartbeat IRQ */ MCFG_PIT8253_OUT0_HANDLER(WRITELINE(i82371sb_isa_device, at_pit8254_out0_changed)) @@ -155,17 +159,6 @@ static MACHINE_CONFIG_START( southbridge ) // end-VGA-HACK MACHINE_CONFIG_END -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor i82371sb_isa_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( southbridge ); -} - - i82371sb_isa_device::i82371sb_isa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : pci_device(mconfig, I82371SB_ISA, tag, owner, clock), diff --git a/src/devices/machine/i82371sb.h b/src/devices/machine/i82371sb.h index 330379a1757..dbee9b492e7 100644 --- a/src/devices/machine/i82371sb.h +++ b/src/devices/machine/i82371sb.h @@ -43,9 +43,6 @@ public: virtual void map_extra(uint64_t memory_window_start, uint64_t memory_window_end, uint64_t memory_offset, address_space *memory_space, uint64_t io_window_start, uint64_t io_window_end, uint64_t io_offset, address_space *io_space) override; - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - virtual DECLARE_ADDRESS_MAP(config_map, 32) override; DECLARE_ADDRESS_MAP(internal_io_map, 32); @@ -92,11 +89,26 @@ public: DECLARE_WRITE8_MEMBER(at_page8_w); DECLARE_READ8_MEMBER(at_portb_r); DECLARE_WRITE8_MEMBER(at_portb_w); - DECLARE_READ8_MEMBER(get_slave_ack); + DECLARE_READ8_MEMBER(ide_read_cs1_r); + DECLARE_WRITE8_MEMBER(ide_write_cs1_w); + DECLARE_READ8_MEMBER(ide2_read_cs1_r); + DECLARE_WRITE8_MEMBER(ide2_write_cs1_w); + DECLARE_READ8_MEMBER(at_dma8237_2_r); + DECLARE_WRITE8_MEMBER(at_dma8237_2_w); + DECLARE_READ8_MEMBER(at_keybc_r); + DECLARE_WRITE8_MEMBER(at_keybc_w); + DECLARE_WRITE8_MEMBER(write_rtc); + +protected: + virtual void device_start() override; + virtual void device_reset() override; + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + +private: DECLARE_WRITE_LINE_MEMBER(at_pit8254_out0_changed); DECLARE_WRITE_LINE_MEMBER(at_pit8254_out1_changed); DECLARE_WRITE_LINE_MEMBER(at_pit8254_out2_changed); - DECLARE_WRITE_LINE_MEMBER(pc_dma_hrq_changed); DECLARE_READ8_MEMBER(pc_dma8237_0_dack_r); DECLARE_READ8_MEMBER(pc_dma8237_1_dack_r); DECLARE_READ8_MEMBER(pc_dma8237_2_dack_r); @@ -111,7 +123,6 @@ public: DECLARE_WRITE8_MEMBER(pc_dma8237_5_dack_w); DECLARE_WRITE8_MEMBER(pc_dma8237_6_dack_w); DECLARE_WRITE8_MEMBER(pc_dma8237_7_dack_w); - DECLARE_WRITE_LINE_MEMBER(at_dma8237_out_eop); DECLARE_WRITE_LINE_MEMBER(pc_dack0_w); DECLARE_WRITE_LINE_MEMBER(pc_dack1_w); DECLARE_WRITE_LINE_MEMBER(pc_dack2_w); @@ -120,25 +131,14 @@ public: DECLARE_WRITE_LINE_MEMBER(pc_dack5_w); DECLARE_WRITE_LINE_MEMBER(pc_dack6_w); DECLARE_WRITE_LINE_MEMBER(pc_dack7_w); - DECLARE_READ8_MEMBER(ide_read_cs1_r); - DECLARE_WRITE8_MEMBER(ide_write_cs1_w); - DECLARE_READ8_MEMBER(ide2_read_cs1_r); - DECLARE_WRITE8_MEMBER(ide2_write_cs1_w); - DECLARE_READ8_MEMBER(at_dma8237_2_r); - DECLARE_WRITE8_MEMBER(at_dma8237_2_w); - DECLARE_READ8_MEMBER(at_keybc_r); - DECLARE_WRITE8_MEMBER(at_keybc_w); - DECLARE_WRITE8_MEMBER(write_rtc); + DECLARE_WRITE_LINE_MEMBER(at_dma8237_out_eop); + DECLARE_WRITE_LINE_MEMBER(pc_dma_hrq_changed); DECLARE_READ8_MEMBER(pc_dma_read_byte); DECLARE_WRITE8_MEMBER(pc_dma_write_byte); DECLARE_READ8_MEMBER(pc_dma_read_word); DECLARE_WRITE8_MEMBER(pc_dma_write_word); + DECLARE_READ8_MEMBER(get_slave_ack); -protected: - virtual void device_start() override; - virtual void device_reset() override; - -private: devcb_write8 m_boot_state_hook; uint32_t see; diff --git a/src/devices/machine/idehd.cpp b/src/devices/machine/idehd.cpp index 300a6d49860..f5b5d1b15a3 100644 --- a/src/devices/machine/idehd.cpp +++ b/src/devices/machine/idehd.cpp @@ -854,14 +854,9 @@ uint8_t ide_hdd_device::calculate_status() } //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -static MACHINE_CONFIG_START( hdd_image ) + +MACHINE_CONFIG_MEMBER( ide_hdd_device::device_add_mconfig ) MCFG_HARDDISK_ADD( "image" ) MACHINE_CONFIG_END - -machine_config_constructor ide_hdd_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( hdd_image ); -} diff --git a/src/devices/machine/idehd.h b/src/devices/machine/idehd.h index c227d671642..ff6acbc985a 100644 --- a/src/devices/machine/idehd.h +++ b/src/devices/machine/idehd.h @@ -97,7 +97,7 @@ protected: virtual void device_reset() override; // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual int read_sector(uint32_t lba, void *buffer) override { return !m_disk ? 0 : hard_disk_read(m_disk, lba, buffer); } virtual int write_sector(uint32_t lba, const void *buffer) override { return !m_disk ? 0 : hard_disk_write(m_disk, lba, buffer); } diff --git a/src/devices/machine/ie15.cpp b/src/devices/machine/ie15.cpp index 9125ebf10fd..2bcb87e66e3 100644 --- a/src/devices/machine/ie15.cpp +++ b/src/devices/machine/ie15.cpp @@ -586,20 +586,6 @@ static MACHINE_CONFIG_START( ie15core ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) MACHINE_CONFIG_END -static MACHINE_CONFIG_START( ie15 ) - MCFG_FRAGMENT_ADD(ie15core) - - MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green()) - MCFG_SCREEN_UPDATE_DRIVER(ie15_device, screen_update) - MCFG_SCREEN_RAW_PARAMS(XTAL_30_8MHz/2, IE15_TOTAL_HORZ, IE15_HORZ_START, - IE15_HORZ_START+IE15_DISP_HORZ, IE15_TOTAL_VERT, IE15_VERT_START, - IE15_VERT_START+IE15_DISP_VERT); - - MCFG_GFXDECODE_ADD("gfxdecode", "palette", ie15) - MCFG_PALETTE_ADD_MONOCHROME("palette") -MACHINE_CONFIG_END - - /* ROM definition */ ROM_START( ie15 ) ROM_REGION(0x1000, "maincpu", ROMREGION_ERASE00) @@ -615,10 +601,18 @@ ROM_START( ie15 ) ROM_LOAD("chargen-15ie.bin", 0x0000, 0x0800, CRC(ed16bf6b) SHA1(6af9fb75f5375943d5c0ce9ed408e0fb4621b17e)) ROM_END -machine_config_constructor ie15_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(ie15); -} +MACHINE_CONFIG_MEMBER( ie15_device::device_add_mconfig ) + MCFG_FRAGMENT_ADD(ie15core) + + MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green()) + MCFG_SCREEN_UPDATE_DRIVER(ie15_device, screen_update) + MCFG_SCREEN_RAW_PARAMS(XTAL_30_8MHz/2, IE15_TOTAL_HORZ, IE15_HORZ_START, + IE15_HORZ_START+IE15_DISP_HORZ, IE15_TOTAL_VERT, IE15_VERT_START, + IE15_VERT_START+IE15_DISP_VERT); + + MCFG_GFXDECODE_ADD("gfxdecode", "palette", ie15) + MCFG_PALETTE_ADD_MONOCHROME("palette") +MACHINE_CONFIG_END ioport_constructor ie15_device::device_input_ports() const { diff --git a/src/devices/machine/ie15.h b/src/devices/machine/ie15.h index 5c82ac45c3f..9898323c539 100644 --- a/src/devices/machine/ie15.h +++ b/src/devices/machine/ie15.h @@ -40,12 +40,6 @@ public: DECLARE_WRITE8_MEMBER(write) { term_write(data); } - uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - - virtual machine_config_constructor device_mconfig_additions() const override; - virtual ioport_constructor device_input_ports() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - protected: ie15_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); @@ -53,6 +47,10 @@ protected: virtual void device_reset() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + virtual void device_add_mconfig(machine_config &config) override; + virtual ioport_constructor device_input_ports() const override; + virtual const tiny_rom_entry *device_rom_region() const override; + virtual void rcv_complete() override; virtual void tra_callback() override; virtual void tra_complete() override; @@ -91,6 +89,7 @@ private: void scanline_callback(); void update_leds(); void draw_scanline(uint32_t *p, uint16_t offset, uint8_t scanline); + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); std::unique_ptr<uint32_t[]> m_tmpbmp; emu_timer *m_hblank_timer; diff --git a/src/devices/machine/ie15_kbd.cpp b/src/devices/machine/ie15_kbd.cpp index bc90b501676..2bd28323054 100644 --- a/src/devices/machine/ie15_kbd.cpp +++ b/src/devices/machine/ie15_kbd.cpp @@ -122,13 +122,9 @@ const tiny_rom_entry *ie15_keyboard_device::device_rom_region() const return ROM_NAME( ie15_keyboard ); } -static MACHINE_CONFIG_START( ie15_keyboard ) +MACHINE_CONFIG_MEMBER( ie15_keyboard_device::device_add_mconfig ) MACHINE_CONFIG_END -machine_config_constructor ie15_keyboard_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(ie15_keyboard); -} void ie15_keyboard_device::device_start() { diff --git a/src/devices/machine/ie15_kbd.h b/src/devices/machine/ie15_kbd.h index 0e4eda30a39..4ba7fe30821 100644 --- a/src/devices/machine/ie15_kbd.h +++ b/src/devices/machine/ie15_kbd.h @@ -49,16 +49,15 @@ public: template <class Object> static devcb_base &set_keyboard_callback(device_t &device, Object &&cb) { return downcast<ie15_keyboard_device &>(device).m_keyboard_cb.set_callback(std::forward<Object>(cb)); } - virtual ioport_constructor device_input_ports() const override; - virtual machine_config_constructor device_mconfig_additions() const override; - virtual const tiny_rom_entry *device_rom_region() const override; - protected: ie15_keyboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + virtual ioport_constructor device_input_ports() const override; + virtual void device_add_mconfig(machine_config &config) override; + virtual const tiny_rom_entry *device_rom_region() const override; virtual void send_key(uint16_t code) { m_keyboard_cb(offs_t(0), code); } required_ioport_array<4> m_io_kbd; diff --git a/src/devices/machine/ldpr8210.cpp b/src/devices/machine/ldpr8210.cpp index 4a8340a1541..8e1b879d16d 100644 --- a/src/devices/machine/ldpr8210.cpp +++ b/src/devices/machine/ldpr8210.cpp @@ -152,18 +152,6 @@ static ADDRESS_MAP_START( pr8210_portmap, AS_IO, 8, pioneer_pr8210_device ) AM_RANGE(0x00, 0xff) AM_READWRITE(i8049_pia_r, i8049_pia_w) ADDRESS_MAP_END - -static MACHINE_CONFIG_START( pr8210 ) - MCFG_CPU_ADD("pr8210", I8049, XTAL_4_41MHz) - MCFG_CPU_IO_MAP(pr8210_portmap) - MCFG_MCS48_PORT_BUS_IN_CB(READ8(pioneer_pr8210_device, i8049_bus_r)) - MCFG_MCS48_PORT_P1_OUT_CB(WRITE8(pioneer_pr8210_device, i8049_port1_w)) - MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(pioneer_pr8210_device, i8049_port2_w)) - MCFG_MCS48_PORT_T0_IN_CB(READLINE(pioneer_pr8210_device, i8049_t0_r)) - MCFG_MCS48_PORT_T1_IN_CB(READLINE(pioneer_pr8210_device, i8049_t1_r)) -MACHINE_CONFIG_END - - ROM_START( pr8210 ) ROM_REGION( 0x800, "pr8210", 0 ) ROM_LOAD( "pr-8210_mcu_ud6005a.bin", 0x000, 0x800, CRC(120fa83b) SHA1(b514326ca1f52d6d89056868f9d17eabd4e3f31d) ) @@ -381,14 +369,18 @@ const tiny_rom_entry *pioneer_pr8210_device::device_rom_region() const //------------------------------------------------- -// device_mconfig_additions - return a pointer to -// our machine config fragment +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor pioneer_pr8210_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(pr8210); -} +MACHINE_CONFIG_MEMBER( pioneer_pr8210_device::device_add_mconfig ) + MCFG_CPU_ADD("pr8210", I8049, XTAL_4_41MHz) + MCFG_CPU_IO_MAP(pr8210_portmap) + MCFG_MCS48_PORT_BUS_IN_CB(READ8(pioneer_pr8210_device, i8049_bus_r)) + MCFG_MCS48_PORT_P1_OUT_CB(WRITE8(pioneer_pr8210_device, i8049_port1_w)) + MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(pioneer_pr8210_device, i8049_port2_w)) + MCFG_MCS48_PORT_T0_IN_CB(READLINE(pioneer_pr8210_device, i8049_t0_r)) + MCFG_MCS48_PORT_T1_IN_CB(READLINE(pioneer_pr8210_device, i8049_t1_r)) +MACHINE_CONFIG_END //------------------------------------------------- @@ -850,17 +842,6 @@ static ADDRESS_MAP_START( simutrek_portmap, AS_IO, 8, simutrek_special_device ) ADDRESS_MAP_END -static MACHINE_CONFIG_START( simutrek ) - MCFG_CPU_ADD("simutrek", I8748, XTAL_6MHz) - MCFG_CPU_IO_MAP(simutrek_portmap) - MCFG_MCS48_PORT_P2_IN_CB(READ8(simutrek_special_device, i8748_port2_r)) - MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(simutrek_special_device, i8748_port2_w)) - MCFG_MCS48_PORT_T0_IN_CB(READLINE(simutrek_special_device, i8748_t0_r)) - - MCFG_FRAGMENT_ADD(pr8210) -MACHINE_CONFIG_END - - ROM_START( simutrek ) ROM_REGION( 0x800, "pr8210", 0 ) ROM_LOAD( "pr-8210_mcu_ud6005a.bin", 0x000, 0x800, CRC(120fa83b) SHA1(b514326ca1f52d6d89056868f9d17eabd4e3f31d) ) @@ -1015,14 +996,18 @@ const tiny_rom_entry *simutrek_special_device::device_rom_region() const //------------------------------------------------- -// device_mconfig_additions - return a pointer to -// our machine config fragment +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor simutrek_special_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(simutrek); -} +MACHINE_CONFIG_MEMBER( simutrek_special_device::device_add_mconfig ) + MCFG_CPU_ADD("simutrek", I8748, XTAL_6MHz) + MCFG_CPU_IO_MAP(simutrek_portmap) + MCFG_MCS48_PORT_P2_IN_CB(READ8(simutrek_special_device, i8748_port2_r)) + MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(simutrek_special_device, i8748_port2_w)) + MCFG_MCS48_PORT_T0_IN_CB(READLINE(simutrek_special_device, i8748_t0_r)) + + pioneer_pr8210_device::device_add_mconfig(config); +MACHINE_CONFIG_END //------------------------------------------------- diff --git a/src/devices/machine/ldpr8210.h b/src/devices/machine/ldpr8210.h index 9df357decaf..ec3f14b9944 100644 --- a/src/devices/machine/ldpr8210.h +++ b/src/devices/machine/ldpr8210.h @@ -69,7 +69,7 @@ protected: virtual void device_reset() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; // subclass overrides virtual void player_vsync(const vbi_metadata &vbi, int fieldnum, const attotime &curtime) override; @@ -85,16 +85,17 @@ protected: virtual void update_audio_squelch() { set_audio_squelch((m_i8049_port1 & 0x40) || !(m_pia.portb & 0x01), (m_i8049_port1 & 0x40) || !(m_pia.portb & 0x02)); } public: - // internal read/write handlers DECLARE_READ8_MEMBER( i8049_pia_r ); DECLARE_WRITE8_MEMBER( i8049_pia_w ); + +protected: + // internal read/write handlers DECLARE_READ8_MEMBER( i8049_bus_r ); DECLARE_WRITE8_MEMBER( i8049_port1_w ); DECLARE_WRITE8_MEMBER( i8049_port2_w ); DECLARE_READ_LINE_MEMBER( i8049_t0_r ); DECLARE_READ_LINE_MEMBER( i8049_t1_r ); -protected: // pioneer PIA subclass class pioneer_pia { @@ -165,20 +166,21 @@ protected: virtual void device_reset() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; // internal helpers virtual bool override_control() const override { return m_controlthis; } virtual void update_audio_squelch() override { set_audio_squelch(m_audio_squelch, m_audio_squelch); } public: + DECLARE_READ8_MEMBER( i8748_data_r ); + +private: // internal read/write handlers DECLARE_READ8_MEMBER( i8748_port2_r ); DECLARE_WRITE8_MEMBER( i8748_port2_w ); - DECLARE_READ8_MEMBER( i8748_data_r ); DECLARE_READ_LINE_MEMBER( i8748_t0_r ); -protected: // internal state required_device<i8748_device> m_i8748_cpu; uint8_t m_audio_squelch; // audio squelch value diff --git a/src/devices/machine/ldv1000.cpp b/src/devices/machine/ldv1000.cpp index 9637c3fd3ce..899bc7684cc 100644 --- a/src/devices/machine/ldv1000.cpp +++ b/src/devices/machine/ldv1000.cpp @@ -84,28 +84,6 @@ static const z80_daisy_config daisy_chain[] = }; -static MACHINE_CONFIG_START( ldv1000 ) - MCFG_CPU_ADD("ldv1000", Z80, XTAL_5MHz/2) - MCFG_Z80_DAISY_CHAIN(daisy_chain) - MCFG_CPU_PROGRAM_MAP(ldv1000_map) - MCFG_CPU_IO_MAP(ldv1000_portmap) - - MCFG_DEVICE_ADD("ldvctc", Z80CTC, XTAL_5MHz/2) - MCFG_Z80CTC_INTR_CB(WRITELINE(pioneer_ldv1000_device, ctc_interrupt)) - - MCFG_DEVICE_ADD("ldvppi0", I8255, 0) - MCFG_I8255_OUT_PORTA_CB(WRITE8(pioneer_ldv1000_device, ppi0_porta_w)) - MCFG_I8255_IN_PORTB_CB(READ8(pioneer_ldv1000_device, ppi0_portb_r)) - MCFG_I8255_IN_PORTC_CB(READ8(pioneer_ldv1000_device, ppi0_portc_r)) - MCFG_I8255_OUT_PORTC_CB(WRITE8(pioneer_ldv1000_device, ppi0_portc_w)) - - MCFG_DEVICE_ADD("ldvppi1", I8255, 0) - MCFG_I8255_IN_PORTA_CB(READ8(pioneer_ldv1000_device, ppi1_porta_r)) - MCFG_I8255_OUT_PORTB_CB(WRITE8(pioneer_ldv1000_device, ppi1_portb_w)) - MCFG_I8255_OUT_PORTC_CB(WRITE8(pioneer_ldv1000_device, ppi1_portc_w)) -MACHINE_CONFIG_END - - ROM_START( ldv1000 ) ROM_REGION( 0x2000, "ldv1000", 0 ) ROM_LOAD( "z03_1001_vyw-053_v1-0.bin", 0x0000, 0x2000, CRC(31ec4687) SHA1(52f91c304a878ba02b2fa1cda1a9489d6dd5a34f) ) @@ -289,14 +267,29 @@ const tiny_rom_entry *pioneer_ldv1000_device::device_rom_region() const //------------------------------------------------- -// device_mconfig_additions - return a pointer to -// our machine config fragment +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor pioneer_ldv1000_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(ldv1000); -} +MACHINE_CONFIG_MEMBER( pioneer_ldv1000_device::device_add_mconfig ) + MCFG_CPU_ADD("ldv1000", Z80, XTAL_5MHz/2) + MCFG_Z80_DAISY_CHAIN(daisy_chain) + MCFG_CPU_PROGRAM_MAP(ldv1000_map) + MCFG_CPU_IO_MAP(ldv1000_portmap) + + MCFG_DEVICE_ADD("ldvctc", Z80CTC, XTAL_5MHz/2) + MCFG_Z80CTC_INTR_CB(WRITELINE(pioneer_ldv1000_device, ctc_interrupt)) + + MCFG_DEVICE_ADD("ldvppi0", I8255, 0) + MCFG_I8255_OUT_PORTA_CB(WRITE8(pioneer_ldv1000_device, ppi0_porta_w)) + MCFG_I8255_IN_PORTB_CB(READ8(pioneer_ldv1000_device, ppi0_portb_r)) + MCFG_I8255_IN_PORTC_CB(READ8(pioneer_ldv1000_device, ppi0_portc_r)) + MCFG_I8255_OUT_PORTC_CB(WRITE8(pioneer_ldv1000_device, ppi0_portc_w)) + + MCFG_DEVICE_ADD("ldvppi1", I8255, 0) + MCFG_I8255_IN_PORTA_CB(READ8(pioneer_ldv1000_device, ppi1_porta_r)) + MCFG_I8255_OUT_PORTB_CB(WRITE8(pioneer_ldv1000_device, ppi1_portb_w)) + MCFG_I8255_OUT_PORTC_CB(WRITE8(pioneer_ldv1000_device, ppi1_portc_w)) +MACHINE_CONFIG_END //------------------------------------------------- diff --git a/src/devices/machine/ldv1000.h b/src/devices/machine/ldv1000.h index 58e9fa296c4..2bd6726a729 100644 --- a/src/devices/machine/ldv1000.h +++ b/src/devices/machine/ldv1000.h @@ -76,7 +76,7 @@ protected: virtual void device_reset() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; // subclass overrides virtual void player_vsync(const vbi_metadata &vbi, int fieldnum, const attotime &curtime) override; @@ -90,11 +90,14 @@ protected: public: // internal read/write handlers - DECLARE_WRITE_LINE_MEMBER( ctc_interrupt ); DECLARE_WRITE8_MEMBER( z80_decoder_display_port_w ); DECLARE_READ8_MEMBER( z80_decoder_display_port_r ); DECLARE_READ8_MEMBER( z80_controller_r ); DECLARE_WRITE8_MEMBER( z80_controller_w ); + +private: + // internal read/write handlers + DECLARE_WRITE_LINE_MEMBER( ctc_interrupt ); DECLARE_WRITE8_MEMBER( ppi0_porta_w ); DECLARE_READ8_MEMBER( ppi0_portb_r ); DECLARE_READ8_MEMBER( ppi0_portc_r ); @@ -103,7 +106,6 @@ public: DECLARE_WRITE8_MEMBER( ppi1_portb_w ); DECLARE_WRITE8_MEMBER( ppi1_portc_w ); -protected: // internal state required_device<z80_device> m_z80_cpu; /* CPU index of the Z80 */ required_device<z80ctc_device> m_z80_ctc; /* CTC device */ diff --git a/src/devices/machine/ldvp931.cpp b/src/devices/machine/ldvp931.cpp index d65b0ba9d6f..f2973f5a86a 100644 --- a/src/devices/machine/ldvp931.cpp +++ b/src/devices/machine/ldvp931.cpp @@ -61,18 +61,6 @@ static ADDRESS_MAP_START( vp931_portmap, AS_IO, 8, phillips_22vp931_device ) ADDRESS_MAP_END -static MACHINE_CONFIG_START( vp931 ) - MCFG_CPU_ADD("vp931", I8049, XTAL_11MHz) - MCFG_CPU_IO_MAP(vp931_portmap) - MCFG_MCS48_PORT_P1_IN_CB(READ8(phillips_22vp931_device, i8049_port1_r)) - MCFG_MCS48_PORT_P1_OUT_CB(WRITE8(phillips_22vp931_device, i8049_port1_w)) - MCFG_MCS48_PORT_P2_IN_CB(READ8(phillips_22vp931_device, i8049_port2_r)) - MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(phillips_22vp931_device, i8049_port2_w)) - MCFG_MCS48_PORT_T0_IN_CB(READLINE(phillips_22vp931_device, i8049_t0_r)) - MCFG_MCS48_PORT_T1_IN_CB(READLINE(phillips_22vp931_device, i8049_t1_r)) -MACHINE_CONFIG_END - - ROM_START( vp931 ) ROM_REGION( 0x800, "vp931", 0 ) ROM_LOAD( "at-6-1_a.bin", 0x000, 0x800, CRC(e11b3c8d) SHA1(ea2d7f6a044ed085ce5e09d8b1b1a21c37f0e9b8) ) @@ -294,14 +282,19 @@ const tiny_rom_entry *phillips_22vp931_device::device_rom_region() const //------------------------------------------------- -// device_mconfig_additions - return a pointer to -// our machine config fragment +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor phillips_22vp931_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(vp931); -} +MACHINE_CONFIG_MEMBER( phillips_22vp931_device::device_add_mconfig ) + MCFG_CPU_ADD("vp931", I8049, XTAL_11MHz) + MCFG_CPU_IO_MAP(vp931_portmap) + MCFG_MCS48_PORT_P1_IN_CB(READ8(phillips_22vp931_device, i8049_port1_r)) + MCFG_MCS48_PORT_P1_OUT_CB(WRITE8(phillips_22vp931_device, i8049_port1_w)) + MCFG_MCS48_PORT_P2_IN_CB(READ8(phillips_22vp931_device, i8049_port2_r)) + MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(phillips_22vp931_device, i8049_port2_w)) + MCFG_MCS48_PORT_T0_IN_CB(READLINE(phillips_22vp931_device, i8049_t0_r)) + MCFG_MCS48_PORT_T1_IN_CB(READLINE(phillips_22vp931_device, i8049_t1_r)) +MACHINE_CONFIG_END //------------------------------------------------- diff --git a/src/devices/machine/ldvp931.h b/src/devices/machine/ldvp931.h index 5136818ceeb..df626efa6ca 100644 --- a/src/devices/machine/ldvp931.h +++ b/src/devices/machine/ldvp931.h @@ -77,7 +77,7 @@ protected: virtual void device_reset() override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual const tiny_rom_entry *device_rom_region() const override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; // subclass overrides virtual void player_vsync(const vbi_metadata &vbi, int fieldnum, const attotime &curtime) override; @@ -94,6 +94,9 @@ public: DECLARE_READ8_MEMBER( i8049_datic_r ); DECLARE_READ8_MEMBER( i8049_from_controller_r ); DECLARE_WRITE8_MEMBER( i8049_to_controller_w ); + +private: + // internal read/write handlers DECLARE_READ8_MEMBER( i8049_port1_r ); DECLARE_WRITE8_MEMBER( i8049_port1_w ); DECLARE_READ8_MEMBER( i8049_port2_r ); @@ -101,7 +104,6 @@ public: DECLARE_READ_LINE_MEMBER( i8049_t0_r ); DECLARE_READ_LINE_MEMBER( i8049_t1_r ); -protected: // internal state required_device<i8049_device> m_i8049_cpu; // CPU index of the 8049 emu_timer * m_tracktimer; // timer device diff --git a/src/devices/machine/linflash.cpp b/src/devices/machine/linflash.cpp index d12c315d443..cb808616eb2 100644 --- a/src/devices/machine/linflash.cpp +++ b/src/devices/machine/linflash.cpp @@ -58,7 +58,7 @@ linear_flash_pccard_16mb_device::linear_flash_pccard_16mb_device(const machine_c m_space_config = address_space_config("memory", ENDIANNESS_LITTLE, 16, 26, 0, *ADDRESS_MAP_NAME( linear_flash_pccard_16mb ) ); } -static MACHINE_CONFIG_START( linear_flash_pccard_16mb ) +MACHINE_CONFIG_MEMBER( linear_flash_pccard_16mb_device::device_add_mconfig ) MCFG_FUJITSU_29F016A_ADD("1l") MCFG_FUJITSU_29F016A_ADD("1u") MCFG_FUJITSU_29F016A_ADD("2l") @@ -69,11 +69,6 @@ static MACHINE_CONFIG_START( linear_flash_pccard_16mb ) MCFG_FUJITSU_29F016A_ADD("4u") MACHINE_CONFIG_END -machine_config_constructor linear_flash_pccard_16mb_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( linear_flash_pccard_16mb ); -} - static ADDRESS_MAP_START(linear_flash_pccard_32mb, AS_0, 16, linear_flash_pccard_32mb_device) ADDRESS_MAP_UNMAP_HIGH @@ -101,7 +96,7 @@ linear_flash_pccard_32mb_device::linear_flash_pccard_32mb_device(const machine_c m_space_config = address_space_config("memory", ENDIANNESS_LITTLE, 16, 26, 0, *ADDRESS_MAP_NAME( linear_flash_pccard_32mb ) ); } -static MACHINE_CONFIG_START( linear_flash_pccard_32mb ) +MACHINE_CONFIG_MEMBER( linear_flash_pccard_32mb_device::device_add_mconfig ) MCFG_FUJITSU_29F016A_ADD("1l") MCFG_FUJITSU_29F016A_ADD("1u") MCFG_FUJITSU_29F016A_ADD("2l") @@ -120,11 +115,6 @@ static MACHINE_CONFIG_START( linear_flash_pccard_32mb ) MCFG_FUJITSU_29F016A_ADD("8u") MACHINE_CONFIG_END -machine_config_constructor linear_flash_pccard_32mb_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( linear_flash_pccard_32mb ); -} - static ADDRESS_MAP_START(linear_flash_pccard_64mb, AS_0, 16, linear_flash_pccard_64mb_device) ADDRESS_MAP_UNMAP_HIGH @@ -168,7 +158,7 @@ linear_flash_pccard_64mb_device::linear_flash_pccard_64mb_device(const machine_c m_space_config = address_space_config("memory", ENDIANNESS_LITTLE, 16, 26, 0, *ADDRESS_MAP_NAME( linear_flash_pccard_64mb ) ); } -static MACHINE_CONFIG_START( linear_flash_pccard_64mb ) +MACHINE_CONFIG_MEMBER( linear_flash_pccard_64mb_device::device_add_mconfig ) MCFG_FUJITSU_29F016A_ADD("1l") MCFG_FUJITSU_29F016A_ADD("1u") MCFG_FUJITSU_29F016A_ADD("2l") @@ -202,8 +192,3 @@ static MACHINE_CONFIG_START( linear_flash_pccard_64mb ) MCFG_FUJITSU_29F016A_ADD("16l") MCFG_FUJITSU_29F016A_ADD("16u") MACHINE_CONFIG_END - -machine_config_constructor linear_flash_pccard_64mb_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( linear_flash_pccard_64mb ); -} diff --git a/src/devices/machine/linflash.h b/src/devices/machine/linflash.h index f6d58a33f93..969ea7fbf02 100644 --- a/src/devices/machine/linflash.h +++ b/src/devices/machine/linflash.h @@ -38,7 +38,7 @@ public: protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; }; @@ -49,7 +49,7 @@ public: protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; }; @@ -60,7 +60,7 @@ public: protected: // device-level overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; }; diff --git a/src/devices/machine/mb89363b.cpp b/src/devices/machine/mb89363b.cpp index 8caec6de005..d9d1459234f 100644 --- a/src/devices/machine/mb89363b.cpp +++ b/src/devices/machine/mb89363b.cpp @@ -134,7 +134,7 @@ WRITE8_MEMBER( mb89363b_device::write ) } -static MACHINE_CONFIG_START( mb89363b ) +MACHINE_CONFIG_MEMBER( mb89363b_device::device_add_mconfig ) MCFG_DEVICE_ADD("i8255_a", I8255, 0) MCFG_I8255_IN_PORTA_CB(READ8(mb89363b_device, i8255_a_port_a_r)) MCFG_I8255_IN_PORTB_CB(READ8(mb89363b_device, i8255_a_port_b_r)) @@ -152,10 +152,6 @@ static MACHINE_CONFIG_START( mb89363b ) MCFG_I8255_OUT_PORTC_CB(WRITE8(mb89363b_device, i8255_b_port_c_w)) MACHINE_CONFIG_END -machine_config_constructor mb89363b_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( mb89363b ); -} void mb89363b_device::device_start() { diff --git a/src/devices/machine/mb89363b.h b/src/devices/machine/mb89363b.h index c5f4191db95..32e0b9177fd 100644 --- a/src/devices/machine/mb89363b.h +++ b/src/devices/machine/mb89363b.h @@ -71,20 +71,6 @@ public: DECLARE_READ8_MEMBER(read); DECLARE_WRITE8_MEMBER(write); - DECLARE_READ8_MEMBER(i8255_a_port_a_r); - DECLARE_READ8_MEMBER(i8255_a_port_b_r); - DECLARE_READ8_MEMBER(i8255_a_port_c_r); - DECLARE_WRITE8_MEMBER(i8255_a_port_a_w); - DECLARE_WRITE8_MEMBER(i8255_a_port_b_w); - DECLARE_WRITE8_MEMBER(i8255_a_port_c_w); - DECLARE_READ8_MEMBER(i8255_b_port_a_r); - DECLARE_READ8_MEMBER(i8255_b_port_b_r); - DECLARE_READ8_MEMBER(i8255_b_port_c_r); - DECLARE_WRITE8_MEMBER(i8255_b_port_a_w); - DECLARE_WRITE8_MEMBER(i8255_b_port_b_w); - DECLARE_WRITE8_MEMBER(i8255_b_port_c_w); - - template <class Object> static devcb_base &set_in_a_pa_callback(device_t &device, Object &&cb) { return downcast<mb89363b_device &>(device).m_in_a_pa_cb.set_callback(std::forward<Object>(cb)); } template <class Object> static devcb_base &set_in_a_pb_callback(device_t &device, Object &&cb) { return downcast<mb89363b_device &>(device).m_in_a_pb_cb.set_callback(std::forward<Object>(cb)); } template <class Object> static devcb_base &set_in_a_pc_callback(device_t &device, Object &&cb) { return downcast<mb89363b_device &>(device).m_in_a_pc_cb.set_callback(std::forward<Object>(cb)); } @@ -100,11 +86,24 @@ public: template <class Object> static devcb_base &set_out_b_pc_callback(device_t &device, Object &&cb) { return downcast<mb89363b_device &>(device).m_out_b_pc_cb.set_callback(std::forward<Object>(cb)); } protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; virtual void device_reset() override; private: + DECLARE_READ8_MEMBER(i8255_a_port_a_r); + DECLARE_READ8_MEMBER(i8255_a_port_b_r); + DECLARE_READ8_MEMBER(i8255_a_port_c_r); + DECLARE_WRITE8_MEMBER(i8255_a_port_a_w); + DECLARE_WRITE8_MEMBER(i8255_a_port_b_w); + DECLARE_WRITE8_MEMBER(i8255_a_port_c_w); + DECLARE_READ8_MEMBER(i8255_b_port_a_r); + DECLARE_READ8_MEMBER(i8255_b_port_b_r); + DECLARE_READ8_MEMBER(i8255_b_port_c_r); + DECLARE_WRITE8_MEMBER(i8255_b_port_a_w); + DECLARE_WRITE8_MEMBER(i8255_b_port_b_w); + DECLARE_WRITE8_MEMBER(i8255_b_port_c_w); + required_device<i8255_device> m_i8255_a; required_device<i8255_device> m_i8255_b; diff --git a/src/devices/machine/mc68681.cpp b/src/devices/machine/mc68681.cpp index 66bdc2853e2..c000feadd15 100644 --- a/src/devices/machine/mc68681.cpp +++ b/src/devices/machine/mc68681.cpp @@ -61,17 +61,6 @@ DEFINE_DEVICE_TYPE(MC68681, mc68681_device, "mc68681", "MC68681 DUART") DEFINE_DEVICE_TYPE(SC28C94, sc28c94_device, "sc28c94", "SC28C94 QUART") DEFINE_DEVICE_TYPE(MC68681_CHANNEL, mc68681_channel, "mc68681_channel", "MC68681 DUART channel") -MACHINE_CONFIG_START( duart68681 ) - MCFG_DEVICE_ADD(CHANA_TAG, MC68681_CHANNEL, 0) - MCFG_DEVICE_ADD(CHANB_TAG, MC68681_CHANNEL, 0) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START( quart28c94 ) - MCFG_DEVICE_ADD(CHANA_TAG, MC68681_CHANNEL, 0) - MCFG_DEVICE_ADD(CHANB_TAG, MC68681_CHANNEL, 0) - MCFG_DEVICE_ADD(CHANC_TAG, MC68681_CHANNEL, 0) - MCFG_DEVICE_ADD(CHAND_TAG, MC68681_CHANNEL, 0) -MACHINE_CONFIG_END //************************************************************************** // LIVE DEVICE @@ -170,15 +159,17 @@ void mc68681_base_device::device_reset() write_outport(OPR ^ 0xff); } -machine_config_constructor mc68681_base_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( duart68681 ); -} +MACHINE_CONFIG_MEMBER( mc68681_base_device::device_add_mconfig ) + MCFG_DEVICE_ADD(CHANA_TAG, MC68681_CHANNEL, 0) + MCFG_DEVICE_ADD(CHANB_TAG, MC68681_CHANNEL, 0) +MACHINE_CONFIG_END -machine_config_constructor sc28c94_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( quart28c94 ); -} +MACHINE_CONFIG_MEMBER( sc28c94_device::device_add_mconfig ) + MCFG_DEVICE_ADD(CHANA_TAG, MC68681_CHANNEL, 0) + MCFG_DEVICE_ADD(CHANB_TAG, MC68681_CHANNEL, 0) + MCFG_DEVICE_ADD(CHANC_TAG, MC68681_CHANNEL, 0) + MCFG_DEVICE_ADD(CHAND_TAG, MC68681_CHANNEL, 0) +MACHINE_CONFIG_END void mc68681_base_device::update_interrupts() { diff --git a/src/devices/machine/mc68681.h b/src/devices/machine/mc68681.h index 90bc1a4a2d3..f296866080b 100644 --- a/src/devices/machine/mc68681.h +++ b/src/devices/machine/mc68681.h @@ -147,7 +147,7 @@ protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; devcb_write_line write_irq, write_a_tx, write_b_tx, write_c_tx, write_d_tx; devcb_read8 read_inport; @@ -226,7 +226,7 @@ public: virtual DECLARE_WRITE8_MEMBER(write) override; protected: - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; private: }; diff --git a/src/devices/machine/mos6551.cpp b/src/devices/machine/mos6551.cpp index 33742b7dd95..1550772ae55 100644 --- a/src/devices/machine/mos6551.cpp +++ b/src/devices/machine/mos6551.cpp @@ -63,15 +63,11 @@ const int mos6551_device::transmitter_controls[4][3] = {0, 1, 1} }; -static MACHINE_CONFIG_START( mos6551 ) +MACHINE_CONFIG_MEMBER( mos6551_device::device_add_mconfig ) MCFG_DEVICE_ADD("clock", CLOCK, 0) MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(mos6551_device, internal_clock)) MACHINE_CONFIG_END -machine_config_constructor mos6551_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( mos6551 ); -} void mos6551_device::device_start() { diff --git a/src/devices/machine/mos6551.h b/src/devices/machine/mos6551.h index febcbc3078f..4e3ae657e59 100644 --- a/src/devices/machine/mos6551.h +++ b/src/devices/machine/mos6551.h @@ -70,14 +70,12 @@ public: DECLARE_WRITE_LINE_MEMBER(write_dsr); DECLARE_WRITE_LINE_MEMBER(write_dcd); - DECLARE_WRITE_LINE_MEMBER(internal_clock); - void set_xtal(uint32_t clock); protected: virtual void device_start() override; virtual void device_reset() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; private: enum @@ -145,6 +143,7 @@ private: int stoplength(); + DECLARE_WRITE_LINE_MEMBER(internal_clock); DECLARE_WRITE_LINE_MEMBER(receiver_clock); DECLARE_WRITE_LINE_MEMBER(transmitter_clock); diff --git a/src/devices/machine/mpu401.cpp b/src/devices/machine/mpu401.cpp index bab916f6f6a..250394601aa 100644 --- a/src/devices/machine/mpu401.cpp +++ b/src/devices/machine/mpu401.cpp @@ -70,18 +70,6 @@ static ADDRESS_MAP_START( mpu401_io_map, AS_IO, 8, mpu401_device ) AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READWRITE(port2_r, port2_w) ADDRESS_MAP_END -MACHINE_CONFIG_START( mpu401 ) - MCFG_CPU_ADD(M6801_TAG, M6801, 4000000) /* 4 MHz as per schematics */ - MCFG_CPU_PROGRAM_MAP(mpu401_map) - MCFG_CPU_IO_MAP(mpu401_io_map) - MCFG_M6801_SER_TX(DEVWRITELINE(MIDIOUT_TAG, midi_port_device, write_txd)) - - MCFG_MIDI_PORT_ADD(MIDIIN_TAG, midiin_slot, "midiin") - MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, mpu401_device, midi_rx_w)) - - MCFG_MIDI_PORT_ADD(MIDIOUT_TAG, midiout_slot, "midiout") -MACHINE_CONFIG_END - ROM_START( mpu401 ) ROM_REGION(0x1000, ROM_TAG, 0) ROM_LOAD( "roland_6801v0b55p.bin", 0x000000, 0x001000, CRC(65d3a151) SHA1(00efbfb96aeb997b69bb16981c6751d3c784bb87) ) @@ -94,14 +82,20 @@ ROM_END DEFINE_DEVICE_TYPE(MPU401, mpu401_device, "mpu401", "Roland MPU-401 I/O box") //------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations +// device_add_mconfig - add device configuration //------------------------------------------------- -machine_config_constructor mpu401_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( mpu401 ); -} +MACHINE_CONFIG_MEMBER( mpu401_device::device_add_mconfig ) + MCFG_CPU_ADD(M6801_TAG, M6801, 4000000) /* 4 MHz as per schematics */ + MCFG_CPU_PROGRAM_MAP(mpu401_map) + MCFG_CPU_IO_MAP(mpu401_io_map) + MCFG_M6801_SER_TX(DEVWRITELINE(MIDIOUT_TAG, midi_port_device, write_txd)) + + MCFG_MIDI_PORT_ADD(MIDIIN_TAG, midiin_slot, "midiin") + MCFG_MIDI_RX_HANDLER(DEVWRITELINE(DEVICE_SELF, mpu401_device, midi_rx_w)) + + MCFG_MIDI_PORT_ADD(MIDIOUT_TAG, midiout_slot, "midiout") +MACHINE_CONFIG_END //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/machine/mpu401.h b/src/devices/machine/mpu401.h index 3dc68b657ae..d890a525bff 100644 --- a/src/devices/machine/mpu401.h +++ b/src/devices/machine/mpu401.h @@ -24,11 +24,6 @@ public: // construction/destruction mpu401_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; - - required_device<m6801_cpu_device> m_ourcpu; - template <class Write> devcb_base &set_irqf(Write &&wr) { return write_irq.set_callback(std::forward<Write>(wr)); @@ -42,7 +37,6 @@ public: DECLARE_WRITE8_MEMBER(port1_w); DECLARE_READ8_MEMBER(port2_r); DECLARE_WRITE8_MEMBER(port2_w); - DECLARE_WRITE_LINE_MEMBER(midi_rx_w); // public API - call for reads/writes at I/O 330/331 on PC, C0n0/C0n1 on Apple II, etc. DECLARE_READ8_MEMBER(mpu_r); @@ -54,8 +48,13 @@ protected: virtual void device_reset() override; virtual const tiny_rom_entry *device_rom_region() const override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; + virtual void device_add_mconfig(machine_config &config) override; private: + DECLARE_WRITE_LINE_MEMBER(midi_rx_w); + + required_device<m6801_cpu_device> m_ourcpu; + devcb_write_line write_irq; uint8_t m_port2; diff --git a/src/devices/machine/nscsi_cd.cpp b/src/devices/machine/nscsi_cd.cpp index e81d3a57bc9..3f3c97589cc 100644 --- a/src/devices/machine/nscsi_cd.cpp +++ b/src/devices/machine/nscsi_cd.cpp @@ -31,15 +31,11 @@ void nscsi_cdrom_device::device_reset() cur_lba = -1; } -static MACHINE_CONFIG_START(scsi_cdrom) +MACHINE_CONFIG_MEMBER(nscsi_cdrom_device::device_add_mconfig) MCFG_CDROM_ADD("image") MCFG_CDROM_INTERFACE("cdrom") MACHINE_CONFIG_END -machine_config_constructor nscsi_cdrom_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(scsi_cdrom); -} uint8_t nscsi_cdrom_device::scsi_get_data(int id, int pos) { diff --git a/src/devices/machine/nscsi_cd.h b/src/devices/machine/nscsi_cd.h index 34631b5e246..a425a473771 100644 --- a/src/devices/machine/nscsi_cd.h +++ b/src/devices/machine/nscsi_cd.h @@ -12,11 +12,11 @@ class nscsi_cdrom_device : public nscsi_full_device { public: nscsi_cdrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; protected: virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; virtual void scsi_command() override; virtual uint8_t scsi_get_data(int id, int pos) override; diff --git a/src/devices/machine/nscsi_hd.cpp b/src/devices/machine/nscsi_hd.cpp index d6bbb504f23..a3931a9a82d 100644 --- a/src/devices/machine/nscsi_hd.cpp +++ b/src/devices/machine/nscsi_hd.cpp @@ -41,15 +41,11 @@ void nscsi_harddisk_device::device_reset() cur_lba = -1; } -static MACHINE_CONFIG_START(scsi_harddisk) +MACHINE_CONFIG_MEMBER(nscsi_harddisk_device::device_add_mconfig) MCFG_HARDDISK_ADD("image") MCFG_HARDDISK_INTERFACE("scsi_hdd") MACHINE_CONFIG_END -machine_config_constructor nscsi_harddisk_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(scsi_harddisk); -} uint8_t nscsi_harddisk_device::scsi_get_data(int id, int pos) { diff --git a/src/devices/machine/nscsi_hd.h b/src/devices/machine/nscsi_hd.h index 9032fe35c2d..5526e6095be 100644 --- a/src/devices/machine/nscsi_hd.h +++ b/src/devices/machine/nscsi_hd.h @@ -13,13 +13,12 @@ class nscsi_harddisk_device : public nscsi_full_device public: nscsi_harddisk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - virtual machine_config_constructor device_mconfig_additions() const override; - protected: nscsi_harddisk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); virtual void device_start() override; virtual void device_reset() override; + virtual void device_add_mconfig(machine_config &config) override; virtual void scsi_command() override; virtual uint8_t scsi_get_data(int id, int pos) override; diff --git a/src/devices/machine/pc_fdc.cpp b/src/devices/machine/pc_fdc.cpp index e493810b682..08ef0ca87e3 100644 --- a/src/devices/machine/pc_fdc.cpp +++ b/src/devices/machine/pc_fdc.cpp @@ -19,12 +19,6 @@ DEFINE_DEVICE_TYPE(PC_FDC_XT, pc_fdc_xt_device, "pc_fdc_xt", "PC FDC (XT)") DEFINE_DEVICE_TYPE(PC_FDC_AT, pc_fdc_at_device, "pc_fdc_at", "PC FDC (AT)") -static MACHINE_CONFIG_START( cfg ) - MCFG_UPD765A_ADD("upd765", false, false) - MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(pc_fdc_family_device, irq_w)) - MCFG_UPD765_DRQ_CALLBACK(WRITELINE(pc_fdc_family_device, drq_w)) -MACHINE_CONFIG_END - DEVICE_ADDRESS_MAP_START(map, 8, pc_fdc_family_device) ADDRESS_MAP_END @@ -67,10 +61,11 @@ void pc_fdc_family_device::dma_w(uint8_t data) fdc->dma_w(data); } -machine_config_constructor pc_fdc_family_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(cfg); -} +MACHINE_CONFIG_MEMBER( pc_fdc_family_device::device_add_mconfig ) + MCFG_UPD765A_ADD("upd765", false, false) + MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(pc_fdc_family_device, irq_w)) + MCFG_UPD765_DRQ_CALLBACK(WRITELINE(pc_fdc_family_device, drq_w)) +MACHINE_CONFIG_END void pc_fdc_family_device::device_start() { diff --git a/src/devices/machine/pc_fdc.h b/src/devices/machine/pc_fdc.h index a4df81fd23f..5881cfc6fce 100644 --- a/src/devices/machine/pc_fdc.h +++ b/src/devices/machine/pc_fdc.h @@ -41,8 +41,6 @@ public: WRITE8_MEMBER(dor_w); READ8_MEMBER(dir_r); WRITE8_MEMBER(ccr_w); - DECLARE_WRITE_LINE_MEMBER( irq_w ); - DECLARE_WRITE_LINE_MEMBER( drq_w ); required_device<upd765a_device> fdc; @@ -51,7 +49,11 @@ protected: virtual void device_start() override; virtual void device_reset() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; + +private: + DECLARE_WRITE_LINE_MEMBER( irq_w ); + DECLARE_WRITE_LINE_MEMBER( drq_w ); bool irq, drq, fdc_drq, fdc_irq; devcb_write_line intrq_cb, drq_cb; diff --git a/src/devices/machine/pc_lpt.cpp b/src/devices/machine/pc_lpt.cpp index f52e32ab538..db9f4639d93 100644 --- a/src/devices/machine/pc_lpt.cpp +++ b/src/devices/machine/pc_lpt.cpp @@ -46,7 +46,7 @@ void pc_lpt_device::device_reset() m_cent_ctrl_out->write(m_control); } -static MACHINE_CONFIG_START( pc_lpt ) +MACHINE_CONFIG_MEMBER( pc_lpt_device::device_add_mconfig ) MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer") MCFG_CENTRONICS_DATA_INPUT_BUFFER("cent_data_in") MCFG_CENTRONICS_FAULT_HANDLER(DEVWRITELINE("cent_status_in", input_buffer_device, write_bit3)) @@ -74,10 +74,6 @@ static MACHINE_CONFIG_START( pc_lpt ) MCFG_OUTPUT_LATCH_BIT4_HANDLER(WRITELINE(pc_lpt_device, write_irq_enabled)) MACHINE_CONFIG_END -machine_config_constructor pc_lpt_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( pc_lpt ); -} READ8_MEMBER( pc_lpt_device::data_r ) { diff --git a/src/devices/machine/pc_lpt.h b/src/devices/machine/pc_lpt.h index 9dfb4764259..9d8aaf83164 100644 --- a/src/devices/machine/pc_lpt.h +++ b/src/devices/machine/pc_lpt.h @@ -37,17 +37,16 @@ public: DECLARE_READ8_MEMBER( control_r ); DECLARE_WRITE8_MEMBER( control_w ); - DECLARE_WRITE_LINE_MEMBER( write_irq_enabled ); - DECLARE_WRITE_LINE_MEMBER( write_centronics_ack ); - protected: // device-level overrides virtual void device_start() override; virtual void device_reset() override; - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; private: void update_irq(); + DECLARE_WRITE_LINE_MEMBER( write_irq_enabled ); + DECLARE_WRITE_LINE_MEMBER( write_centronics_ack ); enum { diff --git a/src/devices/machine/pci-ide.cpp b/src/devices/machine/pci-ide.cpp index 154882e8132..b88049a7258 100644 --- a/src/devices/machine/pci-ide.cpp +++ b/src/devices/machine/pci-ide.cpp @@ -46,7 +46,7 @@ DEVICE_ADDRESS_MAP_START(bus_master_map, 32, ide_pci_device) AM_RANGE(0x8, 0xf) AM_DEVREADWRITE("ide2", bus_master_ide_controller_device, bmdma_r, bmdma_w) ADDRESS_MAP_END -static MACHINE_CONFIG_START(pci_ide) +MACHINE_CONFIG_MEMBER(ide_pci_device::device_add_mconfig) MCFG_BUS_MASTER_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", "cdrom", true) MCFG_ATA_INTERFACE_IRQ_HANDLER(WRITELINE(ide_pci_device, ide_interrupt)) //MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(":maincpu", AS_PROGRAM) @@ -57,11 +57,6 @@ static MACHINE_CONFIG_START(pci_ide) MCFG_BUS_MASTER_IDE_CONTROLLER_SPACE(":pci:00.0", AS_DATA) MACHINE_CONFIG_END -machine_config_constructor ide_pci_device::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME(pci_ide); -} - void ide_pci_device::set_irq_info(const char *tag, const int irq_num) { m_cpu_tag = tag; diff --git a/src/devices/machine/pci-ide.h b/src/devices/machine/pci-ide.h index f3849fb1515..1171cc761d9 100644 --- a/src/devices/machine/pci-ide.h +++ b/src/devices/machine/pci-ide.h @@ -43,7 +43,6 @@ public: required_device<bus_master_ide_controller_device> m_ide; required_device<bus_master_ide_controller_device> m_ide2; virtual DECLARE_ADDRESS_MAP(config_map, 32) override; - DECLARE_WRITE_LINE_MEMBER(ide_interrupt); DECLARE_READ32_MEMBER(ide_read_cs1); DECLARE_WRITE32_MEMBER(ide_write_cs1); DECLARE_READ32_MEMBER(ide2_read_cs1); @@ -58,9 +57,16 @@ protected: virtual void device_reset() override; // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const override; + virtual void device_add_mconfig(machine_config &config) override; private: + DECLARE_WRITE_LINE_MEMBER(ide_interrupt); + DECLARE_WRITE8_MEMBER(prog_if_w); + DECLARE_READ32_MEMBER(pcictrl_r); + DECLARE_WRITE32_MEMBER(pcictrl_w); + DECLARE_READ32_MEMBER(address_base_r); + DECLARE_WRITE32_MEMBER(address_base_w); + const char *m_cpu_tag; cpu_device *m_cpu; int m_irq_num; @@ -76,11 +82,6 @@ private: DECLARE_ADDRESS_MAP(chan2_data_command_map, 32); DECLARE_ADDRESS_MAP(chan2_control_map, 32); DECLARE_ADDRESS_MAP(bus_master_map, 32); - DECLARE_WRITE8_MEMBER(prog_if_w); - DECLARE_READ32_MEMBER(pcictrl_r); - DECLARE_WRITE32_MEMBER(pcictrl_w); - DECLARE_READ32_MEMBER(address_base_r); - DECLARE_WRITE32_MEMBER(address_base_w); }; DECLARE_DEVICE_TYPE(IDE_PCI, ide_pci_device) diff --git a/src/mame/drivers/galgames.cpp b/src/mame/drivers/galgames.cpp index ab44b5053d1..4e9801eea50 100644 --- a/src/mame/drivers/galgames.cpp +++ b/src/mame/drivers/galgames.cpp @@ -106,7 +106,6 @@ protected: bool is_selected(); - machine_config_constructor m_mconfig_additions; uint8_t m_cart; // SLOT @@ -317,7 +316,6 @@ galgames_cart_device::galgames_cart_device( uint32_t clock): device_t(mconfig, type, tag, owner, clock), device_rom_interface(mconfig, *this, 21, ENDIANNESS_BIG, 16), - m_mconfig_additions(nullptr), m_cart(0), m_slot(*this, "^slot"), m_eeprom(*this, "eeprom"), diff --git a/src/mame/includes/harddriv.h b/src/mame/includes/harddriv.h index d8f140c3cf5..0588a37b445 100644 --- a/src/mame/includes/harddriv.h +++ b/src/mame/includes/harddriv.h @@ -463,7 +463,6 @@ protected: optional_device<rs232_port_device> m_rs232; protected: - //virtual machine_config_constructor device_mconfig_additions() const; virtual void device_start() override; virtual void device_reset() override; }; |