(MESS) abc800: The hard disk units have only one floppy drive. (nw)

This commit is contained in:
Curt Coder 2013-11-13 22:42:10 +00:00
parent b5c017cc5a
commit 01849c3eb6
4 changed files with 95 additions and 26 deletions

View File

@ -77,8 +77,7 @@ machine_config_constructor abc894_device::device_mconfig_additions() const
//------------------------------------------------- //-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( abc850 ) static MACHINE_CONFIG_FRAGMENT( abc850 )
MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "fast") MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "abc850fdd")
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fast", abc850_fast)
MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec") MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec")
MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "ro202") MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "ro202")
MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, NULL) MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, NULL)
@ -105,8 +104,7 @@ machine_config_constructor abc850_device::device_mconfig_additions() const
//------------------------------------------------- //-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( abc852 ) static MACHINE_CONFIG_FRAGMENT( abc852 )
MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "fast") MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "abc850fdd")
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fast", abc850_fast)
MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec") MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec")
MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "basf6185") MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "basf6185")
MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, NULL) MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, NULL)
@ -133,8 +131,7 @@ machine_config_constructor abc852_device::device_mconfig_additions() const
//------------------------------------------------- //-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( abc856 ) static MACHINE_CONFIG_FRAGMENT( abc856 )
MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "fast") MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "abc850fdd")
MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fast", abc850_fast)
MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec") MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "xebec")
MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "micr1325") MCFG_DEVICE_CARD_DEFAULT_BIOS("xebec", "micr1325")
MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, NULL) MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, NULL)

View File

@ -89,6 +89,7 @@ SLOT_INTERFACE_START( abcbus_cards )
SLOT_INTERFACE("abc834", ABC834) SLOT_INTERFACE("abc834", ABC834)
SLOT_INTERFACE("abc838", ABC838) SLOT_INTERFACE("abc838", ABC838)
SLOT_INTERFACE("abc850", ABC850) SLOT_INTERFACE("abc850", ABC850)
SLOT_INTERFACE_INTERNAL("abc850fdd", ABC850_FLOPPY)
SLOT_INTERFACE("abc852", ABC852) SLOT_INTERFACE("abc852", ABC852)
SLOT_INTERFACE("abc856", ABC856) SLOT_INTERFACE("abc856", ABC856)
SLOT_INTERFACE("abc890", ABC890) SLOT_INTERFACE("abc890", ABC890)

View File

@ -101,6 +101,7 @@ const device_type ABC830 = &device_creator<abc830_device>;
const device_type ABC832 = &device_creator<abc832_device>; const device_type ABC832 = &device_creator<abc832_device>;
const device_type ABC834 = &device_creator<abc834_device>; const device_type ABC834 = &device_creator<abc834_device>;
const device_type ABC838 = &device_creator<abc838_device>; const device_type ABC838 = &device_creator<abc838_device>;
const device_type ABC850_FLOPPY = &device_creator<abc850_floppy_device>;
//------------------------------------------------- //-------------------------------------------------
@ -316,6 +317,16 @@ static MACHINE_CONFIG_DERIVED( abc838, luxor_55_21046 )
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// MACHINE_CONFIG( abc850 )
//-------------------------------------------------
static MACHINE_CONFIG_DERIVED( abc850, luxor_55_21046 )
MCFG_DEVICE_MODIFY(SAB1793_TAG":1")
MCFG_DEVICE_SLOT_INTERFACE(abc_floppies, NULL, false)
MACHINE_CONFIG_END
//------------------------------------------------- //-------------------------------------------------
// machine_config_additions - device-specific // machine_config_additions - device-specific
// machine configurations // machine configurations
@ -331,6 +342,11 @@ machine_config_constructor abc838_device::device_mconfig_additions() const
return MACHINE_CONFIG_NAME( abc838 ); return MACHINE_CONFIG_NAME( abc838 );
} }
machine_config_constructor abc850_floppy_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( abc850 );
}
//------------------------------------------------- //-------------------------------------------------
// INPUT_PORTS( luxor_55_21046 ) // INPUT_PORTS( luxor_55_21046 )
@ -598,6 +614,56 @@ INPUT_PORTS_START( abc838 )
INPUT_PORTS_END INPUT_PORTS_END
//-------------------------------------------------
// INPUT_PORTS( abc850 )
//-------------------------------------------------
INPUT_PORTS_START( abc850 )
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, 0x02, "Drive Type" ) PORT_DIPLOCATION("SW2:1,2,3,4")
PORT_DIPSETTING( 0x01, "TEAC FD55F" )
PORT_DIPSETTING( 0x02, "BASF 6138" )
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 - device-specific input ports // input_ports - device-specific input ports
//------------------------------------------------- //-------------------------------------------------
@ -627,6 +693,11 @@ ioport_constructor abc838_device::device_input_ports() const
return INPUT_PORTS_NAME( abc838 ); return INPUT_PORTS_NAME( abc838 );
} }
ioport_constructor abc850_floppy_device::device_input_ports() const
{
return INPUT_PORTS_NAME( abc850 );
}
//************************************************************************** //**************************************************************************
@ -697,6 +768,11 @@ abc838_device::abc838_device(const machine_config &mconfig, const char *tag, dev
{ {
} }
abc850_floppy_device::abc850_floppy_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: luxor_55_21046_device(mconfig, ABC850_FLOPPY, "ABC 850 floppy", tag, owner, clock, "lux21046", __FILE__)
{
}
//------------------------------------------------- //-------------------------------------------------
// device_start - device-specific startup // device_start - device-specific startup
@ -1057,19 +1133,3 @@ READ8_MEMBER( luxor_55_21046_device::_9a_r )
return data ^ 0xff; return data ^ 0xff;
} }
//**************************************************************************
// LUXOR 55 21046 DEVICE INPUT DEFAULTS
//**************************************************************************
//-------------------------------------------------
// DEVICE_INPUT_DEFAULTS( abc850_fast )
//-------------------------------------------------
DEVICE_INPUT_DEFAULTS_START( abc850_fast )
DEVICE_INPUT_DEFAULTS("SW1", 0x0f, 0x0f)
DEVICE_INPUT_DEFAULTS("SW2", 0x0f, DRIVE_BASF_6138)
DEVICE_INPUT_DEFAULTS("SW3", 0x7f, ADDRESS_ABC832)
DEVICE_INPUT_DEFAULTS_END

View File

@ -171,16 +171,27 @@ public:
}; };
// ======================> abc850_floppy_device
class abc850_floppy_device : public luxor_55_21046_device
{
public:
// construction/destruction
abc850_floppy_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 // device type definition
extern const device_type LUXOR_55_21046; extern const device_type LUXOR_55_21046;
extern const device_type ABC830; extern const device_type ABC830;
extern const device_type ABC832; extern const device_type ABC832;
extern const device_type ABC834; extern const device_type ABC834;
extern const device_type ABC838; extern const device_type ABC838;
extern const device_type ABC850_FLOPPY;
// default input ports
extern const input_device_default DEVICE_INPUT_DEFAULTS_NAME( abc850_fast )[];