mirror of
https://github.com/holub/mame
synced 2025-04-19 23:12:11 +03:00
device_add_mconfig: a small start in devices\bus (nw)
This commit is contained in:
parent
dc7eec650a
commit
24066545bd
@ -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
|
||||
{
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
//**************************************************************************
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
//**************************************************************************
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
//**************************************************************************
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
//-------------------------------------------------
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
//**************************************************************************
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
//**************************************************************************
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
//**************************************************************************
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
//-------------------------------------------------
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
//**************************************************************************
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
//**************************************************************************
|
||||
|
@ -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];
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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 );
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
//**************************************************************************
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user