diff options
author | Nigel Barnes <Pernod70@users.noreply.github.com> | 2020-06-15 17:10:48 +0100 |
---|---|---|
committer | Nigel Barnes <Pernod70@users.noreply.github.com> | 2020-06-15 17:12:06 +0100 |
commit | 19437e461e209e4158af436555b6dbdcdaae5d2a (patch) | |
tree | 3d4f573680c9011e13fdf3aab641b3f42ae764a1 /src/devices/machine/i8271.cpp | |
parent | 351479f33f298ecfe98bfbd8f6e0eea92e06ff72 (diff) |
bus/bbc/fdc: Added Solidisk DDFS Issues 1/2 and DFDC disk controller boards.
Diffstat (limited to 'src/devices/machine/i8271.cpp')
-rw-r--r-- | src/devices/machine/i8271.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/devices/machine/i8271.cpp b/src/devices/machine/i8271.cpp index 7d11e3aa26a..f70f1395f66 100644 --- a/src/devices/machine/i8271.cpp +++ b/src/devices/machine/i8271.cpp @@ -3,7 +3,6 @@ #include "emu.h" #include "i8271.h" -#include "imagedev/floppy.h" DEFINE_DEVICE_TYPE(I8271, i8271_device, "i8271", "Intel 8271 FDC") @@ -121,15 +120,23 @@ bool i8271_device::get_ready(int fid) return !external_ready; } -void i8271_device::set_floppy(floppy_image_device *flop) +void i8271_device::set_floppies(floppy_connector *f0, floppy_connector *f1) { - for(auto & elem : flopi) { - if(elem.dev) - elem.dev->setup_index_pulse_cb(floppy_image_device::index_pulse_cb()); - elem.dev = flop; + if (f0) { + flopi[0].dev = f0->get_device(); + if (flopi[0].dev != nullptr) + flopi[0].dev->setup_index_pulse_cb(floppy_image_device::index_pulse_cb(&i8271_device::index_callback, this)); } - if(flop) - flop->setup_index_pulse_cb(floppy_image_device::index_pulse_cb(&i8271_device::index_callback, this)); + else + flopi[0].dev = nullptr; + + if (f1) { + flopi[1].dev = f0->get_device(); + if (flopi[1].dev != nullptr) + flopi[1].dev->setup_index_pulse_cb(floppy_image_device::index_pulse_cb(&i8271_device::index_callback, this)); + } + else + flopi[1].dev = nullptr; } uint8_t i8271_device::sr_r() |