diff --git a/cpu/6502/Makefile.6502 b/cpu/6502/Makefile.6502
index 6fab22da1..2c48fdf90 100644
--- a/cpu/6502/Makefile.6502
+++ b/cpu/6502/Makefile.6502
@@ -30,7 +30,7 @@
#
# Author: Oliver Schmidt
#
-# $Id: Makefile.6502,v 1.22 2007/12/16 17:03:27 oliverschmidt Exp $
+# $Id: Makefile.6502,v 1.23 2007/12/20 22:48:29 oliverschmidt Exp $
#
ifndef CONTIKI
@@ -52,12 +52,12 @@ endif
all: cs8900a.eth lan91c96.eth
CONTIKI_TARGET_DIRS = . lib sys
-CONTIKI_CPU_DIRS = . lib sys net
+CONTIKI_CPU_DIRS = . lib sys ctk net
CONTIKI_TARGET_MAIN = ${addprefix $(OBJECTDIR)/,contiki-main.o}
-CONTIKI_TARGET_SOURCEFILES = contiki-main.c error.c
-CONTIKI_CPU_SOURCEFILES = log.c config.c clock.c lc-asm.S \
- mtarch.c mtarch-asm.S \
+CONTIKI_TARGET_SOURCEFILES = contiki-main.c
+CONTIKI_CPU_SOURCEFILES = log.c error.c config.c clock.c ctk-mouse.c \
+ mtarch.c mtarch-asm.S lc-asm.S \
uip_arch.c ethernet-drv.c ethernet.c
CONTIKI_SOURCEFILES += $(CTK) ctk-conio.c cfs-posix.c petsciiconv.c \
diff --git a/cpu/6502/ctk/ctk-mouse.c b/cpu/6502/ctk/ctk-mouse.c
new file mode 100644
index 000000000..ab8820ace
--- /dev/null
+++ b/cpu/6502/ctk/ctk-mouse.c
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2007, Swedish Institute of Computer Science.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Institute nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * This file is part of the Contiki operating system.
+ *
+ * Author: Oliver Schmidt
+ *
+ * $Id: ctk-mouse.c,v 1.1 2007/12/20 22:47:39 oliverschmidt Exp $
+ */
+
+#include
+#include
+
+#include "ctk.h"
+#include "ctk-mouse.h"
+
+#if CTK_CONF_MOUSE_SUPPORT
+
+static struct mouse_pos pos;
+static unsigned char okay;
+
+/*-----------------------------------------------------------------------------------*/
+void
+ctk_mouse_init(void)
+{
+ okay = mouse_load_driver(&mouse_def_callbacks, MOUSE_CONF_DRIVER) == MOUSE_ERR_OK;
+ if(okay) {
+ atexit((void (*)(void))mouse_unload);
+ }
+}
+/*-----------------------------------------------------------------------------------*/
+unsigned short
+ctk_mouse_x(void)
+{
+ if(okay) {
+ mouse_pos(&pos);
+ }
+ return pos.x;
+}
+/*-----------------------------------------------------------------------------------*/
+unsigned short
+ctk_mouse_y(void)
+{
+ if(okay) {
+ mouse_pos(&pos);
+ }
+ return pos.y;
+}
+/*-----------------------------------------------------------------------------------*/
+unsigned char
+ctk_mouse_button(void)
+{
+ if(okay) {
+ return mouse_buttons();
+ }
+ return 0;
+}
+/*-----------------------------------------------------------------------------------*/
+unsigned char
+ctk_mouse_xtoc(unsigned short x)
+{
+ return MOUSE_CONF_XTOC(x);
+}
+/*-----------------------------------------------------------------------------------*/
+unsigned char
+ctk_mouse_ytoc(unsigned short y)
+{
+ return MOUSE_CONF_YTOC(y);
+}
+/*-----------------------------------------------------------------------------------*/
+void
+ctk_mouse_hide(void)
+{
+ if(okay) {
+ mouse_hide();
+ }
+}
+/*-----------------------------------------------------------------------------------*/
+void
+ctk_mouse_show(void)
+{
+ if(okay) {
+ mouse_show();
+ }
+}
+/*-----------------------------------------------------------------------------------*/
+#endif /* CTK_CONF_MOUSE_SUPPORT */