(mess) compis: fix debug crash and try a floppy motor hookup (nw)

This commit is contained in:
cracyc 2013-08-19 22:18:37 +00:00
parent 3368f07cb2
commit 60cd63ea43
4 changed files with 19 additions and 3 deletions

View File

@ -168,6 +168,7 @@ static ADDRESS_MAP_START( compis_io, AS_IO, 16, compis_state )
AM_RANGE( 0x0330, 0x0333) AM_DEVREADWRITE8("upd7220", upd7220_device, read, write, 0x00ff) /* GDC 82720 PCS6:6 */
AM_RANGE( 0x0340, 0x0343) AM_DEVICE8("i8272a", i8272a_device, map, 0x00ff) /* iSBX0 (J8) FDC 8272 */
AM_RANGE( 0x0350, 0x0351) AM_DEVREADWRITE8("i8272a", i8272a_device, mdma_r, mdma_w, 0x00ff) /* iSBX0 (J8) DMA ACK */
AM_RANGE( 0x034e, 0x034f) AM_READWRITE8(fdc_mon_r, fdc_mon_w, 0x00ff)
//{ 0x0100, 0x017e, compis_null_r }, /* RTC */
//{ 0x0180, 0x01ff, compis_null_r }, /* PCS3? */
//{ 0x0200, 0x027f, compis_null_r }, /* Reserved */
@ -349,7 +350,7 @@ static MACHINE_CONFIG_START( compis, compis_state )
MCFG_CPU_PROGRAM_MAP(compis_mem)
MCFG_CPU_IO_MAP(compis_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", compis_state, compis_vblank_int)
MCFG_80186_IRQ_SLAVE_ACK(DEVREAD8(DEVICE_SELF_OWNER, compis_state, compis_irq_callback))
MCFG_80186_IRQ_SLAVE_ACK(DEVREAD8(DEVICE_SELF, compis_state, compis_irq_callback))
//MCFG_CPU_CONFIG(i86_address_mask)
//MCFG_QUANTUM_TIME(attotime::from_hz(60))
@ -394,7 +395,7 @@ static MACHINE_CONFIG_START( compis2, compis_state )
MCFG_CPU_PROGRAM_MAP(compis_mem)
MCFG_CPU_IO_MAP(compis_io)
MCFG_CPU_VBLANK_INT_DRIVER("screen", compis_state, compis_vblank_int)
MCFG_80186_IRQ_SLAVE_ACK(DEVREAD8(DEVICE_SELF_OWNER, compis_state, compis_irq_callback))
MCFG_80186_IRQ_SLAVE_ACK(DEVREAD8(DEVICE_SELF, compis_state, compis_irq_callback))
//MCFG_CPU_CONFIG(i86_address_mask)
//MCFG_QUANTUM_TIME(attotime::from_hz(60))

View File

@ -286,7 +286,7 @@ static MACHINE_CONFIG_START( nimbus, rmnimbus_state )
MCFG_CPU_ADD(MAINCPU_TAG, I80186, 10000000)
MCFG_CPU_PROGRAM_MAP(nimbus_mem)
MCFG_CPU_IO_MAP(nimbus_io)
MCFG_80186_IRQ_SLAVE_ACK(DEVREAD8(DEVICE_SELF_OWNER, rmnimbus_state, cascade_callback))
MCFG_80186_IRQ_SLAVE_ACK(DEVREAD8(DEVICE_SELF, rmnimbus_state, cascade_callback))
MCFG_CPU_ADD(IOCPU_TAG, I8031, 11059200)
MCFG_CPU_PROGRAM_MAP(nimbus_iocpu_mem)

View File

@ -174,6 +174,9 @@ public:
// void internal_timer_sync(int which);
// void handle_eoi(int data);
void compis_fdc_tc(int state);
DECLARE_READ8_MEMBER(fdc_mon_r);
DECLARE_WRITE8_MEMBER(fdc_mon_w);
bool m_mon;
void fdc_irq(bool state);
void fdc_drq(bool state);

View File

@ -192,7 +192,18 @@ void compis_state::fdc_drq(bool state)
}
}
WRITE8_MEMBER(compis_state::fdc_mon_w)
{
m_mon = data & 1;
m_fdc->subdevice<floppy_connector>("0")->get_device()->mon_w(m_mon);
m_fdc->subdevice<floppy_connector>("1")->get_device()->mon_w(m_mon);
}
READ8_MEMBER(compis_state::fdc_mon_r)
{
return m_mon;
}
/*-------------------------------------------------------------------------*/
/* Bit 0: J5-4 */
/* Bit 1: J5-5 */
@ -1293,6 +1304,7 @@ void compis_state::machine_start()
/* CPU */
compis_cpu_init();
m_fdc->setup_intrq_cb(i8272a_device::line_cb(FUNC(compis_state::fdc_irq), this));
m_mon = false;
}
/*-------------------------------------------------------------------------*/
/* Name: compis */