|
|
| version 1.19, 2004/03/31 19:23:37 | version 1.22, 2004/06/12 15:32:53 |
|---|---|
| Line 24 void keyboard_callback(NEVENTITEM item) | Line 24 void keyboard_callback(NEVENTITEM item) |
| keybrd.data = keybrd.buf[keybrd.bufpos]; | keybrd.data = keybrd.buf[keybrd.bufpos]; |
| keybrd.bufpos = (keybrd.bufpos + 1) & KB_BUFMASK; | keybrd.bufpos = (keybrd.bufpos + 1) & KB_BUFMASK; |
| } | } |
| TRACEOUT(("recv -> %02x", keybrd.data)); | // TRACEOUT(("recv -> %02x", keybrd.data)); |
| } | } |
| pic_setirq(1); | pic_setirq(1); |
| nevent_set(NEVENT_KEYBOARD, keybrd.xferclock, | nevent_set(NEVENT_KEYBOARD, keybrd.xferclock, |
| Line 36 void keyboard_callback(NEVENTITEM item) | Line 36 void keyboard_callback(NEVENTITEM item) |
| static void IOOUTCALL keyboard_o41(UINT port, REG8 dat) { | static void IOOUTCALL keyboard_o41(UINT port, REG8 dat) { |
| if (keybrd.cmd & 1) { | if (keybrd.cmd & 1) { |
| TRACEOUT(("send -> %02x", dat)); | // TRACEOUT(("send -> %02x", dat)); |
| keystat_ctrlsend(dat); | keystat_ctrlsend(dat); |
| } | } |
| else { | |
| keybrd.mode = dat; | |
| } | |
| (void)port; | (void)port; |
| } | } |
| static void IOOUTCALL keyboard_o43(UINT port, REG8 dat) { | 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)) { | if ((!(dat & 0x08)) && (keybrd.cmd & 0x08)) { |
| keyboard_resetsignal(); | keyboard_resetsignal(); |
| } | } |
| Line 60 static REG8 IOINPCALL keyboard_i41(UINT | Line 63 static REG8 IOINPCALL keyboard_i41(UINT |
| (void)port; | (void)port; |
| keybrd.status &= ~2; | keybrd.status &= ~2; |
| pic_resetirq(1); | 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); | return(keybrd.data); |
| } | } |
| static REG8 IOINPCALL keyboard_i43(UINT port) { | static REG8 IOINPCALL keyboard_i43(UINT port) { |
| (void)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); | return(keybrd.status | 0x85); |
| } | } |
| Line 85 void keyboard_reset(void) { | Line 88 void keyboard_reset(void) { |
| ZeroMemory(&keybrd, sizeof(keybrd)); | ZeroMemory(&keybrd, sizeof(keybrd)); |
| keybrd.data = 0xff; | keybrd.data = 0xff; |
| keybrd.mode = 0x5e; | |
| } | } |
| void keyboard_bind(void) { | void keyboard_bind(void) { |