@@ -8,6 +8,7 @@ module /bin/floppy
module /bin/ramdisk
module /bin/tests
module /bin/test1
+module /bin/ps2
title incOS x86 SMP
root (fd0)
@@ -15,5 +15,6 @@ add_subdirectory(floppy)
add_subdirectory(ramdisk)
add_subdirectory(tests)
add_subdirectory(test1)
+add_subdirectory(ps2)
set(PROGRAMS ${PROGRAMS} PARENT_SCOPE)
--- /dev/null
+set(SRC
+keyboard.c
+../libc/crt0.c
+)
+
+add_executable(ps2 ${SRC})
+target_link_libraries(ps2 c incos)
+
+add_program(ps2)
--- /dev/null
+#include <stdio.h>
+#include <stdint.h>
+#include <cdi/io.h>
+#include <kernel.h>
+#include "keyboard.h"
+
+static void kbIRQHandler()
+{
+ uint8_t data;
+ data = cdi_inb(0x60);
+
+ // DEBUG:
+ printf("%02X\n", data);
+
+ keExitIRQ();
+}
+
+void kbRegisterIRQ()
+{
+ // Register IRQ
+ keRegisterIRQHandler(0x01, kbIRQHandler);
+}
+
+int main(void)
+{
+ kbRegisterIRQ();
+ while(1);
+ return 0;
+}
+
--- /dev/null
+#ifndef KEYBOARD_H_INCLUDED
+#define KEYBOARD_H_INCLUDED
+
+static void kbIRQHandler();
+void kbRegisterIRQ();
+
+#endif