(MESS) v1050: Fixed floppy drive type. [Curt Coder]

This commit is contained in:
Curt Coder 2013-05-11 10:08:32 +00:00
parent 82e8274aca
commit 599411bc47
3 changed files with 42 additions and 3 deletions

View File

@ -25,6 +25,7 @@ const device_type FLOPPY_525_SSSD = &device_creator<floppy_525_sssd>;
const device_type FLOPPY_525_SD = &device_creator<floppy_525_sd>;
const device_type FLOPPY_525_SSDD = &device_creator<floppy_525_ssdd>;
const device_type FLOPPY_525_DD = &device_creator<floppy_525_dd>;
const device_type FLOPPY_525_SSQD = &device_creator<floppy_525_ssqd>;
const device_type FLOPPY_525_QD = &device_creator<floppy_525_qd>;
const device_type FLOPPY_525_HD = &device_creator<floppy_525_hd>;
const device_type FLOPPY_8_SSSD = &device_creator<floppy_8_sssd>;
@ -1184,6 +1185,31 @@ void floppy_525_dd::handled_variants(UINT32 *variants, int &var_count) const
variants[var_count++] = floppy_image::DSDD;
}
floppy_525_ssqd::floppy_525_ssqd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
floppy_image_device(mconfig, FLOPPY_525_QD, "5.25\" single-sided quad density floppy drive", tag, owner, clock, "floppy_525_ssqd", __FILE__)
{
}
floppy_525_ssqd::~floppy_525_ssqd()
{
}
void floppy_525_ssqd::setup_characteristics()
{
form_factor = floppy_image::FF_525;
tracks = 84;
sides = 1;
set_rpm(300);
}
void floppy_525_ssqd::handled_variants(UINT32 *variants, int &var_count) const
{
var_count = 0;
variants[var_count++] = floppy_image::SSSD;
variants[var_count++] = floppy_image::SSDD;
variants[var_count++] = floppy_image::SSQD;
}
floppy_525_qd::floppy_525_qd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
floppy_image_device(mconfig, FLOPPY_525_QD, "5.25\" quad density floppy drive", tag, owner, clock, "floppy_525_qd", __FILE__)
{
@ -1207,6 +1233,7 @@ void floppy_525_qd::handled_variants(UINT32 *variants, int &var_count) const
variants[var_count++] = floppy_image::SSSD;
variants[var_count++] = floppy_image::SSDD;
variants[var_count++] = floppy_image::SSQD;
variants[var_count++] = floppy_image::DSSD;
variants[var_count++] = floppy_image::DSDD;
variants[var_count++] = floppy_image::DSQD;
}

View File

@ -316,6 +316,16 @@ protected:
virtual void setup_characteristics();
};
class floppy_525_ssqd : public floppy_image_device {
public:
floppy_525_ssqd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual ~floppy_525_ssqd();
virtual void handled_variants(UINT32 *variants, int &var_count) const;
virtual const char *image_interface() const { return "floppy_5_25"; }
protected:
virtual void setup_characteristics();
};
class floppy_525_qd : public floppy_image_device {
public:
floppy_525_qd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
@ -409,6 +419,7 @@ extern const device_type FLOPPY_525_SSSD;
extern const device_type FLOPPY_525_SD;
extern const device_type FLOPPY_525_SSDD;
extern const device_type FLOPPY_525_DD;
extern const device_type FLOPPY_525_SSQD;
extern const device_type FLOPPY_525_QD;
extern const device_type FLOPPY_525_HD;
extern const device_type FLOPPY_8_SSSD;

View File

@ -952,7 +952,8 @@ void v1050_state::update_fdc()
}
static SLOT_INTERFACE_START( v1050_floppies )
SLOT_INTERFACE( "525dd", FLOPPY_525_DD ) // Teac FD-55F
SLOT_INTERFACE( "525ssqd", FLOPPY_525_SSQD ) // Teac FD 55E-02-U
SLOT_INTERFACE( "525qd", FLOPPY_525_QD ) // Teac FD 55-FV-35-U
SLOT_INTERFACE_END
void v1050_state::fdc_intrq_w(bool state)
@ -1087,8 +1088,8 @@ static MACHINE_CONFIG_START( v1050, v1050_state )
MCFG_I8251_ADD(I8251A_KB_TAG, /*XTAL_16MHz/8,*/ kb_8251_intf)
MCFG_I8251_ADD(I8251A_SIO_TAG, /*XTAL_16MHz/8,*/ sio_8251_intf)
MCFG_MB8877x_ADD(MB8877_TAG, XTAL_16MHz/16)
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", v1050_floppies, "525dd", NULL, floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", v1050_floppies, "525dd", NULL, floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":0", v1050_floppies, "525qd", NULL, floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":1", v1050_floppies, "525qd", NULL, floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":2", v1050_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(MB8877_TAG":3", v1050_floppies, NULL, NULL, floppy_image_device::default_floppy_formats)
MCFG_TIMER_DRIVER_ADD_PERIODIC(TIMER_KB_TAG, v1050_state, kb_8251_tick, attotime::from_hz((double)XTAL_16MHz/4/13/8))