Updated for the new kernel API
diff --git a/contiki-plus4/Makefile b/contiki-plus4/Makefile
index a29e3c6..8265eb4 100644
--- a/contiki-plus4/Makefile
+++ b/contiki-plus4/Makefile
@@ -9,10 +9,7 @@
 # 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. All advertising materials mentioning features or use of this software
-#    must display the following acknowledgement:
-#      This product includes software developed by Adam Dunkels.
-# 4. The name of the author may not be used to endorse or promote
+# 3. The name of the author may not be used to endorse or promote
 #    products derived from this software without specific prior
 #    written permission.  
 #
@@ -30,7 +27,7 @@
 #
 # This file is part of the Contiki desktop environment
 #
-# $Id: Makefile,v 1.1 2003/04/11 20:30:14 adamdunkels Exp $
+# $Id: Makefile,v 1.2 2004/07/04 20:01:15 adamdunkels Exp $
 #
 
 all: contiki loader-arch-module.o contiki-labels.o \
@@ -38,6 +35,7 @@
      www.prg email.prg simpletelnet.prg vnc.prg
 
 CONTIKI=../contiki
+CONTIKICC65=../contiki-cc65
 SYS=plus4
 
 CC=cc65
@@ -89,6 +87,10 @@
 	$(CC) $(CFLAGS) $(OPT) -o $(patsubst %c, %s, $(notdir $<)) $<
 	$(AS) -o $@ $(AFLAGS) $(*).s
 
+%.o: $(CONTIKICC65)/apps/%.c
+	$(CC) $(CFLAGS) $(OPT) -o $(patsubst %c, %s, $(notdir $<)) $<
+	$(AS) -o $@ $(AFLAGS) $(*).s
+
 
 %.o: apps/%.S
 	$(AS) -o $@ $(AFLAGS) $<
@@ -105,8 +107,8 @@
 
 UIP=uip.o uip_arch.o uip_main.o resolv.o
 
-WWW=www.o webclient.o http-strings.o htmlparser.o html-strings.o 
-EMAIL=email.o smtp.o smtp-strings.o
+WWW=www.o webclient.o http-strings.o htmlparser.o html-strings.o http-user-agent-string.o
+EMAIL=email.o smtp.o smtp-strings.o ctk-textedit.o
 WEBSERVER=webserver.o http-strings.o 
 TELNET=simpletelnet.o telnet.o
 VNC=vnc.o vnc-viewer.o vnc-draw.o vnc-draw-asm.o
@@ -119,11 +121,11 @@
 contiki-labels.o: contiki-labels.s
 	ca65 -o contiki-labels.o contiki-labels.s
 contiki-labels.s: contiki
-	./make-labels
+	$(CONTIKICC65)/make-labels
 
 contiki: contiki-main.o strncasecmp.o petsciiconv.o \
- ctk-conio.o ctk.o ek.o dispatcher.o \
- uip.o uip_arch.o resolv.o uip_main.o \
+ ctk-conio.o ctk.o ek.o ek-service.o arg.o timer.o \
+ uip.o uip_arch.o resolv.o uiplib.o tcpip.o \
  program-handler.o loader-arch.o
 	cl65 -Ln contiki-labels -o contiki -t $(SYS) $^
 
diff --git a/contiki-plus4/Makefile.depend b/contiki-plus4/Makefile.depend
index 85ba8da..f3bc320 100644
--- a/contiki-plus4/Makefile.depend
+++ b/contiki-plus4/Makefile.depend
@@ -1,148 +1,296 @@
-contiki-main.o: contiki-main.c ../contiki/ctk/ctk.h conf/ctk-conf.h \
+contiki-main.o: contiki-main.c ../contiki/ek/contiki.h \
  ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
- ../contiki/ctk/ctk-draw.h ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h \
- ../contiki/ek/dispatcher.h ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/uip/uip_main.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/uip/uip.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/tcpip.h \
+ ../contiki/lib/memb.h ../contiki/lib/timer.h ../contiki/lib/clock.h \
+ conf/clock-conf.h ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ctk/ctk-draw.h \
  ../contiki/uip/uip_arp.h ../contiki/uip/resolv.h \
- ../contiki/apps/program-handler.h
-memstat.o: apps/memstat.c ../contiki/ctk/ctk.h conf/ctk-conf.h \
- ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
- ../contiki/ek/dispatcher.h ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/ek/loader.h
+ ../contiki/apps/program-handler.h ../contiki/ek/dsc.h
 vnc-draw.o: apps/vnc-draw.c ../contiki/apps/vnc-draw.h uip/uip_arch.h \
- ../contiki/uip/uip.h ../contiki/uip/uipopt.h \
- ../contiki/ek/dispatcher.h ../contiki/ek/ek.h conf/ek-conf.h \
- ../contiki/lib/cc.h conf/cc-conf.h apps/vnc-draw-asm.h \
- conf/vnc-conf.h
+ ../contiki/uip/uip.h ../contiki/uip/uipopt.h conf/uip-conf.h \
+ ../contiki/uip/tcpip.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h apps/vnc-draw-asm.h conf/vnc-conf.h
 loader-arch.o: loader/loader-arch.c loader/loader-arch.h
 uip_arch.o: uip/uip_arch.c ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/ek/dispatcher.h ../contiki/ek/ek.h \
- conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h uip/uip_arch.h
-about.o: ../contiki/apps/about.c ../contiki/ctk/ctk.h conf/ctk-conf.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/tcpip.h \
  ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
- ../contiki/ek/dispatcher.h ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/lib/petsciiconv.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h uip/uip_arch.h
+about-dsc.o: ../contiki/apps/about-dsc.c ../contiki/ek/dsc.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
  ../contiki/ek/loader.h
-calc.o: ../contiki/apps/calc.c ../contiki/ctk/ctk.h conf/ctk-conf.h \
- ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
- ../contiki/ek/dispatcher.h ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/ek/loader.h
-contiki.o: ../contiki/apps/contiki.c ../contiki/uip/uip_main.h \
- ../contiki/uip/uip.h ../contiki/uip/uipopt.h \
- ../contiki/ek/dispatcher.h ../contiki/ek/ek.h conf/ek-conf.h \
- ../contiki/lib/cc.h conf/cc-conf.h ../contiki/uip/uip_arp.h \
- ../contiki/ctk/ctk.h conf/ctk-conf.h ../contiki/uip/resolv.h \
- ../contiki/apps/email.h ../contiki/lib/petsciiconv.h
-email.o: ../contiki/apps/email.c ../contiki/ctk/ctk.h conf/ctk-conf.h \
- ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
- ../contiki/ek/dispatcher.h ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/apps/smtp.h \
- ../contiki/uip/uip_main.h ../contiki/lib/petsciiconv.h \
+about.o: ../contiki/apps/about.c ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/ctk/ctk.h conf/ctk-conf.h \
+ ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h ../contiki/ctk/ctk-draw.h \
+ ../contiki/lib/petsciiconv.h
+calc-dsc.o: ../contiki/apps/calc-dsc.c ../contiki/ek/dsc.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
  ../contiki/ek/loader.h
+calc.o: ../contiki/apps/calc.c ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/ctk/ctk.h conf/ctk-conf.h \
+ ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h
+email-dsc.o: ../contiki/apps/email-dsc.c ../contiki/ek/dsc.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
+email.o: ../contiki/apps/email.c ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/ctk/ctk.h conf/ctk-conf.h \
+ ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h ../contiki/apps/smtp.h \
+ ../contiki/uip/uip.h ../contiki/uip/uipopt.h conf/uip-conf.h \
+ ../contiki/uip/tcpip.h ../contiki/uip/uiplib.h \
+ ../contiki/lib/petsciiconv.h ../contiki/lib/ctk-textedit.h
 html-strings.o: ../contiki/apps/html-strings.c
 htmlparser.o: ../contiki/apps/htmlparser.c \
  ../contiki/apps/htmlparser.h ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/ek/dispatcher.h ../contiki/ek/ek.h \
- conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/tcpip.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h \
  ../contiki/apps/html-strings.h conf/www-conf.h
 http-strings.o: ../contiki/apps/http-strings.c
-netconf.o: ../contiki/apps/netconf.c ../contiki/uip/uip_main.h \
- ../contiki/uip/uip.h ../contiki/uip/uipopt.h \
- ../contiki/ek/dispatcher.h ../contiki/ek/ek.h conf/ek-conf.h \
- ../contiki/lib/cc.h conf/cc-conf.h ../contiki/uip/uip_arp.h \
- ../contiki/ctk/ctk.h conf/ctk-conf.h ../contiki/ek/loader.h
-processes.o: ../contiki/apps/processes.c ../contiki/ctk/ctk.h \
- conf/ctk-conf.h ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h \
- conf/cc-conf.h ../contiki/ek/dispatcher.h ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/ek/loader.h
+http-user-agent-string.o: ../contiki/apps/http-user-agent-string.c
+httpd-fsdata.o: ../contiki/apps/httpd-fsdata.c
+netconf-dsc.o: ../contiki/apps/netconf-dsc.c ../contiki/ek/dsc.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
+netconf.o: ../contiki/apps/netconf.c ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/uip/uip.h ../contiki/uip/uipopt.h \
+ conf/uip-conf.h ../contiki/uip/tcpip.h ../contiki/uip/uiplib.h \
+ ../contiki/uip/uip_arp.h ../contiki/uip/resolv.h ../contiki/ctk/ctk.h \
+ conf/ctk-conf.h ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h \
+ ../contiki/ctk/ctk-draw.h
+processes-dsc.o: ../contiki/apps/processes-dsc.c ../contiki/ek/dsc.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
+processes.o: ../contiki/apps/processes.c ../contiki/ek/ek.h \
+ conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/ctk/ctk.h conf/ctk-conf.h \
+ ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h
 program-handler.o: ../contiki/apps/program-handler.c \
- ../contiki/lib/petsciiconv.h ../contiki/uip/uip_main.h \
- ../contiki/uip/uip.h ../contiki/uip/uipopt.h \
- ../contiki/ek/dispatcher.h ../contiki/ek/ek.h conf/ek-conf.h \
- ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ctk/ctk.h \
- conf/ctk-conf.h ../contiki/ctk/ctk-draw.h ctk/ctk-arch.h \
- ../contiki/ctk/ctk-conio.h ../contiki/uip/resolv.h \
- ../contiki/apps/telnet.h ../contiki/ek/loader.h
-programs.o: ../contiki/apps/programs.c ../contiki/ctk/ctk.h \
- conf/ctk-conf.h ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h \
- conf/cc-conf.h ../contiki/ek/dispatcher.h ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/apps/webserver.h \
- ../contiki/apps/www.h ../contiki/apps/email.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h \
+ ../contiki/lib/petsciiconv.h ../contiki/ctk/ctk.h conf/ctk-conf.h \
+ ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h ../contiki/ctk/ctk-draw.h \
+ ../contiki/apps/program-handler.h ../contiki/ek/dsc.h
+shell-dsc.o: ../contiki/apps/shell-dsc.c ../contiki/ek/dsc.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
+simpletelnet.o: ../contiki/apps/simpletelnet.c ../contiki/ek/ek.h \
+ conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/lib/petsciiconv.h \
+ ../contiki/uip/uiplib.h ../contiki/uip/uip.h ../contiki/uip/uipopt.h \
+ conf/uip-conf.h ../contiki/uip/tcpip.h ../contiki/ctk/ctk.h \
+ conf/ctk-conf.h ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h \
+ ../contiki/uip/resolv.h ../contiki/apps/telnet.h \
  ../contiki/apps/simpletelnet.h
-simpletelnet.o: ../contiki/apps/simpletelnet.c \
- ../contiki/lib/petsciiconv.h ../contiki/uip/uip_main.h \
- ../contiki/uip/uip.h ../contiki/uip/uipopt.h \
- ../contiki/ek/dispatcher.h ../contiki/ek/ek.h conf/ek-conf.h \
- ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ctk/ctk.h \
- conf/ctk-conf.h ../contiki/uip/resolv.h ../contiki/apps/telnet.h \
- ../contiki/apps/simpletelnet.h ../contiki/ek/loader.h
 smtp-strings.o: ../contiki/apps/smtp-strings.c
 smtp.o: ../contiki/apps/smtp.c ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/ek/dispatcher.h ../contiki/ek/ek.h \
- conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
- ../contiki/apps/smtp.h ../contiki/apps/smtp-strings.h
-telnet.o: ../contiki/apps/telnet.c ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/ek/dispatcher.h ../contiki/ek/ek.h \
- conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
- ../contiki/apps/telnet.h
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/tcpip.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/apps/smtp.h \
+ ../contiki/apps/smtp-strings.h
+telnet-dsc.o: ../contiki/apps/telnet-dsc.c ../contiki/ek/dsc.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
+telnet.o: ../contiki/apps/telnet.c ../contiki/uip/tcpip.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/uip/uip.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/apps/telnet.h
+telnetd-dsc.o: ../contiki/apps/telnetd-dsc.c ../contiki/ek/dsc.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
+telnetd-gui.o: ../contiki/apps/telnetd-gui.c \
+ ../contiki/apps/program-handler.h ../contiki/ek/dsc.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/uip/uip.h ../contiki/uip/uipopt.h \
+ conf/uip-conf.h ../contiki/uip/tcpip.h ../contiki/lib/petsciiconv.h \
+ ../contiki/uip/uip_arp.h ../contiki/uip/resolv.h \
+ ../contiki/apps/telnetd.h ../contiki/ek/contiki.h \
+ ../contiki/lib/memb.h ../contiki/lib/timer.h ../contiki/lib/clock.h \
+ conf/clock-conf.h ../contiki/apps/shell.h ../contiki/uip/uip-signal.h
+vnc-dsc.o: ../contiki/apps/vnc-dsc.c ../contiki/ek/dsc.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
 vnc-viewer.o: ../contiki/apps/vnc-viewer.c ../contiki/apps/vnc-draw.h \
  uip/uip_arch.h ../contiki/uip/uip.h ../contiki/uip/uipopt.h \
- ../contiki/ek/dispatcher.h ../contiki/ek/ek.h conf/ek-conf.h \
- ../contiki/lib/cc.h conf/cc-conf.h ../contiki/apps/vnc-viewer.h
-vnc.o: ../contiki/apps/vnc.c ../contiki/lib/petsciiconv.h \
- ../contiki/uip/uip_main.h ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/ek/dispatcher.h ../contiki/ek/ek.h \
- conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
- ../contiki/ctk/ctk.h conf/ctk-conf.h ../contiki/uip/resolv.h \
- ../contiki/apps/telnet.h ../contiki/apps/vnc.h \
- ../contiki/apps/vnc-draw.h uip/uip_arch.h \
- ../contiki/apps/vnc-viewer.h conf/vnc-conf.h ../contiki/ek/loader.h
-webclient.o: ../contiki/apps/webclient.c ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/ek/dispatcher.h ../contiki/ek/ek.h \
- conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
- ../contiki/apps/webclient.h ../contiki/apps/http-strings.h \
- ../contiki/uip/resolv.h ../contiki/uip/uip_main.h
-webserver.o: ../contiki/apps/webserver.c ../contiki/ctk/ctk.h \
- conf/ctk-conf.h ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h \
- conf/cc-conf.h ../contiki/ek/dispatcher.h ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/apps/http-strings.h \
- ../contiki/uip/uip_main.h ../contiki/lib/petsciiconv.h \
- ../contiki/ek/loader.h
-www.o: ../contiki/apps/www.c ../contiki/ctk/ctk.h conf/ctk-conf.h \
+ conf/uip-conf.h ../contiki/uip/tcpip.h ../contiki/ek/ek.h \
+ conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/apps/vnc-viewer.h
+vnc.o: ../contiki/apps/vnc.c ../contiki/ek/contiki.h \
  ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
- ../contiki/ek/dispatcher.h ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/apps/webclient.h \
- ../contiki/apps/http-strings.h ../contiki/apps/htmlparser.h \
- ../contiki/uip/resolv.h ../contiki/lib/petsciiconv.h \
- ../contiki/ek/loader.h conf/www-conf.h
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/uip/uip.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/tcpip.h \
+ ../contiki/lib/memb.h ../contiki/lib/timer.h ../contiki/lib/clock.h \
+ conf/clock-conf.h ../contiki/lib/petsciiconv.h \
+ ../contiki/uip/uiplib.h ../contiki/ctk/ctk.h conf/ctk-conf.h \
+ ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h ../contiki/ctk/ctk-mouse.h \
+ ../contiki/uip/resolv.h ../contiki/apps/telnet.h \
+ ../contiki/apps/vnc.h ../contiki/apps/vnc-draw.h uip/uip_arch.h \
+ ../contiki/apps/vnc-viewer.h conf/vnc-conf.h
+webclient.o: ../contiki/apps/webclient.c ../contiki/ek/ek.h \
+ conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/uip/tcpip.h ../contiki/uip/uip.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/apps/webclient.h \
+ ../contiki/apps/http-strings.h \
+ ../contiki/apps/http-user-agent-string.h ../contiki/uip/resolv.h \
+ ../contiki/uip/uiplib.h conf/www-conf.h
+webserver-dsc.o: ../contiki/apps/webserver-dsc.c ../contiki/ek/dsc.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
+www-dsc.o: ../contiki/apps/www-dsc.c ../contiki/ek/dsc.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
+www.o: ../contiki/apps/www.c ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/ctk/ctk.h conf/ctk-conf.h \
+ ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h ../contiki/apps/webclient.h \
+ ../contiki/apps/http-strings.h \
+ ../contiki/apps/http-user-agent-string.h ../contiki/uip/resolv.h \
+ ../contiki/uip/uip.h ../contiki/uip/uipopt.h conf/uip-conf.h \
+ ../contiki/uip/tcpip.h ../contiki/apps/htmlparser.h \
+ ../contiki/lib/petsciiconv.h ../contiki/apps/program-handler.h \
+ ../contiki/ek/dsc.h ../contiki/uip/uiplib.h conf/www-conf.h
+ctk-conio-service.o: ../contiki/ctk/ctk-conio-service.c \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/ctk/ctk-draw.h \
+ ../contiki/ctk/ctk-draw-service.h ../contiki/ek/ek-service.h \
+ conf/ctk-conio-conf.h
 ctk-conio.o: ../contiki/ctk/ctk-conio.c ../contiki/ctk/ctk.h \
- conf/ctk-conf.h ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h \
- conf/cc-conf.h ../contiki/ctk/ctk-draw.h ctk/ctk-arch.h \
- ../contiki/ctk/ctk-conio.h conf/ctk-conio-conf.h
-ctk.o: ../contiki/ctk/ctk.c ../contiki/lib/cc.h conf/cc-conf.h \
- ../contiki/ek/ek.h conf/ek-conf.h ../contiki/ek/dispatcher.h \
- ../contiki/uip/uip.h ../contiki/uip/uipopt.h ../contiki/ctk/ctk.h \
- conf/ctk-conf.h ../contiki/ctk/ctk-draw.h ctk/ctk-arch.h \
- ../contiki/ctk/ctk-conio.h ../contiki/ctk/ctk-mouse.h
-dispatcher.o: ../contiki/ek/dispatcher.c ../contiki/ek/ek.h \
- conf/ek-conf.h ../contiki/ek/dispatcher.h ../contiki/lib/cc.h \
- conf/cc-conf.h ../contiki/uip/uip.h ../contiki/uip/uipopt.h
-ek.o: ../contiki/ek/ek.c ../contiki/ek/ek.h conf/ek-conf.h
-libconio.o: ../contiki/lib/libconio.c ../contiki/lib/libconio.h
+ conf/ctk-conf.h ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/ctk/ctk-draw.h \
+ conf/ctk-conio-conf.h
+ctk-draw.o: ../contiki/ctk/ctk-draw.c ../contiki/ek/ek-service.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/ctk/ctk-draw.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h ../contiki/ctk/ctk-draw-service.h
+ctk-vncfont.o: ../contiki/ctk/ctk-vncfont.c
+ctk.o: ../contiki/ctk/ctk.c ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/ctk/ctk.h conf/ctk-conf.h \
+ ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h ../contiki/ctk/ctk-draw.h \
+ ../contiki/ctk/ctk-mouse.h ../contiki/lib/timer.h \
+ ../contiki/lib/clock.h conf/clock-conf.h
+vnc-server.o: ../contiki/ctk/vnc-server.c ../contiki/uip/uip.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/tcpip.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h \
+ ../contiki/ctk/vnc-server.h ../contiki/ctk/vnc-out.h \
+ ../contiki/ctk/ctk.h conf/ctk-conf.h ctk/ctk-arch.h \
+ ../contiki/ctk/ctk-conio.h
+arg.o: ../contiki/ek/arg.c ../contiki/ek/arg.h
+ek-service.o: ../contiki/ek/ek-service.c ../contiki/ek/ek-service.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h
+ek.o: ../contiki/ek/ek.c ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
+mtp.o: ../contiki/ek/mtp.c ../contiki/ek/mtp.h ../contiki/ek/loader.h
+cfs.o: ../contiki/lib/cfs.c ../contiki/ek/contiki.h ../contiki/ek/ek.h \
+ conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/uip/uip.h ../contiki/uip/uipopt.h \
+ conf/uip-conf.h ../contiki/uip/tcpip.h ../contiki/lib/memb.h \
+ ../contiki/lib/timer.h ../contiki/lib/clock.h conf/clock-conf.h \
+ ../contiki/lib/cfs.h ../contiki/lib/cfs-service.h \
+ ../contiki/ek/ek-service.h
+ctk-textedit.o: ../contiki/lib/ctk-textedit.c \
+ ../contiki/lib/ctk-textedit.h ../contiki/ctk/ctk.h conf/ctk-conf.h \
+ ctk/ctk-arch.h ../contiki/ctk/ctk-conio.h ../contiki/ek/ek.h \
+ conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
+list.o: ../contiki/lib/list.c ../contiki/lib/list.h
+memb.o: ../contiki/lib/memb.c ../contiki/lib/memb.h
 petsciiconv.o: ../contiki/lib/petsciiconv.c
 strncasecmp.o: ../contiki/lib/strncasecmp.c
-resolv.o: ../contiki/uip/resolv.c ../contiki/uip/resolv.h \
- ../contiki/uip/uip.h ../contiki/uip/uipopt.h \
- ../contiki/ek/dispatcher.h ../contiki/ek/ek.h conf/ek-conf.h \
- ../contiki/lib/cc.h conf/cc-conf.h
+timer.o: ../contiki/lib/timer.c ../contiki/lib/timer.h \
+ ../contiki/lib/clock.h conf/clock-conf.h
+packet-service.o: ../contiki/uip/packet-service.c \
+ ../contiki/uip/packet-service.h ../contiki/ek/ek-service.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/uip/uip.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/tcpip.h
+resolv.o: ../contiki/uip/resolv.c ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/uip/tcpip.h ../contiki/uip/uip.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/resolv.h \
+ ../contiki/uip/uip-event.h
+slipdev.o: ../contiki/uip/slipdev.c ../contiki/uip/uip.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/tcpip.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/uip/uip-fw.h \
+ ../contiki/uip/slipdev.h
+tcpip.o: ../contiki/uip/tcpip.c ../contiki/uip/tcpip.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/uip/uip.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/ek/ek-service.h \
+ ../contiki/uip/uip-fw.h ../contiki/lib/timer.h ../contiki/lib/clock.h \
+ conf/clock-conf.h ../contiki/uip/packet-service.h
+uip-event.o: ../contiki/uip/uip-event.c ../contiki/ek/ek.h \
+ conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/uip/uip-event.h
+uip-fw-service.o: ../contiki/uip/uip-fw-service.c \
+ ../contiki/uip/packet-service.h ../contiki/ek/ek-service.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/uip/uip.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/tcpip.h \
+ ../contiki/uip/uip-fw.h
+uip-fw.o: ../contiki/uip/uip-fw.c ../contiki/uip/uip.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/tcpip.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/uip/uip_arch.h \
+ ../contiki/uip/uip-fw.h
+uip-split.o: ../contiki/uip/uip-split.c ../contiki/uip/uip-split.h \
+ ../contiki/uip/uip.h ../contiki/uip/uipopt.h conf/uip-conf.h \
+ ../contiki/uip/tcpip.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h ../contiki/uip/uip-fw.h \
+ ../contiki/uip/uip_arch.h
 uip.o: ../contiki/uip/uip.c ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/ek/dispatcher.h ../contiki/ek/ek.h \
- conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h uip/uip_arch.h
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/tcpip.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/uip/uip_arch.h
 uip_arp.o: ../contiki/uip/uip_arp.c ../contiki/uip/uip_arp.h \
- ../contiki/uip/uip.h ../contiki/uip/uipopt.h \
- ../contiki/ek/dispatcher.h ../contiki/ek/ek.h conf/ek-conf.h \
- ../contiki/lib/cc.h conf/cc-conf.h
-uip_main.o: ../contiki/uip/uip_main.c ../contiki/uip/uip.h \
- ../contiki/uip/uipopt.h ../contiki/ek/dispatcher.h ../contiki/ek/ek.h \
- conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
- ../contiki/uip/uip_arp.h
+ ../contiki/uip/uip.h ../contiki/uip/uipopt.h conf/uip-conf.h \
+ ../contiki/uip/tcpip.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
+uipbuf.o: ../contiki/uip/uipbuf.c ../contiki/uip/uipbuf.h \
+ ../contiki/uip/uip.h ../contiki/uip/uipopt.h conf/uip-conf.h \
+ ../contiki/uip/tcpip.h ../contiki/ek/ek.h conf/ek-conf.h \
+ ../contiki/lib/cc.h conf/cc-conf.h ../contiki/ek/arg.h \
+ ../contiki/ek/loader.h
+uiplib.o: ../contiki/uip/uiplib.c ../contiki/uip/uip.h \
+ ../contiki/uip/uipopt.h conf/uip-conf.h ../contiki/uip/tcpip.h \
+ ../contiki/ek/ek.h conf/ek-conf.h ../contiki/lib/cc.h conf/cc-conf.h \
+ ../contiki/ek/arg.h ../contiki/ek/loader.h ../contiki/uip/uip_arp.h \
+ ../contiki/uip/uiplib.h
diff --git a/contiki-plus4/apps/http-user-agent-string b/contiki-plus4/apps/http-user-agent-string
new file mode 100644
index 0000000..1b3104c
--- /dev/null
+++ b/contiki-plus4/apps/http-user-agent-string
@@ -0,0 +1 @@
+http_user_agent_fields "Connection: close\r\nUser-Agent: Contiki/1.1-rc0 (Commodore 64; http://dunkels.com/adam/contiki/)\r\n\r\n"
diff --git a/contiki-plus4/apps/http-user-agent-string.c b/contiki-plus4/apps/http-user-agent-string.c
new file mode 100644
index 0000000..d5315f0
--- /dev/null
+++ b/contiki-plus4/apps/http-user-agent-string.c
@@ -0,0 +1,3 @@
+char http_user_agent_fields[100] = 
+/* "Connection: close\r\nUser-Agent: Contiki/1.1-rc0 (Commodore 64; http://dunkels.com/adam/contiki/)\r\n\r\n" */
+{0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0xd, 0xa, 0x55, 0x73, 0x65, 0x72, 0x2d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x3a, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6b, 0x69, 0x2f, 0x31, 0x2e, 0x31, 0x2d, 0x72, 0x63, 0x30, 0x20, 0x28, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x64, 0x6f, 0x72, 0x65, 0x20, 0x36, 0x34, 0x3b, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x64, 0x75, 0x6e, 0x6b, 0x65, 0x6c, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x64, 0x61, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6b, 0x69, 0x2f, 0x29, 0xd, 0xa, 0xd, 0xa, };
diff --git a/contiki-plus4/apps/http-user-agent-string.h b/contiki-plus4/apps/http-user-agent-string.h
new file mode 100644
index 0000000..f438bb7
--- /dev/null
+++ b/contiki-plus4/apps/http-user-agent-string.h
@@ -0,0 +1 @@
+extern char http_user_agent_fields[100];
diff --git a/contiki-plus4/apps/makestrings b/contiki-plus4/apps/makestrings
new file mode 100755
index 0000000..e6e8470
--- /dev/null
+++ b/contiki-plus4/apps/makestrings
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+
+sub stringify {
+  my $name = shift(@_);
+  open(OUTPUTC, "> $name.c");
+  open(OUTPUTH, "> $name.h");
+  
+  open(FILE, "$name");
+  
+  while(<FILE>) {
+    if(/(.+) "(.+)"/) {
+      $var = $1;
+      $data = $2;
+      
+      $datan = $data;
+      $datan =~ s/\\r/\r/g;
+      $datan =~ s/\\n/\n/g;
+      $datan =~ s/\\0/\0/g;
+      
+      printf(OUTPUTC "char $var\[%d] = \n", length($datan) + 1);
+      printf(OUTPUTC "/* \"$data\" */\n");
+      printf(OUTPUTC "{");
+      for($j = 0; $j < length($datan); $j++) {
+	printf(OUTPUTC "%#02x, ", unpack("C", substr($datan, $j, 1)));
+      }
+      printf(OUTPUTC "};\n");
+      
+      printf(OUTPUTH "extern char $var\[%d];\n", length($datan) + 1);
+      
+    }
+  }
+  close(OUTPUTC);
+  close(OUTPUTH);
+}
+stringify("http-user-agent-string");
+
+exit 0;
+
diff --git a/contiki-plus4/apps/memstat.c b/contiki-plus4/apps/memstat.c
deleted file mode 100644
index 2653f32..0000000
--- a/contiki-plus4/apps/memstat.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 2002, Adam Dunkels.
- * 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. All advertising materials mentioning features or use of this
- *    software must display the following acknowledgement:
- *        This product includes software developed by Adam Dunkels. 
- * 4. The name of the author may not be used to endorse or promote
- *    products derived from this software without specific prior
- *    written permission.  
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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 desktop environment
- *
- * $Id: memstat.c,v 1.1 2003/04/11 20:30:15 adamdunkels Exp $
- *
- */
-
-#include <stdlib.h>
-
-#include "ctk.h"
-#include "dispatcher.h"
-#include "loader.h"
-
-static struct ctk_window window;
-static struct ctk_label freemsg =
-  {CTK_LABEL(0, 0, 12, 1, "Free memory:")};
-static char freemem[6];
-static struct ctk_label freenum =
-  {CTK_LABEL(14, 0, 5, 1, freemem)};
-
-static struct ctk_label lblockmsg =
-  {CTK_LABEL(0, 2, 14, 1, "Largest block:")};
-static char lblock[6];
-static struct ctk_label lblocknum =
-  {CTK_LABEL(14, 2, 5, 1, lblock)};
-
-static struct ctk_button updatebutton =
-  {CTK_BUTTON(0, 4, 6, "Update")};
-static struct ctk_button closebutton =
-  {CTK_BUTTON(12, 4, 5, "Close")};
-
-static void memstat_sighandler(ek_signal_t s, ek_data_t data);
-static struct dispatcher_proc p =
-  {DISPATCHER_PROC("Memory statistics", NULL, memstat_sighandler, NULL)};
-static ek_id_t id;
-
-/*-----------------------------------------------------------------------------------*/
-static void
-update(void)
-{
-  int mem;
-
-  mem = _heapmemavail();
-  freemem[0] = (mem/10000) % 10 + '0';
-  freemem[1] = (mem/1000) % 10 + '0';
-  freemem[2] = (mem/100) % 10 + '0';
-  freemem[3] = (mem/10) % 10 + '0';
-  freemem[4] = (mem) % 10 + '0';
-
-  mem = _heapmaxavail();
-  lblock[0] = (mem/10000) % 10 + '0';
-  lblock[1] = (mem/1000) % 10 + '0';
-  lblock[2] = (mem/100) % 10 + '0';
-  lblock[3] = (mem/10) % 10 + '0';
-  lblock[4] = (mem) % 10 + '0';
-
-}
-/*-----------------------------------------------------------------------------------*/
-LOADER_INIT_FUNC(processes_init)
-{
-  if(id == EK_ID_NONE) {
-    id = dispatcher_start(&p);
-    
-    ctk_window_new(&window, 19, 5, "Memory stats");
-    ctk_window_move(&window, 0, 1);
-
-    CTK_WIDGET_ADD(&window, &freemsg);
-    CTK_WIDGET_ADD(&window, &freenum);
-
-    CTK_WIDGET_ADD(&window, &lblockmsg);
-    CTK_WIDGET_ADD(&window, &lblocknum);
-
-    CTK_WIDGET_ADD(&window, &updatebutton);
-    CTK_WIDGET_ADD(&window, &closebutton);
-
-    CTK_WIDGET_FOCUS(&window, &updatebutton);
-    
-    update();
-    
-    dispatcher_listen(ctk_signal_button_activate);
-    dispatcher_listen(ctk_signal_window_close);
-  }
-  ctk_window_open(&window);
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-quit(void)
-{
-  dispatcher_exit(&p);
-  id = EK_ID_NONE;
-  LOADER_UNLOAD();
-  ctk_redraw();
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-memstat_sighandler(ek_signal_t s, ek_data_t data)
-{
-  if(s == ctk_signal_button_activate) {
-    if(data == (ek_data_t)&updatebutton) {
-      update();
-      ctk_window_redraw(&window);
-    } else if(data == (ek_data_t)&closebutton) {
-      ctk_window_close(&window);
-      quit();
-    }
-  } else if(s == ctk_signal_window_close &&
-	    data == (ek_data_t)&window) {
-    quit();
-  }
-}
-/*-----------------------------------------------------------------------------------*/
diff --git a/contiki-plus4/conf/ctk-conf.h b/contiki-plus4/conf/ctk-conf.h
index ada4066..dc8cf33 100644
--- a/contiki-plus4/conf/ctk-conf.h
+++ b/contiki-plus4/conf/ctk-conf.h
@@ -32,7 +32,11 @@
  *
  * This file is part of the "ctk" console GUI toolkit for cc65
  *
- * $Id: ctk-conf.h,v 1.2 2004/06/27 12:51:51 oliverschmidt Exp $
+<<<<<<< ctk-conf.h
+ * $Id: ctk-conf.h,v 1.3 2004/07/04 20:01:16 adamdunkels Exp $
+=======
+ * $Id: ctk-conf.h,v 1.3 2004/07/04 20:01:16 adamdunkels Exp $
+>>>>>>> 1.2
  *
  */
 
@@ -51,6 +55,13 @@
    window.  */
 #define CTK_CONF_WINDOWSWITCH_KEY     CH_F3
 
+#define CTK_CONF_WIDGETUP_KEY         CH_F5
+#define CTK_CONF_WIDGETDOWN_KEY       CH_F7
+
+/* Toggles mouse support (must have support functions in the
+architecture specific files to work). */
+#define CTK_CONF_MOUSE_SUPPORT        0
+
 /* Toggles support for icons. */
 #define CTK_CONF_ICONS                1 /* 107 bytes */
 
@@ -74,4 +85,7 @@
 /* The maximum number of menu items in each menu. */
 #define CTK_CONF_MAXMENUITEMS         10
 
+/* Toggles support for screen savers. */
+#define CTK_CONF_SCREENSAVER          1
+
 #endif /* __CTK_CONF_H__ */
diff --git a/contiki-plus4/conf/ek-conf.h b/contiki-plus4/conf/ek-conf.h
index f0f1fec..db8cc66 100644
--- a/contiki-plus4/conf/ek-conf.h
+++ b/contiki-plus4/conf/ek-conf.h
@@ -32,7 +32,7 @@
  *
  * This file is part of the "ek" event kernel.
  *
- * $Id: ek-conf.h,v 1.1 2003/04/11 20:30:17 adamdunkels Exp $
+ * $Id: ek-conf.h,v 1.2 2004/07/04 20:01:30 adamdunkels Exp $
  *
  */
 
@@ -44,29 +44,12 @@
 
 typedef void *ek_data_t;
 
-typedef unsigned char ek_signal_t;
+typedef unsigned char ek_event_t;
 typedef unsigned char ek_id_t;
 
-/* ek_ticks_t: should be defined to be the largest type that fits the
-   highest timeout value used by the system. For example, if all
-   timeouts are between 1 and 150, the ek_ticks_t can be typedef'd as
-   "unsigned char", but if the maximum timeout is over 256, "unsigned
-   short" is a better choise. */
-typedef unsigned short ek_ticks_t;
+#define EK_CONF_NUMEVENTS   32    /* Must be 2^n */
+typedef unsigned char ek_num_events_t;
 
-/* ek_clock_t: should be defined to be the native clock ticks type
-   used by the underlying system. (Look for time_t or similar.) */
-typedef unsigned long ek_clock_t; 
-
-#define EK_CONF_NUMSIGNALS   32    /* Must be 2^n */
-typedef unsigned char ek_num_signals_t;
-
-#define EK_CONF_NUMTIMERS    4    /* Must be 2^n */
-typedef unsigned char ek_num_timers_t;
-
-#define EK_CONF_NUMLISTENERS  32    /* Must be 2^n */
-typedef unsigned char ek_num_listeners_t;
-
-#define EK_CONF_UNLISTEN 0
+#define EK_CONF_MAXPROCS 16
 
 #endif /* __EK_CONF_H__ */
diff --git a/contiki-plus4/contiki-main.c b/contiki-plus4/contiki-main.c
index cb21047..fdae07b 100644
--- a/contiki-plus4/contiki-main.c
+++ b/contiki-plus4/contiki-main.c
@@ -11,10 +11,7 @@
  *    copyright notice, this list of conditions and the following
  *    disclaimer in the documentation and/or other materials provided
  *    with the distribution. 
- * 3. All advertising materials mentioning features or use of this
- *    software must display the following acknowledgement:
- *        This product includes software developed by Adam Dunkels. 
- * 4. The name of the author may not be used to endorse or promote
+ * 3. The name of the author may not be used to endorse or promote
  *    products derived from this software without specific prior
  *    written permission.  
  *
@@ -32,16 +29,16 @@
  *
  * This file is part of the Contiki desktop environment 
  *
- * $Id: contiki-main.c,v 1.1 2003/04/11 20:30:14 adamdunkels Exp $
+ * $Id: contiki-main.c,v 1.2 2004/07/04 20:01:15 adamdunkels Exp $
  *
  */
 
+#include "contiki.h"
 #include "ctk.h"
 #include "ctk-draw.h"
-#include "dispatcher.h"
 
 
-#include "uip_main.h"
+#include "tcpip.h"
 #include "uip.h"
 #include "uip_arp.h"
 #if WITH_TFE
@@ -53,13 +50,13 @@
 
 /*-----------------------------------------------------------------------------------*/
 int
-main(int argc, char **argv)
+main(void)
 {
-
+  ek_init();
+    
 #ifdef WITH_UIP
-  uip_init();
-  uip_main_init();
-  resolv_init();
+  tcpip_init(NULL);
+  resolv_init(NULL);
 
 #ifdef WITH_RS232
   rs232dev_init();
@@ -67,20 +64,30 @@
   
 #endif /* WITH_UIP */
   
-  ek_init();
-  dispatcher_init();
   ctk_init();
   
   program_handler_init();
   
-  ctk_redraw();
-  ek_run();
-
-  clrscr();
+  while(1) {
+    ek_run();
+  }
   
   return 0;
-
-  argv = argv;
-  argc = argc;
 }
 /*-----------------------------------------------------------------------------------*/
+clock_time_t
+clock_time(void)
+{
+  return clock();
+}
+
+int
+uip_fw_forward(void)
+{
+  return 0;
+}
+void
+uip_fw_periodic(void)
+{
+
+}
diff --git a/contiki-plus4/loader/loader-arch.c b/contiki-plus4/loader/loader-arch.c
index 5eb7435..1b6921c 100644
--- a/contiki-plus4/loader/loader-arch.c
+++ b/contiki-plus4/loader/loader-arch.c
@@ -11,10 +11,7 @@
  *    copyright notice, this list of conditions and the following
  *    disclaimer in the documentation and/or other materials provided
  *    with the distribution. 
- * 3. All advertising materials mentioning features or use of this
- *    software must display the following acknowledgement:
- *        This product includes software developed by Adam Dunkels. 
- * 4. The name of the author may not be used to endorse or promote
+ * 3. The name of the author may not be used to endorse or promote
  *    products derived from this software without specific prior
  *    written permission.  
  *
@@ -32,12 +29,13 @@
  *
  * This file is part of the Contiki desktop OS
  *
- * $Id: loader-arch.c,v 1.1 2003/04/11 20:30:18 adamdunkels Exp $
+ * $Id: loader-arch.c,v 1.2 2004/07/04 20:01:30 adamdunkels Exp $
  *
  */
 
 #include <modload.h>
 #include <fcntl.h>
+#include <unistd.h>
 #include "loader-arch.h"
 
 /*-----------------------------------------------------------------------------------*/
@@ -48,7 +46,7 @@
  */
 /*-----------------------------------------------------------------------------------*/
 unsigned char
-loader_arch_load(const char *name)
+loader_arch_load(const char *name, char *arg)
 {
   static struct mod_ctrl ctrl = {
     read            /* Read from disk */
diff --git a/contiki-plus4/loader/loader-arch.h b/contiki-plus4/loader/loader-arch.h
index 72a02fa..5fe063d 100644
--- a/contiki-plus4/loader/loader-arch.h
+++ b/contiki-plus4/loader/loader-arch.h
@@ -11,10 +11,7 @@
  *    copyright notice, this list of conditions and the following
  *    disclaimer in the documentation and/or other materials provided
  *    with the distribution. 
- * 3. All advertising materials mentioning features or use of this
- *    software must display the following acknowledgement:
- *        This product includes software developed by Adam Dunkels. 
- * 4. The name of the author may not be used to endorse or promote
+ * 3. The name of the author may not be used to endorse or promote
  *    products derived from this software without specific prior
  *    written permission.  
  *
@@ -32,18 +29,18 @@
  *
  * This file is part of the Contiki desktop OS
  *
- * $Id: loader-arch.h,v 1.1 2003/04/11 20:30:18 adamdunkels Exp $
+ * $Id: loader-arch.h,v 1.2 2004/07/04 20:01:30 adamdunkels Exp $
  *
  */
 #ifndef __LOADER_ARCH_H__
 #define __LOADER_ARCH_H__
 
-unsigned char loader_arch_load(const char *name);
+unsigned char loader_arch_load(const char *name, char *arg);
 void loader_arch_free(void *addr);
 
 extern void *loader_arch_loadaddr;
 
-#define LOADER_LOAD(name) loader_arch_load(name)
+#define LOADER_LOAD(name, arg) loader_arch_load(name, arg)
 #define LOADER_UNLOAD() loader_arch_free(&loader_arch_loadaddr)
 
 #endif /* __LOADER_ARCH_H__ */
diff --git a/contiki-plus4/uip/uip_arch.c b/contiki-plus4/uip/uip_arch.c
index 3b106cf..2bb2898 100644
--- a/contiki-plus4/uip/uip_arch.c
+++ b/contiki-plus4/uip/uip_arch.c
@@ -10,10 +10,7 @@
  * 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Adam Dunkels.
- * 4. The name of the author may not be used to endorse or promote
+ * 3. The name of the author may not be used to endorse or promote
  *    products derived from this software without specific prior
  *    written permission.  
  *
@@ -31,7 +28,7 @@
  *
  * This file is part of the uIP TCP/IP stack.
  *
- * $Id: uip_arch.c,v 1.1 2003/04/11 20:30:19 adamdunkels Exp $
+ * $Id: uip_arch.c,v 1.2 2004/07/04 20:01:31 adamdunkels Exp $
  *
  */
 
@@ -73,39 +70,6 @@
   asm("sta _uip_acc32+0");  
 }
 /*-----------------------------------------------------------------------------------*/
-void
-uip_add_rcv_nxt(u16_t n) {
-  uip_add32(uip_conn->rcv_nxt, n);
-  uip_conn->rcv_nxt[0] = uip_acc32[0];
-  uip_conn->rcv_nxt[1] = uip_acc32[1];
-  uip_conn->rcv_nxt[2] = uip_acc32[2];
-  uip_conn->rcv_nxt[3] = uip_acc32[3];
-  /*  asm("pha");
-  asm("lda _uip_conn");
-  asm("sta ptr1");
-  asm("lda _uip_conn+1");
-  asm("sta ptr1+1");
-  asm("pla");
-  asm("clc");
-  asm("ldy #3");
-  asm("adc (ptr1),y");
-  asm("sta (ptr1),y");
-  asm("dey");
-  asm("txa");
-  asm("adc (ptr1),y");
-  asm("sta (ptr1),y");
-  asm("dey");
-  asm("lda #0");
-  asm("adc (ptr1),y");
-  asm("sta (ptr1),y");
-  asm("dey");
-  asm("lda #0");
-  asm("adc (ptr1),y");
-  asm("sta (ptr1),y");
-
-  n=n;*/
-}
-/*-----------------------------------------------------------------------------------*/
 #else /* UIP_BUFSIZE > 255 */
 /*-----------------------------------------------------------------------------------*/
 void
@@ -135,32 +99,6 @@
   asm("sta _uip_acc32+0");  
 }
 /*-----------------------------------------------------------------------------------*/
-void 
-uip_add_rcv_nxt(u8_t n) {
-  asm("pha");
-  asm("lda _uip_conn");
-  asm("sta ptr1");
-  asm("lda _uip_conn+1");
-  asm("sta ptr1+1");
-  asm("pla");
-  asm("clc");
-  asm("ldy #3");
-  asm("adc (ptr1),y");
-  asm("sta (ptr1),y");
-  asm("dey");
-  asm("lda #0");
-  asm("adc (ptr1),y");
-  asm("sta (ptr1),y");
-  asm("dey");
-  asm("lda #0");
-  asm("adc (ptr1),y");
-  asm("sta (ptr1),y");
-  asm("dey");
-  asm("lda #0");
-  asm("adc (ptr1),y");
-  asm("sta (ptr1),y");
-}
-/*-----------------------------------------------------------------------------------*/
 #endif /* UIP_BUFSIZE > 255 */
 
 static u16_t chksum_ptr, chksum_len, chksum_tmp;