Thu, 03 Mar 2011 08:18:57 +0000
use LOG functions for kbc debugging, make KBC debugging optional
src/keyboard.c | file | annotate | diff | revisions |
1.1 diff -r d1af20db5f02 -r 2d06b823a015 src/keyboard.c 1.2 --- a/src/keyboard.c Thu Mar 03 08:15:09 2011 +0000 1.3 +++ b/src/keyboard.c Thu Mar 03 08:18:57 2011 +0000 1.4 @@ -1,7 +1,11 @@ 1.5 #include <stdbool.h> 1.6 #include "SDL.h" 1.7 +#include "utils.h" 1.8 #include "keyboard.h" 1.9 1.10 +// Enable/disable KBC debugging 1.11 +#define kbc_debug false 1.12 + 1.13 /** 1.14 * Key map -- a mapping from SDLK_xxx constants to scancodes and vice versa. 1.15 */ 1.16 @@ -222,7 +226,7 @@ 1.17 1.18 for (int i=0; i<(sizeof(ks->keystate)/sizeof(ks->keystate[0])); i++) { 1.19 if (ks->keystate[i]) { 1.20 - printf("\tKBC KEY DOWN: %d\n", i); 1.21 + LOG_IF(kbc_debug, "KBC KEY DOWN: %d\n", i); 1.22 ks->buffer[ks->writep] = i; 1.23 last_writep = ks->writep; 1.24 ks->writep = (ks->writep + 1) % KEYBOARD_BUFFER_SIZE; 1.25 @@ -234,7 +238,7 @@ 1.26 ks->buffer[ks->writep - 1] |= 0x80; 1.27 }else{ 1.28 // If no keys down, then send All Keys Up byte 1.29 - printf("\tKBC ALL KEYS UP\n"); 1.30 + LOG_IFS(kbc_debug, "KBC ALL KEYS UP\n"); 1.31 ks->buffer[ks->writep] = KEY_ALL_UP; 1.32 ks->writep = (ks->writep + 1) % KEYBOARD_BUFFER_SIZE; 1.33 if (ks->buflen < KEYBOARD_BUFFER_SIZE) ks->buflen++; 1.34 @@ -280,14 +284,14 @@ 1.35 // 0 + // SR5: Receiver Overrun 1.36 // 0 + // SR6: Parity Error 1.37 if (keyboard_get_irq(ks)) sr |= 0x80; // SR7: IRQ status 1.38 - printf("\tKBC DBG: sr=%02X\n", sr); 1.39 + //LOG_IF(kbc_debug, "KBC DBG: sr=%02X\n", sr); 1.40 return sr; 1.41 } else { 1.42 // return data, pop off the fifo 1.43 uint8_t x = ks->buffer[ks->readp]; 1.44 ks->readp = (ks->readp + 1) % KEYBOARD_BUFFER_SIZE; 1.45 if (ks->buflen > 0) ks->buflen--; 1.46 - //printf("\tKBC DBG: rxd=%02X\n", x); 1.47 + //LOG_IF(kbc_debug, "\tKBC DBG: rxd=%02X\n", x); 1.48 return x; 1.49 } 1.50 } 1.51 @@ -313,10 +317,11 @@ 1.52 ks->rxie = (val & 0x80)==0x80; 1.53 } else { 1.54 // Write command to KBC -- TODO! 1.55 - printf("KBC TODO: write keyboard data 0x%02X\n", val); 1.56 if (val == KEY_CMD_RESET) { 1.57 - printf("\tKBC: KEYBOARD RESET!\n"); 1.58 + LOG_IFS(kbc_debug, "KBC: KEYBOARD RESET!\n"); 1.59 ks->readp = ks->writep = ks->buflen = 0; 1.60 + } else { 1.61 + LOG("KBC TODO: write keyboard data 0x%02X\n", val); 1.62 } 1.63 } 1.64 }