Wed, 09 Feb 2011 17:11:48 +0000
more keyboard fixes... interrupt logic needs fixing... grrrrr...
src/keyboard.c | file | annotate | diff | revisions | |
src/main.c | file | annotate | diff | revisions |
1.1 diff -r 0d903718da81 -r 9883eb142f70 src/keyboard.c 1.2 --- a/src/keyboard.c Wed Feb 09 16:35:49 2011 +0000 1.3 +++ b/src/keyboard.c Wed Feb 09 17:11:48 2011 +0000 1.4 @@ -235,7 +235,7 @@ 1.5 // 0 + // SR5: Receiver Overrun 1.6 // 0 + // SR6: Parity Error 1.7 if (keyboard_get_irq(ks)) sr |= 0x80; // SR7: IRQ status 1.8 - printf("\tKBD DBG: sr=%02X\n", sr); 1.9 + printf("\tKBC DBG: sr=%02X\n", sr); 1.10 return sr; 1.11 } else { 1.12 // return data, pop off the fifo
2.1 diff -r 0d903718da81 -r 9883eb142f70 src/main.c 2.2 --- a/src/main.c Wed Feb 09 16:35:49 2011 +0000 2.3 +++ b/src/main.c Wed Feb 09 17:11:48 2011 +0000 2.4 @@ -336,10 +336,13 @@ 2.5 } else { 2.6 lastirq_fdc = false; 2.7 } 2.8 +*/ if (keyboard_get_irq(&state.kbd)) { 2.9 + // TODO: this is a LEVEL, not an EDGE! 2.10 + m68k_set_irq(3); 2.11 } else { 2.12 m68k_set_irq(0); 2.13 } 2.14 -*/ 2.15 + 2.16 // Is it time to run the 60Hz periodic interrupt yet? 2.17 if (clock_cycles > CLOCKS_PER_60HZ) { 2.18 // Refresh the screen