diff options
Diffstat (limited to 'src/devices/imagedev/floppy.h')
-rw-r--r-- | src/devices/imagedev/floppy.h | 122 |
1 files changed, 48 insertions, 74 deletions
diff --git a/src/devices/imagedev/floppy.h b/src/devices/imagedev/floppy.h index 8df3ed191d7..bc84ad3ab5e 100644 --- a/src/devices/imagedev/floppy.h +++ b/src/devices/imagedev/floppy.h @@ -6,8 +6,10 @@ *********************************************************************/ -#ifndef FLOPPY_H -#define FLOPPY_H +#ifndef MAME_DEVICES_IMAGEDEV_FLOPPY_H +#define MAME_DEVICES_IMAGEDEV_FLOPPY_H + +#pragma once #include "formats/flopimg.h" #include "formats/d88_dsk.h" @@ -71,7 +73,6 @@ public: typedef delegate<void (floppy_image_device *, int)> wpt_cb; // construction/destruction - floppy_image_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source); virtual ~floppy_image_device(); virtual void handled_variants(uint32_t *variants, int &var_count) const = 0; @@ -141,6 +142,8 @@ public: void enable_sound(bool doit) { m_make_sound = doit; } protected: + floppy_image_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + // device-level overrides virtual void device_start() override; virtual void device_reset() override; @@ -207,49 +210,50 @@ protected: floppy_sound_device* m_sound_out; }; -#define DECLARE_FLOPPY_IMAGE_DEVICE(_name, _interface) \ - class _name : public floppy_image_device { \ +#define DECLARE_FLOPPY_IMAGE_DEVICE(Type, Name, Interface) \ + class Name : public floppy_image_device { \ public: \ - _name(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); \ - virtual ~_name(); \ + Name(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); \ + virtual ~Name(); \ virtual void handled_variants(uint32_t *variants, int &var_count) const override; \ - virtual const char *image_interface() const override { return _interface; } \ + virtual const char *image_interface() const override { return Interface; } \ protected: \ virtual void setup_characteristics() override; \ - }; - -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") -DECLARE_FLOPPY_IMAGE_DEVICE(teac_fd_55e, "floppy_5_25") -DECLARE_FLOPPY_IMAGE_DEVICE(teac_fd_55f, "floppy_5_25") -DECLARE_FLOPPY_IMAGE_DEVICE(teac_fd_55g, "floppy_5_25") -DECLARE_FLOPPY_IMAGE_DEVICE(alps_3255190x, "floppy_5_25") -DECLARE_FLOPPY_IMAGE_DEVICE(ibm_6360, "floppy_8") - -extern const device_type FLOPPYSOUND; + }; \ + DECLARE_DEVICE_TYPE(Type, Name) + +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_3_SSDD, floppy_3_ssdd, "floppy_3") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_3_DSDD, floppy_3_dsdd, "floppy_3") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_35_SSDD, floppy_35_ssdd, "floppy_3_5") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_35_DD, floppy_35_dd, "floppy_3_5") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_35_HD, floppy_35_hd, "floppy_3_5") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_35_ED, floppy_35_ed, "floppy_3_5") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_SSSD_35T, floppy_525_sssd_35t, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_SD_35T, floppy_525_sd_35t, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_SSSD, floppy_525_sssd, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_SD, floppy_525_sd, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_SSDD, floppy_525_ssdd, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_DD, floppy_525_dd, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_SSQD, floppy_525_ssqd, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_QD, floppy_525_qd, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_525_HD, floppy_525_hd, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_8_SSSD, floppy_8_sssd, "floppy_8") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_8_DSSD, floppy_8_dssd, "floppy_8") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_8_SSDD, floppy_8_ssdd, "floppy_8") +DECLARE_FLOPPY_IMAGE_DEVICE(FLOPPY_8_DSDD, floppy_8_dsdd, "floppy_8") +DECLARE_FLOPPY_IMAGE_DEVICE(EPSON_SMD_165, epson_smd_165, "floppy_3_5") +DECLARE_FLOPPY_IMAGE_DEVICE(EPSON_SD_320, epson_sd_320, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(EPSON_SD_321, epson_sd_321, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(SONY_OA_D31V, sony_oa_d31v, "floppy_3_5") +DECLARE_FLOPPY_IMAGE_DEVICE(SONY_OA_D32W, sony_oa_d32w, "floppy_3_5") +DECLARE_FLOPPY_IMAGE_DEVICE(SONY_OA_D32V, sony_oa_d32v, "floppy_3_5") +DECLARE_FLOPPY_IMAGE_DEVICE(TEAC_FD_55E, teac_fd_55e, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(TEAC_FD_55F, teac_fd_55f, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(TEAC_FD_55G, teac_fd_55g, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(ALPS_3255190X, alps_3255190x, "floppy_5_25") +DECLARE_FLOPPY_IMAGE_DEVICE(IBM_6360, ibm_6360, "floppy_8") + +DECLARE_DEVICE_TYPE(FLOPPYSOUND, floppy_sound_device) /* @@ -313,39 +317,9 @@ private: // device type definition -extern const device_type FLOPPY_CONNECTOR; -extern const device_type FLOPPY_3_SSDD; -extern const device_type FLOPPY_3_DSDD; -extern const device_type FLOPPY_35_SSDD; -extern const device_type FLOPPY_35_DD; -extern const device_type FLOPPY_35_HD; -extern const device_type FLOPPY_35_ED; -extern const device_type FLOPPY_525_SSSD_35T; -extern const device_type FLOPPY_525_SD_35T; -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; -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; -extern const device_type SONY_OA_D32W; -extern const device_type SONY_OA_D32V; -extern const device_type TEAC_FD_55E; -extern const device_type TEAC_FD_55F; -extern const device_type TEAC_FD_55G; -extern const device_type ALPS_3255190x; -extern const device_type IBM_6360; +DECLARE_DEVICE_TYPE(FLOPPY_CONNECTOR, floppy_connector) extern template class device_finder<floppy_connector, false>; extern template class device_finder<floppy_connector, true>; -#endif /* FLOPPY_H */ +#endif // MAME_DEVICES_IMAGEDEV_FLOPPY_H |