(MESS) ql: Floppy WIP. (nw)

This commit is contained in:
Curt Coder 2014-05-26 06:38:15 +00:00
parent 759fc95fc4
commit 9a59cd5172

View File

@ -79,7 +79,7 @@ WRITE_LINE_MEMBER( sandy_superqboard_t::busy_w )
static MACHINE_CONFIG_FRAGMENT( sandy_superqboard )
MCFG_DEVICE_ADD(WD1772_TAG, WD1772x, XTAL_16MHz/2)
MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", sandy_superqboard_floppies, "35dd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", sandy_superqboard_floppies, "35hd", floppy_image_device::default_floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":1", sandy_superqboard_floppies, NULL, floppy_image_device::default_floppy_formats)
MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "printer")
@ -109,7 +109,7 @@ machine_config_constructor sandy_superqboard_t::device_mconfig_additions() const
//-------------------------------------------------
sandy_superqboard_t::sandy_superqboard_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, SANDY_SUPERQBOARD, "SANDY_SUPERQBOARD", tag, owner, clock, "sandy_superqboard", __FILE__),
device_t(mconfig, SANDY_SUPERQBOARD, "Sandy SuperQBoard", tag, owner, clock, "sandy_superqboard", __FILE__),
device_ql_expansion_card_interface(mconfig, *this),
m_fdc(*this, WD1772_TAG),
m_floppy0(*this, WD1772_TAG":0"),
@ -154,6 +154,10 @@ void sandy_superqboard_t::device_reset()
UINT8 sandy_superqboard_t::read(address_space &space, offs_t offset, UINT8 data)
{
if ((offset & 0xf0000) == 0xc0000)
{
if ((offset & 0xffc0) == 0x3fc0)
{
switch ((offset >> 2) & 0x03)
{
case 0:
@ -181,6 +185,12 @@ UINT8 sandy_superqboard_t::read(address_space &space, offs_t offset, UINT8 data)
data |= m_int2 << 7;
break;
}
}
else
{
data = m_rom->base()[offset & 0x7fff];
}
}
return data;
}
@ -192,6 +202,10 @@ UINT8 sandy_superqboard_t::read(address_space &space, offs_t offset, UINT8 data)
void sandy_superqboard_t::write(address_space &space, offs_t offset, UINT8 data)
{
if ((offset & 0xf0000) == 0xc0000)
{
if ((offset & 0xffc0) == 0x3fc0)
{
switch ((offset >> 2) & 0x03)
{
case 0:
@ -253,4 +267,6 @@ void sandy_superqboard_t::write(address_space &space, offs_t offset, UINT8 data)
m_fdc->set_unscaled_clock(XTAL_16MHz >> !BIT(data, 0));
break;
}
}
}
}