From 510678bed0c4caa3a364ed516f2a8e4e6a3e0f2f Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Mon, 20 Jan 2014 22:51:40 +0100
Subject: [PATCH] Added mouse support for the Atari.
---
cpu/6502/ipconfig/Makefile.atarixl.defines | 2 +-
examples/email/Makefile.atarixl.defines | 2 +-
examples/ftp/Makefile.atarixl.defines | 2 +-
examples/irc/Makefile.atarixl.defines | 2 +-
examples/webbrowser/Makefile.atarixl.defines | 2 +-
platform/atarixl/Makefile.atarixl | 3 +++
platform/atarixl/contiki-conf.h | 3 +++
tools/6502/Makefile | 25 ++++++++++++++++++++
8 files changed, 36 insertions(+), 5 deletions(-)
diff --git a/cpu/6502/ipconfig/Makefile.atarixl.defines b/cpu/6502/ipconfig/Makefile.atarixl.defines
index 72d71db8b..c514089e0 100644
--- a/cpu/6502/ipconfig/Makefile.atarixl.defines
+++ b/cpu/6502/ipconfig/Makefile.atarixl.defines
@@ -1 +1 @@
-DEFINES = WITH_DNS,WITH_GUI
+DEFINES = WITH_DNS,WITH_GUI,WITH_MOUSE
diff --git a/examples/email/Makefile.atarixl.defines b/examples/email/Makefile.atarixl.defines
index 7f438d1d1..5a292701b 100644
--- a/examples/email/Makefile.atarixl.defines
+++ b/examples/email/Makefile.atarixl.defines
@@ -1 +1 @@
-DEFINES = WITH_CLIENT,WITH_DNS,WITH_GUI
+DEFINES = WITH_CLIENT,WITH_DNS,WITH_GUI,WITH_MOUSE
diff --git a/examples/ftp/Makefile.atarixl.defines b/examples/ftp/Makefile.atarixl.defines
index 7f438d1d1..5a292701b 100644
--- a/examples/ftp/Makefile.atarixl.defines
+++ b/examples/ftp/Makefile.atarixl.defines
@@ -1 +1 @@
-DEFINES = WITH_CLIENT,WITH_DNS,WITH_GUI
+DEFINES = WITH_CLIENT,WITH_DNS,WITH_GUI,WITH_MOUSE
diff --git a/examples/irc/Makefile.atarixl.defines b/examples/irc/Makefile.atarixl.defines
index 7f438d1d1..5a292701b 100644
--- a/examples/irc/Makefile.atarixl.defines
+++ b/examples/irc/Makefile.atarixl.defines
@@ -1 +1 @@
-DEFINES = WITH_CLIENT,WITH_DNS,WITH_GUI
+DEFINES = WITH_CLIENT,WITH_DNS,WITH_GUI,WITH_MOUSE
diff --git a/examples/webbrowser/Makefile.atarixl.defines b/examples/webbrowser/Makefile.atarixl.defines
index 7f438d1d1..5a292701b 100644
--- a/examples/webbrowser/Makefile.atarixl.defines
+++ b/examples/webbrowser/Makefile.atarixl.defines
@@ -1 +1 @@
-DEFINES = WITH_CLIENT,WITH_DNS,WITH_GUI
+DEFINES = WITH_CLIENT,WITH_DNS,WITH_GUI,WITH_MOUSE
diff --git a/platform/atarixl/Makefile.atarixl b/platform/atarixl/Makefile.atarixl
index 4fe8c80d6..8b0615c85 100644
--- a/platform/atarixl/Makefile.atarixl
+++ b/platform/atarixl/Makefile.atarixl
@@ -54,6 +54,9 @@ disk: all
cp $(CONTIKI_PROJECT).$(TARGET) atr/autorun.sys
cp $(CONTIKI)/tools/$(TARGET)/sample.cfg atr/contiki.cfg
cp cs8900a.eth atr/cs8900a.eth
+ifeq ($(findstring WITH_MOUSE,$(DEFINES)),WITH_MOUSE)
+ cp $(CC65_HOME)/mou/atrxst.mou atr/contiki.mou
+endif
ifeq ($(HTTPD-CFS),1)
cp httpd-cfs/index.htm atr/index.htm
cp httpd-cfs/backgrnd.gif atr/backgrnd.gif
diff --git a/platform/atarixl/contiki-conf.h b/platform/atarixl/contiki-conf.h
index 904f9316c..047e473ed 100644
--- a/platform/atarixl/contiki-conf.h
+++ b/platform/atarixl/contiki-conf.h
@@ -42,6 +42,9 @@
#define CTK_CONF_WIDGETUP_KEY 0x01 /* Ctrl-A */
#define CTK_CONF_WIDGETDOWN_KEY '\t' /* Tab or Ctrl-I */
+#define MOUSE_CONF_XTOC(x) ((x) / 8)
+#define MOUSE_CONF_YTOC(y) ((y) / 8)
+
#define textcolor(color) COLOR_WHITE
#define BORDERCOLOR COLOR_BLACK
diff --git a/tools/6502/Makefile b/tools/6502/Makefile
index 390ce0968..6e0d6bd50 100644
--- a/tools/6502/Makefile
+++ b/tools/6502/Makefile
@@ -189,6 +189,11 @@ contiki-atari-1.atr: atarixl-makes
cp ../../examples/wget/wget.atarixl atr/wget.com
cp ../atarixl/default.cfg atr/contiki.cfg
cp ../../cpu/6502/ethconfig/cs8900a.eth atr/cs8900a.eth
+ cp $(CC65_HOME)/mou/atrxst.mou atr/contiki.mou
+ cp $(CC65_HOME)/mou/atrxami.mou atr/ami.mou
+ cp $(CC65_HOME)/mou/atrxjoy.mou atr/joy.mou
+ cp $(CC65_HOME)/mou/atrxtrk.mou atr/trk.mou
+ cp $(CC65_HOME)/mou/atrxtt.mou atr/tt.mou
$(DIR2ATR) -b Dos25 1040 $@ atr
rm -r atr
@@ -201,6 +206,11 @@ contiki-atari-2.atr: atarixl-makes
cp ../../../contikiprojects/vandenbrande.com/twitter/platform/atarixl/breadbox64.atarixl atr/breadbox.com
cp ../atarixl/default.cfg atr/contiki.cfg
cp ../../cpu/6502/ethconfig/cs8900a.eth atr/cs8900a.eth
+ cp $(CC65_HOME)/mou/atrxst.mou atr/contiki.mou
+ cp $(CC65_HOME)/mou/atrxami.mou atr/ami.mou
+ cp $(CC65_HOME)/mou/atrxjoy.mou atr/joy.mou
+ cp $(CC65_HOME)/mou/atrxtrk.mou atr/trk.mou
+ cp $(CC65_HOME)/mou/atrxtt.mou atr/tt.mou
$(DIR2ATR) -b Dos25 1040 $@ atr
rm -r atr
@@ -213,6 +223,11 @@ contiki-atari-3.atr: atarixl-makes
cp ../../examples/ftp/ftp-client.atarixl atr/ftp.com
cp ../atarixl/default.cfg atr/contiki.cfg
cp ../../cpu/6502/ethconfig/cs8900a.eth atr/cs8900a.eth
+ cp $(CC65_HOME)/mou/atrxst.mou atr/contiki.mou
+ cp $(CC65_HOME)/mou/atrxami.mou atr/ami.mou
+ cp $(CC65_HOME)/mou/atrxjoy.mou atr/joy.mou
+ cp $(CC65_HOME)/mou/atrxtrk.mou atr/trk.mou
+ cp $(CC65_HOME)/mou/atrxtt.mou atr/tt.mou
$(DIR2ATR) -b Dos25 1040 $@ atr
rm -r atr
@@ -225,6 +240,11 @@ contiki-atari-4.atr: atarixl-makes
cp ../../examples/telnet-server/telnet-server.atarixl atr/telnetd.com
cp ../atarixl/default.cfg atr/contiki.cfg
cp ../../cpu/6502/ethconfig/cs8900a.eth atr/cs8900a.eth
+ cp $(CC65_HOME)/mou/atrxst.mou atr/contiki.mou
+ cp $(CC65_HOME)/mou/atrxami.mou atr/ami.mou
+ cp $(CC65_HOME)/mou/atrxjoy.mou atr/joy.mou
+ cp $(CC65_HOME)/mou/atrxtrk.mou atr/trk.mou
+ cp $(CC65_HOME)/mou/atrxtt.mou atr/tt.mou
cp ../../examples/webserver/httpd-cfs/index.htm atr/index.htm
cp ../../examples/webserver/httpd-cfs/backgrnd.gif atr/backgrnd.gif
cp ../../examples/webserver/httpd-cfs/contiki.gif atr/contiki.gif
@@ -247,6 +267,11 @@ contiki-atari.atr: atarixl-makes
cp ../../examples/telnet-server/telnet-server.atarixl atr/telnetd.com
cp ../atarixl/default.cfg atr/contiki.cfg
cp ../../cpu/6502/ethconfig/cs8900a.eth atr/cs8900a.eth
+ cp $(CC65_HOME)/mou/atrxst.mou atr/contiki.mou
+ cp $(CC65_HOME)/mou/atrxami.mou atr/ami.mou
+ cp $(CC65_HOME)/mou/atrxjoy.mou atr/joy.mou
+ cp $(CC65_HOME)/mou/atrxtrk.mou atr/trk.mou
+ cp $(CC65_HOME)/mou/atrxtt.mou atr/tt.mou
cp ../../examples/webserver/httpd-cfs/index.htm atr/index.htm
cp ../../examples/webserver/httpd-cfs/backgrnd.gif atr/backgrnd.gif
cp ../../examples/webserver/httpd-cfs/contiki.gif atr/contiki.gif