mirror of
https://github.com/holub/mame
synced 2025-06-06 21:03:47 +03:00
c64.cpp, c128.cpp: fixed CBM IEC slot address not being set when replacing devices in machine config
bus/c64/rex_ep256.cpp: fixed array of EPROM slots not being populated (subdevices don't exist at construction time) cleanup: (nw) * having a macro for a device's expected tag in a header is bad - devices should not make assumptions about their tag or their location in the system hierarchy * device types exist in the global namespace - you must not use overly generic names for them as this is likely to cause collisions * device short names and titles each have their own namespace, but they're also global, and it should be possible to work out vaguely what a device is from its names * POSIX reserves all names ending in "_t" at global scope - we want fewer of these causing potential future issues, not more * if your device is in the global namespace, you should name it in a way that's not asking for name collisions to happen * we have a simple convention for device class names - it doesn't hurt to follow it: - concrete device_t implementations end with "_device" - device_interface implementations end with "_interface" (and often start with "device_") - abstract classes that derive from device_t end with "_device_base" * if you want to give your slot card device classes short, generic names, put them in a namespace for the "bus" * if you really want to use names ending with "_t", put them in a namespace or nest them inside a class
This commit is contained in:
parent
f7e679876f
commit
ce3c38914d
@ -112,8 +112,8 @@ void abc80_cards(device_slot_interface &device)
|
|||||||
device.option_add("fd2", ABC_FD2);
|
device.option_add("fd2", ABC_FD2);
|
||||||
device.option_add("memcard", ABC_MEMORY_CARD);
|
device.option_add("memcard", ABC_MEMORY_CARD);
|
||||||
device.option_add("slow", LUXOR_55_10828);
|
device.option_add("slow", LUXOR_55_10828);
|
||||||
device.option_add("ssa", SUPER_SMARTAID);
|
device.option_add("ssa", ABC_SUPER_SMARTAID);
|
||||||
device.option_add("unidisk", UNIDISK);
|
device.option_add("unidisk", ABC_UNIDISK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ void abcbus_cards(device_slot_interface &device)
|
|||||||
device.option_add("slow", LUXOR_55_10828);
|
device.option_add("slow", LUXOR_55_10828);
|
||||||
device.option_add("slutprov", ABC_SLUTPROV);
|
device.option_add("slutprov", ABC_SLUTPROV);
|
||||||
device.option_add("uni800", ABC_UNI800);
|
device.option_add("uni800", ABC_UNI800);
|
||||||
device.option_add("unidisk", UNIDISK);
|
device.option_add("unidisk", ABC_UNIDISK);
|
||||||
device.option_add("xebec", LUXOR_55_21056);
|
device.option_add("xebec", LUXOR_55_21056);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,14 +102,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
|
||||||
// CONSTANTS
|
|
||||||
//**************************************************************************
|
|
||||||
|
|
||||||
#define ABCBUS_TAG "bus"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(DATABOARD_4112_23, databoard_4112_23_t, "db411223", "Databoard 4112-23")
|
DEFINE_DEVICE_TYPE(DATABOARD_4112_23, abc_databoard_4112_23_device, "abc_db411223", "Databoard 4112-23")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -39,7 +39,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *databoard_4112_23_t::device_rom_region() const
|
const tiny_rom_entry *abc_databoard_4112_23_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( databoard_4112_23 );
|
return ROM_NAME( databoard_4112_23 );
|
||||||
}
|
}
|
||||||
@ -49,7 +49,7 @@ const tiny_rom_entry *databoard_4112_23_t::device_rom_region() const
|
|||||||
// ADDRESS_MAP( databoard_4112_23_mem )
|
// ADDRESS_MAP( databoard_4112_23_mem )
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void databoard_4112_23_t::databoard_4112_23_mem(address_map &map)
|
void abc_databoard_4112_23_device::databoard_4112_23_mem(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x0000, 0x1fff).rom().region(Z80_TAG, 0);
|
map(0x0000, 0x1fff).rom().region(Z80_TAG, 0);
|
||||||
}
|
}
|
||||||
@ -59,7 +59,7 @@ void databoard_4112_23_t::databoard_4112_23_mem(address_map &map)
|
|||||||
// ADDRESS_MAP( databoard_4112_23_io )
|
// ADDRESS_MAP( databoard_4112_23_io )
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void databoard_4112_23_t::databoard_4112_23_io(address_map &map)
|
void abc_databoard_4112_23_device::databoard_4112_23_io(address_map &map)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,11 +68,11 @@ void databoard_4112_23_t::databoard_4112_23_io(address_map &map)
|
|||||||
// device_add_mconfig - add device configuration
|
// device_add_mconfig - add device configuration
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void databoard_4112_23_t::device_add_mconfig(machine_config &config)
|
void abc_databoard_4112_23_device::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
Z80(config, m_maincpu, 4000000);
|
Z80(config, m_maincpu, 4000000);
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &databoard_4112_23_t::databoard_4112_23_mem);
|
m_maincpu->set_addrmap(AS_PROGRAM, &abc_databoard_4112_23_device::databoard_4112_23_mem);
|
||||||
m_maincpu->set_addrmap(AS_IO, &databoard_4112_23_t::databoard_4112_23_io);
|
m_maincpu->set_addrmap(AS_IO, &abc_databoard_4112_23_device::databoard_4112_23_io);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ INPUT_PORTS_END
|
|||||||
// input_ports - device-specific input ports
|
// input_ports - device-specific input ports
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
ioport_constructor databoard_4112_23_t::device_input_ports() const
|
ioport_constructor abc_databoard_4112_23_device::device_input_ports() const
|
||||||
{
|
{
|
||||||
return INPUT_PORTS_NAME( databoard_4112_23 );
|
return INPUT_PORTS_NAME( databoard_4112_23 );
|
||||||
}
|
}
|
||||||
@ -100,10 +100,10 @@ ioport_constructor databoard_4112_23_t::device_input_ports() const
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// databoard_4112_23_t - constructor
|
// abc_databoard_4112_23_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
databoard_4112_23_t::databoard_4112_23_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
abc_databoard_4112_23_device::abc_databoard_4112_23_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
device_t(mconfig, DATABOARD_4112_23, tag, owner, clock),
|
device_t(mconfig, DATABOARD_4112_23, tag, owner, clock),
|
||||||
device_abcbus_card_interface(mconfig, *this),
|
device_abcbus_card_interface(mconfig, *this),
|
||||||
m_maincpu(*this, Z80_TAG)
|
m_maincpu(*this, Z80_TAG)
|
||||||
@ -115,7 +115,7 @@ databoard_4112_23_t::databoard_4112_23_t(const machine_config &mconfig, const ch
|
|||||||
// device_start - device-specific startup
|
// device_start - device-specific startup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void databoard_4112_23_t::device_start()
|
void abc_databoard_4112_23_device::device_start()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ void databoard_4112_23_t::device_start()
|
|||||||
// device_reset - device-specific reset
|
// device_reset - device-specific reset
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void databoard_4112_23_t::device_reset()
|
void abc_databoard_4112_23_device::device_reset()
|
||||||
{
|
{
|
||||||
m_cs = false;
|
m_cs = false;
|
||||||
}
|
}
|
||||||
@ -139,7 +139,7 @@ void databoard_4112_23_t::device_reset()
|
|||||||
// abcbus_cs -
|
// abcbus_cs -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void databoard_4112_23_t::abcbus_cs(uint8_t data)
|
void abc_databoard_4112_23_device::abcbus_cs(uint8_t data)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,7 +148,7 @@ void databoard_4112_23_t::abcbus_cs(uint8_t data)
|
|||||||
// abcbus_stat -
|
// abcbus_stat -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t databoard_4112_23_t::abcbus_stat()
|
uint8_t abc_databoard_4112_23_device::abcbus_stat()
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -164,7 +164,7 @@ uint8_t databoard_4112_23_t::abcbus_stat()
|
|||||||
// abcbus_inp -
|
// abcbus_inp -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t databoard_4112_23_t::abcbus_inp()
|
uint8_t abc_databoard_4112_23_device::abcbus_inp()
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -180,7 +180,7 @@ uint8_t databoard_4112_23_t::abcbus_inp()
|
|||||||
// abcbus_out -
|
// abcbus_out -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void databoard_4112_23_t::abcbus_out(uint8_t data)
|
void abc_databoard_4112_23_device::abcbus_out(uint8_t data)
|
||||||
{
|
{
|
||||||
if (!m_cs) return;
|
if (!m_cs) return;
|
||||||
}
|
}
|
||||||
@ -190,7 +190,7 @@ void databoard_4112_23_t::abcbus_out(uint8_t data)
|
|||||||
// abcbus_c1 -
|
// abcbus_c1 -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void databoard_4112_23_t::abcbus_c1(uint8_t data)
|
void abc_databoard_4112_23_device::abcbus_c1(uint8_t data)
|
||||||
{
|
{
|
||||||
if (m_cs)
|
if (m_cs)
|
||||||
{
|
{
|
||||||
@ -202,7 +202,7 @@ void databoard_4112_23_t::abcbus_c1(uint8_t data)
|
|||||||
// abcbus_c3 -
|
// abcbus_c3 -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void databoard_4112_23_t::abcbus_c3(uint8_t data)
|
void abc_databoard_4112_23_device::abcbus_c3(uint8_t data)
|
||||||
{
|
{
|
||||||
if (m_cs)
|
if (m_cs)
|
||||||
{
|
{
|
||||||
|
@ -20,14 +20,14 @@
|
|||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
// ======================> databoard_4112_23_t
|
// ======================> abc_databoard_4112_23_device
|
||||||
|
|
||||||
class databoard_4112_23_t : public device_t,
|
class abc_databoard_4112_23_device : public device_t,
|
||||||
public device_abcbus_card_interface
|
public device_abcbus_card_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
databoard_4112_23_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
abc_databoard_4112_23_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
@ -58,6 +58,6 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
// device type definition
|
// device type definition
|
||||||
DECLARE_DEVICE_TYPE(DATABOARD_4112_23, databoard_4112_23_t)
|
DECLARE_DEVICE_TYPE(DATABOARD_4112_23, abc_databoard_4112_23_device)
|
||||||
|
|
||||||
#endif // MAME_BUS_ABCBUS_DATABOARD_4112_23_H
|
#endif // MAME_BUS_ABCBUS_DATABOARD_4112_23_H
|
||||||
|
@ -159,8 +159,8 @@ void luxor_55_21046_device::luxor_55_21046_io(address_map &map)
|
|||||||
map(0x3c, 0x3c).mirror(0xff03).w(FUNC(luxor_55_21046_device::_9b_w));
|
map(0x3c, 0x3c).mirror(0xff03).w(FUNC(luxor_55_21046_device::_9b_w));
|
||||||
map(0x4c, 0x4c).mirror(0xff03).w(FUNC(luxor_55_21046_device::_8a_w));
|
map(0x4c, 0x4c).mirror(0xff03).w(FUNC(luxor_55_21046_device::_8a_w));
|
||||||
map(0x58, 0x58).mirror(0x0007).select(0xff00).r(FUNC(luxor_55_21046_device::_9a_r));
|
map(0x58, 0x58).mirror(0x0007).select(0xff00).r(FUNC(luxor_55_21046_device::_9a_r));
|
||||||
map(0x68, 0x6b).mirror(0xff00).r(SAB1793_TAG, FUNC(fd1793_device::read));
|
map(0x68, 0x6b).mirror(0xff00).r(m_fdc, FUNC(fd1793_device::read));
|
||||||
map(0x78, 0x7b).mirror(0xff00).w(SAB1793_TAG, FUNC(fd1793_device::write));
|
map(0x78, 0x7b).mirror(0xff00).w(m_fdc, FUNC(fd1793_device::write));
|
||||||
map(0x80, 0x80).mirror(0xff77).rw(m_dma, FUNC(z80dma_device::bus_r), FUNC(z80dma_device::bus_w));
|
map(0x80, 0x80).mirror(0xff77).rw(m_dma, FUNC(z80dma_device::bus_r), FUNC(z80dma_device::bus_w));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,14 +17,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
|
||||||
// MACROS / CONSTANTS
|
|
||||||
//**************************************************************************
|
|
||||||
|
|
||||||
#define LUXOR_4105_TAG "luxor_4105"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
@ -63,7 +63,7 @@ Notes:
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(ABC_MEMORY_CARD, abc_memory_card_device, "abc_mem", "ABC Memory Card")
|
DEFINE_DEVICE_TYPE(ABC_MEMORY_CARD, abc_memory_card_device, "abc_memcard", "ABC Memory Card")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -35,7 +35,7 @@ protected:
|
|||||||
virtual void device_start() override;
|
virtual void device_start() override;
|
||||||
|
|
||||||
// device_abcbus_interface overrides
|
// device_abcbus_interface overrides
|
||||||
virtual void abcbus_cs(uint8_t data) override { };
|
virtual void abcbus_cs(uint8_t data) override { }
|
||||||
virtual uint8_t abcbus_xmemfl(offs_t offset) override;
|
virtual uint8_t abcbus_xmemfl(offs_t offset) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(ABC_SLUTPROV, abc_slutprov_device, "slutprov", "Slutprov")
|
DEFINE_DEVICE_TYPE(ABC_SLUTPROV, abc_slutprov_device, "abc_slutprov", "Slutprov")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -65,16 +65,16 @@ Notes:
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(SUPER_SMARTAID, super_smartaid_t, "ssa", "Super Smartaid")
|
DEFINE_DEVICE_TYPE(ABC_SUPER_SMARTAID, abc_super_smartaid_device, "abc_ssa", "Super Smartaid")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// device_add_mconfig - add device configuration
|
// device_add_mconfig - add device configuration
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void super_smartaid_t::device_add_mconfig(machine_config &config)
|
void abc_super_smartaid_device::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
ABCBUS_SLOT(config, ABCBUS_TAG, DERIVED_CLOCK(1, 1), abc80_cards, nullptr);
|
ABCBUS_SLOT(config, m_bus, DERIVED_CLOCK(1, 1), abc80_cards, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -98,7 +98,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *super_smartaid_t::device_rom_region() const
|
const tiny_rom_entry *abc_super_smartaid_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( super_smartaid );
|
return ROM_NAME( super_smartaid );
|
||||||
}
|
}
|
||||||
@ -110,14 +110,14 @@ const tiny_rom_entry *super_smartaid_t::device_rom_region() const
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// super_smartaid_t - constructor
|
// abc_super_smartaid_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
super_smartaid_t::super_smartaid_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
abc_super_smartaid_device::abc_super_smartaid_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
device_t(mconfig, SUPER_SMARTAID, tag, owner, clock),
|
device_t(mconfig, ABC_SUPER_SMARTAID, tag, owner, clock),
|
||||||
device_abcbus_card_interface(mconfig, *this),
|
device_abcbus_card_interface(mconfig, *this),
|
||||||
device_nvram_interface(mconfig, *this),
|
device_nvram_interface(mconfig, *this),
|
||||||
m_bus(*this, ABCBUS_TAG),
|
m_bus(*this, "bus"),
|
||||||
m_rom_1(*this, "ssa1"),
|
m_rom_1(*this, "ssa1"),
|
||||||
m_rom_2(*this, "ssa2"),
|
m_rom_2(*this, "ssa2"),
|
||||||
m_prom(*this, "ssa3"),
|
m_prom(*this, "ssa3"),
|
||||||
@ -132,7 +132,7 @@ super_smartaid_t::super_smartaid_t(const machine_config &mconfig, const char *ta
|
|||||||
// device_start - device-specific startup
|
// device_start - device-specific startup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void super_smartaid_t::device_start()
|
void abc_super_smartaid_device::device_start()
|
||||||
{
|
{
|
||||||
// descramble ROMs
|
// descramble ROMs
|
||||||
for (offs_t i = 0; i < 0x800; i++)
|
for (offs_t i = 0; i < 0x800; i++)
|
||||||
@ -157,7 +157,7 @@ void super_smartaid_t::device_start()
|
|||||||
// device_reset - device-specific reset
|
// device_reset - device-specific reset
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void super_smartaid_t::device_reset()
|
void abc_super_smartaid_device::device_reset()
|
||||||
{
|
{
|
||||||
m_rom_bank = 0;
|
m_rom_bank = 0;
|
||||||
m_prom_bank = 0;
|
m_prom_bank = 0;
|
||||||
@ -173,7 +173,7 @@ void super_smartaid_t::device_reset()
|
|||||||
// abcbus_xmemfl -
|
// abcbus_xmemfl -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t super_smartaid_t::abcbus_xmemfl(offs_t offset)
|
uint8_t abc_super_smartaid_device::abcbus_xmemfl(offs_t offset)
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -204,7 +204,7 @@ uint8_t super_smartaid_t::abcbus_xmemfl(offs_t offset)
|
|||||||
// abcbus_xmemw -
|
// abcbus_xmemw -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void super_smartaid_t::abcbus_xmemw(offs_t offset, uint8_t data)
|
void abc_super_smartaid_device::abcbus_xmemw(offs_t offset, uint8_t data)
|
||||||
{
|
{
|
||||||
if ((offset == 0x4040) || (offset == 0x4041))
|
if ((offset == 0x4040) || (offset == 0x4041))
|
||||||
{
|
{
|
||||||
|
@ -20,15 +20,15 @@
|
|||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
// ======================> super_smartaid_t
|
// ======================> abc_super_smartaid_device
|
||||||
|
|
||||||
class super_smartaid_t : public device_t,
|
class abc_super_smartaid_device : public device_t,
|
||||||
public device_abcbus_card_interface,
|
public device_abcbus_card_interface,
|
||||||
public device_nvram_interface
|
public device_nvram_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
super_smartaid_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
abc_super_smartaid_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
@ -68,6 +68,6 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
// device type definition
|
// device type definition
|
||||||
DECLARE_DEVICE_TYPE(SUPER_SMARTAID, super_smartaid_t)
|
DECLARE_DEVICE_TYPE(ABC_SUPER_SMARTAID, abc_super_smartaid_device)
|
||||||
|
|
||||||
#endif // MAME_BUS_ABCBUS_SSA_H
|
#endif // MAME_BUS_ABCBUS_SSA_H
|
||||||
|
@ -40,7 +40,7 @@ Notes:
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(ABC_UNI800, abc_uni800_device, "uni800", "UNI-800")
|
DEFINE_DEVICE_TYPE(ABC_UNI800, abc_uni800_device, "abc_uni800", "UNI-800")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(UNIDISK, unidisk_t, "unidisk", "MyAB UNI DISK")
|
DEFINE_DEVICE_TYPE(ABC_UNIDISK, abc_unidisk_device, "abc_unidisk", "MyAB UNI DISK")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -44,7 +44,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *unidisk_t::device_rom_region() const
|
const tiny_rom_entry *abc_unidisk_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( unidisk );
|
return ROM_NAME( unidisk );
|
||||||
}
|
}
|
||||||
@ -54,7 +54,7 @@ const tiny_rom_entry *unidisk_t::device_rom_region() const
|
|||||||
// ADDRESS_MAP( unidisk_mem )
|
// ADDRESS_MAP( unidisk_mem )
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void unidisk_t::unidisk_mem(address_map &map)
|
void abc_unidisk_device::unidisk_mem(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x0000, 0x0fff).rom().region(TMS9995_TAG, 0);
|
map(0x0000, 0x0fff).rom().region(TMS9995_TAG, 0);
|
||||||
}
|
}
|
||||||
@ -64,7 +64,7 @@ void unidisk_t::unidisk_mem(address_map &map)
|
|||||||
// ADDRESS_MAP( unidisk_io )
|
// ADDRESS_MAP( unidisk_io )
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void unidisk_t::unidisk_io(address_map &map)
|
void abc_unidisk_device::unidisk_io(address_map &map)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,11 +73,11 @@ void unidisk_t::unidisk_io(address_map &map)
|
|||||||
// device_add_mconfig - add device configuration
|
// device_add_mconfig - add device configuration
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void unidisk_t::device_add_mconfig(machine_config &config)
|
void abc_unidisk_device::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
TMS9995(config, m_maincpu, 12000000);
|
TMS9995(config, m_maincpu, 12000000);
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &unidisk_t::unidisk_mem);
|
m_maincpu->set_addrmap(AS_PROGRAM, &abc_unidisk_device::unidisk_mem);
|
||||||
m_maincpu->set_addrmap(AS_IO, &unidisk_t::unidisk_io);
|
m_maincpu->set_addrmap(AS_IO, &abc_unidisk_device::unidisk_io);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ INPUT_PORTS_END
|
|||||||
// input_ports - device-specific input ports
|
// input_ports - device-specific input ports
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
ioport_constructor unidisk_t::device_input_ports() const
|
ioport_constructor abc_unidisk_device::device_input_ports() const
|
||||||
{
|
{
|
||||||
return INPUT_PORTS_NAME( unidisk );
|
return INPUT_PORTS_NAME( unidisk );
|
||||||
}
|
}
|
||||||
@ -105,11 +105,11 @@ ioport_constructor unidisk_t::device_input_ports() const
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// unidisk_t - constructor
|
// abc_unidisk_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
unidisk_t::unidisk_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
abc_unidisk_device::abc_unidisk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
device_t(mconfig, UNIDISK, tag, owner, clock),
|
device_t(mconfig, ABC_UNIDISK, tag, owner, clock),
|
||||||
device_abcbus_card_interface(mconfig, *this),
|
device_abcbus_card_interface(mconfig, *this),
|
||||||
m_maincpu(*this, TMS9995_TAG)
|
m_maincpu(*this, TMS9995_TAG)
|
||||||
{
|
{
|
||||||
@ -120,7 +120,7 @@ unidisk_t::unidisk_t(const machine_config &mconfig, const char *tag, device_t *o
|
|||||||
// device_start - device-specific startup
|
// device_start - device-specific startup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void unidisk_t::device_start()
|
void abc_unidisk_device::device_start()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ void unidisk_t::device_start()
|
|||||||
// device_reset - device-specific reset
|
// device_reset - device-specific reset
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void unidisk_t::device_reset()
|
void abc_unidisk_device::device_reset()
|
||||||
{
|
{
|
||||||
m_cs = false;
|
m_cs = false;
|
||||||
}
|
}
|
||||||
@ -144,7 +144,7 @@ void unidisk_t::device_reset()
|
|||||||
// abcbus_cs -
|
// abcbus_cs -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void unidisk_t::abcbus_cs(uint8_t data)
|
void abc_unidisk_device::abcbus_cs(uint8_t data)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,7 +153,7 @@ void unidisk_t::abcbus_cs(uint8_t data)
|
|||||||
// abcbus_stat -
|
// abcbus_stat -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t unidisk_t::abcbus_stat()
|
uint8_t abc_unidisk_device::abcbus_stat()
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ uint8_t unidisk_t::abcbus_stat()
|
|||||||
// abcbus_inp -
|
// abcbus_inp -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t unidisk_t::abcbus_inp()
|
uint8_t abc_unidisk_device::abcbus_inp()
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -185,7 +185,7 @@ uint8_t unidisk_t::abcbus_inp()
|
|||||||
// abcbus_out -
|
// abcbus_out -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void unidisk_t::abcbus_out(uint8_t data)
|
void abc_unidisk_device::abcbus_out(uint8_t data)
|
||||||
{
|
{
|
||||||
if (!m_cs) return;
|
if (!m_cs) return;
|
||||||
}
|
}
|
||||||
@ -195,7 +195,7 @@ void unidisk_t::abcbus_out(uint8_t data)
|
|||||||
// abcbus_c1 -
|
// abcbus_c1 -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void unidisk_t::abcbus_c1(uint8_t data)
|
void abc_unidisk_device::abcbus_c1(uint8_t data)
|
||||||
{
|
{
|
||||||
if (m_cs)
|
if (m_cs)
|
||||||
{
|
{
|
||||||
@ -207,7 +207,7 @@ void unidisk_t::abcbus_c1(uint8_t data)
|
|||||||
// abcbus_c3 -
|
// abcbus_c3 -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void unidisk_t::abcbus_c3(uint8_t data)
|
void abc_unidisk_device::abcbus_c3(uint8_t data)
|
||||||
{
|
{
|
||||||
if (m_cs)
|
if (m_cs)
|
||||||
{
|
{
|
||||||
|
@ -20,14 +20,14 @@
|
|||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
// ======================> unidisk_t
|
// ======================> abc_unidisk_device
|
||||||
|
|
||||||
class unidisk_t : public device_t,
|
class abc_unidisk_device : public device_t,
|
||||||
public device_abcbus_card_interface
|
public device_abcbus_card_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
unidisk_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
abc_unidisk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
@ -58,6 +58,6 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
// device type definition
|
// device type definition
|
||||||
DECLARE_DEVICE_TYPE(UNIDISK, unidisk_t)
|
DECLARE_DEVICE_TYPE(ABC_UNIDISK, abc_unidisk_device)
|
||||||
|
|
||||||
#endif // MAME_BUS_ABCBUS_UNIDISK_H
|
#endif // MAME_BUS_ABCBUS_UNIDISK_H
|
||||||
|
@ -24,8 +24,7 @@
|
|||||||
|
|
||||||
// ======================> c64_16kb_cartridge_device
|
// ======================> c64_16kb_cartridge_device
|
||||||
|
|
||||||
class c64_16kb_cartridge_device : public device_t,
|
class c64_16kb_cartridge_device : public device_t, public device_c64_expansion_card_interface
|
||||||
public device_c64_expansion_card_interface
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
|
@ -22,8 +22,7 @@
|
|||||||
|
|
||||||
// ======================> c64_4dxh_device
|
// ======================> c64_4dxh_device
|
||||||
|
|
||||||
class c64_4dxh_device : public device_t,
|
class c64_4dxh_device : public device_t, public device_pet_user_port_interface
|
||||||
public device_pet_user_port_interface
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
|
@ -22,8 +22,7 @@
|
|||||||
|
|
||||||
// ======================> c64_4ksa_device
|
// ======================> c64_4ksa_device
|
||||||
|
|
||||||
class c64_4ksa_device : public device_t,
|
class c64_4ksa_device : public device_t, public device_pet_user_port_interface
|
||||||
public device_pet_user_port_interface
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
|
@ -22,8 +22,7 @@
|
|||||||
|
|
||||||
// ======================> c64_4tba_device
|
// ======================> c64_4tba_device
|
||||||
|
|
||||||
class c64_4tba_device : public device_t,
|
class c64_4tba_device : public device_t, public device_pet_user_port_interface
|
||||||
public device_pet_user_port_interface
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
|
@ -15,23 +15,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
|
||||||
// MACROS/CONSTANTS
|
|
||||||
//**************************************************************************
|
|
||||||
|
|
||||||
#define I8255_TAG "u2"
|
|
||||||
#define DS75160A_TAG "u3"
|
|
||||||
#define DS75161A_TAG "u4"
|
|
||||||
#define CENTRONICS_TAG "p4"
|
|
||||||
#define EXPANSION_TAG "exp"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(C64_BUSCARD, buscard_t, "c64_buscard", "C64 BusCard cartridge")
|
DEFINE_DEVICE_TYPE(C64_BUSCARD, c64_buscard_device, "c64_buscard", "C64 BusCard cartridge")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -51,7 +39,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *buscard_t::device_rom_region() const
|
const tiny_rom_entry *c64_buscard_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( buscard );
|
return ROM_NAME( buscard );
|
||||||
}
|
}
|
||||||
@ -93,7 +81,7 @@ INPUT_PORTS_END
|
|||||||
// input_ports - device-specific input ports
|
// input_ports - device-specific input ports
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
ioport_constructor buscard_t::device_input_ports() const
|
ioport_constructor c64_buscard_device::device_input_ports() const
|
||||||
{
|
{
|
||||||
return INPUT_PORTS_NAME( buscard );
|
return INPUT_PORTS_NAME( buscard );
|
||||||
}
|
}
|
||||||
@ -103,7 +91,7 @@ ioport_constructor buscard_t::device_input_ports() const
|
|||||||
// PPI interface
|
// PPI interface
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
READ8_MEMBER( buscard_t::ppi_pa_r )
|
READ8_MEMBER( c64_buscard_device::ppi_pa_r )
|
||||||
{
|
{
|
||||||
uint8_t data = 0xff;
|
uint8_t data = 0xff;
|
||||||
|
|
||||||
@ -120,7 +108,7 @@ READ8_MEMBER( buscard_t::ppi_pa_r )
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER( buscard_t::ppi_pa_w )
|
WRITE8_MEMBER( c64_buscard_device::ppi_pa_w )
|
||||||
{
|
{
|
||||||
m_ieee1->write(space, 0, data);
|
m_ieee1->write(space, 0, data);
|
||||||
|
|
||||||
@ -134,7 +122,7 @@ WRITE8_MEMBER( buscard_t::ppi_pa_w )
|
|||||||
m_centronics->write_data7(BIT(data, 7));
|
m_centronics->write_data7(BIT(data, 7));
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER( buscard_t::ppi_pb_w )
|
WRITE8_MEMBER( c64_buscard_device::ppi_pb_w )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@ -159,7 +147,7 @@ WRITE8_MEMBER( buscard_t::ppi_pb_w )
|
|||||||
m_dipsw = BIT(data, 7);
|
m_dipsw = BIT(data, 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER( buscard_t::ppi_pc_r )
|
READ8_MEMBER( c64_buscard_device::ppi_pc_r )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@ -189,7 +177,7 @@ READ8_MEMBER( buscard_t::ppi_pc_r )
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER( buscard_t::ppi_pc_w )
|
WRITE8_MEMBER( c64_buscard_device::ppi_pc_w )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@ -222,7 +210,7 @@ WRITE8_MEMBER( buscard_t::ppi_pc_w )
|
|||||||
// Centronics interface
|
// Centronics interface
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
WRITE_LINE_MEMBER( buscard_t::busy_w )
|
WRITE_LINE_MEMBER( c64_buscard_device::busy_w )
|
||||||
{
|
{
|
||||||
m_busy = state;
|
m_busy = state;
|
||||||
}
|
}
|
||||||
@ -232,15 +220,15 @@ WRITE_LINE_MEMBER( buscard_t::busy_w )
|
|||||||
// device_add_mconfig - add device configuration
|
// device_add_mconfig - add device configuration
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void buscard_t::device_add_mconfig(machine_config &config)
|
void c64_buscard_device::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
I8255A(config, m_ppi, 0);
|
I8255A(config, m_ppi, 0);
|
||||||
m_ppi->in_pa_callback().set(FUNC(buscard_t::ppi_pa_r));
|
m_ppi->in_pa_callback().set(FUNC(c64_buscard_device::ppi_pa_r));
|
||||||
m_ppi->out_pa_callback().set(FUNC(buscard_t::ppi_pa_w));
|
m_ppi->out_pa_callback().set(FUNC(c64_buscard_device::ppi_pa_w));
|
||||||
m_ppi->in_pb_callback().set_constant(0xff);
|
m_ppi->in_pb_callback().set_constant(0xff);
|
||||||
m_ppi->out_pb_callback().set(FUNC(buscard_t::ppi_pb_w));
|
m_ppi->out_pb_callback().set(FUNC(c64_buscard_device::ppi_pb_w));
|
||||||
m_ppi->in_pc_callback().set(FUNC(buscard_t::ppi_pc_r));
|
m_ppi->in_pc_callback().set(FUNC(c64_buscard_device::ppi_pc_r));
|
||||||
m_ppi->out_pc_callback().set(FUNC(buscard_t::ppi_pc_w));
|
m_ppi->out_pc_callback().set(FUNC(c64_buscard_device::ppi_pc_w));
|
||||||
|
|
||||||
DS75160A(config, m_ieee1, 0);
|
DS75160A(config, m_ieee1, 0);
|
||||||
m_ieee1->read_callback().set(IEEE488_TAG, FUNC(ieee488_device::dio_r));
|
m_ieee1->read_callback().set(IEEE488_TAG, FUNC(ieee488_device::dio_r));
|
||||||
@ -268,7 +256,7 @@ void buscard_t::device_add_mconfig(machine_config &config)
|
|||||||
ieee488_slot_device::add_cbm_defaults(config, nullptr);
|
ieee488_slot_device::add_cbm_defaults(config, nullptr);
|
||||||
|
|
||||||
CENTRONICS(config, m_centronics, centronics_devices, nullptr);
|
CENTRONICS(config, m_centronics, centronics_devices, nullptr);
|
||||||
m_centronics->busy_handler().set(FUNC(buscard_t::busy_w));
|
m_centronics->busy_handler().set(FUNC(c64_buscard_device::busy_w));
|
||||||
|
|
||||||
C64_EXPANSION_SLOT(config, m_exp, DERIVED_CLOCK(1, 1), c64_expansion_cards, nullptr);
|
C64_EXPANSION_SLOT(config, m_exp, DERIVED_CLOCK(1, 1), c64_expansion_cards, nullptr);
|
||||||
m_exp->set_passthrough();
|
m_exp->set_passthrough();
|
||||||
@ -281,18 +269,18 @@ void buscard_t::device_add_mconfig(machine_config &config)
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// buscard_t - constructor
|
// c64_buscard_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
buscard_t::buscard_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
c64_buscard_device::c64_buscard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
device_t(mconfig, C64_BUSCARD, tag, owner, clock),
|
device_t(mconfig, C64_BUSCARD, tag, owner, clock),
|
||||||
device_c64_expansion_card_interface(mconfig, *this),
|
device_c64_expansion_card_interface(mconfig, *this),
|
||||||
m_ppi(*this, I8255_TAG),
|
m_ppi(*this, "u2"),
|
||||||
m_ieee1(*this, DS75160A_TAG),
|
m_ieee1(*this, "u3"),
|
||||||
m_ieee2(*this, DS75161A_TAG),
|
m_ieee2(*this, "u4"),
|
||||||
m_bus(*this, IEEE488_TAG),
|
m_bus(*this, IEEE488_TAG),
|
||||||
m_centronics(*this, CENTRONICS_TAG),
|
m_centronics(*this, "p4"),
|
||||||
m_exp(*this, EXPANSION_TAG),
|
m_exp(*this, "exp"),
|
||||||
m_s1(*this, "S1"),
|
m_s1(*this, "S1"),
|
||||||
m_rom(*this, "rom"),
|
m_rom(*this, "rom"),
|
||||||
m_te(1),
|
m_te(1),
|
||||||
@ -308,7 +296,7 @@ buscard_t::buscard_t(const machine_config &mconfig, const char *tag, device_t *o
|
|||||||
// device_start - device-specific startup
|
// device_start - device-specific startup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void buscard_t::device_start()
|
void c64_buscard_device::device_start()
|
||||||
{
|
{
|
||||||
m_ieee1->pe_w(0);
|
m_ieee1->pe_w(0);
|
||||||
m_ieee2->dc_w(0);
|
m_ieee2->dc_w(0);
|
||||||
@ -326,7 +314,7 @@ void buscard_t::device_start()
|
|||||||
// device_reset - device-specific reset
|
// device_reset - device-specific reset
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void buscard_t::device_reset()
|
void c64_buscard_device::device_reset()
|
||||||
{
|
{
|
||||||
m_ppi->reset();
|
m_ppi->reset();
|
||||||
|
|
||||||
@ -339,7 +327,7 @@ void buscard_t::device_reset()
|
|||||||
// c64_cd_r - cartridge data read
|
// c64_cd_r - cartridge data read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t buscard_t::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
|
uint8_t c64_buscard_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
|
||||||
{
|
{
|
||||||
int cs = BIT(offset, 6) && BIT(offset, 7);
|
int cs = BIT(offset, 6) && BIT(offset, 7);
|
||||||
|
|
||||||
@ -376,7 +364,7 @@ uint8_t buscard_t::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int
|
|||||||
// c64_cd_w - cartridge data write
|
// c64_cd_w - cartridge data write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void buscard_t::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
|
void c64_buscard_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
|
||||||
{
|
{
|
||||||
int cs = BIT(offset, 6) && BIT(offset, 7);
|
int cs = BIT(offset, 6) && BIT(offset, 7);
|
||||||
|
|
||||||
@ -393,7 +381,7 @@ void buscard_t::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int rom
|
|||||||
// c64_game_r - cartridge GAME read
|
// c64_game_r - cartridge GAME read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
int buscard_t::c64_game_r(offs_t offset, int sphi2, int ba, int rw)
|
int c64_buscard_device::c64_game_r(offs_t offset, int sphi2, int ba, int rw)
|
||||||
{
|
{
|
||||||
return pd_pgm1(offset, sphi2) & m_exp->game_r(offset, sphi2, ba, rw, m_slot->loram(), m_slot->hiram());
|
return pd_pgm1(offset, sphi2) & m_exp->game_r(offset, sphi2, ba, rw, m_slot->loram(), m_slot->hiram());
|
||||||
}
|
}
|
||||||
@ -403,7 +391,7 @@ int buscard_t::c64_game_r(offs_t offset, int sphi2, int ba, int rw)
|
|||||||
// c64_exrom_r - cartridge EXROM read
|
// c64_exrom_r - cartridge EXROM read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
int buscard_t::c64_exrom_r(offs_t offset, int sphi2, int ba, int rw)
|
int c64_buscard_device::c64_exrom_r(offs_t offset, int sphi2, int ba, int rw)
|
||||||
{
|
{
|
||||||
return (!pd_pgm1(offset, sphi2)) | m_exp->exrom_r(offset, sphi2, ba, rw, m_slot->loram(), m_slot->hiram());
|
return (!pd_pgm1(offset, sphi2)) | m_exp->exrom_r(offset, sphi2, ba, rw, m_slot->loram(), m_slot->hiram());
|
||||||
}
|
}
|
||||||
@ -413,7 +401,7 @@ int buscard_t::c64_exrom_r(offs_t offset, int sphi2, int ba, int rw)
|
|||||||
// pd_pgm1 - ROM 1 enable
|
// pd_pgm1 - ROM 1 enable
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
bool buscard_t::pd_pgm1(offs_t offset, int sphi2)
|
bool c64_buscard_device::pd_pgm1(offs_t offset, int sphi2)
|
||||||
{
|
{
|
||||||
if (sphi2 && m_slot->hiram())
|
if (sphi2 && m_slot->hiram())
|
||||||
{
|
{
|
||||||
@ -436,7 +424,7 @@ bool buscard_t::pd_pgm1(offs_t offset, int sphi2)
|
|||||||
// pd_pgm234 - ROM 2/3/4 enable
|
// pd_pgm234 - ROM 2/3/4 enable
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
bool buscard_t::pd_pgm234(offs_t offset, int sphi2, int bank)
|
bool c64_buscard_device::pd_pgm234(offs_t offset, int sphi2, int bank)
|
||||||
{
|
{
|
||||||
return !(sphi2 && m_slot->hiram() && m_slot->loram() && offset >= 0xa000 && offset < 0xc000 && m_basic && (m_bank == bank));
|
return !(sphi2 && m_slot->hiram() && m_slot->loram() && offset >= 0xa000 && offset < 0xc000 && m_basic && (m_bank == bank));
|
||||||
}
|
}
|
||||||
|
@ -27,12 +27,12 @@
|
|||||||
|
|
||||||
// ======================> buscard_t
|
// ======================> buscard_t
|
||||||
|
|
||||||
class buscard_t : public device_t,
|
class c64_buscard_device : public device_t,
|
||||||
public device_c64_expansion_card_interface
|
public device_c64_expansion_card_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
buscard_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
c64_buscard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
@ -79,7 +79,7 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
// device type definition
|
// device type definition
|
||||||
DECLARE_DEVICE_TYPE(C64_BUSCARD, buscard_t)
|
DECLARE_DEVICE_TYPE(C64_BUSCARD, c64_buscard_device)
|
||||||
|
|
||||||
|
|
||||||
#endif // MAME_BUS_C64_BUSCARD_H
|
#endif // MAME_BUS_C64_BUSCARD_H
|
||||||
|
@ -15,22 +15,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
|
||||||
// MACROS/CONSTANTS
|
|
||||||
//**************************************************************************
|
|
||||||
|
|
||||||
#define R6532_TAG "riot"
|
|
||||||
#define MC6821_TAG "pia"
|
|
||||||
#define CENTRONICS_TAG "centronics"
|
|
||||||
#define EXPANSION_TAG "exp"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(C64_BUSCARD2, buscard2_t, "c64_buscard2", "C64 BusCard II cartridge")
|
DEFINE_DEVICE_TYPE(C64_BUSCARD2, c64_buscard2_device, "c64_buscard2", "C64 BusCard II cartridge")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -52,7 +41,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *buscard2_t::device_rom_region() const
|
const tiny_rom_entry *c64_buscard2_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( buscard2 );
|
return ROM_NAME( buscard2 );
|
||||||
}
|
}
|
||||||
@ -94,7 +83,7 @@ INPUT_PORTS_END
|
|||||||
// input_ports - device-specific input ports
|
// input_ports - device-specific input ports
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
ioport_constructor buscard2_t::device_input_ports() const
|
ioport_constructor c64_buscard2_device::device_input_ports() const
|
||||||
{
|
{
|
||||||
return INPUT_PORTS_NAME( buscard2 );
|
return INPUT_PORTS_NAME( buscard2 );
|
||||||
}
|
}
|
||||||
@ -104,7 +93,7 @@ ioport_constructor buscard2_t::device_input_ports() const
|
|||||||
// Centronics interface
|
// Centronics interface
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
WRITE_LINE_MEMBER( buscard2_t::busy_w )
|
WRITE_LINE_MEMBER( c64_buscard2_device::busy_w )
|
||||||
{
|
{
|
||||||
m_busy = state;
|
m_busy = state;
|
||||||
}
|
}
|
||||||
@ -114,7 +103,7 @@ WRITE_LINE_MEMBER( buscard2_t::busy_w )
|
|||||||
// device_add_mconfig - add device configuration
|
// device_add_mconfig - add device configuration
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void buscard2_t::device_add_mconfig(machine_config &config)
|
void c64_buscard2_device::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
RIOT6532(config, m_riot, 0);
|
RIOT6532(config, m_riot, 0);
|
||||||
|
|
||||||
@ -124,7 +113,7 @@ void buscard2_t::device_add_mconfig(machine_config &config)
|
|||||||
ieee488_slot_device::add_cbm_defaults(config, nullptr);
|
ieee488_slot_device::add_cbm_defaults(config, nullptr);
|
||||||
|
|
||||||
CENTRONICS(config, m_centronics, centronics_devices, nullptr);
|
CENTRONICS(config, m_centronics, centronics_devices, nullptr);
|
||||||
m_centronics->busy_handler().set(FUNC(buscard2_t::busy_w));
|
m_centronics->busy_handler().set(FUNC(c64_buscard2_device::busy_w));
|
||||||
|
|
||||||
C64_EXPANSION_SLOT(config, m_exp, DERIVED_CLOCK(1, 1), c64_expansion_cards, nullptr);
|
C64_EXPANSION_SLOT(config, m_exp, DERIVED_CLOCK(1, 1), c64_expansion_cards, nullptr);
|
||||||
m_exp->set_passthrough();
|
m_exp->set_passthrough();
|
||||||
@ -137,17 +126,17 @@ void buscard2_t::device_add_mconfig(machine_config &config)
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// buscard2_t - constructor
|
// c64_buscard2_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
buscard2_t::buscard2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
c64_buscard2_device::c64_buscard2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
device_t(mconfig, C64_BUSCARD2, tag, owner, clock),
|
device_t(mconfig, C64_BUSCARD2, tag, owner, clock),
|
||||||
device_c64_expansion_card_interface(mconfig, *this),
|
device_c64_expansion_card_interface(mconfig, *this),
|
||||||
m_riot(*this, R6532_TAG),
|
m_riot(*this, "riot"),
|
||||||
m_pia(*this, MC6821_TAG),
|
m_pia(*this, "pia"),
|
||||||
m_bus(*this, IEEE488_TAG),
|
m_bus(*this, IEEE488_TAG),
|
||||||
m_centronics(*this, CENTRONICS_TAG),
|
m_centronics(*this, "centronics"),
|
||||||
m_exp(*this, EXPANSION_TAG),
|
m_exp(*this, "exp"),
|
||||||
m_s1(*this, "S1"),
|
m_s1(*this, "S1"),
|
||||||
m_rom(*this, "rom"),
|
m_rom(*this, "rom"),
|
||||||
m_prom(*this, "prom"),
|
m_prom(*this, "prom"),
|
||||||
@ -160,7 +149,7 @@ buscard2_t::buscard2_t(const machine_config &mconfig, const char *tag, device_t
|
|||||||
// device_start - device-specific startup
|
// device_start - device-specific startup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void buscard2_t::device_start()
|
void c64_buscard2_device::device_start()
|
||||||
{
|
{
|
||||||
// state saving
|
// state saving
|
||||||
save_item(NAME(m_busy));
|
save_item(NAME(m_busy));
|
||||||
@ -171,7 +160,7 @@ void buscard2_t::device_start()
|
|||||||
// device_reset - device-specific reset
|
// device_reset - device-specific reset
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void buscard2_t::device_reset()
|
void c64_buscard2_device::device_reset()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -180,7 +169,7 @@ void buscard2_t::device_reset()
|
|||||||
// c64_cd_r - cartridge data read
|
// c64_cd_r - cartridge data read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t buscard2_t::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
|
uint8_t c64_buscard2_device::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
|
||||||
{
|
{
|
||||||
return m_exp->cd_r(offset, data, sphi2, ba, roml, romh, io1, io2);
|
return m_exp->cd_r(offset, data, sphi2, ba, roml, romh, io1, io2);
|
||||||
}
|
}
|
||||||
@ -190,7 +179,7 @@ uint8_t buscard2_t::c64_cd_r(offs_t offset, uint8_t data, int sphi2, int ba, int
|
|||||||
// c64_cd_w - cartridge data write
|
// c64_cd_w - cartridge data write
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void buscard2_t::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
|
void c64_buscard2_device::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2)
|
||||||
{
|
{
|
||||||
m_exp->cd_w(offset, data, sphi2, ba, roml, romh, io1, io2);
|
m_exp->cd_w(offset, data, sphi2, ba, roml, romh, io1, io2);
|
||||||
}
|
}
|
||||||
@ -200,7 +189,7 @@ void buscard2_t::c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int ro
|
|||||||
// c64_game_r - cartridge GAME read
|
// c64_game_r - cartridge GAME read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
int buscard2_t::c64_game_r(offs_t offset, int sphi2, int ba, int rw)
|
int c64_buscard2_device::c64_game_r(offs_t offset, int sphi2, int ba, int rw)
|
||||||
{
|
{
|
||||||
return m_exp->game_r(offset, sphi2, ba, rw, m_slot->loram(), m_slot->hiram());
|
return m_exp->game_r(offset, sphi2, ba, rw, m_slot->loram(), m_slot->hiram());
|
||||||
}
|
}
|
||||||
@ -210,7 +199,7 @@ int buscard2_t::c64_game_r(offs_t offset, int sphi2, int ba, int rw)
|
|||||||
// c64_exrom_r - cartridge EXROM read
|
// c64_exrom_r - cartridge EXROM read
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
int buscard2_t::c64_exrom_r(offs_t offset, int sphi2, int ba, int rw)
|
int c64_buscard2_device::c64_exrom_r(offs_t offset, int sphi2, int ba, int rw)
|
||||||
{
|
{
|
||||||
return m_exp->exrom_r(offset, sphi2, ba, rw, m_slot->loram(), m_slot->hiram());
|
return m_exp->exrom_r(offset, sphi2, ba, rw, m_slot->loram(), m_slot->hiram());
|
||||||
}
|
}
|
||||||
|
@ -24,14 +24,14 @@
|
|||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
// ======================> buscard2_t
|
// ======================> c64_buscard2_device
|
||||||
|
|
||||||
class buscard2_t : public device_t,
|
class c64_buscard2_device : public device_t,
|
||||||
public device_c64_expansion_card_interface
|
public device_c64_expansion_card_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
buscard2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
c64_buscard2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
@ -66,7 +66,7 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
// device type definition
|
// device type definition
|
||||||
DECLARE_DEVICE_TYPE(C64_BUSCARD2, buscard2_t)
|
DECLARE_DEVICE_TYPE(C64_BUSCARD2, c64_buscard2_device)
|
||||||
|
|
||||||
|
|
||||||
#endif // MAME_BUS_C64_BUSCARD_H
|
#endif // MAME_BUS_C64_BUSCARD_H
|
||||||
|
@ -76,7 +76,7 @@ Notes:
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(C64_CURRAH_SPEECH, c64_currah_speech_cartridge_device, "c64_cs", "C64 Currah Speech")
|
DEFINE_DEVICE_TYPE(C64_CURRAH_SPEECH, c64_currah_speech_cartridge_device, "c64_cspeech", "C64 Currah Speech")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(C64_DELA_EP256, c64_dela_ep256_cartridge_device, "delep256", "C64 Dela 256KB EPROM cartridge")
|
DEFINE_DEVICE_TYPE(C64_DELA_EP256, c64_dela_ep256_cartridge_device, "c64_dela_ep256", "C64 Dela 256KB EPROM cartridge")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -23,8 +23,7 @@
|
|||||||
|
|
||||||
// ======================> c64_geocable_device
|
// ======================> c64_geocable_device
|
||||||
|
|
||||||
class c64_geocable_device : public device_t,
|
class c64_geocable_device : public device_t, public device_pet_user_port_interface
|
||||||
public device_pet_user_port_interface
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(C64_IEEE488, c64_ieee488_device, "c64_ieee488_device", "C64 IEEE-488 cartridge")
|
DEFINE_DEVICE_TYPE(C64_IEEE488, c64_ieee488_device, "c64_ieee488", "C64 IEEE-488 cartridge")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -22,8 +22,7 @@
|
|||||||
|
|
||||||
// ======================> c64_maplin_midi_cartridge_device
|
// ======================> c64_maplin_midi_cartridge_device
|
||||||
|
|
||||||
class c64_maplin_midi_cartridge_device : public device_t,
|
class c64_maplin_midi_cartridge_device : public device_t, public device_c64_expansion_card_interface
|
||||||
public device_c64_expansion_card_interface
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
|
@ -22,8 +22,7 @@
|
|||||||
|
|
||||||
// ======================> c64_namesoft_midi_cartridge_device
|
// ======================> c64_namesoft_midi_cartridge_device
|
||||||
|
|
||||||
class c64_namesoft_midi_cartridge_device : public device_t,
|
class c64_namesoft_midi_cartridge_device : public device_t, public device_c64_expansion_card_interface
|
||||||
public device_c64_expansion_card_interface
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
|
@ -23,8 +23,7 @@
|
|||||||
|
|
||||||
// ======================> c64_passport_midi_cartridge_device
|
// ======================> c64_passport_midi_cartridge_device
|
||||||
|
|
||||||
class c64_passport_midi_cartridge_device : public device_t,
|
class c64_passport_midi_cartridge_device : public device_t, public device_c64_expansion_card_interface
|
||||||
public device_c64_expansion_card_interface
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
|
@ -22,8 +22,7 @@
|
|||||||
|
|
||||||
// ======================> c64_sequential_midi_cartridge_device
|
// ======================> c64_sequential_midi_cartridge_device
|
||||||
|
|
||||||
class c64_sequential_midi_cartridge_device : public device_t,
|
class c64_sequential_midi_cartridge_device : public device_t, public device_c64_expansion_card_interface
|
||||||
public device_c64_expansion_card_interface
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
|
@ -22,8 +22,7 @@
|
|||||||
|
|
||||||
// ======================> c64_siel_midi_cartridge_device
|
// ======================> c64_siel_midi_cartridge_device
|
||||||
|
|
||||||
class c64_siel_midi_cartridge_device : public device_t,
|
class c64_siel_midi_cartridge_device : public device_t, public device_c64_expansion_card_interface
|
||||||
public device_c64_expansion_card_interface
|
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
|
@ -22,9 +22,9 @@
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(C64_REU1700, c64_reu1700_cartridge_device, "c64_1700reu", "1700 REU")
|
DEFINE_DEVICE_TYPE(C64_REU1700, c64_reu1700_cartridge_device, "c64_1700reu", "1700 RAM Expansion Unit")
|
||||||
DEFINE_DEVICE_TYPE(C64_REU1750, c64_reu1750_cartridge_device, "c64_1750reu", "1750 REU")
|
DEFINE_DEVICE_TYPE(C64_REU1750, c64_reu1750_cartridge_device, "c64_1750reu", "1750 RAM Expansion Unit")
|
||||||
DEFINE_DEVICE_TYPE(C64_REU1764, c64_reu1764_cartridge_device, "c64_1764reu", "1764 REU")
|
DEFINE_DEVICE_TYPE(C64_REU1764, c64_reu1764_cartridge_device, "c64_1764reu", "1764 RAM Expansion Unit")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(C64_REX_EP256, c64_rex_ep256_cartridge_device, "rexexp256", "C64 Rex 256KB EPROM cartridge")
|
DEFINE_DEVICE_TYPE(C64_REX_EP256, c64_rex_ep256_cartridge_device, "c64_rex_ep256", "C64 Rex 256KB EPROM cartridge")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -24,14 +24,8 @@ DEFINE_DEVICE_TYPE(C64_REX_EP256, c64_rex_ep256_cartridge_device, "rexexp256", "
|
|||||||
|
|
||||||
void c64_rex_ep256_cartridge_device::device_add_mconfig(machine_config &config)
|
void c64_rex_ep256_cartridge_device::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
GENERIC_SOCKET(config, "rom1", generic_linear_slot, nullptr, "bin,rom");
|
for (auto &eprom : m_eproms)
|
||||||
GENERIC_SOCKET(config, "rom2", generic_linear_slot, nullptr, "bin,rom");
|
GENERIC_SOCKET(config, eprom, generic_linear_slot, nullptr, "bin,rom");
|
||||||
GENERIC_SOCKET(config, "rom3", generic_linear_slot, nullptr, "bin,rom");
|
|
||||||
GENERIC_SOCKET(config, "rom4", generic_linear_slot, nullptr, "bin,rom");
|
|
||||||
GENERIC_SOCKET(config, "rom5", generic_linear_slot, nullptr, "bin,rom");
|
|
||||||
GENERIC_SOCKET(config, "rom6", generic_linear_slot, nullptr, "bin,rom");
|
|
||||||
GENERIC_SOCKET(config, "rom7", generic_linear_slot, nullptr, "bin,rom");
|
|
||||||
GENERIC_SOCKET(config, "rom8", generic_linear_slot, nullptr, "bin,rom");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -46,14 +40,9 @@ void c64_rex_ep256_cartridge_device::device_add_mconfig(machine_config &config)
|
|||||||
|
|
||||||
c64_rex_ep256_cartridge_device::c64_rex_ep256_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
c64_rex_ep256_cartridge_device::c64_rex_ep256_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
device_t(mconfig, C64_REX_EP256, tag, owner, clock),
|
device_t(mconfig, C64_REX_EP256, tag, owner, clock),
|
||||||
device_c64_expansion_card_interface(mconfig, *this)
|
device_c64_expansion_card_interface(mconfig, *this),
|
||||||
|
m_eproms(*this, "rom%u", 1U)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 8; i++)
|
|
||||||
{
|
|
||||||
char str[6];
|
|
||||||
sprintf(str, "rom%i", i + 1);
|
|
||||||
m_eproms[i] = subdevice<generic_slot_device>(str);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -12,9 +12,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
#include "exp.h"
|
||||||
#include "bus/generic/slot.h"
|
#include "bus/generic/slot.h"
|
||||||
#include "bus/generic/carts.h"
|
#include "bus/generic/carts.h"
|
||||||
#include "exp.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -44,7 +44,7 @@ protected:
|
|||||||
virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
|
virtual void c64_cd_w(offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
generic_slot_device *m_eproms[8];
|
required_device_array<generic_slot_device, 8> m_eproms;
|
||||||
|
|
||||||
uint8_t m_bank, m_socket;
|
uint8_t m_bank, m_socket;
|
||||||
int m_reset;
|
int m_reset;
|
||||||
|
@ -14,12 +14,12 @@
|
|||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
// slot devices
|
// slot devices
|
||||||
#include "bus/vic20/4cga.h"
|
|
||||||
#include "4dxh.h"
|
#include "4dxh.h"
|
||||||
#include "4ksa.h"
|
#include "4ksa.h"
|
||||||
#include "4tba.h"
|
#include "4tba.h"
|
||||||
#include "bn1541.h"
|
#include "bn1541.h"
|
||||||
#include "geocable.h"
|
#include "geocable.h"
|
||||||
|
#include "bus/vic20/4cga.h"
|
||||||
#include "bus/vic20/vic1011.h"
|
#include "bus/vic20/vic1011.h"
|
||||||
|
|
||||||
void c64_user_port_cards(device_slot_interface &device)
|
void c64_user_port_cards(device_slot_interface &device)
|
||||||
|
@ -161,25 +161,25 @@
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(C1540, c1540_t, "c1540", "Commodore 1540 Disk Drive")
|
DEFINE_DEVICE_TYPE(C1540, c1540_device, "c1540", "Commodore 1540 Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(C1541, c1541_t, "c1541", "Commodore 1541 Disk Drive")
|
DEFINE_DEVICE_TYPE(C1541, c1541_device, "c1541", "Commodore 1541 Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(C1541C, c1541c_t, "c1541c", "Commodore 1541C Disk Drive")
|
DEFINE_DEVICE_TYPE(C1541C, c1541c_device, "c1541c", "Commodore 1541C Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(C1541II, c1541ii_t, "c1541ii", "Commodore 1541-II Disk Drive")
|
DEFINE_DEVICE_TYPE(C1541II, c1541ii_device, "c1541ii", "Commodore 1541-II Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(SX1541, sx1541_t, "sx1541", "SX1541 Disk Drive")
|
DEFINE_DEVICE_TYPE(SX1541, sx1541_device, "sx1541", "SX1541 Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(FSD1, fsd1_t, "fsd1", "FSD-1 Disk Drive")
|
DEFINE_DEVICE_TYPE(FSD1, fsd1_device, "fsd1", "FSD-1 Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(FSD2, fsd2_t, "fsd2", "FSD-2 Disk Drive")
|
DEFINE_DEVICE_TYPE(FSD2, fsd2_device, "fsd2", "FSD-2 Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(CSD1, csd1_t, "csd1", "CSD-1 Disk Drive")
|
DEFINE_DEVICE_TYPE(CSD1, csd1_device, "csd1", "CSD-1 Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(C1541_DOLPHIN_DOS, c1541_dolphin_dos_t, "c1541dd", "Commodore 1541 Dolphin-DOS 2.0 Disk Drive")
|
DEFINE_DEVICE_TYPE(C1541_DOLPHIN_DOS, c1541_dolphin_dos_device, "c1541dd", "Commodore 1541 Dolphin-DOS 2.0 Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(C1541_PROFESSIONAL_DOS_V1, c1541_professional_dos_v1_t, "c1541pd", "Commodore 1541 Professional-DOS v1 Disk Drive")
|
DEFINE_DEVICE_TYPE(C1541_PROFESSIONAL_DOS_V1, c1541_professional_dos_v1_device, "c1541pd", "Commodore 1541 Professional-DOS v1 Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(C1541_PROLOGIC_DOS_CLASSIC, c1541_prologic_dos_classic_t, "c1541pdc", "Commodore 1541 ProLogic-DOS Classic Disk Drive")
|
DEFINE_DEVICE_TYPE(C1541_PROLOGIC_DOS_CLASSIC, c1541_prologic_dos_classic_device, "c1541pdc", "Commodore 1541 ProLogic-DOS Classic Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(INDUS_GT, indus_gt_t, "indusgt", "Indus GT Disk Drive")
|
DEFINE_DEVICE_TYPE(INDUS_GT, indus_gt_device, "indusgt", "Indus GT Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(TECHNICA, technica_t, "technica", "Westfalia Technica Disk Drive")
|
DEFINE_DEVICE_TYPE(TECHNICA, technica_device, "technica", "Westfalia Technica Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(BLUE_CHIP, blue_chip_t, "bluechip", "Amtech Blue Chip Disk Drive")
|
DEFINE_DEVICE_TYPE(BLUE_CHIP, blue_chip_device, "bluechip", "Amtech Blue Chip Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(COMMANDER_C2, commander_c2_t, "cmdrc2", "Commander C-II Disk Drive")
|
DEFINE_DEVICE_TYPE(COMMANDER_C2, commander_c2_device, "cmdrc2", "Commander C-II Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(ENHANCER_2000, enhancer_2000_t, "enh2000", "Enhancer 2000 Disk Drive")
|
DEFINE_DEVICE_TYPE(ENHANCER_2000, enhancer_2000_device, "enh2000", "Enhancer 2000 Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(FD148, fd148_t, "fd148", "Rapid Access FD-148 Disk Drive")
|
DEFINE_DEVICE_TYPE(FD148, fd148_device, "fd148", "Rapid Access FD-148 Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(MSD_SD1, msd_sd1_t, "msdsd1", "MSD SD-1 Disk Drive")
|
DEFINE_DEVICE_TYPE(MSD_SD1, msd_sd1_device, "msdsd1", "MSD SD-1 Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(MSD_SD2, msd_sd2_t, "msdsd2", "MSD SD-2 Disk Drive")
|
DEFINE_DEVICE_TYPE(MSD_SD2, msd_sd2_device, "msdsd2", "MSD SD-2 Disk Drive")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -197,7 +197,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *c1540_t::device_rom_region() const
|
const tiny_rom_entry *c1540_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( c1540 );
|
return ROM_NAME( c1540 );
|
||||||
}
|
}
|
||||||
@ -241,7 +241,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *c1541_t::device_rom_region() const
|
const tiny_rom_entry *c1541_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( c1541 );
|
return ROM_NAME( c1541 );
|
||||||
}
|
}
|
||||||
@ -265,7 +265,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *c1541c_t::device_rom_region() const
|
const tiny_rom_entry *c1541c_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( c1541c );
|
return ROM_NAME( c1541c );
|
||||||
}
|
}
|
||||||
@ -291,7 +291,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *c1541ii_t::device_rom_region() const
|
const tiny_rom_entry *c1541ii_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( c1541ii );
|
return ROM_NAME( c1541ii );
|
||||||
}
|
}
|
||||||
@ -319,7 +319,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *sx1541_t::device_rom_region() const
|
const tiny_rom_entry *sx1541_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( sx1541 );
|
return ROM_NAME( sx1541 );
|
||||||
}
|
}
|
||||||
@ -339,7 +339,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *fsd1_t::device_rom_region() const
|
const tiny_rom_entry *fsd1_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( fsd1 );
|
return ROM_NAME( fsd1 );
|
||||||
}
|
}
|
||||||
@ -367,7 +367,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *fsd2_t::device_rom_region() const
|
const tiny_rom_entry *fsd2_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( fsd2 );
|
return ROM_NAME( fsd2 );
|
||||||
}
|
}
|
||||||
@ -388,7 +388,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *csd1_t::device_rom_region() const
|
const tiny_rom_entry *csd1_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( csd1 );
|
return ROM_NAME( csd1 );
|
||||||
}
|
}
|
||||||
@ -408,7 +408,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *c1541_dolphin_dos_t::device_rom_region() const
|
const tiny_rom_entry *c1541_dolphin_dos_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( c1541dd );
|
return ROM_NAME( c1541dd );
|
||||||
}
|
}
|
||||||
@ -429,7 +429,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *c1541_professional_dos_v1_t::device_rom_region() const
|
const tiny_rom_entry *c1541_professional_dos_v1_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( c1541pd );
|
return ROM_NAME( c1541pd );
|
||||||
}
|
}
|
||||||
@ -454,7 +454,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *c1541_prologic_dos_classic_t::device_rom_region() const
|
const tiny_rom_entry *c1541_prologic_dos_classic_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( c1541pdc );
|
return ROM_NAME( c1541pdc );
|
||||||
}
|
}
|
||||||
@ -478,7 +478,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *indus_gt_t::device_rom_region() const
|
const tiny_rom_entry *indus_gt_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( indusgt );
|
return ROM_NAME( indusgt );
|
||||||
}
|
}
|
||||||
@ -498,7 +498,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *technica_t::device_rom_region() const
|
const tiny_rom_entry *technica_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( technica );
|
return ROM_NAME( technica );
|
||||||
}
|
}
|
||||||
@ -521,7 +521,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *blue_chip_t::device_rom_region() const
|
const tiny_rom_entry *blue_chip_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( bluechip );
|
return ROM_NAME( bluechip );
|
||||||
}
|
}
|
||||||
@ -542,7 +542,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *commander_c2_t::device_rom_region() const
|
const tiny_rom_entry *commander_c2_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( cmdrc2 );
|
return ROM_NAME( cmdrc2 );
|
||||||
}
|
}
|
||||||
@ -562,7 +562,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *enhancer_2000_t::device_rom_region() const
|
const tiny_rom_entry *enhancer_2000_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( enh2000 );
|
return ROM_NAME( enh2000 );
|
||||||
}
|
}
|
||||||
@ -582,7 +582,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *fd148_t::device_rom_region() const
|
const tiny_rom_entry *fd148_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( fd148 );
|
return ROM_NAME( fd148 );
|
||||||
}
|
}
|
||||||
@ -603,7 +603,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *msd_sd1_t::device_rom_region() const
|
const tiny_rom_entry *msd_sd1_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( msdsd1 );
|
return ROM_NAME( msdsd1 );
|
||||||
}
|
}
|
||||||
@ -624,7 +624,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *msd_sd2_t::device_rom_region() const
|
const tiny_rom_entry *msd_sd2_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( msdsd2 );
|
return ROM_NAME( msdsd2 );
|
||||||
}
|
}
|
||||||
@ -634,7 +634,7 @@ const tiny_rom_entry *msd_sd2_t::device_rom_region() const
|
|||||||
// read -
|
// read -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
READ8_MEMBER( c1541_prologic_dos_classic_t::read )
|
READ8_MEMBER( c1541_prologic_dos_classic_device::read )
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -644,7 +644,7 @@ READ8_MEMBER( c1541_prologic_dos_classic_t::read )
|
|||||||
// write -
|
// write -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
WRITE8_MEMBER( c1541_prologic_dos_classic_t::write )
|
WRITE8_MEMBER( c1541_prologic_dos_classic_device::write )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -653,7 +653,7 @@ WRITE8_MEMBER( c1541_prologic_dos_classic_t::write )
|
|||||||
// ADDRESS_MAP( c1541_mem )
|
// ADDRESS_MAP( c1541_mem )
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void c1541_base_t::c1541_mem(address_map &map)
|
void c1541_device_base::c1541_mem(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x0000, 0x07ff).mirror(0x6000).ram();
|
map(0x0000, 0x07ff).mirror(0x6000).ram();
|
||||||
map(0x1800, 0x180f).mirror(0x63f0).m(M6522_0_TAG, FUNC(via6522_device::map));
|
map(0x1800, 0x180f).mirror(0x63f0).m(M6522_0_TAG, FUNC(via6522_device::map));
|
||||||
@ -666,7 +666,7 @@ void c1541_base_t::c1541_mem(address_map &map)
|
|||||||
// ADDRESS_MAP( c1541dd_mem )
|
// ADDRESS_MAP( c1541dd_mem )
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void c1541_base_t::c1541dd_mem(address_map &map)
|
void c1541_device_base::c1541dd_mem(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x0000, 0x07ff).mirror(0x6000).ram();
|
map(0x0000, 0x07ff).mirror(0x6000).ram();
|
||||||
map(0x1800, 0x180f).mirror(0x63f0).m(M6522_0_TAG, FUNC(via6522_device::map));
|
map(0x1800, 0x180f).mirror(0x63f0).m(M6522_0_TAG, FUNC(via6522_device::map));
|
||||||
@ -680,7 +680,7 @@ void c1541_base_t::c1541dd_mem(address_map &map)
|
|||||||
// ADDRESS_MAP( c1541pd_mem )
|
// ADDRESS_MAP( c1541pd_mem )
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void c1541_base_t::c1541pd_mem(address_map &map)
|
void c1541_device_base::c1541pd_mem(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x0000, 0x07ff).mirror(0x6000).ram();
|
map(0x0000, 0x07ff).mirror(0x6000).ram();
|
||||||
map(0x1800, 0x180f).mirror(0x63f0).m(M6522_0_TAG, FUNC(via6522_device::map));
|
map(0x1800, 0x180f).mirror(0x63f0).m(M6522_0_TAG, FUNC(via6522_device::map));
|
||||||
@ -695,34 +695,34 @@ void c1541_base_t::c1541pd_mem(address_map &map)
|
|||||||
// ADDRESS_MAP( c1541pdc_mem )
|
// ADDRESS_MAP( c1541pdc_mem )
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void c1541_prologic_dos_classic_t::c1541pdc_mem(address_map &map)
|
void c1541_prologic_dos_classic_device::c1541pdc_mem(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x0000, 0xffff).rw(FUNC(c1541_prologic_dos_classic_t::read), FUNC(c1541_prologic_dos_classic_t::write));
|
map(0x0000, 0xffff).rw(FUNC(c1541_prologic_dos_classic_device::read), FUNC(c1541_prologic_dos_classic_device::write));
|
||||||
/* map(0x0000, 0x07ff).mirror(0x6000).ram().share("share1");
|
/* map(0x0000, 0x07ff).mirror(0x6000).ram().share("share1");
|
||||||
map(0x1800, 0x180f).mirror(0x63f0).rw(M6522_0_TAG, FUNC(via6522_device::read), FUNC(via6522_device::write));
|
map(0x1800, 0x180f).mirror(0x63f0).rw(M6522_0_TAG, FUNC(via6522_device::read), FUNC(via6522_device::write));
|
||||||
map(0x1c00, 0x1c0f).mirror(0x63f0).rw(M6522_1_TAG, FUNC(via6522_device::read), FUNC(via6522_device::write));
|
map(0x1c00, 0x1c0f).mirror(0x63f0).rw(M6522_1_TAG, FUNC(via6522_device::read), FUNC(via6522_device::write));
|
||||||
map(0x8000, 0x87ff).ram().share("share1");
|
map(0x8000, 0x87ff).ram().share("share1");
|
||||||
map(0x8800, 0x9fff).ram();
|
map(0x8800, 0x9fff).ram();
|
||||||
map(0xa000, 0xb7ff).rom().region(M6502_TAG, 0x0000);
|
map(0xa000, 0xb7ff).rom().region(M6502_TAG, 0x0000);
|
||||||
map(0xb800, 0xb80f).rw(FUNC(c1541_prologic_dos_classic_t::pia_r), FUNC(c1541_prologic_dos_classic_t::pia_w));
|
map(0xb800, 0xb80f).rw(FUNC(c1541_prologic_dos_classic_device::pia_r), FUNC(c1541_prologic_dos_classic_device::pia_w));
|
||||||
map(0xf000, 0xffff).rom().region(M6502_TAG, 0x2000);*/
|
map(0xf000, 0xffff).rom().region(M6502_TAG, 0x2000);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
WRITE_LINE_MEMBER( c1541_base_t::via0_irq_w )
|
WRITE_LINE_MEMBER( c1541_device_base::via0_irq_w )
|
||||||
{
|
{
|
||||||
m_via0_irq = state;
|
m_via0_irq = state;
|
||||||
|
|
||||||
m_maincpu->set_input_line(INPUT_LINE_IRQ0, (m_via0_irq || m_via1_irq) ? ASSERT_LINE : CLEAR_LINE);
|
m_maincpu->set_input_line(INPUT_LINE_IRQ0, (m_via0_irq || m_via1_irq) ? ASSERT_LINE : CLEAR_LINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER( c1541_base_t::via0_pa_r )
|
READ8_MEMBER( c1541_device_base::via0_pa_r )
|
||||||
{
|
{
|
||||||
// dummy read to acknowledge ATN IN interrupt
|
// dummy read to acknowledge ATN IN interrupt
|
||||||
return m_parallel_data;
|
return m_parallel_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER( c1541_base_t::via0_pa_w )
|
WRITE8_MEMBER( c1541_device_base::via0_pa_w )
|
||||||
{
|
{
|
||||||
if (m_other != nullptr)
|
if (m_other != nullptr)
|
||||||
{
|
{
|
||||||
@ -730,7 +730,7 @@ WRITE8_MEMBER( c1541_base_t::via0_pa_w )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER( c1541_base_t::via0_pb_r )
|
READ8_MEMBER( c1541_device_base::via0_pb_r )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@ -747,7 +747,7 @@ READ8_MEMBER( c1541_base_t::via0_pb_r )
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
uint8_t data;
|
u8 data;
|
||||||
|
|
||||||
// data in
|
// data in
|
||||||
data = !m_bus->data_r() && !m_ga->atn_r();
|
data = !m_bus->data_r() && !m_ga->atn_r();
|
||||||
@ -764,7 +764,7 @@ READ8_MEMBER( c1541_base_t::via0_pb_r )
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER( c1541_base_t::via0_pb_w )
|
WRITE8_MEMBER( c1541_device_base::via0_pb_w )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@ -791,7 +791,7 @@ WRITE8_MEMBER( c1541_base_t::via0_pb_w )
|
|||||||
m_bus->clk_w(this, !BIT(data, 3));
|
m_bus->clk_w(this, !BIT(data, 3));
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE_LINE_MEMBER( c1541_base_t::via0_ca2_w )
|
WRITE_LINE_MEMBER( c1541_device_base::via0_ca2_w )
|
||||||
{
|
{
|
||||||
if (m_other != nullptr)
|
if (m_other != nullptr)
|
||||||
{
|
{
|
||||||
@ -799,7 +799,7 @@ WRITE_LINE_MEMBER( c1541_base_t::via0_ca2_w )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER( c1541c_t::via0_pa_r )
|
READ8_MEMBER( c1541c_device::via0_pa_r )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@ -820,14 +820,14 @@ READ8_MEMBER( c1541c_t::via0_pa_r )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
WRITE_LINE_MEMBER( c1541_base_t::via1_irq_w )
|
WRITE_LINE_MEMBER( c1541_device_base::via1_irq_w )
|
||||||
{
|
{
|
||||||
m_via1_irq = state;
|
m_via1_irq = state;
|
||||||
|
|
||||||
m_maincpu->set_input_line(INPUT_LINE_IRQ0, (m_via0_irq || m_via1_irq) ? ASSERT_LINE : CLEAR_LINE);
|
m_maincpu->set_input_line(INPUT_LINE_IRQ0, (m_via0_irq || m_via1_irq) ? ASSERT_LINE : CLEAR_LINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER( c1541_base_t::via1_pb_r )
|
READ8_MEMBER( c1541_device_base::via1_pb_r )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@ -844,7 +844,7 @@ READ8_MEMBER( c1541_base_t::via1_pb_r )
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
uint8_t data = 0;
|
u8 data = 0;
|
||||||
|
|
||||||
// write protect sense
|
// write protect sense
|
||||||
data |= !m_floppy->wpt_r() << 4;
|
data |= !m_floppy->wpt_r() << 4;
|
||||||
@ -855,7 +855,7 @@ READ8_MEMBER( c1541_base_t::via1_pb_r )
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER( c1541_base_t::via1_pb_w )
|
WRITE8_MEMBER( c1541_device_base::via1_pb_w )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@ -890,12 +890,12 @@ WRITE8_MEMBER( c1541_base_t::via1_pb_w )
|
|||||||
// C64H156_INTERFACE( ga_intf )
|
// C64H156_INTERFACE( ga_intf )
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
WRITE_LINE_MEMBER( c1541_base_t::atn_w )
|
WRITE_LINE_MEMBER( c1541_device_base::atn_w )
|
||||||
{
|
{
|
||||||
set_iec_data();
|
set_iec_data();
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE_LINE_MEMBER( c1541_base_t::byte_w )
|
WRITE_LINE_MEMBER( c1541_device_base::byte_w )
|
||||||
{
|
{
|
||||||
m_maincpu->set_input_line(M6502_SET_OVERFLOW, state);
|
m_maincpu->set_input_line(M6502_SET_OVERFLOW, state);
|
||||||
|
|
||||||
@ -907,23 +907,23 @@ WRITE_LINE_MEMBER( c1541_base_t::byte_w )
|
|||||||
// FLOPPY_FORMATS( floppy_formats )
|
// FLOPPY_FORMATS( floppy_formats )
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
FLOPPY_FORMATS_MEMBER( c1541_base_t::floppy_formats )
|
FLOPPY_FORMATS_MEMBER( c1541_device_base::floppy_formats )
|
||||||
FLOPPY_D64_FORMAT,
|
FLOPPY_D64_FORMAT,
|
||||||
FLOPPY_G64_FORMAT
|
FLOPPY_G64_FORMAT
|
||||||
FLOPPY_FORMATS_END
|
FLOPPY_FORMATS_END
|
||||||
|
|
||||||
|
|
||||||
READ8_MEMBER( c1541_prologic_dos_classic_t::pia_r )
|
READ8_MEMBER( c1541_prologic_dos_classic_device::pia_r )
|
||||||
{
|
{
|
||||||
return m_pia->read((offset >> 2) & 0x03);
|
return m_pia->read((offset >> 2) & 0x03);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER( c1541_prologic_dos_classic_t::pia_w )
|
WRITE8_MEMBER( c1541_prologic_dos_classic_device::pia_w )
|
||||||
{
|
{
|
||||||
m_pia->write((offset >> 2) & 0x03, data);
|
m_pia->write((offset >> 2) & 0x03, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER( c1541_prologic_dos_classic_t::pia_pa_w )
|
WRITE8_MEMBER( c1541_prologic_dos_classic_device::pia_pa_w )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@ -941,12 +941,12 @@ WRITE8_MEMBER( c1541_prologic_dos_classic_t::pia_pa_w )
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER( c1541_prologic_dos_classic_t::pia_pb_r )
|
READ8_MEMBER( c1541_prologic_dos_classic_device::pia_pb_r )
|
||||||
{
|
{
|
||||||
return m_parallel_data;
|
return m_parallel_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER( c1541_prologic_dos_classic_t::pia_pb_w )
|
WRITE8_MEMBER( c1541_prologic_dos_classic_device::pia_pb_w )
|
||||||
{
|
{
|
||||||
m_parallel_data = data;
|
m_parallel_data = data;
|
||||||
|
|
||||||
@ -958,71 +958,71 @@ WRITE8_MEMBER( c1541_prologic_dos_classic_t::pia_pb_w )
|
|||||||
// device_add_mconfig - add device configuration
|
// device_add_mconfig - add device configuration
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void c1541_base_t::device_add_mconfig(machine_config &config)
|
void c1541_device_base::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
M6502(config, m_maincpu, XTAL(16'000'000)/16);
|
M6502(config, m_maincpu, XTAL(16'000'000)/16);
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &c1541_base_t::c1541_mem);
|
m_maincpu->set_addrmap(AS_PROGRAM, &c1541_device_base::c1541_mem);
|
||||||
//config.set_perfect_quantum(m_maincpu); FIXME: not safe in a slot device - add barriers
|
//config.set_perfect_quantum(m_maincpu); FIXME: not safe in a slot device - add barriers
|
||||||
|
|
||||||
VIA6522(config, m_via0, XTAL(16'000'000)/16);
|
VIA6522(config, m_via0, XTAL(16'000'000)/16);
|
||||||
m_via0->readpa_handler().set(FUNC(c1541_base_t::via0_pa_r));
|
m_via0->readpa_handler().set(FUNC(c1541_device_base::via0_pa_r));
|
||||||
m_via0->readpb_handler().set(FUNC(c1541_base_t::via0_pb_r));
|
m_via0->readpb_handler().set(FUNC(c1541_device_base::via0_pb_r));
|
||||||
m_via0->writepa_handler().set(FUNC(c1541_base_t::via0_pa_w));
|
m_via0->writepa_handler().set(FUNC(c1541_device_base::via0_pa_w));
|
||||||
m_via0->writepb_handler().set(FUNC(c1541_base_t::via0_pb_w));
|
m_via0->writepb_handler().set(FUNC(c1541_device_base::via0_pb_w));
|
||||||
m_via0->cb2_handler().set(FUNC(c1541_base_t::via0_ca2_w));
|
m_via0->cb2_handler().set(FUNC(c1541_device_base::via0_ca2_w));
|
||||||
m_via0->irq_handler().set(FUNC(c1541_base_t::via0_irq_w));
|
m_via0->irq_handler().set(FUNC(c1541_device_base::via0_irq_w));
|
||||||
|
|
||||||
VIA6522(config, m_via1, XTAL(16'000'000)/16);
|
VIA6522(config, m_via1, XTAL(16'000'000)/16);
|
||||||
m_via1->readpa_handler().set(C64H156_TAG, FUNC(c64h156_device::yb_r));
|
m_via1->readpa_handler().set(C64H156_TAG, FUNC(c64h156_device::yb_r));
|
||||||
m_via1->readpb_handler().set(FUNC(c1541_base_t::via1_pb_r));
|
m_via1->readpb_handler().set(FUNC(c1541_device_base::via1_pb_r));
|
||||||
m_via1->writepa_handler().set(C64H156_TAG, FUNC(c64h156_device::yb_w));
|
m_via1->writepa_handler().set(C64H156_TAG, FUNC(c64h156_device::yb_w));
|
||||||
m_via1->writepb_handler().set(FUNC(c1541_base_t::via1_pb_w));
|
m_via1->writepb_handler().set(FUNC(c1541_device_base::via1_pb_w));
|
||||||
m_via1->ca2_handler().set(C64H156_TAG, FUNC(c64h156_device::soe_w));
|
m_via1->ca2_handler().set(C64H156_TAG, FUNC(c64h156_device::soe_w));
|
||||||
m_via1->cb2_handler().set(C64H156_TAG, FUNC(c64h156_device::oe_w));
|
m_via1->cb2_handler().set(C64H156_TAG, FUNC(c64h156_device::oe_w));
|
||||||
m_via1->irq_handler().set(FUNC(c1541_base_t::via1_irq_w));
|
m_via1->irq_handler().set(FUNC(c1541_device_base::via1_irq_w));
|
||||||
|
|
||||||
C64H156(config, m_ga, XTAL(16'000'000));
|
C64H156(config, m_ga, XTAL(16'000'000));
|
||||||
m_ga->atn_callback().set(FUNC(c1541_base_t::atn_w));
|
m_ga->atn_callback().set(FUNC(c1541_device_base::atn_w));
|
||||||
m_ga->byte_callback().set(FUNC(c1541_base_t::byte_w));
|
m_ga->byte_callback().set(FUNC(c1541_device_base::byte_w));
|
||||||
|
|
||||||
floppy_connector &connector(FLOPPY_CONNECTOR(config, C64H156_TAG":0", 0));
|
floppy_connector &connector(FLOPPY_CONNECTOR(config, C64H156_TAG":0", 0));
|
||||||
connector.option_add("525ssqd", ALPS_3255190X);
|
connector.option_add("525ssqd", ALPS_3255190X);
|
||||||
connector.set_default_option("525ssqd");
|
connector.set_default_option("525ssqd");
|
||||||
connector.set_fixed(true);
|
connector.set_fixed(true);
|
||||||
connector.set_formats(c1541_base_t::floppy_formats);
|
connector.set_formats(c1541_device_base::floppy_formats);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void c1541c_t::device_add_mconfig(machine_config &config)
|
void c1541c_device::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
c1541_base_t::device_add_mconfig(config);
|
c1541_device_base::device_add_mconfig(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void c1541_dolphin_dos_t::device_add_mconfig(machine_config &config)
|
void c1541_dolphin_dos_device::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
c1541_base_t::device_add_mconfig(config);
|
c1541_device_base::device_add_mconfig(config);
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &c1541_dolphin_dos_t::c1541dd_mem);
|
m_maincpu->set_addrmap(AS_PROGRAM, &c1541_dolphin_dos_device::c1541dd_mem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void c1541_professional_dos_v1_t::device_add_mconfig(machine_config &config)
|
void c1541_professional_dos_v1_device::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
c1541_base_t::device_add_mconfig(config);
|
c1541_device_base::device_add_mconfig(config);
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &c1541_professional_dos_v1_t::c1541pd_mem);
|
m_maincpu->set_addrmap(AS_PROGRAM, &c1541_professional_dos_v1_device::c1541pd_mem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void c1541_prologic_dos_classic_t::device_add_mconfig(machine_config &config)
|
void c1541_prologic_dos_classic_device::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
c1541_base_t::device_add_mconfig(config);
|
c1541_device_base::device_add_mconfig(config);
|
||||||
|
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &c1541_prologic_dos_classic_t::c1541pdc_mem);
|
m_maincpu->set_addrmap(AS_PROGRAM, &c1541_prologic_dos_classic_device::c1541pdc_mem);
|
||||||
|
|
||||||
PIA6821(config, m_pia, 0);
|
PIA6821(config, m_pia, 0);
|
||||||
m_pia->readpb_handler().set(FUNC(c1541_prologic_dos_classic_t::pia_pb_r));
|
m_pia->readpb_handler().set(FUNC(c1541_prologic_dos_classic_device::pia_pb_r));
|
||||||
m_pia->writepa_handler().set(FUNC(c1541_prologic_dos_classic_t::pia_pa_w));
|
m_pia->writepa_handler().set(FUNC(c1541_prologic_dos_classic_device::pia_pa_w));
|
||||||
m_pia->writepb_handler().set(FUNC(c1541_prologic_dos_classic_t::pia_pb_w));
|
m_pia->writepb_handler().set(FUNC(c1541_prologic_dos_classic_device::pia_pb_w));
|
||||||
m_pia->ca2_handler().set(CENTRONICS_TAG, FUNC(centronics_device::write_strobe));
|
m_pia->ca2_handler().set(CENTRONICS_TAG, FUNC(centronics_device::write_strobe));
|
||||||
|
|
||||||
centronics_device ¢ronics(CENTRONICS(config, CENTRONICS_TAG, centronics_devices, "printer"));
|
centronics_device ¢ronics(CENTRONICS(config, CENTRONICS_TAG, centronics_devices, "printer"));
|
||||||
@ -1051,7 +1051,7 @@ INPUT_PORTS_END
|
|||||||
// input_ports - device-specific input ports
|
// input_ports - device-specific input ports
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
ioport_constructor c1541_base_t::device_input_ports() const
|
ioport_constructor c1541_device_base::device_input_ports() const
|
||||||
{
|
{
|
||||||
return INPUT_PORTS_NAME( c1541 );
|
return INPUT_PORTS_NAME( c1541 );
|
||||||
}
|
}
|
||||||
@ -1066,7 +1066,7 @@ ioport_constructor c1541_base_t::device_input_ports() const
|
|||||||
// set_iec_data -
|
// set_iec_data -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
inline void c1541_base_t::set_iec_data()
|
inline void c1541_device_base::set_iec_data()
|
||||||
{
|
{
|
||||||
int data = !m_data_out && !m_ga->atn_r();
|
int data = !m_data_out && !m_ga->atn_r();
|
||||||
|
|
||||||
@ -1080,10 +1080,10 @@ inline void c1541_base_t::set_iec_data()
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// c1541_base_t - constructor
|
// c1541_device_base - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
c1541_base_t::c1541_base_t(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
|
c1541_device_base::c1541_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) :
|
||||||
device_t(mconfig, type, tag, owner, clock),
|
device_t(mconfig, type, tag, owner, clock),
|
||||||
device_cbm_iec_interface(mconfig, *this),
|
device_cbm_iec_interface(mconfig, *this),
|
||||||
device_c64_floppy_parallel_interface(mconfig, *this),
|
device_c64_floppy_parallel_interface(mconfig, *this),
|
||||||
@ -1102,91 +1102,91 @@ c1541_base_t::c1541_base_t(const machine_config &mconfig, device_type type, cons
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// c1540_t - constructor
|
// c1540_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
c1540_t::c1540_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
c1540_device::c1540_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, C1540, tag, owner, clock) { }
|
: c1541_device_base(mconfig, C1540, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// c1541_t - constructor
|
// c1541_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
c1541_t::c1541_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
c1541_device::c1541_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, C1541, tag, owner, clock) { }
|
: c1541_device_base(mconfig, C1541, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// c1541c_t - constructor
|
// c1541c_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
c1541c_t::c1541c_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
c1541c_device::c1541c_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, C1541C, tag, owner, clock) { }
|
: c1541_device_base(mconfig, C1541C, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// c1541ii_t - constructor
|
// c1541ii_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
c1541ii_t::c1541ii_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
c1541ii_device::c1541ii_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, C1541II, tag, owner, clock) { }
|
: c1541_device_base(mconfig, C1541II, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// sx1541_t - constructor
|
// sx1541_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
sx1541_t::sx1541_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
sx1541_device::sx1541_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, SX1541, tag, owner, clock) { }
|
: c1541_device_base(mconfig, SX1541, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// fsd1_t - constructor
|
// fsd1_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
fsd1_t::fsd1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
fsd1_device::fsd1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, FSD1, tag, owner, clock) { }
|
: c1541_device_base(mconfig, FSD1, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// fsd2_t - constructor
|
// fsd2_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
fsd2_t::fsd2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
fsd2_device::fsd2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, FSD2, tag, owner, clock) { }
|
: c1541_device_base(mconfig, FSD2, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// csd1_t - constructor
|
// csd1_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
csd1_t::csd1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
csd1_device::csd1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, CSD1, tag, owner, clock) { }
|
: c1541_device_base(mconfig, CSD1, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// c1541_dolphin_dos_t - constructor
|
// c1541_dolphin_dos_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
c1541_dolphin_dos_t::c1541_dolphin_dos_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
c1541_dolphin_dos_device::c1541_dolphin_dos_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, C1541_DOLPHIN_DOS, tag, owner, clock) { }
|
: c1541_device_base(mconfig, C1541_DOLPHIN_DOS, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// c1541_professional_dos_v1_t - constructor
|
// c1541_professional_dos_v1_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
c1541_professional_dos_v1_t::c1541_professional_dos_v1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
c1541_professional_dos_v1_device::c1541_professional_dos_v1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, C1541_PROFESSIONAL_DOS_V1, tag, owner, clock) { }
|
: c1541_device_base(mconfig, C1541_PROFESSIONAL_DOS_V1, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// c1541_prologic_dos_classic_t - constructor
|
// c1541_prologic_dos_classic_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
c1541_prologic_dos_classic_t::c1541_prologic_dos_classic_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
c1541_prologic_dos_classic_device::c1541_prologic_dos_classic_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, C1541_PROLOGIC_DOS_CLASSIC, tag, owner, clock),
|
: c1541_device_base(mconfig, C1541_PROLOGIC_DOS_CLASSIC, tag, owner, clock),
|
||||||
m_pia(*this, MC6821_TAG),
|
m_pia(*this, MC6821_TAG),
|
||||||
m_cent_data_out(*this, "cent_data_out"),
|
m_cent_data_out(*this, "cent_data_out"),
|
||||||
m_mmu_rom(*this, "mmu")
|
m_mmu_rom(*this, "mmu")
|
||||||
@ -1195,74 +1195,74 @@ c1541_prologic_dos_classic_t::c1541_prologic_dos_classic_t(const machine_config
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// indus_gt_t - constructor
|
// indus_gt_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
indus_gt_t::indus_gt_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
indus_gt_device::indus_gt_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, INDUS_GT, tag, owner, clock) { }
|
: c1541_device_base(mconfig, INDUS_GT, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// technica_t - constructor
|
// technica_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
technica_t::technica_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
technica_device::technica_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, TECHNICA, tag, owner, clock) { }
|
: c1541_device_base(mconfig, TECHNICA, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// blue_chip_t - constructor
|
// blue_chip_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
blue_chip_t::blue_chip_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
blue_chip_device::blue_chip_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, BLUE_CHIP, tag, owner, clock) { }
|
: c1541_device_base(mconfig, BLUE_CHIP, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// commander_c2_t - constructor
|
// commander_c2_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
commander_c2_t::commander_c2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
commander_c2_device::commander_c2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, COMMANDER_C2, tag, owner, clock) { }
|
: c1541_device_base(mconfig, COMMANDER_C2, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// enhancer_2000_t - constructor
|
// enhancer_2000_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
enhancer_2000_t::enhancer_2000_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
enhancer_2000_device::enhancer_2000_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, ENHANCER_2000, tag, owner, clock) { }
|
: c1541_device_base(mconfig, ENHANCER_2000, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// fd148_t - constructor
|
// fd148_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
fd148_t::fd148_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
fd148_device::fd148_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, FD148, tag, owner, clock) { }
|
: c1541_device_base(mconfig, FD148, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// msd_sd1_t - constructor
|
// msd_sd1_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
msd_sd1_t::msd_sd1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
msd_sd1_device::msd_sd1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, MSD_SD1, tag, owner, clock) { }
|
: c1541_device_base(mconfig, MSD_SD1, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// msd_sd2_t - constructor
|
// msd_sd2_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
msd_sd2_t::msd_sd2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
msd_sd2_device::msd_sd2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: c1541_base_t(mconfig, MSD_SD2, tag, owner, clock) { }
|
: c1541_device_base(mconfig, MSD_SD2, tag, owner, clock) { }
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// device_start - device-specific startup
|
// device_start - device-specific startup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void c1541_base_t::device_start()
|
void c1541_device_base::device_start()
|
||||||
{
|
{
|
||||||
m_leds.resolve();
|
m_leds.resolve();
|
||||||
|
|
||||||
@ -1275,16 +1275,16 @@ void c1541_base_t::device_start()
|
|||||||
save_item(NAME(m_via1_irq));
|
save_item(NAME(m_via1_irq));
|
||||||
}
|
}
|
||||||
|
|
||||||
void fsd2_t::device_start()
|
void fsd2_device::device_start()
|
||||||
{
|
{
|
||||||
c1541_base_t::device_start();
|
c1541_device_base::device_start();
|
||||||
|
|
||||||
// decrypt ROM
|
// decrypt ROM
|
||||||
uint8_t *rom = memregion(M6502_TAG)->base();
|
u8 *rom = memregion(M6502_TAG)->base();
|
||||||
|
|
||||||
for (offs_t offset = 0; offset < 0x4000; offset++)
|
for (offs_t offset = 0; offset < 0x4000; offset++)
|
||||||
{
|
{
|
||||||
uint8_t data = bitswap<8>(rom[offset], 7, 6, 5, 3, 4, 2, 1, 0);
|
const u8 data = bitswap<8>(rom[offset], 7, 6, 5, 3, 4, 2, 1, 0);
|
||||||
|
|
||||||
rom[offset] = data;
|
rom[offset] = data;
|
||||||
}
|
}
|
||||||
@ -1295,7 +1295,7 @@ void fsd2_t::device_start()
|
|||||||
// device_reset - device-specific reset
|
// device_reset - device-specific reset
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void c1541_base_t::device_reset()
|
void c1541_device_base::device_reset()
|
||||||
{
|
{
|
||||||
m_maincpu->reset();
|
m_maincpu->reset();
|
||||||
|
|
||||||
@ -1312,7 +1312,7 @@ void c1541_base_t::device_reset()
|
|||||||
// iec_atn_w -
|
// iec_atn_w -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void c1541_base_t::cbm_iec_atn(int state)
|
void c1541_device_base::cbm_iec_atn(int state)
|
||||||
{
|
{
|
||||||
m_via0->write_ca1(!state);
|
m_via0->write_ca1(!state);
|
||||||
m_ga->atni_w(!state);
|
m_ga->atni_w(!state);
|
||||||
@ -1325,7 +1325,7 @@ void c1541_base_t::cbm_iec_atn(int state)
|
|||||||
// iec_reset_w -
|
// iec_reset_w -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void c1541_base_t::cbm_iec_reset(int state)
|
void c1541_device_base::cbm_iec_reset(int state)
|
||||||
{
|
{
|
||||||
if (!state)
|
if (!state)
|
||||||
{
|
{
|
||||||
@ -1338,7 +1338,7 @@ void c1541_base_t::cbm_iec_reset(int state)
|
|||||||
// parallel_data_w -
|
// parallel_data_w -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void c1541_base_t::parallel_data_w(uint8_t data)
|
void c1541_device_base::parallel_data_w(u8 data)
|
||||||
{
|
{
|
||||||
m_parallel_data = data;
|
m_parallel_data = data;
|
||||||
}
|
}
|
||||||
@ -1348,7 +1348,7 @@ void c1541_base_t::parallel_data_w(uint8_t data)
|
|||||||
// parallel_strobe_w -
|
// parallel_strobe_w -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void c1541_base_t::parallel_strobe_w(int state)
|
void c1541_device_base::parallel_strobe_w(int state)
|
||||||
{
|
{
|
||||||
m_via0->write_cb1(state);
|
m_via0->write_cb1(state);
|
||||||
}
|
}
|
||||||
|
@ -21,27 +21,19 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
|
||||||
// MACROS / CONSTANTS
|
|
||||||
//**************************************************************************
|
|
||||||
|
|
||||||
#define C1541_TAG "c1541"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
// ======================> c1541_base_t
|
// ======================> c1541_device_base
|
||||||
|
|
||||||
class c1541_base_t : public device_t,
|
class c1541_device_base : public device_t,
|
||||||
public device_cbm_iec_interface,
|
public device_cbm_iec_interface,
|
||||||
public device_c64_floppy_parallel_interface
|
public device_c64_floppy_parallel_interface
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
c1541_base_t(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
c1541_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
virtual void device_start() override;
|
virtual void device_start() override;
|
||||||
@ -56,7 +48,7 @@ protected:
|
|||||||
virtual void cbm_iec_reset(int state) override;
|
virtual void cbm_iec_reset(int state) override;
|
||||||
|
|
||||||
// device_c64_floppy_parallel_interface overrides
|
// device_c64_floppy_parallel_interface overrides
|
||||||
virtual void parallel_data_w(uint8_t data) override;
|
virtual void parallel_data_w(u8 data) override;
|
||||||
virtual void parallel_strobe_w(int state) override;
|
virtual void parallel_strobe_w(int state) override;
|
||||||
|
|
||||||
required_device<floppy_image_device> m_floppy;
|
required_device<floppy_image_device> m_floppy;
|
||||||
@ -105,13 +97,13 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> c1540_t
|
// ======================> c1540_device
|
||||||
|
|
||||||
class c1540_t : public c1541_base_t
|
class c1540_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
c1540_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
c1540_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -119,13 +111,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> c1541_t
|
// ======================> c1541_device
|
||||||
|
|
||||||
class c1541_t : public c1541_base_t
|
class c1541_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
c1541_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
c1541_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -133,13 +125,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> c1541c_t
|
// ======================> c1541c_device
|
||||||
|
|
||||||
class c1541c_t : public c1541_base_t
|
class c1541c_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
c1541c_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
c1541c_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -152,13 +144,13 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> c1541ii_t
|
// ======================> c1541ii_device
|
||||||
|
|
||||||
class c1541ii_t : public c1541_base_t
|
class c1541ii_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
c1541ii_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
c1541ii_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -166,13 +158,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> sx1541_t
|
// ======================> sx1541_device
|
||||||
|
|
||||||
class sx1541_t : public c1541_base_t
|
class sx1541_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
sx1541_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
sx1541_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -180,13 +172,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> fsd1_t
|
// ======================> fsd1_device
|
||||||
|
|
||||||
class fsd1_t : public c1541_base_t
|
class fsd1_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
fsd1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
fsd1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -194,13 +186,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> fsd2_t
|
// ======================> fsd2_device
|
||||||
|
|
||||||
class fsd2_t : public c1541_base_t
|
class fsd2_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
fsd2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
fsd2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -211,13 +203,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> csd1_t
|
// ======================> csd1_device
|
||||||
|
|
||||||
class csd1_t : public c1541_base_t
|
class csd1_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
csd1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
csd1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -225,13 +217,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> c1541_dolphin_dos_t
|
// ======================> c1541_dolphin_dos_device
|
||||||
|
|
||||||
class c1541_dolphin_dos_t : public c1541_base_t
|
class c1541_dolphin_dos_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
c1541_dolphin_dos_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
c1541_dolphin_dos_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -240,13 +232,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> c1541_professional_dos_v1_t
|
// ======================> c1541_professional_dos_v1_device
|
||||||
|
|
||||||
class c1541_professional_dos_v1_t : public c1541_base_t
|
class c1541_professional_dos_v1_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
c1541_professional_dos_v1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
c1541_professional_dos_v1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -255,13 +247,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> c1541_prologic_dos_classic_t
|
// ======================> c1541_prologic_dos_classic_device
|
||||||
|
|
||||||
class c1541_prologic_dos_classic_t : public c1541_base_t
|
class c1541_prologic_dos_classic_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
c1541_prologic_dos_classic_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
c1541_prologic_dos_classic_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -285,13 +277,13 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> indus_gt_t
|
// ======================> indus_gt_device
|
||||||
|
|
||||||
class indus_gt_t : public c1541_base_t
|
class indus_gt_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
indus_gt_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
indus_gt_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -299,13 +291,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> technica_t
|
// ======================> technica_device
|
||||||
|
|
||||||
class technica_t : public c1541_base_t
|
class technica_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
technica_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
technica_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -313,13 +305,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> blue_chip_t
|
// ======================> blue_chip_device
|
||||||
|
|
||||||
class blue_chip_t : public c1541_base_t
|
class blue_chip_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
blue_chip_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
blue_chip_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -327,13 +319,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> commander_c2_t
|
// ======================> commander_c2_device
|
||||||
|
|
||||||
class commander_c2_t : public c1541_base_t
|
class commander_c2_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
commander_c2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
commander_c2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -341,13 +333,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> enhancer_2000_t
|
// ======================> enhancer_2000_device
|
||||||
|
|
||||||
class enhancer_2000_t : public c1541_base_t
|
class enhancer_2000_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
enhancer_2000_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
enhancer_2000_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -355,13 +347,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> fd148_t
|
// ======================> fd148_device
|
||||||
|
|
||||||
class fd148_t : public c1541_base_t
|
class fd148_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
fd148_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
fd148_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -369,13 +361,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> msd_sd1_t
|
// ======================> msd_sd1_device
|
||||||
|
|
||||||
class msd_sd1_t : public c1541_base_t
|
class msd_sd1_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
msd_sd1_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
msd_sd1_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -383,13 +375,13 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// ======================> msd_sd2_t
|
// ======================> msd_sd2_device
|
||||||
|
|
||||||
class msd_sd2_t : public c1541_base_t
|
class msd_sd2_device : public c1541_device_base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
msd_sd2_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
msd_sd2_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// optional information overrides
|
// optional information overrides
|
||||||
@ -398,25 +390,25 @@ protected:
|
|||||||
|
|
||||||
|
|
||||||
// device type definition
|
// device type definition
|
||||||
DECLARE_DEVICE_TYPE(C1540, c1540_t)
|
DECLARE_DEVICE_TYPE(C1540, c1540_device)
|
||||||
DECLARE_DEVICE_TYPE(C1541, c1541_t)
|
DECLARE_DEVICE_TYPE(C1541, c1541_device)
|
||||||
DECLARE_DEVICE_TYPE(C1541C, c1541c_t)
|
DECLARE_DEVICE_TYPE(C1541C, c1541c_device)
|
||||||
DECLARE_DEVICE_TYPE(C1541II, c1541ii_t)
|
DECLARE_DEVICE_TYPE(C1541II, c1541ii_device)
|
||||||
DECLARE_DEVICE_TYPE(SX1541, sx1541_t)
|
DECLARE_DEVICE_TYPE(SX1541, sx1541_device)
|
||||||
DECLARE_DEVICE_TYPE(FSD1, fsd1_t)
|
DECLARE_DEVICE_TYPE(FSD1, fsd1_device)
|
||||||
DECLARE_DEVICE_TYPE(FSD2, fsd2_t)
|
DECLARE_DEVICE_TYPE(FSD2, fsd2_device)
|
||||||
DECLARE_DEVICE_TYPE(CSD1, csd1_t)
|
DECLARE_DEVICE_TYPE(CSD1, csd1_device)
|
||||||
DECLARE_DEVICE_TYPE(C1541_DOLPHIN_DOS, c1541_dolphin_dos_t)
|
DECLARE_DEVICE_TYPE(C1541_DOLPHIN_DOS, c1541_dolphin_dos_device)
|
||||||
DECLARE_DEVICE_TYPE(C1541_PROFESSIONAL_DOS_V1, c1541_professional_dos_v1_t)
|
DECLARE_DEVICE_TYPE(C1541_PROFESSIONAL_DOS_V1, c1541_professional_dos_v1_device)
|
||||||
DECLARE_DEVICE_TYPE(C1541_PROLOGIC_DOS_CLASSIC, c1541_prologic_dos_classic_t)
|
DECLARE_DEVICE_TYPE(C1541_PROLOGIC_DOS_CLASSIC, c1541_prologic_dos_classic_device)
|
||||||
DECLARE_DEVICE_TYPE(INDUS_GT, indus_gt_t)
|
DECLARE_DEVICE_TYPE(INDUS_GT, indus_gt_device)
|
||||||
DECLARE_DEVICE_TYPE(TECHNICA, technica_t)
|
DECLARE_DEVICE_TYPE(TECHNICA, technica_device)
|
||||||
DECLARE_DEVICE_TYPE(BLUE_CHIP, blue_chip_t)
|
DECLARE_DEVICE_TYPE(BLUE_CHIP, blue_chip_device)
|
||||||
DECLARE_DEVICE_TYPE(COMMANDER_C2, commander_c2_t)
|
DECLARE_DEVICE_TYPE(COMMANDER_C2, commander_c2_device)
|
||||||
DECLARE_DEVICE_TYPE(ENHANCER_2000, enhancer_2000_t)
|
DECLARE_DEVICE_TYPE(ENHANCER_2000, enhancer_2000_device)
|
||||||
DECLARE_DEVICE_TYPE(FD148, fd148_t)
|
DECLARE_DEVICE_TYPE(FD148, fd148_device)
|
||||||
DECLARE_DEVICE_TYPE(MSD_SD1, msd_sd1_t)
|
DECLARE_DEVICE_TYPE(MSD_SD1, msd_sd1_device)
|
||||||
DECLARE_DEVICE_TYPE(MSD_SD2, msd_sd2_t)
|
DECLARE_DEVICE_TYPE(MSD_SD2, msd_sd2_device)
|
||||||
|
|
||||||
|
|
||||||
#endif // MAME_BUS_CBMIEC_C1541_H
|
#endif // MAME_BUS_CBMIEC_C1541_H
|
||||||
|
@ -33,8 +33,8 @@
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(C1563, c1563_device, "c1563", "Commodore 1563 3.5 Disk Drive")
|
DEFINE_DEVICE_TYPE(C1563, c1563_device, "c1563", "Commodore 1563 3.5\" Disk Drive")
|
||||||
DEFINE_DEVICE_TYPE(C1581, c1581_device, "c1581", "Commodore 1581 3.5 Disk Drive")
|
DEFINE_DEVICE_TYPE(C1581, c1581_device, "c1581", "Commodore 1581 3.5\" Disk Drive")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -222,8 +222,8 @@ DEFINE_DEVICE_TYPE(CBM_IEC_SLOT, cbm_iec_slot_device, "cbm_iec_slot", "CBM IEC s
|
|||||||
// device_cbm_iec_interface - constructor
|
// device_cbm_iec_interface - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
device_cbm_iec_interface::device_cbm_iec_interface(const machine_config &mconfig, device_t &device)
|
device_cbm_iec_interface::device_cbm_iec_interface(const machine_config &mconfig, device_t &device) :
|
||||||
: device_interface(device, "cbmiec"), m_next(nullptr), m_bus(nullptr), m_slot(nullptr)
|
device_interface(device, "cbmiec"), m_next(nullptr), m_bus(nullptr), m_slot(nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -273,14 +273,6 @@ void cbm_iec_slot_device::device_start()
|
|||||||
if (dev) bus->add_device(this, get_card_device());
|
if (dev) bus->add_device(this, get_card_device());
|
||||||
}
|
}
|
||||||
|
|
||||||
void cbm_iec_slot_device::add_slot(machine_config &config, const char *_tag, int _address, const char *_def_slot)
|
|
||||||
{
|
|
||||||
cbm_iec_slot_device &slot(CBM_IEC_SLOT(config, _tag, 0));
|
|
||||||
cbm_iec_devices(slot);
|
|
||||||
slot.set_default_option(_def_slot);
|
|
||||||
slot.set_address(_address);
|
|
||||||
}
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// LIVE DEVICE
|
// LIVE DEVICE
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
@ -289,8 +281,8 @@ void cbm_iec_slot_device::add_slot(machine_config &config, const char *_tag, int
|
|||||||
// cbm_iec_device - constructor
|
// cbm_iec_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
cbm_iec_device::cbm_iec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
cbm_iec_device::cbm_iec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
: device_t(mconfig, CBM_IEC, tag, owner, clock),
|
device_t(mconfig, CBM_IEC, tag, owner, clock),
|
||||||
m_write_srq(*this),
|
m_write_srq(*this),
|
||||||
m_write_atn(*this),
|
m_write_atn(*this),
|
||||||
m_write_clk(*this),
|
m_write_clk(*this),
|
||||||
@ -359,8 +351,8 @@ void cbm_iec_device::add_device(cbm_iec_slot_device *slot, device_t *target)
|
|||||||
// daisy_entry - constructor
|
// daisy_entry - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
cbm_iec_device::daisy_entry::daisy_entry(device_t *device)
|
cbm_iec_device::daisy_entry::daisy_entry(device_t *device) :
|
||||||
: m_next(nullptr),
|
m_next(nullptr),
|
||||||
m_device(device),
|
m_device(device),
|
||||||
m_interface(nullptr)
|
m_interface(nullptr)
|
||||||
{
|
{
|
||||||
@ -522,9 +514,9 @@ void cbm_iec_devices(device_slot_interface &device)
|
|||||||
device.option_add("cmdhd", CMD_HD);
|
device.option_add("cmdhd", CMD_HD);
|
||||||
device.option_add("fd2000", FD2000);
|
device.option_add("fd2000", FD2000);
|
||||||
device.option_add("fd4000", FD4000);
|
device.option_add("fd4000", FD4000);
|
||||||
device.option_add("interpod", INTERPOD);
|
device.option_add("interpod", CBM_INTERPOD);
|
||||||
device.option_add("minichief", MINI_CHIEF);
|
device.option_add("minichief", MINI_CHIEF);
|
||||||
device.option_add("serialbox", SERIAL_BOX);
|
device.option_add("serialbox", CBM_SERIAL_BOX);
|
||||||
device.option_add("diag264", DIAG264_SERIAL_LOOPBACK);
|
device.option_add("diag264", DIAG264_SERIAL_LOOPBACK);
|
||||||
device.option_add("nl10", C64_NL10_INTERFACE);
|
device.option_add("nl10", C64_NL10_INTERFACE);
|
||||||
device.option_add("vic1515", VIC1515);
|
device.option_add("vic1515", VIC1515);
|
||||||
|
@ -21,6 +21,9 @@
|
|||||||
#define CBM_IEC_TAG "iec_bus"
|
#define CBM_IEC_TAG "iec_bus"
|
||||||
|
|
||||||
|
|
||||||
|
DECLARE_DEVICE_TYPE(CBM_IEC, cbm_iec_device)
|
||||||
|
DECLARE_DEVICE_TYPE(CBM_IEC_SLOT, cbm_iec_slot_device)
|
||||||
|
|
||||||
void cbm_iec_devices(device_slot_interface &device);
|
void cbm_iec_devices(device_slot_interface &device);
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
@ -111,8 +114,6 @@ private:
|
|||||||
int m_line[SIGNAL_COUNT];
|
int m_line[SIGNAL_COUNT];
|
||||||
};
|
};
|
||||||
|
|
||||||
DECLARE_DEVICE_TYPE(CBM_IEC, cbm_iec_device)
|
|
||||||
|
|
||||||
|
|
||||||
// ======================> cbm_iec_slot_device
|
// ======================> cbm_iec_slot_device
|
||||||
|
|
||||||
@ -122,24 +123,24 @@ class cbm_iec_slot_device : public device_t,
|
|||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
template <typename T>
|
template <typename T>
|
||||||
cbm_iec_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
|
cbm_iec_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, int address, T &&opts, char const *dflt)
|
||||||
: cbm_iec_slot_device(mconfig, tag, owner, (uint32_t)0)
|
: cbm_iec_slot_device(mconfig, tag, owner, (uint32_t)0)
|
||||||
{
|
{
|
||||||
option_reset();
|
option_reset();
|
||||||
opts(*this);
|
opts(*this);
|
||||||
set_default_option(dflt);
|
set_default_option(dflt);
|
||||||
set_fixed(false);
|
set_fixed(false);
|
||||||
|
set_address(address);
|
||||||
}
|
}
|
||||||
cbm_iec_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
cbm_iec_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
static void add_slot(machine_config &config, const char *_tag, int _address, const char *_def_slot);
|
|
||||||
template <typename T> static void add(machine_config &config, T &&_bus_tag, const char *_default_drive)
|
template <typename T> static void add(machine_config &config, T &&_bus_tag, const char *_default_drive)
|
||||||
{
|
{
|
||||||
add_slot(config, "iec4", 4, nullptr);
|
CBM_IEC_SLOT(config, "iec4", 4, cbm_iec_devices, nullptr);
|
||||||
add_slot(config, "iec8", 8, _default_drive);
|
CBM_IEC_SLOT(config, "iec8", 8, cbm_iec_devices, _default_drive);
|
||||||
add_slot(config, "iec9", 9, nullptr);
|
CBM_IEC_SLOT(config, "iec9", 9, cbm_iec_devices, nullptr);
|
||||||
add_slot(config, "iec10", 10, nullptr);
|
CBM_IEC_SLOT(config, "iec10", 10, cbm_iec_devices, nullptr);
|
||||||
add_slot(config, "iec11", 11, nullptr);
|
CBM_IEC_SLOT(config, "iec11", 11, cbm_iec_devices, nullptr);
|
||||||
|
|
||||||
CBM_IEC(config, std::forward<T>(_bus_tag), 0);
|
CBM_IEC(config, std::forward<T>(_bus_tag), 0);
|
||||||
}
|
}
|
||||||
@ -182,6 +183,4 @@ protected:
|
|||||||
cbm_iec_slot_device *m_slot;
|
cbm_iec_slot_device *m_slot;
|
||||||
};
|
};
|
||||||
|
|
||||||
DECLARE_DEVICE_TYPE(CBM_IEC_SLOT, cbm_iec_slot_device)
|
|
||||||
|
|
||||||
#endif // MAME_BUS_CBMIEC_CBMIEC_H
|
#endif // MAME_BUS_CBMIEC_CBMIEC_H
|
||||||
|
@ -20,14 +20,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
|
||||||
// MACROS / CONSTANTS
|
|
||||||
//**************************************************************************
|
|
||||||
|
|
||||||
#define CMD_HD_TAG "cmdhd"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
@ -20,14 +20,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
|
||||||
// MACROS / CONSTANTS
|
|
||||||
//**************************************************************************
|
|
||||||
|
|
||||||
#define FD2000_TAG "fd2000"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
@ -67,17 +67,13 @@ Notes:
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
#define R6502_TAG "u1"
|
#define R6502_TAG "u1"
|
||||||
#define R6532_TAG "u3"
|
|
||||||
#define R6522_TAG "u4"
|
|
||||||
#define MC6850_TAG "u5"
|
|
||||||
#define RS232_TAG "rs232"
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(INTERPOD, interpod_t, "interpod", "Interpod")
|
DEFINE_DEVICE_TYPE(CBM_INTERPOD, cbm_interpod_device, "cbm_interpod", "Oxford Computer Systems Interpod")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -103,7 +99,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *interpod_t::device_rom_region() const
|
const tiny_rom_entry *cbm_interpod_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( interpod );
|
return ROM_NAME( interpod );
|
||||||
}
|
}
|
||||||
@ -113,13 +109,13 @@ const tiny_rom_entry *interpod_t::device_rom_region() const
|
|||||||
// ADDRESS_MAP( interpod_mem )
|
// ADDRESS_MAP( interpod_mem )
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void interpod_t::interpod_mem(address_map &map)
|
void cbm_interpod_device::interpod_mem(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x0000, 0x007f).mirror(0x3b80).m(R6532_TAG, FUNC(mos6532_new_device::ram_map));
|
map(0x0000, 0x007f).mirror(0x3b80).m(m_riot, FUNC(mos6532_new_device::ram_map));
|
||||||
map(0x0400, 0x041f).mirror(0x3be0).m(R6532_TAG, FUNC(mos6532_new_device::io_map));
|
map(0x0400, 0x041f).mirror(0x3be0).m(m_riot, FUNC(mos6532_new_device::io_map));
|
||||||
map(0x2000, 0x2001).mirror(0x9ffe).rw(MC6850_TAG, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
|
map(0x2000, 0x2001).mirror(0x9ffe).rw(m_acia, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
|
||||||
map(0x4000, 0x47ff).mirror(0xb800).rom().region(R6502_TAG, 0);
|
map(0x4000, 0x47ff).mirror(0xb800).rom().region(R6502_TAG, 0);
|
||||||
map(0x8000, 0x800f).mirror(0x5ff0).m(R6522_TAG, FUNC(via6522_device::map));
|
map(0x8000, 0x800f).mirror(0x5ff0).m(m_via, FUNC(via6522_device::map));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -127,10 +123,10 @@ void interpod_t::interpod_mem(address_map &map)
|
|||||||
// device_add_mconfig - add device configuration
|
// device_add_mconfig - add device configuration
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void interpod_t::device_add_mconfig(machine_config &config)
|
void cbm_interpod_device::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
M6502(config, m_maincpu, 1000000);
|
M6502(config, m_maincpu, 1000000);
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &interpod_t::interpod_mem);
|
m_maincpu->set_addrmap(AS_PROGRAM, &cbm_interpod_device::interpod_mem);
|
||||||
|
|
||||||
VIA6522(config, m_via, 1000000);
|
VIA6522(config, m_via, 1000000);
|
||||||
|
|
||||||
@ -150,18 +146,18 @@ void interpod_t::device_add_mconfig(machine_config &config)
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// interpod_t - constructor
|
// cbm_interpod_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
interpod_t::interpod_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
cbm_interpod_device::cbm_interpod_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
device_t(mconfig, INTERPOD, tag, owner, clock),
|
device_t(mconfig, CBM_INTERPOD, tag, owner, clock),
|
||||||
device_cbm_iec_interface(mconfig, *this),
|
device_cbm_iec_interface(mconfig, *this),
|
||||||
m_maincpu(*this, R6502_TAG),
|
m_maincpu(*this, R6502_TAG),
|
||||||
m_via(*this, R6522_TAG),
|
m_via(*this, "u4"),
|
||||||
m_riot(*this, R6532_TAG),
|
m_riot(*this, "u3"),
|
||||||
m_acia(*this, MC6850_TAG),
|
m_acia(*this, "u5"),
|
||||||
m_ieee(*this, IEEE488_TAG),
|
m_ieee(*this, IEEE488_TAG),
|
||||||
m_rs232(*this, RS232_TAG)
|
m_rs232(*this, "rs232")
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -170,7 +166,7 @@ interpod_t::interpod_t(const machine_config &mconfig, const char *tag, device_t
|
|||||||
// device_start - device-specific startup
|
// device_start - device-specific startup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void interpod_t::device_start()
|
void cbm_interpod_device::device_start()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -179,6 +175,6 @@ void interpod_t::device_start()
|
|||||||
// device_reset - device-specific reset
|
// device_reset - device-specific reset
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void interpod_t::device_reset()
|
void cbm_interpod_device::device_reset()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -25,14 +25,14 @@
|
|||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
// ======================> interpod_t
|
// ======================> cbm_interpod_device
|
||||||
|
|
||||||
class interpod_t : public device_t,
|
class cbm_interpod_device : public device_t,
|
||||||
public device_cbm_iec_interface
|
public device_cbm_iec_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
interpod_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
cbm_interpod_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
@ -56,7 +56,7 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
// device type definition
|
// device type definition
|
||||||
DECLARE_DEVICE_TYPE(INTERPOD, interpod_t)
|
DECLARE_DEVICE_TYPE(CBM_INTERPOD, cbm_interpod_device)
|
||||||
|
|
||||||
|
|
||||||
#endif // MAME_BUS_CBMIEC_INTERPOD_H
|
#endif // MAME_BUS_CBMIEC_INTERPOD_H
|
||||||
|
@ -32,7 +32,7 @@ enum
|
|||||||
// DEVICE DEFINITIONS
|
// DEVICE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(SERIAL_BOX, serial_box_device, "serbox", "Serial Box")
|
DEFINE_DEVICE_TYPE(CBM_SERIAL_BOX, cbm_serial_box_device, "cbm_serbox", "Serial Box")
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -49,7 +49,7 @@ ROM_END
|
|||||||
// rom_region - device-specific ROM region
|
// rom_region - device-specific ROM region
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
const tiny_rom_entry *serial_box_device::device_rom_region() const
|
const tiny_rom_entry *cbm_serial_box_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( serial_box );
|
return ROM_NAME( serial_box );
|
||||||
}
|
}
|
||||||
@ -59,7 +59,7 @@ const tiny_rom_entry *serial_box_device::device_rom_region() const
|
|||||||
// ADDRESS_MAP( serial_box_mem )
|
// ADDRESS_MAP( serial_box_mem )
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void serial_box_device::serial_box_mem(address_map &map)
|
void cbm_serial_box_device::serial_box_mem(address_map &map)
|
||||||
{
|
{
|
||||||
map(0xf000, 0xffff).rom().region(M6502_TAG, 0);
|
map(0xf000, 0xffff).rom().region(M6502_TAG, 0);
|
||||||
}
|
}
|
||||||
@ -69,10 +69,10 @@ void serial_box_device::serial_box_mem(address_map &map)
|
|||||||
// device_add_mconfig - add device configuration
|
// device_add_mconfig - add device configuration
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void serial_box_device::device_add_mconfig(machine_config &config)
|
void cbm_serial_box_device::device_add_mconfig(machine_config &config)
|
||||||
{
|
{
|
||||||
M65C02(config, m_maincpu, XTAL(4'000'000)/4);
|
M65C02(config, m_maincpu, XTAL(4'000'000)/4);
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &serial_box_device::serial_box_mem);
|
m_maincpu->set_addrmap(AS_PROGRAM, &cbm_serial_box_device::serial_box_mem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -82,11 +82,11 @@ void serial_box_device::device_add_mconfig(machine_config &config)
|
|||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// serial_box_device - constructor
|
// cbm_serial_box_device - constructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
serial_box_device::serial_box_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
cbm_serial_box_device::cbm_serial_box_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||||
: device_t(mconfig, SERIAL_BOX, tag, owner, clock),
|
: device_t(mconfig, CBM_SERIAL_BOX, tag, owner, clock),
|
||||||
device_cbm_iec_interface(mconfig, *this),
|
device_cbm_iec_interface(mconfig, *this),
|
||||||
m_maincpu(*this, M6502_TAG)
|
m_maincpu(*this, M6502_TAG)
|
||||||
{
|
{
|
||||||
@ -97,7 +97,7 @@ serial_box_device::serial_box_device(const machine_config &mconfig, const char *
|
|||||||
// device_start - device-specific startup
|
// device_start - device-specific startup
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void serial_box_device::device_start()
|
void cbm_serial_box_device::device_start()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ void serial_box_device::device_start()
|
|||||||
// device_reset - device-specific reset
|
// device_reset - device-specific reset
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void serial_box_device::device_reset()
|
void cbm_serial_box_device::device_reset()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ void serial_box_device::device_reset()
|
|||||||
// cbm_iec_atn -
|
// cbm_iec_atn -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void serial_box_device::cbm_iec_atn(int state)
|
void cbm_serial_box_device::cbm_iec_atn(int state)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ void serial_box_device::cbm_iec_atn(int state)
|
|||||||
// cbm_iec_data -
|
// cbm_iec_data -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void serial_box_device::cbm_iec_data(int state)
|
void cbm_serial_box_device::cbm_iec_data(int state)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,7 +133,7 @@ void serial_box_device::cbm_iec_data(int state)
|
|||||||
// cbm_iec_reset -
|
// cbm_iec_reset -
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void serial_box_device::cbm_iec_reset(int state)
|
void cbm_serial_box_device::cbm_iec_reset(int state)
|
||||||
{
|
{
|
||||||
if (!state)
|
if (!state)
|
||||||
{
|
{
|
||||||
|
@ -11,16 +11,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "cbmiec.h"
|
||||||
#include "cpu/m6502/m65c02.h"
|
#include "cpu/m6502/m65c02.h"
|
||||||
#include "bus/cbmiec/cbmiec.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
|
||||||
// MACROS / CONSTANTS
|
|
||||||
//**************************************************************************
|
|
||||||
|
|
||||||
#define SERIAL_BOX_TAG "serialbox"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -28,13 +20,13 @@
|
|||||||
// TYPE DEFINITIONS
|
// TYPE DEFINITIONS
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
// ======================> serial_box_device
|
// ======================> cbm_serial_box_device
|
||||||
|
|
||||||
class serial_box_device : public device_t, public device_cbm_iec_interface
|
class cbm_serial_box_device : public device_t, public device_cbm_iec_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
serial_box_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
cbm_serial_box_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
@ -58,7 +50,7 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
// device type definition
|
// device type definition
|
||||||
DECLARE_DEVICE_TYPE(SERIAL_BOX, serial_box_device)
|
DECLARE_DEVICE_TYPE(CBM_SERIAL_BOX, cbm_serial_box_device)
|
||||||
|
|
||||||
|
|
||||||
#endif // MAME_BUS_CBMIEC_SERIALBOX_H
|
#endif // MAME_BUS_CBMIEC_SERIALBOX_H
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "8530scc.h"
|
#include "8530scc.h"
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(SCC8530, scc8530_t, "scc8530l", "Zilog 8530 SCC (legacy)")
|
DEFINE_DEVICE_TYPE(SCC8530, scc8530_legacy_device, "scc8530l", "Zilog 8530 SCC (legacy)")
|
||||||
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
@ -25,7 +25,7 @@ DEFINE_DEVICE_TYPE(SCC8530, scc8530_t, "scc8530l", "Zilog 8530 SCC (legacy)")
|
|||||||
IMPLEMENTATION
|
IMPLEMENTATION
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
scc8530_t::scc8530_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
scc8530_legacy_device::scc8530_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
device_t(mconfig, SCC8530, tag, owner, clock),
|
device_t(mconfig, SCC8530, tag, owner, clock),
|
||||||
mode(0), reg(0), status(0), IRQV(0), MasterIRQEnable(0), lastIRQStat(0), IRQType(),
|
mode(0), reg(0), status(0), IRQV(0), MasterIRQEnable(0), lastIRQStat(0), IRQType(),
|
||||||
intrq_cb(*this)
|
intrq_cb(*this)
|
||||||
@ -37,7 +37,7 @@ scc8530_t::scc8530_t(const machine_config &mconfig, const char *tag, device_t *o
|
|||||||
scc_updateirqs
|
scc_updateirqs
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
void scc8530_t::updateirqs()
|
void scc8530_legacy_device::updateirqs()
|
||||||
{
|
{
|
||||||
int irqstat;
|
int irqstat;
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ void scc8530_t::updateirqs()
|
|||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
scc_initchannel
|
scc_initchannel
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
void scc8530_t::initchannel(int ch)
|
void scc8530_legacy_device::initchannel(int ch)
|
||||||
{
|
{
|
||||||
channel[ch].syncHunt = 1;
|
channel[ch].syncHunt = 1;
|
||||||
}
|
}
|
||||||
@ -98,7 +98,7 @@ void scc8530_t::initchannel(int ch)
|
|||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
scc_resetchannel
|
scc_resetchannel
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
void scc8530_t::resetchannel(int ch)
|
void scc8530_legacy_device::resetchannel(int ch)
|
||||||
{
|
{
|
||||||
emu_timer *timersave = channel[ch].baudtimer;
|
emu_timer *timersave = channel[ch].baudtimer;
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ void scc8530_t::resetchannel(int ch)
|
|||||||
scc8530_baud_expire - baud rate timer expiry
|
scc8530_baud_expire - baud rate timer expiry
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
void scc8530_t::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
|
void scc8530_legacy_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
|
||||||
{
|
{
|
||||||
Chan *pChan = &channel[id];
|
Chan *pChan = &channel[id];
|
||||||
int brconst = pChan->reg_val[13]<<8 | pChan->reg_val[14];
|
int brconst = pChan->reg_val[13]<<8 | pChan->reg_val[14];
|
||||||
@ -158,7 +158,7 @@ void scc8530_t::device_timer(emu_timer &timer, device_timer_id id, int param, vo
|
|||||||
device_start - device-specific startup
|
device_start - device-specific startup
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
void scc8530_t::device_start()
|
void scc8530_legacy_device::device_start()
|
||||||
{
|
{
|
||||||
intrq_cb.resolve();
|
intrq_cb.resolve();
|
||||||
|
|
||||||
@ -180,7 +180,7 @@ void scc8530_t::device_start()
|
|||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
device_reset - device-specific reset
|
device_reset - device-specific reset
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
void scc8530_t::device_reset()
|
void scc8530_legacy_device::device_reset()
|
||||||
{
|
{
|
||||||
IRQType = IRQ_NONE;
|
IRQType = IRQ_NONE;
|
||||||
MasterIRQEnable = 0;
|
MasterIRQEnable = 0;
|
||||||
@ -196,7 +196,7 @@ void scc8530_t::device_reset()
|
|||||||
scc_set_status
|
scc_set_status
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
void scc8530_t::set_status(int _status)
|
void scc8530_legacy_device::set_status(int _status)
|
||||||
{
|
{
|
||||||
status = _status;
|
status = _status;
|
||||||
}
|
}
|
||||||
@ -205,7 +205,7 @@ void scc8530_t::set_status(int _status)
|
|||||||
scc_acknowledge
|
scc_acknowledge
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
void scc8530_t::acknowledge()
|
void scc8530_legacy_device::acknowledge()
|
||||||
{
|
{
|
||||||
if(!intrq_cb.isnull())
|
if(!intrq_cb.isnull())
|
||||||
intrq_cb(0);
|
intrq_cb(0);
|
||||||
@ -215,7 +215,7 @@ void scc8530_t::acknowledge()
|
|||||||
scc_getareg
|
scc_getareg
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
uint8_t scc8530_t::getareg()
|
uint8_t scc8530_legacy_device::getareg()
|
||||||
{
|
{
|
||||||
/* Not yet implemented */
|
/* Not yet implemented */
|
||||||
#if LOG_SCC
|
#if LOG_SCC
|
||||||
@ -247,7 +247,7 @@ uint8_t scc8530_t::getareg()
|
|||||||
scc_getareg
|
scc_getareg
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
uint8_t scc8530_t::getbreg()
|
uint8_t scc8530_legacy_device::getbreg()
|
||||||
{
|
{
|
||||||
#if LOG_SCC
|
#if LOG_SCC
|
||||||
printf("SCC: port B reg %i read 0x%02x\n", reg, channel[1].reg_val[reg]);
|
printf("SCC: port B reg %i read 0x%02x\n", reg, channel[1].reg_val[reg]);
|
||||||
@ -286,7 +286,7 @@ uint8_t scc8530_t::getbreg()
|
|||||||
scc_putreg
|
scc_putreg
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
void scc8530_t::putreg(int ch, uint8_t data)
|
void scc8530_legacy_device::putreg(int ch, uint8_t data)
|
||||||
{
|
{
|
||||||
Chan *pChan = &channel[ch];
|
Chan *pChan = &channel[ch];
|
||||||
|
|
||||||
@ -418,7 +418,7 @@ void scc8530_t::putreg(int ch, uint8_t data)
|
|||||||
scc8530_get_reg_a
|
scc8530_get_reg_a
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
uint8_t scc8530_t::get_reg_a(int reg)
|
uint8_t scc8530_legacy_device::get_reg_a(int reg)
|
||||||
{
|
{
|
||||||
return channel[0].reg_val[reg];
|
return channel[0].reg_val[reg];
|
||||||
}
|
}
|
||||||
@ -429,7 +429,7 @@ uint8_t scc8530_t::get_reg_a(int reg)
|
|||||||
scc8530_get_reg_b
|
scc8530_get_reg_b
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
uint8_t scc8530_t::get_reg_b(int reg)
|
uint8_t scc8530_legacy_device::get_reg_b(int reg)
|
||||||
{
|
{
|
||||||
return channel[1].reg_val[reg];
|
return channel[1].reg_val[reg];
|
||||||
}
|
}
|
||||||
@ -440,7 +440,7 @@ uint8_t scc8530_t::get_reg_b(int reg)
|
|||||||
scc8530_set_reg_a
|
scc8530_set_reg_a
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
void scc8530_t::set_reg_a(int reg, uint8_t data)
|
void scc8530_legacy_device::set_reg_a(int reg, uint8_t data)
|
||||||
{
|
{
|
||||||
channel[0].reg_val[reg] = data;
|
channel[0].reg_val[reg] = data;
|
||||||
}
|
}
|
||||||
@ -451,7 +451,7 @@ void scc8530_t::set_reg_a(int reg, uint8_t data)
|
|||||||
scc8530_set_reg_b
|
scc8530_set_reg_b
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
|
||||||
void scc8530_t::set_reg_b(int reg, uint8_t data)
|
void scc8530_legacy_device::set_reg_b(int reg, uint8_t data)
|
||||||
{
|
{
|
||||||
channel[1].reg_val[reg] = data;
|
channel[1].reg_val[reg] = data;
|
||||||
}
|
}
|
||||||
@ -463,7 +463,7 @@ void scc8530_t::set_reg_b(int reg, uint8_t data)
|
|||||||
// getter
|
// getter
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
READ8_MEMBER(scc8530_t::reg_r)
|
READ8_MEMBER(scc8530_legacy_device::reg_r)
|
||||||
{
|
{
|
||||||
return read_reg(offset & 3);
|
return read_reg(offset & 3);
|
||||||
}
|
}
|
||||||
@ -475,7 +475,7 @@ READ8_MEMBER(scc8530_t::reg_r)
|
|||||||
// port for either SCC channel.
|
// port for either SCC channel.
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t scc8530_t::read_reg(int offset)
|
uint8_t scc8530_legacy_device::read_reg(int offset)
|
||||||
{
|
{
|
||||||
uint8_t result = 0;
|
uint8_t result = 0;
|
||||||
|
|
||||||
@ -507,7 +507,7 @@ uint8_t scc8530_t::read_reg(int offset)
|
|||||||
// setter
|
// setter
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
WRITE8_MEMBER( scc8530_t::reg_w )
|
WRITE8_MEMBER( scc8530_legacy_device::reg_w )
|
||||||
{
|
{
|
||||||
write_reg(offset & 3, data);
|
write_reg(offset & 3, data);
|
||||||
}
|
}
|
||||||
@ -519,7 +519,7 @@ WRITE8_MEMBER( scc8530_t::reg_w )
|
|||||||
// port for either SCC channel.
|
// port for either SCC channel.
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
void scc8530_t::write_reg(int offset, uint8_t data)
|
void scc8530_legacy_device::write_reg(int offset, uint8_t data)
|
||||||
{
|
{
|
||||||
//offset & 3;
|
//offset & 3;
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#ifndef MAME_MACHINE_8530SCC_H
|
#ifndef MAME_MACHINE_8530SCC_H
|
||||||
#define MAME_MACHINE_8530SCC_H
|
#define MAME_MACHINE_8530SCC_H
|
||||||
|
|
||||||
class scc8530_t : public device_t
|
class scc8530_legacy_device : public device_t
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum IRQType_t {
|
enum IRQType_t {
|
||||||
@ -26,7 +26,7 @@ public:
|
|||||||
IRQ_B_EXT
|
IRQ_B_EXT
|
||||||
};
|
};
|
||||||
|
|
||||||
scc8530_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
scc8530_legacy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
auto intrq_callback() { return intrq_cb.bind(); }
|
auto intrq_callback() { return intrq_cb.bind(); }
|
||||||
|
|
||||||
@ -98,6 +98,6 @@ private:
|
|||||||
MACROS
|
MACROS
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
DECLARE_DEVICE_TYPE(SCC8530, scc8530_t)
|
DECLARE_DEVICE_TYPE(SCC8530, scc8530_legacy_device)
|
||||||
|
|
||||||
#endif // MAME_MACHINE_8530SCC_H
|
#endif // MAME_MACHINE_8530SCC_H
|
||||||
|
@ -531,7 +531,7 @@ void abc80_state::abc80(machine_config &config)
|
|||||||
ABC80_KEYBOARD(config, m_kb, 0);
|
ABC80_KEYBOARD(config, m_kb, 0);
|
||||||
m_kb->keydown_wr_callback().set(FUNC(abc80_state::keydown_w));
|
m_kb->keydown_wr_callback().set(FUNC(abc80_state::keydown_w));
|
||||||
|
|
||||||
ABCBUS_SLOT(config, ABCBUS_TAG, XTAL(11'980'800)/2/2, abc80_cards, "abcexp");
|
ABCBUS_SLOT(config, m_bus, XTAL(11'980'800)/2/2, abc80_cards, "abcexp");
|
||||||
|
|
||||||
RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr);
|
RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr);
|
||||||
generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, KEYBOARD_TAG, 0));
|
generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, KEYBOARD_TAG, 0));
|
||||||
|
@ -153,6 +153,8 @@ Notes:
|
|||||||
|
|
||||||
#define LOG 0
|
#define LOG 0
|
||||||
|
|
||||||
|
#define ABCBUS_TAG "bus"
|
||||||
|
|
||||||
|
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
// SOUND
|
// SOUND
|
||||||
|
@ -1335,7 +1335,7 @@ void ste_state::ste_map(address_map &map)
|
|||||||
void megaste_state::megaste_map(address_map &map)
|
void megaste_state::megaste_map(address_map &map)
|
||||||
{
|
{
|
||||||
st_map(map);
|
st_map(map);
|
||||||
map(0xff8c80, 0xff8c87).rw(Z8530_TAG, FUNC(scc8530_t::reg_r), FUNC(scc8530_t::reg_w)).umask16(0x00ff);
|
map(0xff8c80, 0xff8c87).rw(Z8530_TAG, FUNC(scc8530_legacy_device::reg_r), FUNC(scc8530_legacy_device::reg_w)).umask16(0x00ff);
|
||||||
map(0xfffc20, 0xfffc3f).rw(RP5C15_TAG, FUNC(rp5c15_device::read), FUNC(rp5c15_device::write)).umask16(0x00ff);
|
map(0xfffc20, 0xfffc3f).rw(RP5C15_TAG, FUNC(rp5c15_device::read), FUNC(rp5c15_device::write)).umask16(0x00ff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1803,7 +1803,7 @@ void c128_state::c128d81(machine_config &config)
|
|||||||
m_iec->srq_callback().set(FUNC(c128_state::iec_srq_w));
|
m_iec->srq_callback().set(FUNC(c128_state::iec_srq_w));
|
||||||
m_iec->data_callback().set(FUNC(c128_state::iec_data_w));
|
m_iec->data_callback().set(FUNC(c128_state::iec_data_w));
|
||||||
|
|
||||||
CBM_IEC_SLOT(config.replace(), "iec8", c128d81_iec_devices, "c1563");
|
CBM_IEC_SLOT(config.replace(), "iec8", 8, c128d81_iec_devices, "c1563");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1572,7 +1572,7 @@ void sx64_state::ntsc_sx(machine_config &config)
|
|||||||
m_maincpu->set_pulls(0x07, 0xc0);
|
m_maincpu->set_pulls(0x07, 0xc0);
|
||||||
|
|
||||||
// devices
|
// devices
|
||||||
CBM_IEC_SLOT(config.replace(), "iec8", sx1541_iec_devices, "sx1541");
|
CBM_IEC_SLOT(config.replace(), "iec8", 8, sx1541_iec_devices, "sx1541");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1585,7 +1585,7 @@ void sx64_state::ntsc_dx(machine_config &config)
|
|||||||
ntsc_sx(config);
|
ntsc_sx(config);
|
||||||
|
|
||||||
// devices
|
// devices
|
||||||
CBM_IEC_SLOT(config.replace(), "iec9", sx1541_iec_devices, "sx1541");
|
CBM_IEC_SLOT(config.replace(), "iec9", 9, sx1541_iec_devices, "sx1541");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1732,7 +1732,7 @@ void sx64_state::pal_sx(machine_config &config)
|
|||||||
m_maincpu->set_pulls(0x07, 0xc0);
|
m_maincpu->set_pulls(0x07, 0xc0);
|
||||||
|
|
||||||
// devices
|
// devices
|
||||||
CBM_IEC_SLOT(config.replace(), "iec8", sx1541_iec_devices, "sx1541");
|
CBM_IEC_SLOT(config.replace(), "iec8", 8, sx1541_iec_devices, "sx1541");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -280,7 +280,7 @@ void mbee_state::mbeett_io(address_map &map)
|
|||||||
map(0x0109, 0x0109).mirror(0xfe00).r(FUNC(mbee_state::speed_high_r));
|
map(0x0109, 0x0109).mirror(0xfe00).r(FUNC(mbee_state::speed_high_r));
|
||||||
map(0x000a, 0x000a).mirror(0xfe00).rw(FUNC(mbee_state::telcom_low_r), FUNC(mbee_state::port0a_w));
|
map(0x000a, 0x000a).mirror(0xfe00).rw(FUNC(mbee_state::telcom_low_r), FUNC(mbee_state::port0a_w));
|
||||||
map(0x010a, 0x010a).mirror(0xfe00).rw(FUNC(mbee_state::telcom_high_r), FUNC(mbee_state::port0a_w));
|
map(0x010a, 0x010a).mirror(0xfe00).rw(FUNC(mbee_state::telcom_high_r), FUNC(mbee_state::port0a_w));
|
||||||
map(0x0068, 0x006f).mirror(0xff00).rw("scc", FUNC(scc8530_t::reg_r), FUNC(scc8530_t::reg_w));
|
map(0x0068, 0x006f).mirror(0xff00).rw("scc", FUNC(scc8530_legacy_device::reg_r), FUNC(scc8530_legacy_device::reg_w));
|
||||||
}
|
}
|
||||||
|
|
||||||
void mbee_state::mbee56_io(address_map &map)
|
void mbee_state::mbee56_io(address_map &map)
|
||||||
|
@ -915,7 +915,7 @@ void next_state::next_mem(address_map &map)
|
|||||||
map(0x02014020, 0x02014023).mirror(0x300000).rw(FUNC(next_state::scsictrl_r), FUNC(next_state::scsictrl_w));
|
map(0x02014020, 0x02014023).mirror(0x300000).rw(FUNC(next_state::scsictrl_r), FUNC(next_state::scsictrl_w));
|
||||||
map(0x02016000, 0x02016003).mirror(0x300000).rw(FUNC(next_state::timer_data_r), FUNC(next_state::timer_data_w));
|
map(0x02016000, 0x02016003).mirror(0x300000).rw(FUNC(next_state::timer_data_r), FUNC(next_state::timer_data_w));
|
||||||
map(0x02016004, 0x02016007).mirror(0x300000).rw(FUNC(next_state::timer_ctrl_r), FUNC(next_state::timer_ctrl_w));
|
map(0x02016004, 0x02016007).mirror(0x300000).rw(FUNC(next_state::timer_ctrl_r), FUNC(next_state::timer_ctrl_w));
|
||||||
map(0x02018000, 0x02018003).mirror(0x300000).rw(scc, FUNC(scc8530_t::reg_r), FUNC(scc8530_t::reg_w));
|
map(0x02018000, 0x02018003).mirror(0x300000).rw(scc, FUNC(scc8530_legacy_device::reg_r), FUNC(scc8530_legacy_device::reg_w));
|
||||||
// map(0x02018004, 0x02018007).mirror(0x300000); SCC CLK
|
// map(0x02018004, 0x02018007).mirror(0x300000); SCC CLK
|
||||||
// map(0x02018190, 0x02018197).mirror(0x300000); warp 9c DRAM timing
|
// map(0x02018190, 0x02018197).mirror(0x300000); warp 9c DRAM timing
|
||||||
// map(0x02018198, 0x0201819f).mirror(0x300000); warp 9c VRAM timing
|
// map(0x02018198, 0x0201819f).mirror(0x300000); warp 9c VRAM timing
|
||||||
|
@ -85,7 +85,7 @@ public:
|
|||||||
required_device<z80dma_device> m_dma1;
|
required_device<z80dma_device> m_dma1;
|
||||||
required_device<z80dma_device> m_dma2;
|
required_device<z80dma_device> m_dma2;
|
||||||
required_device<z80dart_device> m_dart;
|
required_device<z80dart_device> m_dart;
|
||||||
required_device<scc8530_t> m_scc;
|
required_device<scc8530_legacy_device> m_scc;
|
||||||
required_device<z8536_device> m_cio;
|
required_device<z8536_device> m_cio;
|
||||||
required_device<fd1797_device> m_fdc;
|
required_device<fd1797_device> m_fdc;
|
||||||
required_device<e0516_device> m_rtc;
|
required_device<e0516_device> m_rtc;
|
||||||
|
@ -71,7 +71,7 @@ public:
|
|||||||
m_pio(*this, Z80PIO_TAG),
|
m_pio(*this, Z80PIO_TAG),
|
||||||
m_csg(*this, SN76477_TAG),
|
m_csg(*this, SN76477_TAG),
|
||||||
m_cassette(*this, "cassette"),
|
m_cassette(*this, "cassette"),
|
||||||
m_bus(*this, ABCBUS_TAG),
|
m_bus(*this, "bus"),
|
||||||
m_kb(*this, ABC80_KEYBOARD_TAG),
|
m_kb(*this, ABC80_KEYBOARD_TAG),
|
||||||
m_ram(*this, RAM_TAG),
|
m_ram(*this, RAM_TAG),
|
||||||
m_rs232(*this, RS232_TAG),
|
m_rs232(*this, RS232_TAG),
|
||||||
|
@ -141,7 +141,7 @@ private:
|
|||||||
required_device<via6522_device> m_via0;
|
required_device<via6522_device> m_via0;
|
||||||
required_device<via6522_device> m_via1;
|
required_device<via6522_device> m_via1;
|
||||||
optional_device<applefdc_base_device> m_fdc;
|
optional_device<applefdc_base_device> m_fdc;
|
||||||
required_device<scc8530_t> m_scc;
|
required_device<scc8530_legacy_device> m_scc;
|
||||||
required_device<speaker_sound_device> m_speaker;
|
required_device<speaker_sound_device> m_speaker;
|
||||||
required_device<nvram_device> m_nvram;
|
required_device<nvram_device> m_nvram;
|
||||||
required_device<ls259_device> m_latch;
|
required_device<ls259_device> m_latch;
|
||||||
|
@ -259,7 +259,7 @@ private:
|
|||||||
optional_device<egret_device> m_egret;
|
optional_device<egret_device> m_egret;
|
||||||
optional_device<cuda_device> m_cuda;
|
optional_device<cuda_device> m_cuda;
|
||||||
required_device<ram_device> m_ram;
|
required_device<ram_device> m_ram;
|
||||||
required_device<scc8530_t> m_scc;
|
required_device<scc8530_legacy_device> m_scc;
|
||||||
optional_device<ncr539x_device> m_539x_1;
|
optional_device<ncr539x_device> m_539x_1;
|
||||||
optional_device<ncr539x_device> m_539x_2;
|
optional_device<ncr539x_device> m_539x_2;
|
||||||
optional_device<ncr5380_device> m_ncr5380;
|
optional_device<ncr5380_device> m_ncr5380;
|
||||||
|
@ -50,7 +50,7 @@ private:
|
|||||||
optional_device<awacs_device> m_awacs;
|
optional_device<awacs_device> m_awacs;
|
||||||
required_device<cuda_device> m_cuda;
|
required_device<cuda_device> m_cuda;
|
||||||
required_device<ram_device> m_ram;
|
required_device<ram_device> m_ram;
|
||||||
optional_device<scc8530_t> m_scc;
|
optional_device<scc8530_legacy_device> m_scc;
|
||||||
optional_device<ncr539x_device> m_539x_1;
|
optional_device<ncr539x_device> m_539x_1;
|
||||||
optional_device<ncr539x_device> m_539x_2;
|
optional_device<ncr539x_device> m_539x_2;
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
required_device<cpu_device> maincpu;
|
required_device<cpu_device> maincpu;
|
||||||
required_device<mccs1850_device> rtc;
|
required_device<mccs1850_device> rtc;
|
||||||
required_device<scc8530_t> scc;
|
required_device<scc8530_legacy_device> scc;
|
||||||
required_device<nextkbd_device> keyboard;
|
required_device<nextkbd_device> keyboard;
|
||||||
required_device<nscsi_bus_device> scsibus;
|
required_device<nscsi_bus_device> scsibus;
|
||||||
required_device<ncr5390_device> scsi;
|
required_device<ncr5390_device> scsi;
|
||||||
|
@ -114,7 +114,7 @@ protected:
|
|||||||
required_device<palette_device> m_pcgpalette;
|
required_device<palette_device> m_pcgpalette;
|
||||||
required_device<mc68901_device> m_mfpdev;
|
required_device<mc68901_device> m_mfpdev;
|
||||||
required_device<rp5c15_device> m_rtc;
|
required_device<rp5c15_device> m_rtc;
|
||||||
required_device<scc8530_t> m_scc;
|
required_device<scc8530_legacy_device> m_scc;
|
||||||
required_device<ym2151_device> m_ym2151;
|
required_device<ym2151_device> m_ym2151;
|
||||||
required_device<i8255_device> m_ppi;
|
required_device<i8255_device> m_ppi;
|
||||||
required_device<screen_device> m_screen;
|
required_device<screen_device> m_screen;
|
||||||
|
Loading…
Reference in New Issue
Block a user