nsc810: fixed I/O port writing, fixing the keyboard on the Hunter 2

hunter2: switched S and C keys around
This commit is contained in:
mahlemiut 2014-03-11 06:57:05 +00:00
parent 7d5ef42206
commit c28c003834
2 changed files with 5 additions and 5 deletions

View File

@ -191,17 +191,17 @@ WRITE8_MEMBER(nsc810_device::write)
{ {
case REG_PORTA: case REG_PORTA:
m_portA_latch = data & ~m_ddrA; m_portA_latch = data & ~m_ddrA;
m_portA_w(data & m_ddrA); m_portA_w((0xff & ~m_ddrA) | (data & m_ddrA));
if(LOG) logerror("NSC810 '%s': Port A data write %02x\n",tag(),data); if(LOG) logerror("NSC810 '%s': Port A data write %02x\n",tag(),data);
break; break;
case REG_PORTB: case REG_PORTB:
m_portB_latch = data & ~m_ddrB; m_portB_latch = data & ~m_ddrB;
m_portB_w(data & m_ddrB); m_portB_w((0xff & ~m_ddrB) | (data & m_ddrB));
if(LOG) logerror("NSC810 '%s': Port B data write %02x\n",tag(),data); if(LOG) logerror("NSC810 '%s': Port B data write %02x\n",tag(),data);
break; break;
case REG_PORTC: case REG_PORTC:
m_portC_latch = data & ~m_ddrC; m_portC_latch = data & ~m_ddrC;
m_portC_w(data & m_ddrC); m_portC_w((0xff & ~m_ddrC) | (data & m_ddrC));
if(LOG) logerror("NSC810 '%s': Port C data write %02x\n",tag(),data); if(LOG) logerror("NSC810 '%s': Port C data write %02x\n",tag(),data);
break; break;
case REG_DDRA: case REG_DDRA:

View File

@ -158,8 +158,8 @@ static INPUT_PORTS_START( hunter2 )
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_CHAR('R') PORT_CHAR('r') PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_CHAR('R') PORT_CHAR('r')
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_E) PORT_CHAR('E') PORT_CHAR('e') PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_E) PORT_CHAR('E') PORT_CHAR('e')
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_D) PORT_CHAR('D') PORT_CHAR('d') PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_D) PORT_CHAR('D') PORT_CHAR('d')
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_C) PORT_CHAR('C') PORT_CHAR('c') PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_CHAR('s')
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_CHAR('s') PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_C) PORT_CHAR('C') PORT_CHAR('c')
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_CHAR('x') PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_CHAR('X') PORT_CHAR('x')
INPUT_PORTS_END INPUT_PORTS_END