wd_fdc: Adopt new mr_w handler in various drivers (nw)

This commit is contained in:
AJR 2019-06-01 17:41:59 -04:00
parent 48a79e58c0
commit b937a83163
5 changed files with 15 additions and 32 deletions

View File

@ -464,9 +464,8 @@ WRITE8_MEMBER(altos8600_state::romport_w)
break;
case 5:
m_romport[2] = data;
if(BIT(data, 3))
m_fdc->soft_reset();
m_fdc->dden_w(!BIT(data, 2) ? true : false);
m_fdc->mr_w(!BIT(data, 3));
m_fdc->dden_w(!BIT(data, 2));
m_dmamplex = (data >> 4) & 3;
break;
case 7:

View File

@ -26,10 +26,8 @@ public:
void lb186(machine_config &config);
private:
DECLARE_WRITE8_MEMBER(sio_out_w);
DECLARE_WRITE8_MEMBER(drive_sel_w);
DECLARE_READ8_MEMBER(scsi_dack_r);
DECLARE_WRITE8_MEMBER(scsi_dack_w);
void sio_out_w(uint8_t data);
void drive_sel_w(uint8_t data);
DECLARE_FLOPPY_FORMATS( floppy_formats );
static void ncr5380(device_t *device);
void lb186_io(address_map &map);
@ -40,24 +38,13 @@ private:
required_device<ncr5380n_device> m_scsi;
};
WRITE8_MEMBER(lb186_state::scsi_dack_w)
void lb186_state::sio_out_w(uint8_t data)
{
m_scsi->dma_w(data);
}
READ8_MEMBER(lb186_state::scsi_dack_r)
{
return m_scsi->dma_r();
}
WRITE8_MEMBER(lb186_state::sio_out_w)
{
if(!BIT(data, 5))
m_fdc->soft_reset();
m_fdc->mr_w(BIT(data, 5));
m_maincpu->tmrin1_w(BIT(data, 3) ? ASSERT_LINE : CLEAR_LINE);
}
WRITE8_MEMBER(lb186_state::drive_sel_w)
void lb186_state::drive_sel_w(uint8_t data)
{
m_fdc->dden_w(BIT(data, 5));
@ -103,7 +90,7 @@ void lb186_state::lb186_io(address_map &map)
map(0x1000, 0x101f).rw("duart", FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask16(0x00ff);
map(0x1080, 0x108f).rw(m_scsi, FUNC(ncr5380n_device::read), FUNC(ncr5380n_device::write)).umask16(0x00ff);
map(0x1100, 0x1107).rw(m_fdc, FUNC(wd1772_device::read), FUNC(wd1772_device::write)).umask16(0x00ff);
map(0x1180, 0x1180).rw(FUNC(lb186_state::scsi_dack_r), FUNC(lb186_state::scsi_dack_w));
map(0x1180, 0x1180).rw(m_scsi, FUNC(ncr5380n_device::dma_r), FUNC(ncr5380n_device::dma_w));
map(0x1200, 0x1200).w(FUNC(lb186_state::drive_sel_w));
}

View File

@ -617,10 +617,9 @@ WRITE_LINE_MEMBER(ngen_state::fdc_drq_w)
WRITE8_MEMBER(ngen_state::fdc_control_w)
{
m_fdc->set_floppy(m_fd0->get_device());
m_fd0->get_device()->mon_w(~data & 0x04);
m_fd0->get_device()->ss_w(data & 0x20);
if(~data & 0x80)
m_fdc->soft_reset();
m_fd0->get_device()->mon_w(!BIT(data, 2));
m_fd0->get_device()->ss_w(BIT(data, 5));
m_fdc->mr_w(BIT(data, 7));
}
// Hard disk control register

View File

@ -345,11 +345,9 @@ void sbrain_state::ppi_pc_w(u8 data)
m_keydown &= 2; // ack DR
m_subcpu->set_input_line(INPUT_LINE_RESET, BIT(data, 3) ? ASSERT_LINE : CLEAR_LINE);
m_fdc->mr_w(!BIT(data, 3));
if (BIT(data, 3))
{
m_fdc->soft_reset();
disk_select_w(0);
}
m_subcpu->set_input_line(Z80_INPUT_LINE_BUSRQ, BIT(data, 5) ? ASSERT_LINE : CLEAR_LINE); // ignored in z80.cpp
m_busak = BIT(data, 5);
}

View File

@ -1118,7 +1118,7 @@ WRITE8_MEMBER(bbc_state::bbcbp_drive_control_w)
// bit 4: interrupt enable (S5 wire link not fitted)
// bit 5: reset
if (!BIT(data, 5)) m_wd1770->soft_reset();
m_wd1770->mr_w(BIT(data, 5));
}
/*
@ -1152,7 +1152,7 @@ WRITE8_MEMBER(bbc_state::bbcm_drive_control_w)
m_wd1770->dden_w(BIT(data, 5));
// bit 2: reset
if (!BIT(data, 2)) m_wd1770->soft_reset();
m_wd1770->mr_w(BIT(data, 2));
}
WRITE8_MEMBER(bbc_state::bbcmc_drive_control_w)
@ -1172,7 +1172,7 @@ WRITE8_MEMBER(bbc_state::bbcmc_drive_control_w)
m_wd1772->dden_w(BIT(data, 5));
// bit 2: reset
if (!BIT(data, 2)) m_wd1772->soft_reset();
m_wd1772->mr_w(BIT(data, 2));
}
/**************************************