more cleanup (nw)

This commit is contained in:
Miodrag Milanovic 2014-03-16 10:08:21 +00:00
parent 75317b8043
commit 93f4e806a4
11 changed files with 47 additions and 46 deletions

View File

@ -75,7 +75,7 @@ static const ay8910_interface nimbus_ay8910_interface =
static const msm5205_interface msm5205_config = static const msm5205_interface msm5205_config =
{ {
DEVCB_LINE(nimbus_msm5205_vck), /* VCK function */ DEVCB_DRIVER_LINE_MEMBER(rmnimbus_state, nimbus_msm5205_vck), /* VCK function */
MSM5205_S48_4B /* 8 kHz */ MSM5205_S48_4B /* 8 kHz */
}; };

View File

@ -344,8 +344,6 @@ extern const wd17xx_interface nimbus_wd17xx_interface;
#define MSM5205_TAG "msm5205" #define MSM5205_TAG "msm5205"
void nimbus_msm5205_vck(device_t *device,int st);
/* Mouse / Joystick */ /* Mouse / Joystick */
#define JOYSTICK0_TAG "joystick0" #define JOYSTICK0_TAG "joystick0"
@ -483,6 +481,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(nimbus_scsi_io_w); DECLARE_WRITE_LINE_MEMBER(nimbus_scsi_io_w);
DECLARE_WRITE_LINE_MEMBER(nimbus_scsi_msg_w); DECLARE_WRITE_LINE_MEMBER(nimbus_scsi_msg_w);
DECLARE_WRITE_LINE_MEMBER(nimbus_scsi_req_w); DECLARE_WRITE_LINE_MEMBER(nimbus_scsi_req_w);
DECLARE_WRITE_LINE_MEMBER(nimbus_msm5205_vck);
void nimbus_scsi_linechange( UINT8 mask, UINT8 state ); void nimbus_scsi_linechange( UINT8 mask, UINT8 state );
IRQ_CALLBACK_MEMBER(int_callback); IRQ_CALLBACK_MEMBER(int_callback);
UINT8 get_pixel(UINT16 x, UINT16 y); UINT8 get_pixel(UINT16 x, UINT16 y);

View File

@ -72,31 +72,27 @@ void beta_disk_device::clear_status()
m_betadisk_status = 0; m_betadisk_status = 0;
} }
static WRITE_LINE_DEVICE_HANDLER(wd179x_intrq_w) WRITE_LINE_MEMBER(beta_disk_device::wd179x_intrq_w)
{ {
beta_disk_device *beta = dynamic_cast<beta_disk_device *>(device->owner());
if (state) if (state)
beta->m_betadisk_status |= (1<<7); m_betadisk_status |= (1<<7);
else else
beta->m_betadisk_status &=~(1<<7); m_betadisk_status &=~(1<<7);
} }
static WRITE_LINE_DEVICE_HANDLER(wd179x_drq_w) WRITE_LINE_MEMBER(beta_disk_device::wd179x_drq_w)
{ {
beta_disk_device *beta = dynamic_cast<beta_disk_device *>(device->owner());
if (state) if (state)
beta->m_betadisk_status |= (1<<6); m_betadisk_status |= (1<<6);
else else
beta->m_betadisk_status &=~(1<<6); m_betadisk_status &=~(1<<6);
} }
static const wd17xx_interface beta_wd17xx_interface = static const wd17xx_interface beta_wd17xx_interface =
{ {
DEVCB_NULL, DEVCB_NULL,
DEVCB_LINE(wd179x_intrq_w), DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, beta_disk_device, wd179x_intrq_w),
DEVCB_LINE(wd179x_drq_w), DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, beta_disk_device, wd179x_drq_w),
{FLOPPY_0, FLOPPY_1, FLOPPY_2, FLOPPY_3} {FLOPPY_0, FLOPPY_1, FLOPPY_2, FLOPPY_3}
}; };

View File

@ -31,6 +31,9 @@ public:
DECLARE_WRITE8_MEMBER(sector_w); DECLARE_WRITE8_MEMBER(sector_w);
DECLARE_WRITE8_MEMBER(data_w); DECLARE_WRITE8_MEMBER(data_w);
DECLARE_WRITE_LINE_MEMBER(wd179x_intrq_w);
DECLARE_WRITE_LINE_MEMBER(wd179x_drq_w);
int is_active(); int is_active();
void enable(); void enable();
void disable(); void disable();

View File

@ -33,18 +33,17 @@ static const floppy_interface bml3_mp1802_floppy_interface =
NULL NULL
}; };
static WRITE_LINE_DEVICE_HANDLER( bml3_wd17xx_intrq_w ) WRITE_LINE_MEMBER( bml3bus_mp1802_device::bml3_wd17xx_intrq_w )
{ {
bml3bus_mp1802_device *fdc = dynamic_cast<bml3bus_mp1802_device *>(device->owner());
if (state) { if (state) {
fdc->m_bml3bus->set_nmi_line(PULSE_LINE); m_bml3bus->set_nmi_line(PULSE_LINE);
} }
} }
const wd17xx_interface bml3_wd17xx_interface = const wd17xx_interface bml3_wd17xx_interface =
{ {
DEVCB_NULL, DEVCB_NULL,
DEVCB_LINE(bml3_wd17xx_intrq_w), DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, bml3bus_mp1802_device, bml3_wd17xx_intrq_w),
DEVCB_NULL, DEVCB_NULL,
{FLOPPY_0, FLOPPY_1} {FLOPPY_0, FLOPPY_1}
}; };

View File

@ -33,7 +33,7 @@ public:
DECLARE_READ8_MEMBER(bml3_mp1802_r); DECLARE_READ8_MEMBER(bml3_mp1802_r);
DECLARE_WRITE8_MEMBER(bml3_mp1802_w); DECLARE_WRITE8_MEMBER(bml3_mp1802_w);
DECLARE_WRITE_LINE_MEMBER(bml3_wd17xx_intrq_w);
protected: protected:
virtual void device_start(); virtual void device_start();
virtual void device_reset(); virtual void device_reset();

View File

@ -130,11 +130,10 @@ coco_rtc_type_t coco_fdc_device::real_time_clock()
fdc_intrq_w - callback from the FDC fdc_intrq_w - callback from the FDC
-------------------------------------------------*/ -------------------------------------------------*/
static WRITE_LINE_DEVICE_HANDLER( fdc_intrq_w ) WRITE_LINE_MEMBER( coco_fdc_device::fdc_intrq_w )
{ {
coco_fdc_device *fdc = dynamic_cast<coco_fdc_device *>(device->owner()); set_intrq(state);
fdc->set_intrq(state); update_lines();
fdc->update_lines();
} }
@ -142,11 +141,10 @@ static WRITE_LINE_DEVICE_HANDLER( fdc_intrq_w )
fdc_drq_w - callback from the FDC fdc_drq_w - callback from the FDC
-------------------------------------------------*/ -------------------------------------------------*/
static WRITE_LINE_DEVICE_HANDLER( fdc_drq_w ) WRITE_LINE_MEMBER( coco_fdc_device::fdc_drq_w )
{ {
coco_fdc_device *fdc = dynamic_cast<coco_fdc_device *>(device->owner()); set_drq(state);
fdc->set_drq(state); update_lines();
fdc->update_lines();
} }
@ -157,8 +155,8 @@ static WRITE_LINE_DEVICE_HANDLER( fdc_drq_w )
static const wd17xx_interface coco_wd17xx_interface = static const wd17xx_interface coco_wd17xx_interface =
{ {
DEVCB_NULL, DEVCB_NULL,
DEVCB_LINE(fdc_intrq_w), DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, coco_fdc_device, fdc_intrq_w),
DEVCB_LINE(fdc_drq_w), DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, coco_fdc_device, fdc_drq_w),
{FLOPPY_0,FLOPPY_1,FLOPPY_2,FLOPPY_3} {FLOPPY_0,FLOPPY_1,FLOPPY_2,FLOPPY_3}
}; };

View File

@ -44,6 +44,9 @@ public:
void set_intrq(UINT8 val) { m_intrq = val; } void set_intrq(UINT8 val) { m_intrq = val; }
void set_drq(UINT8 val) { m_drq = val; } void set_drq(UINT8 val) { m_drq = val; }
DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start(); virtual void device_start();

View File

@ -82,29 +82,29 @@ static SLOT_INTERFACE_START(coco_cart_slot4)
SLOT_INTERFACE("pak", COCO_PAK) SLOT_INTERFACE("pak", COCO_PAK)
SLOT_INTERFACE_END SLOT_INTERFACE_END
WRITE_LINE_DEVICE_HANDLER(multi_cart_w) WRITE_LINE_MEMBER(coco_multipak_device::multi_cart_w)
{ {
cococart_slot_device *cart = dynamic_cast<cococart_slot_device *>(device->owner()->owner()); cococart_slot_device *cart = dynamic_cast<cococart_slot_device *>(owner());
cart->m_cart_callback.writeline(device,state); cart->m_cart_callback.writeline(this,state);
} }
WRITE_LINE_DEVICE_HANDLER(multi_nmi_w) WRITE_LINE_MEMBER(coco_multipak_device::multi_nmi_w)
{ {
cococart_slot_device *cart = dynamic_cast<cococart_slot_device *>(device->owner()->owner()); cococart_slot_device *cart = dynamic_cast<cococart_slot_device *>(owner());
cart->m_nmi_callback.writeline(device,state); cart->m_nmi_callback.writeline(this,state);
} }
WRITE_LINE_DEVICE_HANDLER(multi_halt_w) WRITE_LINE_MEMBER(coco_multipak_device::multi_halt_w)
{ {
cococart_slot_device *cart = dynamic_cast<cococart_slot_device *>(device->owner()->owner()); cococart_slot_device *cart = dynamic_cast<cococart_slot_device *>(owner());
cart->m_halt_callback.writeline(device,state); cart->m_halt_callback.writeline(this,state);
} }
static const cococart_interface multi_cococart_interface = static const cococart_interface multi_cococart_interface =
{ {
DEVCB_LINE(multi_cart_w), DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, coco_multipak_device, multi_cart_w),
DEVCB_LINE(multi_nmi_w), DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, coco_multipak_device, multi_nmi_w),
DEVCB_LINE(multi_halt_w) DEVCB_DEVICE_LINE_MEMBER(DEVICE_SELF_OWNER, coco_multipak_device, multi_halt_w)
}; };
static MACHINE_CONFIG_FRAGMENT(coco_multi) static MACHINE_CONFIG_FRAGMENT(coco_multi)

View File

@ -35,6 +35,9 @@ public:
virtual UINT8* get_cart_base(); virtual UINT8* get_cart_base();
DECLARE_WRITE_LINE_MEMBER(multi_cart_w);
DECLARE_WRITE_LINE_MEMBER(multi_nmi_w);
DECLARE_WRITE_LINE_MEMBER(multi_halt_w);
protected: protected:
// device-level overrides // device-level overrides
virtual void device_start(); virtual void device_start();

View File

@ -2765,11 +2765,10 @@ WRITE8_MEMBER(rmnimbus_state::nimbus_sound_ay8910_portb_w)
} }
} }
void nimbus_msm5205_vck(device_t *device, int st) WRITE_LINE_MEMBER(rmnimbus_state::nimbus_msm5205_vck)
{ {
rmnimbus_state *state = device->machine().driver_data<rmnimbus_state>(); if(m_iou_reg092 & MSM5205_INT_ENABLE)
if(state->m_iou_reg092 & MSM5205_INT_ENABLE) external_int(0,EXTERNAL_INT_MSM5205);
state->external_int(0,EXTERNAL_INT_MSM5205);
} }
static const int MOUSE_XYA[3][4] = { { 0, 0, 0, 0 }, { 1, 1, 0, 0 }, { 0, 1, 1, 0 } }; static const int MOUSE_XYA[3][4] = { { 0, 0, 0, 0 }, { 1, 1, 0, 0 }, { 0, 1, 1, 0 } };