mirror of
https://github.com/holub/mame
synced 2025-05-23 14:19:01 +03:00
(mess) compis: fix debug crash and try a floppy motor hookup (nw)
This commit is contained in:
parent
3368f07cb2
commit
60cd63ea43
@ -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( 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( 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( 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 */
|
//{ 0x0100, 0x017e, compis_null_r }, /* RTC */
|
||||||
//{ 0x0180, 0x01ff, compis_null_r }, /* PCS3? */
|
//{ 0x0180, 0x01ff, compis_null_r }, /* PCS3? */
|
||||||
//{ 0x0200, 0x027f, compis_null_r }, /* Reserved */
|
//{ 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_PROGRAM_MAP(compis_mem)
|
||||||
MCFG_CPU_IO_MAP(compis_io)
|
MCFG_CPU_IO_MAP(compis_io)
|
||||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", compis_state, compis_vblank_int)
|
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_CPU_CONFIG(i86_address_mask)
|
||||||
|
|
||||||
//MCFG_QUANTUM_TIME(attotime::from_hz(60))
|
//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_PROGRAM_MAP(compis_mem)
|
||||||
MCFG_CPU_IO_MAP(compis_io)
|
MCFG_CPU_IO_MAP(compis_io)
|
||||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", compis_state, compis_vblank_int)
|
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_CPU_CONFIG(i86_address_mask)
|
||||||
|
|
||||||
//MCFG_QUANTUM_TIME(attotime::from_hz(60))
|
//MCFG_QUANTUM_TIME(attotime::from_hz(60))
|
||||||
|
@ -286,7 +286,7 @@ static MACHINE_CONFIG_START( nimbus, rmnimbus_state )
|
|||||||
MCFG_CPU_ADD(MAINCPU_TAG, I80186, 10000000)
|
MCFG_CPU_ADD(MAINCPU_TAG, I80186, 10000000)
|
||||||
MCFG_CPU_PROGRAM_MAP(nimbus_mem)
|
MCFG_CPU_PROGRAM_MAP(nimbus_mem)
|
||||||
MCFG_CPU_IO_MAP(nimbus_io)
|
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_ADD(IOCPU_TAG, I8031, 11059200)
|
||||||
MCFG_CPU_PROGRAM_MAP(nimbus_iocpu_mem)
|
MCFG_CPU_PROGRAM_MAP(nimbus_iocpu_mem)
|
||||||
|
@ -174,6 +174,9 @@ public:
|
|||||||
// void internal_timer_sync(int which);
|
// void internal_timer_sync(int which);
|
||||||
// void handle_eoi(int data);
|
// void handle_eoi(int data);
|
||||||
void compis_fdc_tc(int state);
|
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_irq(bool state);
|
||||||
void fdc_drq(bool state);
|
void fdc_drq(bool state);
|
||||||
|
@ -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 0: J5-4 */
|
||||||
/* Bit 1: J5-5 */
|
/* Bit 1: J5-5 */
|
||||||
@ -1293,6 +1304,7 @@ void compis_state::machine_start()
|
|||||||
/* CPU */
|
/* CPU */
|
||||||
compis_cpu_init();
|
compis_cpu_init();
|
||||||
m_fdc->setup_intrq_cb(i8272a_device::line_cb(FUNC(compis_state::fdc_irq), this));
|
m_fdc->setup_intrq_cb(i8272a_device::line_cb(FUNC(compis_state::fdc_irq), this));
|
||||||
|
m_mon = false;
|
||||||
}
|
}
|
||||||
/*-------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------*/
|
||||||
/* Name: compis */
|
/* Name: compis */
|
||||||
|
Loading…
Reference in New Issue
Block a user