Rev 575 | Rev 590 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 575 | Rev 588 | ||
---|---|---|---|
Line 59... | Line 59... | ||
59 | void msim_disable(chardev_t *dev) |
59 | void msim_disable(chardev_t *dev) |
60 | { |
60 | { |
61 | cp0_mask_int(MSIM_KBD_IRQ); |
61 | cp0_mask_int(MSIM_KBD_IRQ); |
62 | } |
62 | } |
63 | 63 | ||
- | 64 | #include <print.h> |
|
64 | /** Process keyboard interrupt. */ |
65 | /** Process keyboard interrupt. */ |
65 | static void msim_interrupt(int n, void *stack) |
66 | static void msim_interrupt(int n, void *stack) |
66 | { |
67 | { |
67 | char ch; |
68 | char ch; |
68 | 69 | ||
69 | ch = *((char *) MSIM_KBD_ADDRESS); |
70 | ch = *((char *) MSIM_KBD_ADDRESS); |
70 | if (ch =='\r') |
71 | if (ch =='\r') |
71 | ch = '\n'; |
72 | ch = '\n'; |
- | 73 | if (ch == 0x7f) |
|
- | 74 | ch = '\b'; |
|
72 | chardev_push_character(&console, ch); |
75 | chardev_push_character(&console, ch); |
73 | } |
76 | } |
74 | 77 | ||
75 | 78 | ||
76 | /* Return console object representing msim console */ |
79 | /* Return console object representing msim console */ |