UINT8 snes_bcbattle_device::read_pin4() { UINT8 ret = 0; if (m_idx >= 80) ret |= 0x00; else if (m_idx >= 28) // scan actual barcode { ret |= read_current_bit(); // if no code is pending transmission, the function returns 0 m_idx++; } else if (m_idx >= 25) // unknown flags? m_idx++; else if (m_idx == 24) // barcode present { ret |= m_pending_code; m_idx++; } else if (m_idx >= 12) // controller ID ret |= BIT(0x7000, m_idx++); else // first 12 bytes are unknown and probably always 0 m_idx++; return ret; }
uint8_t nes_bcbattle_device::read_exp(offs_t offset) { uint8_t ret = 0; if (offset == 1) //$4017 { ret |= read_current_bit() << 2; } return ret; }