--- np2/io/serial.c 2004/03/31 19:23:37 1.19 +++ np2/io/serial.c 2005/02/07 14:46:11 1.23 @@ -24,7 +24,7 @@ void keyboard_callback(NEVENTITEM item) keybrd.data = keybrd.buf[keybrd.bufpos]; keybrd.bufpos = (keybrd.bufpos + 1) & KB_BUFMASK; } - TRACEOUT(("recv -> %02x", keybrd.data)); +// TRACEOUT(("recv -> %02x", keybrd.data)); } pic_setirq(1); nevent_set(NEVENT_KEYBOARD, keybrd.xferclock, @@ -36,15 +36,18 @@ void keyboard_callback(NEVENTITEM item) static void IOOUTCALL keyboard_o41(UINT port, REG8 dat) { if (keybrd.cmd & 1) { - TRACEOUT(("send -> %02x", dat)); +// TRACEOUT(("send -> %02x", dat)); keystat_ctrlsend(dat); } + else { + keybrd.mode = dat; + } (void)port; } static void IOOUTCALL keyboard_o43(UINT port, REG8 dat) { - TRACEOUT(("out43 -> %02x %.4x:%.8x", dat, CPU_CS, CPU_EIP)); +// TRACEOUT(("out43 -> %02x %.4x:%.8x", dat, CPU_CS, CPU_EIP)); if ((!(dat & 0x08)) && (keybrd.cmd & 0x08)) { keyboard_resetsignal(); } @@ -60,14 +63,14 @@ static REG8 IOINPCALL keyboard_i41(UINT (void)port; keybrd.status &= ~2; pic_resetirq(1); - TRACEOUT(("in41 -> %02x %.4x:%.8x", keybrd.data, CPU_CS, CPU_EIP)); +// TRACEOUT(("in41 -> %02x %.4x:%.8x", keybrd.data, CPU_CS, CPU_EIP)); return(keybrd.data); } static REG8 IOINPCALL keyboard_i43(UINT port) { (void)port; - TRACEOUT(("in43 -> %02x %.4x:%.8x", keybrd.status, CPU_CS, CPU_EIP)); +// TRACEOUT(("in43 -> %02x %.4x:%.8x", keybrd.status, CPU_CS, CPU_EIP)); return(keybrd.status | 0x85); } @@ -85,6 +88,7 @@ void keyboard_reset(void) { ZeroMemory(&keybrd, sizeof(keybrd)); keybrd.data = 0xff; + keybrd.mode = 0x5e; } void keyboard_bind(void) { @@ -172,7 +176,7 @@ void rs232c_callback(void) { } } else { - rs232c.result &= (BYTE)~2; + rs232c.result &= (UINT8)~2; } if (sysport.c & 4) { if (rs232c.send) { @@ -185,7 +189,7 @@ void rs232c_callback(void) { } } -BYTE rs232c_stat(void) { +UINT8 rs232c_stat(void) { if (cm_rs232c == NULL) { cm_rs232c = commng_create(COMCREATE_SERIAL);