mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
(MESS) abc800: Added slot devices for the ABC 830/832/834/838 floppy disk drives, and the ABC 850/852/856 hard disk drives. [Curt Coder]
This commit is contained in:
parent
9e1ebc7acd
commit
98c5c072e2
@ -20,6 +20,8 @@
|
||||
const device_type ABC890 = &device_creator<abc890_device>;
|
||||
const device_type ABC894 = &device_creator<abc894_device>;
|
||||
const device_type ABC850 = &device_creator<abc850_device>;
|
||||
const device_type ABC852 = &device_creator<abc852_device>;
|
||||
const device_type ABC856 = &device_creator<abc856_device>;
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -76,8 +78,9 @@ machine_config_constructor abc894_device::device_mconfig_additions() const
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( abc850 )
|
||||
MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "fast")
|
||||
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fast", abc850_fast) // TODO this does not work within a device
|
||||
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fast", abc850_fast)
|
||||
MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec")
|
||||
MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "ro202")
|
||||
MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, NULL)
|
||||
MCFG_ABCBUS_SLOT_ADD("io4", abcbus_cards, NULL)
|
||||
MCFG_ABCBUS_SLOT_ADD("io5", abcbus_cards, NULL)
|
||||
@ -97,6 +100,62 @@ machine_config_constructor abc850_device::device_mconfig_additions() const
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( abc852 )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( abc852 )
|
||||
MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "fast")
|
||||
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fast", abc850_fast)
|
||||
MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec")
|
||||
MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "basf6185")
|
||||
MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, NULL)
|
||||
MCFG_ABCBUS_SLOT_ADD("io4", abcbus_cards, NULL)
|
||||
MCFG_ABCBUS_SLOT_ADD("io5", abcbus_cards, NULL)
|
||||
MCFG_ABCBUS_SLOT_ADD("io6", abcbus_cards, NULL)
|
||||
MCFG_ABCBUS_SLOT_ADD("io7", abcbus_cards, NULL)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor abc852_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( abc852 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( abc856 )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( abc856 )
|
||||
MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "fast")
|
||||
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fast", abc850_fast)
|
||||
MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec")
|
||||
MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "micr1325")
|
||||
MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, NULL)
|
||||
MCFG_ABCBUS_SLOT_ADD("io4", abcbus_cards, NULL)
|
||||
MCFG_ABCBUS_SLOT_ADD("io5", abcbus_cards, NULL)
|
||||
MCFG_ABCBUS_SLOT_ADD("io6", abcbus_cards, NULL)
|
||||
MCFG_ABCBUS_SLOT_ADD("io7", abcbus_cards, NULL)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor abc856_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( abc856 );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
@ -114,21 +173,28 @@ abc890_device::abc890_device(const machine_config &mconfig, device_type type, co
|
||||
|
||||
abc890_device::abc890_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, ABC890, "ABC 890", tag, owner, clock, "abc890", __FILE__),
|
||||
device_abcbus_card_interface(mconfig, *this),
|
||||
m_slots(7)
|
||||
device_abcbus_card_interface(mconfig, *this)
|
||||
{
|
||||
}
|
||||
|
||||
abc894_device::abc894_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: abc890_device(mconfig, ABC894, "ABC 894", tag, owner, clock, "abc894", __FILE__)
|
||||
{
|
||||
m_slots = 3;
|
||||
}
|
||||
|
||||
abc850_device::abc850_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: abc890_device(mconfig, ABC850, "ABC 850", tag, owner, clock, "abc850", __FILE__)
|
||||
{
|
||||
m_slots = 7;
|
||||
}
|
||||
|
||||
abc852_device::abc852_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: abc890_device(mconfig, ABC852, "ABC 852", tag, owner, clock, "abc852", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
abc856_device::abc856_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: abc890_device(mconfig, ABC856, "ABC 856", tag, owner, clock, "abc856", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@ -138,34 +204,6 @@ abc850_device::abc850_device(const machine_config &mconfig, const char *tag, dev
|
||||
|
||||
void abc890_device::device_start()
|
||||
{
|
||||
// find devices
|
||||
m_expansion_slot[0] = dynamic_cast<abcbus_slot_device *>(subdevice("io1"));
|
||||
m_expansion_slot[1] = dynamic_cast<abcbus_slot_device *>(subdevice("io2"));
|
||||
m_expansion_slot[2] = dynamic_cast<abcbus_slot_device *>(subdevice("io3"));
|
||||
m_expansion_slot[3] = dynamic_cast<abcbus_slot_device *>(subdevice("io4"));
|
||||
m_expansion_slot[4] = dynamic_cast<abcbus_slot_device *>(subdevice("mem1"));
|
||||
m_expansion_slot[5] = dynamic_cast<abcbus_slot_device *>(subdevice("mem2"));
|
||||
m_expansion_slot[6] = dynamic_cast<abcbus_slot_device *>(subdevice("mem3"));
|
||||
}
|
||||
|
||||
void abc894_device::device_start()
|
||||
{
|
||||
// find devices
|
||||
m_expansion_slot[0] = dynamic_cast<abcbus_slot_device *>(subdevice("io1"));
|
||||
m_expansion_slot[1] = dynamic_cast<abcbus_slot_device *>(subdevice("io2"));
|
||||
m_expansion_slot[2] = dynamic_cast<abcbus_slot_device *>(subdevice("io3"));
|
||||
}
|
||||
|
||||
void abc850_device::device_start()
|
||||
{
|
||||
// find devices
|
||||
m_expansion_slot[0] = dynamic_cast<abcbus_slot_device *>(subdevice("io1"));
|
||||
m_expansion_slot[1] = dynamic_cast<abcbus_slot_device *>(subdevice("io2"));
|
||||
m_expansion_slot[2] = dynamic_cast<abcbus_slot_device *>(subdevice("io3"));
|
||||
m_expansion_slot[3] = dynamic_cast<abcbus_slot_device *>(subdevice("io4"));
|
||||
m_expansion_slot[4] = dynamic_cast<abcbus_slot_device *>(subdevice("io5"));
|
||||
m_expansion_slot[5] = dynamic_cast<abcbus_slot_device *>(subdevice("io6"));
|
||||
m_expansion_slot[6] = dynamic_cast<abcbus_slot_device *>(subdevice("io7"));
|
||||
}
|
||||
|
||||
|
||||
@ -175,106 +213,170 @@ void abc850_device::device_start()
|
||||
|
||||
void abc890_device::device_reset()
|
||||
{
|
||||
for (int i = 0; i < m_slots; i++)
|
||||
for (device_t *device = first_subdevice(); device != NULL; device = device->next())
|
||||
{
|
||||
m_expansion_slot[i]->reset();
|
||||
device->reset();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// ABC BUS INTERFACE
|
||||
//**************************************************************************
|
||||
//-------------------------------------------------
|
||||
// abcbus_cs - card select
|
||||
//-------------------------------------------------
|
||||
|
||||
void abc890_device::abcbus_cs(UINT8 data)
|
||||
{
|
||||
for (int i = 0; i < m_slots; i++)
|
||||
abcbus_slot_device_iterator iter(*this);
|
||||
|
||||
for (abcbus_slot_device *slot = iter.first(); slot != NULL; slot = iter.next())
|
||||
{
|
||||
m_expansion_slot[i]->cs_w(data);
|
||||
slot->cs_w(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_inp - input
|
||||
//-------------------------------------------------
|
||||
|
||||
UINT8 abc890_device::abcbus_inp()
|
||||
{
|
||||
UINT8 data = 0xff;
|
||||
|
||||
for (int i = 0; i < m_slots; i++)
|
||||
abcbus_slot_device_iterator iter(*this);
|
||||
|
||||
for (abcbus_slot_device *slot = iter.first(); slot != NULL; slot = iter.next())
|
||||
{
|
||||
data &= m_expansion_slot[i]->inp_r();
|
||||
data &= slot->inp_r();
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_out - output
|
||||
//-------------------------------------------------
|
||||
|
||||
void abc890_device::abcbus_out(UINT8 data)
|
||||
{
|
||||
for (int i = 0; i < m_slots; i++)
|
||||
abcbus_slot_device_iterator iter(*this);
|
||||
|
||||
for (abcbus_slot_device *slot = iter.first(); slot != NULL; slot = iter.next())
|
||||
{
|
||||
m_expansion_slot[i]->out_w(data);
|
||||
slot->out_w(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_stat - status
|
||||
//-------------------------------------------------
|
||||
|
||||
UINT8 abc890_device::abcbus_stat()
|
||||
{
|
||||
UINT8 data = 0xff;
|
||||
|
||||
for (int i = 0; i < m_slots; i++)
|
||||
abcbus_slot_device_iterator iter(*this);
|
||||
|
||||
for (abcbus_slot_device *slot = iter.first(); slot != NULL; slot = iter.next())
|
||||
{
|
||||
data &= m_expansion_slot[i]->stat_r();
|
||||
data &= slot->stat_r();
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_c1 - command 1
|
||||
//-------------------------------------------------
|
||||
|
||||
void abc890_device::abcbus_c1(UINT8 data)
|
||||
{
|
||||
for (int i = 0; i < m_slots; i++)
|
||||
abcbus_slot_device_iterator iter(*this);
|
||||
|
||||
for (abcbus_slot_device *slot = iter.first(); slot != NULL; slot = iter.next())
|
||||
{
|
||||
m_expansion_slot[i]->c1_w(data);
|
||||
slot->c1_w(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_c2 - command 2
|
||||
//-------------------------------------------------
|
||||
|
||||
void abc890_device::abcbus_c2(UINT8 data)
|
||||
{
|
||||
for (int i = 0; i < m_slots; i++)
|
||||
abcbus_slot_device_iterator iter(*this);
|
||||
|
||||
for (abcbus_slot_device *slot = iter.first(); slot != NULL; slot = iter.next())
|
||||
{
|
||||
m_expansion_slot[i]->c2_w(data);
|
||||
slot->c2_w(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_c3 - command 3
|
||||
//-------------------------------------------------
|
||||
|
||||
void abc890_device::abcbus_c3(UINT8 data)
|
||||
{
|
||||
for (int i = 0; i < m_slots; i++)
|
||||
abcbus_slot_device_iterator iter(*this);
|
||||
|
||||
for (abcbus_slot_device *slot = iter.first(); slot != NULL; slot = iter.next())
|
||||
{
|
||||
m_expansion_slot[i]->c3_w(data);
|
||||
slot->c3_w(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_c4 - command 4
|
||||
//-------------------------------------------------
|
||||
|
||||
void abc890_device::abcbus_c4(UINT8 data)
|
||||
{
|
||||
for (int i = 0; i < m_slots; i++)
|
||||
abcbus_slot_device_iterator iter(*this);
|
||||
|
||||
for (abcbus_slot_device *slot = iter.first(); slot != NULL; slot = iter.next())
|
||||
{
|
||||
m_expansion_slot[i]->c4_w(data);
|
||||
slot->c4_w(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_xmemfl - extended memory read
|
||||
//-------------------------------------------------
|
||||
|
||||
UINT8 abc890_device::abcbus_xmemfl(offs_t offset)
|
||||
{
|
||||
UINT8 data = 0xff;
|
||||
|
||||
for (int i = 0; i < m_slots; i++)
|
||||
abcbus_slot_device_iterator iter(*this);
|
||||
|
||||
for (abcbus_slot_device *slot = iter.first(); slot != NULL; slot = iter.next())
|
||||
{
|
||||
data &= m_expansion_slot[i]->xmemfl_r(offset);
|
||||
data &= slot->xmemfl_r(offset);
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// abcbus_xmemw - extended memory write
|
||||
//-------------------------------------------------
|
||||
|
||||
void abc890_device::abcbus_xmemw(offs_t offset, UINT8 data)
|
||||
{
|
||||
for (int i = 0; i < m_slots; i++)
|
||||
abcbus_slot_device_iterator iter(*this);
|
||||
|
||||
for (abcbus_slot_device *slot = iter.first(); slot != NULL; slot = iter.next())
|
||||
{
|
||||
m_expansion_slot[i]->xmemw_w(offset, data);
|
||||
slot->xmemw_w(offset, data);
|
||||
}
|
||||
}
|
||||
|
@ -60,13 +60,11 @@ protected:
|
||||
virtual void abcbus_c4(UINT8 data);
|
||||
virtual UINT8 abcbus_xmemfl(offs_t offset);
|
||||
virtual void abcbus_xmemw(offs_t offset, UINT8 data);
|
||||
|
||||
int m_slots;
|
||||
|
||||
abcbus_slot_device *m_expansion_slot[MAX_SLOTS];
|
||||
};
|
||||
|
||||
|
||||
// ======================> abc894_device
|
||||
|
||||
class abc894_device : public abc890_device
|
||||
{
|
||||
public:
|
||||
@ -75,13 +73,11 @@ public:
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const;
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
};
|
||||
|
||||
|
||||
// ======================> abc850_device
|
||||
|
||||
class abc850_device : public abc890_device
|
||||
{
|
||||
public:
|
||||
@ -90,10 +86,32 @@ public:
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const;
|
||||
};
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
|
||||
// ======================> abc852_device
|
||||
|
||||
class abc852_device : public abc890_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
abc852_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const;
|
||||
};
|
||||
|
||||
|
||||
// ======================> abc856_device
|
||||
|
||||
class abc856_device : public abc890_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
abc856_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const;
|
||||
};
|
||||
|
||||
|
||||
@ -101,6 +119,8 @@ protected:
|
||||
extern const device_type ABC890;
|
||||
extern const device_type ABC894;
|
||||
extern const device_type ABC850;
|
||||
extern const device_type ABC852;
|
||||
extern const device_type ABC856;
|
||||
|
||||
|
||||
|
||||
|
@ -84,10 +84,16 @@ void abcbus_slot_device::device_start()
|
||||
//-------------------------------------------------
|
||||
|
||||
SLOT_INTERFACE_START( abcbus_cards )
|
||||
SLOT_INTERFACE("exp", ABC890)
|
||||
SLOT_INTERFACE("exp3", ABC894)
|
||||
SLOT_INTERFACE("abc830", ABC830)
|
||||
SLOT_INTERFACE("abc832", ABC832)
|
||||
SLOT_INTERFACE("abc834", ABC834)
|
||||
SLOT_INTERFACE("abc838", ABC838)
|
||||
SLOT_INTERFACE("abc850", ABC850)
|
||||
SLOT_INTERFACE("abc852", ABC852)
|
||||
SLOT_INTERFACE("abc856", ABC856)
|
||||
SLOT_INTERFACE("abc890", ABC890)
|
||||
SLOT_INTERFACE("abc894", ABC894)
|
||||
SLOT_INTERFACE("hdc", ABC_HDC)
|
||||
SLOT_INTERFACE("hdd", ABC850)
|
||||
SLOT_INTERFACE("dos", ABC_DOS)
|
||||
SLOT_INTERFACE("fd2", ABC_FD2)
|
||||
SLOT_INTERFACE("sio", ABC_SIO)
|
||||
|
@ -327,5 +327,9 @@ SLOT_INTERFACE_EXTERN( abcbus_cards );
|
||||
SLOT_INTERFACE_EXTERN( abc1600bus_cards );
|
||||
|
||||
|
||||
typedef device_type_iterator<&device_creator<abcbus_slot_device>, abcbus_slot_device> abcbus_slot_device_iterator;
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -97,6 +97,10 @@ Notes:
|
||||
//**************************************************************************
|
||||
|
||||
const device_type LUXOR_55_21046 = &device_creator<luxor_55_21046_device>;
|
||||
const device_type ABC830 = &device_creator<abc830_device>;
|
||||
const device_type ABC832 = &device_creator<abc832_device>;
|
||||
const device_type ABC834 = &device_creator<abc834_device>;
|
||||
const device_type ABC838 = &device_creator<abc838_device>;
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -284,7 +288,7 @@ void luxor_55_21046_device::fdc_drq_w(bool state)
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_DRIVER( luxor_55_21046 )
|
||||
// MACHINE_CONFIG( luxor_55_21046 )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( luxor_55_21046 )
|
||||
@ -300,6 +304,18 @@ static MACHINE_CONFIG_FRAGMENT( luxor_55_21046 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG( abc838 )
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( abc838, luxor_55_21046 )
|
||||
MCFG_DEVICE_MODIFY(SAB1793_TAG":0")
|
||||
MCFG_DEVICE_SLOT_INTERFACE(abc_floppies, "8dsdd", false)
|
||||
MCFG_DEVICE_MODIFY(SAB1793_TAG":1")
|
||||
MCFG_DEVICE_SLOT_INTERFACE(abc_floppies, "8dsdd", false)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
@ -310,6 +326,11 @@ machine_config_constructor luxor_55_21046_device::device_mconfig_additions() con
|
||||
return MACHINE_CONFIG_NAME( luxor_55_21046 );
|
||||
}
|
||||
|
||||
machine_config_constructor abc838_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( abc838 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( luxor_55_21046 )
|
||||
@ -340,12 +361,12 @@ INPUT_PORTS_START( luxor_55_21046 )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Drive 1 Sides" ) PORT_DIPLOCATION("SW1:2") PORT_CONDITION("SW3", 0x7f, EQUALS, 0x2c)
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Single ) )
|
||||
PORT_DIPSETTING( 0x02, "Double" )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Drive 0 Tracks" ) PORT_DIPLOCATION("SW1:3") PORT_CONDITION("SW3", 0x7f, EQUALS, 0x2c)
|
||||
PORT_DIPSETTING( 0x00, "80" )
|
||||
PORT_DIPSETTING( 0x04, "40" )
|
||||
PORT_DIPNAME( 0x08, 0x00, "Drive 1 Tracks" ) PORT_DIPLOCATION("SW1:4") PORT_CONDITION("SW3", 0x7f, EQUALS, 0x2c)
|
||||
PORT_DIPSETTING( 0x00, "80" )
|
||||
PORT_DIPSETTING( 0x08, "40" )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Drive 0 Tracks" ) PORT_DIPLOCATION("SW1:3") PORT_CONDITION("SW3", 0x7f, EQUALS, 0x2c)
|
||||
PORT_DIPSETTING( 0x00, "40" )
|
||||
PORT_DIPSETTING( 0x04, "80" )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Drive 1 Tracks" ) PORT_DIPLOCATION("SW1:4") PORT_CONDITION("SW3", 0x7f, EQUALS, 0x2c)
|
||||
PORT_DIPSETTING( 0x00, "40" )
|
||||
PORT_DIPSETTING( 0x08, "80" )
|
||||
|
||||
PORT_START("SW2")
|
||||
PORT_DIPNAME( 0x0f, 0x01, "Drive Type" ) PORT_DIPLOCATION("SW2:1,2,3,4")
|
||||
@ -387,6 +408,196 @@ INPUT_PORTS_START( luxor_55_21046 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( abc830 )
|
||||
//-------------------------------------------------
|
||||
|
||||
INPUT_PORTS_START( abc830 )
|
||||
PORT_START("SW1")
|
||||
PORT_DIPNAME( 0x01, 0x00, "Drive 0 Sides" ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Single ) )
|
||||
PORT_DIPSETTING( 0x01, "Double" )
|
||||
PORT_DIPNAME( 0x02, 0x00, "Drive 1 Sides" ) PORT_DIPLOCATION("SW1:2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Single ) )
|
||||
PORT_DIPSETTING( 0x02, "Double" )
|
||||
PORT_DIPNAME( 0x04, 0x00, "Drive 0 Density" ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Single ) )
|
||||
PORT_DIPSETTING( 0x04, "Double" )
|
||||
PORT_DIPNAME( 0x08, 0x00, "Drive 1 Density" ) PORT_DIPLOCATION("SW1:4")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Single ) )
|
||||
PORT_DIPSETTING( 0x08, "Double" )
|
||||
|
||||
PORT_START("SW2")
|
||||
PORT_DIPNAME( 0x0f, 0x08, "Drive Type" ) PORT_DIPLOCATION("SW2:1,2,3,4")
|
||||
PORT_DIPSETTING( 0x08, "BASF 6106/08" )
|
||||
PORT_DIPSETTING( 0x09, "MPI 51" )
|
||||
|
||||
PORT_START("SW3")
|
||||
PORT_DIPNAME( 0x7f, 0x2d, "Card Address" ) PORT_DIPLOCATION("SW3:1,2,3,4,5,6,7")
|
||||
PORT_DIPSETTING( 0x2d, "45" )
|
||||
|
||||
PORT_START("S1") // also S3,S5
|
||||
PORT_DIPNAME( 0x01, 0x01, "Interface Type" )
|
||||
PORT_DIPSETTING( 0x00, "ABC 1600" )
|
||||
PORT_DIPSETTING( 0x01, "ABC 80/800/802/806" )
|
||||
|
||||
PORT_START("S6")
|
||||
PORT_DIPNAME( 0x01, 0x01, "RAM Size" )
|
||||
PORT_DIPSETTING( 0x00, "2 KB" )
|
||||
PORT_DIPSETTING( 0x01, "8 KB" )
|
||||
|
||||
PORT_START("S8")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Drive Type" )
|
||||
PORT_DIPSETTING( 0x00, "8\"" )
|
||||
PORT_DIPSETTING( 0x01, "5.25\"" )
|
||||
|
||||
PORT_START("S9")
|
||||
PORT_DIPNAME( 0x01, 0x01, "RDY Pin" )
|
||||
PORT_DIPSETTING( 0x00, "P2-6 (8\")" )
|
||||
PORT_DIPSETTING( 0x01, "P2-34 (5.25\")" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( abc832 )
|
||||
//-------------------------------------------------
|
||||
|
||||
INPUT_PORTS_START( abc832 )
|
||||
PORT_START("SW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Drive 0 Sides" ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Single ) )
|
||||
PORT_DIPSETTING( 0x01, "Double" )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Drive 1 Sides" ) PORT_DIPLOCATION("SW1:2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Single ) )
|
||||
PORT_DIPSETTING( 0x02, "Double" )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Drive 0 Tracks" ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x00, "40" )
|
||||
PORT_DIPSETTING( 0x04, "80" )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Drive 1 Tracks" ) PORT_DIPLOCATION("SW1:4")
|
||||
PORT_DIPSETTING( 0x00, "40" )
|
||||
PORT_DIPSETTING( 0x08, "80" )
|
||||
|
||||
PORT_START("SW2")
|
||||
PORT_DIPNAME( 0x0f, 0x04, "Drive Type" ) PORT_DIPLOCATION("SW2:1,2,3,4")
|
||||
PORT_DIPSETTING( 0x03, "Micropolis 1015F" )
|
||||
PORT_DIPSETTING( 0x04, "BASF 6118" )
|
||||
PORT_DIPSETTING( 0x05, "Micropolis 1115F" )
|
||||
|
||||
PORT_START("SW3")
|
||||
PORT_DIPNAME( 0x7f, 0x2c, "Card Address" ) PORT_DIPLOCATION("SW3:1,2,3,4,5,6,7")
|
||||
PORT_DIPSETTING( 0x2c, "44" )
|
||||
|
||||
PORT_START("S1") // also S3,S5
|
||||
PORT_DIPNAME( 0x01, 0x01, "Interface Type" )
|
||||
PORT_DIPSETTING( 0x00, "ABC 1600" )
|
||||
PORT_DIPSETTING( 0x01, "ABC 80/800/802/806" )
|
||||
|
||||
PORT_START("S6")
|
||||
PORT_DIPNAME( 0x01, 0x01, "RAM Size" )
|
||||
PORT_DIPSETTING( 0x00, "2 KB" )
|
||||
PORT_DIPSETTING( 0x01, "8 KB" )
|
||||
|
||||
PORT_START("S8")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Drive Type" )
|
||||
PORT_DIPSETTING( 0x00, "8\"" )
|
||||
PORT_DIPSETTING( 0x01, "5.25\"" )
|
||||
|
||||
PORT_START("S9")
|
||||
PORT_DIPNAME( 0x01, 0x01, "RDY Pin" )
|
||||
PORT_DIPSETTING( 0x00, "P2-6 (8\")" )
|
||||
PORT_DIPSETTING( 0x01, "P2-34 (5.25\")" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( abc834 )
|
||||
//-------------------------------------------------
|
||||
|
||||
INPUT_PORTS_START( abc834 )
|
||||
PORT_START("SW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Drive 0 Sides" ) PORT_DIPLOCATION("SW1:1")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Single ) )
|
||||
PORT_DIPSETTING( 0x01, "Double" )
|
||||
PORT_DIPNAME( 0x02, 0x02, "Drive 1 Sides" ) PORT_DIPLOCATION("SW1:2")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Single ) )
|
||||
PORT_DIPSETTING( 0x02, "Double" )
|
||||
PORT_DIPNAME( 0x04, 0x04, "Drive 0 Tracks" ) PORT_DIPLOCATION("SW1:3")
|
||||
PORT_DIPSETTING( 0x00, "40" )
|
||||
PORT_DIPSETTING( 0x04, "80" )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Drive 1 Tracks" ) PORT_DIPLOCATION("SW1:4")
|
||||
PORT_DIPSETTING( 0x00, "40" )
|
||||
PORT_DIPSETTING( 0x08, "80" )
|
||||
|
||||
PORT_START("SW2")
|
||||
PORT_DIPNAME( 0x0f, 0x01, "Drive Type" ) PORT_DIPLOCATION("SW2:1,2,3,4")
|
||||
PORT_DIPSETTING( 0x01, "TEAC FD55F" )
|
||||
|
||||
PORT_START("SW3")
|
||||
PORT_DIPNAME( 0x7f, 0x2c, "Card Address" ) PORT_DIPLOCATION("SW3:1,2,3,4,5,6,7")
|
||||
PORT_DIPSETTING( 0x2c, "44" )
|
||||
|
||||
PORT_START("S1") // also S3,S5
|
||||
PORT_DIPNAME( 0x01, 0x01, "Interface Type" )
|
||||
PORT_DIPSETTING( 0x00, "ABC 1600" )
|
||||
PORT_DIPSETTING( 0x01, "ABC 80/800/802/806" )
|
||||
|
||||
PORT_START("S6")
|
||||
PORT_DIPNAME( 0x01, 0x01, "RAM Size" )
|
||||
PORT_DIPSETTING( 0x00, "2 KB" )
|
||||
PORT_DIPSETTING( 0x01, "8 KB" )
|
||||
|
||||
PORT_START("S8")
|
||||
PORT_DIPNAME( 0x01, 0x01, "Drive Type" )
|
||||
PORT_DIPSETTING( 0x00, "8\"" )
|
||||
PORT_DIPSETTING( 0x01, "5.25\"" )
|
||||
|
||||
PORT_START("S9")
|
||||
PORT_DIPNAME( 0x01, 0x01, "RDY Pin" )
|
||||
PORT_DIPSETTING( 0x00, "P2-6 (8\")" )
|
||||
PORT_DIPSETTING( 0x01, "P2-34 (5.25\")" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// INPUT_PORTS( abc838 )
|
||||
//-------------------------------------------------
|
||||
|
||||
INPUT_PORTS_START( abc838 )
|
||||
PORT_START("SW1")
|
||||
PORT_DIPNAME( 0x0f, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Unused ) )
|
||||
|
||||
PORT_START("SW2")
|
||||
PORT_DIPNAME( 0x0f, 0x0e, "Drive Type" ) PORT_DIPLOCATION("SW2:1,2,3,4")
|
||||
PORT_DIPSETTING( 0x0e, "BASF 6105" )
|
||||
PORT_DIPSETTING( 0x0f, "BASF 6106" )
|
||||
|
||||
PORT_START("SW3")
|
||||
PORT_DIPNAME( 0x7f, 0x2e, "Card Address" ) PORT_DIPLOCATION("SW3:1,2,3,4,5,6,7")
|
||||
PORT_DIPSETTING( 0x2e, "46" )
|
||||
|
||||
PORT_START("S1") // also S3,S5
|
||||
PORT_DIPNAME( 0x01, 0x01, "Interface Type" )
|
||||
PORT_DIPSETTING( 0x00, "ABC 1600" )
|
||||
PORT_DIPSETTING( 0x01, "ABC 80/800/802/806" )
|
||||
|
||||
PORT_START("S6")
|
||||
PORT_DIPNAME( 0x01, 0x01, "RAM Size" )
|
||||
PORT_DIPSETTING( 0x00, "2 KB" )
|
||||
PORT_DIPSETTING( 0x01, "8 KB" )
|
||||
|
||||
PORT_START("S8")
|
||||
PORT_DIPNAME( 0x01, 0x00, "Drive Type" )
|
||||
PORT_DIPSETTING( 0x00, "8\"" )
|
||||
PORT_DIPSETTING( 0x01, "5.25\"" )
|
||||
|
||||
PORT_START("S9")
|
||||
PORT_DIPNAME( 0x01, 0x00, "RDY Pin" )
|
||||
PORT_DIPSETTING( 0x00, "P2-6 (8\")" )
|
||||
PORT_DIPSETTING( 0x01, "P2-34 (5.25\")" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// input_ports - device-specific input ports
|
||||
//-------------------------------------------------
|
||||
@ -396,6 +607,26 @@ ioport_constructor luxor_55_21046_device::device_input_ports() const
|
||||
return INPUT_PORTS_NAME( luxor_55_21046 );
|
||||
}
|
||||
|
||||
ioport_constructor abc830_device::device_input_ports() const
|
||||
{
|
||||
return INPUT_PORTS_NAME( abc830 );
|
||||
}
|
||||
|
||||
ioport_constructor abc832_device::device_input_ports() const
|
||||
{
|
||||
return INPUT_PORTS_NAME( abc832 );
|
||||
}
|
||||
|
||||
ioport_constructor abc834_device::device_input_ports() const
|
||||
{
|
||||
return INPUT_PORTS_NAME( abc834 );
|
||||
}
|
||||
|
||||
ioport_constructor abc838_device::device_input_ports() const
|
||||
{
|
||||
return INPUT_PORTS_NAME( abc838 );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -426,6 +657,46 @@ luxor_55_21046_device::luxor_55_21046_device(const machine_config &mconfig, cons
|
||||
{
|
||||
}
|
||||
|
||||
luxor_55_21046_device::luxor_55_21046_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
|
||||
: device_t(mconfig, type, name, tag, owner, clock, shortname, source),
|
||||
device_abcbus_card_interface(mconfig, *this),
|
||||
m_maincpu(*this, Z80_TAG),
|
||||
m_dma(*this, Z80DMA_TAG),
|
||||
m_fdc(*this, SAB1793_TAG),
|
||||
m_floppy0(*this, SAB1793_TAG":0"),
|
||||
m_floppy1(*this, SAB1793_TAG":1"),
|
||||
m_floppy(NULL),
|
||||
m_sw1(*this, "SW1"),
|
||||
m_sw2(*this, "SW2"),
|
||||
m_sw3(*this, "SW3"),
|
||||
m_cs(false),
|
||||
m_fdc_irq(0),
|
||||
m_dma_irq(0),
|
||||
m_busy(0),
|
||||
m_force_busy(0)
|
||||
{
|
||||
}
|
||||
|
||||
abc830_device::abc830_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: luxor_55_21046_device(mconfig, ABC830, "ABC 830", tag, owner, clock, "lux21046", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
abc832_device::abc832_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: luxor_55_21046_device(mconfig, ABC832, "ABC 832", tag, owner, clock, "lux21046", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
abc834_device::abc834_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: luxor_55_21046_device(mconfig, ABC834, "ABC 834", tag, owner, clock, "lux21046", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
abc838_device::abc838_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: luxor_55_21046_device(mconfig, ABC838, "ABC 838", tag, owner, clock, "lux21046", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
@ -793,56 +1064,12 @@ READ8_MEMBER( luxor_55_21046_device::_9a_r )
|
||||
// LUXOR 55 21046 DEVICE INPUT DEFAULTS
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// DEVICE_INPUT_DEFAULTS( abc830_fast_intf )
|
||||
//-------------------------------------------------
|
||||
|
||||
DEVICE_INPUT_DEFAULTS_START( abc830_fast )
|
||||
DEVICE_INPUT_DEFAULTS("SW1", 0x0f, 0x03)
|
||||
DEVICE_INPUT_DEFAULTS("SW2", 0x0f, DRIVE_BASF_6106_08)
|
||||
DEVICE_INPUT_DEFAULTS("SW3", 0x7f, ADDRESS_ABC830)
|
||||
DEVICE_INPUT_DEFAULTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// DEVICE_INPUT_DEFAULTS( abc832_fast )
|
||||
//-------------------------------------------------
|
||||
|
||||
DEVICE_INPUT_DEFAULTS_START( abc832_fast )
|
||||
DEVICE_INPUT_DEFAULTS("SW1", 0x0f, 0x03)
|
||||
DEVICE_INPUT_DEFAULTS("SW2", 0x0f, DRIVE_TEAC_FD55F)
|
||||
DEVICE_INPUT_DEFAULTS("SW3", 0x7f, ADDRESS_ABC832)
|
||||
DEVICE_INPUT_DEFAULTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// DEVICE_INPUT_DEFAULTS( abc834_fast )
|
||||
//-------------------------------------------------
|
||||
|
||||
DEVICE_INPUT_DEFAULTS_START( abc834_fast )
|
||||
DEVICE_INPUT_DEFAULTS("SW1", 0x0f, 0x03)
|
||||
DEVICE_INPUT_DEFAULTS("SW2", 0x0f, DRIVE_TEAC_FD55F)
|
||||
DEVICE_INPUT_DEFAULTS("SW3", 0x7f, ADDRESS_ABC832)
|
||||
DEVICE_INPUT_DEFAULTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// DEVICE_INPUT_DEFAULTS( abc838_fast )
|
||||
//-------------------------------------------------
|
||||
|
||||
DEVICE_INPUT_DEFAULTS_START( abc838_fast )
|
||||
DEVICE_INPUT_DEFAULTS("SW1", 0x0f, 0x03)
|
||||
DEVICE_INPUT_DEFAULTS("SW2", 0x0f, DRIVE_BASF_6105)
|
||||
DEVICE_INPUT_DEFAULTS("SW3", 0x7f, ADDRESS_ABC838)
|
||||
DEVICE_INPUT_DEFAULTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// DEVICE_INPUT_DEFAULTS( abc850_fast )
|
||||
//-------------------------------------------------
|
||||
|
||||
DEVICE_INPUT_DEFAULTS_START( abc850_fast )
|
||||
DEVICE_INPUT_DEFAULTS("SW1", 0x0f, 0x03)
|
||||
DEVICE_INPUT_DEFAULTS("SW1", 0x0f, 0x0f)
|
||||
DEVICE_INPUT_DEFAULTS("SW2", 0x0f, DRIVE_BASF_6138)
|
||||
DEVICE_INPUT_DEFAULTS("SW3", 0x7f, ADDRESS_ABC830)
|
||||
DEVICE_INPUT_DEFAULTS("SW3", 0x7f, ADDRESS_ABC832)
|
||||
DEVICE_INPUT_DEFAULTS_END
|
||||
|
@ -55,6 +55,7 @@ class luxor_55_21046_device : public device_t,
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
luxor_55_21046_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
luxor_55_21046_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// optional information overrides
|
||||
@ -117,15 +118,68 @@ private:
|
||||
};
|
||||
|
||||
|
||||
// ======================> abc830_device
|
||||
|
||||
class abc830_device : public luxor_55_21046_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
abc830_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual ioport_constructor device_input_ports() const;
|
||||
};
|
||||
|
||||
|
||||
// ======================> abc832_device
|
||||
|
||||
class abc832_device : public luxor_55_21046_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
abc832_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual ioport_constructor device_input_ports() const;
|
||||
};
|
||||
|
||||
|
||||
// ======================> abc834_device
|
||||
|
||||
class abc834_device : public luxor_55_21046_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
abc834_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual ioport_constructor device_input_ports() const;
|
||||
};
|
||||
|
||||
|
||||
// ======================> abc838_device
|
||||
|
||||
class abc838_device : public luxor_55_21046_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
abc838_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const;
|
||||
virtual ioport_constructor device_input_ports() const;
|
||||
};
|
||||
|
||||
|
||||
// device type definition
|
||||
extern const device_type LUXOR_55_21046;
|
||||
extern const device_type ABC830;
|
||||
extern const device_type ABC832;
|
||||
extern const device_type ABC834;
|
||||
extern const device_type ABC838;
|
||||
|
||||
|
||||
// default input ports
|
||||
extern const input_device_default DEVICE_INPUT_DEFAULTS_NAME( abc830_fast )[];
|
||||
extern const input_device_default DEVICE_INPUT_DEFAULTS_NAME( abc832_fast )[];
|
||||
extern const input_device_default DEVICE_INPUT_DEFAULTS_NAME( abc834_fast )[];
|
||||
extern const input_device_default DEVICE_INPUT_DEFAULTS_NAME( abc838_fast )[];
|
||||
extern const input_device_default DEVICE_INPUT_DEFAULTS_NAME( abc850_fast )[];
|
||||
|
||||
|
||||
|
@ -28,17 +28,17 @@
|
||||
Start the abc800 emulator with the ABC 850 attached on the ABC bus,
|
||||
with the new CHD and a UFD-DOS floppy mounted:
|
||||
|
||||
$ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=ro202 -flop1 ufd631 -hard ro202.chd
|
||||
$ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=basf6186 -flop1 ufd631 -hard basf6186.chd
|
||||
$ mess abc800m -bus abc850 -flop1 ufd631 -hard ro202.chd
|
||||
$ mess abc800m -bus abc850 -bus:abc850:io2 xebec,bios=basf6186 -flop1 ufd631 -hard basf6186.chd
|
||||
|
||||
or with the ABC 852 attached:
|
||||
|
||||
$ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=basf6185 -flop1 ufd631 -hard basf6185.chd
|
||||
$ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=nec5126 -flop1 ufd631 -hard nec5126.chd
|
||||
$ mess abc800m -bus abc852 -flop1 ufd631 -hard basf6185.chd
|
||||
$ mess abc800m -bus abc852 -bus:abc852:io2 xebec,bios=nec5126 -flop1 ufd631 -hard nec5126.chd
|
||||
|
||||
or with the ABC 856 attached:
|
||||
|
||||
$ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=micr1325 -flop1 ufd631 -hard micr1325.chd
|
||||
$ mess abc800m -bus abc856 -flop1 ufd631 -hard micr1325.chd
|
||||
|
||||
Configure the floppy controller for use with an ABC 850:
|
||||
|
||||
@ -68,9 +68,9 @@
|
||||
|
||||
Or skip all of the above and use the preformatted images in the software list:
|
||||
|
||||
$ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=ro202 -flop1 ufd631 -hard abc850
|
||||
$ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=basf6185 -flop1 ufd631 -hard abc852
|
||||
$ mess abc800m -bus hdd -bus:hdd:io2 xebec,bios=micr1325 -flop1 ufd631 -hard abc856
|
||||
$ mess abc800m -bus abc850 -flop1 ufd631 -hard abc850
|
||||
$ mess abc800m -bus abc852 -flop1 ufd631 -hard abc852
|
||||
$ mess abc800m -bus abc856 -flop1 ufd631 -hard abc856
|
||||
|
||||
*/
|
||||
|
||||
|
@ -1181,8 +1181,7 @@ static MACHINE_CONFIG_START( abc800c, abc800c_state )
|
||||
MCFG_ABC_KEYBOARD_PORT_ADD("abc800", DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
|
||||
|
||||
// ABC bus
|
||||
MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "fast")
|
||||
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fast", abc830_fast)
|
||||
MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "abc830")
|
||||
|
||||
// internal ram
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
@ -1225,8 +1224,7 @@ static MACHINE_CONFIG_START( abc800m, abc800m_state )
|
||||
MCFG_ABC_KEYBOARD_PORT_ADD("abc800", DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
|
||||
|
||||
// ABC bus
|
||||
MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "fast")
|
||||
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fast", abc830_fast)
|
||||
MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "abc830")
|
||||
|
||||
// internal ram
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
@ -1269,8 +1267,7 @@ static MACHINE_CONFIG_START( abc802, abc802_state )
|
||||
MCFG_ABC_KEYBOARD_PORT_ADD("abc55", DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
|
||||
|
||||
// ABC bus
|
||||
MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "fast")
|
||||
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fast", abc834_fast)
|
||||
MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "abc834")
|
||||
|
||||
// internal ram
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
@ -1306,8 +1303,7 @@ static MACHINE_CONFIG_START( abc806, abc806_state )
|
||||
MCFG_ABC_KEYBOARD_PORT_ADD("abc77", DEVWRITELINE(Z80DART_TAG, z80dart_device, rxtxcb_w), DEVWRITELINE(Z80DART_TAG, z80dart_device, dcdb_w))
|
||||
|
||||
// ABC bus
|
||||
MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "fast")
|
||||
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fast", abc832_fast)
|
||||
MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "abc832")
|
||||
|
||||
// internal ram
|
||||
MCFG_RAM_ADD(RAM_TAG)
|
||||
|
Loading…
Reference in New Issue
Block a user