atarist.cpp: Use device finder for floppies (nw)

blitz68k.cpp: Of course this has to be optional (nw)
This commit is contained in:
AJR 2018-05-26 12:01:56 -04:00
parent 11e613b1cd
commit 3b1f444328
3 changed files with 7 additions and 16 deletions

View File

@ -1701,9 +1701,9 @@ WRITE8_MEMBER( st_state::psg_pa_w )
// drive select // drive select
floppy_image_device *floppy = nullptr; floppy_image_device *floppy = nullptr;
if (!BIT(data, 1)) if (!BIT(data, 1))
floppy = floppy_devices[0]; floppy = m_floppy[0]->get_device();
else if(!BIT(data, 2)) else if(!BIT(data, 2))
floppy = floppy_devices[1]; floppy = m_floppy[1]->get_device();
// side select // side select
if(floppy) if(floppy)
@ -1745,9 +1745,9 @@ WRITE8_MEMBER( stbook_state::psg_pa_w )
// drive select // drive select
floppy_image_device *floppy = nullptr; floppy_image_device *floppy = nullptr;
if (!BIT(data, 1)) if (!BIT(data, 1))
floppy = floppy_devices[0]; floppy = m_floppy[0]->get_device();
else if(!BIT(data, 2)) else if(!BIT(data, 2))
floppy = floppy_devices[1]; floppy = m_floppy[1]->get_device();
// side select // side select
if(floppy) if(floppy)
@ -1908,15 +1908,6 @@ void st_state::machine_start()
// register for state saving // register for state saving
state_save(); state_save();
static const char *names[] = { WD1772_TAG ":0", WD1772_TAG ":1" };
for(int i=0; i != 2; i++) {
floppy_connector *con = machine().device<floppy_connector>(names[i]);
if(con)
floppy_devices[i] = con->get_device();
else
floppy_devices[i] = nullptr;
}
/// TODO: get callbacks to trigger these. /// TODO: get callbacks to trigger these.
m_mfp->i0_w(1); m_mfp->i0_w(1);
m_mfp->i5_w(1); m_mfp->i5_w(1);

View File

@ -210,7 +210,7 @@ protected:
optional_shared_ptr<uint16_t> m_leds2; optional_shared_ptr<uint16_t> m_leds2;
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;
required_device<mc6845_device> m_crtc; optional_device<mc6845_device> m_crtc;
output_finder<17> m_led; output_finder<17> m_led;
}; };

View File

@ -85,6 +85,7 @@ public:
: driver_device(mconfig, type, tag), : driver_device(mconfig, type, tag),
m_maincpu(*this, M68000_TAG), m_maincpu(*this, M68000_TAG),
m_fdc(*this, WD1772_TAG), m_fdc(*this, WD1772_TAG),
m_floppy(*this, WD1772_TAG ":%u", 0U),
m_mfp(*this, MC68901_TAG), m_mfp(*this, MC68901_TAG),
m_acia0(*this, MC6850_0_TAG), m_acia0(*this, MC6850_0_TAG),
m_acia1(*this, MC6850_1_TAG), m_acia1(*this, MC6850_1_TAG),
@ -128,6 +129,7 @@ public:
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<wd1772_device> m_fdc; required_device<wd1772_device> m_fdc;
required_device_array<floppy_connector, 2> m_floppy;
required_device<mc68901_device> m_mfp; required_device<mc68901_device> m_mfp;
required_device<acia6850_device> m_acia0; required_device<acia6850_device> m_acia0;
required_device<acia6850_device> m_acia1; required_device<acia6850_device> m_acia1;
@ -325,8 +327,6 @@ public:
bitmap_rgb32 m_bitmap; bitmap_rgb32 m_bitmap;
floppy_image_device *floppy_devices[2];
DECLARE_FLOPPY_FORMATS(floppy_formats); DECLARE_FLOPPY_FORMATS(floppy_formats);
IRQ_CALLBACK_MEMBER(atarist_int_ack); IRQ_CALLBACK_MEMBER(atarist_int_ack);