mirror of
https://github.com/holub/mame
synced 2025-07-04 09:28:51 +03:00
floppy.c: add epson smd-165, used in the pf10
This commit is contained in:
parent
21a41ec805
commit
e68c36a77a
@ -51,7 +51,9 @@ const device_type EPSON_SMD_130 = &device_creator<epson_smd_130>;
|
||||
const device_type EPSON_SMD_140 = &device_creator<epson_smd_140>;
|
||||
const device_type EPSON_SMD_150 = &device_creator<epson_smd_150>;
|
||||
const device_type EPSON_SMD_160 = &device_creator<epson_smd_160>;
|
||||
#endif
|
||||
const device_type EPSON_SMD_165 = &device_creator<epson_smd_165>;
|
||||
#if 0
|
||||
const device_type EPSON_SMD_170 = &device_creator<epson_smd_170>;
|
||||
const device_type EPSON_SMD_180 = &device_creator<epson_smd_180>;
|
||||
const device_type EPSON_SMD_240L = &device_creator<epson_smd_240l>;
|
||||
@ -1506,6 +1508,40 @@ void floppy_8_dsdd::handled_variants(UINT32 *variants, int &var_count) const
|
||||
// SPECIFIC FLOPPY DRIVE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// epson smd-165
|
||||
//
|
||||
// track to track: 6 ms
|
||||
// average: 97 ms
|
||||
// setting time: 15 ms
|
||||
// motor start time: 1 s
|
||||
//
|
||||
//-------------------------------------------------
|
||||
|
||||
epson_smd_165::epson_smd_165(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
floppy_image_device(mconfig, EPSON_SD_321, "EPSON SMD-165 Floppy Disk Drive", tag, owner, clock, "epson_smd_165", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
epson_smd_165::~epson_smd_165()
|
||||
{
|
||||
}
|
||||
|
||||
void epson_smd_165::setup_characteristics()
|
||||
{
|
||||
form_factor = floppy_image::FF_35;
|
||||
tracks = 40;
|
||||
sides = 2;
|
||||
set_rpm(300);
|
||||
}
|
||||
|
||||
void epson_smd_165::handled_variants(UINT32 *variants, int &var_count) const
|
||||
{
|
||||
var_count = 0;
|
||||
variants[var_count++] = floppy_image::SSSD;
|
||||
variants[var_count++] = floppy_image::DSSD;
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// epson sd-320
|
||||
//
|
||||
|
@ -199,245 +199,44 @@ protected:
|
||||
astring try_file(astring location, astring name, bool has_crc, UINT32 crc);
|
||||
};
|
||||
|
||||
class floppy_3_ssdd : public floppy_image_device {
|
||||
public:
|
||||
floppy_3_ssdd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_3_ssdd();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_3"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
|
||||
class floppy_3_dsdd : public floppy_image_device {
|
||||
public:
|
||||
floppy_3_dsdd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_3_dsdd();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_3"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
#define DECLARE_FLOPPY_IMAGE_DEVICE(_name, _interface) \
|
||||
class _name : public floppy_image_device { \
|
||||
public: \
|
||||
_name(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); \
|
||||
virtual ~_name(); \
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const; \
|
||||
virtual const char *image_interface() const { return _interface; } \
|
||||
protected: \
|
||||
virtual void setup_characteristics(); \
|
||||
};
|
||||
|
||||
class floppy_35_ssdd : public floppy_image_device {
|
||||
public:
|
||||
floppy_35_ssdd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_35_ssdd();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_3_5"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_3_ssdd, "floppy_3")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_3_dsdd, "floppy_3")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_35_ssdd, "floppy_3_5")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_35_dd, "floppy_3_5")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_35_hd, "floppy_3_5")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_35_ed, "floppy_3_5")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_525_sssd_35t, "floppy_5_25")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_525_sd_35t, "floppy_5_25")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_525_sssd, "floppy_5_25")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_525_sd, "floppy_5_25")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_525_ssdd, "floppy_5_25")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_525_dd, "floppy_5_25")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_525_ssqd, "floppy_5_25")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_525_qd, "floppy_5_25")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_525_hd, "floppy_5_25")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_8_sssd, "floppy_8")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_8_dssd, "floppy_8")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_8_ssdd, "floppy_8")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(floppy_8_dsdd, "floppy_8")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(epson_smd_165, "floppy_3_5")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(epson_sd_320, "floppy_5_25")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(epson_sd_321, "floppy_5_25")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(sony_oa_d31v, "floppy_3_5")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(sony_oa_d32w, "floppy_3_5")
|
||||
DECLARE_FLOPPY_IMAGE_DEVICE(sony_oa_d32v, "floppy_3_5")
|
||||
|
||||
class floppy_35_dd : public floppy_image_device {
|
||||
public:
|
||||
floppy_35_dd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_35_dd();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_3_5"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
|
||||
class floppy_35_hd : public floppy_image_device {
|
||||
public:
|
||||
floppy_35_hd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_35_hd();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_3_5"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
|
||||
class floppy_35_ed : public floppy_image_device {
|
||||
public:
|
||||
floppy_35_ed(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_35_ed();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_3_5"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
|
||||
class floppy_525_sssd_35t : public floppy_image_device {
|
||||
public:
|
||||
floppy_525_sssd_35t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_525_sssd_35t();
|
||||
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_sd_35t : public floppy_image_device {
|
||||
public:
|
||||
floppy_525_sd_35t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_525_sd_35t();
|
||||
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_sssd : public floppy_image_device {
|
||||
public:
|
||||
floppy_525_sssd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_525_sssd();
|
||||
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_sd : public floppy_image_device {
|
||||
public:
|
||||
floppy_525_sd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_525_sd();
|
||||
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_ssdd : public floppy_image_device {
|
||||
public:
|
||||
floppy_525_ssdd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_525_ssdd();
|
||||
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_dd : public floppy_image_device {
|
||||
public:
|
||||
floppy_525_dd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_525_dd();
|
||||
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_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);
|
||||
virtual ~floppy_525_qd();
|
||||
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_hd : public floppy_image_device {
|
||||
public:
|
||||
floppy_525_hd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_525_hd();
|
||||
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_8_sssd : public floppy_image_device {
|
||||
public:
|
||||
floppy_8_sssd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_8_sssd();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_8"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
|
||||
class floppy_8_dssd : public floppy_image_device {
|
||||
public:
|
||||
floppy_8_dssd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_8_dssd();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_8"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
|
||||
class floppy_8_ssdd : public floppy_image_device {
|
||||
public:
|
||||
floppy_8_ssdd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_8_ssdd();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_8"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
|
||||
class floppy_8_dsdd : public floppy_image_device {
|
||||
public:
|
||||
floppy_8_dsdd(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~floppy_8_dsdd();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_8"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
|
||||
class epson_sd_320 : public floppy_image_device {
|
||||
public:
|
||||
epson_sd_320(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~epson_sd_320();
|
||||
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 epson_sd_321 : public floppy_image_device {
|
||||
public:
|
||||
epson_sd_321(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~epson_sd_321();
|
||||
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 sony_oa_d31v : public floppy_image_device {
|
||||
public:
|
||||
sony_oa_d31v(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~sony_oa_d31v();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_3_5"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
|
||||
class sony_oa_d32w : public floppy_image_device {
|
||||
public:
|
||||
sony_oa_d32w(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~sony_oa_d32w();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_3_5"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
|
||||
class sony_oa_d32v : public floppy_image_device {
|
||||
public:
|
||||
sony_oa_d32v(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~sony_oa_d32v();
|
||||
virtual void handled_variants(UINT32 *variants, int &var_count) const;
|
||||
virtual const char *image_interface() const { return "floppy_3_5"; }
|
||||
protected:
|
||||
virtual void setup_characteristics();
|
||||
};
|
||||
|
||||
class floppy_connector: public device_t,
|
||||
public device_slot_interface
|
||||
@ -479,6 +278,7 @@ extern const device_type FLOPPY_8_SSSD;
|
||||
extern const device_type FLOPPY_8_DSSD;
|
||||
extern const device_type FLOPPY_8_SSDD;
|
||||
extern const device_type FLOPPY_8_DSDD;
|
||||
extern const device_type EPSON_SMD_165;
|
||||
extern const device_type EPSON_SD_320;
|
||||
extern const device_type EPSON_SD_321;
|
||||
extern const device_type SONY_OA_D31V;
|
||||
|
@ -59,7 +59,7 @@ const rom_entry *epson_pf10_device::device_rom_region() const
|
||||
//-------------------------------------------------
|
||||
|
||||
static SLOT_INTERFACE_START( pf10_floppies )
|
||||
SLOT_INTERFACE( "35dd", FLOPPY_35_DD )
|
||||
SLOT_INTERFACE( "smd165", EPSON_SMD_165 )
|
||||
SLOT_INTERFACE_END
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( pf10 )
|
||||
@ -68,7 +68,7 @@ static MACHINE_CONFIG_FRAGMENT( pf10 )
|
||||
MCFG_CPU_IO_MAP(cpu_io)
|
||||
|
||||
MCFG_UPD765A_ADD("upd765a", false, true)
|
||||
MCFG_FLOPPY_DRIVE_ADD("upd765a:0", pf10_floppies, "35dd", floppy_image_device::default_floppy_formats) // SMD-165
|
||||
MCFG_FLOPPY_DRIVE_ADD("upd765a:0", pf10_floppies, "smd165", floppy_image_device::default_floppy_formats)
|
||||
|
||||
MCFG_EPSON_SIO_ADD("sio", NULL)
|
||||
MACHINE_CONFIG_END
|
||||
@ -88,7 +88,7 @@ machine_config_constructor epson_pf10_device::device_mconfig_additions() const
|
||||
//-------------------------------------------------
|
||||
|
||||
epson_pf10_device::epson_pf10_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
device_t(mconfig, EPSON_PF10, "EPSON PF-10 floppy drive", tag, owner, clock, "epson_pf10", __FILE__),
|
||||
device_t(mconfig, EPSON_PF10, "EPSON PF-10 Portable Floppy Unit", tag, owner, clock, "epson_pf10", __FILE__),
|
||||
device_epson_sio_interface(mconfig, *this),
|
||||
m_cpu(*this, "maincpu"),
|
||||
m_fdc(*this, "upd765a"),
|
||||
|
Loading…
Reference in New Issue
Block a user