summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/mc6843.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/mc6843.h')
-rw-r--r--src/devices/machine/mc6843.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/devices/machine/mc6843.h b/src/devices/machine/mc6843.h
index 63052970edb..c75ba561548 100644
--- a/src/devices/machine/mc6843.h
+++ b/src/devices/machine/mc6843.h
@@ -21,6 +21,15 @@ class mc6843_device : public device_t
public:
mc6843_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ template<int Id, typename T> void set_floppy_drive(T &&tag) { m_floppy[Id].set_tag(std::forward<T>(tag)); }
+ template<typename T, typename U, typename V, typename W> void set_floppy_drives(T &&tag0, U &&tag1, V &&tag2, W &&tag3)
+ {
+ m_floppy[0].set_tag(std::forward<T>(tag0));
+ m_floppy[1].set_tag(std::forward<U>(tag1));
+ m_floppy[2].set_tag(std::forward<V>(tag2));
+ m_floppy[3].set_tag(std::forward<W>(tag3));
+ }
+
auto irq() { return m_write_irq.bind(); }
DECLARE_READ8_MEMBER(read);
@@ -42,6 +51,8 @@ private:
TIMER_CONT
};
+ optional_device_array<legacy_floppy_image_device, 4> m_floppy;
+
devcb_write_line m_write_irq;
/* registers */
@@ -68,7 +79,6 @@ private:
/* trigger delayed actions (bottom halves) */
emu_timer* m_timer_cont;
- legacy_floppy_image_device* floppy_image(uint8_t drive);
legacy_floppy_image_device* floppy_image();
void status_update();
void cmd_end();