device_add_mconfig: a small start in devices\bus (nw)

This commit is contained in:
Ivan Vangelista 2017-06-02 11:00:55 +02:00
parent dc7eec650a
commit 24066545bd
76 changed files with 477 additions and 810 deletions

View File

@ -23,14 +23,6 @@
DEFINE_DEVICE_TYPE(A1BUS_CASSETTE, a1bus_cassette_device, "a1cass", "Apple I cassette board")
/* sound output */
MACHINE_CONFIG_START( cassette )
MCFG_CASSETTE_ADD("cassette")
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED)
MCFG_CASSETTE_INTERFACE("apple1_cass")
MACHINE_CONFIG_END
ROM_START( cassette )
/* 256-byte cassette interface ROM, in two 82s129 or mmi6301 256x4 proms at locations 3 and 4 on the cassette interface daughtercard (they are labeled "MMI 6301-IJ // 7623L // APPLE-A3" and "MMI 6301-IJ // 7623L // APPLE-A4") */
ROM_REGION(0x100, CASSETTE_ROM_REGION, 0)
@ -39,14 +31,16 @@ ROM_START( cassette )
ROM_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a1bus_cassette_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cassette );
}
/* sound output */
MACHINE_CONFIG_MEMBER( a1bus_cassette_device::device_add_mconfig )
MCFG_CASSETTE_ADD("cassette")
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED)
MCFG_CASSETTE_INTERFACE("apple1_cass")
MACHINE_CONFIG_END
const tiny_rom_entry *a1bus_cassette_device::device_rom_region() const
{

View File

@ -28,10 +28,6 @@ public:
// construction/destruction
a1bus_cassette_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(cassette_r);
DECLARE_WRITE8_MEMBER(cassette_w);
@ -40,6 +36,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 const tiny_rom_entry *device_rom_region() const override;
void cassette_toggle_output();

View File

@ -24,24 +24,18 @@
DEFINE_DEVICE_TYPE(A1BUS_CFFA, a1bus_cffa_device, "cffa1", "CFFA Compact Flash for Apple I")
MACHINE_CONFIG_START( cffa )
MCFG_ATA_INTERFACE_ADD(CFFA_ATA_TAG, ata_devices, "hdd", nullptr, false)
MACHINE_CONFIG_END
ROM_START( cffa )
ROM_REGION(0x2000, CFFA_ROM_REGION, 0)
ROM_LOAD ("cffaromv1.1.bin", 0x0000, 0x1fe0, CRC(bf6b55ad) SHA1(6a290be18485a06f243a3561c4e01be5aafa4bfe) )
ROM_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a1bus_cffa_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cffa );
}
MACHINE_CONFIG_MEMBER( a1bus_cffa_device::device_add_mconfig )
MCFG_ATA_INTERFACE_ADD(CFFA_ATA_TAG, ata_devices, "hdd", nullptr, false)
MACHINE_CONFIG_END
const tiny_rom_entry *a1bus_cffa_device::device_rom_region() const
{

View File

@ -28,10 +28,6 @@ public:
// construction/destruction
a1bus_cffa_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(cffa_r);
DECLARE_WRITE8_MEMBER(cffa_w);
@ -40,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;
virtual const tiny_rom_entry *device_rom_region() const override;
required_device<ata_interface_device> m_ata;

View File

@ -30,7 +30,16 @@ DEFINE_DEVICE_TYPE(A2BUS_AESMS, a2bus_aesms_device, "a2aesms", "Applied Engin
#define SN3_TAG "sn76489_3" // right
#define SN4_TAG "sn76489_4" // center?
MACHINE_CONFIG_START( a2alfam2 )
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( a2bus_sn76489_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_STEREO("alf_l", "alf_r")
MCFG_SOUND_ADD(SN1_TAG, SN76489, 1020484)
@ -42,7 +51,7 @@ MACHINE_CONFIG_START( a2alfam2 )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_r", 0.50)
MACHINE_CONFIG_END
MACHINE_CONFIG_START( a2aesms )
MACHINE_CONFIG_MEMBER( a2bus_aesms_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_STEREO("alf_l", "alf_r")
MCFG_SOUND_ADD(SN1_TAG, SN76489, 1020484)
@ -60,25 +69,6 @@ MACHINE_CONFIG_START( a2aesms )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "alf_r", 0.50)
MACHINE_CONFIG_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor a2bus_sn76489_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a2alfam2 );
}
machine_config_constructor a2bus_aesms_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a2aesms );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************

View File

@ -24,16 +24,13 @@ class a2bus_sn76489_device:
public device_t,
public device_a2bus_card_interface
{
public:
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
// construction/destruction
a2bus_sn76489_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
@ -63,7 +60,8 @@ class a2bus_aesms_device : public a2bus_sn76489_device
public:
a2bus_aesms_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
};
// device type definition

View File

@ -37,12 +37,6 @@ static ADDRESS_MAP_START( z80_io, AS_IO, 8, a2bus_applicard_device )
AM_RANGE(0x00, 0x60) AM_MIRROR(0xff00) AM_READWRITE(z80_io_r, z80_io_w)
ADDRESS_MAP_END
MACHINE_CONFIG_START( a2applicard )
MCFG_CPU_ADD(Z80_TAG, Z80, 6000000) // Z80 runs at 6 MHz
MCFG_CPU_PROGRAM_MAP(z80_mem)
MCFG_CPU_IO_MAP(z80_io)
MACHINE_CONFIG_END
ROM_START( a2applicard )
ROM_REGION(0x800, Z80_ROM_REGION, 0)
ROM_LOAD( "applicard-v9.bin", 0x000000, 0x000800, CRC(1d461000) SHA1(71d633be864b6084362e85108a4e600cbe6e44fe) )
@ -53,14 +47,14 @@ ROM_END
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_applicard_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a2applicard );
}
MACHINE_CONFIG_MEMBER( a2bus_applicard_device::device_add_mconfig )
MCFG_CPU_ADD(Z80_TAG, Z80, 6000000) // Z80 runs at 6 MHz
MCFG_CPU_PROGRAM_MAP(z80_mem)
MCFG_CPU_IO_MAP(z80_io)
MACHINE_CONFIG_END
//-------------------------------------------------
// device_rom_region - device-specific ROMs

View File

@ -27,9 +27,6 @@ public:
// construction/destruction
a2bus_applicard_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( dma_r );
DECLARE_WRITE8_MEMBER( dma_w );
DECLARE_READ8_MEMBER( z80_io_r );
@ -41,6 +38,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;

View File

@ -32,7 +32,11 @@
DEFINE_DEVICE_TYPE(A2BUS_ARCADEBOARD, a2bus_arcboard_device, "a2arcbd", "Third Millenium Engineering Arcade Board")
MACHINE_CONFIG_START( arcadeboard )
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( a2bus_arcboard_device::device_add_mconfig )
MCFG_DEVICE_ADD( TMS_TAG, TMS9918A, XTAL_10_738635MHz / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000) // 16k of VRAM
MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(a2bus_arcboard_device, tms_irq_w))
@ -44,16 +48,6 @@ MACHINE_CONFIG_START( arcadeboard )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor a2bus_arcboard_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( arcadeboard );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************

View File

@ -29,21 +29,20 @@ public:
// construction/destruction
a2bus_arcboard_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( tms_irq_w );
protected:
a2bus_arcboard_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
private:
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
required_device<tms9918a_device> m_tms;
required_device<ay8910_device> m_ay;
};

View File

@ -33,13 +33,6 @@ DEFINE_DEVICE_TYPE(A2BUS_CFFA2_6502, a2bus_cffa2_6502_device, "a2cffa02", "CFFA2
#define CFFA2_ROM_REGION "cffa2_rom"
#define CFFA2_ATA_TAG "cffa2_ata"
MACHINE_CONFIG_START( cffa2 )
MCFG_ATA_INTERFACE_ADD(CFFA2_ATA_TAG, ata_devices, "hdd", nullptr, false)
// not yet, the core explodes
// MCFG_SOFTWARE_LIST_ADD("hdd_list", "apple2gs_hdd")
MACHINE_CONFIG_END
ROM_START( cffa2 )
ROM_REGION(0x1000, CFFA2_ROM_REGION, 0)
ROM_LOAD( "cffa20eec02.bin", 0x000000, 0x001000, CRC(fb3726f8) SHA1(080ff88f19de22328e162954ee2b51ee65f9d5cd) )
@ -55,14 +48,15 @@ ROM_END
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_cffa2000_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cffa2 );
}
MACHINE_CONFIG_MEMBER( a2bus_cffa2000_device::device_add_mconfig )
MCFG_ATA_INTERFACE_ADD(CFFA2_ATA_TAG, ata_devices, "hdd", nullptr, false)
// not yet, the core explodes
// MCFG_SOFTWARE_LIST_ADD("hdd_list", "apple2gs_hdd")
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -25,17 +25,14 @@ class a2bus_cffa2000_device:
public device_t,
public device_a2bus_card_interface
{
public:
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
protected:
// construction/destruction
a2bus_cffa2000_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;

View File

@ -57,17 +57,6 @@ DEFINE_DEVICE_TYPE(A2BUS_CORVUS, a2bus_corvus_device, "a2corvus", "Corvus Flat C
#define CORVUS_ROM_REGION "corvus_rom"
#define CORVUS_HD_TAG "corvushd"
static MACHINE_CONFIG_START(corvus)
MCFG_DEVICE_ADD(CORVUS_HD_TAG, CORVUS_HDC, 0)
MCFG_HARDDISK_ADD("harddisk1")
MCFG_HARDDISK_INTERFACE("corvus_hdd")
MCFG_HARDDISK_ADD("harddisk2")
MCFG_HARDDISK_INTERFACE("corvus_hdd")
MCFG_HARDDISK_ADD("harddisk3")
MCFG_HARDDISK_INTERFACE("corvus_hdd")
MCFG_HARDDISK_ADD("harddisk4")
MCFG_HARDDISK_INTERFACE("corvus_hdd")
MACHINE_CONFIG_END
ROM_START( corvus )
ROM_REGION(0x800, CORVUS_ROM_REGION, 0)
@ -79,14 +68,20 @@ ROM_END
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_corvus_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( corvus );
}
MACHINE_CONFIG_MEMBER(a2bus_corvus_device::device_add_mconfig)
MCFG_DEVICE_ADD(CORVUS_HD_TAG, CORVUS_HDC, 0)
MCFG_HARDDISK_ADD("harddisk1")
MCFG_HARDDISK_INTERFACE("corvus_hdd")
MCFG_HARDDISK_ADD("harddisk2")
MCFG_HARDDISK_INTERFACE("corvus_hdd")
MCFG_HARDDISK_ADD("harddisk3")
MCFG_HARDDISK_INTERFACE("corvus_hdd")
MCFG_HARDDISK_ADD("harddisk4")
MCFG_HARDDISK_INTERFACE("corvus_hdd")
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -29,15 +29,13 @@ public:
// construction/destruction
a2bus_corvus_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;
protected:
a2bus_corvus_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;

View File

@ -47,16 +47,6 @@ static const floppy_interface floppy_interface =
"floppy_5_25"
};
MACHINE_CONFIG_START( diskii )
MCFG_APPLEFDC_ADD(FDC_TAG, fdc_interface)
MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_ADD(floppy_interface,15,16)
MACHINE_CONFIG_END
MACHINE_CONFIG_START( iwmflop )
MCFG_IWM_ADD(FDC_TAG, fdc_interface)
MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_ADD(floppy_interface,15,16)
MACHINE_CONFIG_END
ROM_START( diskii )
ROM_REGION(0x100, DISKII_ROM_REGION, 0)
ROM_LOAD( "341-0027-a.p5", 0x000000, 0x000100, CRC(ce7144f6) SHA1(d4181c9f046aafc3fb326b381baac809d9e38d16) )
@ -68,19 +58,18 @@ ROM_START( agat7 )
ROM_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_floppy_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( diskii );
}
MACHINE_CONFIG_MEMBER( a2bus_floppy_device::device_add_mconfig )
MCFG_APPLEFDC_ADD(FDC_TAG, fdc_interface)
MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_ADD(floppy_interface,15,16)
MACHINE_CONFIG_END
machine_config_constructor a2bus_iwmflop_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( iwmflop );
}
MACHINE_CONFIG_MEMBER( a2bus_iwmflop_device::device_add_mconfig )
MCFG_IWM_ADD(FDC_TAG, fdc_interface)
MCFG_LEGACY_FLOPPY_APPLE_2_DRIVES_ADD(floppy_interface,15,16)
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -24,17 +24,14 @@ class a2bus_floppy_device:
public device_t,
public device_a2bus_card_interface
{
public:
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
protected:
// construction/destruction
a2bus_floppy_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
@ -58,7 +55,8 @@ class a2bus_iwmflop_device: public a2bus_floppy_device
public:
a2bus_iwmflop_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
};
class a2bus_agat7flop_device: public a2bus_floppy_device

View File

@ -30,12 +30,6 @@ static SLOT_INTERFACE_START( a2_floppies )
SLOT_INTERFACE( "525", FLOPPY_525_SD )
SLOT_INTERFACE_END
static MACHINE_CONFIG_START( diskiing )
MCFG_DEVICE_ADD(WOZFDC_TAG, DISKII_FDC, 1021800*2)
MCFG_FLOPPY_DRIVE_ADD("0", a2_floppies, "525", a2bus_diskiing_device::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("1", a2_floppies, "525", a2bus_diskiing_device::floppy_formats)
MACHINE_CONFIG_END
ROM_START( diskiing )
ROM_REGION(0x100, DISKII_ROM_REGION, 0)
ROM_LOAD( "341-0027-a.p5", 0x0000, 0x0100, CRC(ce7144f6) SHA1(d4181c9f046aafc3fb326b381baac809d9e38d16) ) /* 341-0027-a: 16-sector disk drive (older version), PROM P5 */
@ -46,14 +40,14 @@ FLOPPY_FORMATS_MEMBER( a2bus_diskiing_device::floppy_formats )
FLOPPY_FORMATS_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_diskiing_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( diskiing );
}
MACHINE_CONFIG_MEMBER( a2bus_diskiing_device::device_add_mconfig )
MCFG_DEVICE_ADD(WOZFDC_TAG, DISKII_FDC, 1021800*2)
MCFG_FLOPPY_DRIVE_ADD("0", a2_floppies, "525", a2bus_diskiing_device::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD("1", a2_floppies, "525", a2bus_diskiing_device::floppy_formats)
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -31,15 +31,11 @@ public:
// construction/destruction
a2bus_diskiing_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_FLOPPY_FORMATS( floppy_formats );
protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
@ -52,6 +48,8 @@ private:
required_device<floppy_connector> floppy1;
const uint8_t *m_rom;
DECLARE_FLOPPY_FORMATS( floppy_formats );
};
// device type definition

View File

@ -23,7 +23,15 @@
DEFINE_DEVICE_TYPE(A2BUS_DX1, a2bus_dx1_device, "a2dx1", "Decillonix DX-1")
MACHINE_CONFIG_START( a2dx1 )
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( a2bus_dx1_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_SOUND_ADD("dacvol", DAC_8BIT_R2R, 0) // unknown DAC
@ -32,20 +40,6 @@ MACHINE_CONFIG_START( a2dx1 )
MCFG_SOUND_ROUTE_EX(0, "dacvol", 1.0, DAC_VREF_POS_INPUT)
MACHINE_CONFIG_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor a2bus_dx1_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a2dx1 );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************

View File

@ -28,13 +28,11 @@ public:
// construction/destruction
a2bus_dx1_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:
a2bus_dx1_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;

View File

@ -25,25 +25,19 @@ DEFINE_DEVICE_TYPE(A2BUS_ECHOII, a2bus_echoii_device, "a2echoii", "Street Electr
#define TMS_TAG "tms5220"
MACHINE_CONFIG_START( a2echoii )
MCFG_SPEAKER_STANDARD_MONO("echoii")
MCFG_SOUND_ADD(TMS_TAG, TMS5220, 640000) // Note the Echo II card has a "FREQ" potentiometer which can be used to adjust the tms5220's clock frequency; 640khz is the '8khz' value according to the tms5220 datasheet
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "echoii", 1.0)
MACHINE_CONFIG_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_echoii_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a2echoii );
}
MACHINE_CONFIG_MEMBER( a2bus_echoii_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("echoii")
MCFG_SOUND_ADD(TMS_TAG, TMS5220, 640000) // Note the Echo II card has a "FREQ" potentiometer which can be used to adjust the tms5220's clock frequency; 640khz is the '8khz' value according to the tms5220 datasheet
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "echoii", 1.0)
MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE

View File

@ -28,9 +28,6 @@ public:
// construction/destruction
a2bus_echoii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
required_device<tms5220_device> m_tms;
protected:
@ -38,6 +35,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;

View File

@ -68,7 +68,20 @@ static SLOT_INTERFACE_START( hsscsi_devices )
SLOT_INTERFACE_INTERNAL("ncr5380", NCR5380N)
SLOT_INTERFACE_END
static MACHINE_CONFIG_START( hsscsi )
ROM_START( hsscsi )
ROM_REGION(0x8000, SCSI_ROM_REGION, 0)
ROM_LOAD( "341-0803.bin", 0x0000, 0x8000, CRC(2c15618b) SHA1(7d32227299933bfc1b7f8bc2062906fdfe530674) )
ROM_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( a2bus_hsscsi_device::device_add_mconfig )
MCFG_NSCSI_BUS_ADD(SCSI_BUS_TAG)
MCFG_NSCSI_ADD("scsibus:0", hsscsi_devices, nullptr, false)
MCFG_NSCSI_ADD("scsibus:1", hsscsi_devices, nullptr, false)
@ -81,25 +94,6 @@ static MACHINE_CONFIG_START( hsscsi )
MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5380", ncr5380)
MACHINE_CONFIG_END
ROM_START( hsscsi )
ROM_REGION(0x8000, SCSI_ROM_REGION, 0)
ROM_LOAD( "341-0803.bin", 0x0000, 0x8000, CRC(2c15618b) SHA1(7d32227299933bfc1b7f8bc2062906fdfe530674) )
ROM_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor a2bus_hsscsi_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( hsscsi );
}
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------

View File

@ -28,10 +28,6 @@ public:
// construction/destruction
a2bus_hsscsi_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_WRITE_LINE_MEMBER( drq_w );
protected:
@ -39,6 +35,8 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;

View File

@ -41,7 +41,15 @@ DEFINE_DEVICE_TYPE(A2BUS_MCMS2, a2bus_mcms2_device, "a2mcms2", "Mountain Compute
#define MCFG_MCMS_IRQ_CALLBACK(_cb) \
devcb = &mcms_device::set_irq_cb(*device, DEVCB_##_cb);
MACHINE_CONFIG_START( a2mcms )
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( a2bus_mcms1_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_STEREO("mcms_l", "mcms_r")
MCFG_DEVICE_ADD(ENGINE_TAG, MCMS, 1000000)
@ -51,20 +59,6 @@ MACHINE_CONFIG_START( a2mcms )
MCFG_SOUND_ROUTE(1, "mcms_r", 1.0)
MACHINE_CONFIG_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor a2bus_mcms1_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a2mcms );
}
//**************************************************************************
// LIVE DEVICE - Card 1
//**************************************************************************

View File

@ -66,14 +66,9 @@ public:
// construction/destruction
a2bus_mcms1_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;
// comms from card 2 (oscillator parameter writes)
mcms_device *get_engine(void);
DECLARE_WRITE_LINE_MEMBER(irq_w);
required_device<mcms_device> m_mcms;
protected:
@ -81,12 +76,16 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
virtual uint8_t read_cnxx(address_space &space, uint8_t offset) override;
virtual void write_cnxx(address_space &space, uint8_t offset, uint8_t data) override;
virtual bool take_c800() override { return false; }
private:
DECLARE_WRITE_LINE_MEMBER(irq_w);
};
// card 2

View File

@ -25,9 +25,6 @@ DEFINE_DEVICE_TYPE(A2BUS_RAMFACTOR, a2bus_ramfactor_device, "a2ramfac", "Appli
#define MEMEXP_ROM_REGION "memexp_rom"
MACHINE_CONFIG_START( memexp )
MACHINE_CONFIG_END
ROM_START( memexp )
ROM_REGION(0x1000, MEMEXP_ROM_REGION, 0)
ROM_LOAD( "341-0344a.bin", 0x0000, 0x1000, CRC(1e994e17) SHA1(6e823a1fa40ed37eeddcef23f5df24da2ea1463e) )
@ -46,14 +43,11 @@ ROM_END
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_memexp_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( memexp );
}
MACHINE_CONFIG_MEMBER( a2bus_memexp_device::device_add_mconfig )
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -24,10 +24,6 @@ class a2bus_memexp_device:
public device_a2bus_card_interface
{
public:
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
bool m_isramfactor;
uint8_t m_bankhior;
int m_addrmask;
@ -38,6 +34,8 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;

View File

@ -27,7 +27,12 @@ DEFINE_DEVICE_TYPE(A2BUS_MIDI, a2bus_midi_device, "a2midi", "6850 MIDI card")
#define MIDI_PTM_TAG "midi_ptm"
#define MIDI_ACIA_TAG "midi_acia"
MACHINE_CONFIG_START( midi )
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( a2bus_midi_device::device_add_mconfig )
MCFG_DEVICE_ADD(MIDI_PTM_TAG, PTM6840, 1021800)
MCFG_PTM6840_EXTERNAL_CLOCKS(1021800.0f, 1021800.0f, 1021800.0f)
MCFG_PTM6840_IRQ_CB(WRITELINE(a2bus_midi_device, ptm_irq_w))
@ -45,16 +50,6 @@ MACHINE_CONFIG_START( midi )
MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(a2bus_midi_device, write_acia_clock))
MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor a2bus_midi_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( midi );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************

View File

@ -29,18 +29,12 @@ public:
// construction/destruction
a2bus_midi_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( acia_irq_w );
DECLARE_WRITE_LINE_MEMBER( ptm_irq_w );
DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
protected:
a2bus_midi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
@ -49,6 +43,10 @@ protected:
required_device<acia6850_device> m_acia;
private:
DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
DECLARE_WRITE_LINE_MEMBER( ptm_irq_w );
DECLARE_WRITE_LINE_MEMBER( write_acia_clock );
bool m_acia_irq, m_ptm_irq;
};

View File

@ -34,7 +34,11 @@ DEFINE_DEVICE_TYPE(A2BUS_MOCKINGBOARD, a2bus_mockingboard_device, "a2mockbd", "S
DEFINE_DEVICE_TYPE(A2BUS_PHASOR, a2bus_phasor_device, "a2phasor", "Applied Engineering Phasor")
DEFINE_DEVICE_TYPE(A2BUS_ECHOPLUS, a2bus_echoplus_device, "a2echop", "Street Electronics Echo Plus")
MACHINE_CONFIG_START( mockingboard )
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( a2bus_ayboard_device::device_add_mconfig )
MCFG_DEVICE_ADD(VIA1_TAG, VIA6522, 1022727)
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(a2bus_ayboard_device, via1_out_a))
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(a2bus_ayboard_device, via1_out_b))
@ -52,7 +56,7 @@ MACHINE_CONFIG_START( mockingboard )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START( phasor )
MACHINE_CONFIG_MEMBER( a2bus_phasor_device::device_add_mconfig )
MCFG_DEVICE_ADD(VIA1_TAG, VIA6522, 1022727)
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(a2bus_ayboard_device, via1_out_a))
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(a2bus_ayboard_device, via1_out_b))
@ -75,7 +79,7 @@ MACHINE_CONFIG_START( phasor )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker2", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START( echoplus )
MACHINE_CONFIG_MEMBER( a2bus_echoplus_device::device_add_mconfig )
MCFG_DEVICE_ADD(VIA1_TAG, VIA6522, 1022727)
MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(a2bus_ayboard_device, via1_out_a))
MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(a2bus_ayboard_device, via1_out_b))
@ -97,26 +101,6 @@ MACHINE_CONFIG_START( echoplus )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "echosp", 1.0)
MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor a2bus_ayboard_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( mockingboard );
}
machine_config_constructor a2bus_phasor_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( phasor );
}
machine_config_constructor a2bus_echoplus_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( echoplus );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************

View File

@ -25,9 +25,6 @@ class a2bus_ayboard_device:
public device_a2bus_card_interface
{
public:
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
DECLARE_WRITE_LINE_MEMBER( via1_irq_w );
DECLARE_WRITE_LINE_MEMBER( via2_irq_w );
DECLARE_WRITE8_MEMBER(via1_out_a);
@ -41,6 +38,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
@ -72,7 +70,8 @@ class a2bus_phasor_device : public a2bus_ayboard_device
public:
a2bus_phasor_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
};
class a2bus_echoplus_device : public a2bus_ayboard_device
@ -80,9 +79,9 @@ class a2bus_echoplus_device : public a2bus_ayboard_device
public:
a2bus_echoplus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;

View File

@ -24,15 +24,6 @@ DEFINE_DEVICE_TYPE(A2BUS_PIC, a2bus_pic_device, "a2pic", "Apple Parallel Interfa
#define PIC_ROM_REGION "pic_rom"
#define PIC_CENTRONICS_TAG "pic_ctx"
MACHINE_CONFIG_START( pic )
MCFG_CENTRONICS_ADD(PIC_CENTRONICS_TAG, centronics_devices, "printer")
MCFG_CENTRONICS_DATA_INPUT_BUFFER("ctx_data_in")
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(a2bus_pic_device, ack_w))
MCFG_DEVICE_ADD("ctx_data_in", INPUT_BUFFER, 0)
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("ctx_data_out", PIC_CENTRONICS_TAG)
MACHINE_CONFIG_END
ROM_START( pic )
ROM_REGION(0x000200, PIC_ROM_REGION, 0)
ROM_LOAD( "341-0057.bin", 0x000000, 0x000200, CRC(0d2d84ee) SHA1(bfc5b863d37e59875a6159528eb0f2b6082063b5) )
@ -77,14 +68,17 @@ ioport_constructor a2bus_pic_device::device_input_ports() const
}
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_pic_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( pic );
}
MACHINE_CONFIG_MEMBER( a2bus_pic_device::device_add_mconfig )
MCFG_CENTRONICS_ADD(PIC_CENTRONICS_TAG, centronics_devices, "printer")
MCFG_CENTRONICS_DATA_INPUT_BUFFER("ctx_data_in")
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(a2bus_pic_device, ack_w))
MCFG_DEVICE_ADD("ctx_data_in", INPUT_BUFFER, 0)
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("ctx_data_out", PIC_CENTRONICS_TAG)
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -28,19 +28,15 @@ public:
// construction/destruction
a2bus_pic_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;
virtual ioport_constructor device_input_ports() const override;
DECLARE_WRITE_LINE_MEMBER( ack_w );
protected:
a2bus_pic_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual ioport_constructor device_input_ports() const override;
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
@ -56,6 +52,8 @@ protected:
required_device<output_latch_device> m_ctx_data_out;
private:
DECLARE_WRITE_LINE_MEMBER( ack_w );
uint8_t *m_rom;
bool m_started;
uint8_t m_ack;

View File

@ -23,26 +23,20 @@
DEFINE_DEVICE_TYPE(A2BUS_SAM, a2bus_sam_device, "a2sam", "Don't Ask Software SAM")
MACHINE_CONFIG_START( a2sam )
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
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_sam_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a2sam );
}
MACHINE_CONFIG_MEMBER( a2bus_sam_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)
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
//**************************************************************************
// LIVE DEVICE

View File

@ -28,12 +28,10 @@ public:
// construction/destruction
a2bus_sam_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:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;

View File

@ -61,7 +61,20 @@ static SLOT_INTERFACE_START( scsi_devices )
SLOT_INTERFACE_INTERNAL("ncr5380", NCR5380N)
SLOT_INTERFACE_END
MACHINE_CONFIG_START( scsi )
ROM_START( scsi )
ROM_REGION(0x4000, SCSI_ROM_REGION, 0) // this is the Rev. C ROM
ROM_LOAD( "341-0437-a.bin", 0x0000, 0x4000, CRC(5aff85d3) SHA1(451c85c46b92e6ad2ad930f055ccf0fe3049936d) )
ROM_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( a2bus_scsi_device::device_add_mconfig )
MCFG_NSCSI_BUS_ADD(SCSI_BUS_TAG)
MCFG_NSCSI_ADD("scsibus:0", scsi_devices, nullptr, false)
MCFG_NSCSI_ADD("scsibus:1", scsi_devices, nullptr, false)
@ -74,25 +87,6 @@ MACHINE_CONFIG_START( scsi )
MCFG_DEVICE_CARD_MACHINE_CONFIG("ncr5380", ncr5380)
MACHINE_CONFIG_END
ROM_START( scsi )
ROM_REGION(0x4000, SCSI_ROM_REGION, 0) // this is the Rev. C ROM
ROM_LOAD( "341-0437-a.bin", 0x0000, 0x4000, CRC(5aff85d3) SHA1(451c85c46b92e6ad2ad930f055ccf0fe3049936d) )
ROM_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor a2bus_scsi_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( scsi );
}
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------

View File

@ -28,10 +28,6 @@ public:
// construction/destruction
a2bus_scsi_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_WRITE_LINE_MEMBER( drq_w );
protected:
@ -39,6 +35,8 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;

View File

@ -28,24 +28,18 @@ static ADDRESS_MAP_START( z80_mem, AS_PROGRAM, 8, a2bus_softcard_device )
AM_RANGE(0x0000, 0xffff) AM_READWRITE(dma_r, dma_w)
ADDRESS_MAP_END
MACHINE_CONFIG_START( a2softcard )
MCFG_CPU_ADD(Z80_TAG, Z80, 1021800*2) // Z80 runs on double the Apple II's clock
MCFG_CPU_PROGRAM_MAP(z80_mem)
MACHINE_CONFIG_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_softcard_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a2softcard );
}
MACHINE_CONFIG_MEMBER( a2bus_softcard_device::device_add_mconfig )
MCFG_CPU_ADD(Z80_TAG, Z80, 1021800*2) // Z80 runs on double the Apple II's clock
MCFG_CPU_PROGRAM_MAP(z80_mem)
MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE

View File

@ -25,9 +25,6 @@ public:
// construction/destruction
a2bus_softcard_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( dma_r );
DECLARE_WRITE8_MEMBER( dma_w );
@ -36,6 +33,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual void write_cnxx(address_space &space, uint8_t offset, uint8_t data) override;

View File

@ -27,19 +27,6 @@ DEFINE_DEVICE_TYPE(A2BUS_SSC, a2bus_ssc_device, "a2ssc", "Apple Super Serial Car
#define SSC_ACIA_TAG "ssc_acia"
#define SSC_RS232_TAG "ssc_rs232"
MACHINE_CONFIG_START( ssc )
MCFG_DEVICE_ADD(SSC_ACIA_TAG, MOS6551, 0)
MCFG_MOS6551_XTAL(XTAL_1_8432MHz)
MCFG_MOS6551_IRQ_HANDLER(WRITELINE(a2bus_ssc_device, acia_irq_w))
MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(SSC_RS232_TAG, rs232_port_device, write_txd))
MCFG_RS232_PORT_ADD(SSC_RS232_TAG, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_rxd))
MCFG_RS232_DCD_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_dcd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_cts))
MACHINE_CONFIG_END
ROM_START( ssc )
ROM_REGION(0x000800, SSC_ROM_REGION, 0)
ROM_LOAD( "341-0065-a.bin", 0x000000, 0x000800, CRC(b7539d4c) SHA1(6dab633470c6bc4cb3e81d09fda46597caf8ee57) )
@ -106,14 +93,21 @@ ioport_constructor a2bus_ssc_device::device_input_ports() const
}
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_ssc_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( ssc );
}
MACHINE_CONFIG_MEMBER( a2bus_ssc_device::device_add_mconfig )
MCFG_DEVICE_ADD(SSC_ACIA_TAG, MOS6551, 0)
MCFG_MOS6551_XTAL(XTAL_1_8432MHz)
MCFG_MOS6551_IRQ_HANDLER(WRITELINE(a2bus_ssc_device, acia_irq_w))
MCFG_MOS6551_TXD_HANDLER(DEVWRITELINE(SSC_RS232_TAG, rs232_port_device, write_txd))
MCFG_RS232_PORT_ADD(SSC_RS232_TAG, default_rs232_devices, nullptr)
MCFG_RS232_RXD_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_rxd))
MCFG_RS232_DCD_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_dcd))
MCFG_RS232_DSR_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_dsr))
MCFG_RS232_CTS_HANDLER(DEVWRITELINE(SSC_ACIA_TAG, mos6551_device, write_cts))
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -26,18 +26,14 @@ public:
// construction/destruction
a2bus_ssc_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;
virtual ioport_constructor device_input_ports() const override;
DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
protected:
a2bus_ssc_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual ioport_constructor device_input_ports() const override;
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
@ -49,6 +45,8 @@ protected:
required_device<mos6551_device> m_acia;
private:
DECLARE_WRITE_LINE_MEMBER( acia_irq_w );
uint8_t *m_rom;
bool m_started;
};

View File

@ -44,24 +44,18 @@ static ADDRESS_MAP_START( m6809_mem, AS_PROGRAM, 8, a2bus_themill_device )
AM_RANGE(0x0000, 0xffff) AM_READWRITE(dma_r, dma_w)
ADDRESS_MAP_END
MACHINE_CONFIG_START( a2themill )
MCFG_CPU_ADD(M6809_TAG, M6809, 1021800) // M6809 runs at ~1 MHz as per Stellation Two's print ads
MCFG_CPU_PROGRAM_MAP(m6809_mem)
MACHINE_CONFIG_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_themill_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a2themill );
}
MACHINE_CONFIG_MEMBER( a2bus_themill_device::device_add_mconfig )
MCFG_CPU_ADD(M6809_TAG, M6809, 1021800) // M6809 runs at ~1 MHz as per Stellation Two's print ads
MCFG_CPU_PROGRAM_MAP(m6809_mem)
MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE

View File

@ -27,9 +27,6 @@ public:
// construction/destruction
a2bus_themill_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( dma_r );
DECLARE_WRITE8_MEMBER( dma_w );
@ -38,6 +35,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;

View File

@ -41,10 +41,6 @@ DEFINE_DEVICE_TYPE(A2BUS_THUNDERCLOCK, a2bus_thunderclock_device, "a2thunpl", "T
#define THUNDERCLOCK_ROM_REGION "thunclk_rom"
#define THUNDERCLOCK_UPD1990_TAG "thunclk_upd"
MACHINE_CONFIG_START( thunderclock )
MCFG_UPD1990A_ADD(THUNDERCLOCK_UPD1990_TAG, 1021800, DEVWRITELINE(DEVICE_SELF, a2bus_thunderclock_device, upd_dataout_w), NOOP)
MACHINE_CONFIG_END
ROM_START( thunderclock )
ROM_REGION(0x800, THUNDERCLOCK_ROM_REGION, 0)
ROM_LOAD( "thunderclock plus rom.bin", 0x0000, 0x0800, CRC(1b99c4e3) SHA1(60f434f5325899d7ea257a6e56e6f53eae65146a) )
@ -55,14 +51,12 @@ ROM_END
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_thunderclock_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( thunderclock );
}
MACHINE_CONFIG_MEMBER( a2bus_thunderclock_device::device_add_mconfig )
MCFG_UPD1990A_ADD(THUNDERCLOCK_UPD1990_TAG, 1021800, DEVWRITELINE(DEVICE_SELF, a2bus_thunderclock_device, upd_dataout_w), NOOP)
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -28,17 +28,13 @@ public:
// construction/destruction
a2bus_thunderclock_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_WRITE_LINE_MEMBER( upd_dataout_w );
protected:
a2bus_thunderclock_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
@ -49,6 +45,8 @@ protected:
required_device<upd1990a_device> m_upd1990ac;
private:
DECLARE_WRITE_LINE_MEMBER( upd_dataout_w );
uint8_t *m_rom;
int m_dataout;
};

View File

@ -73,17 +73,6 @@ static const rgb_t ultraterm_palette[4] =
rgb_t(0xff,0xff,0xff)
};
MACHINE_CONFIG_START( a2ultraterm )
MCFG_SCREEN_ADD( ULTRATERM_SCREEN_NAME, RASTER)
MCFG_SCREEN_RAW_PARAMS(CLOCK_LOW, 882, 0, 720, 370, 0, 350 )
MCFG_SCREEN_UPDATE_DEVICE( ULTRATERM_MC6845_NAME, mc6845_device, screen_update )
MCFG_MC6845_ADD(ULTRATERM_MC6845_NAME, MC6845, ULTRATERM_SCREEN_NAME, CLOCK_LOW/9)
MCFG_MC6845_SHOW_BORDER_AREA(false)
MCFG_MC6845_CHAR_WIDTH(8)
MCFG_MC6845_UPDATE_ROW_CB(a2bus_videx160_device, crtc_update_row)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(a2bus_videx160_device, vsync_changed))
MACHINE_CONFIG_END
ROM_START( a2ultraterm )
ROM_REGION(0x1000, ULTRATERM_ROM_REGION, 0)
@ -112,14 +101,20 @@ ROM_END
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_videx160_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a2ultraterm );
}
MACHINE_CONFIG_MEMBER( a2bus_videx160_device::device_add_mconfig )
MCFG_SCREEN_ADD( ULTRATERM_SCREEN_NAME, RASTER)
MCFG_SCREEN_RAW_PARAMS(CLOCK_LOW, 882, 0, 720, 370, 0, 350 )
MCFG_SCREEN_UPDATE_DEVICE( ULTRATERM_MC6845_NAME, mc6845_device, screen_update )
MCFG_MC6845_ADD(ULTRATERM_MC6845_NAME, MC6845, ULTRATERM_SCREEN_NAME, CLOCK_LOW/9)
MCFG_MC6845_SHOW_BORDER_AREA(false)
MCFG_MC6845_CHAR_WIDTH(8)
MCFG_MC6845_UPDATE_ROW_CB(a2bus_videx160_device, crtc_update_row)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(a2bus_videx160_device, vsync_changed))
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -24,19 +24,13 @@ class a2bus_videx160_device:
public device_t,
public device_a2bus_card_interface
{
public:
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
DECLARE_WRITE_LINE_MEMBER(vsync_changed);
MC6845_UPDATE_ROW(crtc_update_row);
protected:
// construction/destruction
a2bus_videx160_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
@ -54,6 +48,9 @@ protected:
required_device<mc6845_device> m_crtc;
private:
DECLARE_WRITE_LINE_MEMBER(vsync_changed);
MC6845_UPDATE_ROW(crtc_update_row);
int m_rambank;
};

View File

@ -50,18 +50,6 @@ DEFINE_DEVICE_TYPE(A2BUS_AEVIEWMASTER80, a2bus_aevm80_device, "a2aevm80", "Ap
#define MDA_CLOCK 16257000
MACHINE_CONFIG_START( a2videoterm )
MCFG_SCREEN_ADD( VIDEOTERM_SCREEN_NAME, RASTER) // 560x216? (80x24 7x9 characters)
MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 )
MCFG_SCREEN_UPDATE_DEVICE( VIDEOTERM_MC6845_NAME, mc6845_device, screen_update )
MCFG_MC6845_ADD(VIDEOTERM_MC6845_NAME, MC6845, VIDEOTERM_SCREEN_NAME, MDA_CLOCK/9)
MCFG_MC6845_SHOW_BORDER_AREA(false)
MCFG_MC6845_CHAR_WIDTH(8)
MCFG_MC6845_UPDATE_ROW_CB(a2bus_videx80_device, crtc_update_row)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(a2bus_videx80_device, vsync_changed))
MACHINE_CONFIG_END
ROM_START( a2videoterm )
ROM_REGION(0x400, VIDEOTERM_ROM_REGION, 0)
ROM_LOAD( "videx videoterm rom 2.4.bin", 0x000000, 0x000400, CRC(bbe3bb28) SHA1(bb653836e84850ce3197f461d4e19355f738cfbf) )
@ -126,14 +114,20 @@ ROM_END
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_videx80_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a2videoterm );
}
MACHINE_CONFIG_MEMBER( a2bus_videx80_device::device_add_mconfig )
MCFG_SCREEN_ADD( VIDEOTERM_SCREEN_NAME, RASTER) // 560x216? (80x24 7x9 characters)
MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 )
MCFG_SCREEN_UPDATE_DEVICE( VIDEOTERM_MC6845_NAME, mc6845_device, screen_update )
MCFG_MC6845_ADD(VIDEOTERM_MC6845_NAME, MC6845, VIDEOTERM_SCREEN_NAME, MDA_CLOCK/9)
MCFG_MC6845_SHOW_BORDER_AREA(false)
MCFG_MC6845_CHAR_WIDTH(8)
MCFG_MC6845_UPDATE_ROW_CB(a2bus_videx80_device, crtc_update_row)
MCFG_MC6845_OUT_VSYNC_CB(WRITELINE(a2bus_videx80_device, vsync_changed))
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -24,19 +24,13 @@ class a2bus_videx80_device:
public device_t,
public device_a2bus_card_interface
{
public:
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
DECLARE_WRITE_LINE_MEMBER(vsync_changed);
MC6845_UPDATE_ROW(crtc_update_row);
protected:
// construction/destruction
a2bus_videx80_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
@ -54,6 +48,9 @@ protected:
required_device<palette_device> m_palette;
private:
DECLARE_WRITE_LINE_MEMBER(vsync_changed);
MC6845_UPDATE_ROW(crtc_update_row);
int m_rambank;
};

View File

@ -68,10 +68,6 @@ DEFINE_DEVICE_TYPE(A2BUS_VULCANGOLD, a2bus_vulcangold_device, "a2vulgld", "Appli
#define VULCAN_ROM_REGION "vulcan_rom"
#define VULCAN_ATA_TAG "vulcan_ata"
static MACHINE_CONFIG_START( vulcan )
MCFG_ATA_INTERFACE_ADD(VULCAN_ATA_TAG, ata_devices, "hdd", nullptr, false)
MACHINE_CONFIG_END
ROM_START( vulcan )
ROM_REGION(0x4000, VULCAN_ROM_REGION, 0)
ROM_LOAD( "ae vulcan rom v1.4.bin", 0x000000, 0x004000, CRC(798d5825) SHA1(1d668e856e33c6eeb10fe26975341afa8acb81f5) )
@ -87,14 +83,12 @@ ROM_END
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_vulcanbase_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( vulcan );
}
MACHINE_CONFIG_MEMBER( a2bus_vulcanbase_device::device_add_mconfig )
MCFG_ATA_INTERFACE_ADD(VULCAN_ATA_TAG, ata_devices, "hdd", nullptr, false)
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -24,16 +24,13 @@ class a2bus_vulcanbase_device:
public device_t,
public device_a2bus_card_interface
{
public:
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
protected:
// construction/destruction
a2bus_vulcanbase_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;

View File

@ -33,10 +33,6 @@ DEFINE_DEVICE_TYPE(A2BUS_ZIPDRIVE, a2bus_zipdrive_device, "a2zipdrv", "Zip Techn
#define ZIPDRIVE_ROM_REGION "zipdrive_rom"
#define ZIPDRIVE_ATA_TAG "zipdrive_ata"
static MACHINE_CONFIG_START( zipdrive )
MCFG_ATA_INTERFACE_ADD(ZIPDRIVE_ATA_TAG, ata_devices, "hdd", nullptr, false)
MACHINE_CONFIG_END
ROM_START( zipdrive )
ROM_REGION(0x2000, ZIPDRIVE_ROM_REGION, 0)
ROM_LOAD( "zip drive - rom.bin", 0x000000, 0x002000, CRC(fd800a40) SHA1(46636bfed88c864139e3d2826661908a8c07c459) )
@ -47,14 +43,12 @@ ROM_END
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_zipdrivebase_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( zipdrive );
}
MACHINE_CONFIG_MEMBER( a2bus_zipdrivebase_device::device_add_mconfig )
MCFG_ATA_INTERFACE_ADD(ZIPDRIVE_ATA_TAG, ata_devices, "hdd", nullptr, false)
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -26,17 +26,14 @@ class a2bus_zipdrivebase_device:
public device_t,
public device_a2bus_card_interface
{
public:
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const override;
virtual const tiny_rom_entry *device_rom_region() const override;
protected:
// construction/destruction
a2bus_zipdrivebase_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;

View File

@ -35,16 +35,6 @@ static SLOT_INTERFACE_START( corv_floppies )
SLOT_INTERFACE( "8sssd", FLOPPY_8_SSSD )
SLOT_INTERFACE_END
MACHINE_CONFIG_START( fdc01 )
MCFG_FD1793_ADD(FDC01_FDC_TAG, XTAL_16MHz / 8)
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(a2bus_corvfdc01_device, intrq_w))
MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(a2bus_corvfdc01_device, drq_w))
MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":0", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":1", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":2", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":3", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats)
MACHINE_CONFIG_END
ROM_START( fdc01 )
ROM_REGION(0x20, FDC01_ROM_REGION, 0)
ROM_LOAD( "ff01.bin", 0x000000, 0x000020, CRC(ad3c1136) SHA1(b1e1e8a10618588b1b44b3be5d88857497f30b33) )
@ -89,14 +79,18 @@ enum
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_corvfdc01_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( fdc01 );
}
MACHINE_CONFIG_MEMBER( a2bus_corvfdc01_device::device_add_mconfig )
MCFG_FD1793_ADD(FDC01_FDC_TAG, XTAL_16MHz / 8)
MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(a2bus_corvfdc01_device, intrq_w))
MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(a2bus_corvfdc01_device, drq_w))
MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":0", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":1", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":2", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC01_FDC_TAG":3", corv_floppies, "8sssd", a2bus_corvfdc01_device::corv_floppy_formats)
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -29,20 +29,13 @@ public:
// construction/destruction
a2bus_corvfdc01_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_WRITE_LINE_MEMBER(intrq_w);
DECLARE_WRITE_LINE_MEMBER(drq_w);
DECLARE_FLOPPY_FORMATS(corv_floppy_formats);
protected:
a2bus_corvfdc01_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
@ -56,6 +49,11 @@ protected:
required_device<floppy_connector> m_con4;
private:
DECLARE_WRITE_LINE_MEMBER(intrq_w);
DECLARE_WRITE_LINE_MEMBER(drq_w);
DECLARE_FLOPPY_FORMATS(corv_floppy_formats);
uint8_t *m_rom;
uint8_t m_fdc_local_status, m_fdc_local_command;
floppy_image_device *m_curfloppy;

View File

@ -38,17 +38,6 @@ static SLOT_INTERFACE_START( corv_floppies )
SLOT_INTERFACE( "525dsqd", FLOPPY_525_QD )
SLOT_INTERFACE_END
MACHINE_CONFIG_START( fdc02 )
MCFG_UPD765A_ADD(FDC02_FDC_TAG, true, false)
MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(a2bus_corvfdc02_device, intrq_w))
MCFG_UPD765_DRQ_CALLBACK(WRITELINE(a2bus_corvfdc02_device, drq_w))
MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":0", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":1", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":2", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":3", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats)
MACHINE_CONFIG_END
ROM_START( fdc02 )
ROM_REGION(0x20, FDC02_ROM_REGION, 0)
ROM_LOAD( "bfc00.bin", 0x000000, 0x000020, CRC(98d1a765) SHA1(d27c3c6921e1bb3778a3f78decf106275bc0add1) )
@ -59,14 +48,18 @@ ROM_END
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_corvfdc02_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( fdc02 );
}
MACHINE_CONFIG_MEMBER( a2bus_corvfdc02_device::device_add_mconfig )
MCFG_UPD765A_ADD(FDC02_FDC_TAG, true, false)
MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(a2bus_corvfdc02_device, intrq_w))
MCFG_UPD765_DRQ_CALLBACK(WRITELINE(a2bus_corvfdc02_device, drq_w))
MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":0", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":1", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":2", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(FDC02_FDC_TAG":3", corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats)
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -29,21 +29,14 @@ public:
// construction/destruction
a2bus_corvfdc02_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_WRITE_LINE_MEMBER(intrq_w);
DECLARE_WRITE_LINE_MEMBER(drq_w);
DECLARE_FLOPPY_FORMATS(corv_floppy_formats);
protected:
a2bus_corvfdc02_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
@ -57,6 +50,11 @@ protected:
required_device<floppy_connector> m_con4;
private:
DECLARE_WRITE_LINE_MEMBER(intrq_w);
DECLARE_WRITE_LINE_MEMBER(drq_w);
DECLARE_FLOPPY_FORMATS(corv_floppy_formats);
uint8_t *m_rom;
uint8_t m_fdc_local_status, m_fdc_local_command;
uint16_t m_bufptr;

View File

@ -29,14 +29,6 @@ DEFINE_DEVICE_TYPE(A2BUS_EZCGI, a2bus_ezcgi_device, "a2ezcgi", "E-Z C
DEFINE_DEVICE_TYPE(A2BUS_EZCGI_9938, a2bus_ezcgi_9938_device, "a2ezcgi3", "E-Z Color Graphics Interface (TMS9938)")
DEFINE_DEVICE_TYPE(A2BUS_EZCGI_9958, a2bus_ezcgi_9958_device, "a2ezcgi5", "E-Z Color Graphics Interface (TMS9958)")
MACHINE_CONFIG_START( ezcgi )
MCFG_DEVICE_ADD( TMS_TAG, TMS9918A, XTAL_10_738635MHz / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000) // 16k of VRAM
MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(a2bus_ezcgi_device, tms_irq_w))
MCFG_TMS9928A_SCREEN_ADD_NTSC( SCREEN_TAG )
MCFG_SCREEN_UPDATE_DEVICE( TMS_TAG, tms9918a_device, screen_update )
MACHINE_CONFIG_END
#define MSX2_XBORDER_PIXELS 16
#define MSX2_YBORDER_PIXELS 28
#define MSX2_TOTAL_XRES_PIXELS 256 * 2 + (MSX2_XBORDER_PIXELS * 2)
@ -44,7 +36,19 @@ MACHINE_CONFIG_END
#define MSX2_VISIBLE_XBORDER_PIXELS 8 * 2
#define MSX2_VISIBLE_YBORDER_PIXELS 14 * 2
MACHINE_CONFIG_START( ezcgi9938 )
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( a2bus_ezcgi_device::device_add_mconfig )
MCFG_DEVICE_ADD( TMS_TAG, TMS9918A, XTAL_10_738635MHz / 2 )
MCFG_TMS9928A_VRAM_SIZE(0x4000) // 16k of VRAM
MCFG_TMS9928A_OUT_INT_LINE_CB(WRITELINE(a2bus_ezcgi_device, tms_irq_w))
MCFG_TMS9928A_SCREEN_ADD_NTSC( SCREEN_TAG )
MCFG_SCREEN_UPDATE_DEVICE( TMS_TAG, tms9918a_device, screen_update )
MACHINE_CONFIG_END
MACHINE_CONFIG_MEMBER( a2bus_ezcgi_9938_device::device_add_mconfig )
MCFG_V9938_ADD(TMS_TAG, SCREEN_TAG, 0x30000, XTAL_21_4772MHz) // 192K of VRAM / typical 9938 clock, not verified
MCFG_V99X8_INTERRUPT_CALLBACK(WRITELINE(a2bus_ezcgi_9938_device, tms_irq_w))
@ -58,7 +62,7 @@ MACHINE_CONFIG_START( ezcgi9938 )
MCFG_SCREEN_PALETTE(TMS_TAG)
MACHINE_CONFIG_END
MACHINE_CONFIG_START( ezcgi9958 )
MACHINE_CONFIG_MEMBER( a2bus_ezcgi_9958_device::device_add_mconfig )
MCFG_V9958_ADD(TMS_TAG, SCREEN_TAG, 0x30000, XTAL_21_4772MHz) // 192K of VRAM / typcial 9938/9958 clock, not verified
MCFG_V99X8_INTERRUPT_CALLBACK(WRITELINE(a2bus_ezcgi_9958_device, tms_irq_w))
@ -72,26 +76,6 @@ MACHINE_CONFIG_START( ezcgi9958 )
MCFG_SCREEN_PALETTE(TMS_TAG)
MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor a2bus_ezcgi_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( ezcgi );
}
machine_config_constructor a2bus_ezcgi_9938_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( ezcgi9938 );
}
machine_config_constructor a2bus_ezcgi_9958_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( ezcgi9958 );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************

View File

@ -31,22 +31,21 @@ public:
// construction/destruction
a2bus_ezcgi_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( tms_irq_w );
protected:
a2bus_ezcgi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
required_device<tms9918a_device> m_tms;
private:
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
};
class a2bus_ezcgi_9938_device:
@ -57,22 +56,21 @@ public:
// construction/destruction
a2bus_ezcgi_9938_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( tms_irq_w );
protected:
a2bus_ezcgi_9938_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
required_device<v9938_device> m_tms;
private:
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
};
class a2bus_ezcgi_9958_device:
@ -83,22 +81,21 @@ public:
// construction/destruction
a2bus_ezcgi_9958_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( tms_irq_w );
protected:
a2bus_ezcgi_9958_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
virtual void write_c0nx(address_space &space, uint8_t offset, uint8_t data) override;
required_device<v9958_device> m_tms;
private:
DECLARE_WRITE_LINE_MEMBER( tms_irq_w );
};
// device type definition

View File

@ -21,22 +21,16 @@
DEFINE_DEVICE_TYPE(A2BUS_LASER128, a2bus_laser128_device, "a2laser128", "VTech Laser 128 Internal Device")
MACHINE_CONFIG_START( a2laser128 )
MACHINE_CONFIG_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_laser128_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a2laser128 );
}
MACHINE_CONFIG_MEMBER( a2bus_laser128_device::device_add_mconfig )
MACHINE_CONFIG_END
//**************************************************************************
// LIVE DEVICE

View File

@ -27,14 +27,12 @@ public:
// construction/destruction
a2bus_laser128_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:
a2bus_laser128_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;

View File

@ -105,7 +105,15 @@ static ADDRESS_MAP_START(pc_io, AS_IO, 16, a2bus_pcxporter_device )
AM_RANGE(0x00a0, 0x00a1) AM_WRITE8(nmi_enable_w, 0xffff)
ADDRESS_MAP_END
MACHINE_CONFIG_START( pcxporter )
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// device_add_mconfig - add device configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( a2bus_pcxporter_device::device_add_mconfig )
MCFG_CPU_ADD("v30", V30, XTAL_14_31818MHz/2) // 7.16 MHz as per manual
MCFG_CPU_PROGRAM_MAP(pc_map)
MCFG_CPU_IO_MAP(pc_io)
@ -165,20 +173,6 @@ MACHINE_CONFIG_START( pcxporter )
MCFG_ISA8_SLOT_ADD("isa", "isa2", pc_isa8_cards, "fdc_xt", true)
MACHINE_CONFIG_END
/***************************************************************************
FUNCTION PROTOTYPES
***************************************************************************/
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor a2bus_pcxporter_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( pcxporter );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************

View File

@ -38,9 +38,6 @@ public:
// construction/destruction
a2bus_pcxporter_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_READ16_MEMBER(pc_bios_r);
// overrides of standard a2bus slot functions
@ -51,6 +48,40 @@ public:
virtual uint8_t read_c800(address_space &space, uint16_t offset) override;
virtual void write_c800(address_space &space, uint16_t offset, uint8_t data) override;
DECLARE_READ8_MEMBER( kbd_6502_r );
DECLARE_WRITE8_MEMBER( kbd_6502_w );
DECLARE_WRITE_LINE_MEMBER( pc_speaker_set_spkrdata );
DECLARE_WRITE8_MEMBER(pc_page_w);
DECLARE_WRITE8_MEMBER(nmi_enable_w);
protected:
a2bus_pcxporter_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<v30_device> m_v30;
required_device<pic8259_device> m_pic8259;
required_device<am9517a_device> m_dma8237;
required_device<pit8253_device> m_pit8253;
required_device<speaker_sound_device> m_speaker;
required_device<isa8_device> m_isabus;
optional_device<pc_kbdc_device> m_pc_kbdc;
uint8_t m_u73_q2;
uint8_t m_out1;
int m_dma_channel;
uint8_t m_dma_offset[4];
uint8_t m_pc_spkrdata;
uint8_t m_pit_out2;
bool m_cur_eop;
uint8_t m_nmi_enabled;
private:
// interface to the keyboard
DECLARE_WRITE_LINE_MEMBER( keyboard_clock_w );
DECLARE_WRITE_LINE_MEMBER( keyboard_data_w );
@ -73,39 +104,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( pc_dack1_w );
DECLARE_WRITE_LINE_MEMBER( pc_dack2_w );
DECLARE_WRITE_LINE_MEMBER( pc_dack3_w );
DECLARE_READ8_MEMBER( kbd_6502_r );
DECLARE_WRITE8_MEMBER( kbd_6502_w );
DECLARE_WRITE_LINE_MEMBER( pc_speaker_set_spkrdata );
DECLARE_WRITE8_MEMBER(pc_page_w);
DECLARE_WRITE8_MEMBER(nmi_enable_w);
protected:
a2bus_pcxporter_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
required_device<v30_device> m_v30;
required_device<pic8259_device> m_pic8259;
required_device<am9517a_device> m_dma8237;
required_device<pit8253_device> m_pit8253;
required_device<speaker_sound_device> m_speaker;
required_device<isa8_device> m_isabus;
optional_device<pc_kbdc_device> m_pc_kbdc;
uint8_t m_u73_q2;
uint8_t m_out1;
int m_dma_channel;
uint8_t m_dma_offset[4];
uint8_t m_pc_spkrdata;
uint8_t m_pit_out2;
bool m_cur_eop;
uint8_t m_nmi_enabled;
private:
uint8_t m_ram[768*1024];
uint8_t m_c800_ram[0x400];
uint8_t m_regs[0x400];

View File

@ -52,16 +52,6 @@ DEFINE_DEVICE_TYPE(A2BUS_TIMEMASTERHO, a2bus_timemasterho_device, "a2tmstho", "A
#define TIMEMASTER_PIA_TAG "timemst_pia"
#define TIMEMASTER_M5832_TAG "timemst_msm"
MACHINE_CONFIG_START( timemaster )
MCFG_DEVICE_ADD(TIMEMASTER_PIA_TAG, PIA6821, 1021800)
MCFG_PIA_WRITEPA_HANDLER(WRITE8(a2bus_timemasterho_device, pia_out_a))
MCFG_PIA_WRITEPB_HANDLER(WRITE8(a2bus_timemasterho_device, pia_out_b))
MCFG_PIA_IRQA_HANDLER(WRITELINE(a2bus_timemasterho_device, pia_irqa_w))
MCFG_PIA_IRQB_HANDLER(WRITELINE(a2bus_timemasterho_device, pia_irqb_w))
MCFG_DEVICE_ADD(TIMEMASTER_M5832_TAG, MSM5832, 32768)
MACHINE_CONFIG_END
ROM_START( timemaster )
ROM_REGION(0x1000, TIMEMASTER_ROM_REGION, 0)
ROM_LOAD( "ae timemaster ii h.o. rom rev. 5.bin", 0x000000, 0x001000, CRC(ff5bd644) SHA1(ae0173da61581a06188c1bee89e95a0aa536c411) )
@ -100,14 +90,18 @@ ioport_constructor a2bus_timemasterho_device::device_input_ports() const
}
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
// device_add_mconfig - add device configuration
//-------------------------------------------------
machine_config_constructor a2bus_timemasterho_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( timemaster );
}
MACHINE_CONFIG_MEMBER( a2bus_timemasterho_device::device_add_mconfig )
MCFG_DEVICE_ADD(TIMEMASTER_PIA_TAG, PIA6821, 1021800)
MCFG_PIA_WRITEPA_HANDLER(WRITE8(a2bus_timemasterho_device, pia_out_a))
MCFG_PIA_WRITEPB_HANDLER(WRITE8(a2bus_timemasterho_device, pia_out_b))
MCFG_PIA_IRQA_HANDLER(WRITELINE(a2bus_timemasterho_device, pia_irqa_w))
MCFG_PIA_IRQB_HANDLER(WRITELINE(a2bus_timemasterho_device, pia_irqb_w))
MCFG_DEVICE_ADD(TIMEMASTER_M5832_TAG, MSM5832, 32768)
MACHINE_CONFIG_END
//-------------------------------------------------
// rom_region - device-specific ROM region

View File

@ -29,21 +29,14 @@ public:
// construction/destruction
a2bus_timemasterho_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;
virtual ioport_constructor device_input_ports() const override;
DECLARE_WRITE8_MEMBER(pia_out_a);
DECLARE_WRITE8_MEMBER(pia_out_b);
DECLARE_WRITE_LINE_MEMBER(pia_irqa_w);
DECLARE_WRITE_LINE_MEMBER(pia_irqb_w);
protected:
a2bus_timemasterho_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
virtual const tiny_rom_entry *device_rom_region() const override;
virtual ioport_constructor device_input_ports() const override;
// overrides of standard a2bus slot functions
virtual uint8_t read_c0nx(address_space &space, uint8_t offset) override;
@ -57,6 +50,10 @@ protected:
private:
void update_irqs();
DECLARE_WRITE8_MEMBER(pia_out_a);
DECLARE_WRITE8_MEMBER(pia_out_b);
DECLARE_WRITE_LINE_MEMBER(pia_irqa_w);
DECLARE_WRITE_LINE_MEMBER(pia_irqb_w);
uint8_t *m_rom;
bool m_irqa, m_irqb;

View File

@ -120,14 +120,9 @@ WRITE8_MEMBER(a78_megacart_device::write_40xx)
// VersaBoard + POKEY @ 0x0450
static MACHINE_CONFIG_START( a78_pokeyvb )
MACHINE_CONFIG_MEMBER( a78_rom_p450_vb_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("addon")
MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
MACHINE_CONFIG_END
machine_config_constructor a78_rom_p450_vb_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a78_pokeyvb );
}

View File

@ -55,14 +55,13 @@ public:
// construction/destruction
a78_rom_p450_vb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
required_device<pokey_device> m_pokey450;
};

View File

@ -27,15 +27,10 @@ a78_hiscore_device::a78_hiscore_device(const machine_config &mconfig, const char
}
static MACHINE_CONFIG_START( a78_highscore )
MACHINE_CONFIG_MEMBER( a78_hiscore_device::device_add_mconfig )
MCFG_A78_CARTRIDGE_ADD("hsc_slot", a7800_cart, nullptr)
MACHINE_CONFIG_END
machine_config_constructor a78_hiscore_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a78_highscore );
}
/*-------------------------------------------------
mapper specific handlers

View File

@ -17,9 +17,6 @@ public:
// construction/destruction
a78_hiscore_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) override;
virtual DECLARE_WRITE8_MEMBER(write_04xx) override;
@ -30,6 +27,8 @@ public:
virtual DECLARE_WRITE8_MEMBER(write_40xx) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
required_device<a78_cart_slot_device> m_hscslot;
};

View File

@ -195,31 +195,6 @@ void a78_rom_act_device::device_reset()
m_bank = 0;
}
// TO DO: do we need a PAL variant?!?
static MACHINE_CONFIG_START( a78_pokey )
MCFG_SPEAKER_STANDARD_MONO("addon")
MCFG_SOUND_ADD("pokey", POKEY, XTAL_14_31818MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( a78_pokey450 )
MCFG_SPEAKER_STANDARD_MONO("pokey_450")
MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "pokey_450", 1.00)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( a78_2pokeys )
MCFG_SPEAKER_STANDARD_MONO("addon")
MCFG_SOUND_ADD("pokey", POKEY, XTAL_14_31818MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
MACHINE_CONFIG_END
/*-------------------------------------------------
mapper specific handlers
@ -268,10 +243,13 @@ WRITE8_MEMBER(a78_rom_pokey_device::write_40xx)
m_pokey->write(space, offset & 0x0f, data);
}
machine_config_constructor a78_rom_pokey_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a78_pokey );
}
// TO DO: do we need a PAL variant?!?
MACHINE_CONFIG_MEMBER( a78_rom_pokey_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("addon")
MCFG_SOUND_ADD("pokey", POKEY, XTAL_14_31818MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
MACHINE_CONFIG_END
/*-------------------------------------------------
@ -364,10 +342,12 @@ WRITE8_MEMBER(a78_rom_sg_pokey_device::write_40xx)
m_bank = data & m_bank_mask;
}
machine_config_constructor a78_rom_sg_pokey_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a78_pokey );
}
MACHINE_CONFIG_MEMBER( a78_rom_sg_pokey_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("addon")
MCFG_SOUND_ADD("pokey", POKEY, XTAL_14_31818MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
MACHINE_CONFIG_END
/*-------------------------------------------------
@ -517,22 +497,34 @@ WRITE8_MEMBER(a78_rom_act_device::write_40xx)
// Machine configs for PCB variants with a POKEY at $0450
machine_config_constructor a78_rom_p450_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a78_pokey450 );
}
MACHINE_CONFIG_MEMBER( a78_rom_p450_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("pokey_450")
machine_config_constructor a78_rom_p450_pokey_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a78_2pokeys );
}
MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "pokey_450", 1.00)
MACHINE_CONFIG_END
machine_config_constructor a78_rom_p450_sg_ram_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a78_pokey450 );
}
MACHINE_CONFIG_MEMBER( a78_rom_p450_pokey_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("addon")
machine_config_constructor a78_rom_p450_sg9_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a78_pokey450 );
}
MCFG_SOUND_ADD("pokey", POKEY, XTAL_14_31818MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 1.00)
MACHINE_CONFIG_END
MACHINE_CONFIG_MEMBER( a78_rom_p450_sg_ram_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("pokey_450")
MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "pokey_450", 1.00)
MACHINE_CONFIG_END
MACHINE_CONFIG_MEMBER( a78_rom_p450_sg9_device::device_add_mconfig )
MCFG_SPEAKER_STANDARD_MONO("pokey_450")
MCFG_SOUND_ADD("pokey450", POKEY, XTAL_14_31818MHz/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "pokey_450", 1.00)
MACHINE_CONFIG_END

View File

@ -38,9 +38,6 @@ public:
// construction/destruction
a78_rom_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx) override;
virtual DECLARE_WRITE8_MEMBER(write_40xx) override;
@ -48,6 +45,8 @@ public:
protected:
a78_rom_pokey_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
virtual void device_add_mconfig(machine_config &config) override;
required_device<pokey_device> m_pokey;
};
@ -100,14 +99,13 @@ public:
// construction/destruction
a78_rom_sg_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_40xx) override;
virtual DECLARE_WRITE8_MEMBER(write_40xx) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
required_device<pokey_device> m_pokey;
};
@ -198,13 +196,13 @@ public:
// construction/destruction
a78_rom_p450_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
required_device<pokey_device> m_pokey450;
};
@ -217,13 +215,13 @@ public:
// construction/destruction
a78_rom_p450_pokey_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
required_device<pokey_device> m_pokey450;
};
@ -236,13 +234,13 @@ public:
// construction/destruction
a78_rom_p450_sg_ram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
required_device<pokey_device> m_pokey450;
};
@ -255,13 +253,13 @@ public:
// construction/destruction
a78_rom_p450_sg9_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) override { if (offset >= 0x50 && offset < 0x60) return m_pokey450->read(space, offset & 0x0f); else return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_04xx) override { if (offset >= 0x50 && offset < 0x60) m_pokey450->write(space, offset & 0x0f, data); }
protected:
virtual void device_add_mconfig(machine_config &config) override;
required_device<pokey_device> m_pokey450;
};

View File

@ -106,7 +106,7 @@ void a78_xm_device::device_reset()
}
static MACHINE_CONFIG_START( a78_xb )
MACHINE_CONFIG_MEMBER( a78_xboard_device::device_add_mconfig )
MCFG_A78_CARTRIDGE_ADD("xb_slot", a7800_cart, nullptr)
MCFG_SPEAKER_STANDARD_MONO("xb_speaker")
@ -115,7 +115,7 @@ static MACHINE_CONFIG_START( a78_xb )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "xb_speaker", 1.00)
MACHINE_CONFIG_END
static MACHINE_CONFIG_START( a78_xm )
MACHINE_CONFIG_MEMBER( a78_xm_device::device_add_mconfig )
MCFG_A78_CARTRIDGE_ADD("xb_slot", a7800_cart, nullptr)
MCFG_SPEAKER_STANDARD_MONO("xb_speaker")
@ -127,15 +127,6 @@ static MACHINE_CONFIG_START( a78_xm )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "xb_speaker", 1.00)
MACHINE_CONFIG_END
machine_config_constructor a78_xboard_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a78_xb );
}
machine_config_constructor a78_xm_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( a78_xm );
}
/*-------------------------------------------------
mapper specific handlers

View File

@ -19,9 +19,6 @@ public:
// construction/destruction
a78_xboard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) override;
virtual DECLARE_WRITE8_MEMBER(write_04xx) override;
@ -33,6 +30,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<a78_cart_slot_device> m_xbslot;
required_device<pokey_device> m_pokey;
@ -48,9 +46,6 @@ public:
// construction/destruction
a78_xm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
virtual machine_config_constructor device_mconfig_additions() const override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_04xx) override;
virtual DECLARE_WRITE8_MEMBER(write_04xx) override;
@ -61,6 +56,7 @@ public:
protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<ym2151_device> m_ym;
int m_ym_enabled;

View File

@ -28,18 +28,13 @@ TODO:
DEFINE_DEVICE_TYPE(A8SIO_CASSETTE, a8sio_cassette_device, "a8sio_cass", "Atari 8 bit cassette")
const device_timer_id TIMER_CASSETTE_READ = 1;
static MACHINE_CONFIG_START( cassette )
MACHINE_CONFIG_MEMBER( a8sio_cassette_device::device_add_mconfig )
MCFG_CASSETTE_ADD("cassette")
//MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED)
MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY)
MCFG_CASSETTE_INTERFACE("atari8bit_cass")
MACHINE_CONFIG_END
machine_config_constructor a8sio_cassette_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( cassette );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************

View File

@ -29,9 +29,6 @@ public:
// construction/destruction
a8sio_cassette_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 DECLARE_WRITE_LINE_MEMBER( motor_w ) override;
protected:
@ -40,6 +37,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual void device_add_mconfig(machine_config &config) override;
required_device<cassette_image_device> m_cassette;
emu_timer *m_read_timer;