device_add_mconfig up to devices/bus/o* (nw)

This commit is contained in:
Ivan Vangelista 2017-06-12 18:28:13 +02:00
parent 9c66b2fe15
commit 1e059434c3
146 changed files with 744 additions and 1276 deletions

View File

@ -41,14 +41,6 @@
#define VRAM_SIZE (256*1024) // PCB has a jumper for 1MByte; may require different EPROMs #define VRAM_SIZE (256*1024) // PCB has a jumper for 1MByte; may require different EPROMs
MACHINE_CONFIG_START( sedisplay )
MCFG_SCREEN_ADD( SEDISPLAY_SCREEN_NAME, RASTER)
MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, macpds_sedisplay_device, screen_update)
MCFG_SCREEN_SIZE(1280, 960)
MCFG_SCREEN_REFRESH_RATE(70)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 870-1)
MACHINE_CONFIG_END
ROM_START( sedisplay ) ROM_START( sedisplay )
ROM_REGION(0x10000, SEDISPLAY_ROM_REGION, ROMREGION_16BIT|ROMREGION_BE) ROM_REGION(0x10000, SEDISPLAY_ROM_REGION, ROMREGION_16BIT|ROMREGION_BE)
ROM_LOAD16_BYTE( "tfd_fpd-asic_u6_297-0205-a_v4_1", 0x0000, 0x8000, CRC(fd363f45) SHA1(3c4c596654647ee6ce1880de329aa675d298dc26) ) ROM_LOAD16_BYTE( "tfd_fpd-asic_u6_297-0205-a_v4_1", 0x0000, 0x8000, CRC(fd363f45) SHA1(3c4c596654647ee6ce1880de329aa675d298dc26) )
@ -63,14 +55,16 @@ DEFINE_DEVICE_TYPE(PDS_SEDISPLAY, macpds_sedisplay_device, "pds_sefp", "Radius S
//------------------------------------------------- //-------------------------------------------------
// machine_config_additions - device-specific // device_add_mconfig - add device configuration
// machine configurations
//------------------------------------------------- //-------------------------------------------------
machine_config_constructor macpds_sedisplay_device::device_mconfig_additions() const MACHINE_CONFIG_MEMBER( macpds_sedisplay_device::device_add_mconfig )
{ MCFG_SCREEN_ADD( SEDISPLAY_SCREEN_NAME, RASTER)
return MACHINE_CONFIG_NAME( sedisplay ); MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, macpds_sedisplay_device, screen_update)
} MCFG_SCREEN_SIZE(1280, 960)
MCFG_SCREEN_REFRESH_RATE(70)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 870-1)
MACHINE_CONFIG_END
//------------------------------------------------- //-------------------------------------------------
// rom_region - device-specific ROM region // rom_region - device-specific ROM region

View File

@ -22,12 +22,6 @@ public:
// construction/destruction // construction/destruction
macpds_sedisplay_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); macpds_sedisplay_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;
virtual const tiny_rom_entry *device_rom_region() const override;
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
protected: protected:
macpds_sedisplay_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); macpds_sedisplay_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@ -36,11 +30,18 @@ protected:
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
private:
DECLARE_READ16_MEMBER(sedisplay_r); DECLARE_READ16_MEMBER(sedisplay_r);
DECLARE_WRITE16_MEMBER(sedisplay_w); DECLARE_WRITE16_MEMBER(sedisplay_w);
DECLARE_READ16_MEMBER(ramdac_r); DECLARE_READ16_MEMBER(ramdac_r);
DECLARE_WRITE16_MEMBER(ramdac_w); DECLARE_WRITE16_MEMBER(ramdac_w);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
std::unique_ptr<uint8_t[]> m_vram; std::unique_ptr<uint8_t[]> m_vram;
uint32_t m_vbl_disable; uint32_t m_vbl_disable;
uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs; uint32_t m_palette[256], m_colors[3], m_count, m_clutoffs;

View File

@ -104,71 +104,36 @@ md_eeprom_blara_device::md_eeprom_blara_device(const machine_config &mconfig, co
//------------------------------------------------- //-------------------------------------------------
// SERIAL I2C DEVICE // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_MEMBER( md_std_eeprom_device::device_add_mconfig )
// MD_STD_EEPROM & MD_EEPROM_NHLPA
MACHINE_CONFIG_START( md_i2c_24c01 )
MCFG_24C01_ADD("i2cmem") MCFG_24C01_ADD("i2cmem")
MACHINE_CONFIG_END MACHINE_CONFIG_END
// MD_EEPROM_NBAJAM & MD_EEPROM_NBAJAMTE MACHINE_CONFIG_MEMBER( md_eeprom_nbajam_device::device_add_mconfig )
MACHINE_CONFIG_START( md_i2c_24c02 )
MCFG_24C02_ADD("i2cmem") MCFG_24C02_ADD("i2cmem")
MACHINE_CONFIG_END MACHINE_CONFIG_END
// MD_EEPROM_NFLQB MACHINE_CONFIG_MEMBER( md_eeprom_nbajamte_device::device_add_mconfig )
MACHINE_CONFIG_START( md_i2c_24c16 ) MCFG_24C02_ADD("i2cmem")
MCFG_24C16_ADD("i2cmem")
MACHINE_CONFIG_END MACHINE_CONFIG_END
// MD_EEPROM_CSLAM & MD_EEPROM_BLARA MACHINE_CONFIG_MEMBER( md_eeprom_cslam_device::device_add_mconfig )
MACHINE_CONFIG_START( md_i2c_24c64 )
MCFG_24C64_ADD("i2cmem") MCFG_24C64_ADD("i2cmem")
MACHINE_CONFIG_END MACHINE_CONFIG_END
MACHINE_CONFIG_MEMBER( md_eeprom_nflqb_device::device_add_mconfig )
MCFG_24C16_ADD("i2cmem")
MACHINE_CONFIG_END
//------------------------------------------------- MACHINE_CONFIG_MEMBER( md_eeprom_nhlpa_device::device_add_mconfig )
// machine_config_additions - device-specific MCFG_24C01_ADD("i2cmem")
// machine configurations MACHINE_CONFIG_END
//-------------------------------------------------
machine_config_constructor md_std_eeprom_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( md_i2c_24c01 );
}
machine_config_constructor md_eeprom_nbajam_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( md_i2c_24c02 );
}
machine_config_constructor md_eeprom_nbajamte_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( md_i2c_24c02 );
}
machine_config_constructor md_eeprom_cslam_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( md_i2c_24c64 );
}
machine_config_constructor md_eeprom_nflqb_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( md_i2c_24c16 );
}
machine_config_constructor md_eeprom_nhlpa_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( md_i2c_24c01 );
}
machine_config_constructor md_eeprom_blara_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( md_i2c_24c64 );
}
MACHINE_CONFIG_MEMBER( md_eeprom_blara_device::device_add_mconfig )
MCFG_24C64_ADD("i2cmem")
MACHINE_CONFIG_END
void md_std_eeprom_device::device_start() void md_std_eeprom_device::device_start()
{ {

View File

@ -22,18 +22,18 @@ public:
// construction/destruction // construction/destruction
md_std_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); md_std_eeprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
md_std_eeprom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(read) override; virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override; virtual DECLARE_WRITE16_MEMBER(write) override;
protected:
md_std_eeprom_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
required_device<i2cmem_device> m_i2cmem; required_device<i2cmem_device> m_i2cmem;
uint8_t m_i2c_mem, m_i2c_clk; uint8_t m_i2c_mem, m_i2c_clk;
}; };
@ -46,8 +46,9 @@ public:
// construction/destruction // construction/destruction
md_eeprom_nbajam_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); md_eeprom_nbajam_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides // device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(read) override; virtual DECLARE_READ16_MEMBER(read) override;
@ -62,8 +63,9 @@ public:
// construction/destruction // construction/destruction
md_eeprom_nbajamte_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); md_eeprom_nbajamte_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides // device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(read) override; virtual DECLARE_READ16_MEMBER(read) override;
@ -78,8 +80,9 @@ public:
// construction/destruction // construction/destruction
md_eeprom_cslam_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); md_eeprom_cslam_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides // device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(read) override; virtual DECLARE_READ16_MEMBER(read) override;
@ -94,8 +97,9 @@ public:
// construction/destruction // construction/destruction
md_eeprom_nflqb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); md_eeprom_nflqb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides // device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(read) override; virtual DECLARE_READ16_MEMBER(read) override;
@ -110,8 +114,9 @@ public:
// construction/destruction // construction/destruction
md_eeprom_nhlpa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); md_eeprom_nhlpa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides // device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(read) override; virtual DECLARE_READ16_MEMBER(read) override;
@ -126,8 +131,9 @@ public:
// construction/destruction // construction/destruction
md_eeprom_blara_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); md_eeprom_blara_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides // device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(read) override; virtual DECLARE_READ16_MEMBER(read) override;

View File

@ -157,9 +157,6 @@ WRITE16_MEMBER(md_rom_ggenie_device::write)
} }
} }
//-------------------------------------------------
// MACHINE_CONFIG_START( ggenie_slot )
//-------------------------------------------------
static SLOT_INTERFACE_START(ggenie_sub_cart) static SLOT_INTERFACE_START(ggenie_sub_cart)
SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM) SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM)
@ -169,18 +166,12 @@ static SLOT_INTERFACE_START(ggenie_sub_cart)
SLOT_INTERFACE_INTERNAL("rom_fram", MD_ROM_FRAM) SLOT_INTERFACE_INTERNAL("rom_fram", MD_ROM_FRAM)
SLOT_INTERFACE_END SLOT_INTERFACE_END
static MACHINE_CONFIG_START( ggenie_slot )
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( md_rom_ggenie_device::device_add_mconfig )
MCFG_MD_CARTRIDGE_ADD("subslot", ggenie_sub_cart, nullptr) MCFG_MD_CARTRIDGE_ADD("subslot", ggenie_sub_cart, nullptr)
MCFG_MD_CARTRIDGE_NOT_MANDATORY MCFG_MD_CARTRIDGE_NOT_MANDATORY
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor md_rom_ggenie_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( ggenie_slot );
}

View File

@ -17,17 +17,17 @@ public:
// construction/destruction // construction/destruction
md_rom_ggenie_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); md_rom_ggenie_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
virtual void device_start() override;
virtual void device_reset() override;
// device-level overrides // device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(read) override; virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override; virtual DECLARE_WRITE16_MEMBER(write) override;
protected:
virtual void device_start() override;
virtual void device_reset() override;
private: private:
required_device<md_cart_slot_device> m_exp; required_device<md_cart_slot_device> m_exp;
uint16_t m_gg_regs[0x20]; uint16_t m_gg_regs[0x20];

View File

@ -77,9 +77,7 @@ md_seprom_mm96_device::md_seprom_mm96_device(const machine_config &mconfig, cons
//------------------------------------------------- //-------------------------------------------------
// MD_SEPROM_CODEMAST // MD_SEPROM_CODEMAST
MACHINE_CONFIG_START( md_i2c_24c08 )
MCFG_24C08_ADD("i2cmem")
MACHINE_CONFIG_END
// MD_SEPROM_MM96 // MD_SEPROM_MM96
MACHINE_CONFIG_START( md_i2c_24c16a ) MACHINE_CONFIG_START( md_i2c_24c16a )
@ -88,19 +86,16 @@ MACHINE_CONFIG_END
//------------------------------------------------- //-------------------------------------------------
// machine_config_additions - device-specific // device_add_mconfig - add device configuration
// machine configurations
//------------------------------------------------- //-------------------------------------------------
machine_config_constructor md_seprom_codemast_device::device_mconfig_additions() const MACHINE_CONFIG_MEMBER( md_seprom_codemast_device::device_add_mconfig )
{ MCFG_24C08_ADD("i2cmem")
return MACHINE_CONFIG_NAME( md_i2c_24c08 ); MACHINE_CONFIG_END
}
machine_config_constructor md_seprom_mm96_device::device_mconfig_additions() const MACHINE_CONFIG_MEMBER( md_seprom_mm96_device::device_add_mconfig )
{ MCFG_24C16A_ADD("i2cmem")
return MACHINE_CONFIG_NAME( md_i2c_24c16a ); MACHINE_CONFIG_END
}
static INPUT_PORTS_START( jcart_ipt ) static INPUT_PORTS_START( jcart_ipt )

View File

@ -48,19 +48,19 @@ public:
// construction/destruction // construction/destruction
md_seprom_codemast_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); md_seprom_codemast_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
protected: protected:
md_seprom_codemast_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); md_seprom_codemast_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_start() override;
virtual void device_reset() override; virtual void device_reset() override;
// device-level overrides
virtual void device_add_mconfig(machine_config &config) override;
// reading and writing
virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override;
required_device<i2cmem_device> m_i2cmem; required_device<i2cmem_device> m_i2cmem;
private: private:
@ -76,8 +76,9 @@ public:
// construction/destruction // construction/destruction
md_seprom_mm96_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); md_seprom_mm96_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides // device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
}; };

View File

@ -63,9 +63,6 @@ WRITE16_MEMBER(md_rom_sk_device::write)
// should there be anything here? // should there be anything here?
} }
//-------------------------------------------------
// MACHINE_CONFIG_START( sk_slot )
//-------------------------------------------------
static SLOT_INTERFACE_START(sk_sub_cart) static SLOT_INTERFACE_START(sk_sub_cart)
SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM) SLOT_INTERFACE_INTERNAL("rom", MD_STD_ROM)
@ -76,18 +73,12 @@ static SLOT_INTERFACE_START(sk_sub_cart)
// add all types?? // add all types??
SLOT_INTERFACE_END SLOT_INTERFACE_END
static MACHINE_CONFIG_START( sk_slot )
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( md_rom_sk_device::device_add_mconfig )
MCFG_MD_CARTRIDGE_ADD("subslot", sk_sub_cart, nullptr) MCFG_MD_CARTRIDGE_ADD("subslot", sk_sub_cart, nullptr)
MCFG_MD_CARTRIDGE_NOT_MANDATORY MCFG_MD_CARTRIDGE_NOT_MANDATORY
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor md_rom_sk_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sk_slot );
}

View File

@ -17,17 +17,18 @@ public:
// construction/destruction // construction/destruction
md_rom_sk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); md_rom_sk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
md_rom_sk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
// device-level overrides // device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(read) override; virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override; virtual DECLARE_WRITE16_MEMBER(write) override;
protected:
md_rom_sk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
private: private:
required_device<md_cart_slot_device> m_exp; required_device<md_cart_slot_device> m_exp;
}; };

View File

@ -340,26 +340,17 @@ ADDRESS_MAP_START( md_svp_ext_map, AS_IO, 16, md_rom_svp_device )
AM_RANGE(7*2, 7*2+1) AM_READWRITE(read_al, write_al) AM_RANGE(7*2, 7*2+1) AM_READWRITE(read_al, write_al)
ADDRESS_MAP_END ADDRESS_MAP_END
//------------------------------------------------- //-------------------------------------------------
// MACHINE_DRIVER( md_svp ) // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
static MACHINE_CONFIG_START( md_svp ) MACHINE_CONFIG_MEMBER( md_rom_svp_device::device_add_mconfig )
MCFG_CPU_ADD("svp", SSP1601, MASTER_CLOCK_NTSC / 7 * 3) /* ~23 MHz (guessed) */ MCFG_CPU_ADD("svp", SSP1601, MASTER_CLOCK_NTSC / 7 * 3) /* ~23 MHz (guessed) */
MCFG_CPU_PROGRAM_MAP(md_svp_ssp_map) MCFG_CPU_PROGRAM_MAP(md_svp_ssp_map)
MCFG_CPU_IO_MAP(md_svp_ext_map) MCFG_CPU_IO_MAP(md_svp_ext_map)
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor md_rom_svp_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( md_svp );
}
ioport_constructor md_rom_svp_device::device_input_ports() const ioport_constructor md_rom_svp_device::device_input_ports() const
{ {
return INPUT_PORTS_NAME( md_svp ); return INPUT_PORTS_NAME( md_svp );

View File

@ -19,11 +19,6 @@ public:
// construction/destruction // construction/destruction
md_rom_svp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); md_rom_svp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual ioport_constructor device_input_ports() const override;
virtual void set_bank_to_rom(const char *banktag, uint32_t offset) override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(read) override; virtual DECLARE_READ16_MEMBER(read) override;
virtual DECLARE_WRITE16_MEMBER(write) override; virtual DECLARE_WRITE16_MEMBER(write) override;
@ -55,6 +50,11 @@ protected:
virtual void device_start() override; virtual void device_start() override;
// device-level overrides
virtual void device_add_mconfig(machine_config &config) override;
virtual ioport_constructor device_input_ports() const override;
virtual void set_bank_to_rom(const char *banktag, uint32_t offset) override;
required_device<device_t> m_svp; required_device<device_t> m_svp;
required_ioport m_test_ipt; required_ioport m_test_ipt;

View File

@ -2,7 +2,7 @@
// copyright-holders:R. Belmont // copyright-holders:R. Belmont
/********************************************************************* /*********************************************************************
midiinport.c midiinport.cpp
MIDI In serial port - glues the image device to the pluggable serial port MIDI In serial port - glues the image device to the pluggable serial port
@ -20,12 +20,7 @@ midiin_port_device::midiin_port_device(const machine_config &mconfig, const char
{ {
} }
static MACHINE_CONFIG_START(midiin_port_config) MACHINE_CONFIG_MEMBER(midiin_port_device::device_add_mconfig)
MCFG_DEVICE_ADD("midiinimg", MIDIIN, 0) MCFG_DEVICE_ADD("midiinimg", MIDIIN, 0)
MCFG_MIDIIN_INPUT_CB(WRITELINE(midiin_port_device, read)) MCFG_MIDIIN_INPUT_CB(WRITELINE(midiin_port_device, read))
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor midiin_port_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME(midiin_port_config);
}

View File

@ -22,14 +22,14 @@ class midiin_port_device : public device_t,
public: public:
midiin_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); midiin_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_WRITE_LINE_MEMBER( read ) { output_rxd(state); }
protected: protected:
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
virtual void device_start() override { m_owner = dynamic_cast<midi_port_device *>(owner()); } virtual void device_start() override { m_owner = dynamic_cast<midi_port_device *>(owner()); }
virtual void device_reset() override { } virtual void device_reset() override { }
private: private:
DECLARE_WRITE_LINE_MEMBER( read ) { output_rxd(state); }
required_device<midiin_device> m_midiin; required_device<midiin_device> m_midiin;
}; };

View File

@ -2,7 +2,7 @@
// copyright-holders:R. Belmont // copyright-holders:R. Belmont
/********************************************************************* /*********************************************************************
midioutport.c midioutport.cpp
MIDI Out serial port - glues the image device to the pluggable serial port MIDI Out serial port - glues the image device to the pluggable serial port
@ -20,11 +20,6 @@ midiout_port_device::midiout_port_device(const machine_config &mconfig, const ch
{ {
} }
static MACHINE_CONFIG_START(midiout_port_config) MACHINE_CONFIG_MEMBER(midiout_port_device::device_add_mconfig)
MCFG_MIDIOUT_ADD("midioutimg") MCFG_MIDIOUT_ADD("midioutimg")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor midiout_port_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME(midiout_port_config);
}

View File

@ -21,13 +21,13 @@ class midiout_port_device : public device_t,
{ {
public: public:
midiout_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); midiout_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) override { if (started()) m_midiout->tx(state); } virtual DECLARE_WRITE_LINE_MEMBER( input_txd ) override { if (started()) m_midiout->tx(state); }
protected: protected:
virtual void device_start() override { } virtual void device_start() override { }
virtual void device_reset() override { } virtual void device_reset() override { }
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<midiout_device> m_midiout; required_device<midiout_device> m_midiout;

View File

@ -38,7 +38,7 @@ static ADDRESS_MAP_START( bm_012_memory_map, AS_PROGRAM, 8, msx_cart_bm_012_devi
ADDRESS_MAP_END ADDRESS_MAP_END
static MACHINE_CONFIG_START( msx_cart_bm_012 ) MACHINE_CONFIG_MEMBER( msx_cart_bm_012_device::device_add_mconfig )
// 12MHz XTAL @ X1 // 12MHz XTAL @ X1
// Toshiba TMPZ84C015AF-6 (@U5) components: // Toshiba TMPZ84C015AF-6 (@U5) components:
// - Z80 // - Z80
@ -77,12 +77,6 @@ static MACHINE_CONFIG_START( msx_cart_bm_012 )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_bm_012_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( msx_cart_bm_012 );
}
ROM_START( msx_cart_bm_012 ) ROM_START( msx_cart_bm_012 )
ROM_REGION(0x8000, "tmpz84c015af", 0) ROM_REGION(0x8000, "tmpz84c015af", 0)
// The rom chip at U4 is a 27256, but it contains the same 8KB duplicated 4 times // The rom chip at U4 is a 27256, but it contains the same 8KB duplicated 4 times

View File

@ -18,16 +18,16 @@ class msx_cart_bm_012_device : public device_t, public msx_cart_interface
public: public:
msx_cart_bm_012_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_bm_012_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
DECLARE_WRITE_LINE_MEMBER(midi_in);
protected: protected:
virtual void device_start() override; virtual void device_start() override;
// device-level overrides
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
private: private:
DECLARE_WRITE_LINE_MEMBER(midi_in);
required_device<tmpz84c015_device> m_tmpz84c015af; required_device<tmpz84c015_device> m_tmpz84c015af;
required_device<z80pio_device> m_bm012_pio; required_device<z80pio_device> m_bm012_pio;
required_device<midi_port_device> m_mdthru; required_device<midi_port_device> m_mdthru;

View File

@ -194,7 +194,7 @@ void msx_cart_disk_device::initialize_cartridge()
} }
static MACHINE_CONFIG_START( vy0010 ) MACHINE_CONFIG_MEMBER( msx_cart_vy0010_device::device_add_mconfig )
// From VY-0010 schematic: // From VY-0010 schematic:
// HLT pulled high // HLT pulled high
// SSO/-ENMF + -DDEN + ENP + -5/8 - pulled low // SSO/-ENMF + -DDEN + ENP + -5/8 - pulled low
@ -213,14 +213,7 @@ static MACHINE_CONFIG_START( vy0010 )
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flop_list","msx1_flop") MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flop_list","msx1_flop")
MACHINE_CONFIG_END MACHINE_CONFIG_END
MACHINE_CONFIG_MEMBER( msx_cart_fsfd1_device::device_add_mconfig )
machine_config_constructor msx_cart_vy0010_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( vy0010 );
}
static MACHINE_CONFIG_START( fsfd1 )
MCFG_WD2793_ADD("fdc", XTAL_4MHz / 4) MCFG_WD2793_ADD("fdc", XTAL_4MHz / 4)
// Double sided 3.5" floppy drive // Double sided 3.5" floppy drive
@ -235,13 +228,7 @@ static MACHINE_CONFIG_START( fsfd1 )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_fsfd1_device::device_mconfig_additions() const MACHINE_CONFIG_MEMBER( msx_cart_fsfd1a_device::device_add_mconfig )
{
return MACHINE_CONFIG_NAME( fsfd1 );
}
static MACHINE_CONFIG_START( fsfd1a )
MCFG_TC8566AF_ADD("fdc") MCFG_TC8566AF_ADD("fdc")
// Double sided 3.5" floppy drive // Double sided 3.5" floppy drive
@ -256,13 +243,7 @@ static MACHINE_CONFIG_START( fsfd1a )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_fsfd1a_device::device_mconfig_additions() const MACHINE_CONFIG_MEMBER( msx_cart_fscf351_device::device_add_mconfig )
{
return MACHINE_CONFIG_NAME( fsfd1a );
}
static MACHINE_CONFIG_START( fscf351 )
MCFG_MB8877_ADD("fdc", XTAL_4MHz / 4) MCFG_MB8877_ADD("fdc", XTAL_4MHz / 4)
MCFG_WD_FDC_FORCE_READY MCFG_WD_FDC_FORCE_READY
@ -278,12 +259,6 @@ static MACHINE_CONFIG_START( fscf351 )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_fscf351_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( fscf351 );
}
void msx_cart_disk_type1_device::device_start() void msx_cart_disk_type1_device::device_start()
{ {
save_item(NAME(m_side_control)); save_item(NAME(m_side_control));

View File

@ -23,14 +23,14 @@ class msx_cart_disk_device : public device_t, public msx_cart_interface
public: public:
virtual void initialize_cartridge() override; virtual void initialize_cartridge() override;
DECLARE_FLOPPY_FORMATS(floppy_formats);
protected: protected:
msx_cart_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); msx_cart_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
required_device<floppy_connector> m_floppy0; required_device<floppy_connector> m_floppy0;
optional_device<floppy_connector> m_floppy1; optional_device<floppy_connector> m_floppy1;
floppy_image_device *m_floppy; floppy_image_device *m_floppy;
DECLARE_FLOPPY_FORMATS(floppy_formats);
}; };
@ -92,7 +92,8 @@ class msx_cart_vy0010_device : public msx_cart_disk_type1_device
public: public:
msx_cart_vy0010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_vy0010_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_add_mconfig(machine_config &config) override;
}; };
@ -101,7 +102,8 @@ class msx_cart_fsfd1_device : public msx_cart_disk_type1_device
public: public:
msx_cart_fsfd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_fsfd1_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_add_mconfig(machine_config &config) override;
}; };
@ -110,7 +112,8 @@ class msx_cart_fscf351_device : public msx_cart_disk_type2_device
public: public:
msx_cart_fscf351_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_fscf351_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_add_mconfig(machine_config &config) override;
}; };
@ -128,15 +131,15 @@ class msx_cart_fsfd1a_device : public msx_cart_disk_tc8566_device
public: public:
msx_cart_fsfd1a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_fsfd1a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
protected: protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
// device-level overrides
virtual void device_add_mconfig(machine_config &config) override;
virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override;
}; };

View File

@ -29,7 +29,7 @@ msx_cart_fmpac_device::msx_cart_fmpac_device(const machine_config &mconfig, cons
} }
static MACHINE_CONFIG_START( fmpac ) MACHINE_CONFIG_MEMBER( msx_cart_fmpac_device::device_add_mconfig )
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ym2413", YM2413, XTAL_10_738635MHz/3) MCFG_SOUND_ADD("ym2413", YM2413, XTAL_10_738635MHz/3)
@ -37,12 +37,6 @@ static MACHINE_CONFIG_START( fmpac )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_fmpac_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( fmpac );
}
void msx_cart_fmpac_device::device_start() void msx_cart_fmpac_device::device_start()
{ {
save_item(NAME(m_selected_bank)); save_item(NAME(m_selected_bank));

View File

@ -17,9 +17,6 @@ class msx_cart_fmpac_device : public device_t, public msx_cart_interface
public: public:
msx_cart_fmpac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_fmpac_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void initialize_cartridge() override; virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override; virtual DECLARE_READ8_MEMBER(read_cart) override;
@ -31,6 +28,9 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
// device-level overrides
virtual void device_add_mconfig(machine_config &config) override;
void restore_banks(); void restore_banks();
private: private:

View File

@ -141,7 +141,7 @@ msx_cart_konami_scc_device::msx_cart_konami_scc_device(const machine_config &mco
} }
static MACHINE_CONFIG_START( konami_scc ) MACHINE_CONFIG_MEMBER( msx_cart_konami_scc_device::device_add_mconfig )
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("k051649", K051649, XTAL_10_738635MHz/3/2) MCFG_SOUND_ADD("k051649", K051649, XTAL_10_738635MHz/3/2)
@ -149,12 +149,6 @@ static MACHINE_CONFIG_START( konami_scc )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_konami_scc_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( konami_scc );
}
void msx_cart_konami_scc_device::device_start() void msx_cart_konami_scc_device::device_start()
{ {
save_item(NAME(m_selected_bank)); save_item(NAME(m_selected_bank));
@ -478,7 +472,7 @@ msx_cart_synthesizer_device::msx_cart_synthesizer_device(const machine_config &m
} }
static MACHINE_CONFIG_START( synthesizer ) MACHINE_CONFIG_MEMBER( msx_cart_synthesizer_device::device_add_mconfig )
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC
@ -487,12 +481,6 @@ static MACHINE_CONFIG_START( synthesizer )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_synthesizer_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( synthesizer );
}
void msx_cart_synthesizer_device::device_start() void msx_cart_synthesizer_device::device_start()
{ {
} }
@ -557,7 +545,7 @@ msx_cart_konami_sound_device::msx_cart_konami_sound_device(const machine_config
} }
static MACHINE_CONFIG_START( konami_sound ) MACHINE_CONFIG_MEMBER( msx_cart_konami_sound_device::device_add_mconfig )
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("k052539", K051649, XTAL_10_738635MHz/3/2) MCFG_SOUND_ADD("k052539", K051649, XTAL_10_738635MHz/3/2)
@ -565,12 +553,6 @@ static MACHINE_CONFIG_START( konami_sound )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_konami_sound_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( konami_sound );
}
void msx_cart_konami_sound_device::device_start() void msx_cart_konami_sound_device::device_start()
{ {
save_item(NAME(m_selected_bank)); save_item(NAME(m_selected_bank));
@ -889,7 +871,7 @@ static ADDRESS_MAP_START( vlm_map, AS_0, 8, msx_cart_keyboard_master_device )
ADDRESS_MAP_END ADDRESS_MAP_END
static MACHINE_CONFIG_START( msx_cart_keyboard_master ) MACHINE_CONFIG_MEMBER( msx_cart_keyboard_master_device::device_add_mconfig )
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("vlm5030", VLM5030, XTAL_3_579545MHz) MCFG_SOUND_ADD("vlm5030", VLM5030, XTAL_3_579545MHz)
@ -898,12 +880,6 @@ static MACHINE_CONFIG_START( msx_cart_keyboard_master )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_keyboard_master_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( msx_cart_keyboard_master );
}
void msx_cart_keyboard_master_device::device_start() void msx_cart_keyboard_master_device::device_start()
{ {
// Install IO read/write handlers // Install IO read/write handlers

View File

@ -47,8 +47,6 @@ class msx_cart_konami_scc_device : public device_t, public msx_cart_interface
public: public:
msx_cart_konami_scc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_konami_scc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void initialize_cartridge() override; virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override; virtual DECLARE_READ8_MEMBER(read_cart) override;
@ -59,6 +57,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
void restore_banks(); void restore_banks();
private: private:
@ -101,8 +101,6 @@ class msx_cart_synthesizer_device : public device_t, public msx_cart_interface
public: public:
msx_cart_synthesizer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_synthesizer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void initialize_cartridge() override; virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override; virtual DECLARE_READ8_MEMBER(read_cart) override;
@ -112,6 +110,8 @@ protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override;
private: private:
uint8_t *m_bank_base; uint8_t *m_bank_base;
required_device<dac_byte_interface> m_dac; required_device<dac_byte_interface> m_dac;
@ -121,8 +121,6 @@ private:
class msx_cart_konami_sound_device : public device_t, public msx_cart_interface class msx_cart_konami_sound_device : public device_t, public msx_cart_interface
{ {
public: public:
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void initialize_cartridge() override; virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override; virtual DECLARE_READ8_MEMBER(read_cart) override;
@ -135,6 +133,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
void restore_banks(); void restore_banks();
uint8_t *m_ram_bank[16]; uint8_t *m_ram_bank[16];
@ -178,9 +178,6 @@ class msx_cart_keyboard_master_device : public device_t, public msx_cart_interfa
public: public:
msx_cart_keyboard_master_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_keyboard_master_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void initialize_cartridge() override; virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override; virtual DECLARE_READ8_MEMBER(read_cart) override;
@ -190,8 +187,11 @@ public:
DECLARE_READ8_MEMBER(io_00_r); DECLARE_READ8_MEMBER(io_00_r);
protected: protected:
// device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<vlm5030_device> m_vlm5030; required_device<vlm5030_device> m_vlm5030;
}; };

View File

@ -26,7 +26,7 @@ msx_cart_majutsushi_device::msx_cart_majutsushi_device(const machine_config &mco
} }
static MACHINE_CONFIG_START( majutsushi ) MACHINE_CONFIG_MEMBER( msx_cart_majutsushi_device::device_add_mconfig )
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
MCFG_SPEAKER_STANDARD_MONO("speaker") MCFG_SPEAKER_STANDARD_MONO("speaker")
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC
@ -35,12 +35,6 @@ static MACHINE_CONFIG_START( majutsushi )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_majutsushi_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( majutsushi );
}
void msx_cart_majutsushi_device::device_start() void msx_cart_majutsushi_device::device_start()
{ {
save_item(NAME(m_selected_bank)); save_item(NAME(m_selected_bank));

View File

@ -17,8 +17,6 @@ class msx_cart_majutsushi_device : public device_t, public msx_cart_interface
public: public:
msx_cart_majutsushi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_majutsushi_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void initialize_cartridge() override; virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override; virtual DECLARE_READ8_MEMBER(read_cart) override;
@ -29,6 +27,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
void restore_banks(); void restore_banks();
private: private:

View File

@ -35,12 +35,12 @@ static ADDRESS_MAP_START( ymf278b_map, AS_0, 8, msx_cart_moonsound_device )
ADDRESS_MAP_END ADDRESS_MAP_END
static MACHINE_CONFIG_START( moonsound ) MACHINE_CONFIG_MEMBER( msx_cart_moonsound_device::device_add_mconfig )
// The moonsound cartridge has a separate stereo output. // The moonsound cartridge has a separate stereo output.
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SOUND_ADD("ymf278b", YMF278B, YMF278B_STD_CLOCK) MCFG_SOUND_ADD("ymf278b", YMF278B, YMF278B_STD_CLOCK)
MCFG_DEVICE_ADDRESS_MAP(AS_0, ymf278b_map) MCFG_DEVICE_ADDRESS_MAP(AS_0, ymf278b_map)
MCFG_YMF278B_IRQ_HANDLER(WRITELINE(msx_cart_moonsound_device,irq_w)) MCFG_YMF278B_IRQ_HANDLER(WRITELINE(msx_cart_moonsound_device, irq_w))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50) MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.50) MCFG_SOUND_ROUTE(1, "rspeaker", 0.50)
MCFG_SOUND_ROUTE(2, "lspeaker", 0.40) MCFG_SOUND_ROUTE(2, "lspeaker", 0.40)
@ -50,12 +50,6 @@ static MACHINE_CONFIG_START( moonsound )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_moonsound_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( moonsound );
}
ROM_START( msx_cart_moonsound ) ROM_START( msx_cart_moonsound )
ROM_REGION(0x400000, "ymf278b", 0) ROM_REGION(0x400000, "ymf278b", 0)
ROM_LOAD("yrw801.rom", 0x0, 0x200000, CRC(2a9d8d43) SHA1(32760893ce06dbe3930627755ba065cc3d8ec6ca)) ROM_LOAD("yrw801.rom", 0x0, 0x200000, CRC(2a9d8d43) SHA1(32760893ce06dbe3930627755ba065cc3d8ec6ca))

View File

@ -17,22 +17,23 @@ class msx_cart_moonsound_device : public device_t, public msx_cart_interface
public: public:
msx_cart_moonsound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_moonsound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
DECLARE_WRITE8_MEMBER(write_ymf278b_fm); DECLARE_WRITE8_MEMBER(write_ymf278b_fm);
DECLARE_READ8_MEMBER(read_ymf278b_fm); DECLARE_READ8_MEMBER(read_ymf278b_fm);
DECLARE_WRITE8_MEMBER(write_ymf278b_pcm); DECLARE_WRITE8_MEMBER(write_ymf278b_pcm);
DECLARE_READ8_MEMBER(read_ymf278b_pcm); DECLARE_READ8_MEMBER(read_ymf278b_pcm);
DECLARE_READ8_MEMBER(read_c0); DECLARE_READ8_MEMBER(read_c0);
DECLARE_WRITE_LINE_MEMBER(irq_w);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
private: private:
DECLARE_WRITE_LINE_MEMBER(irq_w);
required_device<ymf278b_device> m_ymf278b; required_device<ymf278b_device> m_ymf278b;
}; };

View File

@ -80,7 +80,7 @@ msx_cart_msx_audio_hxmu900_device::msx_cart_msx_audio_hxmu900_device(const machi
} }
static MACHINE_CONFIG_START( msx_audio_hxmu900 ) MACHINE_CONFIG_MEMBER( msx_cart_msx_audio_hxmu900_device::device_add_mconfig )
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("y8950", Y8950, XTAL_3_579545MHz) // Not verified MCFG_SOUND_ADD("y8950", Y8950, XTAL_3_579545MHz) // Not verified
@ -92,12 +92,6 @@ static MACHINE_CONFIG_START( msx_audio_hxmu900 )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_msx_audio_hxmu900_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( msx_audio_hxmu900 );
}
void msx_cart_msx_audio_hxmu900_device::device_start() void msx_cart_msx_audio_hxmu900_device::device_start()
{ {
// Install IO read/write handlers // Install IO read/write handlers
@ -151,7 +145,7 @@ msx_cart_msx_audio_nms1205_device::msx_cart_msx_audio_nms1205_device(const machi
} }
static MACHINE_CONFIG_START( msx_audio_nms1205 ) MACHINE_CONFIG_MEMBER( msx_cart_msx_audio_nms1205_device::device_add_mconfig )
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
// At the same time the sound is also output on two output on the nms1205 cartridge itself // At the same time the sound is also output on two output on the nms1205 cartridge itself
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
@ -176,12 +170,6 @@ static MACHINE_CONFIG_START( msx_audio_nms1205 )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_msx_audio_nms1205_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( msx_audio_nms1205 );
}
ROM_START( msx_nms1205 ) ROM_START( msx_nms1205 )
ROM_REGION(0x8000, "y8950", ROMREGION_ERASE00) ROM_REGION(0x8000, "y8950", ROMREGION_ERASE00)
ROM_END ROM_END
@ -260,7 +248,7 @@ msx_cart_msx_audio_fsca1_device::msx_cart_msx_audio_fsca1_device(const machine_c
} }
static MACHINE_CONFIG_START( msx_audio_fsca1 ) MACHINE_CONFIG_MEMBER( msx_cart_msx_audio_fsca1_device::device_add_mconfig )
// This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'.
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("y8950", Y8950, XTAL_3_579545MHz) MCFG_SOUND_ADD("y8950", Y8950, XTAL_3_579545MHz)
@ -274,12 +262,6 @@ static MACHINE_CONFIG_START( msx_audio_fsca1 )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_msx_audio_fsca1_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( msx_audio_fsca1 );
}
static INPUT_PORTS_START( msx_audio_fsca1 ) static INPUT_PORTS_START( msx_audio_fsca1 )
PORT_START("CONFIG") PORT_START("CONFIG")
PORT_CONFNAME( 0x04, 0x04, "FS-CA1 Firmware switch") PORT_CONFNAME( 0x04, 0x04, "FS-CA1 Firmware switch")

View File

@ -21,10 +21,6 @@ class msx_cart_msx_audio_hxmu900_device : public device_t, public msx_cart_inter
public: public:
msx_cart_msx_audio_hxmu900_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_msx_audio_hxmu900_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void initialize_cartridge() override; virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override; virtual DECLARE_READ8_MEMBER(read_cart) override;
@ -32,6 +28,10 @@ public:
protected: protected:
virtual void device_start() override; virtual void device_start() override;
// device-level overrides
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
private: private:
required_device<y8950_device> m_y8950; required_device<y8950_device> m_y8950;
}; };
@ -42,21 +42,21 @@ class msx_cart_msx_audio_nms1205_device : public device_t, public msx_cart_inter
public: public:
msx_cart_msx_audio_nms1205_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_msx_audio_nms1205_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void initialize_cartridge() override; virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override; virtual DECLARE_READ8_MEMBER(read_cart) override;
DECLARE_WRITE_LINE_MEMBER(midi_in);
DECLARE_WRITE_LINE_MEMBER(irq_write);
protected: protected:
virtual void device_start() override; virtual void device_start() override;
// device-level overrides
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
private: private:
DECLARE_WRITE_LINE_MEMBER(midi_in);
DECLARE_WRITE_LINE_MEMBER(irq_write);
required_device<y8950_device> m_y8950; required_device<y8950_device> m_y8950;
required_device<acia6850_device> m_acia6850; required_device<acia6850_device> m_acia6850;
required_device<midi_port_device> m_mdout; required_device<midi_port_device> m_mdout;
@ -69,26 +69,26 @@ class msx_cart_msx_audio_fsca1_device : public device_t, public msx_cart_interfa
public: public:
msx_cart_msx_audio_fsca1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); msx_cart_msx_audio_fsca1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
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;
virtual void initialize_cartridge() override; virtual void initialize_cartridge() override;
virtual DECLARE_READ8_MEMBER(read_cart) override; virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override; virtual DECLARE_WRITE8_MEMBER(write_cart) override;
DECLARE_WRITE8_MEMBER(y8950_io_w);
DECLARE_READ8_MEMBER(y8950_io_r);
protected: protected:
virtual void device_start() override; virtual void device_start() override;
// device-level overrides
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;
DECLARE_WRITE8_MEMBER(write_y8950); DECLARE_WRITE8_MEMBER(write_y8950);
DECLARE_READ8_MEMBER(read_y8950); DECLARE_READ8_MEMBER(read_y8950);
private: private:
DECLARE_WRITE8_MEMBER(y8950_io_w);
DECLARE_READ8_MEMBER(y8950_io_r);
required_device<y8950_device> m_y8950; required_device<y8950_device> m_y8950;
required_ioport m_io_config; required_ioport m_io_config;
required_memory_region m_region_y8950; required_memory_region m_region_y8950;

View File

@ -46,7 +46,7 @@ msx_cart_sfg05_device::msx_cart_sfg05_device(const machine_config &mconfig, cons
} }
static MACHINE_CONFIG_START( msx_sfg ) MACHINE_CONFIG_MEMBER( msx_cart_sfg_device::device_add_mconfig )
// YM2151 (OPM) // YM2151 (OPM)
// YM3012 (DAC) // YM3012 (DAC)
// YM2148 (MKS) // YM2148 (MKS)
@ -61,7 +61,7 @@ static MACHINE_CONFIG_START( msx_sfg )
MCFG_YM2148_TXD_HANDLER(DEVWRITELINE("mdout", midi_port_device, write_txd)) MCFG_YM2148_TXD_HANDLER(DEVWRITELINE("mdout", midi_port_device, write_txd))
MCFG_YM2148_PORT_WRITE_HANDLER(DEVWRITE8("kbdc", msx_audio_kbdc_port_device, write)) MCFG_YM2148_PORT_WRITE_HANDLER(DEVWRITE8("kbdc", msx_audio_kbdc_port_device, write))
MCFG_YM2148_PORT_READ_HANDLER(DEVREAD8("kbdc", msx_audio_kbdc_port_device, read)) MCFG_YM2148_PORT_READ_HANDLER(DEVREAD8("kbdc", msx_audio_kbdc_port_device, read))
MCFG_YM2148_IRQ_HANDLER(WRITELINE(msx_cart_sfg_device,ym2148_irq_w)) MCFG_YM2148_IRQ_HANDLER(WRITELINE(msx_cart_sfg_device, ym2148_irq_w))
MCFG_MSX_AUDIO_KBDC_PORT_ADD("kbdc", msx_audio_keyboards, nullptr) MCFG_MSX_AUDIO_KBDC_PORT_ADD("kbdc", msx_audio_keyboards, nullptr)
@ -72,12 +72,6 @@ static MACHINE_CONFIG_START( msx_sfg )
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_cart_sfg_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( msx_sfg );
}
ROM_START( msx_sfg01 ) ROM_START( msx_sfg01 )
ROM_REGION(0x4000, "sfg", 0) ROM_REGION(0x4000, "sfg", 0)
ROM_LOAD("sfg01.rom", 0x0, 0x4000, CRC(0995fb36) SHA1(434651305f92aa770a89e40b81125fb22d91603d)) ROM_LOAD("sfg01.rom", 0x0, 0x4000, CRC(0995fb36) SHA1(434651305f92aa770a89e40b81125fb22d91603d))

View File

@ -18,23 +18,22 @@ DECLARE_DEVICE_TYPE(MSX_CART_SFG05, msx_cart_sfg05_device)
class msx_cart_sfg_device : public device_t, public msx_cart_interface class msx_cart_sfg_device : public device_t, public msx_cart_interface
{ {
public: public:
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read_cart) override; virtual DECLARE_READ8_MEMBER(read_cart) override;
virtual DECLARE_WRITE8_MEMBER(write_cart) override; virtual DECLARE_WRITE8_MEMBER(write_cart) override;
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
DECLARE_WRITE_LINE_MEMBER(ym2148_irq_w);
protected: protected:
msx_cart_sfg_device(const machine_config &mconfig, const device_type type, const char *tag, device_t *owner, uint32_t clock); msx_cart_sfg_device(const machine_config &mconfig, const device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override; virtual void device_start() override;
// device-level overrides
virtual void device_add_mconfig(machine_config &config) override;
IRQ_CALLBACK_MEMBER(irq_callback); IRQ_CALLBACK_MEMBER(irq_callback);
private: private:
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
DECLARE_WRITE_LINE_MEMBER(ym2148_irq_w);
required_memory_region m_region_sfg; required_memory_region m_region_sfg;
required_device<ym2151_device> m_ym2151; required_device<ym2151_device> m_ym2151;
required_device<msx_audio_kbdc_port_device> m_kbdc; required_device<msx_audio_kbdc_port_device> m_kbdc;

View File

@ -27,17 +27,11 @@ msx_slot_fs4600_device::msx_slot_fs4600_device(const machine_config &mconfig, co
} }
static MACHINE_CONFIG_START( fs4600 ) MACHINE_CONFIG_MEMBER( msx_slot_fs4600_device::device_add_mconfig )
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_slot_fs4600_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( fs4600 );
}
void msx_slot_fs4600_device::set_rom_start(device_t &device, const char *region, uint32_t offset) void msx_slot_fs4600_device::set_rom_start(device_t &device, const char *region, uint32_t offset)
{ {
msx_slot_fs4600_device &dev = downcast<msx_slot_fs4600_device &>(device); msx_slot_fs4600_device &dev = downcast<msx_slot_fs4600_device &>(device);

View File

@ -24,14 +24,14 @@ public:
// static configuration helpers // static configuration helpers
static void set_rom_start(device_t &device, const char *region, uint32_t offset); static void set_rom_start(device_t &device, const char *region, uint32_t offset);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read) override; virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override; virtual DECLARE_WRITE8_MEMBER(write) override;
protected: protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override;
void restore_banks(); void restore_banks();
private: private:

View File

@ -33,17 +33,11 @@ msx_slot_panasonic08_device::msx_slot_panasonic08_device(const machine_config &m
} }
static MACHINE_CONFIG_START( panasonic08 ) MACHINE_CONFIG_MEMBER( msx_slot_panasonic08_device::device_add_mconfig )
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_slot_panasonic08_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( panasonic08 );
}
void msx_slot_panasonic08_device::set_rom_start(device_t &device, const char *region, uint32_t offset) void msx_slot_panasonic08_device::set_rom_start(device_t &device, const char *region, uint32_t offset)
{ {
msx_slot_panasonic08_device &dev = downcast<msx_slot_panasonic08_device &>(device); msx_slot_panasonic08_device &dev = downcast<msx_slot_panasonic08_device &>(device);

View File

@ -24,14 +24,14 @@ public:
// static configuration helpers // static configuration helpers
static void set_rom_start(device_t &device, const char *region, uint32_t offset); static void set_rom_start(device_t &device, const char *region, uint32_t offset);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read) override; virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override; virtual DECLARE_WRITE8_MEMBER(write) override;
protected: protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override;
private: private:
void restore_banks(); void restore_banks();
void map_bank(int bank); void map_bank(int bank);

View File

@ -30,17 +30,11 @@ msx_slot_sony08_device::msx_slot_sony08_device(const machine_config &mconfig, co
} }
static MACHINE_CONFIG_START( sony08 ) MACHINE_CONFIG_MEMBER( msx_slot_sony08_device::device_add_mconfig )
MCFG_NVRAM_ADD_0FILL("nvram") MCFG_NVRAM_ADD_0FILL("nvram")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor msx_slot_sony08_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sony08 );
}
void msx_slot_sony08_device::set_rom_start(device_t &device, const char *region, uint32_t offset) void msx_slot_sony08_device::set_rom_start(device_t &device, const char *region, uint32_t offset)
{ {
msx_slot_sony08_device &dev = downcast<msx_slot_sony08_device &>(device); msx_slot_sony08_device &dev = downcast<msx_slot_sony08_device &>(device);

View File

@ -25,14 +25,14 @@ public:
// static configuration helpers // static configuration helpers
static void set_rom_start(device_t &device, const char *region, uint32_t offset); static void set_rom_start(device_t &device, const char *region, uint32_t offset);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read) override; virtual DECLARE_READ8_MEMBER(read) override;
virtual DECLARE_WRITE8_MEMBER(write) override; virtual DECLARE_WRITE8_MEMBER(write) override;
protected: protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override;
void restore_banks(); void restore_banks();
private: private:

View File

@ -19,11 +19,10 @@
DEFINE_DEVICE_TYPE(NASCOM_AVC, nascom_avc_device, "nascom_avc", "Nascom Advanced Video Card") DEFINE_DEVICE_TYPE(NASCOM_AVC, nascom_avc_device, "nascom_avc", "Nascom Advanced Video Card")
//------------------------------------------------- //-------------------------------------------------
// machine_config_additions - device-specific // device_add_mconfig - add device configuration
// machine configurations
//------------------------------------------------- //-------------------------------------------------
static MACHINE_CONFIG_START( nascom_avc ) MACHINE_CONFIG_MEMBER( nascom_avc_device::device_add_mconfig )
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(16250000, 1024, 0, 768, 320, 0, 256) MCFG_SCREEN_RAW_PARAMS(16250000, 1024, 0, 768, 320, 0, 256)
MCFG_SCREEN_UPDATE_DEVICE("mc6845", mc6845_device, screen_update) MCFG_SCREEN_UPDATE_DEVICE("mc6845", mc6845_device, screen_update)
@ -36,11 +35,6 @@ static MACHINE_CONFIG_START( nascom_avc )
MCFG_MC6845_UPDATE_ROW_CB(nascom_avc_device, crtc_update_row) MCFG_MC6845_UPDATE_ROW_CB(nascom_avc_device, crtc_update_row)
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor nascom_avc_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( nascom_avc );
}
//************************************************************************** //**************************************************************************
// LIVE DEVICE // LIVE DEVICE

View File

@ -26,19 +26,19 @@ class nascom_avc_device : public device_t, public device_nasbus_card_interface
public: public:
// construction/destruction // construction/destruction
nascom_avc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nascom_avc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
MC6845_UPDATE_ROW(crtc_update_row);
DECLARE_WRITE8_MEMBER(control_w); DECLARE_WRITE8_MEMBER(control_w);
READ8_MEMBER(vram_r); READ8_MEMBER(vram_r);
WRITE8_MEMBER(vram_w); WRITE8_MEMBER(vram_w);
protected: 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_start() override;
virtual void device_reset() override; virtual void device_reset() override;
private: private:
MC6845_UPDATE_ROW(crtc_update_row);
required_device<mc6845_device> m_crtc; required_device<mc6845_device> m_crtc;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;

View File

@ -34,11 +34,10 @@ static SLOT_INTERFACE_START( nascom_floppies )
SLOT_INTERFACE_END SLOT_INTERFACE_END
//------------------------------------------------- //-------------------------------------------------
// machine_config_additions - device-specific // device_add_mconfig - add device configuration
// machine configurations
//------------------------------------------------- //-------------------------------------------------
static MACHINE_CONFIG_START( nascom_fdc ) MACHINE_CONFIG_MEMBER( nascom_fdc_device::device_add_mconfig )
MCFG_FD1793_ADD("fd1793", XTAL_16MHz / 4 / 4) MCFG_FD1793_ADD("fd1793", XTAL_16MHz / 4 / 4)
MCFG_FLOPPY_DRIVE_ADD("fd1793:0", nascom_floppies, "55f", nascom_fdc_device::floppy_formats) MCFG_FLOPPY_DRIVE_ADD("fd1793:0", nascom_floppies, "55f", nascom_fdc_device::floppy_formats)
@ -47,11 +46,6 @@ static MACHINE_CONFIG_START( nascom_fdc )
MCFG_FLOPPY_DRIVE_ADD("fd1793:3", nascom_floppies, nullptr, nascom_fdc_device::floppy_formats) MCFG_FLOPPY_DRIVE_ADD("fd1793:3", nascom_floppies, nullptr, nascom_fdc_device::floppy_formats)
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor nascom_fdc_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( nascom_fdc );
}
//************************************************************************** //**************************************************************************
// LIVE DEVICE // LIVE DEVICE

View File

@ -31,10 +31,8 @@ public:
DECLARE_WRITE8_MEMBER(select_w); DECLARE_WRITE8_MEMBER(select_w);
DECLARE_READ8_MEMBER(status_r); DECLARE_READ8_MEMBER(status_r);
DECLARE_FLOPPY_FORMATS(floppy_formats);
protected: 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_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_reset_after_children() override; virtual void device_reset_after_children() override;
@ -42,6 +40,8 @@ protected:
private: private:
TIMER_CALLBACK_MEMBER(motor_off); TIMER_CALLBACK_MEMBER(motor_off);
DECLARE_FLOPPY_FORMATS(floppy_formats);
required_device<fd1793_device> m_fdc; required_device<fd1793_device> m_fdc;
required_device<floppy_connector> m_floppy0; required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1; required_device<floppy_connector> m_floppy1;

View File

@ -48,15 +48,10 @@ void neogeo_cthd2k3_cart_device::device_reset()
mapper specific handlers mapper specific handlers
-------------------------------------------------*/ -------------------------------------------------*/
static MACHINE_CONFIG_START( cthd_cart ) MACHINE_CONFIG_MEMBER( neogeo_cthd2k3_cart_device::device_add_mconfig )
MCFG_CTHD_PROT_ADD("cthd_prot") MCFG_CTHD_PROT_ADD("cthd_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_cthd2k3_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cthd_cart );
}
/************************************************* /*************************************************
cthd2k3 cthd2k3
@ -127,13 +122,8 @@ void neogeo_matrimbl_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
} }
static MACHINE_CONFIG_START( matrimbl_cart ) MACHINE_CONFIG_MEMBER( neogeo_matrimbl_cart_device::device_add_mconfig )
MCFG_KOF2002_PROT_ADD("kof2k2_prot") MCFG_KOF2002_PROT_ADD("kof2k2_prot")
MCFG_CMC_PROT_ADD("cmc_prot") MCFG_CMC_PROT_ADD("cmc_prot")
MCFG_CTHD_PROT_ADD("cthd_prot") MCFG_CTHD_PROT_ADD("cthd_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_matrimbl_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( matrimbl_cart );
}

View File

@ -20,8 +20,6 @@ public:
// construction/destruction // construction/destruction
neogeo_cthd2k3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); neogeo_cthd2k3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing // reading and writing
virtual uint32_t get_bank_base(uint16_t sel) override { return m_prot->get_bank_base(sel); } virtual uint32_t get_bank_base(uint16_t sel) override { return m_prot->get_bank_base(sel); }
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
@ -34,6 +32,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<cthd_prot_device> m_prot; required_device<cthd_prot_device> m_prot;
}; };
@ -83,7 +83,8 @@ public:
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
virtual int get_fixed_bank_type() override { return 2; } virtual int get_fixed_bank_type() override { return 2; }
virtual machine_config_constructor device_mconfig_additions() const override; protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;

View File

@ -49,15 +49,10 @@ void neogeo_kof10th_cart_device::device_reset()
mapper specific handlers mapper specific handlers
-------------------------------------------------*/ -------------------------------------------------*/
static MACHINE_CONFIG_START( kof10th_cart ) MACHINE_CONFIG_MEMBER( neogeo_kof10th_cart_device::device_add_mconfig )
MCFG_NEOBOOT_PROT_ADD("bootleg_prot") MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_kof10th_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof10th_cart );
}
void neogeo_kof10th_cart_device::decrypt_all(DECRYPT_ALL_PARAMS) void neogeo_kof10th_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{ {

View File

@ -17,8 +17,6 @@ public:
// construction/destruction // construction/destruction
neogeo_kof10th_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); neogeo_kof10th_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing // reading and writing
virtual uint16_t get_helper() override; virtual uint16_t get_helper() override;
virtual uint32_t get_bank_base(uint16_t sel) override; virtual uint32_t get_bank_base(uint16_t sel) override;
@ -35,6 +33,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
private: private:
uint8_t* m_fixed; uint8_t* m_fixed;
uint32_t m_special_bank; uint32_t m_special_bank;

View File

@ -12,33 +12,24 @@
#include "boot_kof2k2.h" #include "boot_kof2k2.h"
static MACHINE_CONFIG_START( kof2k2bl_cart ) MACHINE_CONFIG_MEMBER( neogeo_kof2002b_cart_device::device_add_mconfig )
MCFG_NEOBOOT_PROT_ADD("bootleg_prot") MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
MCFG_CMC_PROT_ADD("cmc_prot") MCFG_CMC_PROT_ADD("cmc_prot")
MCFG_PCM2_PROT_ADD("pcm2_prot") MCFG_PCM2_PROT_ADD("pcm2_prot")
MCFG_KOF2002_PROT_ADD("kof2k2_prot") MCFG_KOF2002_PROT_ADD("kof2k2_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_START( kof2k2mp_cart ) MACHINE_CONFIG_MEMBER( neogeo_kf2k2mp_cart_device::device_add_mconfig )
MCFG_NEOBOOT_PROT_ADD("bootleg_prot") MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
MCFG_CMC_PROT_ADD("cmc_prot") MCFG_CMC_PROT_ADD("cmc_prot")
MCFG_PCM2_PROT_ADD("pcm2_prot") MCFG_PCM2_PROT_ADD("pcm2_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_kof2002b_cart_device::device_mconfig_additions() const MACHINE_CONFIG_MEMBER( neogeo_kf2k2mp2_cart_device::device_add_mconfig )
{ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
return MACHINE_CONFIG_NAME( kof2k2bl_cart ); MCFG_CMC_PROT_ADD("cmc_prot")
} MCFG_PCM2_PROT_ADD("pcm2_prot")
MACHINE_CONFIG_END
machine_config_constructor neogeo_kf2k2mp_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof2k2mp_cart );
}
machine_config_constructor neogeo_kf2k2mp2_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof2k2mp_cart );
}
/************************************************* /*************************************************
kof2002b kof2002b

View File

@ -24,7 +24,9 @@ public:
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
virtual int get_fixed_bank_type() override { return 0; } virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;
@ -46,7 +48,9 @@ public:
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
virtual int get_fixed_bank_type() override { return 0; } virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;
@ -67,7 +71,9 @@ public:
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
virtual int get_fixed_bank_type() override { return 0; } virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;

View File

@ -12,27 +12,26 @@
#include "boot_kof2k3.h" #include "boot_kof2k3.h"
static MACHINE_CONFIG_START( kof2k3bl_cart ) MACHINE_CONFIG_MEMBER( neogeo_kf2k3bl_cart_device::device_add_mconfig )
MCFG_NEOBOOT_PROT_ADD("bootleg_prot") MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
MCFG_CMC_PROT_ADD("cmc_prot") MCFG_CMC_PROT_ADD("cmc_prot")
MCFG_PCM2_PROT_ADD("pcm2_prot") MCFG_PCM2_PROT_ADD("pcm2_prot")
MCFG_KOF2K3BL_PROT_ADD("kof2k3bl_prot") MCFG_KOF2K3BL_PROT_ADD("kof2k3bl_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_kf2k3bl_cart_device::device_mconfig_additions() const MACHINE_CONFIG_MEMBER( neogeo_kf2k3pl_cart_device::device_add_mconfig )
{ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
return MACHINE_CONFIG_NAME( kof2k3bl_cart ); MCFG_CMC_PROT_ADD("cmc_prot")
} MCFG_PCM2_PROT_ADD("pcm2_prot")
MCFG_KOF2K3BL_PROT_ADD("kof2k3bl_prot")
MACHINE_CONFIG_END
machine_config_constructor neogeo_kf2k3pl_cart_device::device_mconfig_additions() const MACHINE_CONFIG_MEMBER( neogeo_kf2k3upl_cart_device::device_add_mconfig )
{ MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
return MACHINE_CONFIG_NAME( kof2k3bl_cart ); MCFG_CMC_PROT_ADD("cmc_prot")
} MCFG_PCM2_PROT_ADD("pcm2_prot")
MCFG_KOF2K3BL_PROT_ADD("kof2k3bl_prot")
machine_config_constructor neogeo_kf2k3upl_cart_device::device_mconfig_additions() const MACHINE_CONFIG_END
{
return MACHINE_CONFIG_NAME( kof2k3bl_cart );
}
/************************************************* /*************************************************
kf2k3bl kf2k3bl

View File

@ -21,13 +21,14 @@ public:
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
virtual int get_fixed_bank_type() override { return 0; } virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
virtual uint32_t get_bank_base(uint16_t sel) override { return m_kof2k3bl_prot->get_bank_base(); } virtual uint32_t get_bank_base(uint16_t sel) override { return m_kof2k3bl_prot->get_bank_base(); }
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_kof2k3bl_prot->protection_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(protection_r) override { return m_kof2k3bl_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_kof2k3bl_prot->kof2003_w(space, offset, data, mem_mask); } virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_kof2k3bl_prot->kof2003_w(space, offset, data, mem_mask); }
virtual DECLARE_READ16_MEMBER(addon_r) override { return m_kof2k3bl_prot->overlay_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(addon_r) override { return m_kof2k3bl_prot->overlay_r(space, offset, mem_mask); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;
required_device<pcm2_prot_device> m_pcm2_prot; required_device<pcm2_prot_device> m_pcm2_prot;
@ -48,12 +49,13 @@ public:
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
virtual int get_fixed_bank_type() override { return 0; } virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
virtual uint32_t get_bank_base(uint16_t sel) override { return m_kof2k3bl_prot->get_bank_base(); } virtual uint32_t get_bank_base(uint16_t sel) override { return m_kof2k3bl_prot->get_bank_base(); }
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_kof2k3bl_prot->protection_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(protection_r) override { return m_kof2k3bl_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_kof2k3bl_prot->kof2003p_w(space, offset, data, mem_mask); } virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_kof2k3bl_prot->kof2003p_w(space, offset, data, mem_mask); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;
required_device<pcm2_prot_device> m_pcm2_prot; required_device<pcm2_prot_device> m_pcm2_prot;
@ -74,13 +76,14 @@ public:
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
virtual int get_fixed_bank_type() override { return 0; } virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override;
virtual uint32_t get_bank_base(uint16_t sel) override { return m_kof2k3bl_prot->get_bank_base(); } virtual uint32_t get_bank_base(uint16_t sel) override { return m_kof2k3bl_prot->get_bank_base(); }
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_kof2k3bl_prot->protection_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(protection_r) override { return m_kof2k3bl_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_kof2k3bl_prot->kof2003_w(space, offset, data, mem_mask); } virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_kof2k3bl_prot->kof2003_w(space, offset, data, mem_mask); }
virtual DECLARE_READ16_MEMBER(addon_r) override { return m_kof2k3bl_prot->overlay_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(addon_r) override { return m_kof2k3bl_prot->overlay_r(space, offset, mem_mask); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;
required_device<pcm2_prot_device> m_pcm2_prot; required_device<pcm2_prot_device> m_pcm2_prot;

View File

@ -48,16 +48,10 @@ void neogeo_bootleg_cart_device::device_reset()
mapper specific handlers mapper specific handlers
-------------------------------------------------*/ -------------------------------------------------*/
static MACHINE_CONFIG_START( bootleg_cart ) MACHINE_CONFIG_MEMBER( neogeo_bootleg_cart_device::device_add_mconfig )
MCFG_NEOBOOT_PROT_ADD("bootleg_prot") MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_bootleg_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( bootleg_cart );
}
/************************************************* /*************************************************
garoubl garoubl
@ -213,16 +207,11 @@ void neogeo_mslug3b6_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
m_cmc_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, MSLUG3_GFX_KEY); m_cmc_prot->cmc42_gfx_decrypt(spr_region, spr_region_size, MSLUG3_GFX_KEY);
} }
static MACHINE_CONFIG_START( mslug3b6_cart ) MACHINE_CONFIG_MEMBER( neogeo_mslug3b6_cart_device::device_add_mconfig )
MCFG_CMC_PROT_ADD("cmc_prot") MCFG_CMC_PROT_ADD("cmc_prot")
MCFG_NEOBOOT_PROT_ADD("bootleg_prot") MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_mslug3b6_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( mslug3b6_cart );
}
/************************************************* /*************************************************
ms5plus ms5plus
@ -245,17 +234,12 @@ void neogeo_ms5plus_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
m_prot->sx_decrypt(fix_region, fix_region_size, 1); m_prot->sx_decrypt(fix_region, fix_region_size, 1);
} }
static MACHINE_CONFIG_START( ms5plus_cart ) MACHINE_CONFIG_MEMBER( neogeo_ms5plus_cart_device::device_add_mconfig )
MCFG_NEOBOOT_PROT_ADD("bootleg_prot") MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
MCFG_CMC_PROT_ADD("cmc_prot") MCFG_CMC_PROT_ADD("cmc_prot")
MCFG_PCM2_PROT_ADD("pcm2_prot") MCFG_PCM2_PROT_ADD("pcm2_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_ms5plus_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( ms5plus_cart );
}
/************************************************* /*************************************************
kog kog

View File

@ -17,8 +17,6 @@ public:
// construction/destruction // construction/destruction
neogeo_bootleg_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); neogeo_bootleg_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing // reading and writing
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { } virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { }
virtual int get_fixed_bank_type() override { return 0; } virtual int get_fixed_bank_type() override { return 0; }
@ -30,6 +28,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<neoboot_prot_device> m_prot; required_device<neoboot_prot_device> m_prot;
}; };
@ -152,7 +152,8 @@ public:
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
virtual int get_fixed_bank_type() override { return 0; } virtual int get_fixed_bank_type() override { return 0; }
virtual machine_config_constructor device_mconfig_additions() const override; protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;
@ -171,11 +172,12 @@ public:
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
virtual int get_fixed_bank_type() override { return 1; } virtual int get_fixed_bank_type() override { return 1; }
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_prot->mslug5p_prot_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(protection_r) override { return m_prot->mslug5p_prot_r(space, offset, mem_mask); }
virtual uint32_t get_bank_base(uint16_t sel) override { return m_prot->mslug5p_bank_base(sel); } virtual uint32_t get_bank_base(uint16_t sel) override { return m_prot->mslug5p_bank_base(sel); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;
required_device<pcm2_prot_device> m_pcm2_prot; required_device<pcm2_prot_device> m_pcm2_prot;

View File

@ -30,16 +30,11 @@ void neogeo_svcboot_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
m_prot->svcboot_cx_decrypt(spr_region, spr_region_size); m_prot->svcboot_cx_decrypt(spr_region, spr_region_size);
} }
static MACHINE_CONFIG_START( svcboot_cart ) MACHINE_CONFIG_MEMBER( neogeo_svcboot_cart_device::device_add_mconfig )
MCFG_NEOBOOT_PROT_ADD("bootleg_prot") MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
MCFG_PVC_PROT_ADD("pvc_prot") MCFG_PVC_PROT_ADD("pvc_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_svcboot_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( svcboot_cart );
}
/************************************************* /*************************************************
svcplus svcplus
@ -101,12 +96,7 @@ void neogeo_svcsplus_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
} }
static MACHINE_CONFIG_START( svcsplus_cart ) MACHINE_CONFIG_MEMBER( neogeo_svcsplus_cart_device::device_add_mconfig )
MCFG_NEOBOOT_PROT_ADD("bootleg_prot") MCFG_NEOBOOT_PROT_ADD("bootleg_prot")
MCFG_PVC_PROT_ADD("pvc_prot") MCFG_PVC_PROT_ADD("pvc_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_svcsplus_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( svcsplus_cart );
}

View File

@ -19,14 +19,15 @@ class neogeo_svcboot_cart_device : public neogeo_bootleg_cart_device
public: public:
neogeo_svcboot_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); neogeo_svcboot_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual uint32_t get_bank_base(uint16_t sel) override { return m_pvc_prot->get_bank_base(); } virtual uint32_t get_bank_base(uint16_t sel) override { return m_pvc_prot->get_bank_base(); }
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_pvc_prot->protection_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(protection_r) override { return m_pvc_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_pvc_prot->protection_w(space, offset, data, mem_mask); } virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_pvc_prot->protection_w(space, offset, data, mem_mask); }
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
virtual int get_fixed_bank_type() override { return 0; } virtual int get_fixed_bank_type() override { return 0; }
protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<pvc_prot_device> m_pvc_prot; required_device<pvc_prot_device> m_pvc_prot;
}; };
@ -72,14 +73,15 @@ class neogeo_svcsplus_cart_device : public neogeo_bootleg_cart_device
public: public:
neogeo_svcsplus_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); neogeo_svcsplus_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual uint32_t get_bank_base(uint16_t sel) override { return m_pvc_prot->get_bank_base(); } virtual uint32_t get_bank_base(uint16_t sel) override { return m_pvc_prot->get_bank_base(); }
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_pvc_prot->protection_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(protection_r) override { return m_pvc_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_pvc_prot->protection_w(space, offset, data, mem_mask); } virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_pvc_prot->protection_w(space, offset, data, mem_mask); }
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override; virtual void decrypt_all(DECRYPT_ALL_PARAMS) override;
virtual int get_fixed_bank_type() override { return 0; } virtual int get_fixed_bank_type() override { return 0; }
protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<pvc_prot_device> m_pvc_prot; required_device<pvc_prot_device> m_pvc_prot;
}; };

View File

@ -44,15 +44,10 @@ void neogeo_cmc_cart_device::device_reset()
} }
static MACHINE_CONFIG_START( cmc_cart ) MACHINE_CONFIG_MEMBER( neogeo_cmc_cart_device::device_add_mconfig )
MCFG_CMC_PROT_ADD("cmc_prot") MCFG_CMC_PROT_ADD("cmc_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_cmc_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cmc_cart );
}
/************************************************* /*************************************************
zupapa zupapa

View File

@ -17,8 +17,6 @@ public:
// construction/destruction // construction/destruction
neogeo_cmc_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); neogeo_cmc_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing // reading and writing
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { } virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { }
virtual int get_fixed_bank_type() override { return 0; } virtual int get_fixed_bank_type() override { return 0; }
@ -30,6 +28,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<cmc_prot_device> m_prot; required_device<cmc_prot_device> m_prot;
}; };

View File

@ -43,11 +43,6 @@ void neogeo_fatfury2_cart_device::device_reset()
mapper specific handlers mapper specific handlers
-------------------------------------------------*/ -------------------------------------------------*/
static MACHINE_CONFIG_START( fatfury2_cart ) MACHINE_CONFIG_MEMBER( neogeo_fatfury2_cart_device::device_add_mconfig )
MCFG_FATFURY2_PROT_ADD("fatfury2_prot") MCFG_FATFURY2_PROT_ADD("fatfury2_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_fatfury2_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( fatfury2_cart );
}

View File

@ -17,8 +17,6 @@ public:
// construction/destruction // construction/destruction
neogeo_fatfury2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); neogeo_fatfury2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_prot->protection_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(protection_r) override { return m_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_prot->protection_w(space, offset, data, mem_mask); } virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_prot->protection_w(space, offset, data, mem_mask); }
@ -28,6 +26,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<fatfury2_prot_device> m_prot; required_device<fatfury2_prot_device> m_prot;
}; };

View File

@ -50,17 +50,12 @@ void neogeo_kof2k2type_cart_device::device_reset()
mapper specific handlers mapper specific handlers
-------------------------------------------------*/ -------------------------------------------------*/
static MACHINE_CONFIG_START( kof2002_cart ) MACHINE_CONFIG_MEMBER( neogeo_kof2k2type_cart_device::device_add_mconfig )
MCFG_CMC_PROT_ADD("cmc_prot") MCFG_CMC_PROT_ADD("cmc_prot")
MCFG_PCM2_PROT_ADD("pcm2_prot") MCFG_PCM2_PROT_ADD("pcm2_prot")
MCFG_KOF2002_PROT_ADD("kof2002_prot") MCFG_KOF2002_PROT_ADD("kof2002_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_kof2k2type_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof2002_cart );
}
/************************************************* /*************************************************
kof2002 kof2002

View File

@ -18,7 +18,6 @@ class neogeo_kof2k2type_cart_device : public neogeo_rom_device
public: public:
// construction/destruction // construction/destruction
neogeo_kof2k2type_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); neogeo_kof2k2type_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing // reading and writing
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { } virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { }
@ -31,6 +30,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;
required_device<pcm2_prot_device> m_pcm2_prot; required_device<pcm2_prot_device> m_pcm2_prot;
required_device<kof2002_prot_device> m_kof2k2_prot; required_device<kof2002_prot_device> m_kof2k2_prot;

View File

@ -43,15 +43,10 @@ void neogeo_kof98_cart_device::device_reset()
mapper specific handlers mapper specific handlers
-------------------------------------------------*/ -------------------------------------------------*/
static MACHINE_CONFIG_START( kof98_cart ) MACHINE_CONFIG_MEMBER( neogeo_kof98_cart_device::device_add_mconfig )
MCFG_KOF98_PROT_ADD("kof98_prot") MCFG_KOF98_PROT_ADD("kof98_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_kof98_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( kof98_cart );
}
void neogeo_kof98_cart_device::decrypt_all(DECRYPT_ALL_PARAMS) void neogeo_kof98_cart_device::decrypt_all(DECRYPT_ALL_PARAMS)
{ {
m_prot->decrypt_68k(cpuregion, cpuregion_size); m_prot->decrypt_68k(cpuregion, cpuregion_size);

View File

@ -17,8 +17,6 @@ public:
// construction/destruction // construction/destruction
neogeo_kof98_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); neogeo_kof98_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_prot->protection_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(protection_r) override { return m_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_prot->protection_w(space, offset, data, mem_mask); } virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_prot->protection_w(space, offset, data, mem_mask); }
@ -30,6 +28,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<kof98_prot_device> m_prot; required_device<kof98_prot_device> m_prot;
}; };

View File

@ -43,11 +43,6 @@ void neogeo_mslugx_cart_device::device_reset()
mapper specific handlers mapper specific handlers
-------------------------------------------------*/ -------------------------------------------------*/
static MACHINE_CONFIG_START( mslugx_cart ) MACHINE_CONFIG_MEMBER( neogeo_mslugx_cart_device::device_add_mconfig )
MCFG_MSLUGX_PROT_ADD("mslugx_prot") MCFG_MSLUGX_PROT_ADD("mslugx_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_mslugx_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( mslugx_cart );
}

View File

@ -17,8 +17,6 @@ public:
// construction/destruction // construction/destruction
neogeo_mslugx_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); neogeo_mslugx_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_prot->protection_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(protection_r) override { return m_prot->protection_r(space, offset, mem_mask); }
virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_prot->protection_w(space, offset, data, mem_mask); } virtual DECLARE_WRITE16_MEMBER(protection_w) override { m_prot->protection_w(space, offset, data, mem_mask); }
@ -28,6 +26,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<mslugx_prot_device> m_prot; required_device<mslugx_prot_device> m_prot;
}; };

View File

@ -49,16 +49,11 @@ void neogeo_pcm2_cart_device::device_reset()
mapper specific handlers mapper specific handlers
-------------------------------------------------*/ -------------------------------------------------*/
static MACHINE_CONFIG_START( pcm2_cart ) MACHINE_CONFIG_MEMBER( neogeo_pcm2_cart_device::device_add_mconfig )
MCFG_CMC_PROT_ADD("cmc_prot") MCFG_CMC_PROT_ADD("cmc_prot")
MCFG_PCM2_PROT_ADD("pcm2_prot") MCFG_PCM2_PROT_ADD("pcm2_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_pcm2_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( pcm2_cart );
}
/************************************************* /*************************************************
mslug4 mslug4

View File

@ -16,8 +16,6 @@ public:
// construction/destruction // construction/destruction
neogeo_pcm2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); neogeo_pcm2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { } virtual void decrypt_all(DECRYPT_ALL_PARAMS) override { }
virtual int get_fixed_bank_type() override { return 0; } virtual int get_fixed_bank_type() override { return 0; }
@ -28,6 +26,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;
required_device<pcm2_prot_device> m_pcm2_prot; required_device<pcm2_prot_device> m_pcm2_prot;
}; };

View File

@ -50,19 +50,12 @@ void neogeo_pvc_cart_device::device_reset()
mapper specific handlers mapper specific handlers
-------------------------------------------------*/ -------------------------------------------------*/
static MACHINE_CONFIG_START( pvc_cart ) MACHINE_CONFIG_MEMBER( neogeo_pvc_cart_device::device_add_mconfig )
MCFG_CMC_PROT_ADD("cmc_prot") MCFG_CMC_PROT_ADD("cmc_prot")
MCFG_PCM2_PROT_ADD("pcm2_prot") MCFG_PCM2_PROT_ADD("pcm2_prot")
MCFG_PVC_PROT_ADD("pvc_prot") MCFG_PVC_PROT_ADD("pvc_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_pvc_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( pvc_cart );
}
/************************************************* /*************************************************
mslug5 mslug5

View File

@ -19,8 +19,6 @@ public:
// construction/destruction // construction/destruction
neogeo_pvc_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); neogeo_pvc_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing // reading and writing
virtual uint32_t get_bank_base(uint16_t sel) override { return m_pvc_prot->get_bank_base(); } virtual uint32_t get_bank_base(uint16_t sel) override { return m_pvc_prot->get_bank_base(); }
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_pvc_prot->protection_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(protection_r) override { return m_pvc_prot->protection_r(space, offset, mem_mask); }
@ -36,6 +34,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;
required_device<pcm2_prot_device> m_pcm2_prot; required_device<pcm2_prot_device> m_pcm2_prot;
required_device<pvc_prot_device> m_pvc_prot; required_device<pvc_prot_device> m_pvc_prot;

View File

@ -54,16 +54,11 @@ void neogeo_sma_cart_device::device_reset()
mapper specific handlers mapper specific handlers
-------------------------------------------------*/ -------------------------------------------------*/
static MACHINE_CONFIG_START( sma_cart ) MACHINE_CONFIG_MEMBER( neogeo_sma_cart_device::device_add_mconfig )
MCFG_SMA_PROT_ADD("sma_prot") MCFG_SMA_PROT_ADD("sma_prot")
MCFG_CMC_PROT_ADD("cmc_prot") MCFG_CMC_PROT_ADD("cmc_prot")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor neogeo_sma_cart_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sma_cart );
}
/************************************************* /*************************************************
kof99 kof99

View File

@ -16,8 +16,6 @@ public:
// construction/destruction // construction/destruction
neogeo_sma_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock); neogeo_sma_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint16_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing // reading and writing
virtual DECLARE_READ16_MEMBER(protection_r) override { return m_sma_prot->prot_9a37_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(protection_r) override { return m_sma_prot->prot_9a37_r(space, offset, mem_mask); }
virtual DECLARE_READ16_MEMBER(addon_r) override { return m_sma_prot->random_r(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(addon_r) override { return m_sma_prot->random_r(space, offset, mem_mask); }
@ -33,6 +31,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<sma_prot_device> m_sma_prot; required_device<sma_prot_device> m_sma_prot;
required_device<cmc_prot_device> m_cmc_prot; required_device<cmc_prot_device> m_cmc_prot;
}; };

View File

@ -324,11 +324,6 @@ static SLOT_INTERFACE_START(ade_cart)
SLOT_INTERFACE_END SLOT_INTERFACE_END
MACHINE_CONFIG_START( camerica_aladdin ) MACHINE_CONFIG_MEMBER( nes_aladdin_device::device_add_mconfig )
MCFG_ALADDIN_MINICART_ADD("ade_slot", ade_cart) MCFG_ALADDIN_MINICART_ADD("ade_slot", ade_cart)
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor nes_aladdin_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( camerica_aladdin );
}

View File

@ -155,7 +155,6 @@ public:
// construction/destruction // construction/destruction
nes_aladdin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_aladdin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read_h) override; virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual DECLARE_WRITE8_MEMBER(write_h) override;
@ -165,6 +164,8 @@ protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<nes_aladdin_slot_device> m_subslot; required_device<nes_aladdin_slot_device> m_subslot;
}; };

View File

@ -393,25 +393,14 @@ READ8_MEMBER(nes_lz93d50_24c01_device::read_m)
// SERIAL I2C DEVICE // SERIAL I2C DEVICE
//------------------------------------------------- //-------------------------------------------------
MACHINE_CONFIG_START( bandai_i2c_24c01 ) MACHINE_CONFIG_MEMBER( nes_lz93d50_24c01_device::device_add_mconfig )
MCFG_24C01_ADD("i2cmem") MCFG_24C01_ADD("i2cmem")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor nes_lz93d50_24c01_device::device_mconfig_additions() const MACHINE_CONFIG_MEMBER( nes_lz93d50_24c02_device::device_add_mconfig )
{
return MACHINE_CONFIG_NAME( bandai_i2c_24c01 );
}
MACHINE_CONFIG_START( bandai_i2c_24c02 )
MCFG_24C02_ADD("i2cmem") MCFG_24C02_ADD("i2cmem")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor nes_lz93d50_24c02_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( bandai_i2c_24c02 );
}
/*------------------------------------------------- /*-------------------------------------------------

View File

@ -90,7 +90,6 @@ public:
// construction/destruction // construction/destruction
nes_lz93d50_24c01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_lz93d50_24c01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read_m) override; virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual DECLARE_WRITE8_MEMBER(write_h) override;
@ -102,6 +101,8 @@ protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override;
// TODO: fix EEPROM I/O emulation // TODO: fix EEPROM I/O emulation
required_device<i2cmem_device> m_i2cmem; required_device<i2cmem_device> m_i2cmem;
uint8_t m_i2c_dir; uint8_t m_i2c_dir;
@ -116,8 +117,9 @@ public:
// construction/destruction // construction/destruction
nes_lz93d50_24c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_lz93d50_24c02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides // device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
}; };

View File

@ -202,15 +202,10 @@ uint8_t *nes_datach_rom_device::get_cart_base()
} }
MACHINE_CONFIG_START( subcart_i2c_24c01 ) MACHINE_CONFIG_MEMBER( nes_datach_24c01_device::device_add_mconfig )
MCFG_24C01_ADD("i2cmem") MCFG_24C01_ADD("i2cmem")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor nes_datach_24c01_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( subcart_i2c_24c01 );
}
//--------------------------------- //---------------------------------
// //
@ -373,17 +368,12 @@ static SLOT_INTERFACE_START(datach_cart)
SLOT_INTERFACE_END SLOT_INTERFACE_END
MACHINE_CONFIG_START( bandai_datach ) MACHINE_CONFIG_MEMBER( nes_datach_device::device_add_mconfig )
MCFG_BARCODE_READER_ADD("datach") MCFG_BARCODE_READER_ADD("datach")
MCFG_DATACH_MINICART_ADD("datach_slot", datach_cart) MCFG_DATACH_MINICART_ADD("datach_slot", datach_cart)
MCFG_24C02_ADD("i2cmem") MCFG_24C02_ADD("i2cmem")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor nes_datach_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( bandai_datach );
}
//------------------------------------------------- //-------------------------------------------------
// device_timer - handler timer events // device_timer - handler timer events

View File

@ -124,8 +124,9 @@ public:
// construction/destruction // construction/destruction
nes_datach_24c01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_datach_24c01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// optional information overrides // optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
}; };
// device type definition // device type definition
@ -147,10 +148,6 @@ public:
// construction/destruction // construction/destruction
nes_datach_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_datach_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual void device_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read_m) override; virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override; virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual DECLARE_WRITE8_MEMBER(write_h) override;
@ -158,6 +155,11 @@ public:
virtual void pcb_reset() override; virtual void pcb_reset() override;
protected: protected:
// device-level overrides
virtual void device_start() 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;
uint8_t m_datach_latch; uint8_t m_datach_latch;
required_device<i2cmem_device> m_i2cmem; required_device<i2cmem_device> m_i2cmem;
required_device<barcode_reader_device> m_reader; required_device<barcode_reader_device> m_reader;

View File

@ -47,21 +47,15 @@ static const floppy_interface nes_floppy_interface =
"floppy_5_25" "floppy_5_25"
}; };
static MACHINE_CONFIG_START( nes_disksys )
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( nes_disksys_device::device_add_mconfig )
MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, nes_floppy_interface) MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, nes_floppy_interface)
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor nes_disksys_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( nes_disksys );
}
ROM_START( disksys ) ROM_START( disksys )
ROM_REGION(0x2000, "drive", 0) ROM_REGION(0x2000, "drive", 0)

View File

@ -17,9 +17,6 @@ public:
// construction/destruction // construction/destruction
nes_disksys_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_disksys_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual DECLARE_READ8_MEMBER(read_ex) override; virtual DECLARE_READ8_MEMBER(read_ex) override;
virtual DECLARE_READ8_MEMBER(read_m) override; virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override; virtual DECLARE_READ8_MEMBER(read_h) override;
@ -37,6 +34,9 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) 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 const tiny_rom_entry *device_rom_region() const override;
required_region_ptr<uint8_t> m_2c33_rom; required_region_ptr<uint8_t> m_2c33_rom;
private: private:

View File

@ -253,22 +253,12 @@ READ8_MEMBER(nes_ggenie_device::nt_r)
return m_nt_access[page][offset & 0x3ff]; return m_nt_access[page][offset & 0x3ff];
} }
//------------------------------------------------- //-------------------------------------------------
// MACHINE_CONFIG_START( sub_slot ) // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
static MACHINE_CONFIG_START( sub_slot ) MACHINE_CONFIG_MEMBER( nes_ggenie_device::device_add_mconfig )
MCFG_NES_CARTRIDGE_ADD("gg_slot", nes_cart, nullptr) MCFG_NES_CARTRIDGE_ADD("gg_slot", nes_cart, nullptr)
MCFG_NES_CARTRIDGE_NOT_MANDATORY MCFG_NES_CARTRIDGE_NOT_MANDATORY
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor nes_ggenie_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sub_slot );
}

View File

@ -32,15 +32,16 @@ public:
void scanline_irq(int scanline, int vblank, int blanked) override { if (m_gg_bypass && m_ggslot->m_cart) m_ggslot->m_cart->scanline_irq(scanline, vblank, blanked); } void scanline_irq(int scanline, int vblank, int blanked) override { if (m_gg_bypass && m_ggslot->m_cart) m_ggslot->m_cart->scanline_irq(scanline, vblank, blanked); }
void ppu_latch(offs_t offset) override { if (m_gg_bypass && m_ggslot->m_cart) m_ggslot->m_cart->ppu_latch(offset); } void ppu_latch(offs_t offset) override { if (m_gg_bypass && m_ggslot->m_cart) m_ggslot->m_cart->ppu_latch(offset); }
virtual machine_config_constructor device_mconfig_additions() const override;
virtual void pcb_reset() override; virtual void pcb_reset() override;
virtual void pcb_start(running_machine &machine, uint8_t *ciram_ptr, bool cart_mounted) override; virtual void pcb_start(running_machine &machine, uint8_t *ciram_ptr, bool cart_mounted) override;
private: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override;
private:
// emulate the Game Genie! // emulate the Game Genie!
required_device<nes_cart_slot_device> m_ggslot; required_device<nes_cart_slot_device> m_ggslot;

View File

@ -767,11 +767,12 @@ static const char *const jf33_sample_names[] =
nullptr nullptr
}; };
//------------------------------------------------- //-------------------------------------------------
// MACHINE_DRIVER // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
static MACHINE_CONFIG_START( jf13 ) MACHINE_CONFIG_MEMBER( nes_jf13_device::device_add_mconfig )
// additional sound hardware // additional sound hardware
MCFG_SPEAKER_STANDARD_MONO("addon") MCFG_SPEAKER_STANDARD_MONO("addon")
@ -782,7 +783,7 @@ static MACHINE_CONFIG_START( jf13 )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50)
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_START( jf17 ) MACHINE_CONFIG_MEMBER( nes_jf17_adpcm_device::device_add_mconfig )
// additional sound hardware // additional sound hardware
MCFG_SPEAKER_STANDARD_MONO("addon") MCFG_SPEAKER_STANDARD_MONO("addon")
@ -793,7 +794,7 @@ static MACHINE_CONFIG_START( jf17 )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50)
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_START( jf19 ) MACHINE_CONFIG_MEMBER( nes_jf19_adpcm_device::device_add_mconfig )
// additional sound hardware // additional sound hardware
MCFG_SPEAKER_STANDARD_MONO("addon") MCFG_SPEAKER_STANDARD_MONO("addon")
@ -804,7 +805,7 @@ static MACHINE_CONFIG_START( jf19 )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50)
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_START( jf23 ) MACHINE_CONFIG_MEMBER( nes_jf23_device::device_add_mconfig )
// additional sound hardware // additional sound hardware
MCFG_SPEAKER_STANDARD_MONO("addon") MCFG_SPEAKER_STANDARD_MONO("addon")
@ -815,7 +816,7 @@ static MACHINE_CONFIG_START( jf23 )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50)
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_START( jf24 ) MACHINE_CONFIG_MEMBER( nes_jf24_device::device_add_mconfig )
// additional sound hardware // additional sound hardware
MCFG_SPEAKER_STANDARD_MONO("addon") MCFG_SPEAKER_STANDARD_MONO("addon")
@ -826,7 +827,7 @@ static MACHINE_CONFIG_START( jf24 )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50)
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_START( jf29 ) MACHINE_CONFIG_MEMBER( nes_jf29_device::device_add_mconfig )
// additional sound hardware // additional sound hardware
MCFG_SPEAKER_STANDARD_MONO("addon") MCFG_SPEAKER_STANDARD_MONO("addon")
@ -837,7 +838,7 @@ static MACHINE_CONFIG_START( jf29 )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50)
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_START( jf33 ) MACHINE_CONFIG_MEMBER( nes_jf33_device::device_add_mconfig )
// additional sound hardware // additional sound hardware
MCFG_SPEAKER_STANDARD_MONO("addon") MCFG_SPEAKER_STANDARD_MONO("addon")
@ -847,42 +848,3 @@ static MACHINE_CONFIG_START( jf33 )
MCFG_SAMPLES_NAMES(jf33_sample_names) MCFG_SAMPLES_NAMES(jf33_sample_names)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50)
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions
//-------------------------------------------------
machine_config_constructor nes_jf13_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( jf13 );
}
machine_config_constructor nes_jf17_adpcm_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( jf17 );
}
machine_config_constructor nes_jf19_adpcm_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( jf19 );
}
machine_config_constructor nes_jf23_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( jf23 );
}
machine_config_constructor nes_jf24_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( jf24 );
}
machine_config_constructor nes_jf29_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( jf29 );
}
machine_config_constructor nes_jf33_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( jf33 );
}

View File

@ -35,7 +35,6 @@ public:
// construction/destruction // construction/destruction
nes_jf13_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_jf13_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_WRITE8_MEMBER(write_m) override; virtual DECLARE_WRITE8_MEMBER(write_m) override;
virtual void pcb_reset() override; virtual void pcb_reset() override;
@ -44,6 +43,8 @@ protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<samples_device> m_samples; required_device<samples_device> m_samples;
}; };
@ -97,9 +98,11 @@ public:
// construction/destruction // construction/destruction
nes_jf17_adpcm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_jf17_adpcm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual DECLARE_WRITE8_MEMBER(write_h) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<samples_device> m_samples; required_device<samples_device> m_samples;
}; };
@ -133,9 +136,11 @@ public:
// construction/destruction // construction/destruction
nes_jf19_adpcm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_jf19_adpcm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual DECLARE_WRITE8_MEMBER(write_h) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<samples_device> m_samples; required_device<samples_device> m_samples;
}; };
@ -195,7 +200,8 @@ public:
// construction/destruction // construction/destruction
nes_jf23_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_jf23_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_add_mconfig(machine_config &config) override;
private: private:
virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); } virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
@ -212,7 +218,8 @@ public:
// construction/destruction // construction/destruction
nes_jf24_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_jf24_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_add_mconfig(machine_config &config) override;
private: private:
virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); } virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
@ -229,7 +236,8 @@ public:
// construction/destruction // construction/destruction
nes_jf29_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_jf29_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_add_mconfig(machine_config &config) override;
private: private:
virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); } virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
@ -246,7 +254,8 @@ public:
// construction/destruction // construction/destruction
nes_jf33_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_jf33_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_add_mconfig(machine_config &config) override;
private: private:
virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); } virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }

View File

@ -295,11 +295,6 @@ static SLOT_INTERFACE_START(karaoke_studio_cart)
SLOT_INTERFACE_END SLOT_INTERFACE_END
MACHINE_CONFIG_START( karaoke_studio ) MACHINE_CONFIG_MEMBER( nes_karaokestudio_device::device_add_mconfig )
MCFG_KSTUDIO_MINICART_ADD("exp_slot", karaoke_studio_cart) MCFG_KSTUDIO_MINICART_ADD("exp_slot", karaoke_studio_cart)
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor nes_karaokestudio_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( karaoke_studio );
}

View File

@ -130,9 +130,6 @@ public:
// construction/destruction // construction/destruction
nes_karaokestudio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_karaokestudio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ioport_constructor device_input_ports() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read_m) override; virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override; virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual DECLARE_WRITE8_MEMBER(write_h) override;
@ -143,6 +140,10 @@ protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual ioport_constructor device_input_ports() const override;
virtual void device_add_mconfig(machine_config &config) override;
private:
int m_exp_active; int m_exp_active;
required_device<nes_kstudio_slot_device> m_subslot; required_device<nes_kstudio_slot_device> m_subslot;
required_ioport m_mic_ipt; required_ioport m_mic_ipt;

View File

@ -633,7 +633,12 @@ WRITE8_MEMBER(nes_konami_vrc6_device::write_h)
} }
} }
static MACHINE_CONFIG_START( vrc6 )
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( nes_konami_vrc6_device::device_add_mconfig )
// additional sound hardware // additional sound hardware
MCFG_SPEAKER_STANDARD_MONO("addon") MCFG_SPEAKER_STANDARD_MONO("addon")
@ -644,16 +649,6 @@ static MACHINE_CONFIG_START( vrc6 )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.5) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.5)
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor nes_konami_vrc6_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( vrc6 );
}
/*------------------------------------------------- /*-------------------------------------------------
Konami VRC7 Konami VRC7
@ -767,7 +762,7 @@ WRITE8_MEMBER(nes_konami_vrc7_device::write_h)
// FIXME: we currently emulate this as a base YM2413! // FIXME: we currently emulate this as a base YM2413!
static MACHINE_CONFIG_START( vrc7 ) MACHINE_CONFIG_MEMBER( nes_konami_vrc7_device::device_add_mconfig )
// additional sound hardware // additional sound hardware
MCFG_SPEAKER_STANDARD_MONO("addon") MCFG_SPEAKER_STANDARD_MONO("addon")
@ -777,13 +772,3 @@ static MACHINE_CONFIG_START( vrc7 )
MCFG_SOUND_ADD("ym", YM2413, XTAL_21_4772MHz/12) MCFG_SOUND_ADD("ym", YM2413, XTAL_21_4772MHz/12)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.5) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.5)
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor nes_konami_vrc7_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( vrc7 );
}

View File

@ -126,13 +126,14 @@ public:
// construction/destruction // construction/destruction
nes_konami_vrc6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_konami_vrc6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual DECLARE_WRITE8_MEMBER(write_h) override;
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<vrc6snd_device> m_vrc6snd; required_device<vrc6snd_device> m_vrc6snd;
}; };
@ -145,7 +146,6 @@ public:
// construction/destruction // construction/destruction
nes_konami_vrc7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_konami_vrc7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual DECLARE_WRITE8_MEMBER(write_h) override;
virtual void pcb_reset() override; virtual void pcb_reset() override;
@ -154,6 +154,8 @@ protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<ym2413_device> m_ym2413; required_device<ym2413_device> m_ym2413;
}; };

View File

@ -83,11 +83,12 @@ static const char *const pt554_sample_names[] =
nullptr nullptr
}; };
//------------------------------------------------- //-------------------------------------------------
// MACHINE_DRIVER // device_add_mconfig - add device configuration
//------------------------------------------------- //-------------------------------------------------
static MACHINE_CONFIG_START( pt554 ) MACHINE_CONFIG_MEMBER( nes_bandai_pt554_device::device_add_mconfig )
// additional sound hardware // additional sound hardware
MCFG_SPEAKER_STANDARD_MONO("addon") MCFG_SPEAKER_STANDARD_MONO("addon")
@ -97,12 +98,3 @@ static MACHINE_CONFIG_START( pt554 )
MCFG_SAMPLES_NAMES(pt554_sample_names) MCFG_SAMPLES_NAMES(pt554_sample_names)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50)
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions
//-------------------------------------------------
machine_config_constructor nes_bandai_pt554_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( pt554 );
}

View File

@ -16,10 +16,12 @@ public:
// construction/destruction // construction/destruction
nes_bandai_pt554_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_bandai_pt554_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_WRITE8_MEMBER(write_m) override; virtual DECLARE_WRITE8_MEMBER(write_m) override;
protected:
// device-level overrides
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<samples_device> m_samples; required_device<samples_device> m_samples;
}; };

View File

@ -597,9 +597,6 @@ WRITE8_MEMBER(nes_sunsoft_5_device::write_h)
} }
} }
//-------------------------------------------------
// MACHINE_DRIVER( sun_5b )
//-------------------------------------------------
// From NESdev wiki: The 5B's audio is driven by the CPU clock (1.78977267 MHz), // From NESdev wiki: The 5B's audio is driven by the CPU clock (1.78977267 MHz),
// but like the NES's APU, the YM2149F has an optional clock divider which // but like the NES's APU, the YM2149F has an optional clock divider which
@ -608,7 +605,12 @@ WRITE8_MEMBER(nes_sunsoft_5_device::write_h)
// YM2149F operating in this mode. To use an AY-3-8910 as a substitute, // YM2149F operating in this mode. To use an AY-3-8910 as a substitute,
// you would need an external divider to reduce the clock speed by half. // you would need an external divider to reduce the clock speed by half.
static MACHINE_CONFIG_START( sun_5b )
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( nes_sunsoft_5_device::device_add_mconfig )
// additional sound hardware // additional sound hardware
MCFG_SPEAKER_STANDARD_MONO("addon") MCFG_SPEAKER_STANDARD_MONO("addon")
@ -618,13 +620,3 @@ static MACHINE_CONFIG_START( sun_5b )
MCFG_SOUND_ADD("ay", YM2149, (XTAL_21_4772MHz/12)/2) // divide by 2 for the internal divider MCFG_SOUND_ADD("ay", YM2149, (XTAL_21_4772MHz/12)/2) // divide by 2 for the internal divider
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.50)
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor nes_sunsoft_5_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sun_5b );
}

View File

@ -138,10 +138,11 @@ public:
// construction/destruction // construction/destruction
nes_sunsoft_5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_sunsoft_5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_WRITE8_MEMBER(write_h) override; virtual DECLARE_WRITE8_MEMBER(write_h) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
private: private:
required_device<ay8910_device> m_ym2149; required_device<ay8910_device> m_ym2149;
}; };

View File

@ -272,30 +272,23 @@ READ8_MEMBER(nes_sunsoft_dcs_device::read_m)
return m_open_bus; // open bus return m_open_bus; // open bus
} }
//-------------------------------------------------
// MACHINE_CONFIG_START( sub_slot )
//-------------------------------------------------
static SLOT_INTERFACE_START(ntb_cart) static SLOT_INTERFACE_START(ntb_cart)
SLOT_INTERFACE_INTERNAL("ntbrom", NES_NTB_ROM) SLOT_INTERFACE_INTERNAL("ntbrom", NES_NTB_ROM)
SLOT_INTERFACE_END SLOT_INTERFACE_END
static MACHINE_CONFIG_START( sub_slot )
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( nes_sunsoft_dcs_device::device_add_mconfig )
MCFG_NTB_MINICART_ADD("ntb_slot", ntb_cart) MCFG_NTB_MINICART_ADD("ntb_slot", ntb_cart)
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor nes_sunsoft_dcs_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sub_slot );
}
//------------------------------------------------- //-------------------------------------------------
// device_timer - handler timer events // device_timer - handler timer events
//------------------------------------------------- //-------------------------------------------------

View File

@ -128,7 +128,6 @@ public:
// construction/destruction // construction/destruction
nes_sunsoft_dcs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_sunsoft_dcs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
virtual DECLARE_READ8_MEMBER(read_m) override; virtual DECLARE_READ8_MEMBER(read_m) override;
virtual DECLARE_READ8_MEMBER(read_h) override; virtual DECLARE_READ8_MEMBER(read_h) override;
virtual DECLARE_WRITE8_MEMBER(write_m) override; virtual DECLARE_WRITE8_MEMBER(write_m) override;
@ -141,6 +140,8 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) 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: private:
static constexpr device_timer_id TIMER_PROTECT = 0; static constexpr device_timer_id TIMER_PROTECT = 0;

View File

@ -20,15 +20,10 @@
DEFINE_DEVICE_TYPE(NES_BARCODE_BATTLER, nes_bcbattle_device, "nes_bcbattle", "Epoch Barcode Battler (FC)") DEFINE_DEVICE_TYPE(NES_BARCODE_BATTLER, nes_bcbattle_device, "nes_bcbattle", "Epoch Barcode Battler (FC)")
MACHINE_CONFIG_START( nes_battler ) MACHINE_CONFIG_MEMBER( nes_bcbattle_device::device_add_mconfig )
MCFG_BARCODE_READER_ADD("battler") MCFG_BARCODE_READER_ADD("battler")
MACHINE_CONFIG_END MACHINE_CONFIG_END
machine_config_constructor nes_bcbattle_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( nes_battler );
}
//------------------------------------------------- //-------------------------------------------------
// device_timer - handler timer events // device_timer - handler timer events

View File

@ -28,8 +28,6 @@ public:
// construction/destruction // construction/destruction
nes_bcbattle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_bcbattle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
protected: protected:
static constexpr device_timer_id TIMER_BATTLER = 1; static constexpr device_timer_id TIMER_BATTLER = 1;
@ -38,6 +36,8 @@ protected:
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) 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 uint8_t read_exp(offs_t offset) override; virtual uint8_t read_exp(offs_t offset) override;
int read_current_bit(); int read_current_bit();

View File

@ -119,24 +119,17 @@ ioport_constructor nes_fckeybrd_device::device_input_ports() const
} }
static MACHINE_CONFIG_START( fc_keyboard ) //-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( nes_fckeybrd_device::device_add_mconfig )
MCFG_CASSETTE_ADD("tape") MCFG_CASSETTE_ADD("tape")
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED) MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED)
MCFG_CASSETTE_INTERFACE("fc_cass") MCFG_CASSETTE_INTERFACE("fc_cass")
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor nes_fckeybrd_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( fc_keyboard );
}
//************************************************************************** //**************************************************************************
// LIVE DEVICE // LIVE DEVICE
//************************************************************************** //**************************************************************************

View File

@ -28,14 +28,14 @@ public:
// construction/destruction // construction/destruction
nes_fckeybrd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_fckeybrd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ioport_constructor device_input_ports() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual ioport_constructor device_input_ports() const override;
virtual void device_add_mconfig(machine_config &config) override;
virtual uint8_t read_exp(offs_t offset) override; virtual uint8_t read_exp(offs_t offset) override;
virtual void write(uint8_t data) override; virtual void write(uint8_t data) override;

View File

@ -53,12 +53,17 @@ static SLOT_INTERFACE_START( hori_adapter )
SLOT_INTERFACE("joypad", NES_JOYPAD) SLOT_INTERFACE("joypad", NES_JOYPAD)
SLOT_INTERFACE_END SLOT_INTERFACE_END
static MACHINE_CONFIG_START( horitwin )
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( nes_horitwin_device::device_add_mconfig )
MCFG_FC_EXPANSION_PORT_ADD("port1", hori_adapter, "joypad") MCFG_FC_EXPANSION_PORT_ADD("port1", hori_adapter, "joypad")
MCFG_FC_EXPANSION_PORT_ADD("port2", hori_adapter, "joypad") MCFG_FC_EXPANSION_PORT_ADD("port2", hori_adapter, "joypad")
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_START( hori4p ) MACHINE_CONFIG_MEMBER( nes_hori4p_device::device_add_mconfig )
MCFG_FC_EXPANSION_PORT_ADD("port1", hori_adapter, "joypad") MCFG_FC_EXPANSION_PORT_ADD("port1", hori_adapter, "joypad")
MCFG_FC_EXPANSION_PORT_ADD("port2", hori_adapter, "joypad") MCFG_FC_EXPANSION_PORT_ADD("port2", hori_adapter, "joypad")
MCFG_FC_EXPANSION_PORT_ADD("port3", hori_adapter, "joypad") MCFG_FC_EXPANSION_PORT_ADD("port3", hori_adapter, "joypad")
@ -66,22 +71,6 @@ static MACHINE_CONFIG_START( hori4p )
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor nes_horitwin_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( horitwin );
}
machine_config_constructor nes_hori4p_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( hori4p );
}
//************************************************************************** //**************************************************************************
// LIVE DEVICE // LIVE DEVICE
//************************************************************************** //**************************************************************************

View File

@ -27,12 +27,12 @@ public:
// construction/destruction // construction/destruction
nes_horitwin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_horitwin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override { } virtual void device_start() override { }
virtual void device_add_mconfig(machine_config &config) override;
virtual uint8_t read_exp(offs_t offset) override; virtual uint8_t read_exp(offs_t offset) override;
virtual void write(uint8_t data) override; virtual void write(uint8_t data) override;
@ -50,13 +50,13 @@ public:
// construction/destruction // construction/destruction
nes_hori4p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_hori4p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ioport_constructor device_input_ports() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start() override { } virtual void device_start() override { }
virtual ioport_constructor device_input_ports() const override;
virtual void device_add_mconfig(machine_config &config) override;
virtual uint8_t read_exp(offs_t offset) override; virtual uint8_t read_exp(offs_t offset) override;
virtual void write(uint8_t data) override; virtual void write(uint8_t data) override;

View File

@ -148,24 +148,17 @@ static SLOT_INTERFACE_START( arcstick_daisy )
SLOT_INTERFACE("arcstick", NES_ARCSTICK) SLOT_INTERFACE("arcstick", NES_ARCSTICK)
SLOT_INTERFACE_END SLOT_INTERFACE_END
static MACHINE_CONFIG_START( arcstick )
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( nes_arcstick_device::device_add_mconfig )
// expansion port to allow daisy chaining // expansion port to allow daisy chaining
MCFG_FC_EXPANSION_PORT_ADD("subexp", arcstick_daisy, nullptr) MCFG_FC_EXPANSION_PORT_ADD("subexp", arcstick_daisy, nullptr)
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor nes_arcstick_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( arcstick );
}
//************************************************************************** //**************************************************************************
// LIVE DEVICE // LIVE DEVICE
//************************************************************************** //**************************************************************************

View File

@ -88,10 +88,10 @@ public:
// construction/destruction // construction/destruction
nes_arcstick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); nes_arcstick_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ioport_constructor device_input_ports() const override;
virtual machine_config_constructor device_mconfig_additions() const override;
protected: protected:
virtual ioport_constructor device_input_ports() const override;
virtual void device_add_mconfig(machine_config &config) override;
virtual uint8_t read_bit0() override { return 0; } virtual uint8_t read_bit0() override { return 0; }
virtual uint8_t read_exp(offs_t offset) override; virtual uint8_t read_exp(offs_t offset) override;
virtual void write(uint8_t data) override; virtual void write(uint8_t data) override;

Some files were not shown because too many files have changed in this diff Show More