diff options
Diffstat (limited to 'src/mess/machine/mbc55x.c')
-rw-r--r-- | src/mess/machine/mbc55x.c | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/src/mess/machine/mbc55x.c b/src/mess/machine/mbc55x.c index f2e341d5f9c..18704e33f0a 100644 --- a/src/mess/machine/mbc55x.c +++ b/src/mess/machine/mbc55x.c @@ -72,8 +72,23 @@ WRITE8_MEMBER( mbc55x_state::mbc55x_ppi_portb_w ) WRITE8_MEMBER( mbc55x_state::mbc55x_ppi_portc_w ) { - m_fdc->set_drive((data & 0x03)); - m_fdc->set_side(BIT(data, 2)); + floppy_image_device *floppy = NULL; + + switch (data & 0x03) + { + case 0: floppy = m_floppy0->get_device(); break; + case 1: floppy = m_floppy1->get_device(); break; + case 2: floppy = m_floppy2->get_device(); break; + case 3: floppy = m_floppy3->get_device(); break; + } + + m_fdc->set_floppy(floppy); + + if (floppy) + { + floppy->mon_w(0); + floppy->ss_w(BIT(data, 2)); + } } /* Serial port USART, unimplemented as yet */ @@ -139,13 +154,6 @@ WRITE8_MEMBER(mbc55x_state::mbc55x_disk_w) m_fdc->write(space, offset>>1, data); } -WRITE_LINE_MEMBER( mbc55x_state::mbc55x_fdc_intrq_w ) -{ -} - -WRITE_LINE_MEMBER( mbc55x_state::mbc55x_fdc_drq_w ) -{ -} /* Keyboard emulation @@ -344,7 +352,8 @@ static void mbc55x_debug(running_machine &machine, int ref, int params, const ch mbc55x_state *state = machine.driver_data<mbc55x_state>(); if(params>0) { - sscanf(param[0],"%d",&state->m_debug_machine); + int temp; + sscanf(param[0],"%d",&temp); state->m_debug_machine = temp; } else { |