Index: arch/mips32/include/drivers/keyboard.h
===================================================================
--- arch/mips32/include/drivers/keyboard.h	(revision 939dfd70a7a0f73670ee999422ddeae17ecdd0f0)
+++ arch/mips32/include/drivers/keyboard.h	(revision 705b4149822f194ae48b3897b40aa114729244e1)
@@ -34,5 +34,5 @@
 
 /** Address of 'keyboard' device. */
-#define KEYBOARD_ADDRESS		0xB0000004
+#define KEYBOARD_ADDRESS		0xB0000000
 
 extern void keyboard_init(void);
Index: arch/mips32/include/interrupt.h
===================================================================
--- arch/mips32/include/interrupt.h	(revision 939dfd70a7a0f73670ee999422ddeae17ecdd0f0)
+++ arch/mips32/include/interrupt.h	(revision 705b4149822f194ae48b3897b40aa114729244e1)
@@ -32,8 +32,9 @@
 #include <arch/exception.h>
 
+#define IRQ2	2
 #define IRQ3	3
 #define IRQ7	7
 
-#define KEYBOARD_IRQ	IRQ3
+#define KEYBOARD_IRQ	IRQ2
 #define TIMER_IRQ   	IRQ7
 
Index: arch/mips32/src/drivers/keyboard.c
===================================================================
--- arch/mips32/src/drivers/keyboard.c	(revision 939dfd70a7a0f73670ee999422ddeae17ecdd0f0)
+++ arch/mips32/src/drivers/keyboard.c	(revision 705b4149822f194ae48b3897b40aa114729244e1)
@@ -76,4 +76,6 @@
 
 	ch = *((char *) KEYBOARD_ADDRESS);
+	if (ch =='\r')
+		ch = '\n';
 	chardev_push_character(&kbrd, ch);
 }
Index: arch/mips32/src/interrupt.c
===================================================================
--- arch/mips32/src/interrupt.c	(revision 939dfd70a7a0f73670ee999422ddeae17ecdd0f0)
+++ arch/mips32/src/interrupt.c	(revision 705b4149822f194ae48b3897b40aa114729244e1)
@@ -111,8 +111,8 @@
 					cp0_cause_write(cp0_cause_read() & ~(1 << 9)); /* clear SW1 interrupt */
 					break;
-				case 2: /* IRQ0 */
 				case KEYBOARD_IRQ:
 					keyboard();
 					break;
+			        case 3:
 				case 4: /* IRQ2 */
 				case 5: /* IRQ3 */
Index: contrib/conf/msim.conf
===================================================================
--- contrib/conf/msim.conf	(revision 939dfd70a7a0f73670ee999422ddeae17ecdd0f0)
+++ contrib/conf/msim.conf	(revision 705b4149822f194ae48b3897b40aa114729244e1)
@@ -11,3 +11,3 @@
 
 add dprinter printer 0x10000000
-add dkeyboard keyboard 0x10000004 3
+add dkeyboard keyboard 0x10000000 2
