74123: Use line handlers for single lines

This commit is contained in:
Dirk Best 2017-11-10 22:07:57 +01:00
parent bd69d42a02
commit ca23003a91
10 changed files with 64 additions and 82 deletions

View File

@ -121,7 +121,7 @@ int ttl74123_device::timer_running()
TIMER_CALLBACK_MEMBER( ttl74123_device::output_callback ) TIMER_CALLBACK_MEMBER( ttl74123_device::output_callback )
{ {
m_output_changed_cb((offs_t)0, param); m_output_changed_cb(param);
} }
@ -147,7 +147,7 @@ TIMER_CALLBACK_MEMBER( ttl74123_device::clear_callback )
{ {
int output = timer_running(); int output = timer_running();
m_output_changed_cb((offs_t)0, output); m_output_changed_cb(output);
} }
//------------------------------------------------- //-------------------------------------------------
@ -190,15 +190,15 @@ void ttl74123_device::start_pulse()
// a_w - write register a data // a_w - write register a data
//------------------------------------------------- //-------------------------------------------------
WRITE8_MEMBER( ttl74123_device::a_w ) WRITE_LINE_MEMBER( ttl74123_device::a_w )
{ {
/* start/regtrigger pulse if B=HI and falling edge on A (while clear is HI) */ /* start/regtrigger pulse if B=HI and falling edge on A (while clear is HI) */
if (!data && m_a && m_b && m_clear) if (!state && m_a && m_b && m_clear)
{ {
start_pulse(); start_pulse();
} }
m_a = data; m_a = state;
} }
@ -206,15 +206,15 @@ WRITE8_MEMBER( ttl74123_device::a_w )
// b_w - write register b data // b_w - write register b data
//------------------------------------------------- //-------------------------------------------------
WRITE8_MEMBER( ttl74123_device::b_w) WRITE_LINE_MEMBER( ttl74123_device::b_w)
{ {
/* start/regtrigger pulse if A=LO and rising edge on B (while clear is HI) */ /* start/regtrigger pulse if A=LO and rising edge on B (while clear is HI) */
if (data && !m_b && !m_a && m_clear) if (state && !m_b && !m_a && m_clear)
{ {
start_pulse(); start_pulse();
} }
m_b = data; m_b = state;
} }
@ -222,20 +222,20 @@ WRITE8_MEMBER( ttl74123_device::b_w)
// clear_w - write register clear data // clear_w - write register clear data
//------------------------------------------------- //-------------------------------------------------
WRITE8_MEMBER( ttl74123_device::clear_w) WRITE_LINE_MEMBER( ttl74123_device::clear_w)
{ {
/* start/regtrigger pulse if B=HI and A=LO and rising edge on clear */ /* start/regtrigger pulse if B=HI and A=LO and rising edge on clear */
if (data && !m_a && m_b && !m_clear) if (state && !m_a && m_b && !m_clear)
{ {
start_pulse(); start_pulse();
} }
else if (!data) /* clear the output */ else if (!state) /* clear the output */
{ {
m_timer->adjust(attotime::zero); m_timer->adjust(attotime::zero);
LOG("74123: Cleared\n"); LOG("74123: Cleared\n");
} }
m_clear = data; m_clear = state;
} }
@ -243,7 +243,7 @@ WRITE8_MEMBER( ttl74123_device::clear_w)
// reset_w - reset device // reset_w - reset device
//------------------------------------------------- //-------------------------------------------------
WRITE8_MEMBER( ttl74123_device::reset_w) WRITE_LINE_MEMBER( ttl74123_device::reset_w)
{ {
set_output(); set_output();
} }

View File

@ -105,10 +105,10 @@ public:
static void set_clear_pin_value(device_t &device, int value) { downcast<ttl74123_device &>(device).m_clear = value; } static void set_clear_pin_value(device_t &device, int value) { downcast<ttl74123_device &>(device).m_clear = value; }
template <class Object> static devcb_base &set_output_changed_callback(device_t &device, Object &&cb) { return downcast<ttl74123_device &>(device).m_output_changed_cb.set_callback(std::forward<Object>(cb)); } template <class Object> static devcb_base &set_output_changed_callback(device_t &device, Object &&cb) { return downcast<ttl74123_device &>(device).m_output_changed_cb.set_callback(std::forward<Object>(cb)); }
DECLARE_WRITE8_MEMBER(a_w); DECLARE_WRITE_LINE_MEMBER(a_w);
DECLARE_WRITE8_MEMBER(b_w); DECLARE_WRITE_LINE_MEMBER(b_w);
DECLARE_WRITE8_MEMBER(clear_w); DECLARE_WRITE_LINE_MEMBER(clear_w);
DECLARE_WRITE8_MEMBER(reset_w); DECLARE_WRITE_LINE_MEMBER(reset_w);
protected: protected:
// device-level overrides // device-level overrides
@ -133,7 +133,7 @@ private:
int m_a; /* initial/constant value of the A pin */ int m_a; /* initial/constant value of the A pin */
int m_b; /* initial/constant value of the B pin */ int m_b; /* initial/constant value of the B pin */
int m_clear; /* initial/constant value of the Clear pin */ int m_clear; /* initial/constant value of the Clear pin */
devcb_write8 m_output_changed_cb; devcb_write_line m_output_changed_cb;
}; };

View File

@ -91,7 +91,7 @@ public:
MC6845_UPDATE_ROW(update_row); MC6845_UPDATE_ROW(update_row);
DECLARE_WRITE_LINE_MEMBER(crtc_hs); DECLARE_WRITE_LINE_MEMBER(crtc_hs);
DECLARE_WRITE_LINE_MEMBER(crtc_vs); DECLARE_WRITE_LINE_MEMBER(crtc_vs);
DECLARE_WRITE8_MEMBER(motor_w); DECLARE_WRITE_LINE_MEMBER(motor_w);
DECLARE_MACHINE_RESET(excali64); DECLARE_MACHINE_RESET(excali64);
required_device<palette_device> m_palette; required_device<palette_device> m_palette;
@ -240,9 +240,9 @@ static SLOT_INTERFACE_START( excali64_floppies )
SLOT_INTERFACE_END SLOT_INTERFACE_END
// pulses from port E4 bit 5 restart the 74123. After 3.6 secs without a pulse, the motor gets turned off. // pulses from port E4 bit 5 restart the 74123. After 3.6 secs without a pulse, the motor gets turned off.
WRITE8_MEMBER( excali64_state::motor_w ) WRITE_LINE_MEMBER( excali64_state::motor_w )
{ {
m_motor = BIT(data, 0); m_motor = state;
m_floppy1->get_device()->mon_w(!m_motor); m_floppy1->get_device()->mon_w(!m_motor);
m_floppy0->get_device()->mon_w(!m_motor); m_floppy0->get_device()->mon_w(!m_motor);
} }
@ -265,7 +265,7 @@ WRITE8_MEMBER( excali64_state::porte4_w )
if (floppy) if (floppy)
floppy->ss_w(BIT(data, 4)); floppy->ss_w(BIT(data, 4));
m_u12->b_w(space,offset, BIT(data, 5)); // motor pulse m_u12->b_w(BIT(data, 5)); // motor pulse
} }
/* /*
@ -616,7 +616,7 @@ static MACHINE_CONFIG_START( excali64 )
MCFG_TTL74123_A_PIN_VALUE(0) /* A pin - grounded */ MCFG_TTL74123_A_PIN_VALUE(0) /* A pin - grounded */
MCFG_TTL74123_B_PIN_VALUE(1) /* B pin - driven by port e4 bit 5 */ MCFG_TTL74123_B_PIN_VALUE(1) /* B pin - driven by port e4 bit 5 */
MCFG_TTL74123_CLEAR_PIN_VALUE(1) /* Clear pin - pulled high */ MCFG_TTL74123_CLEAR_PIN_VALUE(1) /* Clear pin - pulled high */
MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITE8(excali64_state, motor_w)) MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITELINE(excali64_state, motor_w))
MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer") MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(excali64_state, cent_busy_w)) MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(excali64_state, cent_busy_w))

View File

@ -210,8 +210,8 @@ public:
void hp64k_update_floppy_dma(void); void hp64k_update_floppy_dma(void);
void hp64k_update_floppy_irq(void); void hp64k_update_floppy_irq(void);
void hp64k_update_drv_ctrl(void); void hp64k_update_drv_ctrl(void);
DECLARE_WRITE8_MEMBER(hp64k_floppy0_rdy); DECLARE_WRITE_LINE_MEMBER(hp64k_floppy0_rdy);
DECLARE_WRITE8_MEMBER(hp64k_floppy1_rdy); DECLARE_WRITE_LINE_MEMBER(hp64k_floppy1_rdy);
void hp64k_floppy_idx_cb(floppy_image_device *floppy , int state); void hp64k_floppy_idx_cb(floppy_image_device *floppy , int state);
void hp64k_floppy_wpt_cb(floppy_image_device *floppy , int state); void hp64k_floppy_wpt_cb(floppy_image_device *floppy , int state);
@ -877,18 +877,18 @@ void hp64k_state::hp64k_update_drv_ctrl(void)
} }
} }
WRITE8_MEMBER(hp64k_state::hp64k_floppy0_rdy) WRITE_LINE_MEMBER(hp64k_state::hp64k_floppy0_rdy)
{ {
if (data) { if (state) {
BIT_CLR(m_floppy_status , 0); BIT_CLR(m_floppy_status , 0);
} else { } else {
BIT_SET(m_floppy_status , 0); BIT_SET(m_floppy_status , 0);
} }
} }
WRITE8_MEMBER(hp64k_state::hp64k_floppy1_rdy) WRITE_LINE_MEMBER(hp64k_state::hp64k_floppy1_rdy)
{ {
if (data) { if (state) {
BIT_CLR(m_floppy_status , 3); BIT_CLR(m_floppy_status , 3);
} else { } else {
BIT_SET(m_floppy_status , 3); BIT_SET(m_floppy_status , 3);
@ -898,9 +898,9 @@ WRITE8_MEMBER(hp64k_state::hp64k_floppy1_rdy)
void hp64k_state::hp64k_floppy_idx_cb(floppy_image_device *floppy , int state) void hp64k_state::hp64k_floppy_idx_cb(floppy_image_device *floppy , int state)
{ {
if (floppy == m_floppy0->get_device()) { if (floppy == m_floppy0->get_device()) {
m_ss0->a_w(machine().dummy_space(), 0, !state); m_ss0->a_w(!state);
} else if (floppy == m_floppy1->get_device()) { } else if (floppy == m_floppy1->get_device()) {
m_ss1->a_w(machine().dummy_space(), 0, !state); m_ss1->a_w(!state);
} }
if (floppy == m_current_floppy) { if (floppy == m_current_floppy) {
@ -1374,7 +1374,7 @@ static MACHINE_CONFIG_START(hp64k)
MCFG_TTL74123_CAPACITOR_VALUE(CAP_U(16)) MCFG_TTL74123_CAPACITOR_VALUE(CAP_U(16))
MCFG_TTL74123_B_PIN_VALUE(1) MCFG_TTL74123_B_PIN_VALUE(1)
MCFG_TTL74123_CLEAR_PIN_VALUE(1) MCFG_TTL74123_CLEAR_PIN_VALUE(1)
MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITE8(hp64k_state , hp64k_floppy0_rdy)); MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITELINE(hp64k_state , hp64k_floppy0_rdy));
MCFG_DEVICE_ADD("fdc_rdy1" , TTL74123 , 0) MCFG_DEVICE_ADD("fdc_rdy1" , TTL74123 , 0)
MCFG_TTL74123_CONNECTION_TYPE(TTL74123_NOT_GROUNDED_NO_DIODE) MCFG_TTL74123_CONNECTION_TYPE(TTL74123_NOT_GROUNDED_NO_DIODE)
@ -1382,7 +1382,7 @@ static MACHINE_CONFIG_START(hp64k)
MCFG_TTL74123_CAPACITOR_VALUE(CAP_U(16)) MCFG_TTL74123_CAPACITOR_VALUE(CAP_U(16))
MCFG_TTL74123_B_PIN_VALUE(1) MCFG_TTL74123_B_PIN_VALUE(1)
MCFG_TTL74123_CLEAR_PIN_VALUE(1) MCFG_TTL74123_CLEAR_PIN_VALUE(1)
MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITE8(hp64k_state , hp64k_floppy1_rdy)); MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITELINE(hp64k_state , hp64k_floppy1_rdy));
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("beeper" , BEEP , 2500) MCFG_SOUND_ADD("beeper" , BEEP , 2500)

View File

@ -131,18 +131,18 @@ Notes (couriersud)
#define LOG(x) do { if (M10_DEBUG) printf x; } while (0) #define LOG(x) do { if (M10_DEBUG) printf x; } while (0)
WRITE8_MEMBER(m10_state::ic8j1_output_changed) WRITE_LINE_MEMBER(m10_state::ic8j1_output_changed)
{ {
LOG(("ic8j1: %d %d\n", data, m_screen->vpos())); LOG(("ic8j1: %d %d\n", state, m_screen->vpos()));
m_maincpu->set_input_line(0, !data ? CLEAR_LINE : ASSERT_LINE); m_maincpu->set_input_line(0, !state ? CLEAR_LINE : ASSERT_LINE);
} }
WRITE8_MEMBER(m10_state::ic8j2_output_changed) WRITE_LINE_MEMBER(m10_state::ic8j2_output_changed)
{ {
/* written from /Q to A with slight delight */ /* written from /Q to A with slight delight */
LOG(("ic8j2: %d\n", data)); LOG(("ic8j2: %d\n", state));
m_ic8j2->a_w(space, 0, data); m_ic8j2->a_w(state);
m_ic8j1->a_w(space, 0, data); m_ic8j1->a_w(state);
} }
/************************************* /*************************************
@ -444,8 +444,8 @@ READ8_MEMBER(m10_state::m10_a700_r)
{ {
//LOG(("rd:%d\n",m_screen->vpos())); //LOG(("rd:%d\n",m_screen->vpos()));
LOG(("clear\n")); LOG(("clear\n"));
m_ic8j1->clear_w(space, 0, 0); m_ic8j1->clear_w(0);
m_ic8j1->clear_w(space, 0, 1); m_ic8j1->clear_w(1);
return 0x00; return 0x00;
} }
@ -454,8 +454,8 @@ READ8_MEMBER(m10_state::m11_a700_r)
//LOG(("rd:%d\n",m_screen->vpos())); //LOG(("rd:%d\n",m_screen->vpos()));
//m_maincpu->set_input_line(0, CLEAR_LINE); //m_maincpu->set_input_line(0, CLEAR_LINE);
LOG(("clear\n")); LOG(("clear\n"));
m_ic8j1->clear_w(space, 0, 0); m_ic8j1->clear_w(0);
m_ic8j1->clear_w(space, 0, 1); m_ic8j1->clear_w(1);
return 0x00; return 0x00;
} }
@ -841,7 +841,7 @@ static MACHINE_CONFIG_START( m10 )
MCFG_TTL74123_A_PIN_VALUE(1) /* A pin - driven by the CRTC */ MCFG_TTL74123_A_PIN_VALUE(1) /* A pin - driven by the CRTC */
MCFG_TTL74123_B_PIN_VALUE(1) /* B pin - pulled high */ MCFG_TTL74123_B_PIN_VALUE(1) /* B pin - pulled high */
MCFG_TTL74123_CLEAR_PIN_VALUE(1) /* Clear pin - pulled high */ MCFG_TTL74123_CLEAR_PIN_VALUE(1) /* Clear pin - pulled high */
MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITE8(m10_state, ic8j1_output_changed)) MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITELINE(m10_state, ic8j1_output_changed))
MCFG_DEVICE_ADD("ic8j2", TTL74123, 0) MCFG_DEVICE_ADD("ic8j2", TTL74123, 0)
MCFG_TTL74123_CONNECTION_TYPE(TTL74123_NOT_GROUNDED_DIODE) /* the hook up type */ MCFG_TTL74123_CONNECTION_TYPE(TTL74123_NOT_GROUNDED_DIODE) /* the hook up type */
/* 10k + 20k variable resistor */ /* 10k + 20k variable resistor */
@ -850,7 +850,7 @@ static MACHINE_CONFIG_START( m10 )
MCFG_TTL74123_A_PIN_VALUE(1) /* A pin - driven by the CRTC */ MCFG_TTL74123_A_PIN_VALUE(1) /* A pin - driven by the CRTC */
MCFG_TTL74123_B_PIN_VALUE(1) /* B pin - pulled high */ MCFG_TTL74123_B_PIN_VALUE(1) /* B pin - pulled high */
MCFG_TTL74123_CLEAR_PIN_VALUE(1) /* Clear pin - pulled high */ MCFG_TTL74123_CLEAR_PIN_VALUE(1) /* Clear pin - pulled high */
MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITE8(m10_state, ic8j2_output_changed)) MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITELINE(m10_state, ic8j2_output_changed))
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")

View File

@ -148,12 +148,11 @@ public:
DECLARE_WRITE8_MEMBER(pia_2_port_a_w); DECLARE_WRITE8_MEMBER(pia_2_port_a_w);
DECLARE_WRITE8_MEMBER(pia_2_port_b_w); DECLARE_WRITE8_MEMBER(pia_2_port_b_w);
DECLARE_WRITE_LINE_MEMBER(flipscreen_w); DECLARE_WRITE_LINE_MEMBER(flipscreen_w);
DECLARE_WRITE_LINE_MEMBER(display_enable_changed);
DECLARE_WRITE8_MEMBER(nyny_ay8910_37_port_a_w); DECLARE_WRITE8_MEMBER(nyny_ay8910_37_port_a_w);
virtual void machine_start() override; virtual void machine_start() override;
virtual void machine_reset() override; virtual void machine_reset() override;
INTERRUPT_GEN_MEMBER(update_pia_1); INTERRUPT_GEN_MEMBER(update_pia_1);
DECLARE_WRITE8_MEMBER(ic48_1_74123_output_changed); DECLARE_WRITE_LINE_MEMBER(ic48_1_74123_output_changed);
inline void shift_star_generator( ); inline void shift_star_generator( );
MC6845_UPDATE_ROW(crtc_update_row); MC6845_UPDATE_ROW(crtc_update_row);
@ -242,9 +241,9 @@ WRITE8_MEMBER(nyny_state::pia_2_port_b_w)
* *
*************************************/ *************************************/
WRITE8_MEMBER(nyny_state::ic48_1_74123_output_changed) WRITE_LINE_MEMBER(nyny_state::ic48_1_74123_output_changed)
{ {
m_pia2->ca1_w(data); m_pia2->ca1_w(state);
} }
/************************************* /*************************************
@ -355,11 +354,6 @@ MC6845_END_UPDATE( nyny_state::crtc_end_update )
} }
WRITE_LINE_MEMBER(nyny_state::display_enable_changed)
{
m_ic48_1->a_w(generic_space(), 0, state);
}
/************************************* /*************************************
* *
@ -618,7 +612,7 @@ static MACHINE_CONFIG_START( nyny )
MCFG_MC6845_CHAR_WIDTH(8) MCFG_MC6845_CHAR_WIDTH(8)
MCFG_MC6845_UPDATE_ROW_CB(nyny_state, crtc_update_row) MCFG_MC6845_UPDATE_ROW_CB(nyny_state, crtc_update_row)
MCFG_MC6845_END_UPDATE_CB(nyny_state, crtc_end_update) MCFG_MC6845_END_UPDATE_CB(nyny_state, crtc_end_update)
MCFG_MC6845_OUT_DE_CB(WRITELINE(nyny_state, display_enable_changed)) MCFG_MC6845_OUT_DE_CB(DEVWRITELINE("ic48_1", ttl74123_device, a_w))
/* 74LS123 */ /* 74LS123 */
MCFG_DEVICE_ADD("ic48_1", TTL74123, 0) MCFG_DEVICE_ADD("ic48_1", TTL74123, 0)
@ -628,7 +622,7 @@ static MACHINE_CONFIG_START( nyny )
MCFG_TTL74123_A_PIN_VALUE(1) /* A pin - driven by the CRTC */ MCFG_TTL74123_A_PIN_VALUE(1) /* A pin - driven by the CRTC */
MCFG_TTL74123_B_PIN_VALUE(1) /* B pin - pulled high */ MCFG_TTL74123_B_PIN_VALUE(1) /* B pin - pulled high */
MCFG_TTL74123_CLEAR_PIN_VALUE(1) /* Clear pin - pulled high */ MCFG_TTL74123_CLEAR_PIN_VALUE(1) /* Clear pin - pulled high */
MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITE8(nyny_state, ic48_1_74123_output_changed)) MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITELINE(nyny_state, ic48_1_74123_output_changed))
MCFG_DEVICE_ADD("pia1", PIA6821, 0) MCFG_DEVICE_ADD("pia1", PIA6821, 0)
MCFG_PIA_READPA_HANDLER(IOPORT("IN0")) MCFG_PIA_READPA_HANDLER(IOPORT("IN0"))

View File

@ -81,10 +81,9 @@ public:
DECLARE_READ8_MEMBER(AY8910_port_r); DECLARE_READ8_MEMBER(AY8910_port_r);
DECLARE_WRITE8_MEMBER(AY8910_port_w); DECLARE_WRITE8_MEMBER(AY8910_port_w);
DECLARE_WRITE_LINE_MEMBER(flipscreen_w); DECLARE_WRITE_LINE_MEMBER(flipscreen_w);
DECLARE_WRITE_LINE_MEMBER(display_enable_changed);
DECLARE_WRITE8_MEMBER(pia_comp_w); DECLARE_WRITE8_MEMBER(pia_comp_w);
virtual void machine_start() override; virtual void machine_start() override;
DECLARE_WRITE8_MEMBER(ttl74123_output_changed); DECLARE_WRITE_LINE_MEMBER(ttl74123_output_changed);
MC6845_UPDATE_ROW(crtc_update_row); MC6845_UPDATE_ROW(crtc_update_row);
@ -223,11 +222,11 @@ WRITE8_MEMBER(r2dtank_state::AY8910_port_w)
* *
*************************************/ *************************************/
WRITE8_MEMBER(r2dtank_state::ttl74123_output_changed) WRITE_LINE_MEMBER(r2dtank_state::ttl74123_output_changed)
{ {
pia6821_device *pia = machine().device<pia6821_device>("pia_main"); pia6821_device *pia = machine().device<pia6821_device>("pia_main");
pia->ca1_w(data); pia->ca1_w(state);
m_ttl74123_output = data; m_ttl74123_output = state;
} }
@ -310,11 +309,6 @@ MC6845_UPDATE_ROW( r2dtank_state::crtc_update_row )
} }
WRITE_LINE_MEMBER(r2dtank_state::display_enable_changed)
{
machine().device<ttl74123_device>("74123")->a_w(generic_space(), 0, state);
}
/************************************* /*************************************
* *
@ -461,7 +455,7 @@ static MACHINE_CONFIG_START( r2dtank )
MCFG_MC6845_SHOW_BORDER_AREA(false) MCFG_MC6845_SHOW_BORDER_AREA(false)
MCFG_MC6845_CHAR_WIDTH(8) MCFG_MC6845_CHAR_WIDTH(8)
MCFG_MC6845_UPDATE_ROW_CB(r2dtank_state, crtc_update_row) MCFG_MC6845_UPDATE_ROW_CB(r2dtank_state, crtc_update_row)
MCFG_MC6845_OUT_DE_CB(WRITELINE(r2dtank_state, display_enable_changed)) MCFG_MC6845_OUT_DE_CB(DEVWRITELINE("74123", ttl74123_device, a_w))
/* 74LS123 */ /* 74LS123 */
@ -472,7 +466,7 @@ static MACHINE_CONFIG_START( r2dtank )
MCFG_TTL74123_A_PIN_VALUE(1) /* A pin - driven by the CRTC */ MCFG_TTL74123_A_PIN_VALUE(1) /* A pin - driven by the CRTC */
MCFG_TTL74123_B_PIN_VALUE(1) /* B pin - pulled high */ MCFG_TTL74123_B_PIN_VALUE(1) /* B pin - pulled high */
MCFG_TTL74123_CLEAR_PIN_VALUE(1) /* Clear pin - pulled high */ MCFG_TTL74123_CLEAR_PIN_VALUE(1) /* Clear pin - pulled high */
MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITE8(r2dtank_state, ttl74123_output_changed)) MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITELINE(r2dtank_state, ttl74123_output_changed))
MCFG_DEVICE_ADD("pia_main", PIA6821, 0) MCFG_DEVICE_ADD("pia_main", PIA6821, 0)
MCFG_PIA_READPA_HANDLER(IOPORT("IN0")) MCFG_PIA_READPA_HANDLER(IOPORT("IN0"))

View File

@ -276,10 +276,10 @@ INTERRUPT_GEN_MEMBER(spiders_state::update_pia_1)
* *
*************************************/ *************************************/
WRITE8_MEMBER(spiders_state::ic60_74123_output_changed) WRITE_LINE_MEMBER(spiders_state::ic60_74123_output_changed)
{ {
pia6821_device *pia2 = machine().device<pia6821_device>("pia2"); pia6821_device *pia2 = machine().device<pia6821_device>("pia2");
pia2->ca1_w(data); pia2->ca1_w(state);
} }
/************************************* /*************************************
@ -368,11 +368,6 @@ MC6845_UPDATE_ROW( spiders_state::crtc_update_row )
} }
WRITE_LINE_MEMBER(spiders_state::display_enable_changed)
{
machine().device<ttl74123_device>("ic60")->a_w(generic_space(), 0, state);
}
/************************************* /*************************************
* *
@ -564,7 +559,7 @@ static MACHINE_CONFIG_START( spiders )
MCFG_MC6845_SHOW_BORDER_AREA(false) MCFG_MC6845_SHOW_BORDER_AREA(false)
MCFG_MC6845_CHAR_WIDTH(8) MCFG_MC6845_CHAR_WIDTH(8)
MCFG_MC6845_UPDATE_ROW_CB(spiders_state, crtc_update_row) MCFG_MC6845_UPDATE_ROW_CB(spiders_state, crtc_update_row)
MCFG_MC6845_OUT_DE_CB(WRITELINE(spiders_state, display_enable_changed)) MCFG_MC6845_OUT_DE_CB(DEVWRITELINE("ic60", ttl74123_device, a_w))
/* 74LS123 */ /* 74LS123 */
@ -599,7 +594,7 @@ static MACHINE_CONFIG_START( spiders )
MCFG_TTL74123_A_PIN_VALUE(1) /* A pin - driven by the CRTC */ MCFG_TTL74123_A_PIN_VALUE(1) /* A pin - driven by the CRTC */
MCFG_TTL74123_B_PIN_VALUE(1) /* B pin - pulled high */ MCFG_TTL74123_B_PIN_VALUE(1) /* B pin - pulled high */
MCFG_TTL74123_CLEAR_PIN_VALUE(1) /* Clear pin - pulled high */ MCFG_TTL74123_CLEAR_PIN_VALUE(1) /* Clear pin - pulled high */
MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITE8(spiders_state, ic60_74123_output_changed)) MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITELINE(spiders_state, ic60_74123_output_changed))
/* audio hardware */ /* audio hardware */
MCFG_FRAGMENT_ADD(spiders_audio) MCFG_FRAGMENT_ADD(spiders_audio)

View File

@ -111,8 +111,8 @@ public:
uint32_t screen_update_m15(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_m15(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(m15_interrupt); INTERRUPT_GEN_MEMBER(m15_interrupt);
TIMER_CALLBACK_MEMBER(interrupt_callback); TIMER_CALLBACK_MEMBER(interrupt_callback);
DECLARE_WRITE8_MEMBER(ic8j1_output_changed); DECLARE_WRITE_LINE_MEMBER(ic8j1_output_changed);
DECLARE_WRITE8_MEMBER(ic8j2_output_changed); DECLARE_WRITE_LINE_MEMBER(ic8j2_output_changed);
inline void plot_pixel_m10( bitmap_ind16 &bm, int x, int y, int col ); inline void plot_pixel_m10( bitmap_ind16 &bm, int x, int y, int col );
protected: protected:

View File

@ -29,12 +29,11 @@ public:
DECLARE_WRITE_LINE_MEMBER(main_cpu_irq); DECLARE_WRITE_LINE_MEMBER(main_cpu_irq);
DECLARE_WRITE_LINE_MEMBER(flipscreen_w); DECLARE_WRITE_LINE_MEMBER(flipscreen_w);
DECLARE_WRITE_LINE_MEMBER(display_enable_changed);
DECLARE_WRITE8_MEMBER(gfx_rom_intf_w); DECLARE_WRITE8_MEMBER(gfx_rom_intf_w);
DECLARE_READ8_MEMBER(gfx_rom_r); DECLARE_READ8_MEMBER(gfx_rom_r);
virtual void machine_start() override; virtual void machine_start() override;
INTERRUPT_GEN_MEMBER(update_pia_1); INTERRUPT_GEN_MEMBER(update_pia_1);
DECLARE_WRITE8_MEMBER(ic60_74123_output_changed); DECLARE_WRITE_LINE_MEMBER(ic60_74123_output_changed);
DECLARE_WRITE8_MEMBER(spiders_audio_command_w); DECLARE_WRITE8_MEMBER(spiders_audio_command_w);
DECLARE_WRITE8_MEMBER(spiders_audio_a_w); DECLARE_WRITE8_MEMBER(spiders_audio_a_w);
DECLARE_WRITE8_MEMBER(spiders_audio_b_w); DECLARE_WRITE8_MEMBER(spiders_audio_b_w);