mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
device_add_mconfig up to devices/bus/h* (nw)
This commit is contained in:
parent
89f35e6fcc
commit
f31b152080
@ -85,47 +85,25 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( c1526 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( c1526 )
|
||||
MACHINE_CONFIG_MEMBER( c1526_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M6504_TAG, M6504, XTAL_4MHz/4)
|
||||
MCFG_CPU_PROGRAM_MAP(c1526_mem)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor c1526_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( c1526 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( c4023 )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( c4023 )
|
||||
MACHINE_CONFIG_MEMBER( c4023_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M6504_TAG, M6504, XTAL_4MHz/4)
|
||||
MCFG_CPU_PROGRAM_MAP(c1526_mem)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor c4023_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( c4023 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( c1526 )
|
||||
//-------------------------------------------------
|
||||
|
@ -43,12 +43,12 @@ public:
|
||||
// construction/destruction
|
||||
c1526_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
|
||||
protected:
|
||||
// device_cbm_iec_interface overrides
|
||||
void cbm_iec_atn(int state) override;
|
||||
void cbm_iec_data(int state) override;
|
||||
@ -64,12 +64,12 @@ public:
|
||||
// construction/destruction
|
||||
c4023_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
|
||||
protected:
|
||||
// device_ieee488_interface overrides
|
||||
virtual void ieee488_atn(int state) override;
|
||||
virtual void ieee488_ifc(int state) override;
|
||||
|
@ -808,10 +808,10 @@ WRITE8_MEMBER( c1541_prologic_dos_classic_device::pia_pb_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( c1541 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( c1541 )
|
||||
MACHINE_CONFIG_MEMBER( c1541_device_base::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
|
||||
MCFG_CPU_PROGRAM_MAP(c1541_mem)
|
||||
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
|
||||
@ -840,89 +840,29 @@ static MACHINE_CONFIG_START( c1541 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor c1541_device_base::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( c1541 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( c1541c )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( c1541c )
|
||||
MCFG_FRAGMENT_ADD(c1541)
|
||||
MACHINE_CONFIG_MEMBER( c1541c_device::device_add_mconfig )
|
||||
c1541_device_base::device_add_mconfig(config);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor c1541c_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( c1541c );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( c1541dd )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( c1541dd )
|
||||
MCFG_FRAGMENT_ADD(c1541)
|
||||
MACHINE_CONFIG_MEMBER( c1541_dolphin_dos_device::device_add_mconfig )
|
||||
c1541_device_base::device_add_mconfig(config);
|
||||
|
||||
MCFG_CPU_MODIFY(M6502_TAG)
|
||||
MCFG_CPU_PROGRAM_MAP(c1541dd_mem)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor c1541_dolphin_dos_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( c1541dd );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( c1541pd )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( c1541pd )
|
||||
MCFG_FRAGMENT_ADD(c1541)
|
||||
MACHINE_CONFIG_MEMBER( c1541_professional_dos_v1_device::device_add_mconfig )
|
||||
c1541_device_base::device_add_mconfig(config);
|
||||
|
||||
MCFG_CPU_MODIFY(M6502_TAG)
|
||||
MCFG_CPU_PROGRAM_MAP(c1541pd_mem)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor c1541_professional_dos_v1_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( c1541pd );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( c1541pdc )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( c1541pdc )
|
||||
MCFG_FRAGMENT_ADD(c1541)
|
||||
MACHINE_CONFIG_MEMBER( c1541_prologic_dos_classic_device::device_add_mconfig )
|
||||
c1541_device_base::device_add_mconfig(config);
|
||||
|
||||
MCFG_CPU_MODIFY(M6502_TAG)
|
||||
MCFG_CPU_PROGRAM_MAP(c1541pdc_mem)
|
||||
@ -939,17 +879,6 @@ static MACHINE_CONFIG_START( c1541pdc )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor c1541_prologic_dos_classic_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( c1541pdc );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( c1541 )
|
||||
//-------------------------------------------------
|
||||
@ -1004,11 +933,11 @@ c1541_device_base::c1541_device_base(const machine_config &mconfig, device_type
|
||||
device_t(mconfig, type, tag, owner, clock),
|
||||
device_cbm_iec_interface(mconfig, *this),
|
||||
device_c64_floppy_parallel_interface(mconfig, *this),
|
||||
m_floppy(*this, C64H156_TAG":0:525ssqd"),
|
||||
m_maincpu(*this, M6502_TAG),
|
||||
m_via0(*this, M6522_0_TAG),
|
||||
m_via1(*this, M6522_1_TAG),
|
||||
m_ga(*this, C64H156_TAG),
|
||||
m_floppy(*this, C64H156_TAG":0:525ssqd"),
|
||||
m_address(*this, "ADDRESS"),
|
||||
m_data_out(1),
|
||||
m_via0_irq(CLEAR_LINE),
|
||||
|
@ -39,11 +39,37 @@ class c1541_device_base : public device_t,
|
||||
public device_cbm_iec_interface,
|
||||
public device_c64_floppy_parallel_interface
|
||||
{
|
||||
public:
|
||||
protected:
|
||||
// construction/destruction
|
||||
c1541_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
// device_cbm_iec_interface overrides
|
||||
virtual void cbm_iec_atn(int state) override;
|
||||
virtual void cbm_iec_reset(int state) override;
|
||||
|
||||
// device_c64_floppy_parallel_interface overrides
|
||||
virtual void parallel_data_w(uint8_t data) override;
|
||||
virtual void parallel_strobe_w(int state) override;
|
||||
|
||||
required_device<floppy_image_device> m_floppy;
|
||||
|
||||
private:
|
||||
enum
|
||||
{
|
||||
LED_POWER = 0,
|
||||
LED_ACT
|
||||
};
|
||||
|
||||
inline void set_iec_data();
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( via0_irq_w );
|
||||
virtual DECLARE_READ8_MEMBER( via0_pa_r );
|
||||
DECLARE_WRITE8_MEMBER( via0_pa_w );
|
||||
@ -58,35 +84,10 @@ public:
|
||||
|
||||
DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
|
||||
protected:
|
||||
// construction/destruction
|
||||
c1541_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// device_cbm_iec_interface overrides
|
||||
virtual void cbm_iec_atn(int state) override;
|
||||
virtual void cbm_iec_reset(int state) override;
|
||||
|
||||
// device_c64_floppy_parallel_interface overrides
|
||||
virtual void parallel_data_w(uint8_t data) override;
|
||||
virtual void parallel_strobe_w(int state) override;
|
||||
|
||||
enum
|
||||
{
|
||||
LED_POWER = 0,
|
||||
LED_ACT
|
||||
};
|
||||
|
||||
inline void set_iec_data();
|
||||
|
||||
required_device<m6502_device> m_maincpu;
|
||||
required_device<via6522_device> m_via0;
|
||||
required_device<via6522_device> m_via1;
|
||||
required_device<c64h156_device> m_ga;
|
||||
required_device<floppy_image_device> m_floppy;
|
||||
required_ioport m_address;
|
||||
|
||||
// IEC bus
|
||||
@ -106,6 +107,7 @@ public:
|
||||
// construction/destruction
|
||||
c1540_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
};
|
||||
@ -119,6 +121,7 @@ public:
|
||||
// construction/destruction
|
||||
c1541_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
};
|
||||
@ -132,10 +135,12 @@ public:
|
||||
// construction/destruction
|
||||
c1541c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
// not really public
|
||||
virtual DECLARE_READ8_MEMBER( via0_pa_r ) override;
|
||||
};
|
||||
@ -149,6 +154,7 @@ public:
|
||||
// construction/destruction
|
||||
c1541ii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
};
|
||||
@ -162,6 +168,7 @@ public:
|
||||
// construction/destruction
|
||||
sx1541_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
};
|
||||
@ -175,6 +182,7 @@ public:
|
||||
// construction/destruction
|
||||
fsd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
};
|
||||
@ -188,6 +196,7 @@ public:
|
||||
// construction/destruction
|
||||
fsd2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
|
||||
@ -204,6 +213,7 @@ public:
|
||||
// construction/destruction
|
||||
csd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
};
|
||||
@ -217,9 +227,10 @@ public:
|
||||
// construction/destruction
|
||||
c1541_dolphin_dos_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
|
||||
@ -231,9 +242,10 @@ public:
|
||||
// construction/destruction
|
||||
c1541_professional_dos_v1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
|
||||
@ -245,25 +257,27 @@ public:
|
||||
// construction/destruction
|
||||
c1541_prologic_dos_classic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
// not really public
|
||||
DECLARE_READ8_MEMBER( read );
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
DECLARE_READ8_MEMBER( pia_r );
|
||||
DECLARE_WRITE8_MEMBER( pia_w );
|
||||
|
||||
DECLARE_WRITE8_MEMBER( pia_pa_w );
|
||||
DECLARE_READ8_MEMBER( pia_pb_r );
|
||||
DECLARE_WRITE8_MEMBER( pia_pb_w );
|
||||
|
||||
protected:
|
||||
required_device<pia6821_device> m_pia;
|
||||
required_device<output_latch_device> m_cent_data_out;
|
||||
required_memory_region m_mmu_rom;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE8_MEMBER( pia_pa_w );
|
||||
DECLARE_READ8_MEMBER( pia_pb_r );
|
||||
DECLARE_WRITE8_MEMBER( pia_pb_w );
|
||||
};
|
||||
|
||||
|
||||
@ -275,6 +289,7 @@ public:
|
||||
// construction/destruction
|
||||
indus_gt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
};
|
||||
|
@ -597,10 +597,10 @@ static SLOT_INTERFACE_START( mini_chief_isa8_cards )
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( c1570 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( c1570 )
|
||||
MACHINE_CONFIG_MEMBER( c1570_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
|
||||
MCFG_CPU_PROGRAM_MAP(c1571_mem)
|
||||
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
|
||||
@ -636,22 +636,7 @@ static MACHINE_CONFIG_START( c1570 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor c1570_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( c1570 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( c1571 )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( c1571 )
|
||||
MACHINE_CONFIG_MEMBER( c1571_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
|
||||
MCFG_CPU_PROGRAM_MAP(c1571_mem)
|
||||
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
|
||||
@ -687,22 +672,7 @@ static MACHINE_CONFIG_START( c1571 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor c1571_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( c1571 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( c1571cr )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( c1571cr )
|
||||
MACHINE_CONFIG_MEMBER( c1571cr_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
|
||||
MCFG_CPU_PROGRAM_MAP(c1571_mem)
|
||||
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
|
||||
@ -732,22 +702,7 @@ static MACHINE_CONFIG_START( c1571cr )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor c1571cr_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( c1571cr );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( mini_chief )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( mini_chief )
|
||||
MACHINE_CONFIG_MEMBER( mini_chief_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
|
||||
MCFG_CPU_PROGRAM_MAP(mini_chief_mem)
|
||||
MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
|
||||
@ -787,17 +742,6 @@ static MACHINE_CONFIG_START( mini_chief )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor mini_chief_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( mini_chief );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( c1571 )
|
||||
//-------------------------------------------------
|
||||
|
@ -43,11 +43,6 @@ public:
|
||||
// construction/destruction
|
||||
c1571_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( via0_irq_w );
|
||||
DECLARE_READ8_MEMBER( via0_pa_r );
|
||||
DECLARE_WRITE8_MEMBER( via0_pa_w );
|
||||
@ -80,6 +75,11 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
// device_cbm_iec_interface overrides
|
||||
virtual void cbm_iec_srq(int state) override;
|
||||
virtual void cbm_iec_atn(int state) override;
|
||||
@ -131,9 +131,10 @@ public:
|
||||
// construction/destruction
|
||||
c1570_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
|
||||
@ -145,10 +146,12 @@ public:
|
||||
// construction/destruction
|
||||
c1571cr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE8_MEMBER( via0_pa_w );
|
||||
DECLARE_WRITE8_MEMBER( via0_pb_w );
|
||||
};
|
||||
@ -162,10 +165,12 @@ public:
|
||||
// construction/destruction
|
||||
mini_chief_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
DECLARE_READ8_MEMBER( cia_pa_r );
|
||||
DECLARE_WRITE8_MEMBER( cia_pa_w );
|
||||
DECLARE_WRITE8_MEMBER( cia_pb_w );
|
||||
|
@ -262,10 +262,10 @@ FLOPPY_FORMATS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( c1581 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( c1581 )
|
||||
MACHINE_CONFIG_MEMBER( c1581_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/8)
|
||||
MCFG_CPU_PROGRAM_MAP(c1581_mem)
|
||||
|
||||
@ -283,17 +283,6 @@ static MACHINE_CONFIG_START( c1581 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor c1581_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( c1581 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( c1581 )
|
||||
//-------------------------------------------------
|
||||
|
@ -39,12 +39,33 @@ public:
|
||||
// construction/destruction
|
||||
c1581_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
c1581_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
// not really public
|
||||
// device_cbm_iec_interface overrides
|
||||
virtual void cbm_iec_srq(int state) override;
|
||||
virtual void cbm_iec_atn(int state) override;
|
||||
virtual void cbm_iec_data(int state) override;
|
||||
virtual void cbm_iec_reset(int state) override;
|
||||
|
||||
private:
|
||||
enum
|
||||
{
|
||||
LED_POWER = 0,
|
||||
LED_ACT
|
||||
};
|
||||
|
||||
void update_iec();
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( cnt_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( sp_w );
|
||||
DECLARE_READ8_MEMBER( cia_pa_r );
|
||||
@ -54,27 +75,6 @@ public:
|
||||
|
||||
DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
|
||||
protected:
|
||||
c1581_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// device_cbm_iec_interface overrides
|
||||
virtual void cbm_iec_srq(int state) override;
|
||||
virtual void cbm_iec_atn(int state) override;
|
||||
virtual void cbm_iec_data(int state) override;
|
||||
virtual void cbm_iec_reset(int state) override;
|
||||
|
||||
enum
|
||||
{
|
||||
LED_POWER = 0,
|
||||
LED_ACT
|
||||
};
|
||||
|
||||
void update_iec();
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<mos6526_device> m_cia;
|
||||
required_device<wd1772_device> m_fdc;
|
||||
|
@ -73,10 +73,10 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( cmd_hd )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( cmd_hd )
|
||||
MACHINE_CONFIG_MEMBER( cmd_hd_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M6502_TAG, M6502, 2000000)
|
||||
MCFG_CPU_PROGRAM_MAP(cmd_hd_mem)
|
||||
|
||||
@ -90,17 +90,6 @@ static MACHINE_CONFIG_START( cmd_hd )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor cmd_hd_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cmd_hd );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -40,10 +40,6 @@ public:
|
||||
// construction/destruction
|
||||
cmd_hd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
DECLARE_WRITE8_MEMBER( led_w );
|
||||
|
||||
protected:
|
||||
@ -51,6 +47,10 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// device_cbm_iec_interface overrides
|
||||
void cbm_iec_srq(int state) override;
|
||||
void cbm_iec_atn(int state) override;
|
||||
|
@ -77,16 +77,13 @@ ROM_END
|
||||
|
||||
const tiny_rom_entry *fd2000_device::device_rom_region() const
|
||||
{
|
||||
switch (m_variant)
|
||||
{
|
||||
default:
|
||||
return ROM_NAME( fd2000 );
|
||||
|
||||
case TYPE_FD4000:
|
||||
return ROM_NAME( fd4000 );
|
||||
}
|
||||
return ROM_NAME( fd2000 );
|
||||
}
|
||||
|
||||
const tiny_rom_entry *fd4000_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME( fd4000 );
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// ADDRESS_MAP( fd2000_mem )
|
||||
@ -209,11 +206,12 @@ FLOPPY_FORMATS_MEMBER( fd2000_device::floppy_formats )
|
||||
FLOPPY_FORMATS_END
|
||||
*/
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( fd2000 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( fd2000 )
|
||||
MACHINE_CONFIG_MEMBER( fd2000_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(G65SC02PI2_TAG, M65C02, XTAL_24MHz/12)
|
||||
MCFG_CPU_PROGRAM_MAP(fd2000_mem)
|
||||
|
||||
@ -229,11 +227,7 @@ static MACHINE_CONFIG_START( fd2000 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( fd4000 )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( fd4000 )
|
||||
MACHINE_CONFIG_MEMBER( fd4000_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(R65C02P4_TAG, M65C02, XTAL_24MHz/6)
|
||||
MCFG_CPU_PROGRAM_MAP(fd4000_mem)
|
||||
|
||||
@ -249,24 +243,6 @@ static MACHINE_CONFIG_START( fd4000 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor fd2000_device::device_mconfig_additions() const
|
||||
{
|
||||
switch (m_variant)
|
||||
{
|
||||
default:
|
||||
return MACHINE_CONFIG_NAME( fd2000 );
|
||||
|
||||
case TYPE_FD4000:
|
||||
return MACHINE_CONFIG_NAME( fd4000 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
@ -276,17 +252,16 @@ machine_config_constructor fd2000_device::device_mconfig_additions() const
|
||||
//-------------------------------------------------
|
||||
|
||||
fd2000_device::fd2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: fd2000_device(mconfig, FD2000, tag, owner, clock, TYPE_FD2000)
|
||||
: fd2000_device(mconfig, FD2000, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
fd2000_device::fd2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant)
|
||||
fd2000_device::fd2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, type, tag, owner, clock)
|
||||
, device_cbm_iec_interface(mconfig, *this)
|
||||
, m_maincpu(*this, R65C02P4_TAG)
|
||||
, m_fdc(*this, PC8477AV1_TAG)
|
||||
, m_floppy0(*this, PC8477AV1_TAG":0")
|
||||
, m_variant(variant)
|
||||
, m_maincpu(*this, G65SC02PI2_TAG)
|
||||
, m_fdc(*this, DP8473V_TAG)
|
||||
, m_floppy0(*this, DP8473V_TAG":0")
|
||||
{
|
||||
}
|
||||
|
||||
@ -296,8 +271,11 @@ fd2000_device::fd2000_device(const machine_config &mconfig, device_type type, co
|
||||
//-------------------------------------------------
|
||||
|
||||
fd4000_device::fd4000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: fd2000_device(mconfig, FD4000, tag, owner, clock, TYPE_FD4000)
|
||||
: fd2000_device(mconfig, FD4000, tag, owner, clock)
|
||||
{
|
||||
m_maincpu.set_tag(R65C02P4_TAG);
|
||||
m_fdc.set_tag(PC8477AV1_TAG);
|
||||
m_floppy0.set_tag(PC8477AV1_TAG":0");
|
||||
}
|
||||
|
||||
|
||||
|
@ -40,10 +40,6 @@ public:
|
||||
// construction/destruction
|
||||
fd2000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
DECLARE_READ8_MEMBER( via_pa_r );
|
||||
DECLARE_WRITE8_MEMBER( via_pa_w );
|
||||
DECLARE_READ8_MEMBER( via_pb_r );
|
||||
@ -52,18 +48,16 @@ public:
|
||||
//DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
|
||||
protected:
|
||||
enum
|
||||
{
|
||||
TYPE_FD2000,
|
||||
TYPE_FD4000
|
||||
};
|
||||
|
||||
fd2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t variant);
|
||||
fd2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// device_cbm_iec_interface overrides
|
||||
void cbm_iec_srq(int state) override;
|
||||
void cbm_iec_atn(int state) override;
|
||||
@ -73,8 +67,6 @@ protected:
|
||||
required_device<m65c02_device> m_maincpu;
|
||||
required_device<upd765_family_device> m_fdc;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
|
||||
int m_variant;
|
||||
};
|
||||
|
||||
|
||||
@ -85,6 +77,10 @@ class fd4000_device : public fd2000_device
|
||||
public:
|
||||
// construction/destruction
|
||||
fd4000_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
|
||||
|
@ -120,10 +120,10 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( interpod )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( interpod )
|
||||
MACHINE_CONFIG_MEMBER( interpod_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(R6502_TAG, M6502, 1000000)
|
||||
MCFG_CPU_PROGRAM_MAP(interpod_mem)
|
||||
|
||||
@ -135,17 +135,6 @@ static MACHINE_CONFIG_START( interpod )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor interpod_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( interpod );
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
@ -49,15 +49,15 @@ public:
|
||||
// construction/destruction
|
||||
interpod_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<via6522_device> m_via;
|
||||
required_device<mos6532_new_device> m_riot;
|
||||
|
@ -65,26 +65,15 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( serial_box )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( serial_box )
|
||||
MACHINE_CONFIG_MEMBER( serial_box_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M6502_TAG, M65C02, XTAL_4MHz/4)
|
||||
MCFG_CPU_PROGRAM_MAP(serial_box_mem)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor serial_box_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( serial_box );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -36,15 +36,15 @@ public:
|
||||
// construction/destruction
|
||||
serial_box_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// device_cbm_iec_interface overrides
|
||||
void cbm_iec_atn(int state) override;
|
||||
void cbm_iec_data(int state) override;
|
||||
|
@ -56,27 +56,16 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( vic1515 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( vic1515 )
|
||||
MACHINE_CONFIG_MEMBER( vic1515_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("maincpu", I8039, XTAL_6MHz)
|
||||
MCFG_CPU_PROGRAM_MAP(vic1515_mem)
|
||||
MCFG_CPU_IO_MAP(vic1515_io)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor vic1515_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( vic1515 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( vic1515 )
|
||||
//-------------------------------------------------
|
||||
|
@ -28,16 +28,16 @@ public:
|
||||
// construction/destruction
|
||||
vic1515_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
// device_cbm_iec_interface overrides
|
||||
void cbm_iec_atn(int state) override;
|
||||
void cbm_iec_data(int state) override;
|
||||
|
@ -90,26 +90,15 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( vic1520 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( vic1520 )
|
||||
MACHINE_CONFIG_MEMBER( vic1520_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M6500_1_TAG, M6502, XTAL_2MHz) // M6500/1
|
||||
MCFG_CPU_PROGRAM_MAP(vic1520_mem)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor vic1520_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( vic1520 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( vic1520 )
|
||||
//-------------------------------------------------
|
||||
|
@ -28,16 +28,16 @@ public:
|
||||
// construction/destruction
|
||||
vic1520_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
// device_cbm_iec_interface overrides
|
||||
void cbm_iec_atn(int state) override;
|
||||
void cbm_iec_data(int state) override;
|
||||
|
@ -95,10 +95,10 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( comxpl80 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( comxpl80 )
|
||||
MACHINE_CONFIG_MEMBER( comx_pl80_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(CX005_TAG, M6805, 4000000) // CX005: some kind of MC6805/MC68HC05 clone
|
||||
MCFG_CPU_PROGRAM_MAP(comxpl80_mem)
|
||||
MCFG_CPU_IO_MAP(comxpl80_io)
|
||||
@ -106,17 +106,6 @@ static MACHINE_CONFIG_START( comxpl80 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor comx_pl80_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( comxpl80 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( comxpl80 )
|
||||
//-------------------------------------------------
|
||||
|
@ -29,11 +29,6 @@ public:
|
||||
// construction/destruction
|
||||
comx_pl80_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
// not really public
|
||||
DECLARE_WRITE8_MEMBER( pa_w );
|
||||
DECLARE_WRITE8_MEMBER( pb_w );
|
||||
@ -45,6 +40,11 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) override { if (state) m_data |= 0x01; else m_data &= ~0x01; }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) override { if (state) m_data |= 0x02; else m_data &= ~0x02; }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) override { if (state) m_data |= 0x04; else m_data &= ~0x04; }
|
||||
|
@ -18,14 +18,6 @@
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE(CENTRONICS_COVOX, centronics_covox_device, "covox", "Covox Speech Thing")
|
||||
|
||||
static MACHINE_CONFIG_START( covox )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
IMPLEMENTATION
|
||||
@ -43,14 +35,16 @@ centronics_covox_device::centronics_covox_device(const machine_config &mconfig,
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor centronics_covox_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( covox );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( centronics_covox_device::device_add_mconfig )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
void centronics_covox_device::device_start()
|
||||
{
|
||||
@ -70,16 +64,6 @@ void centronics_covox_device::update_dac()
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE(CENTRONICS_COVOX_STEREO, centronics_covox_stereo_device, "covox_stereo", "Covox (Stereo-in-1)")
|
||||
|
||||
static MACHINE_CONFIG_START( covox_stereo )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
|
||||
MCFG_SOUND_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
IMPLEMENTATION
|
||||
@ -100,14 +84,18 @@ centronics_covox_stereo_device::centronics_covox_stereo_device(const machine_con
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor centronics_covox_stereo_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( covox_stereo );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( centronics_covox_stereo_device::device_add_mconfig )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
MCFG_SOUND_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC
|
||||
MCFG_SOUND_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE_EX(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "ldac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MCFG_SOUND_ROUTE_EX(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "rdac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
void centronics_covox_stereo_device::device_start()
|
||||
{
|
||||
|
@ -23,13 +23,13 @@ public:
|
||||
// construction/destruction
|
||||
centronics_covox_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;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) override { if (state) m_data |= 0x01; else m_data &= ~0x01; update_dac(); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) override { if (state) m_data |= 0x02; else m_data &= ~0x02; update_dac(); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) override { if (state) m_data |= 0x04; else m_data &= ~0x04; update_dac(); }
|
||||
@ -59,13 +59,13 @@ public:
|
||||
// construction/destruction
|
||||
centronics_covox_stereo_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;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_strobe ) override { m_strobe = state; update_dac(); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) override { if (state) m_data |= 0x01; else m_data &= ~0x01; update_dac(); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) override { if (state) m_data |= 0x02; else m_data &= ~0x02; update_dac(); }
|
||||
|
@ -18,14 +18,6 @@
|
||||
// device type definition
|
||||
DEFINE_DEVICE_TYPE(CENTRONICS_DIGIBLASTER, centronics_digiblaster_device, "digiblst", "Digiblaster (DIY)")
|
||||
|
||||
static MACHINE_CONFIG_START( digiblst )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
IMPLEMENTATION
|
||||
@ -43,14 +35,16 @@ centronics_digiblaster_device::centronics_digiblaster_device(const machine_confi
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor centronics_digiblaster_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( digiblst );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( centronics_digiblaster_device::device_add_mconfig )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
void centronics_digiblaster_device::device_start()
|
||||
{
|
||||
|
@ -29,13 +29,13 @@ public:
|
||||
// construction/destruction
|
||||
centronics_digiblaster_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;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) override { if (state) m_data |= 0x01; else m_data &= ~0x01; update_dac(); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) override { if (state) m_data |= 0x02; else m_data &= ~0x02; update_dac(); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) override { if (state) m_data |= 0x04; else m_data &= ~0x04; update_dac(); }
|
||||
|
@ -212,10 +212,10 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( epson_ex800 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( epson_ex800 )
|
||||
MACHINE_CONFIG_MEMBER( epson_ex800_device::device_add_mconfig )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", UPD7810, 12000000) /* 12 MHz? */
|
||||
MCFG_CPU_PROGRAM_MAP(ex800_mem)
|
||||
@ -235,17 +235,6 @@ static MACHINE_CONFIG_START( epson_ex800 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor epson_ex800_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( epson_ex800 );
|
||||
}
|
||||
|
||||
|
||||
/* The ON LINE switch is directly connected to the INT1 input of the CPU */
|
||||
INPUT_CHANGED_MEMBER(epson_ex800_device::online_switch)
|
||||
{
|
||||
|
@ -30,17 +30,6 @@ public:
|
||||
// construction/destruction
|
||||
epson_ex800_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
DECLARE_READ8_MEMBER(porta_r);
|
||||
DECLARE_READ8_MEMBER(portb_r);
|
||||
DECLARE_READ8_MEMBER(portc_r);
|
||||
DECLARE_WRITE8_MEMBER(porta_w);
|
||||
DECLARE_WRITE8_MEMBER(portb_w);
|
||||
DECLARE_WRITE8_MEMBER(portc_w);
|
||||
DECLARE_READ8_MEMBER(devsel_r);
|
||||
DECLARE_WRITE8_MEMBER(devsel_w);
|
||||
DECLARE_READ8_MEMBER(gate5a_r);
|
||||
@ -57,7 +46,19 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
private:
|
||||
DECLARE_READ8_MEMBER(porta_r);
|
||||
DECLARE_READ8_MEMBER(portb_r);
|
||||
DECLARE_READ8_MEMBER(portc_r);
|
||||
DECLARE_WRITE8_MEMBER(porta_w);
|
||||
DECLARE_WRITE8_MEMBER(portb_w);
|
||||
DECLARE_WRITE8_MEMBER(portc_w);
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<beep_device> m_beeper;
|
||||
|
||||
|
@ -63,10 +63,10 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( epson_lx800 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( epson_lx800 )
|
||||
MACHINE_CONFIG_MEMBER( epson_lx800_device::device_add_mconfig )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", UPD7810, XTAL_14_7456MHz)
|
||||
MCFG_CPU_PROGRAM_MAP(lx800_mem)
|
||||
@ -98,17 +98,6 @@ static MACHINE_CONFIG_START( epson_lx800 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor epson_lx800_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( epson_lx800 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( epson_lx800 )
|
||||
//-------------------------------------------------
|
||||
|
@ -31,25 +31,10 @@ public:
|
||||
// construction/destruction
|
||||
epson_lx800_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
DECLARE_READ8_MEMBER(porta_r);
|
||||
DECLARE_WRITE8_MEMBER(porta_w);
|
||||
DECLARE_READ8_MEMBER(portc_r);
|
||||
DECLARE_WRITE8_MEMBER(portc_w);
|
||||
DECLARE_READ8_MEMBER(centronics_data_r);
|
||||
DECLARE_WRITE_LINE_MEMBER(centronics_pe_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(paperempty_led_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(reset_w);
|
||||
DECLARE_READ_LINE_MEMBER(an0_r);
|
||||
DECLARE_READ_LINE_MEMBER(an1_r);
|
||||
DECLARE_READ_LINE_MEMBER(an2_r);
|
||||
DECLARE_READ_LINE_MEMBER(an3_r);
|
||||
DECLARE_READ_LINE_MEMBER(an4_r);
|
||||
DECLARE_READ_LINE_MEMBER(an5_r);
|
||||
|
||||
protected:
|
||||
epson_lx800_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
@ -58,7 +43,24 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
private:
|
||||
DECLARE_READ8_MEMBER(porta_r);
|
||||
DECLARE_WRITE8_MEMBER(porta_w);
|
||||
DECLARE_READ8_MEMBER(portc_r);
|
||||
DECLARE_WRITE8_MEMBER(portc_w);
|
||||
|
||||
DECLARE_READ_LINE_MEMBER(an0_r);
|
||||
DECLARE_READ_LINE_MEMBER(an1_r);
|
||||
DECLARE_READ_LINE_MEMBER(an2_r);
|
||||
DECLARE_READ_LINE_MEMBER(an3_r);
|
||||
DECLARE_READ_LINE_MEMBER(an4_r);
|
||||
DECLARE_READ_LINE_MEMBER(an5_r);
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<beep_device> m_beep;
|
||||
};
|
||||
|
@ -106,10 +106,10 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( epson_lx810l )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( epson_lx810l )
|
||||
MACHINE_CONFIG_MEMBER( epson_lx810l_device::device_add_mconfig )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", UPD7810, XTAL_14_7456MHz)
|
||||
MCFG_CPU_PROGRAM_MAP(lx810l_mem)
|
||||
@ -172,16 +172,6 @@ static MACHINE_CONFIG_START( epson_lx810l )
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor epson_lx810l_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( epson_lx810l );
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
INPUT PORTS
|
||||
|
@ -41,11 +41,42 @@ public:
|
||||
// construction/destruction
|
||||
epson_lx810l_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
/* fake memory I/O to get past memory reset check */
|
||||
DECLARE_READ8_MEMBER(fakemem_r);
|
||||
DECLARE_WRITE8_MEMBER(fakemem_w);
|
||||
|
||||
/* Centronics stuff */
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_strobe ) override { if (m_e05a30) m_e05a30->centronics_input_strobe(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) override { if (m_e05a30) m_e05a30->centronics_input_data0(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) override { if (m_e05a30) m_e05a30->centronics_input_data1(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) override { if (m_e05a30) m_e05a30->centronics_input_data2(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data3 ) override { if (m_e05a30) m_e05a30->centronics_input_data3(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data4 ) override { if (m_e05a30) m_e05a30->centronics_input_data4(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data5 ) override { if (m_e05a30) m_e05a30->centronics_input_data5(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data6 ) override { if (m_e05a30) m_e05a30->centronics_input_data6(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data7 ) override { if (m_e05a30) m_e05a30->centronics_input_data7(state); }
|
||||
|
||||
/* Panel buttons */
|
||||
DECLARE_INPUT_CHANGED_MEMBER(online_sw);
|
||||
|
||||
/* Video hardware (simulates paper) */
|
||||
#define uabs(x) ((x) > 0 ? (x) : -(x))
|
||||
unsigned int bitmap_line(int i) { return ((uabs(m_pf_pos_abs) / 6) + i) % m_bitmap.height(); }
|
||||
|
||||
protected:
|
||||
epson_lx810l_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
private:
|
||||
DECLARE_READ8_MEMBER(porta_r);
|
||||
DECLARE_WRITE8_MEMBER(porta_w);
|
||||
DECLARE_READ8_MEMBER(portb_r);
|
||||
@ -66,49 +97,22 @@ public:
|
||||
DECLARE_READ8_MEMBER(an6_r);
|
||||
DECLARE_READ8_MEMBER(an7_r);
|
||||
|
||||
/* fake memory I/O to get past memory reset check */
|
||||
DECLARE_READ8_MEMBER(fakemem_r);
|
||||
DECLARE_WRITE8_MEMBER(fakemem_w);
|
||||
|
||||
|
||||
/* GATE ARRAY */
|
||||
DECLARE_WRITE16_MEMBER(printhead);
|
||||
DECLARE_WRITE8_MEMBER(pf_stepper);
|
||||
DECLARE_WRITE8_MEMBER(cr_stepper);
|
||||
DECLARE_WRITE_LINE_MEMBER(e05a30_ready);
|
||||
|
||||
/* Centronics stuff */
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_strobe ) override { if (m_e05a30) m_e05a30->centronics_input_strobe(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data0 ) override { if (m_e05a30) m_e05a30->centronics_input_data0(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data1 ) override { if (m_e05a30) m_e05a30->centronics_input_data1(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data2 ) override { if (m_e05a30) m_e05a30->centronics_input_data2(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data3 ) override { if (m_e05a30) m_e05a30->centronics_input_data3(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data4 ) override { if (m_e05a30) m_e05a30->centronics_input_data4(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data5 ) override { if (m_e05a30) m_e05a30->centronics_input_data5(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data6 ) override { if (m_e05a30) m_e05a30->centronics_input_data6(state); }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data7 ) override { if (m_e05a30) m_e05a30->centronics_input_data7(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(e05a30_centronics_ack) { output_ack(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(e05a30_centronics_busy) { output_busy(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(e05a30_centronics_perror) { output_perror(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(e05a30_centronics_fault) { output_fault(state); }
|
||||
DECLARE_WRITE_LINE_MEMBER(e05a30_centronics_select) { output_select(state); }
|
||||
|
||||
/* Panel buttons */
|
||||
DECLARE_INPUT_CHANGED_MEMBER(online_sw);
|
||||
|
||||
/* Video hardware (simulates paper) */
|
||||
uint32_t screen_update_lx810l(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
#define uabs(x) ((x) > 0 ? (x) : -(x))
|
||||
unsigned int bitmap_line(int i) { return ((uabs(m_pf_pos_abs) / 6) + i) % m_bitmap.height(); }
|
||||
|
||||
protected:
|
||||
epson_lx810l_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<stepper_device> m_pf_stepper;
|
||||
required_device<stepper_device> m_cr_stepper;
|
||||
|
@ -45,26 +45,16 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( nec_p72 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( nec_p72 )
|
||||
MACHINE_CONFIG_MEMBER( nec_p72_device::device_add_mconfig )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", V33, XTAL_16MHz/2) /* TODO it's actually a V40 */
|
||||
MCFG_CPU_PROGRAM_MAP(p72_mem)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor nec_p72_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( nec_p72 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
|
@ -22,16 +22,16 @@ public:
|
||||
// construction/destruction
|
||||
nec_p72_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
protected:
|
||||
nec_p72_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
};
|
||||
|
@ -11,12 +11,6 @@
|
||||
DEFINE_DEVICE_TYPE(CENTRONICS_PRINTER, centronics_printer_device, "centronics_printer", "Centronics Printer")
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( centronics_printer )
|
||||
MCFG_DEVICE_ADD("printer", PRINTER, 0)
|
||||
MCFG_PRINTER_ONLINE_CB(WRITELINE(centronics_printer_device, printer_online))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
IMPLEMENTATION
|
||||
***************************************************************************/
|
||||
@ -34,14 +28,14 @@ centronics_printer_device::centronics_printer_device(const machine_config &mconf
|
||||
{
|
||||
}
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor centronics_printer_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( centronics_printer );
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_MEMBER( centronics_printer_device::device_add_mconfig )
|
||||
MCFG_DEVICE_ADD("printer", PRINTER, 0)
|
||||
MCFG_PRINTER_ONLINE_CB(WRITELINE(centronics_printer_device, printer_online))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/*-------------------------------------------------
|
||||
printer_online - callback that
|
||||
|
@ -28,16 +28,15 @@ public:
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_data7 ) override { if (state) m_data |= 0x80; else m_data &= ~0x80; }
|
||||
virtual DECLARE_WRITE_LINE_MEMBER( input_init ) override;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( printer_online );
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( printer_online );
|
||||
|
||||
enum
|
||||
{
|
||||
|
@ -66,11 +66,10 @@ const tiny_rom_entry *cgenie_fdc_device::device_rom_region() const
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( cgenie_fdc )
|
||||
MACHINE_CONFIG_MEMBER( cgenie_fdc_device::device_add_mconfig )
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("timer", cgenie_fdc_device, timer_callback, attotime::from_msec(25))
|
||||
|
||||
MCFG_FD1793_ADD("fd1793", XTAL_1MHz)
|
||||
@ -90,11 +89,6 @@ static MACHINE_CONFIG_START( cgenie_fdc )
|
||||
MCFG_SOFTWARE_LIST_ADD("rom_list", "cgenie_flop_rom")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor cgenie_fdc_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cgenie_fdc );
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -32,23 +32,23 @@ public:
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(timer_callback);
|
||||
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(socket_load);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(intrq_w);
|
||||
DECLARE_READ8_MEMBER(irq_r);
|
||||
DECLARE_WRITE8_MEMBER(select_w);
|
||||
DECLARE_WRITE8_MEMBER(command_w);
|
||||
|
||||
DECLARE_FLOPPY_FORMATS(floppy_formats);
|
||||
|
||||
|
||||
protected:
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
private:
|
||||
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(socket_load);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(intrq_w);
|
||||
|
||||
DECLARE_FLOPPY_FORMATS(floppy_formats);
|
||||
|
||||
required_device<fd1793_device> m_fdc;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
required_device<floppy_connector> m_floppy1;
|
||||
|
@ -24,11 +24,10 @@
|
||||
DEFINE_DEVICE_TYPE(CGENIE_PRINTER, cgenie_printer_device, "cgenie_printer", "Printer Interface EG2012")
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( cgenie_printer )
|
||||
MACHINE_CONFIG_MEMBER( cgenie_printer_device::device_add_mconfig )
|
||||
MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(cgenie_printer_device, busy_w))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(cgenie_printer_device, perror_w))
|
||||
@ -37,11 +36,6 @@ static MACHINE_CONFIG_START( cgenie_printer )
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("latch", "centronics")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor cgenie_printer_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cgenie_printer );
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -27,13 +27,8 @@ public:
|
||||
// construction/destruction
|
||||
cgenie_printer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(busy_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(perror_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(select_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(fault_w);
|
||||
|
||||
protected:
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
@ -42,6 +37,11 @@ protected:
|
||||
virtual void pb_w(uint8_t data) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER(busy_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(perror_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(select_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(fault_w);
|
||||
|
||||
required_device<centronics_device> m_centronics;
|
||||
required_device<output_latch_device> m_latch;
|
||||
|
||||
|
@ -72,10 +72,10 @@ UPD7220_DISPLAY_PIXELS_MEMBER( compis_uhrg_device::display_pixels )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG_START( hrg )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( hrg )
|
||||
MACHINE_CONFIG_MEMBER( compis_hrg_device::device_add_mconfig )
|
||||
MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
|
||||
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
@ -93,22 +93,7 @@ static MACHINE_CONFIG_START( hrg )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor compis_hrg_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( hrg );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG_START( uhrg )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( uhrg )
|
||||
MACHINE_CONFIG_MEMBER( compis_uhrg_device::device_add_mconfig )
|
||||
MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green())
|
||||
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
@ -126,18 +111,6 @@ static MACHINE_CONFIG_START( uhrg )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor compis_uhrg_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( uhrg );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
@ -29,11 +29,6 @@ public:
|
||||
// construction/destruction
|
||||
compis_hrg_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;
|
||||
|
||||
UPD7220_DISPLAY_PIXELS_MEMBER( display_pixels );
|
||||
|
||||
protected:
|
||||
compis_hrg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
@ -41,6 +36,9 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// device_compis_graphics_card_interface overrides
|
||||
virtual uint8_t pcs6_6_r(address_space &space, offs_t offset) override;
|
||||
virtual void pcs6_6_w(address_space &space, offs_t offset, uint8_t data) override;
|
||||
@ -50,6 +48,9 @@ protected:
|
||||
required_shared_ptr<uint16_t> m_video_ram;
|
||||
|
||||
uint8_t m_unk_video;
|
||||
|
||||
private:
|
||||
UPD7220_DISPLAY_PIXELS_MEMBER( display_pixels );
|
||||
};
|
||||
|
||||
|
||||
@ -61,9 +62,11 @@ public:
|
||||
// construction/destruction
|
||||
compis_uhrg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
UPD7220_DISPLAY_PIXELS_MEMBER( display_pixels );
|
||||
};
|
||||
|
||||
|
@ -47,25 +47,14 @@ SLOT_INTERFACE_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( compucolor_floppy )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( compucolor_floppy )
|
||||
MACHINE_CONFIG_MEMBER( compucolor_floppy_device::device_add_mconfig )
|
||||
MCFG_FLOPPY_DRIVE_ADD("floppy", compucolor_floppies, "525sssd", compucolor_floppy_device::floppy_formats)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor compucolor_floppy_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( compucolor_floppy );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -74,16 +74,14 @@ public:
|
||||
// construction/destruction
|
||||
compucolor_floppy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
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;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// device_serial_port_interface overrides
|
||||
virtual void tx(uint8_t state);
|
||||
|
||||
@ -93,6 +91,8 @@ protected:
|
||||
virtual void select_w(int state) override;
|
||||
|
||||
private:
|
||||
DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
|
||||
required_device<floppy_image_device> m_floppy;
|
||||
|
||||
bool read_bit();
|
||||
|
@ -133,10 +133,10 @@ GFXDECODE_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG_START( comx_clm )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( comx_clm )
|
||||
MACHINE_CONFIG_MEMBER( comx_clm_device::device_add_mconfig )
|
||||
MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white())
|
||||
MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update)
|
||||
MCFG_SCREEN_SIZE(80*8, 24*8)
|
||||
@ -154,18 +154,6 @@ static MACHINE_CONFIG_START( comx_clm )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor comx_clm_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( comx_clm );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
@ -30,24 +30,23 @@ public:
|
||||
// construction/destruction
|
||||
comx_clm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
// not really public
|
||||
MC6845_UPDATE_ROW( crtc_update_row );
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// device_comx_expansion_card_interface overrides
|
||||
virtual int comx_ef4_r() override;
|
||||
virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) override;
|
||||
virtual void comx_mwr_w(address_space &space, offs_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
MC6845_UPDATE_ROW( crtc_update_row );
|
||||
|
||||
required_device<mc6845_device> m_crtc;
|
||||
required_device<palette_device> m_palette;
|
||||
required_memory_region m_rom;
|
||||
|
@ -95,10 +95,10 @@ const tiny_rom_entry *comx_eb_device::device_rom_region() const
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG_START( comx_eb )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( comx_eb )
|
||||
MACHINE_CONFIG_MEMBER( comx_eb_device::device_add_mconfig )
|
||||
MCFG_COMX_EXPANSION_SLOT_ADD(SLOT1_TAG, comx_expansion_cards, "fd")
|
||||
MCFG_COMX_EXPANSION_SLOT_IRQ_CALLBACK(WRITELINE(comx_eb_device, slot1_irq_w))
|
||||
MCFG_COMX_EXPANSION_SLOT_ADD(SLOT2_TAG, comx_expansion_cards, "clm")
|
||||
@ -110,17 +110,6 @@ static MACHINE_CONFIG_START( comx_eb )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor comx_eb_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( comx_eb );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -36,11 +36,6 @@ public:
|
||||
// construction/destruction
|
||||
comx_eb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( slot1_irq_w ) { m_irq[0] = state; set_irq(); }
|
||||
DECLARE_WRITE_LINE_MEMBER( slot2_irq_w ) { m_irq[1] = state; set_irq(); }
|
||||
DECLARE_WRITE_LINE_MEMBER( slot3_irq_w ) { m_irq[2] = state; set_irq(); }
|
||||
DECLARE_WRITE_LINE_MEMBER( slot4_irq_w ) { m_irq[3] = state; set_irq(); }
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
@ -48,7 +43,7 @@ protected:
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// device_comx_expansion_card_interface overrides
|
||||
virtual int comx_ef4_r() override;
|
||||
@ -61,6 +56,11 @@ protected:
|
||||
void set_irq() { m_slot->irq_w(m_irq[0] || m_irq[1] || m_irq[2] || m_irq[3]); }
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( slot1_irq_w ) { m_irq[0] = state; set_irq(); }
|
||||
DECLARE_WRITE_LINE_MEMBER( slot2_irq_w ) { m_irq[1] = state; set_irq(); }
|
||||
DECLARE_WRITE_LINE_MEMBER( slot3_irq_w ) { m_irq[2] = state; set_irq(); }
|
||||
DECLARE_WRITE_LINE_MEMBER( slot4_irq_w ) { m_irq[3] = state; set_irq(); }
|
||||
|
||||
required_memory_region m_rom;
|
||||
|
||||
comx_expansion_slot_device *m_expansion_slot[MAX_EB_SLOTS];
|
||||
|
@ -92,28 +92,17 @@ SLOT_INTERFACE_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG_START( comx_fd )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( comx_fd )
|
||||
MACHINE_CONFIG_MEMBER( comx_fd_device::device_add_mconfig )
|
||||
MCFG_WD1770_ADD(WD1770_TAG, XTAL_8MHz)
|
||||
|
||||
MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":0", comx_fd_floppies, "525sd35t", comx_fd_device::floppy_formats)
|
||||
MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":1", comx_fd_floppies, nullptr, comx_fd_device::floppy_formats)
|
||||
MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":1", comx_fd_floppies, nullptr, comx_fd_device::floppy_formats)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor comx_fd_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( comx_fd );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -30,17 +30,15 @@ public:
|
||||
// construction/destruction
|
||||
comx_fd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// device_comx_expansion_card_interface overrides
|
||||
virtual int comx_ef4_r() override;
|
||||
virtual void comx_q_w(int state) override;
|
||||
@ -49,6 +47,8 @@ protected:
|
||||
virtual void comx_io_w(address_space &space, offs_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
|
||||
// internal state
|
||||
required_device<wd1770_device> m_fdc;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
|
@ -52,10 +52,10 @@ const tiny_rom_entry *comx_prn_device::device_rom_region() const
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG_START( comx_prn )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( comx_prn )
|
||||
MACHINE_CONFIG_MEMBER( comx_prn_device::device_add_mconfig )
|
||||
MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(DEVWRITELINE("cent_status_in", input_buffer_device, write_bit0))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(DEVWRITELINE("cent_status_in", input_buffer_device, write_bit1))
|
||||
@ -67,17 +67,6 @@ static MACHINE_CONFIG_START( comx_prn )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor comx_prn_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( comx_prn );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -29,15 +29,15 @@ public:
|
||||
// construction/destruction
|
||||
comx_prn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// device_comx_expansion_card_interface overrides
|
||||
virtual uint8_t comx_mrd_r(address_space &space, offs_t offset, int *extrom) override;
|
||||
virtual uint8_t comx_io_r(address_space &space, offs_t offset) override;
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*
|
||||
* amdrum.c
|
||||
* amdrum.cpp
|
||||
*
|
||||
* Created on: 23/08/2014
|
||||
*/
|
||||
@ -20,7 +20,7 @@
|
||||
DEFINE_DEVICE_TYPE(CPC_AMDRUM, cpc_amdrum_device, "cpc_amdrum", "Amdrum")
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( cpc_amdrum )
|
||||
MACHINE_CONFIG_MEMBER( cpc_amdrum_device::device_add_mconfig )
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
@ -28,10 +28,6 @@ static MACHINE_CONFIG_START( cpc_amdrum )
|
||||
// no pass-through
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor cpc_amdrum_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_amdrum );
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -27,15 +27,16 @@ public:
|
||||
// construction/destruction
|
||||
cpc_amdrum_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;
|
||||
|
||||
DECLARE_WRITE8_MEMBER(dac_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*
|
||||
* cpc_pds.c -- CPC interface hardware for the Programmers Development System
|
||||
* cpc_pds.cpp -- CPC interface hardware for the Programmers Development System
|
||||
*
|
||||
* Created on: 10/02/2014
|
||||
*/
|
||||
@ -17,19 +17,13 @@
|
||||
DEFINE_DEVICE_TYPE(CPC_PDS, cpc_pds_device, "cpc_pds", "Programmers Development System (CPC Target)")
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( cpc_pds )
|
||||
MACHINE_CONFIG_MEMBER( cpc_pds_device::device_add_mconfig )
|
||||
MCFG_DEVICE_ADD("pio", Z80PIO, XTAL_4MHz) // no clock on the PCB, so will presume that it uses the CPC's clock
|
||||
|
||||
// no pass-through seen on remake PCBs, unknown if actual hardware had a pass-through port or not
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
machine_config_constructor cpc_pds_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_pds );
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
@ -36,9 +36,6 @@ public:
|
||||
// construction/destruction
|
||||
cpc_pds_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;
|
||||
|
||||
DECLARE_READ8_MEMBER(pio_r);
|
||||
DECLARE_WRITE8_MEMBER(pio_w);
|
||||
|
||||
@ -47,6 +44,9 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*
|
||||
* cpc_rom.c
|
||||
* cpc_rom.cpp
|
||||
* Amstrad CPC mountable ROM image device
|
||||
*
|
||||
*/
|
||||
@ -18,7 +18,7 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards);
|
||||
//**************************************************************************
|
||||
|
||||
// device machine config
|
||||
static MACHINE_CONFIG_START( cpc_rom )
|
||||
MACHINE_CONFIG_MEMBER( cpc_rom_device::device_add_mconfig )
|
||||
MCFG_CPC_ROMSLOT_ADD("rom1")
|
||||
MCFG_CPC_ROMSLOT_ADD("rom2")
|
||||
MCFG_CPC_ROMSLOT_ADD("rom3")
|
||||
@ -38,11 +38,6 @@ static MACHINE_CONFIG_START( cpc_rom )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
machine_config_constructor cpc_rom_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_rom );
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
@ -65,9 +65,6 @@ public:
|
||||
// construction/destruction
|
||||
cpc_rom_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;
|
||||
|
||||
uint8_t* base(uint8_t slot) { if(slot >=1 && slot <= 8) return m_rom[slot]->base(); else return nullptr; }
|
||||
|
||||
protected:
|
||||
@ -75,6 +72,9 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
required_device_array<cpc_rom_image_device, 8> m_rom;
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*
|
||||
* cpc_rs232.c
|
||||
* cpc_rs232.cpp
|
||||
*
|
||||
* Created on: 22/04/2014
|
||||
*/
|
||||
@ -18,8 +18,22 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards);
|
||||
DEFINE_DEVICE_TYPE(CPC_RS232, cpc_rs232_device, "cpc_ser", "Pace RS232C interface")
|
||||
DEFINE_DEVICE_TYPE(CPC_RS232_AMS, cpc_ams_rs232_device, "cpc_serams", "Amstrad RS232C interface")
|
||||
|
||||
ROM_START( cpc_rs232 )
|
||||
ROM_REGION( 0x8000, "exp_rom", 0 )
|
||||
ROM_LOAD( "comstar1.rom", 0x0000, 0x4000, CRC(ddcade50) SHA1(d09ee0bd51a8e1cafc5107a75fed839dda3d21e5) )
|
||||
ROM_LOAD( "comstar2.rom", 0x4000, 0x4000, CRC(664e788c) SHA1(13d033f2d1cad70140deb903d787ba514f236a59) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cpc_rs232_ams )
|
||||
ROM_REGION( 0x4000, "exp_rom", 0 )
|
||||
ROM_SYSTEM_BIOS( 0, "amstrad", "Amstrad RS232C interface (v1)" )
|
||||
ROMX_LOAD( "rs232101.rom", 0x0000, 0x2000, CRC(c6eb52b2) SHA1(8a7e0a1183fdde8d07bc8827a3e159ca3022f93b), ROM_BIOS(1) )
|
||||
ROM_SYSTEM_BIOS( 1, "mercitel", "Amstrad RS232C interface (v1) + Mercitel (v1.4)" )
|
||||
ROMX_LOAD( "rs232mercitel14.rom", 0x0000, 0x4000, CRC(8ffb114b) SHA1(145233fe8d4db9f5265eeac767d8ee8d45d14755), ROM_BIOS(2) )
|
||||
ROM_END
|
||||
|
||||
// device machine config
|
||||
static MACHINE_CONFIG_START( cpc_rs232 )
|
||||
MACHINE_CONFIG_MEMBER( cpc_rs232_device::device_add_mconfig )
|
||||
MCFG_DEVICE_ADD("pit", PIT8253, 0)
|
||||
MCFG_PIT8253_CLK0(2000000)
|
||||
MCFG_PIT8253_CLK1(2000000)
|
||||
@ -48,25 +62,6 @@ static MACHINE_CONFIG_START( cpc_rs232 )
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( cpc_rs232 )
|
||||
ROM_REGION( 0x8000, "exp_rom", 0 )
|
||||
ROM_LOAD( "comstar1.rom", 0x0000, 0x4000, CRC(ddcade50) SHA1(d09ee0bd51a8e1cafc5107a75fed839dda3d21e5) )
|
||||
ROM_LOAD( "comstar2.rom", 0x4000, 0x4000, CRC(664e788c) SHA1(13d033f2d1cad70140deb903d787ba514f236a59) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cpc_rs232_ams )
|
||||
ROM_REGION( 0x4000, "exp_rom", 0 )
|
||||
ROM_SYSTEM_BIOS( 0, "amstrad", "Amstrad RS232C interface (v1)" )
|
||||
ROMX_LOAD( "rs232101.rom", 0x0000, 0x2000, CRC(c6eb52b2) SHA1(8a7e0a1183fdde8d07bc8827a3e159ca3022f93b), ROM_BIOS(1) )
|
||||
ROM_SYSTEM_BIOS( 1, "mercitel", "Amstrad RS232C interface (v1) + Mercitel (v1.4)" )
|
||||
ROMX_LOAD( "rs232mercitel14.rom", 0x0000, 0x4000, CRC(8ffb114b) SHA1(145233fe8d4db9f5265eeac767d8ee8d45d14755), ROM_BIOS(2) )
|
||||
ROM_END
|
||||
|
||||
machine_config_constructor cpc_rs232_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_rs232 );
|
||||
}
|
||||
|
||||
const tiny_rom_entry *cpc_rs232_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME( cpc_rs232 );
|
||||
|
@ -22,13 +22,6 @@ public:
|
||||
// construction/destruction
|
||||
cpc_rs232_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;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(pit_out0_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pit_out1_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pit_out2_w);
|
||||
|
||||
DECLARE_READ8_MEMBER(dart_r);
|
||||
DECLARE_WRITE8_MEMBER(dart_w);
|
||||
DECLARE_READ8_MEMBER(pit_r);
|
||||
@ -42,11 +35,18 @@ protected:
|
||||
virtual void device_reset() override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
required_device<pit8253_device> m_pit;
|
||||
required_device<z80dart_device> m_dart;
|
||||
required_device<rs232_port_device> m_rs232;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER(pit_out0_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pit_out1_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pit_out2_w);
|
||||
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
};
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*
|
||||
* cpc_ssa1.c -- Amstrad SSA-1 Speech Synthesiser, dk'Tronics Speech Synthesiser
|
||||
* cpc_ssa1.cpp -- Amstrad SSA-1 Speech Synthesiser, dk'Tronics Speech Synthesiser
|
||||
*
|
||||
* Created on: 16/07/2011
|
||||
*
|
||||
@ -115,7 +115,7 @@ const tiny_rom_entry *cpc_dkspeech_device::device_rom_region() const
|
||||
}
|
||||
|
||||
// device machine config
|
||||
static MACHINE_CONFIG_START( cpc_ssa1 )
|
||||
MACHINE_CONFIG_MEMBER( cpc_ssa1_device::device_add_mconfig )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("sp0256",SP0256,XTAL_3_12MHz)
|
||||
MCFG_SP0256_DATA_REQUEST_CB(WRITELINE(cpc_ssa1_device, lrq_cb))
|
||||
@ -131,7 +131,7 @@ static MACHINE_CONFIG_START( cpc_ssa1 )
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( cpc_dkspeech )
|
||||
MACHINE_CONFIG_MEMBER( cpc_dkspeech_device::device_add_mconfig )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
MCFG_SOUND_ADD("sp0256",SP0256,XTAL_4MHz) // uses the CPC's clock from pin 50 of the expansion port
|
||||
MCFG_SP0256_DATA_REQUEST_CB(WRITELINE(cpc_dkspeech_device, lrq_cb))
|
||||
@ -147,15 +147,6 @@ static MACHINE_CONFIG_START( cpc_dkspeech )
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor cpc_ssa1_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_ssa1 );
|
||||
}
|
||||
|
||||
machine_config_constructor cpc_dkspeech_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_dkspeech );
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -56,10 +56,6 @@ public:
|
||||
// construction/destruction
|
||||
cpc_ssa1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
void set_lrq(uint8_t state) { m_lrq = state; }
|
||||
uint8_t get_lrq() { return m_lrq; }
|
||||
void set_sby(uint8_t state) { m_sby = state; }
|
||||
@ -67,15 +63,20 @@ public:
|
||||
|
||||
DECLARE_READ8_MEMBER(ssa1_r);
|
||||
DECLARE_WRITE8_MEMBER(ssa1_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(lrq_cb);
|
||||
DECLARE_WRITE_LINE_MEMBER(sby_cb);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER(lrq_cb);
|
||||
DECLARE_WRITE_LINE_MEMBER(sby_cb);
|
||||
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
|
||||
uint8_t *m_rom;
|
||||
@ -92,10 +93,6 @@ public:
|
||||
// construction/destruction
|
||||
cpc_dkspeech_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
void set_lrq(uint8_t state) { m_lrq = state; }
|
||||
uint8_t get_lrq() { return m_lrq; }
|
||||
void set_sby(uint8_t state) { m_sby = state; }
|
||||
@ -103,15 +100,20 @@ public:
|
||||
|
||||
DECLARE_READ8_MEMBER(dkspeech_r);
|
||||
DECLARE_WRITE8_MEMBER(dkspeech_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(lrq_cb);
|
||||
DECLARE_WRITE_LINE_MEMBER(sby_cb);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER(lrq_cb);
|
||||
DECLARE_WRITE_LINE_MEMBER(sby_cb);
|
||||
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
|
||||
uint8_t *m_rom;
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*
|
||||
* ddi1.c -- Amstrad DDI-1 Floppy Disk Drive interface
|
||||
* ddi1.cpp -- Amstrad DDI-1 Floppy Disk Drive interface
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
@ -39,7 +39,7 @@ const tiny_rom_entry *cpc_ddi1_device::device_rom_region() const
|
||||
}
|
||||
|
||||
// device machine config
|
||||
static MACHINE_CONFIG_START( cpc_ddi1 )
|
||||
MACHINE_CONFIG_MEMBER( cpc_ddi1_device::device_add_mconfig )
|
||||
MCFG_UPD765A_ADD("upd765", true, true)
|
||||
MCFG_FLOPPY_DRIVE_ADD("upd765:0", ddi1_floppies, "3ssdd", floppy_image_device::default_floppy_formats)
|
||||
MCFG_SOFTWARE_LIST_ADD("flop_list","cpc_flop")
|
||||
@ -53,10 +53,6 @@ static MACHINE_CONFIG_START( cpc_ddi1 )
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor cpc_ddi1_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_ddi1 );
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -22,21 +22,22 @@ public:
|
||||
// construction/destruction
|
||||
cpc_ddi1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void set_mapping(uint8_t type) override;
|
||||
virtual WRITE_LINE_MEMBER( romen_w ) override { m_romen = state; }
|
||||
|
||||
DECLARE_WRITE8_MEMBER(motor_w);
|
||||
DECLARE_WRITE8_MEMBER(fdc_w);
|
||||
DECLARE_READ8_MEMBER(fdc_r);
|
||||
DECLARE_WRITE8_MEMBER(rombank_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void set_mapping(uint8_t type) override;
|
||||
virtual WRITE_LINE_MEMBER( romen_w ) override { m_romen = state; }
|
||||
|
||||
private:
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*
|
||||
* doubler.c -- Draysoft Doubler - external cassette interface for the 464 (works on 664/6128 with external cassette?),
|
||||
* doubler.cpp -- Draysoft Doubler - external cassette interface for the 464 (works on 664/6128 with external cassette?),
|
||||
* intended for use in duplicating cassette software
|
||||
*
|
||||
*/
|
||||
@ -16,7 +16,7 @@
|
||||
DEFINE_DEVICE_TYPE(CPC_DOUBLER, cpc_doubler_device, "cpc_doubler", "Draysoft Doubler")
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( cpc_doubler )
|
||||
MACHINE_CONFIG_MEMBER( cpc_doubler_device::device_add_mconfig )
|
||||
MCFG_CASSETTE_ADD( "doubler_tape" )
|
||||
MCFG_CASSETTE_FORMATS(cdt_cassette_formats)
|
||||
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED)
|
||||
@ -26,12 +26,6 @@ static MACHINE_CONFIG_START( cpc_doubler )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
machine_config_constructor cpc_doubler_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_doubler );
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
@ -24,9 +24,6 @@ public:
|
||||
// construction/destruction
|
||||
cpc_doubler_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;
|
||||
|
||||
DECLARE_READ8_MEMBER(ext_tape_r);
|
||||
|
||||
protected:
|
||||
@ -34,6 +31,9 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
|
||||
|
@ -15,17 +15,13 @@
|
||||
|
||||
DEFINE_DEVICE_TYPE(CPC_HD20, cpc_hd20_device, "cpc_hd20", "Dobbertin HD20")
|
||||
|
||||
static MACHINE_CONFIG_START( cpc_hd20 )
|
||||
MACHINE_CONFIG_MEMBER( cpc_hd20_device::device_add_mconfig )
|
||||
MCFG_DEVICE_ADD("hdc",ST11M_HDC,0)
|
||||
MCFG_XTHDC_IRQ_HANDLER(WRITELINE(cpc_hd20_device,irq_w))
|
||||
MCFG_XTHDC_IRQ_HANDLER(WRITELINE(cpc_hd20_device, irq_w))
|
||||
MCFG_HARDDISK_ADD("hdc:primary")
|
||||
// no pass-through (?)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor cpc_hd20_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_hd20 );
|
||||
}
|
||||
|
||||
ROM_START( cpc_hd20 )
|
||||
ROM_REGION( 0x4000, "exp_rom", 0 )
|
||||
|
@ -26,20 +26,21 @@ public:
|
||||
// construction/destruction
|
||||
cpc_hd20_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;
|
||||
|
||||
DECLARE_READ8_MEMBER(hdc_r);
|
||||
DECLARE_WRITE8_MEMBER(hdc_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(irq_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() 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_WRITE_LINE_MEMBER(irq_w);
|
||||
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
|
||||
required_device<xt_hdc_device> m_hdc;
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*
|
||||
* magicsound.c
|
||||
* magicsound.cpp
|
||||
*
|
||||
* Magic Sound Board for the Aleste 520EX
|
||||
*
|
||||
@ -20,18 +20,18 @@
|
||||
DEFINE_DEVICE_TYPE(AL_MAGICSOUND, al_magicsound_device, "al_magicsound", "Aleste Magic Sound Board")
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( al_magicsound )
|
||||
MACHINE_CONFIG_MEMBER( al_magicsound_device::device_add_mconfig )
|
||||
MCFG_DEVICE_ADD( "dmac", AM9517A, XTAL_4MHz ) // CLK from expansion port
|
||||
// According to the schematics, the TC pin (EOP on western chips) is connected to NMI on the expansion port.
|
||||
// NMIs seem to occur too quickly when this is active, so either EOP is not triggered at the correct time, or
|
||||
// the K1810WT37 is different to the i8237/AM9517A
|
||||
//MCFG_I8237_OUT_EOP_CB(DEVWRITELINE("^", cpc_expansion_slot_device, nmi_w)) // MCFG_DEVCB_INVERT
|
||||
MCFG_I8237_OUT_HREQ_CB(DEVWRITELINE("dmac", am9517a_device, hack_w))
|
||||
MCFG_I8237_IN_MEMR_CB(READ8(al_magicsound_device,dma_read_byte))
|
||||
MCFG_I8237_OUT_IOW_0_CB(WRITE8(al_magicsound_device,dma_write_byte))
|
||||
MCFG_I8237_OUT_IOW_1_CB(WRITE8(al_magicsound_device,dma_write_byte))
|
||||
MCFG_I8237_OUT_IOW_2_CB(WRITE8(al_magicsound_device,dma_write_byte))
|
||||
MCFG_I8237_OUT_IOW_3_CB(WRITE8(al_magicsound_device,dma_write_byte))
|
||||
MCFG_I8237_IN_MEMR_CB(READ8(al_magicsound_device, dma_read_byte))
|
||||
MCFG_I8237_OUT_IOW_0_CB(WRITE8(al_magicsound_device, dma_write_byte))
|
||||
MCFG_I8237_OUT_IOW_1_CB(WRITE8(al_magicsound_device, dma_write_byte))
|
||||
MCFG_I8237_OUT_IOW_2_CB(WRITE8(al_magicsound_device, dma_write_byte))
|
||||
MCFG_I8237_OUT_IOW_3_CB(WRITE8(al_magicsound_device, dma_write_byte))
|
||||
MCFG_I8237_OUT_DACK_0_CB(WRITELINE(al_magicsound_device, dack0_w))
|
||||
MCFG_I8237_OUT_DACK_1_CB(WRITELINE(al_magicsound_device, dack1_w))
|
||||
MCFG_I8237_OUT_DACK_2_CB(WRITELINE(al_magicsound_device, dack2_w))
|
||||
@ -43,17 +43,17 @@ static MACHINE_CONFIG_START( al_magicsound )
|
||||
// Timer outputs to SAM0/1/2/3 are sample clocks for each sound channel, D/A0 is the low bit of the channel select.
|
||||
MCFG_DEVICE_ADD("timer1", PIT8254, 0)
|
||||
MCFG_PIT8253_CLK0(XTAL_4MHz)
|
||||
MCFG_PIT8253_OUT0_HANDLER(WRITELINE(al_magicsound_device,sam0_w))
|
||||
MCFG_PIT8253_OUT0_HANDLER(WRITELINE(al_magicsound_device, sam0_w))
|
||||
MCFG_PIT8253_CLK1(XTAL_4MHz)
|
||||
MCFG_PIT8253_OUT1_HANDLER(WRITELINE(al_magicsound_device,sam1_w))
|
||||
MCFG_PIT8253_OUT1_HANDLER(WRITELINE(al_magicsound_device, sam1_w))
|
||||
MCFG_PIT8253_CLK2(XTAL_4MHz)
|
||||
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(al_magicsound_device,sam2_w))
|
||||
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(al_magicsound_device, sam2_w))
|
||||
|
||||
MCFG_DEVICE_ADD("timer2", PIT8254, 0)
|
||||
MCFG_PIT8253_CLK0(XTAL_4MHz)
|
||||
MCFG_PIT8253_OUT0_HANDLER(WRITELINE(al_magicsound_device,sam3_w))
|
||||
MCFG_PIT8253_OUT0_HANDLER(WRITELINE(al_magicsound_device, sam3_w))
|
||||
MCFG_PIT8253_CLK1(XTAL_4MHz)
|
||||
MCFG_PIT8253_OUT1_HANDLER(WRITELINE(al_magicsound_device,da0_w))
|
||||
MCFG_PIT8253_OUT1_HANDLER(WRITELINE(al_magicsound_device, da0_w))
|
||||
MCFG_PIT8253_CLK2(XTAL_4MHz)
|
||||
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
@ -63,10 +63,6 @@ static MACHINE_CONFIG_START( al_magicsound )
|
||||
// no pass-through(?)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor al_magicsound_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( al_magicsound );
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -41,14 +41,21 @@ public:
|
||||
// construction/destruction
|
||||
al_magicsound_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;
|
||||
|
||||
DECLARE_READ8_MEMBER(dmac_r);
|
||||
DECLARE_WRITE8_MEMBER(dmac_w);
|
||||
DECLARE_WRITE8_MEMBER(timer_w);
|
||||
DECLARE_WRITE8_MEMBER(volume_w);
|
||||
DECLARE_WRITE8_MEMBER(mapper_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER(da0_w);
|
||||
DECLARE_READ8_MEMBER(dma_read_byte);
|
||||
DECLARE_WRITE8_MEMBER(dma_write_byte);
|
||||
@ -61,12 +68,6 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(sam2_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(sam3_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
private:
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
|
||||
required_device<dac_byte_interface> m_dac;
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Kevin Thacker, Barry Rodewald
|
||||
/*
|
||||
* mface2.c -- Romantic Robot Multiface II expansion device for the Amstrad CPC/CPC+
|
||||
* mface2.cpp -- Romantic Robot Multiface II expansion device for the Amstrad CPC/CPC+
|
||||
*
|
||||
* Created on: 31/07/2011
|
||||
*/
|
||||
@ -17,15 +17,6 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards);
|
||||
|
||||
DEFINE_DEVICE_TYPE(CPC_MFACE2, cpc_multiface2_device, "cpc_mface2", "Multiface II")
|
||||
|
||||
// device machine config
|
||||
static MACHINE_CONFIG_START( cpc_mface2 )
|
||||
// pass-through
|
||||
MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
|
||||
MCFG_DEVICE_SLOT_INTERFACE(cpc_exp_cards, nullptr, false)
|
||||
MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(DEVWRITELINE("^", cpc_expansion_slot_device, irq_w))
|
||||
MCFG_CPC_EXPANSION_SLOT_OUT_NMI_CB(DEVWRITELINE("^", cpc_expansion_slot_device, nmi_w))
|
||||
MCFG_CPC_EXPANSION_SLOT_OUT_ROMDIS_CB(DEVWRITELINE("^", cpc_expansion_slot_device, romdis_w)) // ROMDIS
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
#if 0
|
||||
DIRECT_UPDATE_MEMBER( cpc_multiface2_device::amstrad_default )
|
||||
@ -116,10 +107,15 @@ void cpc_multiface2_device::multiface_rethink_memory()
|
||||
}
|
||||
}
|
||||
|
||||
machine_config_constructor cpc_multiface2_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_mface2 );
|
||||
}
|
||||
// device machine config
|
||||
MACHINE_CONFIG_MEMBER( cpc_multiface2_device::device_add_mconfig )
|
||||
// pass-through
|
||||
MCFG_DEVICE_ADD("exp", CPC_EXPANSION_SLOT, 0)
|
||||
MCFG_DEVICE_SLOT_INTERFACE(cpc_exp_cards, nullptr, false)
|
||||
MCFG_CPC_EXPANSION_SLOT_OUT_IRQ_CB(DEVWRITELINE("^", cpc_expansion_slot_device, irq_w))
|
||||
MCFG_CPC_EXPANSION_SLOT_OUT_NMI_CB(DEVWRITELINE("^", cpc_expansion_slot_device, nmi_w))
|
||||
MCFG_CPC_EXPANSION_SLOT_OUT_ROMDIS_CB(DEVWRITELINE("^", cpc_expansion_slot_device, romdis_w)) // ROMDIS
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
void cpc_multiface2_device::check_button_state()
|
||||
{
|
||||
|
@ -39,21 +39,22 @@ public:
|
||||
// construction/destruction
|
||||
cpc_multiface2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
int multiface_hardware_enabled();
|
||||
void multiface_rethink_memory();
|
||||
void multiface_stop();
|
||||
int multiface_io_write(uint16_t offset, uint8_t data);
|
||||
void check_button_state();
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
|
||||
|
@ -24,11 +24,11 @@ SLOT_INTERFACE_EXTERN(cpc_exp_cards);
|
||||
DEFINE_DEVICE_TYPE(CPC_PLAYCITY, cpc_playcity_device, "cpc_playcity", "PlayCity")
|
||||
|
||||
// device machine config
|
||||
static MACHINE_CONFIG_START( cpc_playcity )
|
||||
MACHINE_CONFIG_MEMBER( cpc_playcity_device::device_add_mconfig )
|
||||
MCFG_DEVICE_ADD("ctc", Z80CTC, XTAL_4MHz)
|
||||
MCFG_Z80CTC_ZC1_CB(WRITELINE(cpc_playcity_device,ctc_zc1_cb))
|
||||
MCFG_Z80CTC_ZC2_CB(DEVWRITELINE("ctc",z80ctc_device,trg3))
|
||||
MCFG_Z80CTC_INTR_CB(WRITELINE(cpc_playcity_device,ctc_intr_cb))
|
||||
MCFG_Z80CTC_ZC1_CB(WRITELINE(cpc_playcity_device, ctc_zc1_cb))
|
||||
MCFG_Z80CTC_ZC2_CB(DEVWRITELINE("ctc",z80ctc_device, trg3))
|
||||
MCFG_Z80CTC_INTR_CB(WRITELINE(cpc_playcity_device, ctc_intr_cb))
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker")
|
||||
MCFG_SOUND_ADD("ymz_1",YMZ294,XTAL_4MHz) // when timer is not set, operates at 4MHz (interally divided by 2, so equivalent to the ST)
|
||||
@ -46,12 +46,6 @@ static MACHINE_CONFIG_START( cpc_playcity )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
machine_config_constructor cpc_playcity_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_playcity );
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
@ -30,9 +30,6 @@ public:
|
||||
// construction/destruction
|
||||
cpc_playcity_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;
|
||||
|
||||
DECLARE_READ8_MEMBER(ctc_r);
|
||||
DECLARE_WRITE8_MEMBER(ctc_w);
|
||||
DECLARE_WRITE8_MEMBER(ymz1_address_w);
|
||||
@ -41,8 +38,6 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(ymz2_data_w);
|
||||
DECLARE_READ8_MEMBER(ymz1_data_r);
|
||||
DECLARE_READ8_MEMBER(ymz2_data_r);
|
||||
DECLARE_WRITE_LINE_MEMBER(ctc_zc1_cb) { if(state) { m_slot->nmi_w(1); m_slot->nmi_w(0); } }
|
||||
DECLARE_WRITE_LINE_MEMBER(ctc_intr_cb) { m_slot->irq_w(state); }
|
||||
|
||||
virtual WRITE_LINE_MEMBER(cursor_w) override { m_ctc->trg1(state); }
|
||||
|
||||
@ -51,7 +46,13 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER(ctc_zc1_cb) { if(state) { m_slot->nmi_w(1); m_slot->nmi_w(0); } }
|
||||
DECLARE_WRITE_LINE_MEMBER(ctc_intr_cb) { m_slot->irq_w(state); }
|
||||
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
|
||||
required_device<z80ctc_device> m_ctc;
|
||||
|
@ -19,15 +19,11 @@
|
||||
DEFINE_DEVICE_TYPE(CPC_SMARTWATCH, cpc_smartwatch_device, "cpc_smartwatch", "Dobbertin Smartwatch")
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( cpc_smartwatch )
|
||||
MACHINE_CONFIG_MEMBER( cpc_smartwatch_device::device_add_mconfig )
|
||||
MCFG_DS1315_ADD("rtc")
|
||||
// no pass-through (?)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor cpc_smartwatch_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_smartwatch );
|
||||
}
|
||||
|
||||
ROM_START( cpc_smartwatch )
|
||||
ROM_REGION( 0x4000, "exp_rom", 0 )
|
||||
|
@ -23,17 +23,18 @@ public:
|
||||
// construction/destruction
|
||||
cpc_smartwatch_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;
|
||||
|
||||
DECLARE_READ8_MEMBER(rtc_w);
|
||||
DECLARE_READ8_MEMBER(rtc_r);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
|
||||
private:
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Barry Rodewald
|
||||
/*
|
||||
* symbfac2.c
|
||||
* symbfac2.cpp
|
||||
* SYMBiFACE II expansion device
|
||||
* - IDE
|
||||
* - RTC (Dallas DS1287A)
|
||||
@ -27,13 +27,6 @@ DEFINE_DEVICE_TYPE(CPC_SYMBIFACE2, cpc_symbiface2_device, "cpc_symf2", "SYMBiFAC
|
||||
// DEVICE CONFIG INTERFACE
|
||||
//**************************************************************************
|
||||
|
||||
// device machine config
|
||||
static MACHINE_CONFIG_START( cpc_symbiface2 )
|
||||
MCFG_ATA_INTERFACE_ADD("ide",ata_devices,"hdd",nullptr,false)
|
||||
MCFG_DS12885_ADD("rtc")
|
||||
MCFG_NVRAM_ADD_1FILL("nvram")
|
||||
// no pass-through
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static INPUT_PORTS_START(cpc_symbiface2)
|
||||
PORT_START("sf2_mouse_x")
|
||||
@ -57,11 +50,13 @@ static INPUT_PORTS_START(cpc_symbiface2)
|
||||
// PORT_PLAYER(1)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
machine_config_constructor cpc_symbiface2_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cpc_symbiface2 );
|
||||
}
|
||||
// device machine config
|
||||
MACHINE_CONFIG_MEMBER( cpc_symbiface2_device::device_add_mconfig )
|
||||
MCFG_ATA_INTERFACE_ADD("ide", ata_devices, "hdd", nullptr, false)
|
||||
MCFG_DS12885_ADD("rtc")
|
||||
MCFG_NVRAM_ADD_1FILL("nvram")
|
||||
// no pass-through
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ioport_constructor cpc_symbiface2_device::device_input_ports() const
|
||||
{
|
||||
|
@ -23,10 +23,6 @@ public:
|
||||
// construction/destruction
|
||||
cpc_symbiface2_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 ioport_constructor device_input_ports() const override;
|
||||
|
||||
DECLARE_READ8_MEMBER(ide_cs0_r);
|
||||
DECLARE_WRITE8_MEMBER(ide_cs0_w);
|
||||
DECLARE_READ8_MEMBER(ide_cs1_r);
|
||||
@ -54,6 +50,10 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
private:
|
||||
cpc_expansion_slot_device *m_slot;
|
||||
required_device<ata_interface_device> m_ide;
|
||||
|
@ -14,29 +14,6 @@
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( dmv_k210 )
|
||||
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
|
||||
MCFG_I8255_IN_PORTA_CB(READ8(dmv_k210_device, porta_r))
|
||||
MCFG_I8255_IN_PORTB_CB(READ8(dmv_k210_device, portb_r))
|
||||
MCFG_I8255_IN_PORTC_CB(READ8(dmv_k210_device, portc_r))
|
||||
MCFG_I8255_OUT_PORTA_CB(WRITE8(dmv_k210_device, porta_w))
|
||||
MCFG_I8255_OUT_PORTB_CB(WRITE8(dmv_k210_device, portb_w))
|
||||
MCFG_I8255_OUT_PORTC_CB(WRITE8(dmv_k210_device, portc_w))
|
||||
|
||||
MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_DATA_INPUT_BUFFER("cent_data_in")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(dmv_k210_device, cent_ack_w))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(dmv_k210_device, cent_busy_w))
|
||||
MCFG_CENTRONICS_SELECT_IN_HANDLER(WRITELINE(dmv_k210_device, cent_slct_w))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(dmv_k210_device, cent_pe_w))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(dmv_k210_device, cent_fault_w))
|
||||
MCFG_CENTRONICS_AUTOFD_HANDLER(WRITELINE(dmv_k210_device, cent_autofd_w))
|
||||
MCFG_CENTRONICS_INIT_HANDLER(WRITELINE(dmv_k210_device, cent_init_w))
|
||||
|
||||
MCFG_DEVICE_ADD("cent_data_in", INPUT_BUFFER, 0)
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
@ -93,14 +70,31 @@ void dmv_k210_device::device_timer(emu_timer &timer, device_timer_id tid, int pa
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor dmv_k210_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dmv_k210 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dmv_k210_device::device_add_mconfig )
|
||||
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
|
||||
MCFG_I8255_IN_PORTA_CB(READ8(dmv_k210_device, porta_r))
|
||||
MCFG_I8255_IN_PORTB_CB(READ8(dmv_k210_device, portb_r))
|
||||
MCFG_I8255_IN_PORTC_CB(READ8(dmv_k210_device, portc_r))
|
||||
MCFG_I8255_OUT_PORTA_CB(WRITE8(dmv_k210_device, porta_w))
|
||||
MCFG_I8255_OUT_PORTB_CB(WRITE8(dmv_k210_device, portb_w))
|
||||
MCFG_I8255_OUT_PORTC_CB(WRITE8(dmv_k210_device, portc_w))
|
||||
|
||||
MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_DATA_INPUT_BUFFER("cent_data_in")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(dmv_k210_device, cent_ack_w))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(dmv_k210_device, cent_busy_w))
|
||||
MCFG_CENTRONICS_SELECT_IN_HANDLER(WRITELINE(dmv_k210_device, cent_slct_w))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(dmv_k210_device, cent_pe_w))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(dmv_k210_device, cent_fault_w))
|
||||
MCFG_CENTRONICS_AUTOFD_HANDLER(WRITELINE(dmv_k210_device, cent_autofd_w))
|
||||
MCFG_CENTRONICS_INIT_HANDLER(WRITELINE(dmv_k210_device, cent_init_w))
|
||||
|
||||
MCFG_DEVICE_ADD("cent_data_in", INPUT_BUFFER, 0)
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
void dmv_k210_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
|
||||
{
|
||||
|
@ -23,9 +23,20 @@ public:
|
||||
// construction/destruction
|
||||
dmv_k210_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;
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
void device_timer(emu_timer &timer, device_timer_id tid, int param, void *ptr) override;
|
||||
|
||||
// optional information overrides
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// dmvcart_interface overrides
|
||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
|
||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
DECLARE_READ8_MEMBER(porta_r);
|
||||
DECLARE_READ8_MEMBER(portb_r);
|
||||
DECLARE_READ8_MEMBER(portc_r);
|
||||
@ -41,17 +52,6 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(cent_autofd_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(cent_init_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
void device_timer(emu_timer &timer, device_timer_id tid, int param, void *ptr) override;
|
||||
|
||||
// dmvcart_interface overrides
|
||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
|
||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
required_device<i8255_device> m_ppi;
|
||||
required_device<centronics_device> m_centronics;
|
||||
required_device<input_buffer_device> m_cent_data_in;
|
||||
|
@ -77,19 +77,6 @@ ROM_START( dmv_k220 )
|
||||
ROM_REGION(0x0800, "ram", ROMREGION_ERASE)
|
||||
ROM_END
|
||||
|
||||
static MACHINE_CONFIG_START( dmv_k220 )
|
||||
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
|
||||
MCFG_I8255_OUT_PORTA_CB(WRITE8(dmv_k220_device, porta_w))
|
||||
MCFG_I8255_IN_PORTB_CB(IOPORT("SWITCH"))
|
||||
MCFG_I8255_OUT_PORTC_CB(WRITE8(dmv_k220_device, portc_w))
|
||||
|
||||
MCFG_DEVICE_ADD("pit8253", PIT8253, 0)
|
||||
MCFG_PIT8253_CLK0(XTAL_1MHz) // CLK1
|
||||
MCFG_PIT8253_OUT0_HANDLER(WRITELINE(dmv_k220_device, write_out0))
|
||||
MCFG_PIT8253_OUT1_HANDLER(WRITELINE(dmv_k220_device, write_out1))
|
||||
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(dmv_k220_device, write_out2))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static INPUT_PORTS_START( dmv_k220 )
|
||||
PORT_START("SWITCH")
|
||||
PORT_DIPNAME( 0x01, 0x00, "Select 1" )
|
||||
@ -165,14 +152,21 @@ void dmv_k220_device::device_reset()
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor dmv_k220_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dmv_k220 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dmv_k220_device::device_add_mconfig )
|
||||
MCFG_DEVICE_ADD("ppi8255", I8255, 0)
|
||||
MCFG_I8255_OUT_PORTA_CB(WRITE8(dmv_k220_device, porta_w))
|
||||
MCFG_I8255_IN_PORTB_CB(IOPORT("SWITCH"))
|
||||
MCFG_I8255_OUT_PORTC_CB(WRITE8(dmv_k220_device, portc_w))
|
||||
|
||||
MCFG_DEVICE_ADD("pit8253", PIT8253, 0)
|
||||
MCFG_PIT8253_CLK0(XTAL_1MHz) // CLK1
|
||||
MCFG_PIT8253_OUT0_HANDLER(WRITELINE(dmv_k220_device, write_out0))
|
||||
MCFG_PIT8253_OUT1_HANDLER(WRITELINE(dmv_k220_device, write_out1))
|
||||
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(dmv_k220_device, write_out2))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// input_ports - device-specific input ports
|
||||
|
@ -23,27 +23,27 @@ public:
|
||||
// construction/destruction
|
||||
dmv_k220_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
DECLARE_WRITE8_MEMBER(porta_w);
|
||||
DECLARE_WRITE8_MEMBER(portc_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(write_out0);
|
||||
DECLARE_WRITE_LINE_MEMBER(write_out1);
|
||||
DECLARE_WRITE_LINE_MEMBER(write_out2);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
// dmvcart_interface overrides
|
||||
virtual bool read(offs_t offset, uint8_t &data) override;
|
||||
virtual bool write(offs_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE8_MEMBER(porta_w);
|
||||
DECLARE_WRITE8_MEMBER(portc_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(write_out0);
|
||||
DECLARE_WRITE_LINE_MEMBER(write_out1);
|
||||
DECLARE_WRITE_LINE_MEMBER(write_out2);
|
||||
|
||||
required_device<pit8253_device> m_pit;
|
||||
required_device<i8255_device> m_ppi;
|
||||
required_memory_region m_ram;
|
||||
|
@ -57,27 +57,6 @@ static ADDRESS_MAP_START(k235_io, AS_IO, 8, dmv_k230_device)
|
||||
AM_RANGE( 0x00, 0xff ) AM_READWRITE(io_r, io_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static MACHINE_CONFIG_START( dmv_k230 )
|
||||
MCFG_CPU_ADD("maincpu", I8088, XTAL_15MHz / 3)
|
||||
MCFG_CPU_PROGRAM_MAP(k230_mem)
|
||||
MCFG_CPU_IO_MAP(k230_io)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( dmv_k234 )
|
||||
MCFG_CPU_ADD("maincpu", M68008, XTAL_16MHz / 2)
|
||||
MCFG_CPU_PROGRAM_MAP(k234_mem)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( dmv_k235 )
|
||||
MCFG_CPU_ADD("maincpu", V20, XTAL_15MHz / 3)
|
||||
MCFG_CPU_PROGRAM_MAP(k230_mem)
|
||||
MCFG_CPU_IO_MAP(k235_io)
|
||||
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb)
|
||||
|
||||
MCFG_PIC8259_ADD("pic8259", INPUTLINE("maincpu", 0), VCC, NOOP)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( dmv_k235 )
|
||||
PORT_START("DSW")
|
||||
PORT_DIPNAME( 0x01, 0x00, "K235 INT7" ) PORT_DIPLOCATION("S:1")
|
||||
@ -180,24 +159,28 @@ void dmv_k234_device::device_reset()
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor dmv_k230_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dmv_k230 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dmv_k230_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("maincpu", I8088, XTAL_15MHz / 3)
|
||||
MCFG_CPU_PROGRAM_MAP(k230_mem)
|
||||
MCFG_CPU_IO_MAP(k230_io)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor dmv_k234_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dmv_k234 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dmv_k234_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("maincpu", M68008, XTAL_16MHz / 2)
|
||||
MCFG_CPU_PROGRAM_MAP(k234_mem)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor dmv_k235_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dmv_k235 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dmv_k235_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("maincpu", V20, XTAL_15MHz / 3)
|
||||
MCFG_CPU_PROGRAM_MAP(k230_mem)
|
||||
MCFG_CPU_IO_MAP(k235_io)
|
||||
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb)
|
||||
|
||||
MCFG_PIC8259_ADD("pic8259", INPUTLINE("maincpu", 0), VCC, NOOP)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_rom_region
|
||||
|
@ -30,10 +30,6 @@ public:
|
||||
// construction/destruction
|
||||
dmv_k230_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
DECLARE_READ8_MEMBER(io_r);
|
||||
DECLARE_READ8_MEMBER(program_r);
|
||||
DECLARE_WRITE8_MEMBER(io_w);
|
||||
@ -47,6 +43,10 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// dmvcart_interface overrides
|
||||
virtual void hold_w(int state) override;
|
||||
virtual void switch16_w(int state) override;
|
||||
@ -91,7 +91,7 @@ public:
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
@ -118,7 +118,7 @@ public:
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
void timint_w(int state) override { m_pic->ir0_w(state); }
|
||||
|
@ -21,42 +21,6 @@
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( dmv_k801 )
|
||||
MCFG_DEVICE_ADD("epci", MC2661, XTAL_5_0688MHz)
|
||||
MCFG_MC2661_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
|
||||
MCFG_MC2661_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
|
||||
MCFG_MC2661_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
|
||||
MCFG_MC2661_RXRDY_HANDLER(WRITELINE(dmv_k801_device, epci_irq_w))
|
||||
MCFG_MC2661_TXRDY_HANDLER(WRITELINE(dmv_k801_device, epci_irq_w))
|
||||
|
||||
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "printer")
|
||||
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("epci", mc2661_device, rx_w))
|
||||
MCFG_RS232_DCD_HANDLER(DEVWRITELINE("epci", mc2661_device, dcd_w))
|
||||
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("epci", mc2661_device, dsr_w))
|
||||
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("epci", mc2661_device, cts_w))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( dmv_k211 )
|
||||
MCFG_FRAGMENT_ADD( dmv_k801 )
|
||||
|
||||
MCFG_DEVICE_MODIFY("rs232")
|
||||
MCFG_SLOT_DEFAULT_OPTION("null_modem")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( dmv_k212 )
|
||||
MCFG_FRAGMENT_ADD( dmv_k801 )
|
||||
|
||||
MCFG_DEVICE_MODIFY("rs232")
|
||||
MCFG_SLOT_DEFAULT_OPTION("printer")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( dmv_k213 )
|
||||
MCFG_FRAGMENT_ADD( dmv_k801 )
|
||||
|
||||
MCFG_DEVICE_MODIFY("rs232")
|
||||
MCFG_SLOT_DEFAULT_OPTION(nullptr)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static INPUT_PORTS_START( dmv_k801 )
|
||||
PORT_START("DSW")
|
||||
PORT_DIPNAME( 0x0f, 0x00, "K801 IFSEL" ) PORT_DIPLOCATION("S:!4,S:!3,S:!2,S:!1")
|
||||
@ -175,29 +139,44 @@ void dmv_k801_device::device_reset()
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor dmv_k801_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dmv_k801 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dmv_k801_device::device_add_mconfig )
|
||||
MCFG_DEVICE_ADD("epci", MC2661, XTAL_5_0688MHz)
|
||||
MCFG_MC2661_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd))
|
||||
MCFG_MC2661_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
|
||||
MCFG_MC2661_DTR_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_dtr))
|
||||
MCFG_MC2661_RXRDY_HANDLER(WRITELINE(dmv_k801_device, epci_irq_w))
|
||||
MCFG_MC2661_TXRDY_HANDLER(WRITELINE(dmv_k801_device, epci_irq_w))
|
||||
|
||||
machine_config_constructor dmv_k211_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dmv_k211 );
|
||||
}
|
||||
MCFG_RS232_PORT_ADD("rs232", default_rs232_devices, "printer")
|
||||
MCFG_RS232_RXD_HANDLER(DEVWRITELINE("epci", mc2661_device, rx_w))
|
||||
MCFG_RS232_DCD_HANDLER(DEVWRITELINE("epci", mc2661_device, dcd_w))
|
||||
MCFG_RS232_DSR_HANDLER(DEVWRITELINE("epci", mc2661_device, dsr_w))
|
||||
MCFG_RS232_CTS_HANDLER(DEVWRITELINE("epci", mc2661_device, cts_w))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor dmv_k212_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dmv_k212 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dmv_k211_device::device_add_mconfig )
|
||||
dmv_k801_device::device_add_mconfig(config);
|
||||
|
||||
machine_config_constructor dmv_k213_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dmv_k213 );
|
||||
}
|
||||
MCFG_DEVICE_MODIFY("rs232")
|
||||
MCFG_SLOT_DEFAULT_OPTION("null_modem")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_MEMBER( dmv_k212_device::device_add_mconfig )
|
||||
dmv_k801_device::device_add_mconfig(config);
|
||||
|
||||
MCFG_DEVICE_MODIFY("rs232")
|
||||
MCFG_SLOT_DEFAULT_OPTION("printer")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_MEMBER( dmv_k213_device::device_add_mconfig )
|
||||
dmv_k801_device::device_add_mconfig(config);
|
||||
|
||||
MCFG_DEVICE_MODIFY("rs232")
|
||||
MCFG_SLOT_DEFAULT_OPTION(nullptr)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// input_ports - device-specific input ports
|
||||
|
@ -24,12 +24,6 @@ public:
|
||||
// construction/destruction
|
||||
dmv_k801_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(epci_irq_w);
|
||||
|
||||
protected:
|
||||
dmv_k801_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
@ -37,13 +31,20 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// dmvcart_interface overrides
|
||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
|
||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
||||
|
||||
protected:
|
||||
required_device<mc2661_device> m_epci;
|
||||
required_ioport m_dsw;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER(epci_irq_w);
|
||||
|
||||
dmvcart_slot_device * m_bus;
|
||||
};
|
||||
|
||||
@ -57,13 +58,13 @@ public:
|
||||
// construction/destruction
|
||||
dmv_k211_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
protected:
|
||||
dmv_k211_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
// dmvcart_interface overrides
|
||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
|
||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
||||
@ -78,9 +79,10 @@ public:
|
||||
// construction/destruction
|
||||
dmv_k212_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
// ======================> dmv_k213_device
|
||||
@ -92,9 +94,10 @@ public:
|
||||
// construction/destruction
|
||||
dmv_k213_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
|
||||
|
@ -14,11 +14,6 @@
|
||||
IMPLEMENTATION
|
||||
***************************************************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( dmv_k803 )
|
||||
MCFG_DEVICE_ADD("rtc", MM58167, XTAL_32_768kHz)
|
||||
MCFG_MM58167_IRQ_CALLBACK(WRITELINE(dmv_k803_device, rtc_irq_w))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static INPUT_PORTS_START( dmv_k803 )
|
||||
PORT_START("DSW")
|
||||
PORT_DIPNAME( 0x0f, 0x09, "K803 IFSEL" ) PORT_DIPLOCATION("S:!4,S:!3,S:!2,S:!1")
|
||||
@ -77,14 +72,13 @@ void dmv_k803_device::device_reset()
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor dmv_k803_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dmv_k803 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dmv_k803_device::device_add_mconfig )
|
||||
MCFG_DEVICE_ADD("rtc", MM58167, XTAL_32_768kHz)
|
||||
MCFG_MM58167_IRQ_CALLBACK(WRITELINE(dmv_k803_device, rtc_irq_w))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// input_ports - device-specific input ports
|
||||
|
@ -22,23 +22,23 @@ public:
|
||||
// construction/destruction
|
||||
dmv_k803_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(rtc_irq_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
|
||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
||||
|
||||
void update_int();
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER(rtc_irq_w);
|
||||
|
||||
required_device<mm58167_device> m_rtc;
|
||||
required_ioport m_dsw;
|
||||
dmvcart_slot_device * m_bus;
|
||||
|
@ -19,15 +19,6 @@ ROM_START( dmv_k806 )
|
||||
ROM_LOAD( "dmv_mouse_8741a.bin", 0x0000, 0x0400, CRC(2163737a) SHA1(b82c14dba6c25cb1f60cf623989ca8c0c1ee4cc3))
|
||||
ROM_END
|
||||
|
||||
static MACHINE_CONFIG_START( dmv_k806 )
|
||||
MCFG_CPU_ADD("mcu", I8741, XTAL_6MHz)
|
||||
MCFG_MCS48_PORT_P1_IN_CB(READ8(dmv_k806_device, port1_r))
|
||||
MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(dmv_k806_device, port2_w))
|
||||
MCFG_MCS48_PORT_T1_IN_CB(READLINE(dmv_k806_device, portt1_r))
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("mouse_timer", dmv_k806_device, mouse_timer, attotime::from_hz(1000))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static INPUT_PORTS_START( dmv_k806 )
|
||||
PORT_START("JUMPERS")
|
||||
PORT_DIPNAME( 0x7f, 0x24, "K806 IFSEL" ) PORT_DIPLOCATION("J:!1,J:!2,J:!3,J:!4,J:!5,J:!6,J:!7")
|
||||
@ -106,14 +97,17 @@ void dmv_k806_device::device_reset()
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor dmv_k806_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dmv_k806 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dmv_k806_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("mcu", I8741, XTAL_6MHz)
|
||||
MCFG_MCS48_PORT_P1_IN_CB(READ8(dmv_k806_device, port1_r))
|
||||
MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(dmv_k806_device, port2_w))
|
||||
MCFG_MCS48_PORT_T1_IN_CB(READLINE(dmv_k806_device, portt1_r))
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("mouse_timer", dmv_k806_device, mouse_timer, attotime::from_hz(1000))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// input_ports - device-specific input ports
|
||||
|
@ -23,26 +23,26 @@ public:
|
||||
// construction/destruction
|
||||
dmv_k806_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
|
||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
DECLARE_READ_LINE_MEMBER(portt1_r);
|
||||
DECLARE_READ8_MEMBER(port1_r);
|
||||
DECLARE_WRITE8_MEMBER(port2_w);
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(mouse_timer);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
virtual void io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data) override;
|
||||
virtual void io_write(address_space &space, int ifsel, offs_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
required_device<upi41_cpu_device> m_mcu;
|
||||
required_ioport m_jumpers;
|
||||
required_ioport m_mouse_buttons;
|
||||
|
@ -451,11 +451,13 @@ void ecb_grip21_device::kb_w(uint8_t data)
|
||||
// MACHINE CONFIGURATION
|
||||
//**************************************************************************
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG_START( grip )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( grip )
|
||||
|
||||
MACHINE_CONFIG_MEMBER( ecb_grip21_device::device_add_mconfig )
|
||||
// basic machine hardware
|
||||
MCFG_CPU_ADD(Z80_TAG, Z80, XTAL_16MHz/4)
|
||||
MCFG_Z80_DAISY_CHAIN(grip_daisy_chain)
|
||||
@ -512,17 +514,6 @@ static MACHINE_CONFIG_START( grip )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor ecb_grip21_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( grip );
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// INPUT PORTS
|
||||
//**************************************************************************
|
||||
|
@ -36,11 +36,6 @@ public:
|
||||
// construction/destruction
|
||||
ecb_grip21_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
// not really public
|
||||
DECLARE_WRITE8_MEMBER( vol0_w );
|
||||
DECLARE_WRITE8_MEMBER( vol1_w );
|
||||
@ -51,6 +46,22 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( lrs_w );
|
||||
DECLARE_READ8_MEMBER( cxstb_r );
|
||||
DECLARE_WRITE8_MEMBER( cxstb_w );
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
// device_ecbbus_card_interface overrides
|
||||
virtual uint8_t ecbbus_io_r(offs_t offset) override;
|
||||
virtual void ecbbus_io_w(offs_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
DECLARE_READ8_MEMBER( ppi_pa_r );
|
||||
DECLARE_WRITE8_MEMBER( ppi_pa_w );
|
||||
DECLARE_READ8_MEMBER( ppi_pb_r );
|
||||
@ -65,16 +76,6 @@ public:
|
||||
|
||||
MC6845_UPDATE_ROW( crtc_update_row );
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// device_ecbbus_card_interface overrides
|
||||
virtual uint8_t ecbbus_io_r(offs_t offset) override;
|
||||
virtual void ecbbus_io_w(offs_t offset, uint8_t data) override;
|
||||
|
||||
private:
|
||||
required_device<i8255_device> m_ppi;
|
||||
required_device<z80sti_device> m_sti;
|
||||
required_device<mc6845_device> m_crtc;
|
||||
|
@ -169,7 +169,7 @@ WRITE_LINE_MEMBER( econet_e01_device::clk_en_w )
|
||||
m_clk_en = state;
|
||||
}
|
||||
|
||||
FLOPPY_FORMATS_MEMBER( floppy_formats_afs )
|
||||
FLOPPY_FORMATS_MEMBER( econet_e01_device::floppy_formats_afs )
|
||||
FLOPPY_AFS_FORMAT
|
||||
FLOPPY_FORMATS_END0
|
||||
|
||||
@ -238,10 +238,10 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( e01 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( e01 )
|
||||
MACHINE_CONFIG_MEMBER( econet_e01_device::device_add_mconfig )
|
||||
// basic machine hardware
|
||||
MCFG_CPU_ADD(R65C102_TAG, M65C02, XTAL_8MHz/4) // Rockwell R65C102P3
|
||||
MCFG_CPU_PROGRAM_MAP(e01_mem)
|
||||
@ -291,17 +291,6 @@ static MACHINE_CONFIG_START( e01 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor econet_e01_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( e01 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( e01 )
|
||||
//-------------------------------------------------
|
||||
|
@ -31,8 +31,6 @@ public:
|
||||
// construction/destruction
|
||||
econet_e01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
DECLARE_FLOPPY_FORMATS(floppy_formats_afs);
|
||||
|
||||
DECLARE_READ8_MEMBER( read );
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
DECLARE_READ8_MEMBER( ram_select_r );
|
||||
@ -49,15 +47,6 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( rtc_address_w );
|
||||
DECLARE_READ8_MEMBER( rtc_data_r );
|
||||
DECLARE_WRITE8_MEMBER( rtc_data_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( rtc_irq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( adlc_irq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( econet_data_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( via_irq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( clk_en_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( fdc_irq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( scsi_bsy_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( scsi_req_w );
|
||||
|
||||
protected:
|
||||
enum
|
||||
@ -75,13 +64,26 @@ protected:
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
|
||||
// device_econet_interface overrides
|
||||
virtual void econet_data(int state) override;
|
||||
virtual void econet_clk(int state) override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE_LINE_MEMBER( rtc_irq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( adlc_irq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( econet_data_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( via_irq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( clk_en_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( fdc_irq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( scsi_bsy_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( scsi_req_w );
|
||||
|
||||
DECLARE_FLOPPY_FORMATS(floppy_formats_afs);
|
||||
|
||||
required_device<m65c02_device> m_maincpu;
|
||||
required_device<wd2793_device> m_fdc;
|
||||
required_device<mc6854_device> m_adlc;
|
||||
|
@ -51,10 +51,10 @@ ROM_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( m2105 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( m2105 )
|
||||
MACHINE_CONFIG_MEMBER( electron_m2105_device::device_add_mconfig )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
@ -98,17 +98,6 @@ static MACHINE_CONFIG_START( m2105 )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor electron_m2105_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( m2105 );
|
||||
}
|
||||
|
||||
const tiny_rom_entry *electron_m2105_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME( m2105 );
|
||||
|
@ -32,17 +32,17 @@ public:
|
||||
// construction/destruction
|
||||
electron_m2105_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(intrq_w);
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
|
||||
protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() 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_WRITE_LINE_MEMBER(intrq_w);
|
||||
|
||||
required_memory_region m_exp_rom;
|
||||
required_device<via6522_device> m_via6522_0;
|
||||
required_device<via6522_device> m_via6522_1;
|
||||
|
@ -31,7 +31,7 @@ DEFINE_DEVICE_TYPE(ELECTRON_PLUS3, electron_plus3_device, "electron_plus3", "Aco
|
||||
// MACHINE_DRIVER( plus3 )
|
||||
//-------------------------------------------------
|
||||
|
||||
FLOPPY_FORMATS_MEMBER(floppy_formats)
|
||||
FLOPPY_FORMATS_MEMBER(electron_plus3_device::floppy_formats)
|
||||
FLOPPY_ACORN_SSD_FORMAT,
|
||||
FLOPPY_ACORN_DSD_FORMAT,
|
||||
FLOPPY_ACORN_ADFS_OLD_FORMAT
|
||||
@ -45,23 +45,6 @@ SLOT_INTERFACE_START(electron_floppies)
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START( plus3 )
|
||||
/* fdc */
|
||||
MCFG_WD1770_ADD("fdc", XTAL_16MHz / 2)
|
||||
MCFG_FLOPPY_DRIVE_ADD("fdc:0", electron_floppies, "35dd", floppy_formats)
|
||||
MCFG_SLOT_FIXED(true)
|
||||
MCFG_FLOPPY_DRIVE_SOUND(true)
|
||||
MCFG_FLOPPY_DRIVE_ADD("fdc:1", electron_floppies, nullptr, floppy_formats)
|
||||
MCFG_FLOPPY_DRIVE_SOUND(true)
|
||||
|
||||
/* software lists */
|
||||
MCFG_SOFTWARE_LIST_ADD("flop_ls", "electron_flop")
|
||||
|
||||
/* pass-through */
|
||||
MCFG_ELECTRON_PASSTHRU_EXPANSION_SLOT_ADD(nullptr)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
ROM_START( plus3 )
|
||||
// Bank 4 Disc
|
||||
ROM_REGION(0x4000, "exp_rom", 0)
|
||||
@ -79,14 +62,24 @@ ROM_START( plus3 )
|
||||
ROM_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor electron_plus3_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( plus3 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( electron_plus3_device::device_add_mconfig )
|
||||
/* fdc */
|
||||
MCFG_WD1770_ADD("fdc", XTAL_16MHz / 2)
|
||||
MCFG_FLOPPY_DRIVE_ADD("fdc:0", electron_floppies, "35dd", floppy_formats)
|
||||
MCFG_SLOT_FIXED(true)
|
||||
MCFG_FLOPPY_DRIVE_SOUND(true)
|
||||
MCFG_FLOPPY_DRIVE_ADD("fdc:1", electron_floppies, nullptr, floppy_formats)
|
||||
MCFG_FLOPPY_DRIVE_SOUND(true)
|
||||
|
||||
/* software lists */
|
||||
MCFG_SOFTWARE_LIST_ADD("flop_ls", "electron_flop")
|
||||
|
||||
/* pass-through */
|
||||
MCFG_ELECTRON_PASSTHRU_EXPANSION_SLOT_ADD(nullptr)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
const tiny_rom_entry *electron_plus3_device::device_rom_region() const
|
||||
{
|
||||
|
@ -25,12 +25,6 @@ public:
|
||||
// construction/destruction
|
||||
electron_plus3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
DECLARE_FLOPPY_FORMATS(floppy_formats);
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
|
||||
DECLARE_READ8_MEMBER(wd1770_status_r);
|
||||
DECLARE_WRITE8_MEMBER(wd1770_status_w);
|
||||
|
||||
@ -39,7 +33,13 @@ protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() 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_FLOPPY_FORMATS(floppy_formats);
|
||||
|
||||
required_memory_region m_exp_rom;
|
||||
required_device<wd1770_device> m_fdc;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
|
@ -99,10 +99,10 @@ SLOT_INTERFACE_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG_START( ep64_exdos )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( ep64_exdos )
|
||||
MACHINE_CONFIG_MEMBER( ep64_exdos_device::device_add_mconfig )
|
||||
MCFG_WD1770_ADD(WD1770_TAG, XTAL_8MHz)
|
||||
|
||||
MCFG_FLOPPY_DRIVE_ADD(WD1770_TAG":0", ep64_exdos_floppies, "35dd", ep64_exdos_device::floppy_formats)
|
||||
@ -112,18 +112,6 @@ static MACHINE_CONFIG_START( ep64_exdos )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor ep64_exdos_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( ep64_exdos );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
@ -30,21 +30,21 @@ public:
|
||||
// construction/destruction
|
||||
ep64_exdos_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
DECLARE_READ8_MEMBER( read );
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
|
||||
DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
// optional information overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
DECLARE_FLOPPY_FORMATS( floppy_formats );
|
||||
|
||||
required_device<wd1770_device> m_fdc;
|
||||
required_device<floppy_connector> m_floppy0;
|
||||
required_device<floppy_connector> m_floppy1;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user