mirror of
https://github.com/holub/mame
synced 2025-04-26 18:23:08 +03:00
simplified read_port + make sure portc is 6 bits wide (meyc8088.c expects d6,7 to be set on read)
This commit is contained in:
parent
a91bbaade8
commit
8c8b37b75a
@ -159,36 +159,19 @@ inline UINT8 i8155_device::read_port(int port)
|
|||||||
{
|
{
|
||||||
UINT8 data = 0;
|
UINT8 data = 0;
|
||||||
|
|
||||||
switch (port)
|
switch (get_port_mode(port))
|
||||||
{
|
{
|
||||||
case PORT_A:
|
case PORT_MODE_INPUT:
|
||||||
case PORT_B:
|
data = m_in_port_func[port](0);
|
||||||
switch (get_port_mode(port))
|
|
||||||
{
|
|
||||||
case PORT_MODE_INPUT:
|
|
||||||
data = m_in_port_func[port](0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PORT_MODE_OUTPUT:
|
|
||||||
data = m_output[port];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PORT_C:
|
case PORT_MODE_OUTPUT:
|
||||||
switch (get_port_mode(PORT_C))
|
data = m_output[port];
|
||||||
{
|
break;
|
||||||
case PORT_MODE_INPUT:
|
|
||||||
data = m_in_port_func[port](0) & 0x3f;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PORT_MODE_OUTPUT:
|
default:
|
||||||
data = m_output[port] & 0x3f;
|
// strobed mode not implemented yet
|
||||||
break;
|
logerror("8155 '%s' Unsupported Port C mode!\n", tag());
|
||||||
|
|
||||||
default:
|
|
||||||
logerror("8155 '%s' Unsupported Port C mode!\n", tag());
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -404,7 +387,7 @@ READ8_MEMBER( i8155_device::io_r )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case REGISTER_PORT_C:
|
case REGISTER_PORT_C:
|
||||||
data = read_port(PORT_C);
|
data = read_port(PORT_C) | 0xc0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case REGISTER_TIMER_LOW:
|
case REGISTER_TIMER_LOW:
|
||||||
@ -501,7 +484,7 @@ void i8155_device::register_w(int offset, UINT8 data)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case REGISTER_PORT_C:
|
case REGISTER_PORT_C:
|
||||||
write_port(PORT_C, data);
|
write_port(PORT_C, data & 0x3f);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case REGISTER_TIMER_LOW:
|
case REGISTER_TIMER_LOW:
|
||||||
|
Loading…
Reference in New Issue
Block a user