static void ddr_b_w(const device_config *device, UINT8 data) { pia6821_state *p = get_token(device); if (data == 0x00) LOG(("PIA #%s: DDR B write = %02X (input mode)\n", device->tag, data)); else if (data == 0xff) LOG(("PIA #%s: DDR B write = %02X (output mode)\n", device->tag, data)); else LOG(("PIA #%s: DDR B write = %02X (mixed mode)\n", device->tag, data)); if (p->ddr_b != data) { /* DDR changed, call the callback again */ p->ddr_b = data; p->logged_port_b_not_connected = FALSE; send_to_out_b_func(device, "port B write due to DDR change"); } }
void pia6821_device::port_b_w(UINT8 data) { // buffer the output value m_out_b = data; send_to_out_b_func("port B write"); // CB2 in write strobe mode if(C2_STROBE_MODE(m_ctl_b)) { // this will cause a transition low set_out_cb2(FALSE); // if the CB2 strobe is cleared by the E, reset it right away if(STROBE_E_RESET(m_ctl_b)) { set_out_cb2(TRUE); } } }
static void port_b_w(const device_config *device, UINT8 data) { pia6821_state *p = get_token(device); /* buffer the output value */ p->out_b = data; send_to_out_b_func(device, "port B write"); /* CB2 in write strobe mode */ if (C2_STROBE_MODE(p->ctl_b)) { /* this will cause a transition low */ set_out_cb2(device, FALSE); /* if the CB2 strobe is cleared by the E, reset it right away */ if (STROBE_E_RESET(p->ctl_b)) set_out_cb2(device, TRUE); } }
void pia6821_device::ddr_b_w(UINT8 data) { if (data == 0x00) { LOG(("PIA #%s: DDR B write = %02X (input mode)\n", tag(), data)); } else if (data == 0xff) { LOG(("PIA #%s: DDR B write = %02X (output mode)\n", tag(), data)); } else { LOG(("PIA #%s: DDR B write = %02X (mixed mode)\n", tag(), data)); } if(m_ddr_b != data) { // DDR changed, call the callback again m_ddr_b = data; m_logged_port_b_not_connected = false; send_to_out_b_func("port B write due to DDR change"); } }