diff options
Diffstat (limited to 'src/devices/bus/msx_cart/disk.h')
-rw-r--r-- | src/devices/bus/msx_cart/disk.h | 85 |
1 files changed, 43 insertions, 42 deletions
diff --git a/src/devices/bus/msx_cart/disk.h b/src/devices/bus/msx_cart/disk.h index 2724ef39d4e..4d8a4d79146 100644 --- a/src/devices/bus/msx_cart/disk.h +++ b/src/devices/bus/msx_cart/disk.h @@ -1,7 +1,9 @@ // license:BSD-3-Clause // copyright-holders:Wilbert Pol -#ifndef __MSX_CART_DISK_H -#define __MSX_CART_DISK_H +#ifndef MAME_BUS_MSX_CART_DISK_H +#define MAME_BUS_MSX_CART_DISK_H + +#pragma once #include "bus/msx_cart/cartridge.h" #include "machine/wd_fdc.h" @@ -10,54 +12,52 @@ #include "imagedev/floppy.h" -extern const device_type MSX_CART_VY0010; -extern const device_type MSX_CART_FSFD1; -extern const device_type MSX_CART_FSFD1A; -extern const device_type MSX_CART_FSCF351; +DECLARE_DEVICE_TYPE(MSX_CART_VY0010, msx_cart_vy0010_device) +DECLARE_DEVICE_TYPE(MSX_CART_FSFD1, msx_cart_fsfd1_device) +DECLARE_DEVICE_TYPE(MSX_CART_FSFD1A, msx_cart_fsfd1a_device) +DECLARE_DEVICE_TYPE(MSX_CART_FSCF351, msx_cart_fscf351_device) -class msx_cart_disk : public device_t - , public msx_cart_interface +class msx_cart_disk_device : public device_t, public msx_cart_interface { public: - msx_cart_disk(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname); - virtual void initialize_cartridge() override; DECLARE_FLOPPY_FORMATS(floppy_formats); protected: + msx_cart_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + required_device<floppy_connector> m_floppy0; optional_device<floppy_connector> m_floppy1; floppy_image_device *m_floppy; }; -class msx_cart_disk_wd : public msx_cart_disk +class msx_cart_disk_wd_device : public msx_cart_disk_device { -public: - msx_cart_disk_wd(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname); - protected: - required_device<wd_fdc_analog_t> m_fdc; + msx_cart_disk_wd_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + + required_device<wd_fdc_analog_device_base> m_fdc; }; -class msx_cart_disk_type1 : public msx_cart_disk_wd +class msx_cart_disk_type1_device : public msx_cart_disk_wd_device { public: - msx_cart_disk_type1(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname); + virtual DECLARE_READ8_MEMBER(read_cart) override; + virtual DECLARE_WRITE8_MEMBER(write_cart) override; + +protected: + msx_cart_disk_type1_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; - virtual DECLARE_READ8_MEMBER(read_cart) override; - virtual DECLARE_WRITE8_MEMBER(write_cart) override; - void post_load(); -protected: uint8_t m_side_control; uint8_t m_control; @@ -66,77 +66,78 @@ protected: }; -class msx_cart_disk_type2 : public msx_cart_disk_wd +class msx_cart_disk_type2_device : public msx_cart_disk_wd_device { public: - msx_cart_disk_type2(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname); + virtual DECLARE_READ8_MEMBER(read_cart) override; + virtual DECLARE_WRITE8_MEMBER(write_cart) override; + +protected: + msx_cart_disk_type2_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; - virtual DECLARE_READ8_MEMBER(read_cart) override; - virtual DECLARE_WRITE8_MEMBER(write_cart) override; - void post_load(); -protected: uint8_t m_control; void set_control(uint8_t data); }; -class msx_cart_vy0010 : public msx_cart_disk_type1 +class msx_cart_vy0010_device : public msx_cart_disk_type1_device { public: - msx_cart_vy0010(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + msx_cart_vy0010_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual machine_config_constructor device_mconfig_additions() const override; }; -class msx_cart_fsfd1 : public msx_cart_disk_type1 +class msx_cart_fsfd1_device : public msx_cart_disk_type1_device { public: - msx_cart_fsfd1(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + msx_cart_fsfd1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual machine_config_constructor device_mconfig_additions() const override; }; -class msx_cart_fscf351 : public msx_cart_disk_type2 +class msx_cart_fscf351_device : public msx_cart_disk_type2_device { public: - msx_cart_fscf351(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + msx_cart_fscf351_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); virtual machine_config_constructor device_mconfig_additions() const override; }; -class msx_cart_disk_tc8566 : public msx_cart_disk +class msx_cart_disk_tc8566_device : public msx_cart_disk_device { -public: - msx_cart_disk_tc8566(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname); - protected: + msx_cart_disk_tc8566_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + required_device<tc8566af_device> m_fdc; }; -class msx_cart_fsfd1a : public msx_cart_disk_tc8566 +class msx_cart_fsfd1a_device : public msx_cart_disk_tc8566_device { public: - msx_cart_fsfd1a(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + msx_cart_fsfd1a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); // device-level overrides - virtual void device_start() override; - virtual void device_reset() override; virtual machine_config_constructor device_mconfig_additions() const override; virtual DECLARE_READ8_MEMBER(read_cart) override; virtual DECLARE_WRITE8_MEMBER(write_cart) override; + +protected: + virtual void device_start() override; + virtual void device_reset() override; }; -#endif +#endif // MAME_BUS_MSX_CART_DISK_H |