diff options
Diffstat (limited to 'src/devices/bus/vtech/memexp/floppy.h')
-rw-r--r-- | src/devices/bus/vtech/memexp/floppy.h | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/devices/bus/vtech/memexp/floppy.h b/src/devices/bus/vtech/memexp/floppy.h index a81ea420395..df208c0ef0a 100644 --- a/src/devices/bus/vtech/memexp/floppy.h +++ b/src/devices/bus/vtech/memexp/floppy.h @@ -24,7 +24,7 @@ // ======================> vtech_floppy_controller_device -class vtech_floppy_controller_device : public device_t, public device_vtech_memexp_interface +class vtech_floppy_controller_device : public vtech_memexp_device { public: // construction/destruction @@ -36,22 +36,25 @@ protected: virtual void device_start() override; virtual void device_reset() override; + virtual void mem_map(address_map &map) override; + virtual void io_map(address_map &map) override; + private: - void map(address_map &map); + required_device<vtech_memexp_slot_device> m_memexp; + required_device_array<floppy_connector, 2> m_floppy; + floppy_image_device *m_selected_floppy; + + static void floppy_formats(format_registration &fr); - DECLARE_WRITE8_MEMBER(latch_w); - DECLARE_READ8_MEMBER(shifter_r); - DECLARE_READ8_MEMBER(rd_r); - DECLARE_READ8_MEMBER(wpt_r); + void latch_w(uint8_t data); + uint8_t shifter_r(); + uint8_t rd_r(); + uint8_t wpt_r(); void index_callback(floppy_image_device *floppy, int state); void update_latching_inverter(); void flush_writes(bool keep_margin = false); - required_device<vtech_memexp_slot_device> m_memexp; - required_device<floppy_connector> m_floppy0, m_floppy1; - floppy_image_device *m_floppy; - uint8_t m_latch, m_shifter; bool m_latching_inverter; int m_current_cyl; |