hh_cop400: fix mdallas keypad problem

This commit is contained in:
hap 2021-01-06 16:30:16 +01:00
parent 486a4e5ca3
commit f6031017f6
2 changed files with 2 additions and 4 deletions

View File

@ -116,7 +116,7 @@ uint8_t Mux8To2(bool bVoicedP2, uint8_t uPPQtrP2, uint8_t uDeltaAdrP2, uint8_t u
uDeltaAdrP2 ^= 0x03; // count backwards uDeltaAdrP2 ^= 0x03; // count backwards
// emulate 8 to 2 mux to obtain delta from byte (bigendian) // emulate 8 to 2 mux to obtain delta from byte (bigendian)
switch (uDeltaAdrP2) switch (uDeltaAdrP2 & 0x03)
{ {
case 0x00: case 0x00:
return (uRomDataP2 & 0xC0) >> 6; return (uRomDataP2 & 0xC0) >> 6;
@ -126,8 +126,6 @@ uint8_t Mux8To2(bool bVoicedP2, uint8_t uPPQtrP2, uint8_t uDeltaAdrP2, uint8_t u
return (uRomDataP2 & 0x0C) >> 2; return (uRomDataP2 & 0x0C) >> 2;
case 0x03: case 0x03:
return (uRomDataP2 & 0x03) >> 0; return (uRomDataP2 & 0x03) >> 0;
default:
return 0xFF;
} }
} }

View File

@ -1076,7 +1076,7 @@ void mdallas_state::write_l(u8 data)
void mdallas_state::write_d(u8 data) void mdallas_state::write_d(u8 data)
{ {
// D: select digit, input mux high // D: select digit, input mux high
m_inp_mux = (m_inp_mux & 0xf) | (data << 4 & 3); m_inp_mux = (m_inp_mux & 0xf) | (data << 4 & 0x30);
m_d = data & 0xf; m_d = data & 0xf;
update_display(); update_display();
} }