Remove duplicate CPC sources.
diff --git a/contiki-cpc/arch/contiki.lnk b/contiki-cpc/arch/contiki.lnk
new file mode 100644
index 0000000..902e616
--- /dev/null
+++ b/contiki-cpc/arch/contiki.lnk
@@ -0,0 +1,28 @@
+-im contiki
+-k /usr/local/share/sdcc/lib/z80
+-b _CODE=0x0100
+-l z80
+./arch/crt0.o
+./arch/key.o
+./arch/mem.o
+./arch/malloc.o
+./arch/clock.o
+./loader/loader-arch-cpc.o
+./loader/rel.o
+./loader/cfs-cpc.o
+../contiki/lib/cfs.o
+./loader/dir.o
+../contiki/apps/program-handler.o
+../contiki/ctk/ctk.o
+../contiki/ctk/ctk-draw.o
+../contiki/ek/ek-service.o
+../contiki/ek/ek.o
+../contiki/ek/arg.o
+../contiki/lib/list.o
+../contiki/lib/timer.o
+./apps/directory-dsc.o
+./apps/configedit-dsc.o
+../contiki/apps/processes-dsc.o
+./arch/main.o
+./arch/arch.o
+-e
diff --git a/contiki-cpc/contiki-cpc/Makefile b/contiki-cpc/contiki-cpc/Makefile
deleted file mode 100644
index 7834d44..0000000
--- a/contiki-cpc/contiki-cpc/Makefile
+++ /dev/null
@@ -1,64 +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: Makefile,v 1.1 2006/04/17 15:11:35 kthacker Exp $
-#
-
-CONTIKI=../contiki
-
-usage:
- @echo "Make sure the Contiki sources is in the directory $(CONTIKI)"
- @echo 'To compile Contiki, use "'$(MAKE)' target" where target'
- @echo 'is one of the following:'
- @echo all
- @echo cpc
- @echo cpcnet
- @echo programs
- @echo netprogs
- @echo '(Also check the Makefile for more targets to try...)'
-
-all: clean cpc cpcnet programs
-
-programs:
- $(MAKE) CONTIKI=$(CONTIKI) -f Makefile.programs
-
-netprogs:
- $(MAKE) CONTIKI=$(CONTIKI) -f Makefile.netprogs
-
-cpc:
- $(MAKE) CONTIKI=$(CONTIKI) -f Makefile.cpc
-
-cpcnet:
- $(MAKE) CONTIKI=$(CONTIKI) -f Makefile.cpc-net
-
-include Makefile.common
-
diff --git a/contiki-cpc/contiki-cpc/Makefile.common b/contiki-cpc/contiki-cpc/Makefile.common
deleted file mode 100644
index 0c3c9e9..0000000
--- a/contiki-cpc/contiki-cpc/Makefile.common
+++ /dev/null
@@ -1,162 +0,0 @@
-CC=sdcc
-AS=as-z80
-CL=link-z80
-LD=link-z80
-
-CFLAGSCOMMON= \
- -I apps \
- -I conf \
- -I ctk \
- -I lib \
- -I loader \
- -I uip \
- -I arch \
- -I $(CONTIKI)/apps \
- -I $(CONTIKI)/ctk \
- -I $(CONTIKI)/ek \
- -I $(CONTIKI)/lib \
- -I $(CONTIKI)/ppp \
- -I $(CONTIKI)/uip \
- -mz80 -D__fastcall__=/**/ -D__CPC__ -DCLK_TCK=16384 \
- --no-std-crt0 --opt-code-size --peep-file ~/peeph/peep.def
-
-CLFLAGS=
-OPT=
-AFLAGS = -o -g
-
-%.o: %.c
- $(CC) $(CFLAGS) $(OPT) -o $*.o $<
-
-%.o: %.s
- $(AS) $(AFLAGS) $*.o $<
-
-UIP= ../contiki/uip/uip.o \
- uip/uip_arch.o \
- ../contiki/uip/resolv.o \
- ../contiki/uip/tcpip.o \
- ../contiki/uip/uiplib.o
-
-
-# ../contiki/uip/uip-signal.o
-# ../contiki/uip/uip_main.o \
-
-
-WWW= ../contiki/apps/www.o \
- ../contiki/apps/webclient.o \
- ../contiki/apps/http-strings.o \
- ../contiki/apps/http-user-agent-string.o \
- ../contiki/apps/htmlparser.o \
- ../contiki/apps/html-strings.o
-
-EMAIL= ../contiki/apps/email.o \
- ../contiki/apps/smtp-socket.o \
- ../contiki/apps/smtp-strings.o \
- ../contiki/ctk-textedit.o \
- ../contiki/uip/socket.o \
- ./lib/lc-asm.o \
- ../lib/memb.o
-
-WEBSERVER= ../contiki/apps/webserver.o ../contiki/apps/httpd.o \
- ../contiki/apps/http-strings.o \
- ../contiki/apps/httpd-fs.o \
- ../contiki/uip/socket.o \
- ../contiki/uip/uipbuf.o \
- ../contiki/apps/httpd-cgi.o \
- ../contiki/lib/memb.o \
- ./lib/lc-asm.o
-
-TELNET= ../contiki/apps/simpletelnet.o ../contiki/apps/telnet.o
-
-WGET= apps/wget.o ../contiki/apps/webclient.o \
- ../contiki/apps/http-strings.o \
- ../contiki/apps/http-user-agent-string.o
-
-clean:
- rm -f ../arch/*.o
- rm -f ../loader/*.o
- rm -f ../contiki/ctk/*.o
- rm -f ../contiki/ctk/*.asm
- rm -f ../contiki/ctk/*.lst
- rm -f ../contiki/ctk/*.map
- rm -f ../contiki/ctk/*.sym
- rm -f ../contiki/ctk/*.rst
- rm -f ../contiki/ek/*.o
- rm -f ../contiki/ek/*.asm
- rm -f ../contiki/ek/*.lst
- rm -f ../contiki/ek/*.map
- rm -f ../contiki/ek/*.sym
- rm -f ../contiki/ek/*.rst
- rm -f ../contiki/lib/*.o
- rm -f ../contiki/lib/*.asm
- rm -f ../contiki/lib/*.lst
- rm -f ../contiki/lib/*.map
- rm -f ../contiki/lib/*.sym
- rm -f ../contiki/lib/*.rst
- rm -f ../contiki/apps/*.o
- rm -f ../contiki/apps/*.ihx
- rm -f ../contiki/apps/*.lnk
- rm -f ../contiki/apps/*.asm
- rm -f ../contiki/apps/*.lst
- rm -f ../contiki/apps/*.sym
- rm -f ../contiki/apps/*.prg
- rm -f ../contiki/apps/*.dsc
- rm -f ../contiki/apps/*.ams
- rm -f ../contiki/apps/*.bin
- rm -f ../contiki/apps/*.map
- rm -f ../contiki/apps/*.rst
- rm -f ../contiki/uip/*.o
- rm -f ../contiki/uip/*.ihx
- rm -f ../contiki/uip/*.lnk
- rm -f ../contiki/uip/*.asm
- rm -f ../contiki/uip/*.lst
- rm -f ../contiki/uip/*.sym
- rm -f ../contiki/uip/*.prg
- rm -f ../contiki/uip/*.dsc
- rm -f ../contiki/uip/*.ams
- rm -f ../contiki/uip/*.bin
- rm -f ./apps/*.o
- rm -f ./apps/*.ihx
- rm -f ./apps/*.lnk
- rm -f ./apps/*.asm
- rm -f ./apps/*.lst
- rm -f ./apps/*.sym
- rm -f ./apps/*.prg
- rm -f ./apps/*.dsc
- rm -f ./apps/*.ams
- rm -f ./apps/*.bin
- rm -f ./apps/*.map
- rm -f ./apps/*.rst
- rm -f ./ctk/*.o
- rm -f ./ctk/*.ihx
- rm -f ./ctk/*.lnk
- rm -f ./ctk/*.asm
- rm -f ./ctk/*.lst
- rm -f ./ctk/*.sym
- rm -f ./ctk/*.prg
- rm -f ./ctk/*.dsc
- rm -f ./ctk/*.ams
- rm -f ./ctk/*.bin
- rm -f ./ctk/*.map
- rm -f ./ctk/*.rst
- rm -f lib/*.o
- rm -f lib/*.asm
- rm -f lib/*.lst
- rm -f lib/*.map
- rm -f lib/*.sym
- rm -f loader/*.o
- rm -f loader/*.asm
- rm -f loader/*.lst
- rm -f loader/*.map
- rm -f loader/*.sym
- rm -f uip/*.o
- rm -f uip/*.asm
- rm -f uip/*.lst
- rm -f uip/*.map
- rm -f uip/*.sym
- rm -f arch/*.o
- rm -f arch/*.asm
- rm -f arch/*.lst
- rm -f arch/*.map
- rm -f arch/*.sym
-
-
diff --git a/contiki-cpc/contiki-cpc/Makefile.cpc b/contiki-cpc/contiki-cpc/Makefile.cpc
deleted file mode 100644
index 3f8a4d7..0000000
--- a/contiki-cpc/contiki-cpc/Makefile.cpc
+++ /dev/null
@@ -1,112 +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: Makefile.cpc,v 1.1 2006/04/17 15:11:35 kthacker Exp $
-#
-
-all: contiki
-
-include Makefile.common
-
-CFLAGS:=$(CFLAGSCOMMON) --compile-only \
- -DWITH_ASCII \
- -DCTK_CONIO \
- -DWITH_LOADER_ARCH \
- -DWITH_LOADER_ARCH=1
-
-UIP_OBJ = ../contiki/uip/dhcpc.o \
- ../contiki/uip/resolv.o \
- ../contiki/uip/slipdev.o \
- ../contiki/uip/socket.o \
- ../contiki/uip/tcpdump.o \
- ../contiki/uip/tcpip.o \
- ../contiki/uip/uip-fw.o \
- ../contiki/uip/uip-fw-service.o \
- ../contiki/uip/uip-split.o \
- ../contiki/uip/uip.o \
- ../contiki/uip/uip_arp.o \
- ../contiki/uip/uiplib.o \
- ./uip/uip_arch.o \
- ./lib/lc-asm.o
-
-
-CONTIKI_OBJ= ./arch/crt0.o \
- ./loader/rel.o \
- ./arch/key.o \
- ./arch/mem.o \
- ./arch/malloc.o \
- ./arch/clock.o \
- ./loader/dir.o \
- ./loader/loader-arch-cpc.o \
- ./arch/putchar.o \
- ./arch/uip.o \
- ./arch/conio.o \
- ./apps/configedit.o \
- ./apps/configedit-dsc.o \
- ../contiki/apps/directory.o \
- ./apps/directory-dsc.o \
- ../contiki/apps/processes.o \
- ../contiki/apps/processes-dsc.o \
- ../contiki/apps/program-handler.o \
- ../contiki/ctk/ctk.o \
- ../contiki/ctk/ctk-conio-service.o \
- ../contiki/ctk/ctk-draw.o \
- ../contiki/ctk/ctk-term-in.o \
- ../contiki/ctk/ctk-term-out.o \
- ../contiki/ctk/ctk-term.o \
- ../contiki/ctk/ctk-termtelnet.o \
- ../contiki/ctk/ctk-vncfont.o \
- ../contiki/ctk/vnc-server.o \
- ../contiki/ek/ek-service.o \
- ../contiki/ek/ek.o \
- ../contiki/ek/arg.o \
- ../contiki/ek/mt.o \
- ../contiki/lib/cfs.o \
- ../contiki/lib/ctk-filedialog.o \
- ../contiki/lib/ctk-textedit.o \
- ../contiki/lib/list.o \
- ../contiki/lib/memb.o \
- ../contiki/lib/timer.o \
- ../contiki/lib/strncasecmp.o \
- ./loader/cfs-cpc.o \
- ./arch/main.o \
- ./arch/arch.o \
- $(UIP)
-
-
-contiki: $(CONTIKI_OBJ)
- $(LD) -f arch/contiki.lnk
- ./bin/make_labels -a _CODE -a _DATA -x _main -x __clock -x _exit contiki.map arch/contiki_labels.s
- ./bin/makebin -p -b 256 -s 65535 < contiki.ihx > temp/contiki.bin
- ./bin/addhead -s 256 -t "binary" -x 256 temp/contiki.bin temp/contiki_ams.bin
- ./bin/cpcxfs contiki.dsk -f -b -p temp/contiki_ams.bin contiki.bin
-
diff --git a/contiki-cpc/contiki-cpc/Makefile.cpc-net b/contiki-cpc/contiki-cpc/Makefile.cpc-net
deleted file mode 100644
index f76aee2..0000000
--- a/contiki-cpc/contiki-cpc/Makefile.cpc-net
+++ /dev/null
@@ -1,112 +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: Makefile.cpc-net,v 1.1 2006/04/17 15:11:35 kthacker Exp $
-#
-
-all: contikin
-
-include Makefile.common
-
-CFLAGS:=$(CFLAGSCOMMON) --compile-only \
- -DWITH_ASCII \
- -DCTK_CONIO \
- -DWITH_LOADER_ARCH \
- -DWITH_LOADER_ARCH=1
-
-UIP_OBJ = ../contiki/uip/dhcpc.o \
- ../contiki/uip/resolv.o \
- ../contiki/uip/slipdev.o \
- ../contiki/uip/socket.o \
- ../contiki/uip/tcpdump.o \
- ../contiki/uip/tcpip.o \
- ../contiki/uip/uip-fw.o \
- ../contiki/uip/uip-fw-service.o \
- ../contiki/uip/uip-split.o \
- ../contiki/uip/uip.o \
- ../contiki/uip/uip_arp.o \
- ../contiki/uip/uiplib.o \
- ./uip/uip_arch.o \
- ./lib/lc-asm.o
-
-
-CONTIKI_OBJ= ./arch/crt0.o \
- ./loader/rel.o \
- ./arch/key.o \
- ./arch/mem.o \
- ./arch/malloc.o \
- ./arch/clock.o \
- ./loader/dir.o \
- ./loader/loader-arch-cpc.o \
- ./arch/putchar.o \
- ./arch/uip.o \
- ./arch/conio.o \
- ./apps/configedit.o \
- ./apps/configedit-dsc.o \
- ../contiki/apps/directory.o \
- ./apps/directory-dsc.o \
- ../contiki/apps/processes.o \
- ../contiki/apps/processes-dsc.o \
- ../contiki/apps/program-handler.o \
- ../contiki/ctk/ctk.o \
- ../contiki/ctk/ctk-conio-service.o \
- ../contiki/ctk/ctk-draw.o \
- ../contiki/ctk/ctk-term-in.o \
- ../contiki/ctk/ctk-term-out.o \
- ../contiki/ctk/ctk-term.o \
- ../contiki/ctk/ctk-termtelnet.o \
- ../contiki/ctk/ctk-vncfont.o \
- ../contiki/ctk/vnc-server.o \
- ../contiki/ek/ek-service.o \
- ../contiki/ek/ek.o \
- ../contiki/ek/arg.o \
- ../contiki/ek/mt.o \
- ../contiki/lib/cfs.o \
- ../contiki/lib/ctk-filedialog.o \
- ../contiki/lib/ctk-textedit.o \
- ../contiki/lib/list.o \
- ../contiki/lib/memb.o \
- ../contiki/lib/timer.o \
- ../contiki/lib/strncasecmp.o \
- ./loader/cfs-cpc.o \
- ./arch/main.o \
- ./arch/arch.o \
- $(UIP)
-
-
-contikin: $(CONTIKI_OBJ)
- $(LD) -f arch/contiki-uip.lnk
- ./bin/make_labels -a _CODE -a _DATA -x _main -x __clock -x _exit contiki.map arch/contiki_labels.s
- ./bin/makebin -p -b 256 -s 65535 < contiki.ihx > temp/contiki.bin
- ./bin/addhead -s 256 -t "binary" -x 256 temp/contiki.bin temp/contiki_ams.bin
- ./bin/cpcxfs contiki.dsk -f -b -p temp/contiki_ams.bin contiki.bin
-
diff --git a/contiki-cpc/contiki-cpc/Makefile.netprogs b/contiki-cpc/contiki-cpc/Makefile.netprogs
deleted file mode 100644
index e05a810..0000000
--- a/contiki-cpc/contiki-cpc/Makefile.netprogs
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright (c) 2003, 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: Makefile.netprogs,v 1.1 2006/04/17 15:11:35 kthacker Exp $
-#
-# convert to cpc
-
-UIP_PRGS = ../contiki/apps/www.prg ../contiki/apps/www.dsc \
- ../contiki/apps/websrv.prg ../contiki/apps/websrv.dsc \
- ../contiki/apps/stelnet.prg ../contiki/apps/stelnet.dsc \
- ../contiki/apps/ftp.prg ../contiki/apps/ftp.dsc \
- ../contiki/apps/email.prg ../contiki/apps/email.dsc \
- ../contiki/apps/dhcp.prg ../contiki/apps/dhcp.dsc \
- ../contiki/apps/wget.dsc \
- ../contiki/apps/vnc.prg ../contiki/apps/vnc.dsc \
-# ../contiki/apps/irc.prg ../contiki/apps/irc.dsc
-# ../contiki/apps/wget.prg
-# ../contiki/apps/telnetd.prg ../contiki/apps/telnetd.dsc \
-
-
-
-all: ./arch/crt0-dsc.o \
- ./arch/crt0-prg.o \
- ./arch/contiki_labels.o \
- ./loader/loader-arch-module.o \
- $(UIP_PRGS)
-
-SYS=cpc
-
-include Makefile.common
-
-CFLAGS:=$(CFLAGSCOMMON) --compile-only \
- -DWITH_ASCII \
- -DWITH_CONIO \
- -DWITH_LOADER_ARCH
-
-
-# conversion of intel hex record to binary, cpc binary with header, then inject into disc image
-define MAKE_DSC
- bin/makelnk -r -o $@.ihx arch/crt0-prg.o $< > $@.lnk
- $(LD) -f $@.lnk
- bin/makebin -p -b 0 -s 65535 < $@.ihx > $@.bin
- bin/addhead $@.bin $@.bin.ams
- bin/cpcxfs contiki.dsk -f -b -p $@.bin.ams $(@F)
-endef
-
-%.dsc: %-dsc.o
- $(MAKE_DSC)
-
-define MAKE_PRG
- bin/makelnk -r -m -o $@.ihx -k /usr/local/share/sdcc/lib/z80 -l z80 arch/crt0-prg.o loader/loader-arch-module.o arch/contiki_labels.o $^ > $@.lnk
- $(LD) -f $@.lnk
- bin/makebin -p -b 0 -s 65535 < $@.ihx > $@.bin
- bin/addhead $@.bin $@.bin.ams
- bin/cpcxfs contiki.dsk -f -b -p $@.bin.ams $(@F)
-endef
-
-../contiki/apps/irc.prg: ../contiki/apps/ircc.o ../contiki/apps/ircc-strings.o \
- ../contiki/apps/irc.o ../contiki/uip/socket.o ../contiki/uip/uipbuf.o
- $(MAKE_PRG)
-
-../contiki/apps/irc.dsc: ../contiki/apps/irc-dsc.o
- $(MAKE_DSC)
-
-./apps/config.prg: apps/config.o
- $(MAKE_PRG)
-
-./apps/confedit.prg: apps/configedit.o
- $(MAKE_PRG)
-
-./apps/confedit.dsc: apps/configedit-dsc.o
- $(MAKE_DSC)
-
-./apps/welcome.prg: apps/welcome.o
- $(MAKE_PRG)
-
-../contiki/apps/about.prg: ../contiki/apps/about.o
- $(MAKE_PRG)
-
-../contiki/apps/calc.prg: ../contiki/apps/calc.o
- $(MAKE_PRG)
-
-./apps/cgterm.prg: ./apps/cgterm.o \
- ../contiki/uip/socket.o \
- ../contiki/uip/uipbuf.o \
- lib/lc-asm.o
- $(MAKE_PRG)
-
-./apps/cgterm.dsc: ./apps/cgterm-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/dhcp.prg: ../contiki/apps/dhcp.o ../contiki/uip/dhcpc.o ./lib/lc-asm.o
- $(MAKE_PRG)
-
-../contiki/apps/editor.prg: ../contiki/apps/editor.o \
- ../contiki/lib/ctk-filedialog.o \
- ../contiki/lib/memb.o
- $(MAKE_PRG)
-
-../contiki/apps/email.prg: ../contiki/apps/email.o \
- ../contiki/lib/ctk-textedit.o \
- ../contiki/apps/smtp-socket.o \
- ../contiki/apps/smtp-strings.o \
- ../contiki/uip/socket.o \
- ../contiki/uip/uipbuf.o \
- ./lib/lc-asm.o
- $(MAKE_PRG)
-
-../contiki/apps/ftp.prg: ../contiki/apps/ftp.o \
- ../contiki/apps/ftpc.o \
- ../contiki/lib/memb.o
- $(MAKE_PRG)
-
-../contiki/apps/netconf.prg: ../contiki/apps/netconf.o
- $(MAKE_PRG)
-
-../contiki/apps/process.prg: ../contiki/apps/processes.o
- $(MAKE_PRG)
-
-../contiki/apps/process.dsc: ../contiki/apps/processes-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/dir.prg: ../contiki/apps/directory.o
- $(MAKE_PRG)
-
-./apps/dir.dsc: ./apps/directory-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/shell.prg: ../contiki/apps/shell-gui.o ./apps/shell.o
- $(MAKE_PRG)
-
-../contiki/apps/telnetd.prg: ../contiki/apps/telnetd.o \
- ../contiki/apps/shell.o \
- ../contiki/lib/memb.o \
- ../contiki/apps/telnetd-gui.o
- $(MAKE_PRG)
-
-../contiki/apps/telnetd.dsc: telnetd-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/www.prg: $(WWW)
- $(MAKE_PRG)
-
-../contiki/apps/websrv.prg: $(WEBSERVER)
- $(MAKE_PRG)
-
-../contiki/apps/websrv.dsc: ../contiki/apps/webserver-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/stelnet.prg: $(TELNET)
- $(MAKE_PRG)
-
-../contiki/apps/stelnet.dsc: ../contiki/apps/telnet-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/wget.prg: $(WGET)
- $(MAKE_PRG)
-
-../contiki/apps/wget.dsc: apps/wget-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/splip.drv: slip-drv.o rs232dev.o
-
-
-VNC=../contiki/apps/vnc.o \
- ../contiki/apps/vnc-viewer.o \
- ./apps/vnc-draw.o
-
-../contiki/apps/conio.prg: \
- ../contiki/ctk/ctk-conio-service.o \
- ./arch/conio.o
- $(MAKE_PRG)
-
-#ctk-text.drv: ctk-conio-service.o
-
-ctk-80col.drv: ctk-80col.o
-
-ctk-default.drv: ctk-hires-service.o
-
-default.prg: themeloader.o ctk-hires-theme-default.o
-
-
-
-../contiki/apps/vnc.prg: $(VNC)
- $(MAKE_PRG)
-
-#blueround.prg: themeloader.o ctk-hires-theme-blueround.o contiki-labels.o
-# cl65 --module -t c64 -o $@ loader-arch-module.o $^
-
-#default.prg: themeloader.o ctk-hires-theme-default.o contiki-labels.o
-# cl65 -Ln default-prg.labels --module -t c64 -o $@ loader-arch-module.o $^
-
-#enabler.prg: themeloader.o ctk-hires-theme-enabler.o contiki-labels.o
-# cl65 -Ln default-prg.labels --module -t c64 -o $@ loader-arch-module.o $^
-
-#springlight.prg: themeloader.o ctk-hires-theme-springlight.o contiki-labels.o
-# cl65 -Ln default-prg.labels --module -t c64 -o $@ loader-arch-module.o $^
-
-#ravenpine.prg: themeloader.o ctk-hires-theme-ravenpine.o contiki-labels.o
-# cl65 -Ln default-prg.labels --module -t c64 -o $@ loader-arch-module.o $^
-
-
-
-
-./apps/memstat.prg: apps/memstat.o
- $(MAKE_PRG)
-
-./apps/memstat.dsc: apps/memstat-dsc.o
- $(MAKE_DSC)
-
-mtest.prg: mtest.o mtp.o mt.o mtarch.o mtarch-asm.o
-
-lc-test: lc-test.o lc-asm.o
diff --git a/contiki-cpc/contiki-cpc/Makefile.programs b/contiki-cpc/contiki-cpc/Makefile.programs
deleted file mode 100644
index 8e98e91..0000000
--- a/contiki-cpc/contiki-cpc/Makefile.programs
+++ /dev/null
@@ -1,263 +0,0 @@
-# Copyright (c) 2003, 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: Makefile.programs,v 1.1 2006/04/17 15:11:36 kthacker Exp $
-#
-# convert to cpc
-
-UIP_PRGS = ../contiki/apps/www.prg ../contiki/apps/www.dsc \
- ../contiki/apps/websrv.prg ../contiki/apps/websrv.dsc \
- ../contiki/apps/stelnet.prg ../contiki/apps/stelnet.dsc \
- ../contiki/apps/ftp.prg ../contiki/apps/ftp.dsc \
- ../contiki/apps/email.prg ../contiki/apps/email.dsc \
- ../contiki/apps/dhcp.prg ../contiki/apps/dhcp.dsc \
- ../contiki/apps/wget.dsc \
- ../contiki/apps/vnc.prg ../contiki/apps/vnc.dsc \
-# ../contiki/apps/irc.prg ../contiki/apps/irc.dsc
-# ../contiki/apps/wget.prg
-# ../contiki/apps/telnetd.prg ../contiki/apps/telnetd.dsc \
-
-
-
-all: ./arch/crt0-dsc.o \
- ./arch/crt0-prg.o \
- ./arch/contiki_labels.o \
- ./loader/loader-arch-module.o \
- ./apps/welcome.prg \
- ../contiki/apps/conio.prg \
- ../contiki/apps/about.prg ../contiki/apps/about.dsc \
- ../contiki/apps/netconf.prg ../contiki/apps/netconf.dsc \
- ../contiki/apps/process.prg ../contiki/apps/process.dsc \
- ../contiki/apps/calc.prg ../contiki/apps/calc.dsc \
- ../contiki/apps/editor.prg ../contiki/apps/editor.dsc \
- ../contiki/apps/dir.prg ./apps/dir.dsc \
- ./apps/config.prg \
- ./apps/confedit.prg \
- ./apps/confedit.dsc \
- ../contiki/apps/shell.prg ../contiki/apps/shell.dsc
-# $(UIP_PRGS) \
-
-# ./cfs-cpc.drv \
-# ./ctk-text.drv \
-# ./ctk-default.drv \
-# ./ctk-80col.drv \
-# ./slip.drv slip.dsc \
-# ./cgterm.prg cgterm.dsc \
-
-# ./apps/memstat.prg ./apps/memstat.dsc \
-
-SYS=cpc
-
-include Makefile.common
-
-CFLAGS:=$(CFLAGSCOMMON) --compile-only \
- -DWITH_ASCII \
- -DWITH_CONIO \
- -DWITH_LOADER_ARCH
-
-
-# conversion of intel hex record to binary, cpc binary with header, then inject into disc image
-define MAKE_DSC
- bin/makelnk -r -o $@.ihx arch/crt0-prg.o $< > $@.lnk
- $(LD) -f $@.lnk
- bin/makebin -p -b 0 -s 65535 < $@.ihx > $@.bin
- bin/addhead $@.bin $@.bin.ams
- bin/cpcxfs contiki.dsk -f -b -p $@.bin.ams $(@F)
-endef
-
-%.dsc: %-dsc.o
- $(MAKE_DSC)
-
-define MAKE_PRG
- bin/makelnk -r -m -o $@.ihx -k /usr/local/share/sdcc/lib/z80 -l z80 arch/crt0-prg.o loader/loader-arch-module.o arch/contiki_labels.o $^ > $@.lnk
- $(LD) -f $@.lnk
- bin/makebin -p -b 0 -s 65535 < $@.ihx > $@.bin
- bin/addhead $@.bin $@.bin.ams
- bin/cpcxfs contiki.dsk -f -b -p $@.bin.ams $(@F)
-endef
-
-../contiki/apps/irc.prg: ../contiki/apps/ircc.o ../contiki/apps/ircc-strings.o \
- ../contiki/apps/irc.o ../contiki/uip/socket.o ../contiki/uip/uipbuf.o
- $(MAKE_PRG)
-
-../contiki/apps/irc.dsc: ../contiki/apps/irc-dsc.o
- $(MAKE_DSC)
-
-./apps/config.prg: apps/config.o
- $(MAKE_PRG)
-
-./apps/confedit.prg: apps/configedit.o
- $(MAKE_PRG)
-
-./apps/confedit.dsc: apps/configedit-dsc.o
- $(MAKE_DSC)
-
-./apps/welcome.prg: apps/welcome.o
- $(MAKE_PRG)
-
-../contiki/apps/about.prg: ../contiki/apps/about.o
- $(MAKE_PRG)
-
-../contiki/apps/calc.prg: ../contiki/apps/calc.o
- $(MAKE_PRG)
-
-./apps/cgterm.prg: ./apps/cgterm.o \
- ../contiki/uip/socket.o \
- ../contiki/uip/uipbuf.o \
- lib/lc-asm.o
- $(MAKE_PRG)
-
-./apps/cgterm.dsc: ./apps/cgterm-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/dhcp.prg: ../contiki/apps/dhcp.o ../contiki/uip/dhcpc.o ./lib/lc-asm.o
- $(MAKE_PRG)
-
-../contiki/apps/editor.prg: ../contiki/apps/editor.o \
- ../contiki/lib/ctk-filedialog.o \
- ../contiki/lib/memb.o
- $(MAKE_PRG)
-
-../contiki/apps/email.prg: ../contiki/apps/email.o \
- ../contiki/lib/ctk-textedit.o \
- ../contiki/apps/smtp-socket.o \
- ../contiki/apps/smtp-strings.o \
- ../contiki/uip/socket.o \
- ../contiki/uip/uipbuf.o \
- ./lib/lc-asm.o
- $(MAKE_PRG)
-
-../contiki/apps/ftp.prg: ../contiki/apps/ftp.o \
- ../contiki/apps/ftpc.o \
- ../contiki/lib/memb.o
- $(MAKE_PRG)
-
-../contiki/apps/netconf.prg: ../contiki/apps/netconf.o
- $(MAKE_PRG)
-
-../contiki/apps/process.prg: ../contiki/apps/processes.o
- $(MAKE_PRG)
-
-../contiki/apps/process.dsc: ../contiki/apps/processes-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/dir.prg: ../contiki/apps/directory.o
- $(MAKE_PRG)
-
-./apps/dir.dsc: ./apps/directory-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/shell.prg: ../contiki/apps/shell-gui.o ./apps/shell.o
- $(MAKE_PRG)
-
-../contiki/apps/telnetd.prg: ../contiki/apps/telnetd.o \
- ../contiki/apps/shell.o \
- ../contiki/lib/memb.o \
- ../contiki/apps/telnetd-gui.o
- $(MAKE_PRG)
-
-../contiki/apps/telnetd.dsc: telnetd-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/www.prg: $(WWW)
- $(MAKE_PRG)
-
-../contiki/apps/websrv.prg: $(WEBSERVER)
- $(MAKE_PRG)
-
-../contiki/apps/websrv.dsc: ../contiki/apps/webserver-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/stelnet.prg: $(TELNET)
- $(MAKE_PRG)
-
-../contiki/apps/stelnet.dsc: ../contiki/apps/telnet-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/wget.prg: $(WGET)
- $(MAKE_PRG)
-
-../contiki/apps/wget.dsc: apps/wget-dsc.o
- $(MAKE_DSC)
-
-../contiki/apps/splip.drv: slip-drv.o rs232dev.o
-
-
-VNC=../contiki/apps/vnc.o \
- ../contiki/apps/vnc-viewer.o \
- ./apps/vnc-draw.o
-
-../contiki/apps/conio.prg: \
- ../contiki/ctk/ctk-conio-service.o \
- ./arch/conio.o
- $(MAKE_PRG)
-
-#ctk-text.drv: ctk-conio-service.o
-
-ctk-80col.drv: ctk-80col.o
-
-ctk-default.drv: ctk-hires-service.o
-
-default.prg: themeloader.o ctk-hires-theme-default.o
-
-
-
-../contiki/apps/vnc.prg: $(VNC)
- $(MAKE_PRG)
-
-#blueround.prg: themeloader.o ctk-hires-theme-blueround.o contiki-labels.o
-# cl65 --module -t c64 -o $@ loader-arch-module.o $^
-
-#default.prg: themeloader.o ctk-hires-theme-default.o contiki-labels.o
-# cl65 -Ln default-prg.labels --module -t c64 -o $@ loader-arch-module.o $^
-
-#enabler.prg: themeloader.o ctk-hires-theme-enabler.o contiki-labels.o
-# cl65 -Ln default-prg.labels --module -t c64 -o $@ loader-arch-module.o $^
-
-#springlight.prg: themeloader.o ctk-hires-theme-springlight.o contiki-labels.o
-# cl65 -Ln default-prg.labels --module -t c64 -o $@ loader-arch-module.o $^
-
-#ravenpine.prg: themeloader.o ctk-hires-theme-ravenpine.o contiki-labels.o
-# cl65 -Ln default-prg.labels --module -t c64 -o $@ loader-arch-module.o $^
-
-
-
-
-./apps/memstat.prg: apps/memstat.o
- $(MAKE_PRG)
-
-./apps/memstat.dsc: apps/memstat-dsc.o
- $(MAKE_DSC)
-
-mtest.prg: mtest.o mtp.o mt.o mtarch.o mtarch-asm.o
-
-lc-test: lc-test.o lc-asm.o
diff --git a/contiki-cpc/contiki-cpc/README b/contiki-cpc/contiki-cpc/README
deleted file mode 100644
index 854e27f..0000000
--- a/contiki-cpc/contiki-cpc/README
+++ /dev/null
@@ -1,2 +0,0 @@
-This is the Amstrad CPC port of Contiki, maintained by Kevin Thacker
-<amstrad@aiind.upv.es>
diff --git a/contiki-cpc/contiki-cpc/arch/contiki_labels.s b/contiki-cpc/contiki-cpc/arch/contiki_labels.s
deleted file mode 100644
index 8192104..0000000
--- a/contiki-cpc/contiki-cpc/arch/contiki_labels.s
+++ /dev/null
@@ -1,346 +0,0 @@
-__jpbc == 0x0107
-_kbhit == 0x0109
-_cgetc == 0x0115
-_calc_free_ram == 0x011B
-_get_ram_start == 0x0183
-_get_ram_end == 0x0187
-ram_start == 0x018B
-ram_end == 0x018D
-__sdcc_heap_init == 0x018F
-__sdcc_heap_init_start == 0x018F
-__sdcc_heap_init_end == 0x021B
-_malloc == 0x021B
-_malloc_start == 0x021B
-_free == 0x0366
-_free_start == 0x0366
-_malloc_end == 0x0366
-_free_end == 0x03CE
-__clock_init == 0x03CE
-event_routine == 0x03DC
-__clock_val == 0x03E6
-event_block == 0x03E8
-_loader_arch_load == 0x03F1
-_loader_arch_load_start == 0x03F1
-_loader_arch_load_end == 0x0455
-_loader_arch_load_dsc == 0x0455
-_loader_arch_load_dsc_start == 0x0455
-_loader_arch_load_dsc_end == 0x04A7
-_loader_arch_free == 0x04A7
-_loader_arch_free_start == 0x04A7
-_loader_arch_free_end == 0x04BF
-_loader_arch_free_dsc == 0x04BF
-_loader_arch_free_dsc_start == 0x04BF
-_loader_arch_free_dsc_end == 0x04D7
-_get_file_length == 0x04D7
-_load_file == 0x04FB
-_relocate == 0x0519
-_cfs_cpc_init == 0x05B8
-_cfs_cpc_init_start == 0x05B8
-_cfs_cpc_init_end == 0x05DB
-_cfs_find_service == 0x08B2
-_cfs_find_service_start == 0x08B2
-_cfs_find_service_end == 0x08CE
-__readdir == 0x08E8
-fetch_directory == 0x0901
-_program_handler_add == 0x091D
-_program_handler_add_start == 0x091D
-_program_handler_add_end == 0x0977
-_program_handler_init == 0x0A59
-_program_handler_init_start == 0x0A59
-_program_handler_init_end == 0x0AB0
-_pnarg_init == 0x0AB8
-_pnarg_init_start == 0x0AB8
-_pnarg_init_end == 0x0ACB
-_program_handler_load == 0x0B62
-_program_handler_load_start == 0x0B62
-_program_handler_load_end == 0x0BA9
-_program_handler_screensaver == 0x0BB7
-_program_handler_screensaver_sta == 0x0BB7
-_program_handler_screensaver_end == 0x0BE6
-_ctk_restore == 0x109A
-_ctk_restore_start == 0x109A
-_ctk_init_start == 0x10BF
-_ctk_restore_end == 0x10BF
-_ctk_init == 0x10BF
-_ctk_init_end == 0x11F2
-_ctk_mode_set == 0x11FA
-_ctk_mode_set_start == 0x11FA
-_ctk_mode_get == 0x120F
-_ctk_mode_get_start == 0x120F
-_ctk_mode_set_end == 0x120F
-_ctk_mode_get_end == 0x1217
-_ctk_icon_add == 0x1217
-_ctk_icon_add_start == 0x1217
-_ctk_dialog_open == 0x1243
-_ctk_icon_add_end == 0x1243
-_ctk_dialog_open_start == 0x1243
-_ctk_dialog_open_end == 0x126A
-_ctk_dialog_close == 0x126A
-_ctk_dialog_close_start == 0x126A
-_ctk_window_open == 0x1283
-_ctk_window_open_start == 0x1283
-_ctk_dialog_close_end == 0x1283
-_ctk_window_close == 0x139C
-_ctk_window_close_start == 0x139C
-_ctk_window_open_end == 0x139C
-_ctk_window_close_end == 0x14CB
-_ctk_window_clear_start == 0x163B
-_ctk_window_clear == 0x163B
-_ctk_menu_add_start == 0x1695
-_ctk_window_clear_end == 0x1695
-_ctk_menu_add == 0x1695
-_ctk_menu_add_end == 0x1707
-_ctk_menu_remove == 0x1707
-_ctk_menu_remove_start == 0x1707
-_ctk_menu_remove_end == 0x178B
-_ctk_desktop_redraw == 0x18E0
-_ctk_desktop_redraw_start == 0x18E0
-_ctk_window_redraw_start == 0x192F
-_ctk_desktop_redraw_end == 0x192F
-_ctk_window_redraw == 0x192F
-_ctk_window_redraw_end == 0x19AC
-_ctk_window_new == 0x1B5F
-_ctk_window_new_start == 0x1B5F
-_ctk_window_new_end == 0x1B93
-_ctk_dialog_new == 0x1B93
-_ctk_dialog_new_start == 0x1B93
-_ctk_menu_new == 0x1BB9
-_ctk_menu_new_start == 0x1BB9
-_ctk_dialog_new_end == 0x1BB9
-_ctk_menuitem_add == 0x1C1B
-_ctk_menu_new_end == 0x1C1B
-_ctk_menuitem_add_start == 0x1C1B
-_ctk_menuitem_add_end == 0x1C9E
-_ctk_widget_redraw == 0x1DCD
-_ctk_widget_redraw_start == 0x1DCD
-_ctk_widget_add == 0x1DF7
-_ctk_widget_add_start == 0x1DF7
-_ctk_widget_redraw_end == 0x1DF7
-_ctk_desktop_width_start == 0x1EA6
-_ctk_widget_add_end == 0x1EA6
-_ctk_desktop_width == 0x1EA6
-_ctk_desktop_width_end == 0x1EB4
-_ctk_desktop_height == 0x1EB4
-_ctk_desktop_height_start == 0x1EB4
-_ctk_desktop_height_end == 0x1EC2
-_ctk_draw_init == 0x2EFD
-_ctk_draw_init_start == 0x2EFD
-_ctk_draw_clear == 0x2F46
-_ctk_draw_init_end == 0x2F46
-_ctk_draw_clear_start == 0x2F46
-_ctk_draw_clear_window == 0x2F79
-_ctk_draw_clear_window_start == 0x2F79
-_ctk_draw_clear_end == 0x2F79
-_ctk_draw_clear_window_end == 0x2FBA
-_ctk_draw_window == 0x2FBA
-_ctk_draw_window_start == 0x2FBA
-_ctk_draw_dialog_start == 0x2FFB
-_ctk_draw_window_end == 0x2FFB
-_ctk_draw_dialog == 0x2FFB
-_ctk_draw_widget == 0x302B
-_ctk_draw_dialog_end == 0x302B
-_ctk_draw_widget_start == 0x302B
-_ctk_draw_menus_start == 0x306C
-_ctk_draw_widget_end == 0x306C
-_ctk_draw_menus == 0x306C
-_ctk_draw_menus_end == 0x309C
-_ctk_draw_width == 0x309C
-_ctk_draw_width_start == 0x309C
-_ctk_draw_width_end == 0x30BE
-_ctk_draw_height == 0x30BE
-_ctk_draw_height_start == 0x30BE
-_ctk_mouse_xtoc == 0x30E0
-_ctk_mouse_xtoc_start == 0x30E0
-_ctk_draw_height_end == 0x30E0
-_ctk_mouse_ytoc == 0x3115
-_ctk_mouse_ytoc_start == 0x3115
-_ctk_mouse_xtoc_end == 0x3115
-_ctk_draw_quit == 0x314A
-_ctk_mouse_ytoc_end == 0x314A
-_ctk_draw_quit_start == 0x314A
-_ctk_draw_quit_end == 0x3168
-_ek_service_start == 0x3173
-_ek_service_start_start == 0x3173
-_ek_service_find_start == 0x31B2
-_ek_service_start_end == 0x31B2
-_ek_service_find == 0x31B2
-_ek_service_state_start == 0x31DF
-_ek_service_find_end == 0x31DF
-_ek_service_state == 0x31DF
-_ek_service_reset == 0x3229
-_ek_service_reset_start == 0x3229
-_ek_service_state_end == 0x3229
-_ek_service_reset_end == 0x323F
-_ek_alloc_event == 0x323F
-_ek_alloc_event_start == 0x323F
-_ek_alloc_event_end == 0x324A
-_ek_start_start == 0x3369
-_ek_start == 0x3369
-_ek_exit == 0x33F8
-_ek_start_end == 0x33F8
-_ek_exit_start == 0x33F8
-_ek_process == 0x352B
-_ek_process_start == 0x352B
-_ek_exit_end == 0x352B
-_ek_init == 0x3558
-_ek_init_start == 0x3558
-_ek_process_end == 0x3558
-_ek_process_event == 0x35AC
-_ek_init_end == 0x35AC
-_ek_process_event_start == 0x35AC
-_ek_process_poll == 0x3743
-_ek_process_event_end == 0x3743
-_ek_process_poll_start == 0x3743
-_ek_run == 0x378B
-_ek_run_start == 0x378B
-_ek_process_poll_end == 0x378B
-_ek_post == 0x37AD
-_ek_post_start == 0x37AD
-_ek_run_end == 0x37AD
-_ek_post_synch == 0x3828
-_ek_post_synch_start == 0x3828
-_ek_post_end == 0x3828
-_ek_post_synch_end == 0x3887
-_ek_find == 0x3887
-_ek_find_start == 0x3887
-_ek_find_end == 0x38F2
-_ek_replace == 0x38F2
-_ek_replace_start == 0x38F2
-_ek_replace_end == 0x394A
-_ek_procstate == 0x394A
-_ek_procstate_start == 0x394A
-_ek_procstate_end == 0x397F
-_arg_init == 0x397F
-_arg_init_start == 0x397F
-_arg_init_end == 0x3986
-_arg_alloc == 0x3986
-_arg_alloc_start == 0x3986
-_arg_alloc_end == 0x39A4
-_arg_free == 0x39A4
-_arg_free_start == 0x39A4
-_arg_free_end == 0x39C5
-_list_init == 0x39C5
-_list_init_start == 0x39C5
-_list_init_end == 0x39E1
-_list_head == 0x39E1
-_list_head_start == 0x39E1
-_list_copy_start == 0x39FD
-_list_head_end == 0x39FD
-_list_copy == 0x39FD
-_list_copy_end == 0x3A22
-_list_tail == 0x3A22
-_list_tail_start == 0x3A22
-_list_add == 0x3A54
-_list_add_start == 0x3A54
-_list_tail_end == 0x3A54
-_list_push_start == 0x3A95
-_list_add_end == 0x3A95
-_list_push == 0x3A95
-_list_push_end == 0x3AC0
-_list_chop == 0x3AC0
-_list_chop_start == 0x3AC0
-_list_pop == 0x3B46
-_list_pop_start == 0x3B46
-_list_chop_end == 0x3B46
-_list_pop_end == 0x3B71
-_timer_set == 0x3B71
-_timer_set_start == 0x3B71
-_timer_set_end == 0x3B9D
-_timer_reset == 0x3B9D
-_timer_reset_start == 0x3B9D
-_timer_expired == 0x3BBA
-_timer_reset_end == 0x3BBA
-_timer_expired_start == 0x3BBA
-_timer_expired_end == 0x3C04
-_directory_dsc == 0x3C04
-_directory_icon == 0x3C5D
-_configedit_dsc == 0x3C90
-_configedit_icon == 0x3CE9
-_processes_dsc == 0x3D2F
-_processes_icon == 0x3D88
-_uip_fw_forward_start == 0x3DC2
-_uip_fw_forward == 0x3DC2
-_uip_fw_forward_end == 0x3DC5
-_uip_fw_periodic == 0x3DC5
-_uip_fw_periodic_start == 0x3DC5
-_uip_fw_periodic_end == 0x3DC6
-_main_start == 0x3DEF
-_main_end == 0x3E48
-_reset == 0x3E68
-_reset_start == 0x3E68
-_reset_end == 0x3E69
-_clock_time_start == 0x3E6E
-_clock_time == 0x3E6E
-_ctk_arch_isprint == 0x3E72
-_clock_time_end == 0x3E72
-_ctk_arch_isprint_start == 0x3E72
-_ctk_arch_isprint_end == 0x3E8D
-_strcpy == 0x3E8D
-_strcpy_start == 0x3E8D
-_strcpy_end == 0x3EB2
-__divschar_rrx_s == 0x3EB2
-__divschar_rrx_hds == 0x3EB9
-__modschar_rrx_s == 0x3EC0
-__modschar_rrx_hds == 0x3EC7
-__divsint_rrx_s == 0x3ECE
-__divsint_rrx_hds == 0x3EDA
-__modsint_rrx_s == 0x3EE2
-__modsint_rrx_hds == 0x3EEE
-__divuchar_rrx_s == 0x3EF6
-__divuchar_rrx_hds == 0x3EFD
-__moduchar_rrx_s == 0x3F04
-__moduchar_rrx_hds == 0x3F0B
-__divuint_rrx_s == 0x3F12
-__divuint_rrx_hds == 0x3F1E
-__moduint_rrx_s == 0x3F26
-__moduint_rrx_hds == 0x3F32
-.mod8 == 0x3F3A
-.div8 == 0x3F3A
-.mod16 == 0x3F42
-.div16 == 0x3F42
-.modu8 == 0x3F7F
-.divu8 == 0x3F7F
-.modu16 == 0x3F82
-.divu16 == 0x3F82
-_strncmp == 0x3FB3
-_strncmp_start == 0x3FB3
-_strncmp_end == 0x4040
-_isprint == 0x4040
-_isprint_start == 0x4040
-_isprint_end == 0x4062
-_memset == 0x4062
-_memset_start == 0x4062
-_memset_end == 0x40AA
-__mulschar_rrx_s == 0x40AA
-__mulschar_rrx_hds == 0x40B1
-__muluchar_rrx_s == 0x40BD
-__mulint_rrx_s == 0x40CA
-__mulint_rrx_hds == 0x40D6
-__muluchar_rrx_hds == 0x40D6
-_strncpy == 0x40EF
-_strncpy_start == 0x40EF
-_strncpy_end == 0x415E
-_strlen_start == 0x415E
-_strlen == 0x415E
-_strlen_end == 0x417E
-_ctk_signal_keypress == 0x439D
-_ctk_signal_widget_activate == 0x439E
-_ctk_signal_button_activate == 0x439F
-_ctk_signal_widget_select == 0x43A0
-_ctk_signal_button_hover == 0x43A1
-_ctk_signal_hyperlink_activate == 0x43A2
-_ctk_signal_hyperlink_hover == 0x43A3
-_ctk_signal_menu_activate == 0x43A4
-_ctk_signal_window_close == 0x43A5
-_ctk_signal_pointer_move == 0x43A6
-_ctk_signal_pointer_button == 0x43A7
-_ctk_screensaver_timeout == 0x43AA
-_ctk_draw_windowborder_width == 0x43BC
-_ctk_draw_windowborder_height == 0x43BD
-_ctk_draw_windowtitle_height == 0x43BE
-_ek_procs == 0x43C2
-_ek_proclist == 0x43C4
-_ek_current == 0x4404
-_ek_event_quit == 0x4406
-_ek_event_msg == 0x4407
-_ek_poll_request == 0x448B
diff --git a/contiki-cpc/contiki-cpc/arch/crt0-backup.s b/contiki-cpc/contiki-cpc/arch/crt0-backup.s
deleted file mode 100644
index b014aa8..0000000
--- a/contiki-cpc/contiki-cpc/arch/crt0-backup.s
+++ /dev/null
@@ -1,33 +0,0 @@
-;; File: crt0.s
-;; Generic crt0.s for a Z80
-;; From SDCC..
-;; Modified to suit execution on the Amstrad CPC!
-;; by H. Hansen 2003
-
- .module crt0
- .globl _main
- .globl _progend
- .area _HEADER (ABS)
- .org 0x100 ;; Start from address &100
-init:
-
-;; Initialise global variables
- call gsinit
- call _main
-
-_exit::
- ret
-
- ;; Ordering of segments for the linker.
- .area _HOME
- .area _CODE
- .area _DATA
- .area _BSS
-
- .area _GSINIT
-gsinit::
-
- .area _GSFINAL
- ret
- .area _HEAP
-_progend::
diff --git a/contiki-cpc/contiki-cpc/arch/crt0-dsc.s b/contiki-cpc/contiki-cpc/arch/crt0-dsc.s
deleted file mode 100644
index 381bc27..0000000
--- a/contiki-cpc/contiki-cpc/arch/crt0-dsc.s
+++ /dev/null
@@ -1,26 +0,0 @@
-;; File: crt0-dsc.s
-
- .module crt0
- .globl _main
-
- .area _HEADER (REL)
-;; .org 0x100 ;; Start from address &100
-
-init:
-_main:
- ;; Ordering of segments for the linker.
- .area _HOME (REL)
- .area _CODE (REL)
- .area _GSINIT (REL)
- .area _GSFINAL (REL)
-
- .area _DATA (REL)
- .area _BSS (REL)
- .area _HEAP (REL)
-
- .area _CODE (REL)
-
-_exit::
- .area _GSINIT (REL)
-gsinit::
- .area _GSFINAL (REL)
diff --git a/contiki-cpc/contiki-cpc/arch/crt0-prg.s b/contiki-cpc/contiki-cpc/arch/crt0-prg.s
deleted file mode 100644
index 8984742..0000000
--- a/contiki-cpc/contiki-cpc/arch/crt0-prg.s
+++ /dev/null
@@ -1,16 +0,0 @@
-;; File: crt0-dsc.s
-
- .module crt0
- .area _HEADER (ABS)
- .area _HOME (REL)
- .area _CODE (REL)
- ;; relocation data
- .dw 0
- .area _DATA (REL)
- .area _BSS (REL)
- .area _HEAP (REL)
-
- .area _GSINIT (REL)
-gsinit::
- .area _GSFINAL (REL)
- ret
diff --git a/contiki-cpc/contiki-cpc/arch/crt0.s b/contiki-cpc/contiki-cpc/arch/crt0.s
deleted file mode 100644
index a8aafdb..0000000
--- a/contiki-cpc/contiki-cpc/arch/crt0.s
+++ /dev/null
@@ -1,35 +0,0 @@
-;; File: crt0.s
-;; Generic crt0.s for a Z80
-;; From SDCC..
-;; Modified to suit execution on the Amstrad CPC!
-;; by H. Hansen 2003
-
- .module crt0
- .globl _main
- .globl _progend
- .globl __jpbc
- .area _HEADER (ABS)
- ;; Ordering of segments for the linker.
- .area _CODE
-init:
-
-;; Initialise global variables
- call gsinit
- call _main
-
-_exit::
- ret
-__jpbc:
- push bc
- ret
-
- .area _DATA (REL)
- .area _BSS (REL)
-
- .area _GSINIT (REL)
-gsinit::
-
- .area _GSFINAL (REL)
- ret
- .area _HEAP (REL)
-_progend::
diff --git a/contiki-cpc/contiki-cpc/arch/hires.s b/contiki-cpc/contiki-cpc/arch/hires.s
deleted file mode 100644
index c482768..0000000
--- a/contiki-cpc/contiki-cpc/arch/hires.s
+++ /dev/null
@@ -1,101 +0,0 @@
-;; Hires:
-;;
-;; Mode 0, 40 columns. Each character is 4 pixels wide and 8 pixels tall.
-;; Each character is two bytes wide and 8 lines tall.
-;;
-;; The graphics for each character is a bitmap defined using
-;; pen 0 and pen 15.
-;;
-;; The bitmap is processed at runtime to convert the font to the
-;; appropiate pixel colours.
- .area _CODE
-;; This table converts between pen index (0-15) and pixel bitmap.
-.pen_table
-defb #00 ;; pen 0 (%00000000)
-defb #c0 ;; pen 1 (%11000000)
-defb #0c ;; pen 2 (%00001100)
-defb #cc ;; pen 3 (%11001100)
-defb #30 ;; pen 4 (%00110000)
-defb #f0 ;; pen 5 (%11110000)
-defb #3c ;; pen 6 (%00111100)
-defb #fc ;; pen 7 (%11111100)
-defb #03 ;; pen 8 (%00000011)
-defb #c3 ;; pen 9 (%11000011)
-defb #0f ;; pen 10 (%00001111)
-defb #cf ;; pen 11 (%11001111)
-defb #33 ;; pen 12 (%00110011)
-defb #f3 ;; pen 13 (%11110011)
-defb #3f ;; pen 14 (%00111111)
-defb #ff ;; pen 15 (%11111111)
-
-;; A = pen
-.get_pen_mask
-ld hl,pen_table
-add a,l
-ld l,a
-ld a,h
-adc a,0
-ld h,a
-ld a,(hl)
-ret
-
-.set_pen
-call get_pen_mask
-ld (pen_mask+1),a
-ld (pen_mask2+1),a
-ret
-
-.set_paper
-call get_pen_mask
-ld (paper_mask+1),a
-ld (paper_mask2+1),a
-ret
-
-;; enter:
-;; HL = current memory address
-;; exit:
-;; HL = memory address of byte immediatly below
-;; AF corrupt.
-.scr_next_line
-ld a,h
-add a,8
-ld h,a
-ret nc
-ld a,l
-add a,&50
-ld l,a
-ld a,h
-adc a,&c0
-ld h,a
-ret
-
-;; enter:
-;; HL = screen address
-;; DE = character pixel graphics
-;; exit:
-;; AF, BC, HL, DE corrupt
-.plot_char
-ld b,8
-.pc1
-ld a,(de) ;; convert 'on' pixels
-.pen_mask and 1
-ld c,a
-ld a,(de)
-cpl
-.paper_mask and 1
-or c
-ld (hl),a
-inc l
-ld a,(de)
-.pen_mask2 and 1
-ld c,a
-ld a,(de)
-cpl
-.paper_mask2 and 1
-or c
-ld (hl),a
-dec l
-call scr_next_line
-djnz pc1
-ret
-
diff --git a/contiki-cpc/contiki-cpc/arch/key.s b/contiki-cpc/contiki-cpc/arch/key.s
deleted file mode 100644
index 8ca55ad..0000000
--- a/contiki-cpc/contiki-cpc/arch/key.s
+++ /dev/null
@@ -1,33 +0,0 @@
-; unsigned char kbhit (void);
-; Return true if there's a key waiting, return false if not
-; TESTED
-
-.globl _kbhit
- .area _CODE
-_kbhit::
- call 0xBB09 ; KM READ KEY
- ld (key),a
- ld l,#1
- ret c
- ld l,#0
- ret
-
-; char cgetc (void);
-; Return a character from the keyboard. If there is no character available,
-; the functions waits until the user does press a key. If cursor is set to
-; 1 (see below), a blinking cursor is displayed while waiting.
-; TESTED
-
-.globl _cgetc
-
-_cgetc::
- ld a,(key)
- ld l,a
- ret
-
-;; call 0xBB09
-;; jr nc,_cgetc
-;; ld l,a
-;; ret
-
-key: .db 0
diff --git a/contiki-cpc/contiki-cpc/arch/main.c b/contiki-cpc/contiki-cpc/arch/main.c
deleted file mode 100644
index a7f8d2c..0000000
--- a/contiki-cpc/contiki-cpc/arch/main.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2002-2004, 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. 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 operating system
- *
- * $Id: main.c,v 1.1 2006/04/17 15:11:44 kthacker Exp $
- *
- */
-
-#include "contiki.h"
-
-#include "ctk.h"
-#include "ctk-draw.h"
-#include "ek.h"
-#include "log.h"
-#include "program-handler.h"
-
-#include "uip.h"
-#include "uip_arp.h"
-
-#include "resolv.h"
-
-#include "configedit-dsc.h"
-#include "directory-dsc.h"
-#include "processes-dsc.h"
-
-//#include "cfs-cbm.h"
-#include "cfs-cpc.h"
-
-#include "clock.h"
-
-#include "arch.h"
-
-unsigned char
-uip_fw_forward(void)
-{
- return 0;
-}
-void
-uip_fw_periodic(void)
-{
- return;
-}
-/*-----------------------------------------------------------------------------------*/
-EK_EVENTHANDLER(init_eventhandler, ev, data)
-{
- switch(ev) {
- case EK_EVENT_INIT:
- program_handler_load("conio.prg",NULL);
-// program_handler_load("config.prg", NULL);
- break;
- }
-}
-/*-----------------------------------------------------------------------------------*/
-EK_PROCESS(init, "Init", EK_PRIO_LOWEST,
- init_eventhandler, NULL, NULL);
-/*-----------------------------------------------------------------------------------*/
-#if LOG_CONF_ENABLED
-void
-log_message(char *part1, char *part2)
-{
-}
-#endif
-void
-main(void)
-{
-
- log_message("Starting ", CONTIKI_VERSION_STRING);
-
- ek_init();
-
- ek_start(&init);
-
- // log_message(": TCP/IP", "");
-
- // tcpip_init(NULL);
-
- // resolv_init(NULL);
-
- log_message(": CTK GUI", "");
- ctk_init();
-
- log_message(": Initial filesystem", "");
- cfs_cpc_init(NULL);
-
- program_handler_init();
-
- program_handler_add(&directory_dsc, "Directory", 1);
-// program_handler_add(&configedit_dsc, "Configuration", 1);
- program_handler_add(&processes_dsc, "Processes", 1);
-
-
- log_message("Starting process scheduling", "");
-
- while(1) {
- if(ek_run() == 0) {
- program_handler_load("welcome.prg", NULL);
- break;
- }
- }
-
- while(1) {
- ek_run();
- }
-}
-/*-----------------------------------------------------------------------------------*/
-void
-reset(void)
-{
-/* asm("lda #$36");
- asm("sta $01");
- asm("jmp $fce2");
-*/
-}
-
diff --git a/contiki-cpc/contiki-cpc/arch/malloc.c b/contiki-cpc/contiki-cpc/arch/malloc.c
deleted file mode 100644
index d4e91b5..0000000
--- a/contiki-cpc/contiki-cpc/arch/malloc.c
+++ /dev/null
@@ -1,268 +0,0 @@
-#include <sdcc-lib.h>
-#include <malloc.h>
-
-#if _SDCC_MALLOC_TYPE_MLH
-
-typedef struct _MEMHEADER MEMHEADER;
-
-struct _MEMHEADER
-{
- MEMHEADER * next;
- MEMHEADER * prev;
- unsigned int len;
- unsigned char mem;
-};
-
-#define HEADER_SIZE (sizeof(MEMHEADER)-sizeof(char))
-
-/* These veriables are defined through the crt0 functions. */
-/* Base of this variable is the first byte of the heap. */
-//extern MEMHEADER _sdcc_heap_start;
-/* Address of this variable is the last byte of the heap. */
-//extern char _sdcc_heap_end;
-
-extern char *get_ram_start();
-extern char *get_ram_end();
-extern void calc_free_ram();
-extern char progend;
-
-static MEMHEADER *firstheader;
-/* setup two headers. One at start of free ram, second at end of free ram.
- We find free ram range by asking Amstrad's firmware. */
-
-void
-_sdcc_heap_init(void)
-{
- MEMHEADER *lastheader;
- unsigned int size;
- char * ramstart;
-
- /* ask firmware for free ram */
- calc_free_ram();
-
- /* start of ram is either start of range given by firmware,
- or end of program; whichever is largest */
- ramstart = get_ram_start();
- if (ramstart<&progend)
- ramstart = &progend;
-
- /* this is our first mem header */
- firstheader = (MEMHEADER *)ramstart;
-
- /* this is the size of ram available */
- size = get_ram_end() - ramstart;
-
- /* calc address of last header */
- lastheader = (MEMHEADER *)((char *)firstheader + size - HEADER_SIZE);
-
- /* setup last header */
- lastheader->next = NULL;
- lastheader->prev = firstheader;
- lastheader->len = 0;
-
- /* setup first header */
- firstheader->next = lastheader;
- firstheader->prev = NULL; //and mark first as first
- firstheader->len = 0; //Empty and ready.
-}
-
-void *
-malloc (unsigned int size)
-{
- MEMHEADER * current_header;
- MEMHEADER * new_header;
-
- if (size>(0xFFFF-HEADER_SIZE))
- {
- return NULL; //To prevent overflow in next line
- }
-
- size += HEADER_SIZE; //We need a memory for header too
- current_header = firstheader;
-
- while (1)
- {
- // current
- // | len next
- // v v v
- //....*****.........******....
- // ^^^^^^^^^
- // spare
-
- if ((((unsigned int)current_header->next) -
- ((unsigned int)current_header) -
- current_header->len) >= size)
- {
- break; //if spare is more than need
- }
- current_header = current_header->next; //else try next
- if (!current_header->next)
- {
- return NULL; //if end_of_list reached
- }
- }
-
- if (!current_header->len)
- { //This code works only for first_header in the list and only
- current_header->len = size; //for first allocation
- return ¤t_header->mem;
- }
- else
- {
- //else create new header at the begin of spare
- new_header = (MEMHEADER * )((char *)current_header + current_header->len);
- new_header->next = current_header->next; //and plug it into the chain
- new_header->prev = current_header;
- current_header->next = new_header;
- if (new_header->next)
- {
- new_header->next->prev = new_header;
- }
- new_header->len = size; //mark as used
- return &new_header->mem;
- }
-}
-
-void
-free (void *p)
-{
- MEMHEADER *prev_header, *pthis;
-
- if ( p ) //For allocated pointers only!
- {
- pthis = (MEMHEADER * )((char *) p - HEADER_SIZE); //to start of header
- if ( pthis->prev ) // For the regular header
- {
- prev_header = pthis->prev;
- prev_header->next = pthis->next;
- if (pthis->next)
- {
- pthis->next->prev = prev_header;
- }
- }
- else
- {
- pthis->len = 0; //For the first header
- }
- }
-}
-
-#else
-
- //--------------------------------------------------------------------
- //Written by Dmitry S. Obukhov, 1997
- //dso@usa.net
- //--------------------------------------------------------------------
- //Modified for SDCC by Sandeep Dutta, 1999
- //sandeep.dutta@usa.net
- //--------------------------------------------------------------------
- //malloc and free functions implementation for embedded system
- //Non-ANSI keywords are C51 specific.
- // xdata - variable in external memory (just RAM)
- //--------------------------------------------------------------------
-
- #define MEMHEADER struct MAH// Memory Allocation Header
-
- MEMHEADER
- {
- MEMHEADER xdata * next;
- MEMHEADER xdata * prev;
- unsigned int len;
- unsigned char mem;
- };
-
- #define HEADER_SIZE (sizeof(MEMHEADER)-1)
-
- //Static here means: can be accessed from this module only
- static MEMHEADER xdata * FIRST_MEMORY_HEADER_PTR;
- void init_dynamic_memory(MEMHEADER xdata * array, unsigned int size)
- {
-
- //This function MUST be called after the RESET.
- //Parameters: array - pointer to memory allocated by the linker
- // size - size of this memory pool
- //Example:
- // #define DYNAMIC_MEMORY_SIZE 0x2000
- // .....
- // unsigned char xdata dynamic_memory_pool[DYNAMIC_MEMORY_SIZE];
- // unsigned char xdata * current_buffer;
- // .....
- // void main(void)
- // {
- // ...
- // init_dynamic_memory(dynamic_memory_pool,DYNAMIC_MEMORY_SIZE);
- // Now it is possible to use malloc.
- // ...
- // current_buffer = malloc(0x100);
- //
- //
-
- if ( !array ) /*Reserved memory starts on 0x0000 but it's NULL...*/
- { //So, we lost one byte!
- array = (MEMHEADER xdata * )((char xdata * ) array + 1) ;
- size --;
- }
- FIRST_MEMORY_HEADER_PTR = array;
- //Reserve a mem for last header
- array->next = (MEMHEADER xdata * )(((char xdata * ) array) + size - HEADER_SIZE);
- array->next->next = (void xdata * ) NULL; //And mark it as last
- array->prev = (void xdata * ) NULL; //and mark first as first
- array->len = 0; //Empty and ready.
- }
-
- void xdata * malloc (unsigned int size)
- {
- register MEMHEADER xdata * current_header;
- register MEMHEADER xdata * new_header;
-
- if (size>(0xFFFF-HEADER_SIZE)) return (void xdata *) NULL; //To prevent overflow in next line
- size += HEADER_SIZE; //We need a memory for header too
- current_header = FIRST_MEMORY_HEADER_PTR;
- while (1)
- {
-
- // current
- // | len next
- // v v v
- //....*****.........******....
- // ^^^^^^^^^
- // spare
-
- if ((((unsigned int)current_header->next) -
- ((unsigned int)current_header) -
- current_header->len) >= size) break; //if spare is more than need
- current_header = current_header->next; //else try next
- if (!current_header->next) return (void xdata *) NULL; //if end_of_list reached
- }
- if (!current_header->len)
- { //This code works only for first_header in the list and only
- current_header->len = size; //for first allocation
- return ((xdata *)&(current_header->mem));
- } //else create new header at the begin of spare
- new_header = (MEMHEADER xdata * )((char xdata *)current_header + current_header->len);
- new_header->next = current_header->next; //and plug it into the chain
- new_header->prev = current_header;
- current_header->next = new_header;
- if (new_header->next) new_header->next->prev = new_header;
- new_header->len = size; //mark as used
- return ((xdata *)&(new_header->mem));
- }
-
- void free (void xdata * p)
- {
- register MEMHEADER xdata * prev_header;
- if ( p ) //For allocated pointers only!
- {
- p = (MEMHEADER xdata * )((char xdata *) p - HEADER_SIZE); //to start of header
- if ( ((MEMHEADER xdata * ) p)->prev ) // For the regular header
- {
- prev_header = ((MEMHEADER xdata * ) p)->prev;
- prev_header->next = ((MEMHEADER xdata * ) p)->next;
- if (((MEMHEADER xdata * ) p)->next)
- ((MEMHEADER xdata * ) p)->next->prev = prev_header;
- }
- else ((MEMHEADER xdata * ) p)->len = 0; //For the first header
- }
- }
- //END OF MODULE
-#endif
diff --git a/contiki-cpc/contiki-cpc/arch/mem.s b/contiki-cpc/contiki-cpc/arch/mem.s
deleted file mode 100644
index e994238..0000000
--- a/contiki-cpc/contiki-cpc/arch/mem.s
+++ /dev/null
@@ -1,105 +0,0 @@
- .globl _calc_free_ram
- .globl _get_ram_start
- .globl _get_ram_end
- .globl __sdcc_heap_init
-
- .area _GSINIT
- call __sdcc_heap_init
-
- .area _CODE
-
-_calc_free_ram::
- push bc
- ;; get information about BASIC ROM
- ld c,#0x0
- call #0xb915
- cp #0x80
- jr nz,gfr
- ;; must be built in ROM
-
- ;; v1.0 (BASIC 1.0 in CPC464)
- ;; v1.1 (BASIC 1.1 in CPC664)
- ;; v1.2 (BASIC 1.1 in CPC6128 and KC Compact)
- ;; v1.4 (BASIC 1.1 in CPC+)
-
- ld a,h
- cp #0x1
- ret z
- ld a,l
- or a
- jr z,basic10
-
- ;; basic 1.1
-
- ld hl,(#0xb073)
- inc hl
- ld bc,(#0xb736)
- or a
- sbc hl,bc
- jr nz,after_himem11
-
- ld hl,(#0xae6c)
- ld (ram_start),hl
-
- ld hl,(#0xb071)
- ld (ram_end),hl
-gfr:
- pop bc
- ret
-
-after_himem11:
-
- ;; after himem
- ld hl,(#0xb073)
- inc hl
- ld (ram_start),hl
-
- ;; start of UDG
- ld hl,(#0xb736)
- dec hl
- ld (ram_end),hl
- pop bc
- ret
-
-
-basic10:
- ld hl,(#0xb08f)
- inc hl
- ld bc,(#0xb296)
- or a
- sbc hl,bc
- jr nz,after_himem10
-
- ld hl,(#0xae89)
- ld (ram_start),hl
-
- ld hl,(#0xb08d)
- ld (ram_end),hl
- pop bc
- ret
-
-after_himem10:
-
- ;; after himem
- ld hl,(#0xb08f)
- inc hl
- ld (ram_start),hl
-
- ;; start of UDG
- ld hl,(#0xb296)
- dec hl
- ld (ram_end),hl
- pop bc
- ret
-
-_get_ram_start::
- ld hl,(ram_start)
- ret
-_get_ram_end::
- ld hl,(ram_end)
- ret
-
-ram_start::
- .dw 0
-ram_end::
- .dw 0
diff --git a/contiki-cpc/contiki-cpc/arch/putchar.s b/contiki-cpc/contiki-cpc/arch/putchar.s
deleted file mode 100644
index cc98c8d..0000000
--- a/contiki-cpc/contiki-cpc/arch/putchar.s
+++ /dev/null
@@ -1,27 +0,0 @@
-;; File: putchar.s
-;; Modified to suit execution on the Amstrad CPC
-;; by H. Hansen 2003
-;; Original lines has been marked out!
-
- .area _CODE
-_putchar::
-_putchar_rr_s::
- ld hl,#2
- add hl,sp
-
- ld a,(hl)
-;; ld a,#1
-;; rst 0x08
- call 0xBB5A
- ret
-
-_putchar_rr_dbs::
-
-;; ld l,e
-;; ld a,#1
-;; rst 0x08
-
- ld a,e
- call 0xBB5A
- ret
-
\ No newline at end of file
diff --git a/contiki-cpc/contiki-cpc/arch/uip.c b/contiki-cpc/contiki-cpc/arch/uip.c
deleted file mode 100644
index 76f0d0a..0000000
--- a/contiki-cpc/contiki-cpc/arch/uip.c
+++ /dev/null
@@ -1,9 +0,0 @@
-void chksumi()
-{
-}
-
-void add32i()
-{
-}
-
-
diff --git a/contiki-cpc/contiki-cpc/conf/FILES b/contiki-cpc/contiki-cpc/conf/FILES
deleted file mode 100644
index 72ec6f2..0000000
--- a/contiki-cpc/contiki-cpc/conf/FILES
+++ /dev/null
@@ -1,30 +0,0 @@
-The contiki/conf/ directory contains example configuration
-files.
-
-cc-conf.h.example
-
- An example configuration file for C compiler tweaks.
-
-clock-conf.h.example
-
- An example configuration file for the clock module.
-
-ctk-conf.h.example
-
- An example configuration file for the CTK GUI module.
-
-ek-conf.h.example
-
- An example configuration file for the Contiki event kernel.
-
-telnetd-conf.h.example
-
- An example configuration file for the telnet server.
-
-uip-conf.h.example
-
- An example configuration file for the uIP TCP/IP stack.
-
-www-conf.h.example
-
- An example configuration file for the web browser.
\ No newline at end of file
diff --git a/contiki-cpc/contiki-cpc/conf/cc-conf.h b/contiki-cpc/contiki-cpc/conf/cc-conf.h
deleted file mode 100644
index 8ba952a..0000000
--- a/contiki-cpc/contiki-cpc/conf/cc-conf.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2003, 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. 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 OS
- *
- * $Id: cc-conf.h,v 1.1 2006/04/17 15:11:45 kthacker Exp $
- *
- */
-#ifndef __CC_CONF_H__
-#define __CC_CONF_H__
-
-/* This file is used to configure stuff that depends on the
- capabilities of the C compiler used. */
-
-/* CC_CONF_REGISTER_ARGS: 1 or 0; 1 if the C compiler can handle the
- "register" keyword in function argument, 0 otherwise. */
-#define CC_CONF_REGISTER_ARGS 0
-
-/* CC_CONF_FUNCTION_POINTR_ARGS: 1 or 0; 1 if the C compiler can
- handle function arguments with function pointers, 0 otherwise. */
-#define CC_CONF_FUNCTION_POINTER_ARGS 1
-
-/* CC_CONF_FASTCALL: if the C compiler supports the fastcall keyword,
- it should be defined here. If the C compiler does not support it,
- leave the definition blank.
-
- Example:
- #define CC_CONF_FASTCALL fastcall */
-#define CC_CONF_FASTCALL
-
-#endif /* __CC_CONF_H__ */
-
diff --git a/contiki-cpc/contiki-cpc/conf/cc-conf.h.old b/contiki-cpc/contiki-cpc/conf/cc-conf.h.old
deleted file mode 100644
index c416ebf..0000000
--- a/contiki-cpc/contiki-cpc/conf/cc-conf.h.old
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2003, 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 OS
- *
- * $Id: cc-conf.h.old,v 1.1 2006/04/17 15:11:45 kthacker Exp $
- *
- */
-#ifndef __CC_CONF_H__
-#define __CC_CONF_H__
-
-#define register /**/
-#define CC_CONF_REGISTER_ARGS 0
-#define CC_CONF_FUNCTION_POINTER_ARGS 0
-
-#define CC_CONF_FASTCALL /*fastcall*/
-
-#endif /* __CC_CONF_H__ */
-
diff --git a/contiki-cpc/contiki-cpc/conf/clock-conf.h b/contiki-cpc/contiki-cpc/conf/clock-conf.h
deleted file mode 100644
index a690e15..0000000
--- a/contiki-cpc/contiki-cpc/conf/clock-conf.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __CLOCK_CONF_H__
-#define __CLOCK_CONF_H__
-
-typedef unsigned short clock_time_t;
-
-#define CLOCK_CONF_SECOND CLK_TCK
-
-#endif /* __CLOCK_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/conf/ctk-conf.h b/contiki-cpc/contiki-cpc/conf/ctk-conf.h
deleted file mode 100644
index 8496fc2..0000000
--- a/contiki-cpc/contiki-cpc/conf/ctk-conf.h
+++ /dev/null
@@ -1,89 +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. 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 "ctk" console GUI toolkit for cc65
- *
- * $Id: ctk-conf.h,v 1.1 2006/04/17 15:11:46 kthacker Exp $
- *
- */
-
-#ifndef __CTK_CONF_H__
-#define __CTK_CONF_H__
-
-/*
- * This file is used for setting various compile time settings for the
- * CTK GUI toolkit.
-*/
-
-/* Defines which key that is to be used for activating the menus */
-#define CTK_CONF_MENU_KEY CH_F1
-
-/* Defines which key that is to be used for switching the frontmost
- window. */
-#define CTK_CONF_WINDOWSWITCH_KEY CH_F2
-
-/* Defines which key that is to be used for switching to the prevoius
- widget. */
-#define CTK_CONF_WIDGETUP_KEY CH_F7
-
-/* Defines which key that is to be used for switching to the next
- widget. */
-#define CTK_CONF_WIDGETDOWN_KEY CH_F4
-
-/* Toggles mouse support (must have support functions in the
-architecture specific files to work). */
-#define CTK_CONF_MOUSE_SUPPORT 0 /* 1342 bytes */
-
-/* Toggles support for icons. */
-#define CTK_CONF_ICONS 1 /* 107 bytes */
-
-/* Toggles support for icon bitmaps. */
-#define CTK_CONF_ICON_BITMAPS 1
-
-/* Toggles support for icon textmaps. */
-#define CTK_CONF_ICON_TEXTMAPS 1
-
-/* Toggles support for movable windows. */
-#define CTK_CONF_WINDOWMOVE 1 /* 333 bytes */
-
-/* Toggles support for closable windows. */
-#define CTK_CONF_WINDOWCLOSE 1 /* 14 bytes */
-
-/* Toggles support for menus. */
-#define CTK_CONF_MENUS 1 /* 1384 bytes */
-
-/* Defines the default width of a menu. */
-#define CTK_CONF_MENUWIDTH 16
-/* The maximum number of menu items in each menu. */
-#define CTK_CONF_MAXMENUITEMS 10
-
-/* Toggles support for screen savers. */
-#define CTK_CONF_SCREENSAVER 0
-
-#endif /* __CTK_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/conf/ctk-conf.h.old b/contiki-cpc/contiki-cpc/conf/ctk-conf.h.old
deleted file mode 100644
index 5c832c9..0000000
--- a/contiki-cpc/contiki-cpc/conf/ctk-conf.h.old
+++ /dev/null
@@ -1,106 +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 "ctk" console GUI toolkit for cc65
- *
- * $Id: ctk-conf.h.old,v 1.1 2006/04/17 15:11:46 kthacker Exp $
- *
- */
-
-#ifndef __CTK_CONF_H__
-#define __CTK_CONF_H__
-
-//typedef char ctk_arch_key_t;
-
-#define ctk_arch_keyavail kbhit
-#define ctk_arch_getkey cgetc
-
-#undef CH_ENTER
-#define CH_ENTER 0x0d
-#define CH_STOP 0x01b
-#define CH_F1 0x031
-#define CH_F3 0x033
-#define CH_F5 0x035
-#define CH_F7 0x037
-#define CH_DEL 0x07f
-
-#define CH_CURS_LEFT 0x0f2
-#define CH_CURS_DOWN 0x0f1
-#define CH_CURS_RIGHT 0x0f3
-#define CH_CURS_UP 0x0f0
-
-#define CH_ESC 0x01b
-
-/*
- * This file is used for setting various compile time settings for the
- * CTK GUI toolkit.
-*/
-
-/* Defines which key that is to be used for activating the menus */
-#define CTK_CONF_MENU_KEY CH_F1
-
-/* Defines which key that is to be used for switching the frontmost
- 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 /* 1342 bytes */
-
-/* Toggles support for desktop icons. */
-#define CTK_CONF_ICONS 1 /* 107 bytes */
-
-/* Toggles support for movable windows. */
-#define CTK_CONF_WINDOWMOVE 1 /* 333 bytes */
-
-/* Toggles support for closable windows. */
-#define CTK_CONF_WINDOWCLOSE 1 /* 14 bytes */
-
-/* Toggles support for multiline text entry editing. */
-#define CTK_CONF_TEXTENTRY_MULTILINE 0 /* 118 bytes */
-
-/* Toggles support for menus. */
-#define CTK_CONF_MENUS 1 /* 1384 bytes */
-
-/* Defines the default width of a menu. */
-#define CTK_CONF_MENUWIDTH 16
-/* The maximum number of menu items in each menu. */
-#define CTK_CONF_MAXMENUITEMS 10
-
-/* Toggles support for screen savers. */
-#define CTK_CONF_SCREENSAVER 0
-
-#endif /* __CTK_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/conf/ctk-term-conf.h b/contiki-cpc/contiki-cpc/conf/ctk-term-conf.h
deleted file mode 100644
index e69de29..0000000
--- a/contiki-cpc/contiki-cpc/conf/ctk-term-conf.h
+++ /dev/null
diff --git a/contiki-cpc/contiki-cpc/conf/ctk-vncserver-conf.h b/contiki-cpc/contiki-cpc/conf/ctk-vncserver-conf.h
deleted file mode 100644
index fd45e81..0000000
--- a/contiki-cpc/contiki-cpc/conf/ctk-vncserver-conf.h
+++ /dev/null
@@ -1 +0,0 @@
-#define CTK_VNCSERVER_CONF_MAX_ICONS 1
diff --git a/contiki-cpc/contiki-cpc/conf/ek-conf.h b/contiki-cpc/contiki-cpc/conf/ek-conf.h
deleted file mode 100644
index bfbcfb1..0000000
--- a/contiki-cpc/contiki-cpc/conf/ek-conf.h
+++ /dev/null
@@ -1,54 +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. 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 "ek" event kernel.
- *
- * $Id: ek-conf.h,v 1.1 2006/04/17 15:11:46 kthacker Exp $
- *
- */
-
-
-#ifndef __EK_CONF_H__
-#define __EK_CONF_H__
-
-#include <time.h>
-
-typedef void *ek_data_t;
-
-typedef unsigned char ek_event_t;
-typedef unsigned char ek_id_t;
-
-#define EK_CONF_EVENTS 32 /* Must be 2^n */
-#define EK_CONF_NUMEVENTS EK_CONF_EVENTS
-
-typedef unsigned char ek_num_events_t;
-
-#define EK_CONF_MAXPROCS 32
-
-#endif /* __EK_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/conf/ek-conf.h.old b/contiki-cpc/contiki-cpc/conf/ek-conf.h.old
deleted file mode 100644
index a64bbe7..0000000
--- a/contiki-cpc/contiki-cpc/conf/ek-conf.h.old
+++ /dev/null
@@ -1,70 +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 "ek" event kernel.
- *
- * $Id: ek-conf.h.old,v 1.1 2006/04/17 15:11:46 kthacker Exp $
- *
- */
-
-
-#ifndef __EK_CONF_H__
-#define __EK_CONF_H__
-
-#include <time.h>
-
-typedef void *ek_data_t;
-
-typedef unsigned char ek_signal_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;
-
-/* 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 16 /* 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 16 /* Must be 2^n */
-typedef unsigned char ek_num_listeners_t;
-
-#endif /* __EK_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/conf/irc-conf.h b/contiki-cpc/contiki-cpc/conf/irc-conf.h
deleted file mode 100644
index 056f71a..0000000
--- a/contiki-cpc/contiki-cpc/conf/irc-conf.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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: Adam Dunkels <adam@sics.se>
- *
- * $Id: irc-conf.h,v 1.1 2006/04/17 15:11:46 kthacker Exp $
- */
-#ifndef __IRC_CONF_H__
-#define __IRC_CONF_H__
-
-#define IRC_CONF_WIDTH 78
-#define IRC_CONF_HEIGHT 21
-
-#define IRC_CONF_SYSTEM_STRING "c64"
-
-#endif /* __IRC_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/conf/libconio-conf.h b/contiki-cpc/contiki-cpc/conf/libconio-conf.h
deleted file mode 100644
index d420d5c..0000000
--- a/contiki-cpc/contiki-cpc/conf/libconio-conf.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#define LIBCONIO_CONF_SCREEN_WIDTH 40
-#define LIBCONIO_CONF_SCREEN_HEIGHT 25
diff --git a/contiki-cpc/contiki-cpc/conf/log-conf.h b/contiki-cpc/contiki-cpc/conf/log-conf.h
deleted file mode 100644
index 1036014..0000000
--- a/contiki-cpc/contiki-cpc/conf/log-conf.h
+++ /dev/null
@@ -1 +0,0 @@
-#define LOG_CONF_ENABLED 0
diff --git a/contiki-cpc/contiki-cpc/conf/shell-gui-conf.h b/contiki-cpc/contiki-cpc/conf/shell-gui-conf.h
deleted file mode 100644
index 235b1c6..0000000
--- a/contiki-cpc/contiki-cpc/conf/shell-gui-conf.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#define SHELL_GUI_CONF_XSIZE 20
-#define SHELL_GUI_CONF_YSIZE 20
diff --git a/contiki-cpc/contiki-cpc/conf/telnetd-conf.h b/contiki-cpc/contiki-cpc/conf/telnetd-conf.h
deleted file mode 100644
index 8355598..0000000
--- a/contiki-cpc/contiki-cpc/conf/telnetd-conf.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2003, 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. 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 Destop OS
- *
- * $Id: telnetd-conf.h,v 1.1 2006/04/17 15:11:46 kthacker Exp $
- *
- */
-#ifndef __TELNETD_CONF_H__
-#define __TELNETD_CONF_H__
-
-#define TELNETD_CONF_LINELEN 36
-#define TELNETD_CONF_NUMLINES 24
-
-#endif /* __TELNETD_CONF_H__ */
-
-
-
-
-
-
-
-
diff --git a/contiki-cpc/contiki-cpc/conf/uip-conf.h b/contiki-cpc/contiki-cpc/conf/uip-conf.h
deleted file mode 100644
index 8955c6d..0000000
--- a/contiki-cpc/contiki-cpc/conf/uip-conf.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- * \file
- * uIP configuration file.
- * \author Adam Dunkels <adam@dunkels.com>
- *
- * This file contains configuration options for the uIP TCP/IP
- * stack. Each Contiki port will contain its own uip-conf.h file
- * containing architecture specific configuration options.
- *
- */
-
-/*
- * Copyright (c) 2003, 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. 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 Destop OS
- *
- * $Id: uip-conf.h,v 1.1 2006/04/17 15:11:46 kthacker Exp $
- *
- */
-#ifndef __UIP_CONF_H__
-#define __UIP_CONF_H__
-
-/**
- * The maximum number of TCP connections.
- *
- * Since the TCP connections are statically allocated, turning this
- * configuration knob down results in less RAM used. Each TCP
- * connection requires approximatly 30 bytes of memory.
- */
-#define UIP_CONF_MAX_CONNECTIONS 40
-
-/**
- * The maximum number of listening TCP ports.
- *
- * Each listening TCP port requires 2 bytes of memory.
- */
-#define UIP_CONF_MAX_LISTENPORTS 40
-
-/**
- * The size of the uIP packet buffer.
- *
- * The uIP packet buffer should not be smaller than 60 bytes, and does
- * not need to be larger than 1500 bytes. Lower size results in lower
- * TCP throughput, larger size results in higher TCP throughput.
- */
-#define UIP_CONF_BUFFER_SIZE 400
-
-/**
- * The host byte order.
- *
- * Used for telling uIP if the architecture has LITTLE_ENDIAN or
- * BIG_ENDIAN byte order. x86 CPUs have LITTLE_ENDIAN byte order,
- * whereas Motorola CPUs have BIG_ENDIAN. Check the documentation of
- * the CPU to find out the byte order.
- */
-#define UIP_CONF_BYTE_ORDER LITTLE_ENDIAN
-
-
-/**
- * IP address configuration through ping.
- *
- * uIP features IP address configuration using an ICMP echo (ping)
- * packet. In this mode, the destination IP address of the first ICMP
- * echo packet that is received is used to set the host IP address.
- */
-#define UIP_CONF_PINGADDRCONF 0
-#endif /* __UIP_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/conf/uip-conf.h.old b/contiki-cpc/contiki-cpc/conf/uip-conf.h.old
deleted file mode 100644
index 8de8b7a..0000000
--- a/contiki-cpc/contiki-cpc/conf/uip-conf.h.old
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2003, 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 Destop OS
- *
- * $Id: uip-conf.h.old,v 1.1 2006/04/17 15:11:46 kthacker Exp $
- *
- */
-#ifndef __UIP_CONF_H__
-
-#define UIP_CONF_MAX_CONNECTIONS 10
-#define UIP_CONF_MAX_LISTENPORTS 10
-#define UIP_CONF_BUFFER_SIZE 310
-
-#define UIP_CONF_BYTE_ORDER LITTLE_ENDIAN
-
-#endif /* __UIP_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/conf/vnc-conf.h b/contiki-cpc/contiki-cpc/conf/vnc-conf.h
deleted file mode 100644
index 1e6906a..0000000
--- a/contiki-cpc/contiki-cpc/conf/vnc-conf.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2003, 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 VNC client
- *
- * $Id: vnc-conf.h,v 1.1 2006/04/17 15:11:46 kthacker Exp $
- *
- */
-
-
-#ifndef __VNC_CONF_H__
-
-#define VNC_CONF_VIEWPORT_WIDTH (32*8)
-#define VNC_CONF_VIEWPORT_HEIGHT (16*8)
-
-#define VNC_CONF_REFRESH_ROWS 8
-
-#endif /* __VNC_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/conf/vnc-conf.h.old b/contiki-cpc/contiki-cpc/conf/vnc-conf.h.old
deleted file mode 100644
index fedc904..0000000
--- a/contiki-cpc/contiki-cpc/conf/vnc-conf.h.old
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2003, 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 VNC client
- *
- * $Id: vnc-conf.h.old,v 1.1 2006/04/17 15:11:46 kthacker Exp $
- *
- */
-
-
-#ifndef __VNC_CONF_H__
-
-#define VNC_CONF_VIEWPORT_WIDTH (32*8)
-#define VNC_CONF_VIEWPORT_HEIGHT (16*8)
-
-#define VNC_CONF_REFRESH_ROWS 8
-
-#endif /* __VNC_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/conf/www-conf.h b/contiki-cpc/contiki-cpc/conf/www-conf.h
deleted file mode 100644
index 5178724..0000000
--- a/contiki-cpc/contiki-cpc/conf/www-conf.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- * \file
- * The Contiki web browser configuration file.
- * \author Adam Dunkels <adam@dunkels.com>
- *
- */
-
-/*
- * Copyright (c) 2002-2003, 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. 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: www-conf.h,v 1.1 2006/04/17 15:11:47 kthacker Exp $
- *
- */
-#ifndef __WWW_CONF_H__
-#define __WWW_CONF_H__
-
-/**
- * The width of the web page viewing area, measured in characters.
- */
-#define WWW_CONF_WEBPAGE_WIDTH 36
-
-/**
- * The height of the web page viewing area, measured in characters.
- */
-#define WWW_CONF_WEBPAGE_HEIGHT 17
-
-/**
- * The size of the "Back" history.
- */
-#define WWW_CONF_HISTORY_SIZE 4
-
-/**
- * The maximum length of the URLs the web browser will handle.
- */
-#define WWW_CONF_MAX_URLLEN 100
-
-/**
- * The maxiumum number of widgets (i.e., hyperlinks, form elements) on
- * a single web page view.
- *
- * \note This does not limit the total number of widgets in a web
- * page, only the number of widget that are visible simultaneously.
- */
-#define WWW_CONF_MAX_NUMPAGEWIDGETS 20
-
-/**
- * Turns support for the \<center\> tag on or off, and must be on for
- * HTML forms to work.
- */
-#define WWW_CONF_RENDERSTATE 1
-
-/**
- * Toggles support for HTML forms.
- */
-#define WWW_CONF_FORMS 1
-
-/**
- * Maximum length of HTML form action URLs.
- */
-#define WWW_CONF_MAX_FORMACTIONLEN 40
-
-/**
- * Maximum length of HTML form name.
- */
-#define WWW_CONF_MAX_FORMNAMELEN 20
-
-/**
- * Maximum length of HTML form input name.
- */
-#define WWW_CONF_MAX_INPUTNAMELEN 20
-
-/**
- * Maximum length of HTML form input value.
- */
-#define WWW_CONF_MAX_INPUTVALUELEN (WWW_CONF_WEBPAGE_WIDTH - 1)
-
-/**
- * The defaule home page.
- */
-#define WWW_CONF_HOMEPAGE "http://contiki.c64.org/"
-
-#endif /* __WWW_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/conf/www-conf.h.old b/contiki-cpc/contiki-cpc/conf/www-conf.h.old
deleted file mode 100644
index 9ac8b4b..0000000
--- a/contiki-cpc/contiki-cpc/conf/www-conf.h.old
+++ /dev/null
@@ -1,70 +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: www-conf.h.old,v 1.1 2006/04/17 15:11:47 kthacker Exp $
- *
- */
-#ifndef __WWW_CONF_H__
-#define __WWW_CONF_H__
-
-#define WWW_CONF_HOMEPAGE "http://contiki.c64.org/"
-
-/* The size of the HTML viewing area. */
-#define WWW_CONF_WEBPAGE_WIDTH 36
-#define WWW_CONF_WEBPAGE_HEIGHT 17
-
-/* The size of the "Back" history. */
-#define WWW_CONF_HISTORY_SIZE 4
-
-/* Defines the maximum length of an URL */
-#define WWW_CONF_MAX_URLLEN 65
-
-/* The maxiumum number of widgets (i.e., hyperlinks, form elements) on
- a page. */
-#define WWW_CONF_MAX_NUMPAGEWIDGETS 26
-
-/* Turns <center> support on or off; must be on for forms to work. */
-#define WWW_CONF_RENDERSTATE 1
-
-/* Toggles support for HTML forms. */
-#define WWW_CONF_FORMS 1
-
-/* Maximum lengths for various HTML form parameters. */
-#define WWW_CONF_MAX_FORMACTIONLEN 30
-#define WWW_CONF_MAX_FORMNAMELEN 20
-#define WWW_CONF_MAX_INPUTNAMELEN 20
-
-#define WWW_CONF_MAX_INPUTVALUELEN (WWW_CONF_WEBPAGE_WIDTH - 1)
-
-#endif /* __WWW_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/ctk/conio.h b/contiki-cpc/contiki-cpc/ctk/conio.h
deleted file mode 100644
index e8c3cdb..0000000
--- a/contiki-cpc/contiki-cpc/ctk/conio.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- CONIO.H - Console I/O library for the Amsrad CPC
- To use with the Small Devices C Compiler
- CONIO.H is a implementation of the Contiki CONIO.H (Derived from the borland CONIO.H)
-
- 2003 H. Hansen
-*/
-
-#ifndef __conio_h__
-#define __conio_h__
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "arch.h"
-
-#define CH_ULCORNER 0x096
-#define CH_URCORNER 0x09c
-#define CH_LLCORNER 0x093
-#define CH_LRCORNER 0x099
-
-void clrscr (void);
-
-unsigned char kbhit (void);
-
-void gotox (unsigned char x);
-
-void gotoy (unsigned char y);
-
-void gotoxy (unsigned char x, unsigned char y);
-
-unsigned char wherex (void);
-
-unsigned char wherey (void);
-
-void cputc (char c);
-
-void cputcxy (unsigned char x, unsigned char y, char c);
-
-void cputs (char* s);
-
-char cgetc (void);
-
-void revers ();
-
-void textcolor (unsigned char color);
-
-void bgcolor (unsigned char color);
-
-void bordercolor (unsigned char color);
-
-void chline (unsigned char length);
-
-void chlinexy (unsigned char x, unsigned char y, unsigned char length);
-
-void cvline (unsigned char length);
-
-void cvlinexy (unsigned char x, unsigned char y, unsigned char length);
-
-void cclear (unsigned char length);
-
-void cclearxy (unsigned char x, unsigned char y, unsigned char length);
-
-void screensize (unsigned char* x, unsigned char* y);
-
-#endif /* __conio_h__ */
-
diff --git a/contiki-cpc/contiki-cpc/ctk/ctk-arch.h b/contiki-cpc/contiki-cpc/ctk/ctk-arch.h
deleted file mode 100644
index b043013..0000000
--- a/contiki-cpc/contiki-cpc/ctk/ctk-arch.h
+++ /dev/null
@@ -1,58 +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. 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 "ctk" console GUI toolkit for cc65
- *
- * $Id: ctk-arch.h,v 1.1 2006/04/17 15:11:47 kthacker Exp $
- *
- */
-
-#ifndef __CTK_ARCH_H__
-#define __CTK_ARCH_H__
-
-#if CTK_HIRES
-#include "ctk-hires.h"
-#endif
-
-#if CTK_CONIO
-#include "ctk-conio.h"
-#endif
-
-#if CTK_VNCSERVER
-#include "ctk-vncarch.h"
-#endif
-
-#include <ctype.h>
-
-//#define ctk_arch_isprint(c) isprint(c)
-
-#include "ctk-arch2.h"
-
-
-#endif /* __CTK_ARCH_H__ */
diff --git a/contiki-cpc/contiki-cpc/ctk/ctk-arch2.h b/contiki-cpc/contiki-cpc/ctk/ctk-arch2.h
deleted file mode 100644
index 1d39254..0000000
--- a/contiki-cpc/contiki-cpc/ctk/ctk-arch2.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*#include "fire.h"*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-//char *strncpy(char *, const char *, unsigned int);
-
-//typedef char ctk_arch_key_t;
-
-#define ctk_arch_keyavail kbhit
-#define ctk_arch_getkey cgetc
-
-// have to undefine because of it being defined in
-// ctk-conio.h
-#undef CH_ENTER
-#undef CH_F1
-#undef CH_F3
-#undef CH_CURS_LEFT
-#undef CH_CURS_RIGHT
-
-#define CH_ENTER 0x0d
-#define CH_STOP 0x01b
-#define CH_F1 0x031
-#define CH_F2 0x032
-#define CH_F3 0x033
-#define CH_F4 0x034
-#define CH_F5 0x035
-#define CH_F6 0x036
-#define CH_F7 0x037
-#define CH_DEL 0x07f
-#define CH_TAB 0x09
-#define CH_CURS_LEFT 0x0f2
-#define CH_CURS_DOWN 0x0f1
-#define CH_CURS_RIGHT 0x0f3
-#define CH_CURS_UP 0x0f0
-
-#define CH_ESC CH_STOP
-
diff --git a/contiki-cpc/contiki-cpc/ctk/ctk-conf.h.old b/contiki-cpc/contiki-cpc/ctk/ctk-conf.h.old
deleted file mode 100644
index 84666d0..0000000
--- a/contiki-cpc/contiki-cpc/ctk/ctk-conf.h.old
+++ /dev/null
@@ -1,106 +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 "ctk" console GUI toolkit for cc65
- *
- * $Id: ctk-conf.h.old,v 1.1 2006/04/17 15:11:47 kthacker Exp $
- *
- */
-
-#ifndef __CTK_CONF_H__
-#define __CTK_CONF_H__
-
-//typedef char ctk_arch_key_t;
-
-#define ctk_arch_keyavail kbhit
-#define ctk_arch_getkey cgetc
-
-#undef CH_ENTER
-#define CH_ENTER 0x0d
-#define CH_STOP 0x01b
-#define CH_F1 0x031
-#define CH_F3 0x033
-#define CH_F5 0x035
-#define CH_F7 0x037
-#define CH_DEL 0x07f
-
-#define CH_CURS_LEFT 0x0f2
-#define CH_CURS_DOWN 0x0f1
-#define CH_CURS_RIGHT 0x0f3
-#define CH_CURS_UP 0x0f0
-
-#define CH_ESC 0x01b
-
-/*
- * This file is used for setting various compile time settings for the
- * CTK GUI toolkit.
-*/
-
-/* Defines which key that is to be used for activating the menus */
-#define CTK_CONF_MENU_KEY CH_F1
-
-/* Defines which key that is to be used for switching the frontmost
- 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 /* 1342 bytes */
-
-/* Toggles support for desktop icons. */
-#define CTK_CONF_ICONS 1 /* 107 bytes */
-
-/* Toggles support for movable windows. */
-#define CTK_CONF_WINDOWMOVE 1 /* 333 bytes */
-
-/* Toggles support for closable windows. */
-#define CTK_CONF_WINDOWCLOSE 1 /* 14 bytes */
-
-/* Toggles support for multiline text entry editing. */
-#define CTK_CONF_TEXTENTRY_MULTILINE 0 /* 118 bytes */
-
-/* Toggles support for menus. */
-#define CTK_CONF_MENUS 1 /* 1384 bytes */
-
-/* Defines the default width of a menu. */
-#define CTK_CONF_MENUWIDTH 16
-/* The maximum number of menu items in each menu. */
-#define CTK_CONF_MAXMENUITEMS 10
-
-/* Toggles support for screen savers. */
-#define CTK_CONF_SCREENSAVER 0
-
-#endif /* __CTK_CONF_H__ */
diff --git a/contiki-cpc/contiki-cpc/ctk/ctk-conio-conf.h b/contiki-cpc/contiki-cpc/ctk/ctk-conio-conf.h
deleted file mode 100644
index 89c47c5..0000000
--- a/contiki-cpc/contiki-cpc/ctk/ctk-conio-conf.h
+++ /dev/null
@@ -1,69 +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 "ctk" console GUI toolkit for cc65
- *
- * $Id: ctk-conio-conf.h,v 1.1 2006/04/17 15:11:47 kthacker Exp $
- *
- */
-
-#ifndef __CTK_CONIO_CONF_H__
-#define __CTK_CONIO_CONF_H__
-
-/* Black and white monocrome color scheme: */
-#define BORDERCOLOR 0
-#define SCREENCOLOR 0
-
-#define BACKGROUNDCOLOR 0
-
-
-#define WINDOWCOLOR_FOCUS 1 /* colour of window which has focus */
-#define WINDOWCOLOR 2 /* colour of window which doesn't have focus */
-
-#define DIALOGCOLOR 1
-
-#define WIDGETCOLOR_HLINK 3
-#define WIDGETCOLOR_FWIN 2 /* colour of widget */
-#define WIDGETCOLOR 2
-#define WIDGETCOLOR_DIALOG 2
-#define WIDGETCOLOR_FOCUS 3 /* colour of widge which has focus */
-
-// 0 = blue
-// 1 = yellow
-// 2 = cyan
-// 3 = red
-
-#define MENUCOLOR 2
-#define OPENMENUCOLOR 1
-#define ACTIVEMENUITEMCOLOR 3
-
-#endif
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-80col-asm.S b/contiki-cpc/contiki-cpc/ctk/unused/ctk-80col-asm.S
deleted file mode 100644
index 4df6cad..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-80col-asm.S
+++ /dev/null
@@ -1,986 +0,0 @@
-
-;---------------------------------------------------------------------
- .importzp ptr1, ptr2, ptr3, ptr4, sreg
- .importzp sp
-
- .import pushax
- .import incsp2
-
- .import _ctk_80col_screencolors
- .import _ctk_80col_screenpattern
-
- .import _ctk_80col_lefttab
- .import _ctk_80col_righttab
-
- .import _ctk_80col_cursx
- .import _ctk_80col_cursy
- .import _ctk_80col_color
- .import _ctk_80col_underline
- .import _ctk_80col_reversed
-
- .import _ctk_80col_yscreenaddr
- .import _ctk_80col_yhiresaddr
-
- .import _ctk_80col_windowparams
-
- .import _ctk_80col_bitmapptr
-
- .import _ctk_80col_versionstring
- .import _ctk_80col_versionstring_len
-
- .import _ctk_80col_theme
-
- .export _ctk_80col_cclear
- .export _ctk_80col_chline
- .export _ctk_80col_cputc
- .export _ctk_80col_cputsn
-
- .export _ctk_80col_clear_line
- .export _ctk_80col_draw_bitmapline
-
- .export _ctk_80col_draw_windowborders
-
-;---------------------------------------------------------------------
-
-ptr5 = sreg
-
- ;; Offsets in the theme struct
-
- ulcornerpattern = 8
- titlebarpattern = ulcornerpattern+8
- urcornerpattern = titlebarpattern+8
- rborderpattern = urcornerpattern+8
- lrcornerpattern = rborderpattern+8
- lowerborderpattern = lrcornerpattern+8
- llcornerpattern = lowerborderpattern+8
- lborderpattern = llcornerpattern+8
-
-
- buttonleftpattern = lborderpattern+8
- buttonrightpattern = buttonleftpattern+8
-
-
-.bss
-tmp01: .res 1
-tmpl: .res 1
-tmpf: .res 1
-tmpc: .res 1
-tmpw: .res 1
-tmpptr: .res 2
-
-tmpy: .res 1
-tmph: .res 1
-
- ;; Window border parameters
-w: .res 1
-wpw = 0
-h: .res 1
-wph = 1
-clipy1: .res 1
-wpclipy1 = 2
-clipy2: .res 1
-wpclipy2 = 3
-color1: .res 1
-wpcolor1 = 4
-color2: .res 1
-wpcolor2 = 5
-titlecolor: .res 1
-wptitlecolor = 6
-titlelen: .res 1
-wptitlelen = 7
-title: .res 2
-wptitle = 8
-
-;---------------------------------------------------------------------
-.data
-;---------------------------------------------------------------------
-.code
-setupptrs:
- ;; Find hires address.
- lda _ctk_80col_cursy
- asl
- tax
- lda _ctk_80col_yhiresaddr,x
- sta ptr2
- lda _ctk_80col_yhiresaddr+1,x
- sta ptr2+1
-
- ;; Add X coordinate to the hires address.
- lda #0
- sta ptr1+1
- lda _ctk_80col_cursx
- asl
- rol ptr1+1
-; asl
-; rol ptr1+1
- asl
- rol ptr1+1
- clc
- adc ptr2
- and #$f8
- sta ptr2
- lda ptr2+1
- adc ptr1+1
- sta ptr2+1
-
- ;; Find screen address.
- lda _ctk_80col_cursy
- asl
- tax
- lda _ctk_80col_cursx
- lsr
- clc
- adc _ctk_80col_yscreenaddr,x
- sta ptr1
- lda _ctk_80col_yscreenaddr+1,x
- adc #0
- sta ptr1+1
-
- ;; Turn off interrupts, prepare $01 to store color data in RAM
- ;; under I/O area.
- sei
- lda $01
- sta tmp01
- and #$f8
- sta $01
- rts
-;---------------------------------------------------------------------
-restore01:
- lda tmp01
- sta $01
- cli
- rts
-;---------------------------------------------------------------------
-_ctk_80col_cclear:
- sta tmpl
- cmp #0
- bne @norts
- rts
-@norts:
-
- jsr setupptrs
-
- ldy tmpl
- lda _ctk_80col_color
-:
- sta (ptr1),y
- dey
- bpl :-
-
- ;; Store either $00 or $ff in hires memory, depending on the
- ;; reversed flag
-
- ldx tmpl
- lda _ctk_80col_reversed
- beq @noff
- lda #$ff
-@noff:
- sta tmpf
-
-
-@loop1:
- ldy #7
- lda tmpf
-@loop2:
- sta (ptr2),y
- dey
- bpl @loop2
-
- lda ptr2
- clc
- adc #8
- sta ptr2
- bcc @noinc
- inc ptr2+1
-@noinc:
-
- inc _ctk_80col_cursx
-
- dex
- bpl @loop1
-
- jmp restore01
-;---------------------------------------------------------------------
-_ctk_80col_chline:
- sta tmpl
- cmp #0
- bne @norts
- rts
-@norts:
-
- jsr setupptrs
-
- ;; Store horizontal line pattern in hires memory
- ldx tmpl
-@loop1:
- ldy #0
- lda #$00
- sta (ptr2),y
- iny
- lda #$00
- sta (ptr2),y
- iny
- lda #$00
- sta (ptr2),y
- iny
- lda #$ff
- sta (ptr2),y
- iny
- lda #$ff
- sta (ptr2),y
- iny
- lda #$00
- sta (ptr2),y
- iny
- lda #$00
- sta (ptr2),y
- iny
- lda #$00
- sta (ptr2),y
-
-
- lda ptr2
- clc
- adc #8
- sta ptr2
- bcc @noinc
- inc ptr2+1
-@noinc:
-
- inc _ctk_80col_cursx
-
- dex
- bne @loop1
-
- jmp restore01
-;---------------------------------------------------------------------
-_ctk_80col_cputc:
- sta tmpc
-
- jsr setupptrs
-
- ;; Turn on font ROM
- lda tmp01
- and #$f8
- ora #$01
- sta $01
-
- lda #0
- sta ptr1+1
-
- ;; Convert from PETSCII to screen encoding
- lda tmpc
- eor #$e0
- clc
- adc #$20
- bpl @cont
- adc #$40
- bpl @cont
- eor #$a0
-@cont:
- ldx _ctk_80col_reversed
- beq :+
- eor #$80
-:
-
- ;; Convert to address in character ROM
- asl
- rol ptr1+1
- asl
- rol ptr1+1
- asl
- rol ptr1+1
- sta ptr1
- lda #$d8
- adc ptr1+1
- sta ptr1+1
-
- lda _ctk_80col_cursx
- and #1
- beq @left
-
- ;; Print on hires screen, bottom-up. If we should underline,
- ;; we do this by eor:ing the bottom line with #$ff
- ldy #7
- lda (ptr1),y
- ldx _ctk_80col_underline
- beq @rightnounderline
- eor #$ff
-@rightnounderline:
- tax
- lda (ptr2),y
- and #$f0
- ora _ctk_80col_righttab,x
- sta (ptr2),y
- dey
-@rightloop:
- lda (ptr1),y
- tax
- lda (ptr2),y
- and #$f0
- ora _ctk_80col_righttab,x
- sta (ptr2),y
- dey
- bpl @rightloop
-
- inc _ctk_80col_cursx
-
- jmp restore01
-
-@left:
- ;; Print on hires screen, bottom-up. If we should underline,
- ;; we do this by eor:ing the bottom line with #$ff
- ldy #7
- lda (ptr1),y
- ldx _ctk_80col_underline
- beq @nounderline
- eor #$ff
-@nounderline:
- tax
- lda (ptr2),y
- and #$0f
- ora _ctk_80col_lefttab,x
- sta (ptr2),y
- dey
-@loop:
- lda (ptr1),y
- tax
- lda (ptr2),y
- and #$0f
- ora _ctk_80col_lefttab,x
- sta (ptr2),y
- dey
- bpl @loop
-
-
-
- inc _ctk_80col_cursx
-
- jmp restore01
-;---------------------------------------------------------------------
-_ctk_80col_cputsn:
- sta tmpl
- cmp #0
- bne :+
- jmp incsp2
-:
-
- jsr setupptrs
-
- ;; Turn on font ROM
- lda tmp01
- and #$f8
- ora #$01
- sta $01
-
- ;; Output each character from the string
- lda #0
- sta tmpc
- ldy #0
- lda (sp),y
- sta ptr3
- iny
- lda (sp),y
- sta ptr3+1
-
-@loop1:
-
-
- lda #0
- sta ptr1+1
-
- ldy tmpc
- lda (ptr3),y
- bne :+
- jmp @end
-:
-
- ;; Convert from PETSCII to screen encoding
- eor #$e0
- clc
- adc #$20
- bpl @cont
- adc #$40
- bpl @cont
- eor #$a0
-@cont:
- ldx _ctk_80col_reversed
- beq :+
- eor #$80
-:
-
- ;; Convert to address in character ROM
- asl
- rol ptr1+1
- asl
- rol ptr1+1
- asl
- rol ptr1+1
- sta ptr1
- lda #$d8
- adc ptr1+1
- sta ptr1+1
-
- lda _ctk_80col_cursx
- and #1
- beq @left
-
- ;; Print on hires screen, bottom-up. If we should underline,
- ;; we do this by eor:ing the bottom line with #$ff
- ldy #7
- lda (ptr1),y
- ldx _ctk_80col_underline
- beq @rightnounderline
- eor #$ff
-@rightnounderline:
- tax
- lda (ptr2),y
- and #$f0
- ora _ctk_80col_righttab,x
- sta (ptr2),y
- dey
-@rightloop:
- lda (ptr1),y
- tax
- lda (ptr2),y
- and #$f0
- ora _ctk_80col_righttab,x
- sta (ptr2),y
- dey
- bpl @rightloop
-
-
- lda ptr2
- clc
- adc #8
- sta ptr2
- bcc :+
- inc ptr2+1
-:
-
- inc _ctk_80col_cursx
-
- jmp @loopend
-
-@left:
- ;; Print on hires screen, bottom-up. If we should underline,
- ;; we do this by eor:ing the bottom line with #$ff
- ldy #7
- lda (ptr1),y
- ldx _ctk_80col_underline
- beq @nounderline
- eor #$ff
-@nounderline:
- tax
- lda (ptr2),y
- and #$0f
- ora _ctk_80col_lefttab,x
- sta (ptr2),y
- dey
-@loop:
- lda (ptr1),y
- tax
- lda (ptr2),y
- and #$0f
- ora _ctk_80col_lefttab,x
- sta (ptr2),y
- dey
- bpl @loop
-
- inc _ctk_80col_cursx
-@loopend:
- inc tmpc
- lda tmpc
- cmp tmpl
- beq :+
- jmp @loop1
-:
-
-@end:
- jsr restore01
-
- jmp incsp2
-;---------------------------------------------------------------------
-_ctk_80col_clear_line:
- sta tmpl
- asl
- tax
- lda _ctk_80col_yscreenaddr,x
- sta ptr1
- lda _ctk_80col_yscreenaddr+1,x
- sta ptr1+1
- lda _ctk_80col_yhiresaddr,x
- sta ptr2
- lda _ctk_80col_yhiresaddr+1,x
- sta ptr2+1
-
- sei
- lda $01
- sta tmp01
- and #$f8
- sta $01
-
- ldy #39
- ldx tmpl
- lda _ctk_80col_screencolors,x
-:
- sta (ptr1),y
- dey
- bpl :-
-
- lda tmpl
- asl
- asl
- asl
- tax
- ldy #0
-:
- lda _ctk_80col_screenpattern,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+1,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+2,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+3,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+4,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+5,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+6,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+7,x
- sta (ptr2),y
- iny
- bne :-
-
- inc ptr2+1
-
-:
- lda _ctk_80col_screenpattern,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+1,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+2,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+3,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+4,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+5,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+6,x
- sta (ptr2),y
- iny
- lda _ctk_80col_screenpattern+7,x
- sta (ptr2),y
- iny
- cpy #$40
- bne :-
-
- lda tmpl
- cmp #24
- bne :+
-
- sta _ctk_80col_cursy
- lda #2
- sta _ctk_80col_cursx
-
- jsr restore01
-
- lda #<_ctk_80col_versionstring
- ldx #>_ctk_80col_versionstring
- jsr pushax
- lda _ctk_80col_versionstring_len
- jmp _ctk_80col_cputsn
-:
- jmp restore01
-;---------------------------------------------------------------------
-_ctk_80col_draw_bitmapline:
- sta tmpl
- cmp #0
- bne :+
- rts
-:
-
- jsr setupptrs
-
- ldy #0
- lda _ctk_80col_color
-:
- sta (ptr1),y
- iny
- cpy tmpl
- bne :-
-
- lda _ctk_80col_bitmapptr
- sta ptr1
- lda _ctk_80col_bitmapptr+1
- sta ptr1+1
-
- ldy #0
- ldx #0
-:
- lda (ptr1),y
- sta (ptr2),y
- iny
- inx
- cpx #8
- bne :-
-
- ldx #0
-
- dec tmpl
- bne :-
-
- jmp restore01
-;---------------------------------------------------------------------
-_ctk_80col_draw_windowborders:
-
- jsr setupptrs
-
- lda _ctk_80col_windowparams + wpclipy1
- beq :+
- jmp @nofirstline
-:
-
- ;; Draw first line of the border, including the window title
-
- ;; Start with filling color memory
- lda _ctk_80col_windowparams + wpw
- sta tmpw
-
-
- ldy #0
- lda _ctk_80col_windowparams + wptitlecolor
-:
- sta (ptr1),y
- iny
- cpy tmpw
- bcc :-
-
- dec tmpw
-
- ;; Set color for upper right corner
- sta (ptr1),y
- iny
- sta (ptr1),y
-
-
- ;; Turn on font ROM for drawing the title
- lda tmp01
- and #$f8
- ora #$01
- sta $01
-
- ;; Use a temporary pointer (ptr3) rather than ptr2 so we can
- ;; reuse it later.
- lda ptr2
- sta ptr3
- lda ptr2+1
- sta ptr3+1
-
- ;; Draw upper left corner
- ldy #7
-:
- lda _ctk_80col_theme+ulcornerpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
- lda ptr3
- clc
- adc #$8
- sta ptr3
- bcc :+
- inc ptr3+1
-:
-
-
- ;; Draw window title bar pattern
-@titlebarloop:
- ldy #7
-:
- lda _ctk_80col_theme+titlebarpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
- lda ptr3
- clc
- adc #$8
- sta ptr3
- bcc :+
- inc ptr3+1
-:
- ;; Loop until we are three characters away from right border
- ;; to avoid flickering since we would be overwriting the close
- ;; button.
- dec tmpw
- bpl @titlebarloop
-
- ;; Draw upper right corner piece
- ldy #7
-:
- lda _ctk_80col_theme+urcornerpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
-
-@nofirstline:
-
-
- ldx _ctk_80col_windowparams + wph
- inx
- stx tmph
-
- ;; Draw left and right borders
-
- ;; Fill color memory (pointer in ptr1, setup by setupptrs)
-
- ;; First check how much we actually should draw by inspecting
- ;; the clipy1 and clipy2 fields in the _ctk_80col_windowparams
- ;; structure
-
- lda #1
- sta tmpy
-
- ldx _ctk_80col_windowparams + wpclipy1
-@clipy1loop:
- cpx #0
- beq @clipy1loopend
- lda ptr1
- clc
- adc #$28
- sta ptr1
- bcc :+
- inc ptr1+1
-:
- lda ptr3
- clc
- adc #$40
- sta ptr3
- lda ptr3+1
- adc #1
- sta ptr3+1
-
- inc tmpy
-
- dex
- jmp @clipy1loop
-@clipy1loopend:
-
- lda ptr1
- clc
- adc #$28
- sta ptr1
- bcc :+
- inc ptr1+1
-:
-
- ldx tmpy
- ldy _ctk_80col_windowparams + wpw
- iny
- sty tmpw
-@bordercloop:
- cpx _ctk_80col_windowparams + wpclipy2
- beq @bordercloopend
-
- ldy tmpw
- lda _ctk_80col_windowparams + wpcolor2
- sta (ptr1),y
- ldy #0
- lda _ctk_80col_windowparams + wpcolor1
- sta (ptr1),y
-
- lda ptr1
- clc
- adc #$28
- sta ptr1
- bcc :+
- inc ptr1+1
-:
-
- inx
- cpx tmph
- bcc @bordercloop
- beq @bordercloop
-@bordercloopend:
-
-
- ;; Fill color memory for lower border, if clipy2 allows
- cpx _ctk_80col_windowparams + wpclipy2
- beq @noclowerborder
-
- lda ptr1
- sec
- sbc #$28
- sta ptr1
- bcs :+
- dec ptr1+1
-:
-
- ldy _ctk_80col_windowparams + wpw
- lda _ctk_80col_windowparams + wpcolor2
-@lbordercloop:
- sta (ptr1),y
- dey
- bne @lbordercloop
-
-@noclowerborder:
-
- ;; Draw right border
- ldx tmpy
-@rborderloop:
- cpx _ctk_80col_windowparams + wpclipy2
- beq @rborderloopend
-
- lda ptr3
- clc
- adc #$40
- sta ptr3
- lda ptr3+1
- adc #1
- sta ptr3+1
-
- ldy #7
-:
- lda _ctk_80col_theme+rborderpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
- inx
- cpx tmph
- bne @rborderloop
-@rborderloopend:
-
- cpx _ctk_80col_windowparams + wpclipy2
- beq @norbordercorner
-
- lda ptr3
- clc
- adc #$40
- sta ptr3
- lda ptr3+1
- adc #1
- sta ptr3+1
-
- ;; Draw lower right corner, if clipy2 allows it
- ldy #7
-:
- lda _ctk_80col_theme+lrcornerpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
-@norbordercorner:
-
- stx tmpy
-
- ;; Draw lower border
- ldx _ctk_80col_windowparams + wpw
-
-@lowerborderloop:
- lda ptr3
- sec
- sbc #$8
- sta ptr3
- bcs :+
- dec ptr3+1
-:
-
- lda tmpy
- cmp _ctk_80col_windowparams + wpclipy2
- beq @nolowerborder
-
- ldy #7
-:
- lda _ctk_80col_theme+lowerborderpattern,y
- sta (ptr3),y
- dey
- bpl :-
-@nolowerborder:
-
- dex
- bne @lowerborderloop
-
- lda ptr3
- sec
- sbc #$8
- sta ptr3
- bcs :+
- dec ptr3+1
-:
-
-
- ldx tmpy
- cpx tmph
- bne @nolbordercorner
-
- ;; Draw lower left corner, if clipy2 allows it
- ldy #7
-:
- lda _ctk_80col_theme+llcornerpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
- lda ptr3
- sec
- sbc #$40
- sta ptr3
- lda ptr3+1
- sbc #1
- sta ptr3+1
-
-@nolbordercorner:
-
- ;; Draw left border
-
-
-
-@lborderloop:
- cpx #1
- beq @lborderloopend
- cpx _ctk_80col_windowparams + wpclipy1
- bcc @lborderloopend
-
- ldy #7
-:
- lda _ctk_80col_theme+lborderpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
- lda ptr3
- sec
- sbc #$40
- sta ptr3
- lda ptr3+1
- sbc #1
- sta ptr3+1
-
- dex
- jmp @lborderloop
-
-@lborderloopend:
-
-
- jmp restore01
-;---------------------------------------------------------------------
-
\ No newline at end of file
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-80col-asm.h b/contiki-cpc/contiki-cpc/ctk/unused/ctk-80col-asm.h
deleted file mode 100644
index 21787d4..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-80col-asm.h
+++ /dev/null
@@ -1,73 +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. 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 "ctk" console GUI toolkit for cc65
- *
- * $Id: ctk-80col-asm.h,v 1.1 2006/04/17 15:11:47 kthacker Exp $
- *
- */
-
-#ifndef __CTK_80COL_ASM_H__
-#define __CTK_80COL_ASM_H__
-
-void __fastcall__ ctk_80col_cclear(unsigned char len);
-void __fastcall__ ctk_80col_chline(unsigned char len);
-void __fastcall__ ctk_80col_cputc(unsigned char c);
-void __fastcall__ ctk_80col_cputsn(unsigned char *str,
- unsigned char len);
-
-void ctk_80col_draw_buttonleft(void);
-void ctk_80col_draw_buttonright(void);
-
-struct ctk_80col_windowparams {
- unsigned char w;
- unsigned char h;
- unsigned char clipy1;
- unsigned char clipy2;
- unsigned char color1;
- unsigned char color2;
- unsigned char titlecolor;
- unsigned char titlelen;
- char *title;
-};
-extern struct ctk_80col_windowparams ctk_80col_windowparams;
-void ctk_80col_draw_windowborders(void);
-
-extern unsigned char ctk_80col_cursx,
- ctk_80col_cursy,
- ctk_80col_color,
- ctk_80col_reversed,
- ctk_80col_underline;
-
-
-void __fastcall__ ctk_80col_draw_bitmapline(unsigned char len);
-
-void __fastcall__ ctk_80col_clear_line(unsigned char len);
-
-#endif /* __CTK_80COL_ASM_H__ */
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-80col-theme.h b/contiki-cpc/contiki-cpc/ctk/unused/ctk-80col-theme.h
deleted file mode 100644
index ffc168c..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-80col-theme.h
+++ /dev/null
@@ -1,83 +0,0 @@
- /*
- * Copyright (c) 2003, 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. 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 OS for the C64
- *
- * $Id: ctk-80col-theme.h,v 1.1 2006/04/17 15:11:48 kthacker Exp $
- *
- */
-#ifndef __CTK_80COL_THEME_H__
-#define __CTK_80COL_THEME_H__
-
-struct ctk_80col_theme {
- /* Version string. */
- char version[8];
-
- /* Window borders patterns. */
- unsigned char ulcorner[8], /* Upper left corner. */
- titlebar[8], /* Title bar pattern. */
- urcorner[8], /* Upper right corner. */
- rightborder[8], /* Right border. */
- lrcorner[8], /* Lower right corner. */
- lowerborder[8], /* Lower border. */
- llcorner[8], /* Lower left corner. */
- leftborder[8]; /* Left border. */
-
- /* Button corner patterns. */
- unsigned char buttonleftpattern[8],
- buttonrightpattern[8];
-
- /* Menu border patterns. */
- unsigned char menuleftpattern[8],
- menurightpattern[8];
-
-
-
- /* Window and widget colors. */
- unsigned char windowcolors[6],
- separatorcolors[6],
- labelcolors[6],
- buttoncolors[6],
- hyperlinkcolors[6],
- textentrycolors[6],
- bitmapcolors[6],
- textmapcolors[6],
- iconcolors[6];
-
- /* Menu colors. */
- unsigned char menucolor,
- openmenucolor,
- activemenucolor;
-
-};
-
-extern struct ctk_80col_theme ctk_80col_theme;
-extern struct ctk_80col_theme *ctk_80col_theme_ptr;
-
-#endif /* __CTK_80COL_THEME_H__ */
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-80col.c b/contiki-cpc/contiki-cpc/ctk/unused/ctk-80col.c
deleted file mode 100644
index fc7d5f6..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-80col.c
+++ /dev/null
@@ -1,1200 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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: Adam Dunkels <adam@sics.se>
- *
- * $Id: ctk-80col.c,v 1.2 2006/05/28 20:42:34 oliverschmidt Exp $
- */
-
-#include "contiki.h"
-
-#include "ctk.h"
-#include "ctk-draw.h"
-#include "ctk-draw-service.h"
-
-#include "ctk-80col-asm.h"
-
-#include "ctk-80col-theme.h"
-
-#include <string.h>
-
-unsigned char ctk_80col_cursx, ctk_80col_cursy;
-unsigned char ctk_80col_reversed;
-unsigned char ctk_80col_color;
-unsigned char *ctk_80col_bitmapptr;
-unsigned char ctk_80col_underline = 0;
-
-#define SCREEN_HEIGHT 25
-#define SCREEN_WIDTH 80
-
-#define SCREENADDR 0xdc00
-#define HIRESADDR 0xe000
-
-unsigned char ctk_80col_lefttab[256];
-unsigned char ctk_80col_righttab[256];
-
-#define COLOR(bg, fg) ((fg << 4) | (bg))
-
-#define COLOR_DIALOG 0x01
-#define COLOR_FOCUS_WINDOW 0xbf
-#define COLOR_BACKGROUND_WINDOW 0x0c
-
-#define color(c) ctk_80col_color = c
-
-#define BGCOLOR1 7
-#define BGCOLOR2 10
-#define BGCOLOR3 4
-#define BGCOLOR4 6
-
-unsigned char ctk_80col_screencolors[25] =
- {COLOR(BGCOLOR4,BGCOLOR1),
- COLOR(BGCOLOR2,BGCOLOR1),
- COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
- COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
- COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
- COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
- COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
- COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
- COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
- COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
- COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
- COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
- COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
- COLOR(BGCOLOR4,1)};
-
-unsigned char ctk_80col_screenpattern[25*8] =
- {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xdd,0xff,0x77,0xff,0xdd,0xff,0x77,
- 0xff,0x55,0xff,0x55,0xff,0x55,0xff,0x55,
- 0xee,0x55,0xbb,0x55,0xee,0x55,0xbb,0x55,
- 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
- 0xaa,0x44,0xaa,0x11,0xaa,0x44,0xaa,0x11,
- 0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,
- 0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xdd,0xff,0x77,0xff,0xdd,0xff,0x77,
- 0xff,0x55,0xff,0x55,0xff,0x55,0xff,0x55,
- 0xee,0x55,0xbb,0x55,0xee,0x55,0xbb,0x55,
- 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
- 0xaa,0x44,0xaa,0x11,0xaa,0x44,0xaa,0x11,
- 0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,
- 0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xdd,0xff,0x77,0xff,0xdd,0xff,0x77,
- 0xff,0x55,0xff,0x55,0xff,0x55,0xff,0x55,
- 0xee,0x55,0xbb,0x55,0xee,0x55,0xbb,0x55,
- 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
- 0xaa,0x44,0xaa,0x11,0xaa,0x44,0xaa,0x11,
- 0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,
- 0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
-
-unsigned short ctk_80col_yscreenaddr[25] =
- {0 * 40 + SCREENADDR, 1 * 40 + SCREENADDR,
- 2 * 40 + SCREENADDR, 3 * 40 + SCREENADDR,
- 4 * 40 + SCREENADDR, 5 * 40 + SCREENADDR,
- 6 * 40 + SCREENADDR, 7 * 40 + SCREENADDR,
- 8 * 40 + SCREENADDR, 9 * 40 + SCREENADDR,
- 10 * 40 + SCREENADDR, 11 * 40 + SCREENADDR,
- 12 * 40 + SCREENADDR, 13 * 40 + SCREENADDR,
- 14 * 40 + SCREENADDR, 15 * 40 + SCREENADDR,
- 16 * 40 + SCREENADDR, 17 * 40 + SCREENADDR,
- 18 * 40 + SCREENADDR, 19 * 40 + SCREENADDR,
- 20 * 40 + SCREENADDR, 21 * 40 + SCREENADDR,
- 22 * 40 + SCREENADDR, 23 * 40 + SCREENADDR,
- 24 * 40 + SCREENADDR};
-
-unsigned short ctk_80col_yhiresaddr[25] =
- {0 * 320 + HIRESADDR, 1 * 320 + HIRESADDR,
- 2 * 320 + HIRESADDR, 3 * 320 + HIRESADDR,
- 4 * 320 + HIRESADDR, 5 * 320 + HIRESADDR,
- 6 * 320 + HIRESADDR, 7 * 320 + HIRESADDR,
- 8 * 320 + HIRESADDR, 9 * 320 + HIRESADDR,
- 10 * 320 + HIRESADDR, 11 * 320 + HIRESADDR,
- 12 * 320 + HIRESADDR, 13 * 320 + HIRESADDR,
- 14 * 320 + HIRESADDR, 15 * 320 + HIRESADDR,
- 16 * 320 + HIRESADDR, 17 * 320 + HIRESADDR,
- 18 * 320 + HIRESADDR, 19 * 320 + HIRESADDR,
- 20 * 320 + HIRESADDR, 21 * 320 + HIRESADDR,
- 22 * 320 + HIRESADDR, 23 * 320 + HIRESADDR,
- 24 * 320 + HIRESADDR};
-
-
-struct ctk_80col_theme ctk_80col_theme =
- {
- /* Version string. */
- /* char version[8]; */
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
-
- /* Window borders patterns. */
- /* unsigned char ulcorner[8], */ /* Upper left corner. */
- {0xff,0xc0,0x80,0xbf,0x80,0xbf,0x80,0x80},
-
- /* titlebar[8], */ /* Title bar pattern. */
- {0xff,0x00,0x00,0xff,0x00,0xff,0x00,0x00},
-
- /* urcorner[8], */ /* Upper right corner. */
- {0xff,0x03,0x01,0xfd,0x01,0xfd,0x01,0x01},
-
- /* rightborder[8], */ /* Right border. */
- {0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},
-
- /* lrcorner[8], */ /* Lower right corner. */
- {0x01,0x01,0x01,0x01,0x01,0x01,0x03,0xff},
-
- /* lowerborder[8], */ /* Lower border. */
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff},
-
- /* llcorner[8], */ /* Lower left corner. */
- {0x80,0x80,0x80,0x80,0x80,0x80,0xc0,0xff},
-
- /* leftborder[8]; */ /* Left border. */
- {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},
-
- /* Button corner patterns. */
- /* unsigned char buttonleft[8], */
- {0xc5,0xdf,0xdf,0xdf,0xdf,0xdf,0xdf,0xdf},
-
- /* buttonright[8]; */
- {0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xa3},
-
- /* Menu border patterns. */
- /* unsigned char menuleftpattern[8], */
- {0x0f,0x3f,0x3f,0x7f,0x7f,0xff,0xff,0xff},
-
- /* menurightpatterns[8]; */
- {0xf0,0xfc,0xfc,0xfe,0xfe,0xff,0xff,0xff},
-
- /* Window and widget colors. */
- /* unsigned char windowcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_BLACK),
- COLOR(COLOR_GRAY2, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_GRAY1),
- COLOR(COLOR_GRAY3, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK)},
-
- /* separatorcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY3, COLOR_GRAY2),
- COLOR(COLOR_GRAY3, COLOR_GRAY2),
- COLOR(COLOR_WHITE, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_GRAY1)},
-
- /* labelcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK)},
-
- /* buttoncolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_GRAY3, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY3),
- COLOR(COLOR_GRAY3, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY3)},
-
- /* hyperlinkcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_LIGHTBLUE),
- COLOR(COLOR_GRAY2, COLOR_LIGHTBLUE),
- COLOR(COLOR_WHITE, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_WHITE),
- COLOR(COLOR_WHITE, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_WHITE)},
-
- /* textentrycolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK)},
-
- /* bitmapcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_GRAY1),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK)},
-
- /* textmapcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK)},
-
- /* iconcolors[6]; */
- {COLOR(COLOR_GRAY3, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_BLUE, COLOR_WHITE),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_BLACK, COLOR_YELLOW)},
-
- /* Menu colors. */
- /* unsigned char menucolor,*/
- COLOR(COLOR_YELLOW, COLOR_BLACK),
-
- /* openmenucolor, */
- COLOR(COLOR_WHITE, COLOR_BLACK),
-
- /* activemenucolor; */
- COLOR(COLOR_BLACK, COLOR_WHITE),
-
- };
-char ctk_80col_versionstring[] = CONTIKI_VERSION_STRING;
-char ctk_80col_versionstring_len = sizeof(CONTIKI_VERSION_STRING) - 1;
-
-struct ctk_80col_windowparams ctk_80col_windowparams;
-
-/*---------------------------------------------------------------------------*/
-/*void
-ctk_arch_draw_char(char c,
- unsigned char xpos,
- unsigned char ypos,
- unsigned char reversedflag,
- unsigned char color)
-{
- ctk_80col_cursx = xpos;
- ctk_80col_cursy = ypos;
- ctk_80col_reversed = reversedflag;
- ctk_80col_color = color;
-
- ctk_80col_cputc(c);
-}*/
-/*---------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-nmi2(void)
-{
- asm("pla");
- asm("sta $01");
- asm("pla");
- asm("rti");
-}
-#pragma optimize(pop)
-/*---------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-nmi(void)
-{
- asm("sei");
- asm("pha");
- asm("inc $d020");
- asm("lda $01");
- asm("pha");
- asm("lda #$36");
- asm("sta $01");
- asm("lda #>_nmi2");
- asm("pha");
- asm("lda #<_nmi2");
- asm("pha");
- asm("php");
- asm("jmp ($0318)");
-
- nmi2();
-}
-#pragma optimize(pop)
-/*---------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-setup_nmi(void)
-{
- asm("lda #<_nmi");
- asm("sta $fffa");
- asm("lda #>_nmi");
- asm("sta $fffb");
- return;
- nmi();
-}
-#pragma optimize(pop)
-/*---------------------------------------------------------------------------*/
-void reset(void);
-void
-quit(void)
-{
- VIC.ctrl1 = 0x1b; /* $D011 */
- VIC.addr = 0x17; /* $D018 */
- VIC.ctrl2 = 0xc8; /* $D016 */
- CIA2.pra = 0x03; /* $DD00 */
-
- VIC.bordercolor = 0x0e; /* $D020 */
- VIC.bgcolor0 = 0x06; /* $D021 */
-
- memset((char *)0xd800, 0x0e, 40*25);
-
-}
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-ctk_80col_init(void)
-{
- int i;
-
- setup_nmi();
-
- /* Turn on hires mode, bank 0 ($c000 - $ffff) and $e000/$c000 for
- hires/colors. */
- VIC.ctrl1 = 0x3b; /* $D011 */
- VIC.addr = 0x78; /* $D018 */
- VIC.ctrl2 = 0xc8; /* $D016 */
- CIA2.pra = 0x00; /* $DD00 */
-
- VIC.bordercolor = 0x06; /* $D020 */
- VIC.bgcolor0 = 0x0b; /* $D021 */
-
- /* Fill color memory. */
- asm("sei");
- asm("lda $01");
- asm("pha");
- asm("lda #$30");
- asm("sta $01");
- asm("ldx #0");
- asm("lda #$0");
- asm("fillcolorloop:");
- asm("sta $dc00,x");
- asm("sta $dd00,x");
- asm("sta $de00,x");
- asm("sta $df00,x");
- asm("inx");
- asm("bne fillcolorloop");
-
- /* Setup sprite pointers */
- asm("ldx #$fd");
- asm("stx $dff8");
- asm("inx");
- asm("stx $dff9");
- asm("pla");
- asm("sta $01");
- asm("cli");
-
- /* Fill hires memory with 0. */
-
- memset((char *)0xe000, 0, 8000);
-
- for(i = 0; i < 256; ++i) {
-#if 0
- ctk_80col_lefttab[i] =
- ((i & 0x40) << 1) |
- ((i & 0x20) << 1) |
- ((i & 0x08) << 2) |
- ((i & 0x02) << 3);
- ctk_80col_righttab[i] =
- ((i & 0x40) >> 3) |
- ((i & 0x20) >> 3) |
- ((i & 0x08) >> 2) |
- ((i & 0x02) >> 1);
-#else
- ctk_80col_lefttab[i] =
- ((i & 0x40) << 1) |
- ((i & 0x10) << 2) |
- ((i & 0x04) << 3) |
- ((i & 0x01) << 4);
- ctk_80col_righttab[i] =
- ((i & 0x40) >> 3) |
- ((i & 0x10) >> 2) |
- ((i & 0x04) >> 1) |
- ((i & 0x01));
-#endif
- }
-
-#if 0
- /* Setup mouse pointer sprite. */
- asm("lda %v+%w", ctk_80col_theme,
- offsetof(struct ctk_80col_theme, pointermaskcolor));
- asm("sta $d027");
- asm("lda %v+%w", ctk_80col_theme,
- offsetof(struct ctk_80col_theme, pointercolor));
- asm("sta $d028");
-
- ptr1 = ctk_80col_theme.pointer;
- ptr2 = (unsigned char *)0xff40;
-
- for(i = 0; i < 0x80; ++i) {
- *ptr2++ = *ptr1++;
- }
-#endif
- return;
-}
-#pragma optimize(pop)
-/*---------------------------------------------------------------------------*/
-/*static unsigned char cursx, cursy;
- static unsigned char reversed;*/
-
-/*-----------------------------------------------------------------------------------*/
-static void CC_FASTCALL
-cputc(char c)
-{
- /* ctk_arch_draw_char(c, cursx, cursy, reversed, 0);*/
- ctk_80col_cputc(c);
- /* ++cursx;*/
-}
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-wherex(void)
-{
- return ctk_80col_cursx;
-}
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-wherey(void)
-{
- return ctk_80col_cursy;
-}
-/*-----------------------------------------------------------------------------------*/
-/*void
-clrscr(void)
-{
- unsigned char x, y;
-
- for(x = 0; x < SCREEN_WIDTH; ++x) {
- for(y = 0; y < SCREEN_HEIGHT; ++y) {
- gotoxy(x, y);
- cputc(' ');
- }
- }
-}*/
-/*-----------------------------------------------------------------------------------*/
-#define revers(c) ctk_80col_reversed = c
-/*-----------------------------------------------------------------------------------*/
-static void CC_FASTCALL
-_cputs(char *str)
-{
- char *ptr = str;
-
- while(*ptr != 0) {
- cputc(*ptr++);
- }
-
- /* int i;
- for(i = 0; i < strlen(str); ++i) {
- cputc(str[i]);
- }*/
-}
-/*-----------------------------------------------------------------------------------*/
-static void CC_FASTCALL
-cclear(unsigned char length)
-{
- int i;
- for(i = 0; i < length; ++i) {
- cputc(' ');
- }
-}
-/*-----------------------------------------------------------------------------------*/
-void CC_FASTCALL
-chline(unsigned char length)
-{
- int i;
- for(i = 0; i < length; ++i) {
- cputc('-');
- }
-}
-/*-----------------------------------------------------------------------------------*/
-void CC_FASTCALL
-cvline(unsigned char length)
-{
- int i;
- for(i = 0; i < length; ++i) {
- cputc('|');
- --ctk_80col_cursx;
- ++ctk_80col_cursy;
- }
-}
-/*-----------------------------------------------------------------------------------*/
-void CC_FASTCALL
-gotoxy(unsigned char x, unsigned char y)
-{
- ctk_80col_cursx = x;
- ctk_80col_cursy = y;
-}
-/*-----------------------------------------------------------------------------------*/
-void CC_FASTCALL
-cclearxy(unsigned char x, unsigned char y, unsigned char length)
-{
- gotoxy(x, y);
- cclear(length);
-}
-/*-----------------------------------------------------------------------------------*/
-void CC_FASTCALL
-chlinexy(unsigned char x, unsigned char y, unsigned char length)
-{
- gotoxy(x, y);
- chline(length);
-}
-/*-----------------------------------------------------------------------------------*/
-void CC_FASTCALL
-cvlinexy(unsigned char x, unsigned char y, unsigned char length)
-{
- gotoxy(x, y);
- cvline(length);
-}
-/*-----------------------------------------------------------------------------------*/
-void CC_FASTCALL
-_cputsxy(unsigned char x, unsigned char y, char *str)
-{
- gotoxy(x, y);
- _cputs(str);
-}
-/*-----------------------------------------------------------------------------------*/
-void CC_FASTCALL
-cputcxy(unsigned char x, unsigned char y, char c)
-{
- gotoxy(x, y);
- cputc(c);
-}
-/*-----------------------------------------------------------------------------------*/
-/*void CC_FASTCALL
-screensize(unsigned char *x, unsigned char *y)
-{
- *x = SCREEN_WIDTH;
- *y = SCREEN_HEIGHT;
-}*/
-/*-----------------------------------------------------------------------------------*/
-/*static unsigned char sizex, sizey;*/
-/*-----------------------------------------------------------------------------------*/
-static void
-_cputsn(char *str, unsigned char len)
-{
- /* char c;
-
- while(len > 0) {
- --len;
- c = *str;
- if(c == 0) {
- break;
- }
- cputc(c);
- ++str;
- }*/
- ctk_80col_cputsn(str, len);
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_init(void)
-{
- ctk_80col_init();
-
- /* screensize(&sizex, &sizey);*/
-
- ctk_draw_clear(0, SCREEN_HEIGHT);
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-draw_widget(struct ctk_widget *w,
- unsigned char x, unsigned char y,
- unsigned char clipx,
- unsigned char clipy,
- unsigned char clipy1, unsigned char clipy2,
- unsigned char focus)
-{
- unsigned char xpos, ypos, xscroll;
- unsigned char i, j;
- char c, *text;
- unsigned char len, wfocus;
-
- wfocus = 0;
- if(focus & CTK_FOCUS_WINDOW) {
- if(focus & CTK_FOCUS_WIDGET) {
- wfocus = 1;
- }
- } else if(focus & CTK_FOCUS_DIALOG) {
- if(focus & CTK_FOCUS_WIDGET) {
- wfocus = 1;
- }
- } else {
- }
-
- xpos = x + w->x;
- ypos = y + w->y;
-
- switch(w->type) {
- case CTK_WIDGET_SEPARATOR:
- if(ypos >= clipy1 && ypos < clipy2) {
- chlinexy(xpos, ypos, w->w);
- }
- break;
- case CTK_WIDGET_LABEL:
- text = w->widget.label.text;
- for(i = 0; i < w->h; ++i) {
- if(ypos >= clipy1 && ypos < clipy2) {
- gotoxy(xpos, ypos);
- _cputsn(text, w->w);
- if(w->w - (wherex() - xpos) > 0) {
- cclear(w->w - (wherex() - xpos));
- }
- }
- ++ypos;
- text += w->w;
- }
- break;
- case CTK_WIDGET_BUTTON:
- if(ypos >= clipy1 && ypos < clipy2) {
- if(wfocus != 0) {
- revers(1);
- } else {
- revers(0);
- }
- cputcxy(xpos, ypos, '[');
- _cputsn(w->widget.button.text, w->w);
- cputc(']');
- revers(0);
- }
- break;
- case CTK_WIDGET_HYPERLINK:
- if(ypos >= clipy1 && ypos < clipy2) {
- if(wfocus != 0) {
- revers(0);
- } else {
- revers(1);
- }
- gotoxy(xpos, ypos);
- _cputsn(w->widget.button.text, w->w);
- revers(0);
- }
- break;
- case CTK_WIDGET_TEXTENTRY:
- text = w->widget.textentry.text;
- if(wfocus != 0) {
- revers(1);
- } else {
- revers(0);
- }
- xscroll = 0;
- if(w->widget.textentry.xpos >= w->w - 1) {
- xscroll = w->widget.textentry.xpos - w->w + 1;
- }
- for(j = 0; j < w->h; ++j) {
- if(ypos >= clipy1 && ypos < clipy2) {
- if(w->widget.textentry.state == CTK_TEXTENTRY_EDIT &&
- w->widget.textentry.ypos == j) {
- revers(0);
- cputcxy(xpos, ypos, '>');
- c = 1;
- for(i = 0; i < w->w; ++i) {
- if(c != 0) {
- c = text[i + xscroll];
- }
- if(i == w->widget.textentry.xpos - xscroll) {
- revers(1);
- } else {
- revers(0);
- }
- if(c == 0) {
- cputc(' ');
- } else {
- cputc(c);
- }
- revers(0);
- }
- cputc('<');
- } else {
- cvlinexy(xpos, ypos, 1);
- gotoxy(xpos + 1, ypos);
- _cputsn(text, w->w);
- i = wherex();
- if(i - xpos - 1 < w->w) {
- cclear(w->w - (i - xpos) + 1);
- }
- cvline(1);
- }
- }
- ++ypos;
- text += w->w;
- }
- revers(0);
- break;
- case CTK_WIDGET_ICON:
- if(ypos >= clipy1 && ypos < clipy2) {
- color(ctk_80col_theme.iconcolors[focus]);
-
- /* if(focus & 1) {
-
- revers(1);
- } else {
- revers(0);
- }*/
- /* gotoxy(xpos, ypos);*/
- if(xpos >= 73) {
- xpos = 73;
- }
- if(xpos <= 2) {
- xpos = 2;
- }
- if(w->widget.icon.textmap != NULL) {
- ctk_80col_bitmapptr = w->widget.icon.bitmap;
- for(i = 0; i < 3; ++i) {
- if(ypos >= clipy1 && ypos < clipy2) {
- gotoxy(xpos, ypos);
- ctk_80col_draw_bitmapline(3);
- }
- ctk_80col_bitmapptr += 3 * 8;
- ++ypos;
- }
- }
- x = xpos;
-
- len = strlen(w->widget.icon.title);
- if(x + len >= SCREEN_WIDTH) {
- x = SCREEN_WIDTH - len;
- }
-
- if(ypos >= clipy1 && ypos < clipy2) {
- len = strlen(w->widget.icon.title);
- gotoxy((x & 0xfe) + 1, ypos);
- ctk_80col_cclear((len - 1)/ 2);
- gotoxy(x, ypos);
- ctk_80col_cputsn(w->widget.icon.title, len);
- }
- revers(0);
- }
- break;
-
- default:
- break;
- }
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_widget(struct ctk_widget *w,
- unsigned char focus,
- unsigned char clipy1,
- unsigned char clipy2)
-{
- struct ctk_window *win = w->window;
- unsigned char posx, posy;
-
- posx = (win->x & 0xfe) + 1;
- posy = win->y + 2;
-
- if(w == win->focused) {
- focus |= CTK_FOCUS_WIDGET;
- }
-
- draw_widget(w, posx, posy,
- posx + win->w,
- posy + win->h,
- clipy1, clipy2,
- focus);
-
-#ifdef CTK_CONIO_CONF_UPDATE
- CTK_CONIO_CONF_UPDATE();
-#endif /* CTK_CONIO_CONF_UPDATE */
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_clear_window(struct ctk_window *window,
- unsigned char focus,
- unsigned char clipy1,
- unsigned char clipy2)
-{
- unsigned char i;
- unsigned char h;
-
- if(focus & CTK_FOCUS_WINDOW) {
- color(COLOR_FOCUS_WINDOW);
- } else {
- color(COLOR_BACKGROUND_WINDOW);
- }
-
- h = window->y + 2 + window->h;
- /* Clear window contents. */
- for(i = window->y + 2; i < h; ++i) {
- if(i >= clipy1 && i < clipy2) {
- gotoxy((window->x & 0xfe) + 1, i);
- ctk_80col_cclear((window->w + 1)/2);
- }
- }
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-draw_window_contents(struct ctk_window *window, unsigned char focus,
- unsigned char clipy1, unsigned char clipy2,
- unsigned char x1, unsigned char x2,
- unsigned char y1, unsigned char y2)
-{
- struct ctk_widget *w;
- unsigned char wfocus;
-
- /* Draw inactive widgets. */
- for(w = window->inactive; w != NULL; w = w->next) {
- draw_widget(w, x1, y1, x2, y2,
- clipy1, clipy2,
- focus);
- }
-
- /* Draw active widgets. */
- for(w = window->active; w != NULL; w = w->next) {
- wfocus = focus;
- if(w == window->focused) {
- wfocus |= CTK_FOCUS_WIDGET;
- }
-
- draw_widget(w, x1, y1, x2, y2,
- clipy1, clipy2,
- wfocus);
- }
-
-#ifdef CTK_CONIO_CONF_UPDATE
- CTK_CONIO_CONF_UPDATE();
-#endif /* CTK_CONIO_CONF_UPDATE */
-
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_window(struct ctk_window *window, unsigned char focus,
- unsigned char clipy1, unsigned char clipy2)
-{
- unsigned char x, y;
- unsigned char h;
- unsigned char x1, y1, x2, y2;
-
-
- if(window->y + 1 >= clipy2) {
- return;
- }
-
- x = window->x & 0xfe;
- y = window->y + 1;
-
-/* if(focus & CTK_FOCUS_WINDOW) {
- } else {
- }*/
-
- x1 = x + 1;
- y1 = y + 1;
- x2 = x1 + window->w;
- y2 = y1 + window->h;
-
- /* Draw window frame. */
- gotoxy(x, y);
- ctk_80col_windowparams.w = (window->w-1)/2;
- ctk_80col_windowparams.h = window->h;
- if(clipy1 < y) {
- ctk_80col_windowparams.clipy1 = 0;
- } else {
- ctk_80col_windowparams.clipy1 = clipy1 - y;
- }
- ctk_80col_windowparams.clipy2 = clipy2 - y + 1;
- ctk_80col_windowparams.color1 = ctk_80col_theme.windowcolors[focus];
- ctk_80col_windowparams.color2 = ctk_80col_theme.windowcolors[focus];
- ctk_80col_windowparams.titlecolor = ctk_80col_theme.windowcolors[focus+1];
- ctk_80col_windowparams.title = window->title;
- ctk_80col_windowparams.titlelen = window->titlelen/2;
-
- if(ctk_80col_windowparams.clipy1 < ctk_80col_windowparams.clipy2 &&
- ctk_80col_windowparams.clipy2 > 0) {
- ctk_80col_draw_windowborders();
- }
- /*
- if(y >= clipy1) {
- cputcxy(x, y, CH_ULCORNER);
- gotoxy(wherex() + window->titlelen + 2, wherey());
- chline(window->w - (wherex() - x) - 2);
- cputcxy(x2, y, CH_URCORNER);
- }
-
- h = window->h;
-
- if(clipy1 > y1) {
- if(clipy1 - y1 < h) {
- h = clipy1 - y1;
- y1 = clipy1;
- } else {
- h = 0;
- }
- }
-
- if(clipy2 < y1 + h) {
- if(y1 >= clipy2) {
- h = 0;
- } else {
- h = clipy2 - y1;
- }
- }
-
- cvlinexy(x, y1, h);
- cvlinexy(x2, y1, h);
-
- if(y + window->h >= clipy1 &&
- y + window->h < clipy2) {
- cputcxy(x, y2, CH_LLCORNER);
- chlinexy(x1, y2, window->w);
- cputcxy(x2, y2, CH_LRCORNER);
- }
- */
- if(ctk_mode_get() != CTK_MODE_WINDOWMOVE) {
- draw_window_contents(window, focus & CTK_FOCUS_WINDOW, clipy1, clipy2,
- x1, x2, y + 1, y2);
- }
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_dialog(struct ctk_window *dialog)
-{
- unsigned char x, y;
- unsigned char i;
- unsigned char x1, y1, x2, y2;
-
-
- x = dialog->x & 0xfe;
- y = dialog->y + 1;
-
-
- x1 = x + 1;
- y1 = y + 1;
- x2 = x1 + dialog->w;
- y2 = y1 + dialog->h;
-
-
- /* Draw dialog frame. */
-
- /* cvlinexy(x, y1,
- dialog->h);
- cvlinexy(x2, y1,
- dialog->h);
-
- chlinexy(x1, y,
- dialog->w);
- chlinexy(x1, y2,
- dialog->w);
-
- cputcxy(x, y, CH_ULCORNER);
- cputcxy(x, y2, CH_LLCORNER);
- cputcxy(x2, y, CH_URCORNER);
- cputcxy(x2, y2, CH_LRCORNER);
- */
- gotoxy(x, y);
- ctk_80col_windowparams.w = (dialog->w-1)/2;
- ctk_80col_windowparams.h = dialog->h;
- ctk_80col_windowparams.clipy1 = 0;
- ctk_80col_windowparams.clipy2 = SCREEN_HEIGHT;
- ctk_80col_windowparams.color1 = ctk_80col_theme.windowcolors[4];
- ctk_80col_windowparams.color2 = ctk_80col_theme.windowcolors[4];
- ctk_80col_windowparams.titlecolor = ctk_80col_theme.windowcolors[5];
-
- ctk_80col_draw_windowborders();
-
- /* Clear dialog contents. */
- color(COLOR_DIALOG);
- for(i = y1; i < y2; ++i) {
- gotoxy((x1 & 0xfe) + 2, i);
- ctk_80col_cclear((dialog->w + 1)/2 - 2);
- /* cclearxy(x1, i, dialog->w);*/
- }
-
- draw_window_contents(dialog, CTK_FOCUS_DIALOG, 0, SCREEN_HEIGHT,
- x1, x2, y1, y2);
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_clear(unsigned char y1, unsigned char y2)
-{
- unsigned char i;
-
-
- for(i = y1; i < y2; ++i) {
-
- ctk_80col_clear_line(i);
- }
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-draw_menu(struct ctk_menu *m)
-{
- unsigned char x, x2, y;
-
- color(ctk_80col_theme.openmenucolor);
-
- revers(0);
- x = wherex();
- _cputs(m->title);
- cputc(' ');
- x2 = wherex();
- if(x + CTK_CONF_MENUWIDTH > SCREEN_WIDTH) {
- x = SCREEN_WIDTH - CTK_CONF_MENUWIDTH - 2;
- }
-
- for(y = 0; y < m->nitems; ++y) {
- if(y == m->active) {
- color(ctk_80col_theme.activemenucolor);
- } else {
- color(ctk_80col_theme.openmenucolor);
- }
- gotoxy(x, y + 1);
- ctk_80col_cclear(CTK_CONF_MENUWIDTH/2);
-
- gotoxy(x, y + 1);
- if(m->items[y].title[0] == '-') {
- chline(CTK_CONF_MENUWIDTH);
- } else {
- /* _cputs(m->items[y].title);*/
- ctk_80col_cputsn(m->items[y].title, m->items[y].titlelen);
- }
- /* if(x + CTK_CONF_MENUWIDTH > wherex()) {
- cclear(x + CTK_CONF_MENUWIDTH - wherex());
- }*/
-
- }
- gotoxy(x2, 0);
- revers(1);
-
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_menus(struct ctk_menus *menus)
-{
- struct ctk_menu *m;
-
- memcpy((char *)0xe000, ctk_80col_theme.menuleftpattern, 8);
- /* Draw menus */
- gotoxy(2, 0);
-
- revers(1);
- for(m = menus->menus->next; m != NULL; m = m->next) {
- color(ctk_80col_theme.menucolor);
- if(m != menus->open) {
- /* _cputs(m->title);*/
- ctk_80col_cputsn(m->title, m->titlelen);
- cputc(' ');
- } else {
- draw_menu(m);
- }
- }
-
- color(ctk_80col_theme.menucolor);
-
- if(wherex() + strlen(menus->desktopmenu->title) + 2 >= SCREEN_WIDTH) {
- gotoxy(SCREEN_WIDTH - strlen(menus->desktopmenu->title) - 2, 0);
- } else {
- cclear(SCREEN_WIDTH - wherex() -
- strlen(menus->desktopmenu->title) - 2);
- }
-
- /* Draw desktopmenu */
- if(menus->desktopmenu != menus->open) {
- ctk_80col_cputsn(menus->desktopmenu->title, menus->desktopmenu->titlelen);
- } else {
- draw_menu(menus->desktopmenu);
- }
-
- /* gotoxy(78, 0);
- color(ctk_80col_screencolors[0]);
- cputc(' ');
- cputc(' '); */
-
- revers(0);
- memcpy((char *)0xe138, ctk_80col_theme.menurightpattern, 8);
-}
-/*-----------------------------------------------------------------------------------*/
-static unsigned char
-s_ctk_draw_height(void)
-{
- return SCREEN_HEIGHT;
-}
-/*-----------------------------------------------------------------------------------*/
-static unsigned char
-s_ctk_draw_width(void)
-{
- return SCREEN_WIDTH;
-}
-/*-----------------------------------------------------------------------------------*/
-static unsigned short
-s_ctk_mouse_xtoc(unsigned short x)
-{
- return x / 4;
-}
-/*-----------------------------------------------------------------------------------*/
-static unsigned short
-s_ctk_mouse_ytoc(unsigned short y)
-{
- return y / 8;
-}
-/*-----------------------------------------------------------------------------------*/
-static const struct ctk_draw_service_interface interface =
- {CTK_DRAW_SERVICE_VERSION,
- 1,
- 1,
- 1,
- s_ctk_draw_init,
- s_ctk_draw_clear,
- s_ctk_draw_clear_window,
- s_ctk_draw_window,
- s_ctk_draw_dialog,
- s_ctk_draw_widget,
- s_ctk_draw_menus,
- s_ctk_draw_width,
- s_ctk_draw_height,
- s_ctk_mouse_xtoc,
- s_ctk_mouse_ytoc,
- };
-
-EK_EVENTHANDLER(eventhandler, ev, data);
-EK_PROCESS(proc, CTK_DRAW_SERVICE_NAME ": 80col", EK_PRIO_NORMAL,
- eventhandler, NULL, (void *)&interface);
-
-/*--------------------------------------------------------------------------*/
-LOADER_INIT_FUNC(ctk_80col_service_init, arg)
-{
- ek_service_start(CTK_DRAW_SERVICE_NAME, &proc);
-}
-/*--------------------------------------------------------------------------*/
-EK_EVENTHANDLER(eventhandler, ev, data)
-{
- EK_EVENTHANDLER_ARGS(ev, data);
-
- switch(ev) {
- case EK_EVENT_INIT:
- case EK_EVENT_REPLACE:
- s_ctk_draw_init();
- ctk_restore();
- break;
- case EK_EVENT_REQUEST_REPLACE:
- VIC.ctrl1 = 0x1b; /* $D011 */
- VIC.addr = 0x17; /* $D018 */
- VIC.ctrl2 = 0xc8; /* $D016 */
- CIA2.pra = 0x03; /* $DD00 */
- ek_replace((struct ek_proc *)data, NULL);
- LOADER_UNLOAD();
- break;
- case EK_EVENT_REQUEST_EXIT:
- quit();
- ek_exit();
- LOADER_UNLOAD();
- break;
- }
-}
-/*--------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-asm.S b/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-asm.S
deleted file mode 100644
index 8d52510..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-asm.S
+++ /dev/null
@@ -1,934 +0,0 @@
-
-;---------------------------------------------------------------------
- .importzp ptr1, ptr2, ptr3, ptr4, sreg
- .importzp sp
-
- .import incsp2
-
-
- .import _ctk_hires_cursx
- .import _ctk_hires_cursy
- .import _ctk_hires_color
- .import _ctk_hires_underline
- .import _ctk_hires_reversed
-
- .import _ctk_hires_yscreenaddr
- .import _ctk_hires_yhiresaddr
-
- .import _ctk_hires_windowparams
-
- .import _ctk_hires_bitmapptr
-
- .import _ctk_hires_theme
-
- .export _ctk_hires_cclear
- .export _ctk_hires_chline
- .export _ctk_hires_cputc
- .export _ctk_hires_cputsn
-
- .export _ctk_hires_draw_buttonleft
- .export _ctk_hires_draw_buttonright
-
- .export _ctk_hires_draw_windowborders
-
- .export _ctk_hires_draw_bitmapline
-;---------------------------------------------------------------------
-
-ptr5 = sreg
-
- ;; Offsets in the theme struct
-
- ulcornerpattern = 8
- titlebarpattern = ulcornerpattern+8
- urcornerpattern = titlebarpattern+8
- rborderpattern = urcornerpattern+8
- lrcornerpattern = rborderpattern+8
- lowerborderpattern = lrcornerpattern+8
- llcornerpattern = lowerborderpattern+8
- lborderpattern = llcornerpattern+8
-
-
- buttonleftpattern = lborderpattern+8
- buttonrightpattern = buttonleftpattern+8
-
-
-.bss
-tmp01: .res 1
-tmpl: .res 1
-tmpf: .res 1
-tmpc: .res 1
-tmpw: .res 1
-tmpptr: .res 2
-
-tmpy: .res 1
-tmph: .res 1
-
- ;; Window border parameters
-w: .res 1
-wpw = 0
-h: .res 1
-wph = 1
-clipy1: .res 1
-wpclipy1 = 2
-clipy2: .res 1
-wpclipy2 = 3
-color1: .res 1
-wpcolor1 = 4
-color2: .res 1
-wpcolor2 = 5
-titlelen: .res 1
-wptitlelen = 6
-title: .res 2
-wptitle = 7
-
-;---------------------------------------------------------------------
-.data
-;---------------------------------------------------------------------
-.code
-setupptrs:
- ;; Find hires address.
- lda _ctk_hires_cursy
- asl
- tax
- lda _ctk_hires_yhiresaddr,x
- sta ptr2
- lda _ctk_hires_yhiresaddr+1,x
- sta ptr2+1
-
- ;; Add X coordinate to the hires address.
- lda #0
- sta ptr1+1
- lda _ctk_hires_cursx
- asl
- rol ptr1+1
- asl
- rol ptr1+1
- asl
- rol ptr1+1
- clc
- adc ptr2
- sta ptr2
- lda ptr2+1
- adc ptr1+1
- sta ptr2+1
-
-
- ;; Find screen address.
- lda _ctk_hires_cursy
- asl
- tax
- lda _ctk_hires_yscreenaddr,x
- clc
- adc _ctk_hires_cursx
- sta ptr1
- lda _ctk_hires_yscreenaddr+1,x
- adc #0
- sta ptr1+1
-
- ;; Turn off interrupts, prepare $01 to store color data in RAM
- ;; under I/O area.
- sei
- lda $01
- sta tmp01
- and #$f8
- sta $01
- rts
-;---------------------------------------------------------------------
-restore01:
- lda tmp01
- sta $01
- cli
- rts
-;---------------------------------------------------------------------
-_ctk_hires_cclear:
- sta tmpl
- cmp #0
- bne @norts
- rts
-@norts:
-
- jsr setupptrs
-
- ;; Store color value in color memory
-
- ldy tmpl
- dey
- lda _ctk_hires_color
-@loop0:
- sta (ptr1),y
- dey
- bpl @loop0
-
- ;; Store either $00 or $ff in hires memory, depending on the
- ;; reversed flag
-
- ldx tmpl
- lda _ctk_hires_reversed
- beq @noff
- lda #$ff
-@noff:
- sta tmpf
-@loop1:
- ldy #7
- lda tmpf
-@loop2:
- sta (ptr2),y
- dey
- bpl @loop2
-
- lda ptr2
- clc
- adc #8
- sta ptr2
- bcc @noinc
- inc ptr2+1
-@noinc:
-
- inc _ctk_hires_cursx
-
- dex
- bne @loop1
-
- jmp restore01
-;---------------------------------------------------------------------
-_ctk_hires_chline:
- sta tmpl
- cmp #0
- bne @norts
- rts
-@norts:
-
- jsr setupptrs
-
- ;; Store color value in color memory
-
- ldy tmpl
- dey
- lda _ctk_hires_color
-@loop0:
- sta (ptr1),y
- dey
- bpl @loop0
-
- ;; Store horizontal line pattern in hires memory
- ldx tmpl
-@loop1:
- ldy #0
- lda #$00
- sta (ptr2),y
- iny
- lda #$00
- sta (ptr2),y
- iny
- lda #$00
- sta (ptr2),y
- iny
- lda #$ff
- sta (ptr2),y
- iny
- lda #$ff
- sta (ptr2),y
- iny
- lda #$00
- sta (ptr2),y
- iny
- lda #$00
- sta (ptr2),y
- iny
- lda #$00
- sta (ptr2),y
-
-
- lda ptr2
- clc
- adc #8
- sta ptr2
- bcc @noinc
- inc ptr2+1
-@noinc:
-
- inc _ctk_hires_cursx
-
- dex
- bne @loop1
-
- jmp restore01
-;---------------------------------------------------------------------
-_ctk_hires_cputc:
- sta tmpc
-
- jsr setupptrs
-
- ldy #0
- lda _ctk_hires_color
- sta (ptr1),y
-
- ;; Turn on font ROM
- lda tmp01
- and #$f8
- ora #$01
- sta $01
-
- lda #0
- sta ptr1+1
-
- ;; Convert from PETSCII to screen encoding
- lda tmpc
- eor #$e0
- clc
- adc #$20
- bpl @cont
- adc #$40
- bpl @cont
- eor #$a0
-@cont:
- ldx _ctk_hires_reversed
- beq :+
- eor #$80
-:
-
- ;; Convert to address in character ROM
- asl
- rol ptr1+1
- asl
- rol ptr1+1
- asl
- rol ptr1+1
- sta ptr1
- lda #$d8
- adc ptr1+1
- sta ptr1+1
-
- ;; Print on hires screen, bottom-up. If we should underline,
- ;; we do this by eor:ing the bottom line with #$ff
- ldy #7
- lda (ptr1),y
- ldx _ctk_hires_underline
- beq @nounderline
- eor #$ff
-@nounderline:
- sta (ptr2),y
- dey
-@loop:
- lda (ptr1),y
- sta (ptr2),y
- dey
- bpl @loop
-
- inc _ctk_hires_cursx
-
- jmp restore01
-;---------------------------------------------------------------------
-_ctk_hires_cputsn:
- sta tmpl
- cmp #0
- bne :+
- rts
-:
-
- jsr setupptrs
-
- ldy tmpl
- dey
- lda _ctk_hires_color
-@loop0:
- sta (ptr1),y
- dey
- bpl @loop0
-
- ;; Turn on font ROM
- lda tmp01
- and #$f8
- ora #$01
- sta $01
-
-
- ;; Output each character from the string
- lda #0
- sta tmpc
- ldy #0
- lda (sp),y
- sta ptr3
- iny
- lda (sp),y
- sta ptr3+1
-
-@loop1:
-
- lda #0
- sta ptr1+1
-
- ldy tmpc
- lda (ptr3),y
- beq @end
-
- ;; Convert from PETSCII to screen encoding
- eor #$e0
- clc
- adc #$20
- bpl @cont
- adc #$40
- bpl @cont
- eor #$a0
-@cont:
- ldx _ctk_hires_reversed
- beq :+
- eor #$80
-:
-
- ;; Convert to address in character ROM
- asl
- rol ptr1+1
- asl
- rol ptr1+1
- asl
- rol ptr1+1
- sta ptr1
- lda #$d8
- adc ptr1+1
- sta ptr1+1
-
- ;; Print on hires screen, bottom-up. If we should underline,
- ;; we do this by eor:ing the bottom line with #$ff
- ldy #7
- lda (ptr1),y
- ldx _ctk_hires_underline
- beq @nounderline
- eor #$ff
-@nounderline:
- sta (ptr2),y
- dey
-@loop:
- lda (ptr1),y
- sta (ptr2),y
- dey
- bpl @loop
-
- inc _ctk_hires_cursx
-
- lda ptr2
- clc
- adc #8
- sta ptr2
- bcc :+
- inc ptr2+1
-:
- inc tmpc
- lda tmpc
- cmp tmpl
- bne @loop1
-
-@end:
- jsr restore01
-
- jmp incsp2
-
-;---------------------------------------------------------------------
-_ctk_hires_draw_windowborders:
-
- jsr setupptrs
-
- lda _ctk_hires_windowparams + wpclipy1
- beq :+
- jmp @nofirstline
-:
-
- ;; Draw first line of the border, including the window title
-
- ;; Start with filling color memory
- ldy _ctk_hires_windowparams + wpw
- iny
- lda _ctk_hires_windowparams + wpcolor1
- sta (ptr1),y
- dey
- dey
- dey
- sty tmpw
-
- ldy _ctk_hires_windowparams + wptitlelen
- iny
- iny
- iny
-:
- sta (ptr1),y
- iny
- cpy tmpw
- bcc :-
-
- inc tmpw
-
- ;; Set color for upper left corner
- ldy #0
- lda _ctk_hires_windowparams + wpcolor1
- sta (ptr1),y
-
-
- ;; Turn on font ROM for drawing the title
- lda tmp01
- and #$f8
- ora #$01
- sta $01
-
- ;; Use a temporary pointer (ptr3) rather than ptr2 so we can
- ;; reuse it later.
- lda ptr2
- sta ptr3
- lda ptr2+1
- sta ptr3+1
-
- ;; Draw upper left corner
- ldy #7
-:
- lda _ctk_hires_theme+ulcornerpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
- ;; Draw first empty char left of the title
- ldy #8
- lda #0
-:
-; sta (ptr3),y
- iny
- cpy #$10
- bne :-
-
- lda ptr3
- clc
- adc #$10
- sta ptr3
- bcc :+
- inc ptr3+1
-:
- dec tmpw
-
- ;; Draw the title
- lda _ctk_hires_windowparams + wptitle
- sta ptr4
- lda _ctk_hires_windowparams + wptitle+1
- sta ptr4+1
-
-
- lda #0
- sta tmpc
-@titleloop:
- lda #0
- sta ptr5+1
-
- ldy tmpc
- lda (ptr4),y
-
-
- ;; Convert from PETSCII to screen encoding
- eor #$e0
- clc
- adc #$20
- bpl @cont
- adc #$40
- bpl @cont
- eor #$a0
-@cont:
- ;; Convert to address in character ROM
- asl
- rol ptr5+1
- asl
- rol ptr5+1
- asl
- rol ptr5+1
- sta ptr5
- lda #$d8
- adc ptr5+1
- sta ptr5+1
-
- ;; Print on hires screen, character by character, bottom-up.
- ldy #7
-:
- lda (ptr5),y
-; sta (ptr3),y
- dey
- bpl :-
-
- lda ptr3
- clc
- adc #8
- sta ptr3
- bcc :+
- inc ptr3+1
-:
- dec tmpw
-
- inc tmpc
- lda tmpc
- cmp _ctk_hires_windowparams + wptitlelen
- bne @titleloop
-
- ;; Draw empty char after the title
- ldy #7
- lda #0
-:
-; sta (ptr3),y
- dey
- bpl :-
-
- lda ptr3
- clc
- adc #$8
- sta ptr3
- bcc :+
- inc ptr3+1
-:
- dec tmpw
-
- ;; Draw window title bar pattern
-@titlebarloop:
- ldy #7
-:
- lda _ctk_hires_theme+titlebarpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
- lda ptr3
- clc
- adc #$8
- sta ptr3
- bcc :+
- inc ptr3+1
-:
- ;; Loop until we are three characters away from right border
- ;; to avoid flickering since we would be overwriting the close
- ;; button.
- dec tmpw
- lda tmpw
- cmp #3
- bcs @titlebarloop
-
- lda ptr3
- clc
- adc #$18
- sta ptr3
- bcc :+
- inc ptr3+1
-:
- ;; Draw upper right corner piece
- ldy #7
-:
- lda _ctk_hires_theme+urcornerpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
-
-@nofirstline:
-
-
- ldx _ctk_hires_windowparams + wph
- inx
- stx tmph
-
- ;; Draw left and right borders
-
- ;; Fill color memory (pointer in ptr1, setup by setupptrs)
-
- ;; First check how much we actually should draw by inspecting
- ;; the clipy1 and clipy2 fields in the _ctk_hires_windowparams
- ;; structure
-
- lda #1
- sta tmpy
-
- ldx _ctk_hires_windowparams + wpclipy1
-@clipy1loop:
- cpx #0
- beq @clipy1loopend
- lda ptr1
- clc
- adc #$28
- sta ptr1
- bcc :+
- inc ptr1+1
-:
- lda ptr3
- clc
- adc #$40
- sta ptr3
- lda ptr3+1
- adc #1
- sta ptr3+1
-
- inc tmpy
-
- dex
- jmp @clipy1loop
-@clipy1loopend:
-
- lda ptr1
- clc
- adc #$28
- sta ptr1
- bcc :+
- inc ptr1+1
-:
-
- ldx tmpy
- ldy _ctk_hires_windowparams + wpw
- iny
- sty tmpw
-@bordercloop:
- cpx _ctk_hires_windowparams + wpclipy2
- beq @bordercloopend
-
- ldy tmpw
- lda _ctk_hires_windowparams + wpcolor2
- sta (ptr1),y
- ldy #0
- lda _ctk_hires_windowparams + wpcolor1
- sta (ptr1),y
-
- lda ptr1
- clc
- adc #$28
- sta ptr1
- bcc :+
- inc ptr1+1
-:
-
- inx
- cpx tmph
- bcc @bordercloop
- beq @bordercloop
-@bordercloopend:
-
-
- ;; Fill color memory for lower border, if clipy2 allows
- cpx _ctk_hires_windowparams + wpclipy2
- beq @noclowerborder
-
- lda ptr1
- sec
- sbc #$28
- sta ptr1
- bcs :+
- dec ptr1+1
-:
-
- ldy _ctk_hires_windowparams + wpw
- lda _ctk_hires_windowparams + wpcolor2
-@lbordercloop:
- sta (ptr1),y
- dey
- bne @lbordercloop
-
-@noclowerborder:
-
- ;; Draw right border
- ldx tmpy
-@rborderloop:
- cpx _ctk_hires_windowparams + wpclipy2
- beq @rborderloopend
-
- lda ptr3
- clc
- adc #$40
- sta ptr3
- lda ptr3+1
- adc #1
- sta ptr3+1
-
- ldy #7
-:
- lda _ctk_hires_theme+rborderpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
- inx
- cpx tmph
- bne @rborderloop
-@rborderloopend:
-
- cpx _ctk_hires_windowparams + wpclipy2
- beq @norbordercorner
-
- lda ptr3
- clc
- adc #$40
- sta ptr3
- lda ptr3+1
- adc #1
- sta ptr3+1
-
- ;; Draw lower right corner, if clipy2 allows it
- ldy #7
-:
- lda _ctk_hires_theme+lrcornerpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
-@norbordercorner:
-
- stx tmpy
-
- ;; Draw lower border
- ldx _ctk_hires_windowparams + wpw
-
-@lowerborderloop:
- lda ptr3
- sec
- sbc #$8
- sta ptr3
- bcs :+
- dec ptr3+1
-:
-
- lda tmpy
- cmp _ctk_hires_windowparams + wpclipy2
- beq @nolowerborder
-
- ldy #7
-:
- lda _ctk_hires_theme+lowerborderpattern,y
- sta (ptr3),y
- dey
- bpl :-
-@nolowerborder:
-
- dex
- bne @lowerborderloop
-
- lda ptr3
- sec
- sbc #$8
- sta ptr3
- bcs :+
- dec ptr3+1
-:
-
-
- ldx tmpy
- cpx tmph
- bne @nolbordercorner
-
- ;; Draw lower left corner, if clipy2 allows it
- ldy #7
-:
- lda _ctk_hires_theme+llcornerpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
- lda ptr3
- sec
- sbc #$40
- sta ptr3
- lda ptr3+1
- sbc #1
- sta ptr3+1
-
-@nolbordercorner:
-
- ;; Draw left border
-
-
-
-@lborderloop:
- cpx #1
- beq @lborderloopend
- cpx _ctk_hires_windowparams + wpclipy1
- bcc @lborderloopend
-
- ldy #7
-:
- lda _ctk_hires_theme+lborderpattern,y
- sta (ptr3),y
- dey
- bpl :-
-
- lda ptr3
- sec
- sbc #$40
- sta ptr3
- lda ptr3+1
- sbc #1
- sta ptr3+1
-
- dex
- jmp @lborderloop
-
-@lborderloopend:
-
-
- jmp restore01
-;---------------------------------------------------------------------
-_ctk_hires_draw_buttonleft:
- jsr setupptrs
-
- ldy #0
- lda _ctk_hires_color
- sta (ptr1),y
-
-:
- lda _ctk_hires_theme+buttonleftpattern,y
- sta (ptr2),y
- iny
- cpy #8
- bne :-
-
- jmp restore01
-;---------------------------------------------------------------------
-_ctk_hires_draw_buttonright:
- jsr setupptrs
- ldy #0
- lda _ctk_hires_color
- sta (ptr1),y
-
-:
- lda _ctk_hires_theme+buttonrightpattern,y
- sta (ptr2),y
- iny
- cpy #8
- bne :-
-
- jmp restore01
-;---------------------------------------------------------------------
-_ctk_hires_draw_bitmapline:
- sta tmpl
- cmp #0
- bne :+
- rts
-:
-
- jsr setupptrs
-
- ldy #0
- lda _ctk_hires_color
-:
- sta (ptr1),y
- iny
- cpy tmpl
- bne :-
-
- lda _ctk_hires_bitmapptr
- sta ptr1
- lda _ctk_hires_bitmapptr+1
- sta ptr1+1
-
- ldy #0
- ldx #0
-:
- lda (ptr1),y
- sta (ptr2),y
- iny
- inx
- cpx #8
- bne :-
-
- ldx #0
-
- dec tmpl
- bne :-
-
- jmp restore01
-;---------------------------------------------------------------------
-
\ No newline at end of file
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-asm.h b/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-asm.h
deleted file mode 100644
index 58fea69..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-asm.h
+++ /dev/null
@@ -1,70 +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. 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 "ctk" console GUI toolkit for cc65
- *
- * $Id: ctk-hires-asm.h,v 1.1 2006/04/17 15:11:49 kthacker Exp $
- *
- */
-
-#ifndef __CTK_HIRES_ASM_H__
-#define __CTK_HIRES_ASM_H__
-
-void __fastcall__ ctk_hires_cclear(unsigned char len);
-void __fastcall__ ctk_hires_chline(unsigned char len);
-void __fastcall__ ctk_hires_cputc(unsigned char c);
-void __fastcall__ ctk_hires_cputsn(unsigned char *str,
- unsigned char len);
-
-void ctk_hires_draw_buttonleft(void);
-void ctk_hires_draw_buttonright(void);
-
-struct ctk_hires_windowparams {
- unsigned char w;
- unsigned char h;
- unsigned char clipy1;
- unsigned char clipy2;
- unsigned char color1;
- unsigned char color2;
- unsigned char titlelen;
- char *title;
-};
-extern struct ctk_hires_windowparams ctk_hires_windowparams;
-void ctk_hires_draw_windowborders(void);
-
-extern unsigned char ctk_hires_cursx,
- ctk_hires_cursy,
- ctk_hires_color,
- ctk_hires_reversed,
- ctk_hires_underline;
-
-
-void __fastcall__ ctk_hires_draw_bitmapline(unsigned char len);
-
-#endif /* __CTK_HIRES_ASM_H__ */
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-service.c b/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-service.c
deleted file mode 100644
index c35b3cd..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-service.c
+++ /dev/null
@@ -1,931 +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. 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 "ctk" console GUI toolkit for cc65
- *
- * $Id: ctk-hires-service.c,v 1.1 2006/04/17 15:11:51 kthacker Exp $
- *
- */
-
-#include "contiki-version.h"
-
-#include "ctk.h"
-#include "ctk-draw.h"
-#include "ctk-draw-service.h"
-#include "ctk-hires.h"
-#include "ctk-hires-asm.h"
-
-#include "ctk-hires-theme.h"
-
-#include <string.h>
-
-#ifndef NULL
-#define NULL (void *)0
-#endif /* NULL */
-
-#define SCREEN_HEIGHT 25
-#define SCREEN_WIDTH 40
-
-#define SCREENADDR 0xdc00
-#define HIRESADDR 0xe000
-
-static unsigned char lineptr;
-
-unsigned char ctk_hires_cursx, ctk_hires_cursy;
-unsigned char ctk_hires_reversed;
-unsigned char ctk_hires_color;
-unsigned char ctk_hires_underline;
-
-/*static unsigned char cchar;
-
-static unsigned char tmp01;
-static unsigned char tmph, tmpl, tmpborder;
-static unsigned char *tmpptr;*/
-
-
-static unsigned char x, y, i;
-/*static unsigned char h;*/
-static unsigned char wfocus;
-static unsigned char x1, y1, x2, y2;
-
-struct ctk_hires_windowparams ctk_hires_windowparams;
-unsigned char *ctk_hires_bitmapptr;
-
-/*unsigned char ctk_draw_windowborder_height = 1;
-unsigned char ctk_draw_windowborder_width = 1;
-unsigned char ctk_draw_windowtitle_height = 1;*/
-
-static void s_ctk_draw_clear(unsigned char y1, unsigned char y2);
-
-
-/*-----------------------------------------------------------------------------------*/
-/* Tables. */
-
-unsigned short ctk_hires_yscreenaddr[25] =
- {0 * SCREEN_WIDTH + SCREENADDR, 1 * SCREEN_WIDTH + SCREENADDR,
- 2 * SCREEN_WIDTH + SCREENADDR, 3 * SCREEN_WIDTH + SCREENADDR,
- 4 * SCREEN_WIDTH + SCREENADDR, 5 * SCREEN_WIDTH + SCREENADDR,
- 6 * SCREEN_WIDTH + SCREENADDR, 7 * SCREEN_WIDTH + SCREENADDR,
- 8 * SCREEN_WIDTH + SCREENADDR, 9 * SCREEN_WIDTH + SCREENADDR,
- 10 * SCREEN_WIDTH + SCREENADDR, 11 * SCREEN_WIDTH + SCREENADDR,
- 12 * SCREEN_WIDTH + SCREENADDR, 13 * SCREEN_WIDTH + SCREENADDR,
- 14 * SCREEN_WIDTH + SCREENADDR, 15 * SCREEN_WIDTH + SCREENADDR,
- 16 * SCREEN_WIDTH + SCREENADDR, 17 * SCREEN_WIDTH + SCREENADDR,
- 18 * SCREEN_WIDTH + SCREENADDR, 19 * SCREEN_WIDTH + SCREENADDR,
- 20 * SCREEN_WIDTH + SCREENADDR, 21 * SCREEN_WIDTH + SCREENADDR,
- 22 * SCREEN_WIDTH + SCREENADDR, 23 * SCREEN_WIDTH + SCREENADDR,
- 24 * SCREEN_WIDTH + SCREENADDR};
-
-unsigned short ctk_hires_yhiresaddr[25] =
- {0 * 320 + HIRESADDR, 1 * 320 + HIRESADDR,
- 2 * 320 + HIRESADDR, 3 * 320 + HIRESADDR,
- 4 * 320 + HIRESADDR, 5 * 320 + HIRESADDR,
- 6 * 320 + HIRESADDR, 7 * 320 + HIRESADDR,
- 8 * 320 + HIRESADDR, 9 * 320 + HIRESADDR,
- 10 * 320 + HIRESADDR, 11 * 320 + HIRESADDR,
- 12 * 320 + HIRESADDR, 13 * 320 + HIRESADDR,
- 14 * 320 + HIRESADDR, 15 * 320 + HIRESADDR,
- 16 * 320 + HIRESADDR, 17 * 320 + HIRESADDR,
- 18 * 320 + HIRESADDR, 19 * 320 + HIRESADDR,
- 20 * 320 + HIRESADDR, 21 * 320 + HIRESADDR,
- 22 * 320 + HIRESADDR, 23 * 320 + HIRESADDR,
- 24 * 320 + HIRESADDR};
-extern struct ctk_hires_theme ctk_hires_theme;
-struct ctk_hires_theme *ctk_hires_theme_ptr = &ctk_hires_theme;
-/*-----------------------------------------------------------------------------------*/
-#define hires_wherex() ctk_hires_cursx
-#define hires_revers(c) ctk_hires_reversed = c
-#define hires_color(c) ctk_hires_color = c
-#define hires_underline(c) ctk_hires_underline = c
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-hires_cvline(unsigned char length)
-{
- static unsigned char i;
-
- for(i = 0; i < length; ++i) {
- ctk_hires_cputc('|');
- --ctk_hires_cursx;
- ++ctk_hires_cursy;
- }
-}
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-hires_gotoxy(unsigned char x, unsigned char y)
-{
- ctk_hires_cursx = x;
- ctk_hires_cursy = y;
-}
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-hires_cclearxy(unsigned char x, unsigned char y, unsigned char length)
-{
- hires_gotoxy(x, y);
- ctk_hires_cclear(length);
-}
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-hires_chlinexy(unsigned char x, unsigned char y, unsigned char length)
-{
- hires_gotoxy(x, y);
- ctk_hires_chline(length);
-}
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-hires_cvlinexy(unsigned char x, unsigned char y, unsigned char length)
-{
- hires_gotoxy(x, y);
- hires_cvline(length);
-}
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-hires_cputcxy(unsigned char x, unsigned char y, char c)
-{
- hires_gotoxy(x, y);
- ctk_hires_cputc(c);
-}
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-clear_line(unsigned char line)
-{
- lineptr = line;
- asm("lda %v", lineptr);
- asm("asl");
- asm("tax");
- asm("lda %v,x", ctk_hires_yhiresaddr);
- asm("sta ptr2");
- asm("lda %v+1,x", ctk_hires_yhiresaddr);
- asm("sta ptr2+1");
- asm("lda %v,x", ctk_hires_yscreenaddr);
- asm("sta ptr1");
- asm("lda %v+1,x", ctk_hires_yscreenaddr);
- asm("sta ptr1+1");
-
-
- asm("sei");
- asm("lda $01");
- asm("pha");
- asm("lda #$30");
- asm("sta $01");
- asm("ldy #39");
- asm("ldx %v", lineptr);
- asm("lda %v+%w,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpatterncolors));
- asm("clearlineloop1:");
- asm("sta (ptr1),y");
- asm("dey");
- asm("bpl clearlineloop1");
- asm("pla");
- asm("sta $01");
- asm("cli");
-
-
- asm("lda %v", lineptr);
- /* asm("and #7");*/
- asm("asl");
- asm("asl");
- asm("asl");
- asm("tax");
- asm("ldy #0");
- asm("clearlineloop2:");
- asm("lda %v+%w+0,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+1,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+2,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+3,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+4,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+5,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+6,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+7,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("bne clearlineloop2");
-
- asm("inc ptr2+1");
-
- asm("ldy #0");
- asm("clearlineloop3:");
- asm("lda %v+%w+0,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+1,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+2,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+3,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+4,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+5,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+6,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+7,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("cpy #$40");
- asm("bne clearlineloop3");
-
-
- if(lineptr == 24) {
- hires_color(ctk_hires_theme.backgroundpatterncolors[24]);
- hires_gotoxy(0, 24);
- ctk_hires_cputsn(CONTIKI_VERSION_STRING,
- sizeof(CONTIKI_VERSION_STRING) - 1);
- }
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-nmi2(void)
-{
- asm("pla");
- asm("sta $01");
- asm("pla");
- asm("rti");
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-nmi(void)
-{
- asm("sei");
- asm("pha");
- asm("inc $d020");
- asm("lda $01");
- asm("pha");
- asm("lda #$36");
- asm("sta $01");
- asm("lda #>_nmi2");
- asm("pha");
- asm("lda #<_nmi2");
- asm("pha");
- asm("php");
- asm("jmp ($0318)");
-
- nmi2();
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-setup_nmi(void)
-{
- asm("lda #<_nmi");
- asm("sta $fffa");
- asm("lda #>_nmi");
- asm("sta $fffb");
- return;
- nmi();
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-s_ctk_draw_init(void)
-{
- unsigned char i, *ptr1, *ptr2;
-
-
- setup_nmi();
-
- /* Turn on hires mode, bank 0 ($c000 - $ffff) and $e000/$c000 for
- hires/colors. */
- VIC.ctrl1 = 0x3b; /* $D011 */
- VIC.addr = 0x78; /* $D018 */
- VIC.ctrl2 = 0xc8; /* $D016 */
- CIA2.pra = 0x00; /* $DD00 */
-
- VIC.bordercolor = ctk_hires_theme.bordercolor; /* $D020 */
- VIC.bgcolor0 = ctk_hires_theme.screencolor; /* $D021 */
-
- /* Fill color memory. */
- asm("sei");
- asm("lda $01");
- asm("pha");
- asm("lda #$30");
- asm("sta $01");
- asm("ldx #0");
- asm("lda #$c0");
- asm("fillcolorloop:");
- asm("sta $dc00,x");
- asm("sta $dd00,x");
- asm("sta $de00,x");
- asm("sta $df00,x");
- asm("inx");
- asm("bne fillcolorloop");
-
- /* Setup sprite pointers */
- asm("ldx #$fd");
- asm("stx $dff8");
- asm("inx");
- asm("stx $dff9");
- asm("pla");
- asm("sta $01");
- asm("cli");
-
- /* Fill hires memory with 0. */
-
- asm("lda $fd");
- asm("pha");
- asm("lda $fe");
- asm("pha");
- asm("lda #0");
- asm("sta $fd");
- asm("lda #$e0");
- asm("sta $fe");
- asm("ldy #0");
- asm("lda #0");
- asm("clrscrnloop:");
- asm("lda #$55");
- asm("sta ($fd),y");
- asm("iny");
- asm("lda #$aa");
- asm("sta ($fd),y");
- asm("iny");
- asm("bne clrscrnloop");
- asm("inc $fe");
- asm("lda $fe");
- asm("cmp #$ff");
- asm("bne clrscrnloop");
-
- asm("ldy #$00");
- asm("clrscrnloop2:");
- asm("lda #$55");
- asm("sta $ff00,y");
- asm("iny");
- asm("lda #$aa");
- asm("sta $ff00,y");
- asm("iny");
- asm("cpy #$40");
- asm("bne clrscrnloop2");
-
-
- asm("pla");
- asm("sta $fe");
- asm("pla");
- asm("sta $fd");
-
-
- s_ctk_draw_clear(0, SCREEN_HEIGHT);
-
- /* Setup mouse pointer sprite. */
- asm("lda %v+%w", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, pointermaskcolor));
- asm("sta $d027");
- asm("lda %v+%w", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, pointercolor));
- asm("sta $d028");
-
- ptr1 = ctk_hires_theme.pointer;
- ptr2 = (unsigned char *)0xff40;
-
- for(i = 0; i < 0x80; ++i) {
- *ptr2++ = *ptr1++;
- }
-
- return;
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-draw_widget(register struct ctk_widget *w,
- unsigned char x, unsigned char y,
- unsigned char clipy1, unsigned char clipy2,
- unsigned char afocus)
-{
- static unsigned char xpos, ypos, xscroll;
- static unsigned char i;
- static char c;
- static unsigned char len;
- static unsigned char tmp;
- static unsigned char yclipped;
- static unsigned char focus;
- char *text;
-
- xpos = x + w->x;
- ypos = y + w->y;
-
- yclipped = 0;
- if(ypos >= clipy1 && ypos < clipy2) {
- yclipped = 1;
- }
- focus = afocus;
-
-
- switch(w->type) {
- case CTK_WIDGET_SEPARATOR:
- hires_color(ctk_hires_theme.separatorcolors[focus]);
- if(yclipped) {
- hires_chlinexy(xpos, ypos, w->w);
- }
- break;
- case CTK_WIDGET_LABEL:
- hires_color(ctk_hires_theme.labelcolors[focus]);
- text = w->widget.label.text;
- for(i = 0; i < w->h; ++i) {
- if(ypos >= clipy1 && ypos < clipy2) {
- hires_gotoxy(xpos, ypos);
- ctk_hires_cputsn(text, w->w);
- tmp = w->w - (hires_wherex() - xpos);
- if(tmp > 0) {
- ctk_hires_cclear(tmp);
- }
- }
- ++ypos;
- text += w->w;
- }
- break;
- case CTK_WIDGET_BUTTON:
- if(yclipped) {
- hires_color(ctk_hires_theme.buttonleftcolors[focus]);
- hires_gotoxy(xpos, ypos);
- ctk_hires_draw_buttonleft();
- hires_color(ctk_hires_theme.buttoncolors[focus]);
- hires_gotoxy(xpos + 1, ypos);
- ctk_hires_cputsn(w->widget.button.text, w->w);
- hires_color(ctk_hires_theme.buttonrightcolors[focus]);
- ctk_hires_draw_buttonright();
- }
- break;
- case CTK_WIDGET_HYPERLINK:
- if(yclipped) {
- hires_color(ctk_hires_theme.hyperlinkcolors[focus]);
- hires_underline(1);
- hires_gotoxy(xpos, ypos);
- ctk_hires_cputsn(w->widget.button.text, w->w);
- hires_underline(0);
- }
- break;
- case CTK_WIDGET_TEXTENTRY:
- if(yclipped) {
- hires_color(ctk_hires_theme.textentrycolors[focus]);
-
- if((focus & CTK_FOCUS_WIDGET) &&
- w->widget.textentry.state != CTK_TEXTENTRY_EDIT) {
- hires_revers(1);
- } else {
- hires_revers(0);
- }
- xscroll = 0;
- tmp = w->w - 1;
- if(w->widget.textentry.xpos >= tmp) {
- xscroll = w->widget.textentry.xpos - tmp;
- }
- text = w->widget.textentry.text;
- if(w->widget.textentry.state == CTK_TEXTENTRY_EDIT) {
- hires_revers(0);
- hires_cputcxy(xpos, ypos, '>');
- text += xscroll;
- for(i = 0; i < w->w; ++i) {
- c = *text;
- if(i == w->widget.textentry.xpos - xscroll) {
- hires_revers(1);
- } else {
- hires_revers(0);
- }
- if(c == 0) {
- ctk_hires_cputc(' ');
- } else {
- ctk_hires_cputc(c);
- }
- hires_revers(0);
- ++text;
- }
- ctk_hires_cputc('<');
- } else {
- hires_cputcxy(xpos, ypos, '|');
- /* hires_gotoxy(xpos + 1, ypos); */
- ctk_hires_cputsn(text, w->w);
- i = hires_wherex();
- tmp = i - xpos - 1;
- if(tmp < w->w) {
- ctk_hires_cclear(w->w - tmp);
- }
- ctk_hires_cputc('|');
- }
- }
- hires_revers(0);
- break;
- case CTK_WIDGET_ICON:
- if(yclipped) {
- hires_color(ctk_hires_theme.iconcolors[focus]);
-
- x = xpos;
- len = strlen(w->widget.icon.title);
- if(x + len >= SCREEN_WIDTH) {
- x = SCREEN_WIDTH - len;
- }
-
- tmp = ypos + 3;
-
- if(tmp < clipy2) {
- hires_gotoxy(x, tmp);
- ctk_hires_cputsn(w->widget.icon.title, len);
- }
-
- hires_gotoxy(xpos, ypos);
- if(w->widget.icon.bitmap != NULL) {
- ctk_hires_bitmapptr = w->widget.icon.bitmap;
- for(i = 0; i < 3; ++i) {
- if(ypos >= clipy1 && ypos < clipy2) {
- hires_gotoxy(xpos, ypos);
- ctk_hires_draw_bitmapline(3);
- }
- ctk_hires_bitmapptr += 3 * 8;
- ++ypos;
- }
-
- /* draw_bitmap_icon(w->widget.icon.bitmap);*/
- }
-
- }
- break;
- case CTK_WIDGET_BITMAP:
- hires_color(ctk_hires_theme.bitmapcolors[focus]);
- ctk_hires_bitmapptr = w->widget.bitmap.bitmap;
- for(i = 0; i < w->h; ++i) {
- if(ypos >= clipy1 && ypos < clipy2) {
- hires_gotoxy(xpos, ypos);
- ctk_hires_draw_bitmapline(w->w);
- }
- ctk_hires_bitmapptr += w->w * 8;
- ++ypos;
- }
- break;
-
- default:
- break;
- }
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_widget(struct ctk_widget *w,
- unsigned char focus,
- unsigned char clipy1,
- unsigned char clipy2)
-{
- struct ctk_window *win = w->window;
- unsigned char posx, posy;
-
- posx = win->x + 1;
- posy = win->y + 2;
-
- if(w == win->focused) {
- focus |= CTK_FOCUS_WIDGET;
- }
-
- draw_widget(w, posx, posy,
- clipy1, clipy2,
- focus);
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_clear_window(register struct ctk_window *window,
- unsigned char focus,
- unsigned char clipy1,
- unsigned char clipy2)
-{
- static unsigned char h;
-
- hires_color(ctk_hires_theme.windowcolors[focus]);
-
- h = window->y + 2 + window->h;
- /* Clear window contents. */
- for(i = window->y + 2; i < h; ++i) {
- if(i >= clipy1 && i <= clipy2) {
- hires_cclearxy(window->x + 1, i, window->w);
- }
- }
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_window(register struct ctk_window *window,
- unsigned char focus,
- unsigned char clipy1, unsigned char clipy2)
-{
- register struct ctk_widget *w;
-
- x = window->x;
- y = window->y + 1;
-
- ++clipy2;
-
- if(clipy2 <= y) {
- return;
- }
-
- /* hires_color(ctk_hires_theme.windowcolors[focus+1]);*/
-
- x1 = x + 1;
- y1 = y + 1;
- /* x2 = x1 + window->w;
- y2 = y1 + window->h;*/
-
- hires_gotoxy(x, y);
- ctk_hires_windowparams.w = window->w;
- ctk_hires_windowparams.h = window->h;
- if(clipy1 < y) {
- ctk_hires_windowparams.clipy1 = 0;
- } else {
- ctk_hires_windowparams.clipy1 = clipy1 - y;
- }
- ctk_hires_windowparams.clipy2 = clipy2 - y;
- ctk_hires_windowparams.color1 = ctk_hires_theme.windowcolors[focus+1];
- ctk_hires_windowparams.color2 = ctk_hires_theme.windowcolors[focus];
- ctk_hires_windowparams.title = window->title;
- ctk_hires_windowparams.titlelen = window->titlelen;
-
- if(ctk_hires_windowparams.clipy1 < ctk_hires_windowparams.clipy2 &&
- ctk_hires_windowparams.clipy2 > 0) {
- ctk_hires_draw_windowborders();
- }
-
- focus = focus & CTK_FOCUS_WINDOW;
-
- /* Draw inactive widgets. */
- for(w = window->inactive; w != NULL; w = w->next) {
- draw_widget(w, x1, y1,
- clipy1, clipy2,
- focus);
- }
-
- /* Draw active widgets. */
- for(w = window->active; w != NULL; w = w->next) {
- wfocus = focus;
- if(w == window->focused) {
- wfocus |= CTK_FOCUS_WIDGET;
- }
- draw_widget(w, x1, y1,
- clipy1, clipy2,
- wfocus);
- }
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_dialog(register struct ctk_window *dialog)
-{
- register struct ctk_widget *w;
-
- hires_color(ctk_hires_theme.windowcolors[CTK_FOCUS_DIALOG]);
-
- /* x = (SCREEN_WIDTH - dialog->w) / 2;
- y = (SCREEN_HEIGHT - 1 - dialog->h) / 2; */
- x = dialog->x;
- y = dialog->y + 1;
-
-
- x1 = x + 1;
- y1 = y + 1;
- x2 = x1 + dialog->w;
- y2 = y1 + dialog->h;
-
-
- /* Draw dialog frame. */
-
- hires_cvlinexy(x, y1, dialog->h);
- hires_cvlinexy(x2, y1, dialog->h);
-
- hires_chlinexy(x1, y, dialog->w);
- hires_chlinexy(x1, y2, dialog->w);
-
- hires_cputcxy(x, y, CH_ULCORNER);
- hires_cputcxy(x, y2, CH_LLCORNER);
- hires_cputcxy(x2, y, CH_URCORNER);
- hires_cputcxy(x2, y2, CH_LRCORNER);
-
-
- /* Clear window contents. */
- for(i = y1; i < y2; ++i) {
- hires_cclearxy(x1, i, dialog->w);
- }
-
- /* Draw inactive widgets. */
- for(w = dialog->inactive; w != NULL; w = w->next) {
- draw_widget(w, x1, y1,
- 0, SCREEN_HEIGHT, CTK_FOCUS_DIALOG);
- }
-
-
- /* Draw active widgets. */
- for(w = dialog->active; w != NULL; w = w->next) {
- wfocus = CTK_FOCUS_DIALOG;
- if(w == dialog->focused) {
- wfocus |= CTK_FOCUS_WIDGET;
- }
- draw_widget(w, x1, y1,
- 0, SCREEN_HEIGHT, wfocus);
- }
-
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_clear(unsigned char y1, unsigned char y2)
-{
- for(i = y1; i < y2; ++i) {
- clear_line(i);
- }
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-draw_menu(register struct ctk_menu *m)
-{
- static unsigned char x, x2, y;
-
- hires_color(ctk_hires_theme.openmenucolor);
- x = hires_wherex();
- ctk_hires_cputsn(m->title, m->titlelen);
- ctk_hires_cputc(' ');
- x2 = hires_wherex();
- if(x + CTK_CONF_MENUWIDTH > SCREEN_WIDTH) {
- x = SCREEN_WIDTH - CTK_CONF_MENUWIDTH;
- }
- for(y = 0; y < m->nitems; ++y) {
- if(y == m->active) {
- hires_color(ctk_hires_theme.activemenucolor);
- } else {
- hires_color(ctk_hires_theme.menucolor);
- }
- hires_gotoxy(x, y + 1);
- if(m->items[y].title[0] == '-') {
- ctk_hires_chline(CTK_CONF_MENUWIDTH);
- } else {
- ctk_hires_cputsn(m->items[y].title,
- strlen(m->items[y].title));
- }
- ctk_hires_cclear(x + CTK_CONF_MENUWIDTH - hires_wherex());
- hires_revers(0);
- }
- hires_gotoxy(x2, 0);
- hires_color(ctk_hires_theme.menucolor);
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-s_ctk_draw_menus(struct ctk_menus *menus)
-{
- struct ctk_menu *m;
-
- /* Draw menus */
- hires_color(ctk_hires_theme.menucolor);
- hires_gotoxy(0, 0);
- hires_revers(0);
- ctk_hires_cputc(' ');
- for(m = menus->menus->next; m != NULL; m = m->next) {
- if(m != menus->open) {
- ctk_hires_cputsn(m->title, m->titlelen);
- ctk_hires_cputc(' ');
- } else {
- draw_menu(m);
- }
- }
- ctk_hires_cclear(SCREEN_WIDTH - hires_wherex() -
- strlen(menus->desktopmenu->title) - 1);
-
- /* Draw desktopmenu */
- if(menus->desktopmenu != menus->open) {
- ctk_hires_cputsn(menus->desktopmenu->title,
- menus->desktopmenu->titlelen);
- ctk_hires_cputc(' ');
- } else {
- draw_menu(menus->desktopmenu);
- }
-
-}
-/*-----------------------------------------------------------------------------------*/
-static unsigned char
-s_ctk_draw_height(void)
-{
- return SCREEN_HEIGHT;
-}
-/*-----------------------------------------------------------------------------------*/
-static unsigned char
-s_ctk_draw_width(void)
-{
- return SCREEN_WIDTH;
-}
-/*-----------------------------------------------------------------------------------*/
-static unsigned short
-s_ctk_mouse_xtoc(unsigned short x)
-{
- return x / 8;
-}
-/*-----------------------------------------------------------------------------------*/
-static unsigned short
-s_ctk_mouse_ytoc(unsigned short y)
-{
- return y / 8;
-}
-/*-----------------------------------------------------------------------------------*/
-static const struct ctk_draw_service_interface interface =
- {CTK_DRAW_SERVICE_VERSION,
- 1,
- 1,
- 1,
- s_ctk_draw_init,
- s_ctk_draw_clear,
- s_ctk_draw_clear_window,
- s_ctk_draw_window,
- s_ctk_draw_dialog,
- s_ctk_draw_widget,
- s_ctk_draw_menus,
- s_ctk_draw_width,
- s_ctk_draw_height,
- s_ctk_mouse_xtoc,
- s_ctk_mouse_ytoc,
- };
-
-EK_EVENTHANDLER(eventhandler, ev, data);
-EK_PROCESS(proc, CTK_DRAW_SERVICE_NAME ": hires", EK_PRIO_NORMAL,
- eventhandler, NULL, (void *)&interface);
-
-/*--------------------------------------------------------------------------*/
-LOADER_INIT_FUNC(ctk_conio_service_init, arg)
-{
- ek_service_start(CTK_DRAW_SERVICE_NAME, &proc);
-}
-/*--------------------------------------------------------------------------*/
-EK_EVENTHANDLER(eventhandler, ev, data)
-{
- EK_EVENTHANDLER_ARGS(ev, data);
-
- switch(ev) {
- case EK_EVENT_INIT:
- case EK_EVENT_REPLACE:
- s_ctk_draw_init();
- ctk_restore();
- break;
- case EK_EVENT_REQUEST_REPLACE:
- VIC.ctrl1 = 0x1b; /* $D011 */
- VIC.addr = 0x17; /* $D018 */
- VIC.ctrl2 = 0xc8; /* $D016 */
- CIA2.pra = 0x03; /* $DD00 */
- ek_replace((struct ek_proc *)data, NULL);
- LOADER_UNLOAD();
- break;
- }
-}
-/*--------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-blueround.c b/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-blueround.c
deleted file mode 100644
index 10fc27e..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-blueround.c
+++ /dev/null
@@ -1,313 +0,0 @@
- /*
- * Copyright (c) 2003, 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. 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 OS for the C64
- *
- * $Id: ctk-hires-theme-blueround.c,v 1.1 2006/04/17 15:11:51 kthacker Exp $
- *
- */
-
-#include <conio.h>
-#include "ctk-hires-theme.h"
-
-#define COLOR(bg, fg) ((fg << 4) | (bg))
-
-#define BGCOLOR1 0x06
-#define BGCOLOR2 0x00
-#define BGCOLOR3 0x06
-#define BGCOLOR4 0x00
-
-struct ctk_hires_theme ctk_hires_theme =
- {
- /* Version string. */
- /* char version[8]; */
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
-
- /* Window borders patterns. */
- /* unsigned char ulcorner[8], */ /* Upper left corner. */
- {0xfe,0xf8,0xe0,0xc0,0xc0,0x80,0x80,0x00},
-
- /* titlebar[8], */ /* Title bar pattern. */
- {0x00,0x55,0xaa,0x00,0xaa,0x00,0x00,0x00},
-
- /* urcorner[8], */ /* Upper right corner. */
- {0x7f,0x1f,0x07,0x03,0x03,0x01,0x01,0x00},
-
- /* rightborder[8], */ /* Right border. */
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
-
- /* lrcorner[8], */ /* Lower right corner. */
- {0x00,0x01,0x01,0x03,0x03,0x07,0x1f,0x7f},
-
- /* lowerborder[8], */ /* Lower border. */
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
-
- /* llcorner[8], */ /* Lower left corner. */
- {0x00,0x80,0x80,0xc0,0xc0,0xe0,0xf8,0xfe},
-
- /* leftborder[8]; */ /* Left border. */
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
-
- /* Button corner patterns. */
- /* unsigned char buttonleft[8], */
- {0x03,0x0f,0x1f,0x1f,0x1f,0x1f,0x0f,0x03},
-
- /* buttonright[8]; */
- {0xc0,0xf0,0xf8,0xf8,0xf8,0xf8,0xf0,0xc0},
-
- /* Menu border patterns. */
- /* unsigned char menuleftpattern[8], */
- {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
-
- /* menurightpatterns[8]; */
- {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
-
- /* Window and widget colors. */
- /* unsigned char windowcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_BLACK),
- COLOR(COLOR_BLACK, COLOR_BLACK),
- COLOR(COLOR_BLUE, COLOR_BLACK),
- COLOR(COLOR_BLUE, COLOR_BLACK),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE)},
-
- /* separatorcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_BLACK),
- COLOR(COLOR_BLUE, COLOR_BLACK),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE)},
-
- /* labelcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_LIGHTBLUE),
- COLOR(COLOR_BLUE, COLOR_LIGHTBLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE)},
-
- /* buttoncolors[6], */
- {COLOR(COLOR_BLUE, COLOR_BLACK),
- COLOR(COLOR_BLUE, COLOR_LIGHTBLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLACK),
- COLOR(COLOR_LIGHTBLUE, COLOR_CYAN),
- COLOR(COLOR_BLUE, COLOR_BLACK),
- COLOR(COLOR_BLUE, COLOR_CYAN)},
-
- /* hyperlinkcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_CYAN),
- COLOR(COLOR_BLUE, COLOR_WHITE),
- COLOR(COLOR_LIGHTBLUE, COLOR_CYAN),
- COLOR(COLOR_LIGHTBLUE, COLOR_WHITE)},
-
- /* textentrycolors[6], */
- {COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLACK, COLOR_LIGHTBLUE),
- COLOR(COLOR_BLACK, COLOR_LIGHTBLUE),
- COLOR(COLOR_BLACK, COLOR_CYAN),
- COLOR(COLOR_WHITE, COLOR_BLUE),
- COLOR(COLOR_WHITE, COLOR_BLACK)},
-
- /* bitmapcolors[6], */
- {COLOR(COLOR_BLUE, COLOR_BLACK),
- COLOR(COLOR_BLUE, COLOR_LIGHTBLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLACK),
- COLOR(COLOR_LIGHTBLUE, COLOR_CYAN),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLACK),
- COLOR(COLOR_LIGHTBLUE, COLOR_CYAN)},
-
- /* textmapcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_LIGHTBLUE),
- COLOR(COLOR_BLUE, COLOR_LIGHTBLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE)},
-
- /* iconcolors[6]; */
- {COLOR(COLOR_BLUE, COLOR_BLACK),
- COLOR(COLOR_BLUE, COLOR_LIGHTBLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_LIGHTBLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLACK),
- COLOR(COLOR_LIGHTBLUE, COLOR_CYAN)},
-
-
- /* Button corner colors. */
- /* unsigned char buttonleftcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_LIGHTBLUE),
- COLOR(COLOR_BLUE, COLOR_LIGHTBLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE)},
-
- /* buttonrightcolors[6]; */
- {COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_LIGHTBLUE),
- COLOR(COLOR_BLUE, COLOR_LIGHTBLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE),
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE)},
-
-
- /* Menu colors. */
- /* unsigned char menucolor,*/
- COLOR(COLOR_BLUE, COLOR_LIGHTBLUE),
-
- /* openmenucolor, */
- COLOR(COLOR_LIGHTBLUE, COLOR_BLUE),
-
- /* activemenucolor; */
- COLOR(COLOR_CYAN, COLOR_BLUE),
-
- /* Border and screen colors. */
- /* unsigned char bordercolor,*/
- 0,
-
- /* screencolor; */
- 0,
-
- /* Pointer sprite 0 color */
- /*unsigned char pointermaskcolor,*/
- 3,
-
- /* Pointer sprite 1 color */
- /* pointercolor; */
- 6,
-
-
- /* Pointer sprite. */
- /* unsigned char pointer[128]; */
- {0x00, 0x00, 0x00,
- 0x40, 0x00, 0x00,
- 0x60, 0x00, 0x00,
- 0x70, 0x00, 0x00,
- 0x78, 0x00, 0x00,
- 0x7c, 0x00, 0x00,
- 0x70, 0x00, 0x00,
- 0x58, 0x00, 0x00,
- 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00,
-
- 0xc0, 0x00, 0x00,
- 0xe0, 0x00, 0x00,
- 0xf0, 0x00, 0x00,
- 0xf8, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0xfe, 0x00, 0x00,
- 0xfe, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0x3c, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00 },
-
-
-
- /* Background pattern fill. */
- /* unsigned char backgroundpattern[8*25]; */
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x10,0x38,0x10,0x00,0x00,0x00,
- 0x00,0x00,0x18,0x3c,0x3c,0x18,0x00,0x00,
- 0x00,0x18,0x3c,0x7e,0x7e,0x3c,0x18,0x00,
- 0x00,0x3c,0x7e,0x7e,0x7e,0x7e,0x3c,0x00,
- 0x3c,0x7e,0xff,0xff,0xff,0xff,0x7e,0x3c,
- 0x7e,0xff,0xff,0xff,0xff,0xff,0xff,0x7e,
-
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x10,0x38,0x10,0x00,0x00,0x00,
- 0x00,0x00,0x18,0x3c,0x3c,0x18,0x00,0x00,
- 0x00,0x18,0x3c,0x7e,0x7e,0x3c,0x18,0x00,
- 0x00,0x3c,0x7e,0x7e,0x7e,0x7e,0x3c,0x00,
- 0x3c,0x7e,0xff,0xff,0xff,0xff,0x7e,0x3c,
- 0x7e,0xff,0xff,0xff,0xff,0xff,0xff,0x7e,
-
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x10,0x38,0x10,0x00,0x00,0x00,
- 0x00,0x00,0x18,0x3c,0x3c,0x18,0x00,0x00,
- 0x00,0x18,0x3c,0x7e,0x7e,0x3c,0x18,0x00,
- 0x00,0x3c,0x7e,0x7e,0x7e,0x7e,0x3c,0x00,
- 0x3c,0x7e,0xff,0xff,0xff,0xff,0x7e,0x3c,
- 0x7e,0xff,0xff,0xff,0xff,0xff,0xff,0x7e,
-
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- },
-
- /* Background colors. */
- /* unsigned char backgroundpatterncolors[25]; */
- {
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
-
- COLOR(BGCOLOR2,BGCOLOR3),COLOR(BGCOLOR2,BGCOLOR3),
- COLOR(BGCOLOR2,BGCOLOR3),COLOR(BGCOLOR2,BGCOLOR3),
- COLOR(BGCOLOR2,BGCOLOR3),COLOR(BGCOLOR2,BGCOLOR3),
- COLOR(BGCOLOR2,BGCOLOR3),COLOR(BGCOLOR2,BGCOLOR3),
-
- COLOR(BGCOLOR3,BGCOLOR4),COLOR(BGCOLOR3,BGCOLOR4),
- COLOR(BGCOLOR3,BGCOLOR4),COLOR(BGCOLOR3,BGCOLOR4),
- COLOR(BGCOLOR3,BGCOLOR4),COLOR(BGCOLOR3,BGCOLOR4),
- COLOR(BGCOLOR3,BGCOLOR4),COLOR(BGCOLOR3,BGCOLOR4),
-
- COLOR(BGCOLOR4,BGCOLOR4)},
-
-
-
- };
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-default.c b/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-default.c
deleted file mode 100644
index ad8b430..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-default.c
+++ /dev/null
@@ -1,303 +0,0 @@
- /*
- * Copyright (c) 2003, 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. 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 OS for the C64
- *
- * $Id: ctk-hires-theme-default.c,v 1.1 2006/04/17 15:11:51 kthacker Exp $
- *
- */
-
-#include <conio.h>
-#include "ctk-hires-theme.h"
-
-#define COLOR(bg, fg) ((fg << 4) | (bg))
-
-#define BGCOLOR1 7
-#define BGCOLOR2 10
-#define BGCOLOR3 4
-#define BGCOLOR4 6
-
-struct ctk_hires_theme ctk_hires_theme =
- {
- /* Version string. */
- /* char version[8]; */
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
-
- /* Window borders patterns. */
- /* unsigned char ulcorner[8], */ /* Upper left corner. */
- {0xff,0xff,0xc0,0xcf,0xc0,0xc3,0xc0,0xc0},
-
- /* titlebar[8], */ /* Title bar pattern. */
- {0xff,0xff,0x00,0xff,0x00,0xff,0x00,0x00},
-
- /* urcorner[8], */ /* Upper right corner. */
- {0xff,0xfc,0x00,0xf0,0x00,0xc0,0x00,0x00},
-
- /* rightborder[8], */ /* Right border. */
- {0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b},
-
- /* lrcorner[8], */ /* Lower right corner. */
- {0x0b,0x0b,0x0b,0x0b,0xfb,0x03,0xff,0xff},
-
- /* lowerborder[8], */ /* Lower border. */
- {0x00,0x00,0x00,0x00,0xff,0x00,0xff,0xff},
-
- /* llcorner[8], */ /* Lower left corner. */
- {0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x80,0x00},
-
- /* leftborder[8]; */ /* Left border. */
- {0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0},
-
- /* Button corner patterns. */
- /* unsigned char buttonleft[8], */
- {0xc5,0xdf,0xdf,0xdf,0xdf,0xdf,0xdf,0xdf},
-
- /* buttonright[8]; */
- {0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xfb,0xa3},
-
- /* Menu border patterns. */
- /* unsigned char menuleftpattern[8], */
- {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
-
- /* menurightpatterns[8]; */
- {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
-
- /* Window and widget colors. */
- /* unsigned char windowcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY3),
- COLOR(COLOR_GRAY3, COLOR_GRAY1),
- COLOR(COLOR_GRAY3, COLOR_WHITE),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK)},
-
- /* separatorcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY3, COLOR_GRAY2),
- COLOR(COLOR_GRAY3, COLOR_GRAY2),
- COLOR(COLOR_WHITE, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_GRAY1)},
-
- /* labelcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK)},
-
- /* buttoncolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_GRAY3, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY3),
- COLOR(COLOR_GRAY3, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY3)},
-
- /* hyperlinkcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_LIGHTBLUE),
- COLOR(COLOR_GRAY2, COLOR_LIGHTBLUE),
- COLOR(COLOR_WHITE, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_WHITE),
- COLOR(COLOR_WHITE, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_WHITE)},
-
- /* textentrycolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK)},
-
- /* bitmapcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_GRAY1),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK)},
-
- /* textmapcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK)},
-
- /* iconcolors[6]; */
- {COLOR(COLOR_GRAY3, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_BLACK, COLOR_YELLOW),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_BLACK, COLOR_YELLOW)},
-
-
- /* Button corner colors. */
- /* unsigned char buttonleftcolors[6], */
- {COLOR(COLOR_GRAY3, COLOR_GRAY2),
- COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_WHITE, COLOR_GRAY3),
- COLOR(COLOR_GRAY1, COLOR_GRAY3),
- COLOR(COLOR_WHITE, COLOR_GRAY3),
- COLOR(COLOR_GRAY1, COLOR_GRAY3)},
-
- /* buttonrightcolors[6]; */
- {COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_GRAY3, COLOR_GRAY2),
- COLOR(COLOR_GRAY1, COLOR_GRAY3),
- COLOR(COLOR_WHITE, COLOR_GRAY3),
- COLOR(COLOR_GRAY1, COLOR_GRAY3),
- COLOR(COLOR_WHITE, COLOR_GRAY3)},
-
-
- /* Menu colors. */
- /* unsigned char menucolor,*/
- COLOR(COLOR_YELLOW, COLOR_BLACK),
-
- /* openmenucolor, */
- COLOR(COLOR_BLACK, COLOR_YELLOW),
-
- /* activemenucolor; */
- COLOR(COLOR_WHITE, COLOR_BLACK),
-
- /* Border and screen colors. */
- /* unsigned char bordercolor,*/
- 6,
-
- /* screencolor; */
- 0,
-
- /* Pointer sprite 0 color */
- 0,
-
- /* Pointer sprite 1 color */
- 1,
-
-
- /* Pointer sprite. */
- /* unsigned char pointer[128]; */
- {0x00, 0x00, 0x00,
- 0x40, 0x00, 0x00,
- 0x60, 0x00, 0x00,
- 0x70, 0x00, 0x00,
- 0x78, 0x00, 0x00,
- 0x7c, 0x00, 0x00,
- 0x70, 0x00, 0x00,
- 0x58, 0x00, 0x00,
- 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00,
-
- 0xc0, 0x00, 0x00,
- 0xe0, 0x00, 0x00,
- 0xf0, 0x00, 0x00,
- 0xf8, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0xfe, 0x00, 0x00,
- 0xfe, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0x3c, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00 },
-
-
-
- /* Background pattern fill. */
- /* unsigned char backgroundpattern[8*25]; */
- {0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xdd,0xff,0x77,0xff,0xdd,0xff,0x77,
- 0xff,0x55,0xff,0x55,0xff,0x55,0xff,0x55,
- 0xee,0x55,0xbb,0x55,0xee,0x55,0xbb,0x55,
- 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
- 0xaa,0x44,0xaa,0x11,0xaa,0x44,0xaa,0x11,
- 0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,
- 0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xdd,0xff,0x77,0xff,0xdd,0xff,0x77,
- 0xff,0x55,0xff,0x55,0xff,0x55,0xff,0x55,
- 0xee,0x55,0xbb,0x55,0xee,0x55,0xbb,0x55,
- 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
- 0xaa,0x44,0xaa,0x11,0xaa,0x44,0xaa,0x11,
- 0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,
- 0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xdd,0xff,0x77,0xff,0xdd,0xff,0x77,
- 0xff,0x55,0xff,0x55,0xff,0x55,0xff,0x55,
- 0xee,0x55,0xbb,0x55,0xee,0x55,0xbb,0x55,
- 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
- 0xaa,0x44,0xaa,0x11,0xaa,0x44,0xaa,0x11,
- 0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,
- 0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00},
-
- /* Background colors. */
- /* unsigned char backgroundpatterncolors[25]; */
- {COLOR(BGCOLOR1,BGCOLOR1),
- COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
- COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
- COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
- COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
- COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
- COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
- COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
- COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
- COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
- COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
- COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
- COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3)},
-
-
-
- };
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-enabler.c b/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-enabler.c
deleted file mode 100644
index 996a558..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-enabler.c
+++ /dev/null
@@ -1,303 +0,0 @@
- /*
- * Copyright (c) 2003, 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. 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 OS for the C64
- *
- * $Id: ctk-hires-theme-enabler.c,v 1.1 2006/04/17 15:11:52 kthacker Exp $
- *
- */
-
-#include <conio.h>
-#include "ctk-hires-theme.h"
-
-#define COLOR(bg, fg) ((fg << 4) | (bg))
-
-#define BGCOLOR1 0x0f
-#define BGCOLOR2 0x0c
-#define BGCOLOR3 0x0b
-#define BGCOLOR4 0x00
-
-struct ctk_hires_theme ctk_hires_theme =
- {
- /* Version string. */
- /* char version[8]; */
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
-
- /* Window borders patterns. */
- /* unsigned char ulcorner[8], */ /* Upper left corner. */
- {0xff,0xfc,0xf0,0xf0,0xe0,0xe0,0xe0,0xe0},
-
- /* titlebar[8], */ /* Title bar pattern. */
- {0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00},
-
- /* urcorner[8], */ /* Upper right corner. */
- {0xff,0x3f,0x0f,0x0f,0x07,0x07,0x07,0x07},
-
- /* rightborder[8], */ /* Right border. */
- {0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07},
-
- /* lrcorner[8], */ /* Lower right corner. */
- {0x07,0x07,0x0f,0x0f,0x3f,0xff,0xff,0xff},
-
- /* lowerborder[8], */ /* Lower border. */
- {0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff},
-
- /* llcorner[8], */ /* Lower left corner. */
- {0xe0,0xe0,0xf0,0xf0,0xfc,0xff,0xff,0xff},
-
- /* leftborder[8]; */ /* Left border. */
- {0xe0,0xe0,0xe0,0xe0,0xe0,0xe0,0xe0,0xe0},
-
- /* Button corner patterns. */
- /* unsigned char buttonleft[8], */
- {0x03,0x0f,0x1f,0x1f,0x1f,0x1f,0x0f,0x03},
-
- /* buttonright[8]; */
- {0xc0,0xf0,0xf8,0xf8,0xf8,0xf8,0xf0,0xc0},
-
- /* Menu border patterns. */
- /* unsigned char menuleftpattern[8], */
- {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
-
- /* menurightpatterns[8]; */
- {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
-
- /* Window and widget colors. */
- /* unsigned char windowcolors[6], */
- {COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK)},
-
- /* separatorcolors[6], */
- {COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_GRAY2, COLOR_GRAY3),
- COLOR(COLOR_GRAY2, COLOR_GRAY3),
- COLOR(COLOR_WHITE, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_GRAY1)},
-
- /* labelcolors[6], */
- {COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK)},
-
- /* buttoncolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_GRAY3, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY3),
- COLOR(COLOR_GRAY3, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY3)},
-
- /* hyperlinkcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_LIGHTBLUE),
- COLOR(COLOR_GRAY2, COLOR_LIGHTBLUE),
- COLOR(COLOR_GRAY2, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_GRAY2),
- COLOR(COLOR_WHITE, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_WHITE)},
-
- /* textentrycolors[6], */
- {COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK)},
-
- /* bitmapcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_GRAY1),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK)},
-
- /* textmapcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK)},
-
- /* iconcolors[6]; */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_GRAY3, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GRAY3),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_BLACK, COLOR_YELLOW)},
-
-
- /* Button corner colors. */
- /* unsigned char buttonleftcolors[6], */
- {COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_GRAY1, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY3),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_GRAY3),
- COLOR(COLOR_WHITE, COLOR_GRAY1)},
-
- /* buttonrightcolors[6]; */
- {COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_GRAY1, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY3),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_GRAY3),
- COLOR(COLOR_WHITE, COLOR_GRAY1)},
-
-
- /* Menu colors. */
- /* unsigned char menucolor,*/
- COLOR(COLOR_GRAY3, COLOR_BLACK),
-
- /* openmenucolor, */
- COLOR(COLOR_GRAY1, COLOR_GRAY3),
-
- /* activemenucolor; */
- COLOR(COLOR_WHITE, COLOR_BLACK),
-
- /* Border and screen colors. */
- /* unsigned char bordercolor,*/
- 0,
-
- /* screencolor; */
- 0,
-
- /* Pointer sprite 0 color */
- 0,
-
- /* Pointer sprite 1 color */
- 1,
-
-
- /* Pointer sprite. */
- /* unsigned char pointer[128]; */
- {0x00, 0x00, 0x00,
- 0x40, 0x00, 0x00,
- 0x60, 0x00, 0x00,
- 0x70, 0x00, 0x00,
- 0x78, 0x00, 0x00,
- 0x7c, 0x00, 0x00,
- 0x70, 0x00, 0x00,
- 0x58, 0x00, 0x00,
- 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00,
-
- 0xc0, 0x00, 0x00,
- 0xe0, 0x00, 0x00,
- 0xf0, 0x00, 0x00,
- 0xf8, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0xfe, 0x00, 0x00,
- 0xfe, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0x3c, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00 },
-
-
-
- /* Background pattern fill. */
- /* unsigned char backgroundpattern[8*25]; */
- {0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xdd,0xff,0x77,0xff,0xdd,0xff,0x77,
- 0xff,0x55,0xff,0x55,0xff,0x55,0xff,0x55,
- 0xee,0x55,0xbb,0x55,0xee,0x55,0xbb,0x55,
- 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
- 0xaa,0x44,0xaa,0x11,0xaa,0x44,0xaa,0x11,
- 0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,
- 0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xdd,0xff,0x77,0xff,0xdd,0xff,0x77,
- 0xff,0x55,0xff,0x55,0xff,0x55,0xff,0x55,
- 0xee,0x55,0xbb,0x55,0xee,0x55,0xbb,0x55,
- 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
- 0xaa,0x44,0xaa,0x11,0xaa,0x44,0xaa,0x11,
- 0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,
- 0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00,
- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
- 0xff,0xdd,0xff,0x77,0xff,0xdd,0xff,0x77,
- 0xff,0x55,0xff,0x55,0xff,0x55,0xff,0x55,
- 0xee,0x55,0xbb,0x55,0xee,0x55,0xbb,0x55,
- 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,
- 0xaa,0x44,0xaa,0x11,0xaa,0x44,0xaa,0x11,
- 0xaa,0x00,0xaa,0x00,0xaa,0x00,0xaa,0x00,
- 0x88,0x00,0x22,0x00,0x88,0x00,0x22,0x00},
-
- /* Background colors. */
- /* unsigned char backgroundpatterncolors[25]; */
- {COLOR(BGCOLOR1,BGCOLOR1),
- COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
- COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
- COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
- COLOR(BGCOLOR2,BGCOLOR1),COLOR(BGCOLOR2,BGCOLOR1),
- COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
- COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
- COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
- COLOR(BGCOLOR3,BGCOLOR2),COLOR(BGCOLOR3,BGCOLOR2),
- COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
- COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
- COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3),
- COLOR(BGCOLOR4,BGCOLOR3),COLOR(BGCOLOR4,BGCOLOR3)},
-
-
-
- };
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-ravenpine.c b/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-ravenpine.c
deleted file mode 100644
index 71dd3fe..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-ravenpine.c
+++ /dev/null
@@ -1,288 +0,0 @@
- /*
- * Copyright (c) 2003, 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. 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 OS for the C64
- *
- * $Id: ctk-hires-theme-ravenpine.c,v 1.1 2006/04/17 15:11:52 kthacker Exp $
- *
- */
-
-#include <conio.h>
-#include "ctk-hires-theme.h"
-
-#define COLOR(bg, fg) ((fg << 4) | (bg))
-
-#define BGCOLOR1 0x00
-#define BGCOLOR2 0x05
-
-
-struct ctk_hires_theme ctk_hires_theme =
- {
- /* Version string. */
- /* char version[8]; */
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
-
- /* Window borders patterns. */
- /* unsigned char ulcorner[8], */ /* Upper left corner. */
- {0x00,0x3f,0x3f,0x30,0x30,0x30,0x30,0x30},
-
- /* titlebar[8], */ /* Title bar pattern. */
- {0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00},
-
- /* urcorner[8], */ /* Upper right corner. */
- {0x00,0xfc,0xfc,0x0c,0x0c,0x0c,0x0c,0x0c},
-
- /* rightborder[8], */ /* Right border. */
- {0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c},
-
- /* lrcorner[8], */ /* Lower right corner. */
- {0x0c,0x0c,0x0c,0x0c,0x0c,0xfc,0xfc,0x00},
-
- /* lowerborder[8], */ /* Lower border. */
- {0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00},
-
- /* llcorner[8], */ /* Lower left corner. */
- {0x30,0x30,0x30,0x30,0x30,0x3f,0x3f,0x00},
-
- /* leftborder[8]; */ /* Left border. */
- {0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30},
-
- /* Button corner patterns. */
- /* unsigned char buttonleft[8], */
- {0x3e,0x30,0x30,0x30,0x30,0x30,0x30,0x3c},
-
- /* buttonright[8]; */
- {0x1c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3c},
-
- /* Menu border patterns. */
- /* unsigned char menuleftpattern[8], */
- {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
-
- /* menurightpatterns[8]; */
- {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
-
- /* Window and widget colors. */
- /* unsigned char windowcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK)},
-
- /* separatorcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK)},
-
- /* labelcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK)},
-
- /* buttoncolors[6], */
- {COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_WHITE)},
-
- /* hyperlinkcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_BLACK, COLOR_BLUE),
- COLOR(COLOR_GREEN, COLOR_LIGHTBLUE),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLUE),
- COLOR(COLOR_LIGHTGREEN, COLOR_LIGHTBLUE)},
-
- /* textentrycolors[6], */
- {COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_BLACK, COLOR_LIGHTGREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_WHITE)},
-
-
- /* bitmapcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_GREEN, COLOR_WHITE)},
-
-
- /* textmapcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_GREEN, COLOR_WHITE)},
-
- /* iconcolors[6]; */
- {COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_GREEN, COLOR_WHITE)},
-
-
- /* Button corner colors. */
- /* unsigned char buttonleftcolors[6], */
- {COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_WHITE)},
-
- /* buttonrightcolors[6]; */
- {COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GRAY1),
- COLOR(COLOR_BLACK, COLOR_GREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_WHITE)},
-
-
- /* Menu colors. */
- /* unsigned char menucolor,*/
- COLOR(COLOR_GREEN, COLOR_BLACK),
-
- /* openmenucolor, */
- COLOR(COLOR_BLACK, COLOR_GREEN),
-
- /* activemenucolor; */
- COLOR(COLOR_LIGHTGREEN, COLOR_GREEN),
-
- /* Border and screen colors. */
- /* unsigned char bordercolor,*/
- 0,
-
- /* screencolor; */
- 0,
-
- /* Pointer sprite 0 color */
- COLOR_LIGHTGREEN,
-
- /* Pointer sprite 1 color */
- COLOR_GREEN,
-
-
- /* Pointer sprite. */
- /* unsigned char pointer[128]; */
- {0x00, 0x00, 0x00,
- 0x40, 0x00, 0x00,
- 0x60, 0x00, 0x00,
- 0x70, 0x00, 0x00,
- 0x78, 0x00, 0x00,
- 0x7c, 0x00, 0x00,
- 0x70, 0x00, 0x00,
- 0x58, 0x00, 0x00,
- 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00,
-
- 0xc0, 0x00, 0x00,
- 0xe0, 0x00, 0x00,
- 0xf0, 0x00, 0x00,
- 0xf8, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0xfe, 0x00, 0x00,
- 0xfe, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0x3c, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00 },
-
-
-
- /* Background pattern fill. */
- /* unsigned char backgroundpattern[8*25]; */
- {
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,
- 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,
- },
- /* Background colors. */
- /* unsigned char backgroundpatterncolors[25]; */
- {COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2)},
-
-
-
- };
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-springlight.c b/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-springlight.c
deleted file mode 100644
index 0dcdf2e..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme-springlight.c
+++ /dev/null
@@ -1,284 +0,0 @@
- /*
- * Copyright (c) 2003, 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. 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 OS for the C64
- *
- * $Id: ctk-hires-theme-springlight.c,v 1.1 2006/04/17 15:11:53 kthacker Exp $
- *
- */
-
-#include <conio.h>
-#include "ctk-hires-theme.h"
-
-#define COLOR(bg, fg) ((fg << 4) | (bg))
-
-#define BGCOLOR1 0x05
-#define BGCOLOR2 0x0d
-
-
-struct ctk_hires_theme ctk_hires_theme =
- {
- /* Version string. */
- /* char version[8]; */
- {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
-
- /* Window borders patterns. */
- /* unsigned char ulcorner[8], */ /* Upper left corner. */
- {0x00,0x3f,0x6a,0x40,0x60,0x40,0x60,0x40},
-
- /* titlebar[8], */ /* Title bar pattern. */
- {0x00,0xff,0xaa,0x00,0x00,0x00,0x00,0x00},
-
- /* urcorner[8], */ /* Upper right corner. */
- {0x00,0xf0,0x20,0x00,0x00,0x00,0x00,0x00},
-
- /* rightborder[8], */ /* Right border. */
- {0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},
-
- /* lrcorner[8], */ /* Lower right corner. */
- {0x02,0x02,0x02,0x02,0x02,0x06,0xfc,0x00},
-
- /* lowerborder[8], */ /* Lower border. */
- {0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00},
-
- /* llcorner[8], */ /* Lower left corner. */
- {0x60,0x40,0x40,0x40,0x00,0x00,0x00,0x00},
-
- /* leftborder[8]; */ /* Left border. */
- {0x60,0x40,0x60,0x40,0x60,0x40,0x60,0x40},
-
- /* Button corner patterns. */
- /* unsigned char buttonleft[8], */
- {0x0f,0x18,0x10,0x10,0x10,0x10,0x10,0x00},
-
- /* buttonright[8]; */
- {0x00,0x08,0x08,0x08,0x08,0x08,0x18,0xf0},
-
- /* Menu border patterns. */
- /* unsigned char menuleftpattern[8], */
- {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
-
- /* menurightpatterns[8]; */
- {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff},
-
- /* Window and widget colors. */
- /* unsigned char windowcolors[6], */
- {COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_GRAY1, COLOR_GREEN),
- COLOR(COLOR_GREEN, COLOR_GRAY1),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK)},
-
- /* separatorcolors[6], */
- {COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_GRAY1, COLOR_GRAY2),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_GRAY1),
- COLOR(COLOR_LIGHTGREEN, COLOR_GRAY1)},
-
- /* labelcolors[6], */
- {COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK)},
-
- /* buttoncolors[6], */
- {COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_GRAY1, COLOR_GREEN),
- COLOR(COLOR_GREEN, COLOR_GRAY1),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_GRAY2),
- COLOR(COLOR_LIGHTGREEN, COLOR_WHITE)},
-
- /* hyperlinkcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_LIGHTBLUE),
- COLOR(COLOR_GRAY2, COLOR_LIGHTBLUE),
- COLOR(COLOR_GREEN, COLOR_CYAN),
- COLOR(COLOR_GREEN, COLOR_BLUE),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLUE),
- COLOR(COLOR_BLUE, COLOR_LIGHTGREEN)},
-
- /* textentrycolors[6], */
- {COLOR(COLOR_GREEN, COLOR_GRAY1),
- COLOR(COLOR_GREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_LIGHTGREEN, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK)},
-
- /* bitmapcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_GRAY1),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK),
- COLOR(COLOR_GRAY3, COLOR_BLACK)},
-
- /* textmapcolors[6], */
- {COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_GRAY2, COLOR_GRAY1),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_WHITE, COLOR_BLACK)},
-
- /* iconcolors[6]; */
- {COLOR(COLOR_GREEN, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_GREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_GRAY1),
- COLOR(COLOR_GRAY1, COLOR_LIGHTGREEN),
- COLOR(COLOR_WHITE, COLOR_BLACK),
- COLOR(COLOR_BLACK, COLOR_YELLOW)},
-
-
- /* Button corner colors. */
- /* unsigned char buttonleftcolors[6], */
- {COLOR(COLOR_GRAY1, COLOR_GREEN),
- COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_GREEN, COLOR_GRAY1),
- COLOR(COLOR_LIGHTGREEN, COLOR_WHITE),
- COLOR(COLOR_LIGHTGREEN, COLOR_GRAY2)},
-
- /* buttonrightcolors[6]; */
- {COLOR(COLOR_GRAY1, COLOR_BLACK),
- COLOR(COLOR_GRAY1, COLOR_GREEN),
- COLOR(COLOR_GREEN, COLOR_GRAY1),
- COLOR(COLOR_GREEN, COLOR_LIGHTGREEN),
- COLOR(COLOR_LIGHTGREEN, COLOR_GRAY2),
- COLOR(COLOR_LIGHTGREEN, COLOR_WHITE)},
-
-
- /* Menu colors. */
- /* unsigned char menucolor,*/
- COLOR(COLOR_LIGHTGREEN, COLOR_GRAY1),
-
- /* openmenucolor, */
- COLOR(COLOR_BLACK, COLOR_GREEN),
-
- /* activemenucolor; */
- COLOR(COLOR_BLACK, COLOR_LIGHTGREEN),
-
- /* Border and screen colors. */
- /* unsigned char bordercolor,*/
- 5,
-
- /* screencolor; */
- 0,
-
- /* Pointer sprite 0 color */
- COLOR_WHITE,
-
- /* Pointer sprite 1 color */
- COLOR_GREEN,
-
-
- /* Pointer sprite. */
- /* unsigned char pointer[128]; */
- {0x00, 0x00, 0x00,
- 0x40, 0x00, 0x00,
- 0x60, 0x00, 0x00,
- 0x70, 0x00, 0x00,
- 0x78, 0x00, 0x00,
- 0x7c, 0x00, 0x00,
- 0x70, 0x00, 0x00,
- 0x58, 0x00, 0x00,
- 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00,
-
- 0xc0, 0x00, 0x00,
- 0xe0, 0x00, 0x00,
- 0xf0, 0x00, 0x00,
- 0xf8, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0xfe, 0x00, 0x00,
- 0xfe, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0xfc, 0x00, 0x00,
- 0x3c, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00,
- 0x00 },
-
-
-
- /* Background pattern fill. */
- /* unsigned char backgroundpattern[8*25]; */
- {255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
-255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
-255, 255, 223, 255, 255, 247, 255, 255, 191, 247, 255, 255, 219, 255, 255, 187,
-255, 239, 251, 191, 239, 253, 223, 251, 223, 253, 183, 255, 213, 127, 237, 191,
-245, 95, 245, 223, 181, 255, 85, 255, 85, 219, 118, 219, 109, 219, 182, 109, 219, 182, 109, 219, 170, 109, 219, 170, 181, 173, 85, 218, 85, 173, 170, 85, 170, 85, 170, 85, 170, 85, 170, 85, 170, 146, 85, 146, 170, 82, 138, 50, 74, 164, 73,
-146, 84, 137, 82, 4, 169, 18, 164, 2, 168, 18, 68, 18, 160, 10, 32, 74, 0, 42, 128, 18, 64, 20, 0, 82, 0, 4, 80, 4, 0, 72, 2, 0, 16, 132, 0, 0, 72, 0, 0, 4, 64, 0, 0, 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
-
- /* Background colors. */
- /* unsigned char backgroundpatterncolors[25]; */
- {COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2),
- COLOR(BGCOLOR1,BGCOLOR2),COLOR(BGCOLOR1,BGCOLOR2)},
-
-
-
- };
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme.h b/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme.h
deleted file mode 100644
index 8659e07..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires-theme.h
+++ /dev/null
@@ -1,105 +0,0 @@
- /*
- * Copyright (c) 2003, 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. 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 OS for the C64
- *
- * $Id: ctk-hires-theme.h,v 1.1 2006/04/17 15:11:53 kthacker Exp $
- *
- */
-#ifndef __CTK_HIRES_THEME_H__
-#define __CTK_HIRES_THEME_H__
-
-struct ctk_hires_theme {
- /* Version string. */
- char version[8];
-
- /* Window borders patterns. */
- unsigned char ulcorner[8], /* Upper left corner. */
- titlebar[8], /* Title bar pattern. */
- urcorner[8], /* Upper right corner. */
- rightborder[8], /* Right border. */
- lrcorner[8], /* Lower right corner. */
- lowerborder[8], /* Lower border. */
- llcorner[8], /* Lower left corner. */
- leftborder[8]; /* Left border. */
-
- /* Button corner patterns. */
- unsigned char buttonleftpattern[8],
- buttonrightpattern[8];
-
- /* Menu border patterns. */
- unsigned char menuleftpattern[8],
- menurightpatterns[8];
-
-
-
- /* Window and widget colors. */
- unsigned char windowcolors[6],
- separatorcolors[6],
- labelcolors[6],
- buttoncolors[6],
- hyperlinkcolors[6],
- textentrycolors[6],
- bitmapcolors[6],
- textmapcolors[6],
- iconcolors[6];
-
-
- /* Button corner colors. */
- unsigned char buttonleftcolors[6],
- buttonrightcolors[6];
-
- /* Menu colors. */
- unsigned char menucolor,
- openmenucolor,
- activemenucolor;
-
- /* Border and screen colors. */
- unsigned char bordercolor,
- screencolor;
-
- /* Pointer sprite colors. */
- unsigned char pointermaskcolor,
- pointercolor;
-
- /* Pointer sprite. */
- unsigned char pointer[128];
-
- /* Background pattern fill. */
- unsigned char backgroundpattern[8*25];
-
- /* Background colors. */
- unsigned char backgroundpatterncolors[25];
-
-};
-
-extern struct ctk_hires_theme ctk_hires_theme;
-extern struct ctk_hires_theme *ctk_hires_theme_ptr;
-
-#endif /* __CTK_HIRES_THEME_H__ */
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires.c b/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires.c
deleted file mode 100644
index 49a2b8c..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires.c
+++ /dev/null
@@ -1,872 +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. 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 "ctk" console GUI toolkit for cc65
- *
- * $Id: ctk-hires.c,v 1.1 2006/04/17 15:11:54 kthacker Exp $
- *
- */
-
-#include "contiki-version.h"
-
-#include "ctk.h"
-#include "ctk-draw.h"
-#include "ctk-hires.h"
-#include "ctk-hires-asm.h"
-
-#include "ctk-hires-theme.h"
-
-#include <string.h>
-#include <ctype.h>
-
-#ifndef NULL
-#define NULL (void *)0
-#endif /* NULL */
-
-#define SCREEN_HEIGHT 25
-#define SCREEN_WIDTH 40
-
-#define SCREENADDR 0xdc00
-#define HIRESADDR 0xe000
-
-static unsigned char lineptr;
-
-unsigned char ctk_hires_cursx, ctk_hires_cursy;
-unsigned char ctk_hires_reversed;
-unsigned char ctk_hires_color;
-unsigned char ctk_hires_underline;
-
-/*static unsigned char cchar;
-
-static unsigned char tmp01;
-static unsigned char tmph, tmpl, tmpborder;
-static unsigned char *tmpptr;*/
-
-
-static unsigned char x, y, i;
-/*static unsigned char h;*/
-static unsigned char wfocus;
-static unsigned char x1, y1, x2, y2;
-
-struct ctk_hires_windowparams ctk_hires_windowparams;
-unsigned char *ctk_hires_bitmapptr;
-
-unsigned char ctk_draw_windowborder_height = 1;
-unsigned char ctk_draw_windowborder_width = 1;
-unsigned char ctk_draw_windowtitle_height = 1;
-
-/*-----------------------------------------------------------------------------------*/
-/* Tables. */
-
-unsigned short ctk_hires_yscreenaddr[25] =
- {0 * SCREEN_WIDTH + SCREENADDR, 1 * SCREEN_WIDTH + SCREENADDR,
- 2 * SCREEN_WIDTH + SCREENADDR, 3 * SCREEN_WIDTH + SCREENADDR,
- 4 * SCREEN_WIDTH + SCREENADDR, 5 * SCREEN_WIDTH + SCREENADDR,
- 6 * SCREEN_WIDTH + SCREENADDR, 7 * SCREEN_WIDTH + SCREENADDR,
- 8 * SCREEN_WIDTH + SCREENADDR, 9 * SCREEN_WIDTH + SCREENADDR,
- 10 * SCREEN_WIDTH + SCREENADDR, 11 * SCREEN_WIDTH + SCREENADDR,
- 12 * SCREEN_WIDTH + SCREENADDR, 13 * SCREEN_WIDTH + SCREENADDR,
- 14 * SCREEN_WIDTH + SCREENADDR, 15 * SCREEN_WIDTH + SCREENADDR,
- 16 * SCREEN_WIDTH + SCREENADDR, 17 * SCREEN_WIDTH + SCREENADDR,
- 18 * SCREEN_WIDTH + SCREENADDR, 19 * SCREEN_WIDTH + SCREENADDR,
- 20 * SCREEN_WIDTH + SCREENADDR, 21 * SCREEN_WIDTH + SCREENADDR,
- 22 * SCREEN_WIDTH + SCREENADDR, 23 * SCREEN_WIDTH + SCREENADDR,
- 24 * SCREEN_WIDTH + SCREENADDR};
-
-unsigned short ctk_hires_yhiresaddr[25] =
- {0 * 320 + HIRESADDR, 1 * 320 + HIRESADDR,
- 2 * 320 + HIRESADDR, 3 * 320 + HIRESADDR,
- 4 * 320 + HIRESADDR, 5 * 320 + HIRESADDR,
- 6 * 320 + HIRESADDR, 7 * 320 + HIRESADDR,
- 8 * 320 + HIRESADDR, 9 * 320 + HIRESADDR,
- 10 * 320 + HIRESADDR, 11 * 320 + HIRESADDR,
- 12 * 320 + HIRESADDR, 13 * 320 + HIRESADDR,
- 14 * 320 + HIRESADDR, 15 * 320 + HIRESADDR,
- 16 * 320 + HIRESADDR, 17 * 320 + HIRESADDR,
- 18 * 320 + HIRESADDR, 19 * 320 + HIRESADDR,
- 20 * 320 + HIRESADDR, 21 * 320 + HIRESADDR,
- 22 * 320 + HIRESADDR, 23 * 320 + HIRESADDR,
- 24 * 320 + HIRESADDR};
-extern struct ctk_hires_theme ctk_hires_theme;
-struct ctk_hires_theme *ctk_hires_theme_ptr = &ctk_hires_theme;
-/*-----------------------------------------------------------------------------------*/
-#define hires_wherex() ctk_hires_cursx
-#define hires_revers(c) ctk_hires_reversed = c
-#define hires_color(c) ctk_hires_color = c
-#define hires_underline(c) ctk_hires_underline = c
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-hires_cvline(unsigned char length)
-{
- static unsigned char i;
-
- for(i = 0; i < length; ++i) {
- ctk_hires_cputc('|');
- --ctk_hires_cursx;
- ++ctk_hires_cursy;
- }
-}
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-hires_gotoxy(unsigned char x, unsigned char y)
-{
- ctk_hires_cursx = x;
- ctk_hires_cursy = y;
-}
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-hires_cclearxy(unsigned char x, unsigned char y, unsigned char length)
-{
- hires_gotoxy(x, y);
- ctk_hires_cclear(length);
-}
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-hires_chlinexy(unsigned char x, unsigned char y, unsigned char length)
-{
- hires_gotoxy(x, y);
- ctk_hires_chline(length);
-}
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-hires_cvlinexy(unsigned char x, unsigned char y, unsigned char length)
-{
- hires_gotoxy(x, y);
- hires_cvline(length);
-}
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-hires_cputcxy(unsigned char x, unsigned char y, char c)
-{
- hires_gotoxy(x, y);
- ctk_hires_cputc(c);
-}
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-clear_line(unsigned char line)
-{
- lineptr = line;
- asm("lda %v", lineptr);
- asm("asl");
- asm("tax");
- asm("lda %v,x", ctk_hires_yhiresaddr);
- asm("sta ptr2");
- asm("lda %v+1,x", ctk_hires_yhiresaddr);
- asm("sta ptr2+1");
- asm("lda %v,x", ctk_hires_yscreenaddr);
- asm("sta ptr1");
- asm("lda %v+1,x", ctk_hires_yscreenaddr);
- asm("sta ptr1+1");
-
-
- asm("sei");
- asm("lda $01");
- asm("pha");
- asm("lda #$30");
- asm("sta $01");
- asm("ldy #39");
- asm("ldx %v", lineptr);
- asm("lda %v+%w,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpatterncolors));
- asm("clearlineloop1:");
- asm("sta (ptr1),y");
- asm("dey");
- asm("bpl clearlineloop1");
- asm("pla");
- asm("sta $01");
- asm("cli");
-
-
- asm("lda %v", lineptr);
- /* asm("and #7");*/
- asm("asl");
- asm("asl");
- asm("asl");
- asm("tax");
- asm("ldy #0");
- asm("clearlineloop2:");
- asm("lda %v+%w+0,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+1,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+2,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+3,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+4,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+5,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+6,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+7,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("bne clearlineloop2");
-
- asm("inc ptr2+1");
-
- asm("ldy #0");
- asm("clearlineloop3:");
- asm("lda %v+%w+0,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+1,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+2,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+3,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+4,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+5,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+6,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("lda %v+%w+7,x", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, backgroundpattern));
- asm("sta (ptr2),y");
- asm("iny");
- asm("cpy #$40");
- asm("bne clearlineloop3");
-
-
- if(lineptr == 24) {
- hires_color(ctk_hires_theme.backgroundpatterncolors[24]);
- hires_gotoxy(0, 24);
- ctk_hires_cputsn(CONTIKI_VERSION_STRING,
- sizeof(CONTIKI_VERSION_STRING) - 1);
- }
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-nmi2(void)
-{
- asm("pla");
- asm("sta $01");
- asm("pla");
- asm("rti");
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-nmi(void)
-{
- asm("sei");
- asm("pha");
- asm("inc $d020");
- asm("lda $01");
- asm("pha");
- asm("lda #$36");
- asm("sta $01");
- asm("lda #>_nmi2");
- asm("pha");
- asm("lda #<_nmi2");
- asm("pha");
- asm("php");
- asm("jmp ($0318)");
-
- nmi2();
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-setup_nmi(void)
-{
- asm("lda #<_nmi");
- asm("sta $fffa");
- asm("lda #>_nmi");
- asm("sta $fffb");
- return;
- nmi();
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-void
-ctk_draw_init(void)
-{
- unsigned char i, *ptr1, *ptr2;
-
-
- setup_nmi();
-
- /* Turn on hires mode, bank 0 ($c000 - $ffff) and $e000/$c000 for
- hires/colors. */
- VIC.ctrl1 = 0x3b; /* $D011 */
- VIC.addr = 0x78; /* $D018 */
- VIC.ctrl2 = 0xc8; /* $D016 */
- CIA2.pra = 0x00; /* $DD00 */
-
- VIC.bordercolor = ctk_hires_theme.bordercolor; /* $D020 */
- VIC.bgcolor0 = ctk_hires_theme.screencolor; /* $D021 */
-
- /* Fill color memory. */
- asm("sei");
- asm("lda $01");
- asm("pha");
- asm("lda #$30");
- asm("sta $01");
- asm("ldx #0");
- asm("lda #$c0");
- asm("fillcolorloop:");
- asm("sta $dc00,x");
- asm("sta $dd00,x");
- asm("sta $de00,x");
- asm("sta $df00,x");
- asm("inx");
- asm("bne fillcolorloop");
-
- /* Setup sprite pointers */
- asm("ldx #$fd");
- asm("stx $dff8");
- asm("inx");
- asm("stx $dff9");
- asm("pla");
- asm("sta $01");
- asm("cli");
-
- /* Fill hires memory with 0. */
-
- asm("lda $fd");
- asm("pha");
- asm("lda $fe");
- asm("pha");
- asm("lda #0");
- asm("sta $fd");
- asm("lda #$e0");
- asm("sta $fe");
- asm("ldy #0");
- asm("lda #0");
- asm("clrscrnloop:");
- asm("lda #$55");
- asm("sta ($fd),y");
- asm("iny");
- asm("lda #$aa");
- asm("sta ($fd),y");
- asm("iny");
- asm("bne clrscrnloop");
- asm("inc $fe");
- asm("lda $fe");
- asm("cmp #$ff");
- asm("bne clrscrnloop");
-
- asm("ldy #$00");
- asm("clrscrnloop2:");
- asm("lda #$55");
- asm("sta $ff00,y");
- asm("iny");
- asm("lda #$aa");
- asm("sta $ff00,y");
- asm("iny");
- asm("cpy #$40");
- asm("bne clrscrnloop2");
-
-
- asm("pla");
- asm("sta $fe");
- asm("pla");
- asm("sta $fd");
-
-
- ctk_draw_clear(0, SCREEN_HEIGHT);
-
- /* Setup mouse pointer sprite. */
- asm("lda %v+%w", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, pointermaskcolor));
- asm("sta $d027");
- asm("lda %v+%w", ctk_hires_theme,
- offsetof(struct ctk_hires_theme, pointercolor));
- asm("sta $d028");
-
- ptr1 = ctk_hires_theme.pointer;
- ptr2 = (unsigned char *)0xff40;
-
- for(i = 0; i < 0x80; ++i) {
- *ptr2++ = *ptr1++;
- }
-
- return;
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-static void __fastcall__
-draw_widget(register struct ctk_widget *w,
- unsigned char x, unsigned char y,
- unsigned char clipy1, unsigned char clipy2,
- unsigned char afocus)
-{
- static unsigned char xpos, ypos, xscroll;
- static unsigned char i;
- static char c;
- static unsigned char len;
- static unsigned char tmp;
- static unsigned char yclipped;
- static unsigned char focus;
- char *text;
-
- xpos = x + w->x;
- ypos = y + w->y;
-
- yclipped = 0;
- if(ypos >= clipy1 && ypos < clipy2) {
- yclipped = 1;
- }
- focus = afocus;
-
-
- switch(w->type) {
- case CTK_WIDGET_SEPARATOR:
- hires_color(ctk_hires_theme.separatorcolors[focus]);
- if(yclipped) {
- hires_chlinexy(xpos, ypos, w->w);
- }
- break;
- case CTK_WIDGET_LABEL:
- hires_color(ctk_hires_theme.labelcolors[focus]);
- text = w->widget.label.text;
- for(i = 0; i < w->h; ++i) {
- if(ypos >= clipy1 && ypos < clipy2) {
- hires_gotoxy(xpos, ypos);
- ctk_hires_cputsn(text, w->w);
- tmp = w->w - (hires_wherex() - xpos);
- if(tmp > 0) {
- ctk_hires_cclear(tmp);
- }
- }
- ++ypos;
- text += w->w;
- }
- break;
- case CTK_WIDGET_BUTTON:
- if(yclipped) {
- hires_color(ctk_hires_theme.buttonleftcolors[focus]);
- hires_gotoxy(xpos, ypos);
- ctk_hires_draw_buttonleft();
- hires_color(ctk_hires_theme.buttoncolors[focus]);
- hires_gotoxy(xpos + 1, ypos);
- ctk_hires_cputsn(w->widget.button.text, w->w);
- hires_color(ctk_hires_theme.buttonrightcolors[focus]);
- ctk_hires_draw_buttonright();
- }
- break;
- case CTK_WIDGET_HYPERLINK:
- if(yclipped) {
- hires_color(ctk_hires_theme.hyperlinkcolors[focus]);
- hires_underline(1);
- hires_gotoxy(xpos, ypos);
- ctk_hires_cputsn(w->widget.button.text, w->w);
- hires_underline(0);
- }
- break;
- case CTK_WIDGET_TEXTENTRY:
- if(yclipped) {
- hires_color(ctk_hires_theme.textentrycolors[focus]);
-
- if((focus & CTK_FOCUS_WIDGET) &&
- w->widget.textentry.state != CTK_TEXTENTRY_EDIT) {
- hires_revers(1);
- } else {
- hires_revers(0);
- }
- xscroll = 0;
- tmp = w->w - 1;
- if(w->widget.textentry.xpos >= tmp) {
- xscroll = w->widget.textentry.xpos - tmp;
- }
- text = w->widget.textentry.text;
- if(w->widget.textentry.state == CTK_TEXTENTRY_EDIT) {
- hires_revers(0);
- hires_cputcxy(xpos, ypos, '>');
- text += xscroll;
- for(i = 0; i < w->w; ++i) {
- c = *text;
- if(i == w->widget.textentry.xpos - xscroll) {
- hires_revers(1);
- } else {
- hires_revers(0);
- }
- if(c == 0) {
- ctk_hires_cputc(' ');
- } else {
- ctk_hires_cputc(c);
- }
- hires_revers(0);
- ++text;
- }
- ctk_hires_cputc('<');
- } else {
- hires_cputcxy(xpos, ypos, '|');
- /* hires_gotoxy(xpos + 1, ypos); */
- ctk_hires_cputsn(text, w->w);
- i = hires_wherex();
- tmp = i - xpos - 1;
- if(tmp < w->w) {
- ctk_hires_cclear(w->w - tmp);
- }
- ctk_hires_cputc('|');
- }
- }
- hires_revers(0);
- break;
- case CTK_WIDGET_ICON:
- if(yclipped) {
- hires_color(ctk_hires_theme.iconcolors[focus]);
-
- x = xpos;
- len = strlen(w->widget.icon.title);
- if(x + len >= SCREEN_WIDTH) {
- x = SCREEN_WIDTH - len;
- }
-
- tmp = ypos + 3;
-
- if(tmp < clipy2) {
- hires_gotoxy(x, tmp);
- ctk_hires_cputsn(w->widget.icon.title, len);
- }
-
- hires_gotoxy(xpos, ypos);
- if(w->widget.icon.bitmap != NULL) {
- ctk_hires_bitmapptr = w->widget.icon.bitmap;
- for(i = 0; i < 3; ++i) {
- if(ypos >= clipy1 && ypos < clipy2) {
- hires_gotoxy(xpos, ypos);
- ctk_hires_draw_bitmapline(3);
- }
- ctk_hires_bitmapptr += 3 * 8;
- ++ypos;
- }
-
- /* draw_bitmap_icon(w->widget.icon.bitmap);*/
- }
-
- }
- break;
- case CTK_WIDGET_BITMAP:
- hires_color(ctk_hires_theme.bitmapcolors[focus]);
- ctk_hires_bitmapptr = w->widget.bitmap.bitmap;
- for(i = 0; i < w->h; ++i) {
- if(ypos >= clipy1 && ypos < clipy2) {
- hires_gotoxy(xpos, ypos);
- ctk_hires_draw_bitmapline(w->w);
- }
- ctk_hires_bitmapptr += w->w * 8;
- ++ypos;
- }
- break;
-
- default:
- break;
- }
-}
-/*-----------------------------------------------------------------------------------*/
-void
-ctk_draw_widget(struct ctk_widget *w,
- unsigned char focus,
- unsigned char clipy1,
- unsigned char clipy2)
-{
- struct ctk_window *win = w->window;
- unsigned char posx, posy;
-
- posx = win->x + 1;
- posy = win->y + 2;
-
- if(w == win->focused) {
- focus |= CTK_FOCUS_WIDGET;
- }
-
- draw_widget(w, posx, posy,
- clipy1, clipy2,
- focus);
-}
-/*-----------------------------------------------------------------------------------*/
-void
-ctk_draw_clear_window(register struct ctk_window *window,
- unsigned char focus,
- unsigned char clipy1,
- unsigned char clipy2)
-{
- static unsigned char h;
-
- hires_color(ctk_hires_theme.windowcolors[focus]);
-
- h = window->y + 2 + window->h;
- /* Clear window contents. */
- for(i = window->y + 2; i < h; ++i) {
- if(i >= clipy1 && i <= clipy2) {
- hires_cclearxy(window->x + 1, i, window->w);
- }
- }
-}
-/*-----------------------------------------------------------------------------------*/
-void
-ctk_draw_window(register struct ctk_window *window,
- unsigned char focus,
- unsigned char clipy1, unsigned char clipy2)
-{
- register struct ctk_widget *w;
-
- x = window->x;
- y = window->y + 1;
-
- ++clipy2;
-
- if(clipy2 <= y) {
- return;
- }
-
- /* hires_color(ctk_hires_theme.windowcolors[focus+1]);*/
-
- x1 = x + 1;
- y1 = y + 1;
- /* x2 = x1 + window->w;
- y2 = y1 + window->h;*/
-
- hires_gotoxy(x, y);
- ctk_hires_windowparams.w = window->w;
- ctk_hires_windowparams.h = window->h;
- if(clipy1 < y) {
- ctk_hires_windowparams.clipy1 = 0;
- } else {
- ctk_hires_windowparams.clipy1 = clipy1 - y;
- }
- ctk_hires_windowparams.clipy2 = clipy2 - y;
- ctk_hires_windowparams.color1 = ctk_hires_theme.windowcolors[focus+1];
- ctk_hires_windowparams.color2 = ctk_hires_theme.windowcolors[focus];
- ctk_hires_windowparams.title = window->title;
- ctk_hires_windowparams.titlelen = window->titlelen;
-
- if(ctk_hires_windowparams.clipy1 < ctk_hires_windowparams.clipy2 &&
- ctk_hires_windowparams.clipy2 > 0) {
- ctk_hires_draw_windowborders();
- }
-
- focus = focus & CTK_FOCUS_WINDOW;
-
- /* Draw inactive widgets. */
- for(w = window->inactive; w != NULL; w = w->next) {
- draw_widget(w, x1, y1,
- clipy1, clipy2,
- focus);
- }
-
- /* Draw active widgets. */
- for(w = window->active; w != NULL; w = w->next) {
- wfocus = focus;
- if(w == window->focused) {
- wfocus |= CTK_FOCUS_WIDGET;
- }
- draw_widget(w, x1, y1,
- clipy1, clipy2,
- wfocus);
- }
-}
-/*-----------------------------------------------------------------------------------*/
-void
-ctk_draw_dialog(register struct ctk_window *dialog)
-{
- register struct ctk_widget *w;
-
- hires_color(ctk_hires_theme.windowcolors[CTK_FOCUS_DIALOG]);
-
- /* x = (SCREEN_WIDTH - dialog->w) / 2;
- y = (SCREEN_HEIGHT - 1 - dialog->h) / 2; */
- x = dialog->x;
- y = dialog->y + 1;
-
-
- x1 = x + 1;
- y1 = y + 1;
- x2 = x1 + dialog->w;
- y2 = y1 + dialog->h;
-
-
- /* Draw dialog frame. */
-
- hires_cvlinexy(x, y1, dialog->h);
- hires_cvlinexy(x2, y1, dialog->h);
-
- hires_chlinexy(x1, y, dialog->w);
- hires_chlinexy(x1, y2, dialog->w);
-
- hires_cputcxy(x, y, CH_ULCORNER);
- hires_cputcxy(x, y2, CH_LLCORNER);
- hires_cputcxy(x2, y, CH_URCORNER);
- hires_cputcxy(x2, y2, CH_LRCORNER);
-
-
- /* Clear window contents. */
- for(i = y1; i < y2; ++i) {
- hires_cclearxy(x1, i, dialog->w);
- }
-
- /* Draw inactive widgets. */
- for(w = dialog->inactive; w != NULL; w = w->next) {
- draw_widget(w, x1, y1,
- 0, SCREEN_HEIGHT, CTK_FOCUS_DIALOG);
- }
-
-
- /* Draw active widgets. */
- for(w = dialog->active; w != NULL; w = w->next) {
- wfocus = CTK_FOCUS_DIALOG;
- if(w == dialog->focused) {
- wfocus |= CTK_FOCUS_WIDGET;
- }
- draw_widget(w, x1, y1,
- 0, SCREEN_HEIGHT, wfocus);
- }
-
-}
-/*-----------------------------------------------------------------------------------*/
-void
-ctk_draw_clear(unsigned char y1, unsigned char y2)
-{
- for(i = y1; i < y2; ++i) {
- clear_line(i);
- }
-}
-/*-----------------------------------------------------------------------------------*/
-static void
-draw_menu(register struct ctk_menu *m)
-{
- static unsigned char x, x2, y;
-
- hires_color(ctk_hires_theme.openmenucolor);
- x = hires_wherex();
- ctk_hires_cputsn(m->title, m->titlelen);
- ctk_hires_cputc(' ');
- x2 = hires_wherex();
- if(x + CTK_CONF_MENUWIDTH > SCREEN_WIDTH) {
- x = SCREEN_WIDTH - CTK_CONF_MENUWIDTH;
- }
- for(y = 0; y < m->nitems; ++y) {
- if(y == m->active) {
- hires_color(ctk_hires_theme.activemenucolor);
- } else {
- hires_color(ctk_hires_theme.menucolor);
- }
- hires_gotoxy(x, y + 1);
- if(m->items[y].title[0] == '-') {
- ctk_hires_chline(CTK_CONF_MENUWIDTH);
- } else {
- ctk_hires_cputsn(m->items[y].title,
- strlen(m->items[y].title));
- }
- ctk_hires_cclear(x + CTK_CONF_MENUWIDTH - hires_wherex());
- hires_revers(0);
- }
- hires_gotoxy(x2, 0);
- hires_color(ctk_hires_theme.menucolor);
-}
-/*-----------------------------------------------------------------------------------*/
-void
-ctk_draw_menus(struct ctk_menus *menus)
-{
- struct ctk_menu *m;
-
- /* Draw menus */
- hires_color(ctk_hires_theme.menucolor);
- hires_gotoxy(0, 0);
- hires_revers(0);
- ctk_hires_cputc(' ');
- for(m = menus->menus->next; m != NULL; m = m->next) {
- if(m != menus->open) {
- ctk_hires_cputsn(m->title, m->titlelen);
- ctk_hires_cputc(' ');
- } else {
- draw_menu(m);
- }
- }
- ctk_hires_cclear(SCREEN_WIDTH - hires_wherex() -
- strlen(menus->desktopmenu->title) - 1);
-
- /* Draw desktopmenu */
- if(menus->desktopmenu != menus->open) {
- ctk_hires_cputsn(menus->desktopmenu->title,
- menus->desktopmenu->titlelen);
- ctk_hires_cputc(' ');
- } else {
- draw_menu(menus->desktopmenu);
- }
-
-}
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-ctk_draw_height(void)
-{
- return SCREEN_HEIGHT;
-}
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-ctk_draw_width(void)
-{
- return SCREEN_WIDTH;
-}
-/*-----------------------------------------------------------------------------------*/
-/*unsigned char
-ctk_arch_isprint(char c)
-{
- return isprint(c);
-}*/
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires.h b/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires.h
deleted file mode 100644
index 5d8db4b..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires.h
+++ /dev/null
@@ -1,48 +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. 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 "ctk" console GUI toolkit for cc65
- *
- * $Id: ctk-hires.h,v 1.1 2006/04/17 15:11:54 kthacker Exp $
- *
- */
-
-#ifndef __CTK_HIRES_H__
-#define __CTK_HIRES_H__
-
-#include <conio.h>
-
-typedef char ctk_arch_key_t;
-
-#define ctk_arch_keyavail kbhit
-#define ctk_arch_getkey cgetc
-
-#define CH_ENTER '\n'
-
-#endif /* __CTK_HIRES_H__ */
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires2.c b/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires2.c
deleted file mode 100644
index d3e8f03..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-hires2.c
+++ /dev/null
@@ -1,30 +0,0 @@
-void ctk_hires_cputc(unsigned char ch)
-{
-}
-
-void ctk_hires_cclear(unsigned char len)
-{
-}
-
-void ctk_hires_chline(unsigned char len)
-{
-}
-void ctk_hires_cputsn(unsigned char *str, unsigned char len)
-{
-}
-
-void ctk_hires_draw_buttonleft()
-{
-}
-
-void ctk_hires_draw_buttonright()
-{
-}
-
-void ctk_hires_draw_bitmapline(unsigned char len)
-{
-}
-
-void ctk_hires_draw_windowborders()
-{
-}
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-mouse-1351.S b/contiki-cpc/contiki-cpc/ctk/unused/ctk-mouse-1351.S
deleted file mode 100644
index eeef7b5..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-mouse-1351.S
+++ /dev/null
@@ -1,149 +0,0 @@
-
-;---------------------------------------------------------------------
- ;; The 1351 mouse code was taken from the CC65 libraries,
- ;; written by Ullrich von Bassewitz
-;---------------------------------------------------------------------
-
- .macpack generic
-
- .import _ctk_mouse_joyx, _ctk_mouse_joyy
- .import _ctk_mouse_firebutton
- .export _ctk_mouse_1351
-;---------------------------------------------------------------------
-.bss
-OldValue: .res 1 ; Temp for MoveCheck routine
-NewValue: .res 1 ; Temp for MoveCheck routine
-YCorr: .res 1 ; Correction for Y coordinate
-
-OldPotX: .res 1 ; Old hw counter values
-OldPotY: .res 1
-
-SID_ADConv1 = $D419
-SID_ADConv2 = $D41A
-CIA1_PRA = $DC00
-CIA1_PRB = $DC01
-CIA1_DDRB = $DC03
-
-
-;---------------------------------------------------------------------
-.data
-XMin: .word 0 ; X1 value of bounding box
-YMin: .word 0 ; Y1 value of bounding box
-XMax: .word 319 ; X2 value of bounding box
-YMax: .word 199 ; Y2 value of bounding box
-
-;---------------------------------------------------------------------
-.code
-
-;---------------------------------------------------------------------
-;---------------------------------------------------------------------
- ;; Most of the mouse code is taken from the CC65 libraries written by
- ;; Ullrich von Bassewitz
-MoveCheck:
- sty OldValue
- sta NewValue
- ldx #$00
-
- sub OldValue ; a = mod64 (new - old)
- and #%01111111
- cmp #%01000000 ; if (a > 0)
- bcs @L1 ;
- lsr a ; a /= 2;
- beq @L2 ; if (a != 0)
- ldy NewValue ; y = NewValue
- rts ; return
-
-@L1: ora #%11000000 ; else or in high order bits
- cmp #$FF ; if (a != -1)
- beq @L2
- sec
- ror a ; a /= 2
- dex ; high byte = -1 (X = $FF)
- ldy NewValue
- rts
-
-@L2: txa ; A = $00
- rts
-
-;---------------------------------------------------------------------
-_ctk_mouse_1351:
- lda SID_ADConv1 ; Get mouse X movement
- ldy OldPotX
- jsr MoveCheck ; Calculate movement vector
- sty OldPotX
-
-; Calculate the new X coordinate (--> a/y)
-
- add _ctk_mouse_joyx
- tay ; Remember low byte
- txa
- adc _ctk_mouse_joyx+1
- tax
-
-; Limit the X coordinate to the bounding box
-
- cpy XMin
- sbc XMin+1
- bpl @L1
- ldy XMin
- ldx XMin+1
- jmp @L2
-@L1: txa
-
- cpy XMax
- sbc XMax+1
- bmi @L2
- ldy XMax
- ldx XMax+1
-@L2: sty _ctk_mouse_joyx
- stx _ctk_mouse_joyx+1
-; Calculate the Y movement vector
-
- lda SID_ADConv2 ; Get mouse Y movement
- ldy OldPotY
- jsr MoveCheck ; Calculate movement
- sty OldPotY
-
-; Calculate the new Y coordinate (--> a/y)
-
- sta OldValue
- lda _ctk_mouse_joyy
- sub OldValue
- tay
- stx OldValue
- lda _ctk_mouse_joyy+1
- sbc OldValue
- tax
-
- cpy YMin
- sbc YMin+1
- bpl @L3
- ldy YMin
- ldx YMin+1
- jmp @L4
-@L3: txa
-
- cpy YMax
- sbc YMax+1
- bmi @L4
- ldy YMax
- ldx YMax+1
-@L4: sty _ctk_mouse_joyy
- stx _ctk_mouse_joyy+1
-
- ;; Get mouse button
- lda #$7F
- sta CIA1_PRA
- lda CIA1_PRB ; Read joystick #0
- ldx #0
- and #$1F
- eor #$1F
-
- ora _ctk_mouse_firebutton
- sta _ctk_mouse_firebutton
-
- lda #0
- sta CIA1_PRA
- sta CIA1_DDRB
- rts
-;---------------------------------------------------------------------
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-mouse-asm.S b/contiki-cpc/contiki-cpc/ctk/unused/ctk-mouse-asm.S
deleted file mode 100644
index 6aa53b4..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-mouse-asm.S
+++ /dev/null
@@ -1,48 +0,0 @@
-
-;---------------------------------------------------------------------
- ;; The 1351 mouse code was taken from the CC65 libraries,
- ;; written by Ullrich von Bassewitz
-;---------------------------------------------------------------------
-
- .macpack generic
-
- .import _ctk_mouse_joyx, _ctk_mouse_joyy
- .import _ctk_mouse_firebutton
- .export _ctk_mouse_asm_irq
- .import _ctk_mouse_joy, _ctk_mouse_1351
-;---------------------------------------------------------------------
-
-;---------------------------------------------------------------------
-.code
-
-;---------------------------------------------------------------------
-_ctk_mouse_asm_irq:
- lda #0
- sta _ctk_mouse_firebutton
-
- jsr _ctk_mouse_joy
- ;; jsr_ctk_mouse_1351
-
- ; lda _ctk_mouse_joybutton
- ; ora _ctk_mouse_1351button
- ; sta _ctk_mouse_firebutton
-
- lda _ctk_mouse_joyy
- clc
- adc #$32
- sta $d001
- sta $d003
-
- lda _ctk_mouse_joyx
- clc
- adc #$18
- sta $d000
- sta $d002
- lda #0
- adc _ctk_mouse_joyx+1
- and #1
- beq :+
- lda #3
-:
- sta $d010
- jmp $ea31
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-mouse-joy.S b/contiki-cpc/contiki-cpc/ctk/unused/ctk-mouse-joy.S
deleted file mode 100644
index 963ca36..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-mouse-joy.S
+++ /dev/null
@@ -1,135 +0,0 @@
-
-;---------------------------------------------------------------------
-
- .macpack generic
-
- .import _ctk_mouse_joyx, _ctk_mouse_joyy
- .import _ctk_mouse_firebutton
- .export _ctk_mouse_joy
-;---------------------------------------------------------------------
-.bss
-lastjoydy: .res 1
-lastjoydx: .res 1
-joydycnt: .res 1
-joydxcnt: .res 1
-
-;---------------------------------------------------------------------
-.code
-
-;---------------------------------------------------------------------
-_ctk_mouse_joy:
- ldy $dc02
- lda #0
- sta $dc02
- lda $dc00
- sty $dc02
- ldy #0
- ldx #0
- lsr
- bcs nodey
- dey
-nodey:
- lsr
- bcs noiny
- iny
-noiny:
- lsr
- bcs nodex
- dex
-nodex:
- lsr
- bcs noinx
- inx
-noinx:
- and #1
- eor #1
- ora _ctk_mouse_firebutton
- sta _ctk_mouse_firebutton
-
- cpy lastjoydy
- sty lastjoydy
- bne noydy
- tya
- pha
- inc joydycnt
- lda joydycnt
- cmp #$1f
- bmi nostajoydycnt
- lda #$20
- sta joydycnt
-nostajoydycnt:
- lsr
- lsr
- lsr
- lsr
- tay
- pla
-asldeyloop:
- asl
- dey
- bpl asldeyloop
- tay
- jmp ydy
-noydy:
- lda #0
- sta joydycnt
-ydy:
-
- tya
- clc
- adc _ctk_mouse_joyy
-
- cmp #240
- bcc :+
- lda #0
-:
-
- cmp #200
- bcc :+
- lda #199
-:
- sta _ctk_mouse_joyy
-
- cpx lastjoydx
- stx lastjoydx
- bne noxdx
- txa
- pha
- inc joydxcnt
- lda joydxcnt
- cmp #$1f
- bmi nostajoydxcnt
- lda #$20
- sta joydxcnt
-nostajoydxcnt:
- lsr
- lsr
- lsr
- lsr
- tax
- pla
-asldexloop:
- asl
- dex
- bpl asldexloop
- tax
- jmp xdx
-noxdx:
- lda #0
- sta joydxcnt
-xdx:
-
- txa
- clc
- adc _ctk_mouse_joyx
- sta _ctk_mouse_joyx
- php
- lda #$ff
- cpx #0
- bmi nolda02
- lda #0
-nolda02:
- plp
- adc _ctk_mouse_joyx+1
- sta _ctk_mouse_joyx+1
- rts
diff --git a/contiki-cpc/contiki-cpc/ctk/unused/ctk-mouse.c b/contiki-cpc/contiki-cpc/ctk/unused/ctk-mouse.c
deleted file mode 100644
index 98ef49c..0000000
--- a/contiki-cpc/contiki-cpc/ctk/unused/ctk-mouse.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 2003, 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. 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 "ctk" console GUI toolkit for cc65
- *
- * $Id: ctk-mouse.c,v 1.1 2006/04/17 15:11:54 kthacker Exp $
- *
- */
-
-#include "ctk.h"
-#include "ctk-mouse.h"
-#include "ctk-conf.h"
-
-#if CTK_CONF_MOUSE_SUPPORT
-
-unsigned short ctk_mouse_joyy, ctk_mouse_joyx;
-unsigned char ctk_mouse_firebutton;
-
-extern void ctk_mouse_asm_irq(void);
-
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-void
-ctk_mouse_init(void)
-{
- /* Place mouse pointer at the middle of the screen. */
- ctk_mouse_joyx = 160;
- ctk_mouse_joyy = 100;
-
- /* Setup and start IRQ */
- asm("sei");
- asm("lda #<%v", ctk_mouse_asm_irq);
- asm("sta $0314");
- asm("lda #>%v", ctk_mouse_asm_irq);
- asm("sta $0315");
- asm("cli");
-
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-unsigned short
-ctk_mouse_x(void)
-{
- if(ctk_mouse_joyx >= 342) {
- ctk_mouse_joyx = 0;
- } else if(ctk_mouse_joyx >= 320) {
- ctk_mouse_joyx = 319;
- }
- return ctk_mouse_joyx;
-}
-/*-----------------------------------------------------------------------------------*/
-unsigned short
-ctk_mouse_y(void)
-{
- return ctk_mouse_joyy;
-}
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-ctk_mouse_button(void)
-{
- return ctk_mouse_firebutton;
-}
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-ctk_mouse_xtoc(unsigned short x)
-{
- return x / 8;
-}
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-ctk_mouse_ytoc(unsigned short y)
-{
- return y / 8;
-}
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-void
-ctk_mouse_hide(void)
-{
- /* Turn off sprites 0 and 1 */
- asm("lda #0");
- asm("sta $d015");
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-void
-ctk_mouse_show(void)
-{
- /* Turn on sprites 0 and 1 */
- asm("lda #3");
- asm("sta $d015");
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#endif /* CTK_CONF_MOUSE_SUPPORT */
diff --git a/contiki-cpc/contiki-cpc/lib/lc-asm.s b/contiki-cpc/contiki-cpc/lib/lc-asm.s
deleted file mode 100644
index 05f773d..0000000
--- a/contiki-cpc/contiki-cpc/lib/lc-asm.s
+++ /dev/null
@@ -1,30 +0,0 @@
-;---------------------------------------------------------------------
-;; .globl ptr1
-;---------------------------------------------------------------------
-_lc_set::
-;; sta ptr1
-;; stx ptr1+1
-;; tsx
-;; lda $0102,x
-;; ldy #$01
-;; sta (ptr1),y
-;; lda $0101,x
-;; dey
-;; sta (ptr1),y
-
- ret
-;---------------------------------------------------------------------
-_lc_resume::
-;; sta ptr1
-;; stx ptr1+1
-;; ldy #$01
-;; lda (ptr1),y
-;; beq :+
-;; tsx
-;; sta $0102,x
-;; dey
-;; lda (ptr1),y
-;; sta $0101,x
-
- ret
-;---------------------------------------------------------------------
diff --git a/contiki-cpc/contiki-cpc/lib/lc.h b/contiki-cpc/contiki-cpc/lib/lc.h
deleted file mode 100644
index a90c7ae..0000000
--- a/contiki-cpc/contiki-cpc/lib/lc.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2004, Adam Dunkels and Oliver Schmidt
- * 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: Adam Dunkels <adam@sics.se>, Oliver Schmidt <ol.sc0web.de>
- *
- * $Id: lc.h,v 1.1 2006/04/17 15:11:54 kthacker Exp $
- */
-/* Local continuations: a form of continuation that only works locally
- within a function.
-*/
-
-#ifndef __LC_H__
-#define __LC_H__
-
-#include "cc.h"
-
-typedef void * lc_t;
-
-void __fastcall__ lc_set(lc_t *lc);
-void __fastcall__ lc_resume(lc_t *lc);
-
-#define LC_SET(lc) lc_set(&(lc))
-#define LC_RESUME(lc) lc_resume(&(lc))
-#define LC_INIT(lc) (lc) = NULL
-#define LC_END(lc)
-
-#endif /* __LC_H__ */
diff --git a/contiki-cpc/contiki-cpc/lib/mtarch-asm.S b/contiki-cpc/contiki-cpc/lib/mtarch-asm.S
deleted file mode 100644
index 22ab609..0000000
--- a/contiki-cpc/contiki-cpc/lib/mtarch-asm.S
+++ /dev/null
@@ -1,245 +0,0 @@
-;---------------------------------------------------------------------
- .importzp ptr1
- .importzp sp
- .import __ZP_START__
-
-
- .import _mtarch_asm_threadstack
- .import _mtarch_asm_threadsp
- .import _mtarch_asm_threadspreg
- .import _mtarch_asm_threadzp
-
- .export _mtarch_asm_exec
- .export _mtarch_yield
- .export _mtarch_asm_start
- .export _mtarch_pstart, _mtarch_pstop
-
-;---------------------------------------------------------------------
-.bss
-kernelsp: .res 2
-kernelspreg: .res 1
-
-oldirq: .res 2
-
- zpsize = 32
-.code
-;---------------------------------------------------------------------
- ;; Switch to thread defined by threadsp, threadstack and threadspreg.
- ;; The kernel stack is swapped onto the threadstack, and the
- ;; sp and spreg are saved to the local variables "kernelsp" and
- ;; "kernelspreg". Also, the zeropage variables are saved.
-
-_mtarch_asm_exec:
- sei
- ;; Save current stack pointer
- lda sp
- sta kernelsp
- lda sp+1
- sta kernelsp+1
-
- tsx
- stx kernelspreg
-
- lda _mtarch_asm_threadzp
- sta ptr1
- lda _mtarch_asm_threadzp+1
- sta ptr1+1
-
- ldy #0
-:
- lda <__ZP_START__,y
- tax
- lda (ptr1),y
- sta <__ZP_START__,y
- txa
- sta (ptr1),y
- iny
- cpy #zpsize
- bne :-
-
- lda _mtarch_asm_threadstack
- sta ptr1
- lda _mtarch_asm_threadstack+1
- sta ptr1+1
-
- ldy kernelspreg ; determine the smallest of the two stack pointers,
- cpy _mtarch_asm_threadspreg ; as we only need to swap the used part of the stack
- bcc :+
- ldy _mtarch_asm_threadspreg
-
-:
- lda $0100,y
- tax
- lda (ptr1),y
- sta $0100,y
- txa
- sta (ptr1),y
- iny
- bne :-
-
- lda _mtarch_asm_threadsp
- sta sp
- lda _mtarch_asm_threadsp+1
- sta sp+1
-
- ldx _mtarch_asm_threadspreg
- txs
-
-; jsr _mtarch_pstart
-
- lda $0314
- sta oldirq
- lda $0315
- sta oldirq+1
-
- lda #<irq
- sta $0314
- lda #>irq
- sta $0315
-
-
- pla
- tay
- pla
- tax
- pla
-
- rti
-
- ;; Switch from thread defined by threadsp, threadstack and threadspreg.
- ;; The kernel stack is swapped back from the threadstack, and the
- ;; sp and spreg are restored from the local variables "kernelsp" and
- ;; "kernelspreg".
-yield:
- sei
- lda sp
- sta _mtarch_asm_threadsp
- lda sp+1
- sta _mtarch_asm_threadsp+1
-
- tsx
- stx _mtarch_asm_threadspreg
-
- lda _mtarch_asm_threadzp
- sta ptr1
- lda _mtarch_asm_threadzp+1
- sta ptr1+1
-
- ldy kernelspreg ; determine the smallest of the two stack pointers,
- cpy _mtarch_asm_threadspreg ; as we only need to swap the used part of the stack
- bcc :+
- ldy _mtarch_asm_threadspreg
-
-:
- lda <__ZP_START__,y
- tax
- lda (ptr1),y
- sta <__ZP_START__,y
- txa
- sta (ptr1),y
- iny
- cpy #zpsize
- bne :-
-
- lda _mtarch_asm_threadstack
- sta ptr1
- lda _mtarch_asm_threadstack+1
- sta ptr1+1
-
- ldy #0
-:
- lda $0100,y
- tax
- lda (ptr1),y
- sta $0100,y
- txa
- sta (ptr1),y
- iny
- bne :-
-
- lda kernelsp
- sta sp
- lda kernelsp+1
- sta sp+1
-
- ldx kernelspreg
- txs
-
- cli
-
- rts
-;---------------------------------------------------------------------
- ;; Simulate an IRQ by pushing CPU status and CPu registers
- ;; onto the stack. Then call the yield function to yield the
- ;; process.
-_mtarch_yield:
- php
- pha
- txa
- pha
- tya
- pha
-
- tsx
-
- ; the rts adds 1 to the PC
- ; saved on the stack. We want
- lda $0105,x ; the stack to look like is would
- clc ; do inside of an interrupt.
- adc #1 ; (this is what the 'rts' does,
- sta $0105,x ; but not the 'rti')
- lda $0106,x
- adc #0
- sta $0106,x
-
-
- jmp yield
-;---------------------------------------------------------------------
-_mtarch_asm_start:
- lda _mtarch_asm_threadzp
- sta ptr1
- lda _mtarch_asm_threadzp+1
- sta ptr1+1
-
- ldy #0
-:
- lda <__ZP_START__,y
- sta (ptr1),y
- iny
- cpy #zpsize
- bne :-
- rts
-
-;---------------------------------------------------------------------
-irq:
- lda oldirq
- sta $0314
- lda oldirq+1
- sta $0315
- jmp yield
-;---------------------------------------------------------------------
- ;; Setup preemption IRQ
-_mtarch_pstart:
- sei
- lda $0314
- sta oldirq
- lda $0315
- sta oldirq+1
-
- lda #<irq
- sta $0314
- lda #>irq
- sta $0315
- cli
- rts
-;---------------------------------------------------------------------
-_mtarch_pstop:
- sei
- lda oldirq
- sta $0314
- lda oldirq+1
- sta $0315
- cli
- rts
-;---------------------------------------------------------------------
-
diff --git a/contiki-cpc/contiki-cpc/lib/mtarch.c b/contiki-cpc/contiki-cpc/lib/mtarch.c
deleted file mode 100644
index dc8e3cd..0000000
--- a/contiki-cpc/contiki-cpc/lib/mtarch.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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: Adam Dunkels <adam@sics.se>
- *
- * $Id: mtarch.c,v 1.1 2006/04/17 15:11:55 kthacker Exp $
- */
-#include "mtarch.h"
-#include <string.h>
-
-unsigned char mtarch_asm_threadspreg;
-unsigned char *mtarch_asm_threadsp;
-unsigned char *mtarch_asm_threadzp;
-unsigned char *mtarch_asm_threadstack;
-
-void mtarch_asm_start(void);
-void mtarch_asm_exec(void);
-
-
-/*--------------------------------------------------------------------------*/
-void
-mtarch_start(struct mtarch_thread *thread,
- void (* function)(void *data),
- void *data)
-{
- memset(thread->cpustack, 0, sizeof(thread->cpustack));
- memset(thread->cstack, 0, sizeof(thread->cstack));
-
- /* Create a CPU stack frame with the appropriate values... */
- thread->cpustack[MTARCH_CPUSTACKSIZE - 2] = ((unsigned short)function) >> 8; /* high byte of return address. */
- thread->cpustack[MTARCH_CPUSTACKSIZE - 3] = ((unsigned short)function) & 0xff; /* low byte of return address. */
- thread->cpustack[MTARCH_CPUSTACKSIZE - 4] = 0x21; /* processor flags. */
- thread->cpustack[MTARCH_CPUSTACKSIZE - 5] = /* a register */
- thread->cpustack[MTARCH_CPUSTACKSIZE - 6] = /* x register */
- thread->cpustack[MTARCH_CPUSTACKSIZE - 7] = 0; /* y register */
- thread->spreg = MTARCH_CPUSTACKSIZE - 8;
-
- /* Setup the C stack with the data pointer. */
- thread->sp = &thread->cstack[MTARCH_CSTACKSIZE - 1];
-
- mtarch_asm_threadzp = &(thread->zp);
- mtarch_asm_start();
-}
-/*--------------------------------------------------------------------------*/
-void
-mtarch_exec(struct mtarch_thread *thread)
-{
- /* Switch processor stack. The call to mtarch_asm_switch() will not
- return until the process that we switch to calls yield(). */
- mtarch_asm_threadspreg = thread->spreg;
- mtarch_asm_threadsp = thread->sp;
-
- mtarch_asm_threadstack = &(thread->cpustack[0]);
- mtarch_asm_threadzp = &(thread->zp[0]);
-
- mtarch_asm_exec();
-
- thread->sp = mtarch_asm_threadsp;
- thread->spreg = mtarch_asm_threadspreg;
-}
-/*--------------------------------------------------------------------------*/
-void
-mtarch_init(void) {
-
-}
-/*--------------------------------------------------------------------------*/
-void
-mtarch_remove(void)
-{
-
-}
diff --git a/contiki-cpc/contiki-cpc/lib/mtarch.h b/contiki-cpc/contiki-cpc/lib/mtarch.h
deleted file mode 100644
index 44a8424..0000000
--- a/contiki-cpc/contiki-cpc/lib/mtarch.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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: Adam Dunkels <adam@sics.se>
- *
- * $Id: mtarch.h,v 1.1 2006/04/17 15:11:55 kthacker Exp $
- */
-#ifndef __MTARCH_H__
-#define __MTARCH_H__
-
-#define MTARCH_CPUSTACKSIZE 256
-#define MTARCH_CSTACKSIZE 256
-#define MTARCH_ZPSIZE 32
-
-struct mtarch_thread {
- unsigned char spreg;
- unsigned char *sp;
- unsigned char cpustack[MTARCH_CPUSTACKSIZE];
- unsigned char cstack[MTARCH_CSTACKSIZE];
- unsigned char zp[MTARCH_ZPSIZE];
-};
-
-#endif /* __MTARCH_H__ */
-
diff --git a/contiki-cpc/contiki-cpc/loader/cfs-cpc.c b/contiki-cpc/contiki-cpc/loader/cfs-cpc.c
deleted file mode 100644
index 7976d7e..0000000
--- a/contiki-cpc/contiki-cpc/loader/cfs-cpc.c
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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: Adam Dunkels <adam@sics.se>
- *
- * $Id: cfs-cpc.c,v 1.1 2006/04/17 15:11:55 kthacker Exp $
- */
-#include "contiki.h"
-
-#include "log.h"
-#include "cfs.h"
-#include "cfs-service.h"
-
-extern void _readdir(void *);
-
-struct cpc_dir
-{
- char *buffer;
- char *ptr;
-};
-
-//#include <cbm.h>
-#include <string.h>
-
-static int s_open(const char *n, int f);
-static void s_close(int f);
-static int s_read(int f, char *b, unsigned int l);
-static int s_write(int f, char *b, unsigned int l);
-static int s_opendir(struct cfs_dir *p, const char *n);
-static int s_readdir(struct cfs_dir *p, struct cfs_dirent *e);
-static int s_closedir(struct cfs_dir *p);
-
-static const struct cfs_service_interface interface =
- {
- CFS_SERVICE_VERSION,
- s_open,
- s_close,
- s_read,
- s_write,
- s_opendir,
- s_readdir,
- s_closedir
- };
-
-EK_EVENTHANDLER(cpc_cfs_eventhandler, ev, data);
-EK_PROCESS(proc, CFS_SERVICE_NAME ": KERNAL", EK_PRIO_NORMAL,
- cpc_cfs_eventhandler, NULL, (void *)&interface);
-
-/*---------------------------------------------------------------------------*/
-EK_PROCESS_INIT(cfs_cpc_init, arg)
-{
- arg_free(arg);
- ek_service_start(CFS_SERVICE_NAME, &proc);
-}
-/*---------------------------------------------------------------------------*/
-EK_EVENTHANDLER(cpc_cfs_eventhandler, ev, data)
-{
- switch(ev) {
- case EK_EVENT_INIT:
- case EK_EVENT_REPLACE:
- log_message("Starting KERNAL CFS", "");
- break;
- case EK_EVENT_REQUEST_REPLACE:
- ek_replace((struct ek_proc *)data, &interface);
- break;
- case EK_EVENT_REQUEST_EXIT:
- ek_exit();
- break;
- }
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_open(const char *n, int f)
-{
- // if(cbm_open(2, 8, f, n) == 0) {
- // return 2;
- // }
- return -1;
-}
-/*---------------------------------------------------------------------------*/
-static void
-s_close(int f)
-{
- // cbm_close(f);
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_read(int f, char *b, unsigned int l)
-{
- return 0; //return cbm_read(f, b, l);
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_write(int f, char *b, unsigned int l)
-{
- return 0; // return cbm_write(f, b, l);
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_opendir(struct cfs_dir *p, const char *n)
-{
- struct cpc_dir *cpcdir = (struct cpc_dir *)p;
-
- char *buffer = malloc(2048);
-
- if (buffer)
- {
- cpcdir->buffer = buffer;
- cpcdir->ptr = buffer;
- _readdir(buffer);
- return 0;
- }
- return 1;
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_readdir(struct cfs_dir *p, struct cfs_dirent *e)
-{
- int i;
- int size;
- int npos;
- struct cpc_dir *cpcdir = (struct cpc_dir *)p;
- char *ptr = cpcdir->ptr;
-
- if (ptr[0]!=0xff)
- return 1;
-
- ptr++;
-
- npos = 0;
- for (i=0; i<8; i++)
- {
- char ch = ptr[0]&0x07f;
- ptr++;
- e->name[npos] = ch;
- npos++;
- }
- e->name[npos] = '.';
- npos++;
- for (i=0; i<3; i++)
- {
- char ch = ptr[0]&0x07f;
- ptr++;
- e->name[npos] = ch;
- npos++;
- }
- e->name[npos] = '\0';
-
- size = (ptr[0]&0x0ff) + ((ptr[1]&0x0ff)<<8);
- size = size*1024;
- ptr+=2;
- e->size = size;
- cpcdir->ptr = ptr;
-
- return 0;
-
-/* 1 = if no more dir entries
- 0 = more dir entries */
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_closedir(struct cfs_dir *p)
-{
- struct cpc_dir *cpcdir = (struct cpc_dir *)p;
- free(cpcdir->buffer);
- return 1;
-}
-/*---------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/loader/cfs-cpc.h b/contiki-cpc/contiki-cpc/loader/cfs-cpc.h
deleted file mode 100644
index ddf55a0..0000000
--- a/contiki-cpc/contiki-cpc/loader/cfs-cpc.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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: Adam Dunkels <adam@sics.se>
- *
- * $Id: cfs-cpc.h,v 1.1 2006/04/17 15:11:55 kthacker Exp $
- */
-#ifndef __CFS_CPC_H__
-#define __CFS_CPC_H__
-
-#include "ek.h"
-
-EK_PROCESS_INIT(cfs_cpc_init, arg);
-
-#endif /* __CFS_CBM_H__ */
diff --git a/contiki-cpc/contiki-cpc/loader/dir.s b/contiki-cpc/contiki-cpc/loader/dir.s
deleted file mode 100644
index 2de266a..0000000
--- a/contiki-cpc/contiki-cpc/loader/dir.s
+++ /dev/null
@@ -1,99 +0,0 @@
-;; This example shows how to perform a directory of a disc
-;; and extract the filenames.
-;;
-;; This code is public domain and can freely be used in your
-;; own programs.
-;;
-;; Written by Kevin Thacker. 2002
-
-
-
-;;------------------------------------------------------------------
-
-;; firmware function to catalog a disc or cassette
-cas_catalog == 0xbc9b
-;; firmware function to disable text output
-txt_vdu_enable == 0xbb54
-;; firmware function to enable text output
-txt_vdu_disable == 0xbb57
-;; firmware function to find a RSX
-kl_find_command == 0xbcd4
-
- .globl __readdir
- .area _CODE
-
-;;------------------------------------------------------------------
-;; find BIOS SET MESSAGE command
-;; this is used to disable disc messages.
-;; this is compatible with other DOSs that also provide this command
-__readdir::
-
-ld hl,#cmd_bios_set_message
-call kl_find_command
-ret nc
-
-;; command found
-
-;; store address of command
-ld (bios_set_message),hl
-ld a,c
-;; store "rom select" of command
-ld (bios_set_message+2),a
-
-;;------------------------------------------------------------------
-
-;; do CAT
-ld hl,#2
-add hl,sp
-ld e,(hl)
-inc hl
-ld d,(hl)
-call fetch_directory
-ret
-
-
-;;------------------------------------------------------------------
-;; display files from data generated by CAS CATALOG function
-
-;; perform a CAT command
-
-fetch_directory::
-push de
-;; disable disc messages. Error messages will not be displayed.
-ld a,#0xff
-rst 0x018 ;; KL FAR CALL
-.dw bios_set_message
-
-;; disable text output
-call txt_vdu_disable
-
-pop de
-
-;; initialise in case of an error
-xor a
-ld (de),a
-
-;; do catalog
-call cas_catalog
-
-;; enable text output
-call txt_vdu_enable
-
-;; enable disc messages. Error messages will be displayed
-ld a,#0x0
-rst 0x018 ;; KL FAR CALL
-.dw bios_set_message
-ret
-
-
-;;------------------------------------------------------------------
-
-;; this is initialised when the "BIOS SET MESSAGE" RSX has been found.
-bios_set_message:
-.dw 0 ;; address of function
-.db 0 ;; "rom select" for function
-
-
-cmd_bios_set_message:
-.db #0x01+#0x80 ;; this is the "BIOS SET MESSAGE" RSX
-
diff --git a/contiki-cpc/contiki-cpc/loader/loader-arch-cpc.c b/contiki-cpc/contiki-cpc/loader/loader-arch-cpc.c
deleted file mode 100644
index 84d12be..0000000
--- a/contiki-cpc/contiki-cpc/loader/loader-arch-cpc.c
+++ /dev/null
@@ -1,93 +0,0 @@
-#include "loader-arch.h"
-#include "rel.h"
-#include <stddef.h>
-#include <malloc.h>
-
-extern void *progend;
-
-struct prg_hdr {
- char *relocatedata;
- char arch[8];
- char version[8];
- char initfunc[1];
-};
-
-struct dsc_hdr {
- char *relocatedata;
- struct dsc dscdata;
-};
-
-unsigned char loader_arch_load(const char *name, char *arg)
-{
- char *loadaddr;
- struct prg_hdr *prghdr;
- int length;
-
- /* get length of file */
- length = get_file_length(name);
- if (length==0)
- return LOADER_ERR_OPEN;
-
- /* allocate memory */
- loadaddr = malloc(length);
- if (loadaddr==NULL)
- return LOADER_ERR_MEM;
-
- /* load the file */
- load_file(name,loadaddr);
-
- prghdr = (struct prg_hdr *)loadaddr;
-
- /* relocate it */
- relocate(prghdr->relocatedata,loadaddr);
-
- ((void (*)(char *))prghdr->initfunc)(arg);
-
- return LOADER_OK;
-}
-
-struct dsc *loader_arch_load_dsc(const char *name)
-{
- char *loadaddr;
- struct dsc_hdr *dschdr;
- int length;
-
- /* get length of file */
- length = get_file_length(name);
- if (length==0)
- return NULL;
-
- /* allocate memory */
- loadaddr = malloc(length);
- if (loadaddr==NULL)
- return NULL;
-
- /* load the file */
- load_file(name, loadaddr);
-
- dschdr = (struct dsc_hdr *)loadaddr;
- /* relocate it */
- relocate(dschdr->relocatedata, loadaddr);
-
- return &dschdr->dscdata;
-}
-
-void loader_arch_free(void *loadaddr)
-{
- /* free module */
- /* we're given the start of 'arch' member of the prg_hdr,
- calculate the real start address and then free the block */
- void *header = (void *)((char *)loadaddr - offsetof(struct prg_hdr,arch));
- free(header);
-}
-
-void loader_arch_free_dsc(struct dsc *dscdata)
-{
- /* we're given the start of 'dsc' member of the dsc_hdr,
- calculate the real start address and then free the block */
- void *header = (void *)((char *)dscdata - 2);
-//offsetof(struct
-//dsc_hdr,dscdata));
- free(header);
-}
-
diff --git a/contiki-cpc/contiki-cpc/loader/loader-arch-module.s b/contiki-cpc/contiki-cpc/loader/loader-arch-module.s
deleted file mode 100644
index 2539b86..0000000
--- a/contiki-cpc/contiki-cpc/loader/loader-arch-module.s
+++ /dev/null
@@ -1,16 +0,0 @@
-;; This is the header for Contiki program files
-;;
-;; This must always be at at the start of the file
-;; The order of the data must not change.
-;;
-.globl _loader_appinit
- .area _CODE
-
-_loader_arch_loadaddr::
-arch: .byte 0,0,0,0,0,1,1,1
-version: .byte 0,0,0,0,0,1,1,1
-
-;; The position of the init function can be anywhere in the file.
-;; This jump is always in the same place, and points to the actual init function.
- call gsinit
- jp _loader_appinit
diff --git a/contiki-cpc/contiki-cpc/loader/loader-arch.h b/contiki-cpc/contiki-cpc/loader/loader-arch.h
deleted file mode 100644
index efce757..0000000
--- a/contiki-cpc/contiki-cpc/loader/loader-arch.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2003, 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. 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 OS
- *
- * $Id: loader-arch.h,v 1.1 2006/04/17 15:11:55 kthacker Exp $
- *
- */
-#ifndef __LOADER_ARCH_H__
-#define __LOADER_ARCH_H__
-
-#include "dsc.h"
-
-unsigned char loader_arch_load(const char *name, char *arg);
-struct dsc *loader_arch_load_dsc(const char *name);
-void loader_arch_free(void *addr);
-void loader_arch_free_dsc(struct dsc *);
-
-extern void *loader_arch_loadaddr;
-
-#define LOADER_LOAD_DSC(name) loader_arch_load_dsc(name)
-#define LOADER_LOAD(name, arg) loader_arch_load(name, arg)
-#define LOADER_UNLOAD() loader_arch_free(&loader_arch_loadaddr)
-#define LOADER_UNLOAD_DSC(dsc) loader_arch_free_dsc(dsc)
-
-#endif /* __LOADER_ARCH_H__ */
diff --git a/contiki-cpc/contiki-cpc/loader/rel.h b/contiki-cpc/contiki-cpc/loader/rel.h
deleted file mode 100644
index fd3c264..0000000
--- a/contiki-cpc/contiki-cpc/loader/rel.h
+++ /dev/null
@@ -1,3 +0,0 @@
-int get_file_length(const char *);
-void load_file(const char *, void *);
-void relocate(void *relocate_data, void *base);
diff --git a/contiki-cpc/contiki-cpc/loader/rel.s b/contiki-cpc/contiki-cpc/loader/rel.s
deleted file mode 100644
index be8f085..0000000
--- a/contiki-cpc/contiki-cpc/loader/rel.s
+++ /dev/null
@@ -1,219 +0,0 @@
- .area _CODE
- .globl _get_file_length
- .globl _load_file
-;;----------------------------------------------------------------------------
-;; get length of file on disc. Assumption file has a AMSDOS header
-;;
-;; int get_file_length(const char *filename);
-
-_get_file_length::
- ld hl,#2
- add hl,sp
- ld a,(hl)
- inc hl
- ld h,(hl)
- ld l,a
-
- ;; HL = address of null terminated string
- call count_string_length
- ld de,#0x0c000 ;; points to unused 2k buffer
- call 0x0bc77 ;; cas in open
- push bc ;; BC = length of file
- call 0x0bc7d ;; cas in abandon
- pop hl
- ret
-
-;;---------------------------------------------------------------------
-
-count_string_length:
- push hl
- ld b,#0
-csl: ld a,(hl)
- or a
- jr z,csl2
- inc hl
- inc b
- jr csl
-csl2:
- pop hl
- ret
-
-;;---------------------------------------------------------------------------
-;; void load_file(const char *filename, void *addr)
-
-_load_file::
- ld hl,#5
- add hl,sp
- ld d,(hl)
- dec hl
- ld e,(hl)
- dec hl
-
- push de
- ld a,(hl)
- dec hl
- ld l,(hl)
- ld h,a
-
- call count_string_length
- ld de,#0x0c000
- call 0x0bc77 ;; cas in open
- pop hl ;; load address
- call 0x0bc83 ;; cas in direct
- call 0x0bc7a ;; cas in close
- ret
-
-;; void relocate(void *addr,void *base)
-
-;; IX = address of relocate data
-_relocate::
- ld hl,#5
- add hl,sp
- push ix
- ld b,(hl) ;; base address
- dec hl
- ld c,(hl)
- dec hl
- ld a,(hl)
- .db #0x0dd
- ld h,a
- dec hl
- ld a,(hl)
- .db #0x0dd
- ld l,a ;; IX is offset of table from start of loaded file
- add ix,bc ;; relocate IX to give absolute address of table.
-
- push bc
- pop hl
- call relocate_16bit
- push bc
- pop hl
- call relocate_8bitl ;; lower byte
- push bc
- pop hl
- call relocate_8bith ;; upper byte
- pop ix
- ret
-
-;;--------------------------------------------------------------------------
-;; Relocate 8-bit values (e.g. where low and high parts of an address
-;; are loaded seperatly into registers)
-;;
-;; IX = list of 16-bit addresses. Each address identifies an 8-bit
-;; value
-;;
-relocate_8bith:
-ld a,0(ix)
-inc ix
-or a
-ret z
-cp #0x0ff
-jr nz,r8bh
-ld e,0(ix)
-inc ix
-ld d,0(ix)
-inc ix
-add hl,de
-jr relocate_8bith
-
-r8bh:
-;; add offset
-add a,l
-ld l,a
-ld a,h
-adc a,#0x0
-ld h,a
-
-;; get low byte of address
-ld e,0(ix)
-inc ix
-
-;; get high byte to relocate
-ld d,(hl)
-ex de,hl
-add hl,bc
-ex de,hl
-ld (hl),d
-jr relocate_8bith
-
-relocate_8bitl:
-ld a,0(ix)
-inc ix
-or a
-ret z
-cp #0x0ff
-jr nz,r8bl
-ld e,0(ix)
-inc ix
-ld d,0(ix)
-inc ix
-add hl,de
-jr relocate_8bitl
-
-r8bl:
-add a,l
-ld l,a
-ld a,h
-adc a,#0x0
-ld h,a
-
-ld e,(hl)
-ld d,#0x0
-ex de,hl
-add hl,bc
-ex de,hl
-ld (hl),e
-jr relocate_8bitl
-
-;;--------------------------------------------------------------------------
-;; Relocate 16-bit values
-;;
-;; Entry conditions:
-;;
-;; IX = list of 16-bit addresses. Each address identifies a 16-bit
-;; value to relocate.
-;;
-;; BC = base address
-;;
-;; NOTE:
-;; - Relocatable 16-bit values come from CALL and JP instructions and
-;; loading a 16-bit register.
-
-relocate_16bit:
-ld a,0(ix) ;; number of items to relocate
-inc ix
-or a
-ret z
-cp #0x0ff
-jr nz,r16
-ld e,0(ix)
-inc ix
-ld d,0(ix)
-inc ix
-add hl,de
-jr relocate_16bit
-
-r16:
-;; add offset
-add a,l
-ld l,a
-ld a,h
-adc a,#0x0
-ld h,a
-
-;; get the 16-bit value
-ld e,(hl)
-inc hl
-ld d,(hl)
-
-
-;; add base address; therefore relocating it.
-ex de,hl
-add hl,bc
-ex de,hl
-;; write relocated value
-ld (hl),d
-dec hl
-ld (hl),e
-jr relocate_16bit
-
diff --git a/contiki-cpc/contiki-cpc/loader/unused/c64-dio-asm.S b/contiki-cpc/contiki-cpc/loader/unused/c64-dio-asm.S
deleted file mode 100644
index 86b9639..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/c64-dio-asm.S
+++ /dev/null
@@ -1,505 +0,0 @@
-
-
- .export _c64_dio_asm_init
- .export _c64_dio_asm_read_block
- .export _c64_dio_asm_write_block
-
- .export _c64_dio_asm_track, _c64_dio_asm_sector
-
- .export _c64_dio_asm_ptr
-
- .importzp ptr1, ptr2
-
- ;; job code $80 read, $90 write
-
-
-ciout = $ffa8
-listen = $ffb1
-second = $ff93
-unlsn = $ffae
-
-nbytes = 34
-esc = $42
-
-blockread = 1
-blockwrite = 2
-
-errok = 0
-errerr = 1
-
-.data
-_c64_dio_asm_track: .byte 0
-_c64_dio_asm_sector: .byte 0
-_c64_dio_asm_ptr: .byte 0,0
-
-.code
-;---------------------------------------
-_c64_dio_asm_read_block:
-
- lda #blockread
- jsr send
-
- lda _c64_dio_asm_track
- jsr send
- lda _c64_dio_asm_sector
- jsr send
-
-
- jsr recv
- cmp #errok
- bne readerr
-
- lda _c64_dio_asm_ptr
- sta ptr1
- lda _c64_dio_asm_ptr+1
- sta ptr1+1
- ldy #0
-readl:
- jsr recv
- sta (ptr1),y
- iny
- bne readl
- clc
- lda #0
- tax
- rts
-readerr:
- ; sta $07c0
- jsr recv
- ; sta $07c1
- ldx #0
- rts
-;---------------------------------------
-_c64_dio_asm_write_block:
-
- lda #blockwrite
- jsr send
-
- lda _c64_dio_asm_track
- jsr send
- lda _c64_dio_asm_sector
- jsr send
-
-
- lda _c64_dio_asm_ptr
- sta ptr1
- lda _c64_dio_asm_ptr+1
- sta ptr1+1
- ldy #0
-writel:
- lda (ptr1),y
- jsr send
- iny
- bne writel
-
- jsr recv
- cmp #errok
- bne writeerr
- lda #0
- tax
- rts
-
-writeerr:
- ; sta $07c0
- jsr recv
- ; sta $07c1
- ldx #0
- rts
-;---------------------------------------
-_c64_dio_asm_init:
- sta devnr
- lda #$00
- sta drvmem
- lda #$05
- sta drvmem+1
-
- lda #<drive
- sta ptr1
- lda #>drive
- sta ptr1+1
-
- ; lda devnr
- ; ldx #<icmd
- ; ldy #>icmd
- ; jsr drvcmd
- ; jsr unlsn
-
-mwl:
- lda devnr
- ldx #<mwcmd
- ldy #>mwcmd
- jsr drvcmd
-
- ldy #0
- lda (ptr1),y
- jsr ciout
- iny
- cpy #nbytes
- bne *-8
-
- jsr unlsn
-
- lda drvmem
- clc
- adc #nbytes
- sta drvmem
- lda drvmem+1
- adc #0
- sta drvmem+1
-
- lda ptr1
- clc
- adc #nbytes
- sta ptr1
- tax
- lda ptr1+1
- adc #0
- sta ptr1+1
- cpx #<driveend
- sbc #>driveend
- bcc mwl
-
- lda devnr
- ldx #<mecmd
- ldy #>mecmd
- jsr drvcmd
- jsr unlsn
-
- rts
-;---------------------------------------
-drvcmd:
- stx ptr2
- sty ptr2+1
- jsr listen
- lda #$6f
- jsr second
-
- ldy #0
- lda (ptr2),y
- sta drvcmdcmp+1
- inc ptr2
- bne *+4
- inc ptr2+1
-
- ldy #0
- lda (ptr2),y
- jsr ciout
- iny
-drvcmdcmp: cpy #0
- bne *-8
- rts
-;---------------------------------------
-devnr: .byte 8
-mwcmd: .byte 6
- .byte $4d, $2d, $57
-drvmem: .word $0500
- .byte nbytes
- .byte 0
-mecmd: .byte 2
- .byte $55, $33
- .byte 0
-;---------------------------------------
-send:
-
- sta ptr2
- ldx #7
-sendl:
- lsr ptr2
-
-
- lda $dd00
- and #$df
- ora #$10
- bcc *+4
- eor #$30
- sta $dd00
-
- lda #$c0
- bit $dd00
- bne *-3
-
- lda $dd00
- and #$cf
- sta $dd00
-
- lda $dd00
- and #$c0
- eor #$c0
- bne *-7
-
- dex
- bpl sendl
-
- ldx $d020
- lda #1
- sta $d020
- stx $d020
-
- rts
-;---------------------------------------
-recv:
- ldx $d020
- lda #0
- sta $d020
- stx $d020
-
- ldx #7
-recvl:
- lda $dd00
- and #$c0
- eor #$c0
- beq *-7
- asl a
-
- lda $dd00
- and #$df
- ora #$10
- bcs *+4
- eor #$30
- sta $dd00
- ror ptr2
-
- lda #$c0
- bit $dd00
- beq *-3
-
- lda $dd00
- and #$cf
- sta $dd00
-
- dex
- bpl recvl
- lda ptr2
- rts
-;---------------------------------------
-
-;---------------------------------------
-;the code residing in the drive:
-;---------------------------------------
-dtmp = $46
-dtmp2 = $97
-dbuf = $0300
-dbufcmd = $00
-dbuftrack = $06
-dbufsect = $07
-
-retries = 10
-bretries = 2
-;---------------------------------------
-drive :
- .org $0500
-
-
-
- cld
- tsx
- stx dstack
- sei
- jsr ledoff
-
-drivel:
- jsr dload
- jsr ledoff
- cli
- jmp drivel
-;---------------------------------------
-ledon:
- lda $1c00
- ora #$08
- sta $1c00
- rts
-ledoff:
- lda $1c00
- and #$f7
- sta $1c00
- rts
-;---------------------------------------
-drecv:
- ldx #7
-drecvl:
- lda $1800
- bmi atn
- and #5
- beq *-7
- lsr a
- lda #2
- bcc *+4
- lda #8
- sta $1800
- ror dtmp
- lda $1800
- bmi atn
- and #5
- eor #5
- beq *-9
- lda #0
- sta $1800
- dex
- bpl drecvl
- lda dtmp
- rts
-;---------------------------------------
-atn:
- ldx dstack
- txs
- cli
- rts
-;---------------------------------------
-dsend:
- sta dtmp
- ldx #7
-dsendl:
- lsr dtmp
- lda #2
- bcs *+4
- lda #8
- sta $1800
-
- lda $1800
- bmi atn
- and #5
- eor #5
- bne *-9
-
- sta $1800
-
- lda #5
- bit $1800
- bne *-3
- dex
- bpl dsendl
- rts
-;---------------------------------------
-dload:
- ldy #0
-
- jsr drecv
- sta dcmd
-
- jsr ledon
-
- jsr drecv
- sta dbuftrack
-
- jsr drecv
- sta dbufsect
-
- lda dcmd
- cmp #blockwrite
- bne dblockread
-dblockwrite:
- ldy #0
-drecvpl:
- jsr drecv
- sta dbuf,y
- iny
- bne drecvpl
-
- jmp dputsect
-
-dblockread:
- jsr dgetsect
-
-dsendpage:
- ldy #0
-dsendpl:
- lda dbuf,y
- jsr dsend
- iny
- bne dsendpl
- rts
-;---------------------------------------
-dgetsect:
- ; stx dbuftrack
- ; sty dbufsect
- ldx #retries
-dgetsectl:
- lda #$80
- sta dbufcmd
-
- cli
-:
- lda dbufcmd
- bmi :-
- sei
- cmp #1
- beq dgsnoerr
-
- cpx #0
- beq dgsserr
- dex
- cpx #bretries
- bcs dgetsectl
- pha
- lda #$c0
- sta dbufcmd
- cli
-:
- lda dbufcmd
- bmi :-
- pla
- cpx #0
- bne dgetsectl
-
-dgsserr:
- pha
- lda #errerr
- jsr dsend
- pla
- jsr dsend
- rts
-dgsnoerr:
- lda #errok
- jsr dsend
- rts
-;---------------------------------------
-dputsect:
- ; stx dbuftrack
- ; sty dbufsect
- ldx #retries
-dputsectl:
- lda #$90
- sta dbufcmd
-
- cli
-:
- lda dbufcmd
- bmi :-
- sei
- cmp #1
- beq dpsnoerr
-
- cpx #0
- beq dpsserr
- dex
- cpx #bretries
- bcs dputsectl
- pha
- lda #$c0
- sta dbufcmd
- cli
-:
- lda dbufcmd
- bmi :-
- pla
- cpx #0
- bne dputsectl
-
-dpsserr:
- pha
- lda #errerr
- jsr dsend
- pla
- jsr dsend
- rts
-dpsnoerr:
- lda #errok
- jsr dsend
- rts
-;---------------------------------------
-led: .byte 0,0
-dstack: .byte 0
-dcmd: .byte 0
-.RELOC
-driveend:
-
diff --git a/contiki-cpc/contiki-cpc/loader/unused/c64-dio-asm.h b/contiki-cpc/contiki-cpc/loader/unused/c64-dio-asm.h
deleted file mode 100644
index c00355a..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/c64-dio-asm.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2003, 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. 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 OS
- *
- * $Id: c64-dio-asm.h,v 1.1 2006/04/17 15:11:56 kthacker Exp $
- *
- */
-#ifndef __C64_DIO_ASM_H__
-#define __C64_DIO_ASM_H__
-
-extern unsigned char c64_dio_asm_track,
- c64_dio_asm_sector;
-
-extern unsigned char *c64_dio_asm_ptr;
-
-void __fastcall__ c64_dio_asm_init(unsigned char drive);
-unsigned char c64_dio_asm_read_block(void);
-unsigned char c64_dio_asm_write_block(void);
-
-#endif /* __C64_DIO_H__ */
diff --git a/contiki-cpc/contiki-cpc/loader/unused/c64-dio.c b/contiki-cpc/contiki-cpc/loader/unused/c64-dio.c
deleted file mode 100644
index ff09e03..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/c64-dio.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/**
- * \addtogroup c64fs
- * @{
- *
- */
-
-/**
- * \file
- * C64 direct disk I/O.
- * \author Adam Dunkels <adam@dunkels.com>
- *
- */
-
-/*
- * Copyright (c) 2003, 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. 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 OS
- *
- * $Id: c64-dio.c,v 1.1 2006/04/17 15:11:56 kthacker Exp $
- *
- */
-
-#include "c64-dio.h"
-#include "c64-dio-asm.h"
-
-/*-----------------------------------------------------------------------------------*/
-/**
- * Read a block of data (256 bytes) from the disk.
- *
- * \param track The track of the disk block to be read.
- *
- * \param sector The sector of the disk block to be read.
- *
- * \param ptr A pointer to a buffer than must be able to accomodate
- * 256 bytes of data.
- *
- * \return An error code or C64_DIO_OK if the data was successfully
- * read.
- */
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-c64_dio_read_block(unsigned char track,
- unsigned char sector,
- unsigned char *ptr)
-{
- c64_dio_asm_track = track;
- c64_dio_asm_sector = sector;
- c64_dio_asm_ptr = ptr;
- return c64_dio_asm_read_block();
-}
-/*-----------------------------------------------------------------------------------*/
-/**
- * Write a block of data (256 bytes) to the disk.
- *
- * \param track The track of the disk block to be written.
- *
- * \param sector The sector of the disk block to be written.
- *
- * \param ptr A pointer to a buffer containing the 256 bytes of data
- * to be written.
- *
- * \return An error code or C64_DIO_OK if the data was successfully
- * written.
- */
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-c64_dio_write_block(unsigned char track,
- unsigned char sector,
- unsigned char *ptr)
-{
- c64_dio_asm_track = track;
- c64_dio_asm_sector = sector;
- c64_dio_asm_ptr = ptr;
- return c64_dio_asm_write_block();
-}
-/*-----------------------------------------------------------------------------------*/
-/**
- * Initialize the direct disk I/O routines for a particular disk drive.
- *
- * This function must be called before any of the other direct disk
- * I/O functions can be used.
- *
- * \param drive The drive number of the disk drive for which the
- * direct disk I/O should be enabled.
- */
-/*-----------------------------------------------------------------------------------*/
-void
-c64_dio_init(unsigned char drive)
-{
- c64_dio_asm_init(drive);
-}
-/*-----------------------------------------------------------------------------------*/
-/** @} */
diff --git a/contiki-cpc/contiki-cpc/loader/unused/c64-dio.h b/contiki-cpc/contiki-cpc/loader/unused/c64-dio.h
deleted file mode 100644
index 6773c0e..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/c64-dio.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2003, 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. 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 OS
- *
- * $Id: c64-dio.h,v 1.1 2006/04/17 15:11:56 kthacker Exp $
- *
- */
-#ifndef __C64_DIO_H__
-#define __C64_DIO_H__
-
-void c64_dio_init(unsigned char drive);
-
-unsigned char c64_dio_read_block(unsigned char track,
- unsigned char sector,
- unsigned char *buf);
-
-unsigned char c64_dio_write_block(unsigned char track,
- unsigned char sector,
- unsigned char *buf);
-
-#define C64_DIO_OK 0
-
-#endif /* __C64_DIO_H__ */
diff --git a/contiki-cpc/contiki-cpc/loader/unused/c64-fs-raw.c b/contiki-cpc/contiki-cpc/loader/unused/c64-fs-raw.c
deleted file mode 100644
index 7b8577c..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/c64-fs-raw.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/**
- * \addtogroup c64fs
- * @{
- */
-
-/**
- * \file
- * "Raw" C64 file system access.
- * \author Adam Dunkels <adam@dunkels.com>
- *
- * This file provides functions that allow reading data from files
- * without updating the file descriptor pointer. The functions are not
- * automatically included in the core Contiki code and therefore
- * application programs that use tham must manually link with this
- * file.
- *
- */
-
-
-/*
- * Copyright (c) 2003, 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. 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: c64-fs-raw.c,v 1.1 2006/04/17 15:11:56 kthacker Exp $
- *
- */
-
-#include "c64-fs-raw.h"
-
-#include <string.h>
-
-struct directory_entry {
- unsigned char type;
- unsigned char track, sect;
- unsigned char name[16];
- unsigned char reltrack, relsect, relreclen;
- unsigned char unused1, unused2, unused3, unused4;
- unsigned char tmptrack, tmpsect;
- unsigned char blockslo, blockshi;
-};
-
-
-extern unsigned char _c64_fs_dirbuf[256];
-extern unsigned char _c64_fs_dirbuftrack, _c64_fs_dirbufsect;
-
-extern unsigned char _c64_fs_filebuf[256];
-extern unsigned char _c64_fs_filebuftrack, _c64_fs_filebufsect;
-
-void _c64_fs_readdirbuf(unsigned char track, unsigned char sect);
-
-
-/*-----------------------------------------------------------------------------------*/
-/**
- * Read data from a file without updating the file descriptor pointer.
- *
- * This function reads data from an open file into a buffer than must
- * be allocated by the caller, but does not update the file
- * description pointer like the c64_fs_read() function does.
- *
- * \param f A pointer to a file descriptor structure that must have
- * been opened with c64_fs_open().
- *
- * \param buf A pointer to the buffer in which the data should be placed.
- *
- * \param len The maxiumum amount of bytes to read.
- *
- * \return The number of bytes that actually was read, or 0 if an end
- * of file was encountered.
- *
- */
-/*-----------------------------------------------------------------------------------*/
-int __fastcall__
-c64_fs_read_raw(register struct c64_fs_file *f, char *buf, int len)
-{
- int i;
- unsigned char fptr, ftrack, fsect;
-
- /* Check if current block is already in buffer, and if not read it
- from disk. */
- if(_c64_fs_filebuftrack != f->track ||
- _c64_fs_filebufsect != f->sect) {
- _c64_fs_filebuftrack = f->track;
- _c64_fs_filebufsect = f->sect;
- c64_dio_read_block(_c64_fs_filebuftrack,
- _c64_fs_filebufsect, _c64_fs_filebuf);
- }
-
- if(_c64_fs_filebuf[0] == 0 &&
- f->ptr == _c64_fs_filebuf[1]) {
- return 0; /* EOF */
- }
-
- fptr = f->ptr;
- ftrack = f->track;
- fsect = f->sect;
-
- for(i = 0; i < len; ++i) {
- *buf = _c64_fs_filebuf[fptr];
-
- ++fptr;
- if(_c64_fs_filebuf[0] == 0) {
- if(fptr == _c64_fs_filebuf[1]) {
- /* End of file reached, we return the amount of bytes read so
- far. */
- return i + 1;
- }
- } else if(fptr == 0) {
-
- /* Read new block into buffer and set buffer state
- accordingly. */
- _c64_fs_filebuftrack = ftrack = _c64_fs_filebuf[0];
- _c64_fs_filebufsect = fsect = _c64_fs_filebuf[1];
- fptr = 2;
- c64_dio_read_block(_c64_fs_filebuftrack,
- _c64_fs_filebufsect, _c64_fs_filebuf);
- }
-
- ++buf;
- }
- return i;
-}
-/*-----------------------------------------------------------------------------------*/
-/**
- * Move the file descriptior pointer forward in the file.
- *
- *
- * \param f A pointer to a file descriptor structure that must have
- * been opened with c64_fs_open().
- *
- * \param len The number of bytes the pointer should be moved forward.
- *
- * \return The number of bytes that the pointer actually was moved, or
- * 0 if an end of file was encountered.
- */
-/*-----------------------------------------------------------------------------------*/
-int
-c64_fs_read_next(register struct c64_fs_file *f, int len)
-{
- int i;
-
- /* Check if current block is already in buffer, and if not read it
- from disk. */
- if(_c64_fs_filebuftrack != f->track ||
- _c64_fs_filebufsect != f->sect) {
- _c64_fs_filebuftrack = f->track;
- _c64_fs_filebufsect = f->sect;
- c64_dio_read_block(_c64_fs_filebuftrack,
- _c64_fs_filebufsect, _c64_fs_filebuf);
- }
-
- if(_c64_fs_filebuf[0] == 0 &&
- f->ptr == _c64_fs_filebuf[1]) {
- return 0; /* EOF */
- }
-
- for(i = 0; i < len; ++i) {
-
- ++f->ptr;
- if(_c64_fs_filebuf[0] == 0) {
- if(f->ptr == _c64_fs_filebuf[1]) {
- /* End of file reached, we return the amount of bytes read so
- far. */
- return i + 1;
- }
- } else if(f->ptr == 0) {
- /* Read new block into buffer and set buffer state
- accordingly. */
- _c64_fs_filebuftrack = f->track = _c64_fs_filebuf[0];
- _c64_fs_filebufsect = f->sect = _c64_fs_filebuf[1];
- f->ptr = 2;
- c64_dio_read_block(_c64_fs_filebuftrack,
- _c64_fs_filebufsect, _c64_fs_filebuf);
- }
- }
- return i;
-}
-/*-----------------------------------------------------------------------------------*/
-/** @} */
diff --git a/contiki-cpc/contiki-cpc/loader/unused/c64-fs-raw.h b/contiki-cpc/contiki-cpc/loader/unused/c64-fs-raw.h
deleted file mode 100644
index 9e434d6..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/c64-fs-raw.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2003, 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. 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: c64-fs-raw.h,v 1.1 2006/04/17 15:11:56 kthacker Exp $
- *
- */
-#ifndef __C64_FS_RAW_H__
-#define __C64_FS_RAW_H__
-
-#include "c64-fs.h"
-
-int __fastcall__ c64_fs_read_raw(struct c64_fs_file *f,
- char *buf, int len);
-
-int c64_fs_read_next(struct c64_fs_file *f, int len);
-
-
-#endif /* __C64_FS_H__ */
diff --git a/contiki-cpc/contiki-cpc/loader/unused/c64-fs-write.c b/contiki-cpc/contiki-cpc/loader/unused/c64-fs-write.c
deleted file mode 100644
index 8f74c00..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/c64-fs-write.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * \addtogroup c64fs
- * @{
- */
-
-/**
- * \file
- * Implementation of C64 file writes.
- * \author Adam Dunkels <adam@dunkels.com>
- *
- * The functions in this file are not included in the core Contiki
- * code, but must be explicitly linked by an application that that
- * wishes to be able to write to files.
- */
-
-
-/*
- * Copyright (c) 2003, 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. 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: c64-fs-write.c,v 1.1 2006/04/17 15:11:57 kthacker Exp $
- *
- */
-
-#include "c64-dio.h"
-#include "c64-fs.h"
-#include <string.h>
-
-/* An *UGLY* implementation of c64_fs_write that only can be used to
- overwrite a single block file. */
-
-extern unsigned char _c64_fs_filebuf[256];
-extern unsigned char _c64_fs_filebuftrack,
- _c64_fs_filebufsect;
-
-
-/*-----------------------------------------------------------------------------------*/
-/**
- * Write data to an open file.
- *
- * \note This function currently does not support writing to other than a single block file (cannot be more than 254 bytes long).
- *
- * \param f A pointer to a file descriptor previously opened with c64_fs_open().
- *
- * \param buf A pointer to a buffer with data that should be written
- * to the file.
- *
- * \param len The length of the data that should be written.
- *
- * \return The number of bytes actually written.
- *
- */
-/*-----------------------------------------------------------------------------------*/
-int __fastcall__
-c64_fs_write(register struct c64_fs_file *f, char *buf, int len)
-{
- int i;
-
- if(len <= 0) {
- return 0;
- }
-
- /* Check if current block is already in buffer, and if not read it
- from disk. */
- if(_c64_fs_filebuftrack != f->track ||
- _c64_fs_filebufsect != f->sect) {
- _c64_fs_filebuftrack = f->track;
- _c64_fs_filebufsect = f->sect;
- c64_dio_read_block(_c64_fs_filebuftrack,
- _c64_fs_filebufsect,
- _c64_fs_filebuf);
- }
-
- i = 256 - f->ptr;
- if(len < i) {
- i = len;
- }
-
- memcpy(&_c64_fs_filebuf[f->ptr], buf, i);
-
- f->ptr += i;
- if(_c64_fs_filebuf[0] == 0 &&
- f->ptr > _c64_fs_filebuf[1]) {
- _c64_fs_filebuf[1] = f->ptr;
- }
-
- c64_dio_write_block(_c64_fs_filebuftrack,
- _c64_fs_filebufsect,
- _c64_fs_filebuf);
-
- return i;
-}
-/*-----------------------------------------------------------------------------------*/
-/** @} */
diff --git a/contiki-cpc/contiki-cpc/loader/unused/c64-fs.c b/contiki-cpc/contiki-cpc/loader/unused/c64-fs.c
deleted file mode 100644
index d0b8f47..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/c64-fs.c
+++ /dev/null
@@ -1,411 +0,0 @@
-/**
- * \defgroup c64fs C64 file system and disk functions.
- * @{
- *
- * The C64 file system functions are divided into two categories:
- * those that deal with C64 files and the C64 disk directory, and
- * those that allow direct block access to the disk. The former
- * functions can be used for accessing regular files, whereas the
- * latter functions are used e.g. to download D64 files onto 1541
- * disks.
- *
- * \note The C64 filesystem functions currently only work with the
- * 1541/1541-II/1571 and compatible drives, and not with the IDE64
- * hard disks or the 1581/FD2000 3.5" drives.
- *
- *
- */
-
-/**
- * \file
- * C64 file system operations interface for Contiki.
- * \author Adam Dunkels <adam@dunkels.com>
- *
- */
-
-/*
- * Copyright (c) 2003, 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. 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: c64-fs.c,v 1.1 2006/04/17 15:11:57 kthacker Exp $
- *
- */
-
-#include "c64-dio.h"
-#include "c64-dio-asm.h"
-#include "c64-fs.h"
-
-#include <string.h>
-#include <stdio.h>
-
-struct directory_entry {
- unsigned char type;
- unsigned char track, sect;
- unsigned char name[16];
- unsigned char reltrack, relsect, relreclen;
- unsigned char unused1, unused2, unused3, unused4;
- unsigned char tmptrack, tmpsect;
- unsigned char blockslo, blockshi;
-};
-
-unsigned char _c64_fs_dirbuf[256];
-unsigned char _c64_fs_dirbuftrack = 0, _c64_fs_dirbufsect = 0;
-
-unsigned char _c64_fs_filebuf[256];
-unsigned char _c64_fs_filebuftrack = 0, _c64_fs_filebufsect = 0;
-
-static struct c64_fs_dirent lastdirent;
-
-static struct c64_fs_dir opendir;
-static struct c64_fs_dirent opendirent;
-
-/*-----------------------------------------------------------------------------------*/
-/**
- * Open a file.
- *
- * The file description must be allocated by the caller and a pointer
- * to it is passed to this function.
- *
- * \param name A pointer to the name of the file to be opened.
- * \param f A pointer to the file descriptor struct.
- *
- * \retval 0 If the file was successfully opened.
- * \retval -1 If the file does not exist.
- */
-/*-----------------------------------------------------------------------------------*/
-int
-c64_fs_open(const char *name, register struct c64_fs_file *f)
-{
- /* First check if we already have the file cached. If so, we don't
- need to do an expensive directory lookup. */
- if(strncmp(lastdirent.name, name, 16) == 0) {
- f->track = lastdirent.track;
- f->sect = lastdirent.sect;
- f->ptr = 2;
- return 0;
- }
-
- /* Not in cache, so we walk through directory instead. */
- c64_fs_opendir(&opendir);
-
- do {
- c64_fs_readdir_dirent(&opendir, &opendirent);
- if(strncmp(opendirent.name, name, 16) == 0) {
- f->track = opendirent.track;
- f->sect = opendirent.sect;
- f->ptr = 2;
- return 0;
- }
- } while(c64_fs_readdir_next(&opendir) == 0);
-
- /* The file was not found in the directory. We flush the directory
- buffer cache now in order to prevent a nasty problem from
- happening: If the first directory block of an empty disk was
- cached, *all* subsequent file opens would return "file not
- found". */
- _c64_fs_dirbuftrack = 0; /* There are no disk blocks on track 0. */
- return -1;
-}
-/*-----------------------------------------------------------------------------------*/
-/**
- * Read data from an open file.
- *
- * This function reads data from an open file into a buffer than must
- * be allocated by the caller.
- *
- * \param f A pointer to a file descriptor structure that must have
- * been opened with c64_fs_open().
- *
- * \param buf A pointer to the buffer in which the data should be placed.
- *
- * \param len The maxiumum amount of bytes to read.
- *
- * \return The number of bytes that actually was read, or 0 if an end
- * of file was encountered.
- */
-/*-----------------------------------------------------------------------------------*/
-#if !NOASM
-#pragma optimize(push, off)
-#endif /* !NOASM */
-int __fastcall__
-c64_fs_read(register struct c64_fs_file *f, char *buf, int len)
-{
- static int i;
-
- /* Check if current block is already in buffer, and if not read it
- from disk. */
-
-#if NOASM
- if(f->track != _c64_fs_filebuftrack ||
- _c64_fs_filebufsect != f->sect) {
- _c64_fs_filebuftrack = f->track;
- _c64_fs_filebufsect = f->sect;
- c64_dio_read_block(_c64_fs_filebuftrack, _c64_fs_filebufsect,
- _c64_fs_filebuf);
- }
-#else /* NOASM */
- asm("ldy #%b", offsetof(struct c64_fs_file, track));
- asm("lda (regbank+%b),y", 4);
- asm("cmp %v", _c64_fs_filebuftrack);
- asm("bne doblock");
-
- asm("ldy #%b", offsetof(struct c64_fs_file, sect));
- asm("lda (regbank+%b),y", 4);
- asm("cmp %v", _c64_fs_filebufsect);
- asm("bne doblock");
-
- asm("jmp noblock");
-
- asm("doblock:");
-
- asm("ldy #%b", offsetof(struct c64_fs_file, track));
- asm("lda (regbank+%b),y", 4);
- asm("sta %v", _c64_fs_filebuftrack);
- asm("sta %v", c64_dio_asm_track);
-
- asm("ldy #%b", offsetof(struct c64_fs_file, sect));
- asm("lda (regbank+%b),y", 4);
- asm("sta %v", _c64_fs_filebufsect);
- asm("sta %v", c64_dio_asm_sector);
-
- asm("lda #<(%v)", _c64_fs_filebuf);
- asm("sta %v", c64_dio_asm_ptr);
- asm("lda #>(%v)", _c64_fs_filebuf);
- asm("sta %v+1", c64_dio_asm_ptr);
-
- asm("jsr %v", c64_dio_asm_read_block);
-
- asm("noblock:");
-
-#endif /* NOASM */
-
- if(_c64_fs_filebuf[0] == 0 &&
- f->ptr == _c64_fs_filebuf[1]) {
- return 0; /* EOF */
- }
-
- for(i = 0; i < len; ++i) {
-#if NOASM
- *buf = _c64_fs_filebuf[f->ptr];
- ++f->ptr;
-#else /* NOASM */
- asm("ldy #%o+1", buf);
- asm("jsr ldaxysp");
- asm("sta ptr2");
- asm("stx ptr2+1");
-
- asm("ldy #%b", offsetof(struct c64_fs_file, ptr));
- asm("lda (regbank+%b),y", 4);
- asm("tax");
-
- asm("ldy #0");
- asm("lda %v,x", _c64_fs_filebuf);
- asm("sta (ptr2),y");
-
- asm("inx");
- asm("txa");
- asm("ldy #%b", offsetof(struct c64_fs_file, ptr));
- asm("sta (regbank+%b),y", 4);
-#endif /* NOASM */
-
-
- if(_c64_fs_filebuf[0] == 0) {
- if(f->ptr == _c64_fs_filebuf[1]) {
- /* End of file reached, we return the amount of bytes read so
- far. */
- return i + 1;
- }
- } else if(f->ptr == 0) {
-
- /* Read new block into buffer and set buffer state
- accordingly. */
- _c64_fs_filebuftrack = f->track = _c64_fs_filebuf[0];
- _c64_fs_filebufsect = f->sect = _c64_fs_filebuf[1];
- f->ptr = 2;
- c64_dio_read_block(_c64_fs_filebuftrack,
- _c64_fs_filebufsect, _c64_fs_filebuf);
- }
-
- ++buf;
- }
- return i;
-}
-#if !NOASM
-#pragma optimize(pop)
-#endif /* !NOASM */
-/*-----------------------------------------------------------------------------------*/
-/**
- * Close an open file.
- *
- * \param f A pointer to a file descriptor struct that previously has
- * been opened with c64_fs_open().
- */
-/*-----------------------------------------------------------------------------------*/
-void
-c64_fs_close(struct c64_fs_file *f)
-{
-
-}
-/*-----------------------------------------------------------------------------------*/
-/**
- * \internal
- * Read a directory buffer into the _c64_fs_dirbuf buffer.
- *
- * This function is shared between this and the c64-fs-raw module.
- *
- * \param track The track of the directory block.
- * \param sect The sector of the directory block.
- */
-/*-----------------------------------------------------------------------------------*/
-void
-_c64_fs_readdirbuf(unsigned char track, unsigned char sect)
-{
- if(_c64_fs_dirbuftrack == track &&
- _c64_fs_dirbufsect == sect) {
- /* Buffer already contains requested block, return. */
- return;
- }
- c64_dio_read_block(track, sect, _c64_fs_dirbuf);
- _c64_fs_dirbuftrack = track;
- _c64_fs_dirbufsect = sect;
-}
-/*-----------------------------------------------------------------------------------*/
-/**
- * Open the disk directory for reading.
- *
- * The caller must supply a pointer to a directory descriptor.
- *
- * \param d A pointer to a directory description that must be
- * allocated by the caller.
- */
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-c64_fs_opendir(register struct c64_fs_dir *d)
-{
- d->track = 18;
- d->sect = 1;
- d->ptr = 2;
-
- return 0;
-}
-/*-----------------------------------------------------------------------------------*/
-/**
- * Read the current directory entry.
- *
- * This function reads the directory entry to which the directory
- * descriptor currently points into a struct c64_fs_dirent supplied by
- * the caller.
- *
- * The function c64_fs_readdir_next() is used to move the directory
- * entry pointer forward in the directory.
- *
- * \param d A pointer to a directory descriptor previously opened with c64_fs_opendir().
- *
- * \param f A pointer to a directory entry that must have been
- * previously allocated by the caller.
- */
-/*-----------------------------------------------------------------------------------*/
-void
-c64_fs_readdir_dirent(register struct c64_fs_dir *d,
- register struct c64_fs_dirent *f)
-{
- struct directory_entry *de;
- int i;
- register char *nameptr;
-
- _c64_fs_readdirbuf(d->track, d->sect);
- de = (struct directory_entry *)&_c64_fs_dirbuf[d->ptr];
- nameptr = de->name;
- for(i = 0; i < 16; ++i) {
- if(*nameptr == 0xa0) {
- *nameptr = 0;
- break;
- }
- ++nameptr;
- }
- strncpy(f->name, de->name, 16);
- f->track = de->track;
- f->sect = de->sect;
- f->size = de->blockslo + (de->blockshi >> 8);
- memcpy(&lastdirent, f, sizeof(struct c64_fs_dirent));
-}
-/*-----------------------------------------------------------------------------------*/
-/**
- * Move the directory pointer forward.
- *
- * This function moves the directory entry pointer in the directory
- * descriptor forward so that it points to the next file.
- *
- * \param d A pointer to a directory descriptor previously opened with
- * c64_fs_opendir().
- *
- * \retval 1 If there are no more directory entried in the directory.
- * \retval 0 There were more directory entries and the pointer has
- * been moved to point to the next one.
- */
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-c64_fs_readdir_next(struct c64_fs_dir *d)
-{
- struct directory_entry *de;
- again:
- _c64_fs_readdirbuf(d->track, d->sect);
- if(d->ptr == 226) {
- if(_c64_fs_dirbuf[0] == 0) {
- return 1;
- }
- d->track = _c64_fs_dirbuf[0];
- d->sect = _c64_fs_dirbuf[1];
- d->ptr = 2;
- } else {
- d->ptr += 32;
- }
-
- de = (struct directory_entry *)&_c64_fs_dirbuf[d->ptr];
- if(de->type == 0) {
- goto again;
- }
- return 0;
-}
-/*-----------------------------------------------------------------------------------*/
-/**
- * Close a directory descriptor previously opened by c64_fs_opendir().
- *
- * \param d A poitner to a directory descriptor previously opened with
- * c64_fs_opendir().
- */
-/*-----------------------------------------------------------------------------------*/
-void
-c64_fs_closedir(struct c64_fs_dir *d)
-{
-
-}
-/*-----------------------------------------------------------------------------------*/
-/** @} */
diff --git a/contiki-cpc/contiki-cpc/loader/unused/c64-fs.h b/contiki-cpc/contiki-cpc/loader/unused/c64-fs.h
deleted file mode 100644
index bfacb70..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/c64-fs.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * \addtogroup c64fs
- * @{
- */
-
-/**
- * \file
- * Header file for the C64 filesystem functions.
- * \author Adam Dunkels <adam@dunkels.com>
- *
- */
-
-/*
- * Copyright (c) 2003, 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. 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: c64-fs.h,v 1.1 2006/04/17 15:11:57 kthacker Exp $
- *
- */
-#ifndef __C64_FS_H__
-#define __C64_FS_H__
-
-#include "c64-dio.h"
-
-/**
- * An opaque structure with no user visible elements that represents
- * an open file.
- */
-struct c64_fs_file {
- unsigned char track, sect, ptr;
-};
-
-int c64_fs_open(const char *name, struct c64_fs_file *f);
-void c64_fs_close(struct c64_fs_file *f);
-int __fastcall__ c64_fs_read(struct c64_fs_file *f,
- char *buf, int len);
-
-int __fastcall__ c64_fs_write(struct c64_fs_file *f,
- char *buf, int len);
-
-/**
- * An opaque structure with no user visible elements that represents a
- * directory descriptor.
- */
-struct c64_fs_dir {
- unsigned char track, sect, ptr;
-};
-
-/**
- * A C64 directory entry.
- */
-struct c64_fs_dirent {
- char name[17]; /**< The name of the directory entry. */
- unsigned short size; /**< The size of the directory entry in 256 byte blocks. */
- unsigned char track,
- sect;
-};
-
-
-unsigned char c64_fs_opendir(struct c64_fs_dir *d);
-
-void c64_fs_readdir_dirent(struct c64_fs_dir *d,
- struct c64_fs_dirent *f);
-unsigned char c64_fs_readdir_next(struct c64_fs_dir *d);
-
-void c64_fs_closedir(struct c64_fs_dir *d);
-
-/** @} */
-
-#endif /* __C64_FS_H__ */
diff --git a/contiki-cpc/contiki-cpc/loader/unused/cfs-cbm.c b/contiki-cpc/contiki-cpc/loader/unused/cfs-cbm.c
deleted file mode 100644
index 66aaa2d..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/cfs-cbm.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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: Adam Dunkels <adam@sics.se>
- *
- * $Id: cfs-cbm.c,v 1.1 2006/04/17 15:11:57 kthacker Exp $
- */
-#include "contiki.h"
-
-#include "log.h"
-#include "cfs.h"
-#include "cfs-service.h"
-
-#include <cbm.h>
-#include <string.h>
-
-static int s_open(const char *n, int f);
-static void s_close(int f);
-static int s_read(int f, char *b, unsigned int l);
-static int s_write(int f, char *b, unsigned int l);
-static int s_opendir(struct cfs_dir *p, const char *n);
-static int s_readdir(struct cfs_dir *p, struct cfs_dirent *e);
-static int s_closedir(struct cfs_dir *p);
-
-static const struct cfs_service_interface interface =
- {
- CFS_SERVICE_VERSION,
- s_open,
- s_close,
- s_read,
- s_write,
- s_opendir,
- s_readdir,
- s_closedir
- };
-
-EK_EVENTHANDLER(eventhandler, ev, data);
-EK_PROCESS(proc, CFS_SERVICE_NAME ": KERNAL", EK_PRIO_NORMAL,
- eventhandler, NULL, (void *)&interface);
-
-/*---------------------------------------------------------------------------*/
-LOADER_INIT_FUNC(cfs_cbm_init, arg)
-{
- arg_free(arg);
- ek_service_start(CFS_SERVICE_NAME, &proc);
-}
-/*---------------------------------------------------------------------------*/
-EK_EVENTHANDLER(eventhandler, ev, data)
-{
- switch(ev) {
- case EK_EVENT_INIT:
- case EK_EVENT_REPLACE:
- log_message("Starting KERNAL CFS", "");
- break;
- case EK_EVENT_REQUEST_REPLACE:
- ek_replace((struct ek_proc *)data, &interface);
- break;
- case EK_EVENT_REQUEST_EXIT:
- ek_exit();
- break;
- }
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_open(const char *n, int f)
-{
- if(cbm_open(2, 8, f, n) == 0) {
- return 2;
- }
- return -1;
-}
-/*---------------------------------------------------------------------------*/
-static void
-s_close(int f)
-{
- cbm_close(f);
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_read(int f, char *b, unsigned int l)
-{
- return cbm_read(f, b, l);
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_write(int f, char *b, unsigned int l)
-{
- return cbm_write(f, b, l);
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_opendir(struct cfs_dir *p, const char *n)
-{
- return cbm_opendir(4, 8);
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_readdir(struct cfs_dir *p, struct cfs_dirent *e)
-{
- struct cbm_dirent ce;
- int ret;
- ret = cbm_readdir(4, &ce);
- strncpy(e->name, ce.name, sizeof(ce.name));
- e->size = ce.size;
- return ret;
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_closedir(struct cfs_dir *p)
-{
- cbm_closedir(4);
- return 1;
-}
-/*---------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/loader/unused/cfs-cbm.h b/contiki-cpc/contiki-cpc/loader/unused/cfs-cbm.h
deleted file mode 100644
index 774d855..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/cfs-cbm.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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: Adam Dunkels <adam@sics.se>
- *
- * $Id: cfs-cbm.h,v 1.1 2006/04/17 15:11:58 kthacker Exp $
- */
-#ifndef __CFS_CBM_H__
-#define __CFS_CBM_H__
-
-#include "ek.h"
-
-EK_PROCESS_INIT(cfs_cbm_init, arg);
-
-#endif /* __CFS_CBM_H__ */
diff --git a/contiki-cpc/contiki-cpc/loader/unused/cfs-init.c b/contiki-cpc/contiki-cpc/loader/unused/cfs-init.c
deleted file mode 100644
index b4536f5..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/cfs-init.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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: Adam Dunkels <adam@sics.se>
- *
- * $Id: cfs-init.c,v 1.1 2006/04/17 15:11:58 kthacker Exp $
- */
-#include "contiki.h"
-
-#include "cfs.h"
-#include "cfs-service.h"
-
-#include <cbm.h>
-#include <string.h>
-
-static int s_open(const char *n, int f);
-static void s_close(int f);
-static int s_read(int f, char *b, unsigned int l);
-static int s_write(int f, char *b, unsigned int l) {return -1;}
-static int s_opendir(struct cfs_dir *p, const char *n) {return -1;}
-static int s_readdir(struct cfs_dir *p, struct cfs_dirent *e) {return -1;}
-static int s_closedir(struct cfs_dir *p) {return -1;}
-
-static const struct cfs_service_interface interface =
- {
- CFS_SERVICE_VERSION,
- s_open,
- s_close,
- s_read,
- s_write,
- s_opendir,
- s_readdir,
- s_closedir
- };
-
-EK_EVENTHANDLER(eventhandler, ev, data);
-EK_PROCESS(proc, CFS_SERVICE_NAME ": init", EK_PRIO_NORMAL,
- eventhandler, NULL, (void *)&interface);
-
-/*---------------------------------------------------------------------------*/
-EK_PROCESS_INIT(cfs_init_init, arg)
-{
- arg_free(arg);
- ek_service_start(CFS_SERVICE_NAME, &proc);
-}
-/*---------------------------------------------------------------------------*/
-EK_EVENTHANDLER(eventhandler, ev, data)
-{
- switch(ev) {
- case EK_EVENT_INIT:
- break;
- case EK_EVENT_REQUEST_REPLACE:
- ek_replace((struct ek_proc *)data, &interface);
- break;
- case EK_EVENT_REQUEST_EXIT:
- ek_exit();
- break;
- }
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_open(const char *n, int f)
-{
- if(cbm_open(2, 8, CBM_READ, n) == 0) {
- return 2;
- }
- return -1;
-}
-/*---------------------------------------------------------------------------*/
-static void
-s_close(int f)
-{
- cbm_close(f);
-}
-/*---------------------------------------------------------------------------*/
-static int
-s_read(int f, char *b, unsigned int l)
-{
- return cbm_read(f, b, l);
-}
-/*---------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/loader/unused/cfs-init.h b/contiki-cpc/contiki-cpc/loader/unused/cfs-init.h
deleted file mode 100644
index 6289941..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/cfs-init.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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: Adam Dunkels <adam@sics.se>
- *
- * $Id: cfs-init.h,v 1.1 2006/04/17 15:11:58 kthacker Exp $
- */
-#ifndef __CFS_INIT_H__
-#define __CFS_INIT_H__
-
-#include "ek.h"
-
-EK_PROCESS_INIT(cfs_init_init, arg);
-
-#endif /* __CFS_INIT_H__ */
diff --git a/contiki-cpc/contiki-cpc/loader/unused/loader-arch-cpc.h b/contiki-cpc/contiki-cpc/loader/unused/loader-arch-cpc.h
deleted file mode 100644
index 9a2a22e..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/loader-arch-cpc.h
+++ /dev/null
@@ -1,19 +0,0 @@
-int cpc_load(char *name, char *arg);
-void cpc_unload();
-struct dsc *cpc_load_dsc(char *name);
-void cpc_unload_dsc(struct dsc *dsc);
-
-#define LOADER_LOAD(name,arg) \
- cpc_load(name, arg)
-
-#define LOADER_UNLOAD() \
- cpc_unload()
-
-#define LOADER_LOAD_DSC(name) \
- cpc_load_dsc(name)
-
-#define LOADER_UNLOAD_DSC(dsc) \
- cpc_unload_dsc(dsc)
-
-
-
diff --git a/contiki-cpc/contiki-cpc/loader/unused/loader-arch.c b/contiki-cpc/contiki-cpc/loader/unused/loader-arch.c
deleted file mode 100644
index 0785ce0..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/loader-arch.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/**
- * \file
- * File loader implementation.
- * \author Adam Dunkels <adam@dunkels.com>
- *
- * This file implements dynamically loadable files for Contiki using
- * the cc65 module loading system. The actual file operations are
- * implemented in other files.
- */
-
-/*
- * Copyright (c) 2003, 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. 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 OS
- *
- * $Id: loader-arch.c,v 1.1 2006/04/17 15:11:58 kthacker Exp $
- *
- */
-
-#include <stdlib.h>
-#include "modload.h"
-
-#ifndef NULL
-#define NULL (void *)0
-#endif /* NULL */
-
-#include "cfs.h"
-
-#include "loader.h"
-
-#include "loader-arch.h"
-
-static int __fastcall__
-do_read(int f, char *buf, unsigned int len)
-{
- return cfs_read(f, buf, len);
-}
-
-static struct mod_ctrl ctrl = {
- (void *)do_read /* Read from disk */
-};
-
-
-struct loader_arch_hdr {
- char arch[8];
- char version[8];
-
- char initfunc[1];
-};
-
-/*-----------------------------------------------------------------------------------*/
-/**
- * \internal
- * Load a program from disk and execute it.
- *
- * Code originally written by Ullrich von Bassewitz.
- */
-/*-----------------------------------------------------------------------------------*/
-static unsigned char
-load(const char *name)
-{
- unsigned char res;
-
- /* Now open the file */
- ctrl.callerdata = cfs_open(name, 0);
- if(ctrl.callerdata < 0) {
- /* Could not open the file, display an error and return */
- /* ### */
- return LOADER_ERR_OPEN;
- }
-
- /* Load the module */
- res = mod_load(&ctrl);
-
- /* Close the input file */
- cfs_close(ctrl.callerdata);
-
- /* Check the return code */
- if(res != MLOAD_OK) {
- /* Wrong module, out of memory or whatever. Print an error
- * message and return.
- */
- /* ### */
- return res;
- }
-
- /* We've successfully loaded the module. */
-
- return LOADER_OK;
-}
-/*-----------------------------------------------------------------------------------*/
-/**
- * Load and start a program.
- *
- * \param name The name of the program file.
- * \param arg A pointer that will be passed to the new process.
- */
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-loader_arch_load(const char *name, char *arg)
-{
- unsigned char r;
- struct loader_arch_hdr *hdr;
-
- r = load(name);
- if(r != MLOAD_OK) {
- return r;
- }
- hdr = (struct loader_arch_hdr *)ctrl.module;
-
- /* Check the program header and see that version and architecture
- matches. */
-
- /* Call the init function. */
- ((void (*)(char *))hdr->initfunc)(arg);
-
- return LOADER_OK;
-}
-/*-----------------------------------------------------------------------------------*/
-/**
- * Load a DSC file into memory.
- *
- * The memory must be deallocated with the loader_arch_free() function
- * after is has been used.
- *
- * \param name The name of the DSC file.
- *
- * \return A pointer to the struct dsc or NULL if the DSC file could
- * not be loaded.
- */
-/*-----------------------------------------------------------------------------------*/
-struct dsc *
-loader_arch_load_dsc(const char *name)
-{
- unsigned char r;
-
- r = load(name);
- if(r == MLOAD_OK) {
- return (struct dsc *)ctrl.module;
- }
- return NULL;
-}
-/*-----------------------------------------------------------------------------------*/
-/**
- * Deallocate memory previously allocated by the loader.
- *
- * The loader allocates memory when it loads programs or DSC
- * files. All such memory must be deallocated with this function. Memory for programs is automatically deallocated when calling the LOADER_UNLOAD() function, but memory for DSCs must be explicitly deallcated with this function.
- *
- * \param addr A pointer to memory allocated by the loader.
- */
-/*-----------------------------------------------------------------------------------*/
-void
-loader_arch_free(void *addr)
-{
- mod_free(addr);
-}
-/*-----------------------------------------------------------------------------------*/
-
diff --git a/contiki-cpc/contiki-cpc/loader/unused/loader-arch.c.old b/contiki-cpc/contiki-cpc/loader/unused/loader-arch.c.old
deleted file mode 100644
index d76c3cc..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/loader-arch.c.old
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2003, 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 OS
- *
- * $Id: loader-arch.c.old,v 1.1 2006/04/17 15:11:58 kthacker Exp $
- *
- */
-
-#include <stdlib.h>
-#include <modload.h>
-
-#ifndef NULL
-#define NULL (void *)0
-#endif /* NULL */
-
-#include "cpc-fs.h"
-
-#include "loader.h"
-
-#include "loader-arch.h"
-
-struct loader_arch_hdr {
- char arch[8];
- char version[8];
-
- char initfunc[1];
-};
-
-/*-----------------------------------------------------------------------------------*/
-/* load(name)
- *
- * Loads a program from disk and executes it. Code originally written by
- * Ullrich von Bassewitz.
- */
-/*-----------------------------------------------------------------------------------*/
-static unsigned char
-load(const char *name)
-{
- unsigned char res;
- int ret;
-
- /* Now open the file */
- ret = cpc_fs_open(name);
- if(ret < 0) {
- /* Could not open the file, display an error and return */
- /* ### */
- return LOADER_ERR_OPEN;
- }
-/* ctrl.callerdata = (int)&file; */
-
- /* Load the module */
- res = cpc_fs_read();
-
- /* Close the input file */
- cpc_fs_close();
-
- /* Check the return code */
- if(res != MLOAD_OK) {
- /* Wrong module, out of memory or whatever. Print an error
- * message and return.
- */
- /* ### */
- return res;
- }
-
- /* We've successfully loaded the module. */
-
- return LOADER_OK;
-}
-/*-----------------------------------------------------------------------------------*/
-unsigned char
-loader_arch_load(const char *name, char *arg)
-{
- unsigned char r;
- struct loader_arch_hdr *hdr;
-
- r = load(name);
- if(r != MLOAD_OK) {
- return r;
- }
-// hdr = (struct loader_arch_hdr *)ctrl.module;
-
- /* Check the program header and see that version and architecture
- matches. */
-
- /* Call the init function. */
-
- ((void (*)(char *))hdr->initfunc)(arg);
-
- return LOADER_OK;
-}
-/*-----------------------------------------------------------------------------------*/
-struct dsc *
-loader_arch_load_dsc(const char *name)
-{
- unsigned char r;
-
- r = load(name);
- if(r == MLOAD_OK) {
- return (struct dsc *)ctrl.module;
- }
- return NULL;
-}
-/*-----------------------------------------------------------------------------------*/
-void
-loader_arch_free(void *addr)
-{
- mod_free(addr);
-}
-/*-----------------------------------------------------------------------------------*/
-
diff --git a/contiki-cpc/contiki-cpc/loader/unused/modload.c b/contiki-cpc/contiki-cpc/loader/unused/modload.c
deleted file mode 100644
index 9c33b16..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/modload.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "modload.h"
-
-void mod_free(struct dsc *d)
-{
-
-
-}
-
-int mod_load(struct mod_ctrl *ctrl)
-{
- return MLOAD_OK;
-}
diff --git a/contiki-cpc/contiki-cpc/loader/unused/modload.h b/contiki-cpc/contiki-cpc/loader/unused/modload.h
deleted file mode 100644
index ff0dc41..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/modload.h
+++ /dev/null
@@ -1,13 +0,0 @@
-void mod_free(struct dsc *);
-
-struct mod_ctrl
-{
- void *read;
- void *module;
- int callerdata;
-};
-
-#define MLOAD_OK 0
-
-int mod_load(struct mod_ctrl *);
-
diff --git a/contiki-cpc/contiki-cpc/loader/unused/rel-old.s b/contiki-cpc/contiki-cpc/loader/unused/rel-old.s
deleted file mode 100644
index 8b03baa..0000000
--- a/contiki-cpc/contiki-cpc/loader/unused/rel-old.s
+++ /dev/null
@@ -1,167 +0,0 @@
- .area _CODE
- .globl _get_file_length
- .globl _load_file
-;;----------------------------------------------------------------------------
-;; get length of file on disc. Assumption file has a AMSDOS header
-;;
-;; int get_file_length(const char *filename);
-
-_get_file_length::
- ld hl,#2
- add hl,sp
- ld a,(hl)
- inc hl
- ld h,(hl)
- ld l,a
-
- ;; HL = address of null terminated string
- call count_string_length
- ld de,#0x0c000 ;; points to unused 2k buffer
- call 0x0bc77 ;; cas in open
- push bc ;; BC = length of file
- call 0x0bc7d ;; cas in abandon
- pop hl
- ret
-
-;;---------------------------------------------------------------------
-
-count_string_length:
- push hl
- ld b,#0
-csl: ld a,(hl)
- or a
- jr z,csl2
- inc hl
- inc b
- jr csl
-csl2:
- pop hl
- ret
-
-;;---------------------------------------------------------------------------
-;; void load_file(const char *filename, void *addr)
-
-_load_file::
- ld hl,#5
- add hl,sp
- ld d,(hl)
- dec hl
- ld e,(hl)
- dec hl
-
- push de
- ld a,(hl)
- dec hl
- ld l,(hl)
- ld h,a
-
- call count_string_length
- ld de,#0x0c000
- call 0x0bc77 ;; cas in open
- pop hl ;; load address
- call 0x0bc83 ;; cas in direct
- call 0x0bc7a ;; cas in close
- ret
-
-;; void relocate(void *addr,void *base)
-
-;; IX = address of relocate data
-_relocate::
- ld hl,#5
- add hl,sp
- push ix
- ld b,(hl) ;; base address
- dec hl
- ld c,(hl)
- dec hl
- ld a,(hl)
- .db #0x0dd
- ld h,a
- dec hl
- ld a,(hl)
- .db #0x0dd
- ld l,a ;; IX is offset of table from start of loaded file
- add ix,bc ;; relocate IX to give absolute address of table.
- call relocate_16bit
- ld e,c
- call relocate_8bit ;; lower byte
- ld e,b
- call relocate_8bit ;; upper byte
- pop ix
- ret
-
-;;--------------------------------------------------------------------------
-;; Relocate 8-bit values (e.g. where low and high parts of an address
-;; are loaded seperatly into registers)
-;;
-;; IX = list of 16-bit addresses. Each address identifies an 8-bit
-;; value
-;;
-relocate_8bit:
- ld a,0(ix)
- or a
- ret z
- inc ix
-rel8bit: push af
- ld l,0(ix)
- inc ix
- ld h,0(ix)
-inc ix
-add hl,bc
-ld a,(hl)
-add e
-ld (hl),a
-pop af
-dec a
-jr nz,rel8bit
-ret
-
-
-;;--------------------------------------------------------------------------
-;; Relocate 16-bit values
-;;
-;; Entry conditions:
-;;
-;; IX = list of 16-bit addresses. Each address identifies a 16-bit
-;; value to relocate.
-;;
-;; BC = base address
-;;
-;; NOTE:
-;; - Relocatable 16-bit values come from CALL and JP instructions and
-;; loading a 16-bit register.
-
-relocate_16bit:
-ld a,0(ix) ;; number of items to relocate
-or a
-ret z
-
-inc ix
-
-rel16bit:
-push af
-;; get offset (from start of file) of 16-bit value to relocate
-ld l,0(ix)
-inc ix
-ld h,0(ix)
-inc ix
-add hl,bc
-;; get the 16-bit value
-ld e,(hl)
-inc hl
-ld d,(hl)
-
-
-;; add base address; therefore relocating it.
-ex de,hl
-add hl,bc
-ex de,hl
-;; write relocated value
-ld (hl),d
-dec hl
-ld (hl),e
-pop af
-dec a
-jr nz,rel16bit
-ret
-
diff --git a/contiki-cpc/contiki-cpc/readme.txt b/contiki-cpc/contiki-cpc/readme.txt
deleted file mode 100644
index 2fc791a..0000000
--- a/contiki-cpc/contiki-cpc/readme.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-What I did to make contiki for CPC:
-
-1. I took the contiki sources and made it compile with gcc on linux.
-2. Next I made it compile with sdcc
-3. Next I added cpc version of some files.
-4. Then I prayed.
-
-About contiki:
-
-contiki is both the initial program to run to start the operating system
-AND contains a library of functions to use by the other programs.
-
-Compile contiki executable to generate the executable and to generate a
-list of symbols.
-
-These symbols are used to compile the other programs. When they are run
-they will automatically call the appropiate functions.
-
-This is not as good as referencing a fixed location jumptable, because
-each utility has to be recompiled if the contiki executable is recompiled
-:(
-
diff --git a/contiki-cpc/contiki-cpc/uip/cs8900a.c b/contiki-cpc/contiki-cpc/uip/cs8900a.c
deleted file mode 100644
index ebb525c..0000000
--- a/contiki-cpc/contiki-cpc/uip/cs8900a.c
+++ /dev/null
@@ -1,368 +0,0 @@
-/*
- * Copyright (c) 2001, 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. 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 C64 RealAudio server demo project.
- *
- * $Id: cs8900a.c,v 1.1 2006/04/17 15:11:59 kthacker Exp $
- *
- */
-
-/* cs8900a.c: device driver for the CS8900a chip in 8-bit mode. Mostly
- written in 6502 assembler for speed. */
-
-#include "cs8900a.h"
-#include "uip.h"
-#include "uip_arp.h"
-
-/*#define UIP_ETHADDR0 0x00
-#define UIP_ETHADDR1 0x00
-#define UIP_ETHADDR2 0x00
-#define UIP_ETHADDR3 0x64
-#define UIP_ETHADDR4 0x64
-#define UIP_ETHADDR5 0x64*/
-
-extern u8_t *cs8900a_rxtxreg,
- *cs8900a_txcmd,
- *cs8900a_txlen,
- *cs8900a_packetpp,
- *cs8900a_ppdata;
-
-static u16_t len;
-static u8_t r;
-
-
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-void
-cs8900a_init(void)
-{
- /* Turn on transmission and reception of frames. */
- /* PACKETPP = 0x0112;
- PPDATA = 0x00c0; */
- asm("lda #$12");
- asm("sta %v", cs8900a_packetpp);
- asm("lda #$01");
- asm("sta %v+1", cs8900a_packetpp);
- asm("lda #$c0");
- asm("sta %v", cs8900a_ppdata);
- asm("lda #$00");
- asm("sta %v+1", cs8900a_ppdata);
-
- /* Accept valid unicast+broadcast frames. */
- /* PACKETPP = 0x0104;
- PPDATA = 0x0d05; */
- asm("lda #$04");
- asm("sta %v", cs8900a_packetpp);
- asm("lda #$01");
- asm("sta %v+1", cs8900a_packetpp);
- asm("lda #$05");
- asm("sta %v", cs8900a_ppdata);
- asm("lda #$0d");
- asm("sta %v+1", cs8900a_ppdata);
-
- /* Set MAC address. */
- /* PACKETPP = 0x0158;
- PPDATA = (ETHADDR1 << 8) | (ETHADDR0); */
- asm("lda #$58");
- asm("sta %v", cs8900a_packetpp);
- asm("lda #$01");
- asm("sta %v+1", cs8900a_packetpp);
- asm("lda %v", uip_ethaddr);
- asm("sta %v", cs8900a_ppdata);
- asm("lda %v+1", uip_ethaddr);
- asm("sta %v+1", cs8900a_ppdata);
-
- /* PACKETPP = 0x015a;
- PPDATA = (ETHADDR3 << 8) | (ETHADDR2); */
- asm("lda #$5a");
- asm("sta %v", cs8900a_packetpp);
- asm("lda #$01");
- asm("sta %v+1", cs8900a_packetpp);
- asm("lda %v+2", uip_ethaddr);
- asm("sta %v", cs8900a_ppdata);
- asm("lda %v+3", uip_ethaddr);
- asm("sta %v+1", cs8900a_ppdata);
-
- /* PACKETPP = 0x015c;
- PPDATA = (ETHADDR5 << 8) | (ETHADDR4); */
- asm("lda #$5c");
- asm("sta %v", cs8900a_packetpp);
- asm("lda #$01");
- asm("sta %v+1", cs8900a_packetpp);
- asm("lda %v+4", uip_ethaddr);
- asm("sta %v", cs8900a_ppdata);
- asm("lda %v+5", uip_ethaddr);
- asm("sta %v+1", cs8900a_ppdata);
-
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-void
-cs8900a_send(void)
-{
- if(uip_len > UIP_BUFSIZE) {
- asm("inc $d020");
- return;
- }
-
- /* Transmit command. */
- asm("lda #$c0");
- asm("sta %v", cs8900a_txcmd);
- asm("lda #$00");
- asm("sta %v+1", cs8900a_txcmd);
- asm("lda _uip_len");
- asm("sta %v", cs8900a_txlen);
-#if UIP_BUFSIZE > 255
- asm("lda _uip_len+1");
-#else
- asm("lda #0");
-#endif
- asm("sta %v+1", cs8900a_txlen);
-
- asm("ldx #8");
- asm("tryagain:");
- /* Check for avaliable buffer space. */
- asm("lda #$38");
- asm("sta %v", cs8900a_packetpp);
- asm("lda #$01");
- asm("sta %v+1", cs8900a_packetpp);
- asm("lda %v+1", cs8900a_ppdata);
- asm("and #1");
- asm("bne send");
-
- /* No space avaliable, skip a received frame and try again. */
- asm("lda #$02");
- asm("sta %v", cs8900a_packetpp);
- asm("lda #$01");
- asm("sta %v+1", cs8900a_packetpp);
- asm("lda %v", cs8900a_ppdata);
- asm("ora #$40");
- asm("sta %v", cs8900a_ppdata);
-
- asm("dex");
- asm("bne tryagain");
-
- asm("bailout:");
- return;
-
- /* Send the frame. */
- asm("send:");
-
-
- /* First, send 40+14=54 bytes of header. */
-
- asm("ldx #54");
- asm("ldy #0");
- asm("sendloop1:");
- asm("lda _uip_buf,y");
- asm("sta %v", cs8900a_rxtxreg);
- asm("lda _uip_buf+1,y");
- asm("sta %v+1", cs8900a_rxtxreg);
- asm("iny");
- asm("iny");
- asm("dex");
- asm("dex");
- asm("bne sendloop1");
-
- if(uip_len <= 54) {
- return;
- }
-
- /* Next, send rest of the packet. */
-
- uip_len -= 54;
-
-
- asm("lda ptr1");
- asm("pha");
- asm("lda ptr1+1");
- asm("pha");
-
- asm("lda _uip_appdata");
- asm("sta ptr1");
- asm("lda _uip_appdata+1");
- asm("sta ptr1+1");
-
- asm("sendloop2:");
- asm("lda _uip_len");
- asm("tax");
- asm("and #1");
- asm("beq noinc");
- asm("inx");
- asm("noinc:");
-#if UIP_BUFSIZE > 255
- asm("lda _uip_len+1");
-#else
- asm("lda #0");
-#endif
- asm("beq nozero");
- asm("ldx #0");
- asm("nozero:");
- asm("ldy #0");
- asm("sendloop:");
- asm("lda (ptr1),y");
- asm("sta %v", cs8900a_rxtxreg);
- asm("iny");
- asm("lda (ptr1),y");
- asm("sta %v+1", cs8900a_rxtxreg);
- asm("iny");
- asm("dex");
- asm("dex");
- asm("bne sendloop");
- asm("inc ptr1+1");
-#if UIP_BUFSIZE > 255
- asm("dec _uip_len+1");
- asm("bpl sendloop2");
-#endif
-
- asm("pla");
- asm("sta ptr1+1");
- asm("pla");
- asm("sta ptr1");
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-static void
-skip_frame(void)
-{
- /* PACKETPP = 0x0102;
- PPDATA = PPDATA | 0x0040; */
- asm("lda #$02");
- asm("sta %v", cs8900a_packetpp);
- asm("lda #$01");
- asm("sta %v+1", cs8900a_packetpp);
- asm("lda %v", cs8900a_ppdata);
- asm("ora #$40");
- asm("sta %v", cs8900a_ppdata);
-}
-#pragma optimize(pop)
-/*-----------------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-u8_t
-cs8900a_poll(void)
-{
- /* Check receiver event register to see if there are any valid
- unicast frames avaliable. */
- /* PACKETPP = 0x0124;
- if(PPDATA & 0x000d == 0x0000) {
- return 0;
- }
- */
- asm("lda #$24");
- asm("sta %v", cs8900a_packetpp);
- asm("lda #$01");
- asm("sta %v+1", cs8900a_packetpp);
- asm("lda %v+1", cs8900a_ppdata);
- asm("and #$0d");
- asm("cmp #$00");
- asm("bne noreturn");
- /* No frame ready. */
- return 0;
-
- asm("noreturn:");
- /* Process the incoming frame. */
-
- /* Read receiver event and discard it. */
- /* dummy = RXTXREG; */
-
- asm("lda %v+1", cs8900a_rxtxreg);
- asm("sta _len+1");
- asm("lda %v", cs8900a_rxtxreg);
- asm("sta _len");
-
- /* Read frame length. */
- /* len = uip_len = RXTXREG; */
- asm("lda %v+1", cs8900a_rxtxreg);
- asm("sta _len+1");
- asm("sta _uip_len+1");
- asm("lda %v", cs8900a_rxtxreg);
- asm("sta _len");
- asm("sta _uip_len");
-
-
- if(len > UIP_BUFSIZE) {
- skip_frame();
- return 0;
- }
-
- /* Read bytes into uip_buf. */
- asm("lda ptr1");
- asm("pha");
- asm("lda ptr1+1");
- asm("pha");
-
- asm("lda #<_uip_buf");
- asm("sta ptr1");
- asm("lda #>_uip_buf");
- asm("sta ptr1+1");
-
- asm("lda _len+1");
- asm("beq read256");
-
- /* Read first 256*n bytes. */
- asm("ldy #0");
- asm("read256loop:");
- asm("lda %v", cs8900a_rxtxreg);
- asm("sta (ptr1),y");
- asm("iny");
- asm("lda %v+1", cs8900a_rxtxreg);
- asm("sta (ptr1),y");
- asm("iny");
- asm("bne read256loop");
- asm("inc ptr1+1");
-
- asm("dec _len+1");
- asm("bne read256loop");
-
- /* Read last 255 or less bytes. */
- asm("read256:");
- asm("lda _len");
- asm("lsr");
- asm("bcc noinc");
- asm("inc _len");
- asm("noinc:");
- asm("ldy #$0");
- asm("readloop:");
- asm("lda %v", cs8900a_rxtxreg);
- asm("sta (ptr1),y");
- asm("iny");
- asm("lda %v+1", cs8900a_rxtxreg);
- asm("sta (ptr1),y");
- asm("iny");
- asm("cpy _len");
- asm("bne readloop");
-
- asm("pla");
- asm("sta ptr1+1");
- asm("pla");
- asm("sta ptr1");
- return len;
-}
-#pragma optimize(pop)
diff --git a/contiki-cpc/contiki-cpc/uip/cs8900a.h b/contiki-cpc/contiki-cpc/uip/cs8900a.h
deleted file mode 100644
index 0112450..0000000
--- a/contiki-cpc/contiki-cpc/uip/cs8900a.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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: Adam Dunkels <adam@sics.se>
- *
- * $Id: cs8900a.h,v 1.1 2006/04/17 15:11:59 kthacker Exp $
- */
-#ifndef __CS8900A_H__
-#define __CS8900A_H__
-
-#include "uip_arch.h"
-
-void cs8900a_init(void);
-void cs8900a_send(void);
-u8_t cs8900a_poll(void);
-
-#endif /* __CS8900A_H__ */
diff --git a/contiki-cpc/contiki-cpc/uip/eth64-drv.c b/contiki-cpc/contiki-cpc/uip/eth64-drv.c
deleted file mode 100644
index 73b12bc..0000000
--- a/contiki-cpc/contiki-cpc/uip/eth64-drv.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 2001-2004, 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. 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 uIP TCP/IP stack.
- *
- * $Id: eth64-drv.c,v 1.1 2006/04/17 15:11:59 kthacker Exp $
- *
- */
-
-#include "packet-service.h"
-
-#include "lan91c96.h"
-
-#include "uip_arp.h"
-
-static void output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen);
-
-static const struct uip_eth_addr addr =
- {{0x00,0x0d,0x60,0x80,0x3d,0xb9}};
-
-static const struct packet_service_state state =
- {
- PACKET_SERVICE_VERSION,
- output
- };
-
-EK_EVENTHANDLER(eventhandler, ev, data);
-EK_POLLHANDLER(pollhandler);
-EK_PROCESS(proc, PACKET_SERVICE_NAME ": ETH64", EK_PRIO_NORMAL,
- eventhandler, pollhandler, (void *)&state);
-
-/*---------------------------------------------------------------------------*/
-LOADER_INIT_FUNC(eth64_drv_init, arg)
-{
- arg_free(arg);
- ek_service_start(PACKET_SERVICE_NAME, &proc);
-}
-/*---------------------------------------------------------------------------*/
-static void
-output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen)
-{
- uip_arp_out();
- lan91c96_send();
-}
-/*---------------------------------------------------------------------------*/
-EK_EVENTHANDLER(eventhandler, ev, data)
-{
- switch(ev) {
- case EK_EVENT_INIT:
- case EK_EVENT_REPLACE:
- uip_setethaddr(addr);
- lan91c96_init();
- break;
- case EK_EVENT_REQUEST_REPLACE:
- ek_replace((struct ek_proc *)data, NULL);
- LOADER_UNLOAD();
- break;
- case EK_EVENT_REQUEST_EXIT:
- ek_exit();
- LOADER_UNLOAD();
- break;
- default:
- break;
- }
-}
-/*---------------------------------------------------------------------------*/
-EK_POLLHANDLER(pollhandler)
-{
-#define BUF ((struct uip_eth_hdr *)&uip_buf[0])
-
- /* Poll Ethernet device to see if there is a frame avaliable. */
- uip_len = lan91c96_poll();
- if(uip_len > 0) {
- /* A frame was avaliable (and is now read into the uip_buf), so
- we process it. */
- if(BUF->type == HTONS(UIP_ETHTYPE_IP)) {
- uip_arp_ipin();
- uip_len -= sizeof(struct uip_eth_hdr);
- tcpip_input();
- } else if(BUF->type == HTONS(UIP_ETHTYPE_ARP)) {
- uip_arp_arpin();
- /* If the above function invocation resulted in data that
- should be sent out on the network, the global variable
- uip_len is set to a value > 0. */
- if(uip_len > 0) {
- lan91c96_send();
- }
- }
- }
-
-}
-/*---------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/eth64-dsc.c b/contiki-cpc/contiki-cpc/uip/eth64-dsc.c
deleted file mode 100644
index 5504061..0000000
--- a/contiki-cpc/contiki-cpc/uip/eth64-dsc.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2003, 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. 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: eth64-dsc.c,v 1.1 2006/04/17 15:11:59 kthacker Exp $
- *
- */
-
-#include "dsc.h"
-
-extern struct ctk_icon lan91c96_icon;
-/*-----------------------------------------------------------------------------------*/
-DSC(lan91c96_dsc,
- "IDE64/ETH64 driver",
- "lan91c96.drv",
- lan91c96_init,
- &lan91c96_icon);
-/*-----------------------------------------------------------------------------------*/
-#if CTK_CONF_ICON_BITMAPS
-static unsigned char lan91c96icon_bitmap[3*3*8] = {
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
-};
-#endif /* CTK_CONF_ICON_BITMAPS */
-
-#if CTK_CONF_ICON_TEXTMAPS
-static char lan91c96icon_textmap[9] = {
- 'I', 'D', 'E',
- ' ', '6', '4',
- 'E', 'T', 'H'
-};
-#endif /* CTK_CONF_ICON_TEXTMAPS */
-
-static struct ctk_icon lan91c96_icon =
- {CTK_ICON("ETH64 driver", lan91c96icon_bitmap, lan91c96icon_textmap)};
-/*-----------------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/eth64-dump-drv.c b/contiki-cpc/contiki-cpc/uip/eth64-dump-drv.c
deleted file mode 100644
index 9adf3aa..0000000
--- a/contiki-cpc/contiki-cpc/uip/eth64-dump-drv.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2001-2004, 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. 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 uIP TCP/IP stack.
- *
- * $Id: eth64-dump-drv.c,v 1.1 2006/04/17 15:11:59 kthacker Exp $
- *
- */
-
-#include "packet-service.h"
-
-#include "lan91c96.h"
-
-#include "uip_arp.h"
-
-static void output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen);
-
-static const struct uip_eth_addr addr =
- {{0x00,0x0d,0x60,0x80,0x3d,0xb9}};
-
-static const struct packet_service_state state =
- {
- PACKET_SERVICE_VERSION,
- output
- };
-
-EK_EVENTHANDLER(eventhandler, ev, data);
-EK_POLLHANDLER(pollhandler);
-EK_PROCESS(proc, PACKET_SERVICE_NAME ": ETH64", EK_PRIO_NORMAL,
- eventhandler, pollhandler, (void *)&state);
-
-#include "tcpdump.h"
-#include <string.h>
-#include "ctk.h"
-
-#define DUMP_WIDTH 38
-#define DUMP_HEIGHT 20
-static struct ctk_window window;
-static char dump[DUMP_WIDTH * DUMP_HEIGHT];
-static struct ctk_label dumplabel =
- {CTK_LABEL(0, 0, DUMP_WIDTH, DUMP_HEIGHT, dump)};
-static void
-dump_packet(void)
-{
- memcpy(dump, &dump[DUMP_WIDTH], DUMP_WIDTH * (DUMP_HEIGHT - 1));
- tcpdump_print(&dump[DUMP_WIDTH * (DUMP_HEIGHT - 1)], DUMP_WIDTH);
- CTK_WIDGET_REDRAW(&dumplabel);
-}
-/*---------------------------------------------------------------------------*/
-LOADER_INIT_FUNC(tfe_dump_drv_init, arg)
-{
- arg_free(arg);
- ek_service_start(PACKET_SERVICE_NAME, &proc);
-}
-/*---------------------------------------------------------------------------*/
-static void
-output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen)
-{
- uip_arp_out();
- lan91c96_send();
- dump_packet();
-}
-/*---------------------------------------------------------------------------*/
-
-EK_EVENTHANDLER(eventhandler, ev, data)
-{
- switch(ev) {
- case EK_EVENT_INIT:
- case EK_EVENT_REPLACE:
- ctk_window_new(&window, DUMP_WIDTH, DUMP_HEIGHT, "TFE dump");
- CTK_WIDGET_ADD(&window, &dumplabel);
- ctk_window_open(&window);
- uip_setethaddr(addr);
- lan91c96_init();
- break;
- case EK_EVENT_REQUEST_REPLACE:
- ctk_window_close(&window);
- ek_replace((struct ek_proc *)data, NULL);
- LOADER_UNLOAD();
- break;
- case EK_EVENT_REQUEST_EXIT:
- ctk_window_close(&window);
- ek_exit();
- LOADER_UNLOAD();
- break;
- default:
- break;
- }
-}
-
-/*---------------------------------------------------------------------------*/
-EK_POLLHANDLER(pollhandler)
-{
-#define BUF ((struct uip_eth_hdr *)&uip_buf[0])
-
- /* Poll Ethernet device to see if there is a frame avaliable. */
- uip_len = lan91c96_poll();
- if(uip_len > 0) {
- /* A frame was avaliable (and is now read into the uip_buf), so
- we process it. */
- if(BUF->type == HTONS(UIP_ETHTYPE_IP)) {
- uip_arp_ipin();
- uip_len -= sizeof(struct uip_eth_hdr);
- dump_packet();
- tcpip_input();
- } else if(BUF->type == HTONS(UIP_ETHTYPE_ARP)) {
- uip_arp_arpin();
- /* If the above function invocation resulted in data that
- should be sent out on the network, the global variable
- uip_len is set to a value > 0. */
- if(uip_len > 0) {
- lan91c96_send();
- }
- }
- }
-
-}
-/*---------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/lan91c96.c b/contiki-cpc/contiki-cpc/uip/lan91c96.c
deleted file mode 100644
index 485b974..0000000
--- a/contiki-cpc/contiki-cpc/uip/lan91c96.c
+++ /dev/null
@@ -1,486 +0,0 @@
-/*
- * uIP lan91c96 (smc9194) driver
- * Based on cs8900a driver, copyrighted (c) 2001, by Adam Dunkels
- * Copyright (c) 2003, Josef Soucek
- * All rights reserved.
- *
- * Ethernet card for Commodore 64, based on lan91c96 chip
- * is a device created by IDE64 Project team.
- * More information: http://ide64.come.to
- *
- * 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. 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.
- *
- * $Id: lan91c96.c,v 1.1 2006/04/17 15:12:00 kthacker Exp $
- *
- */
-
-#define UIP_ETHADDR0 0x00
-#define UIP_ETHADDR1 0x0d
-#define UIP_ETHADDR2 0x60
-#define UIP_ETHADDR3 0x80
-#define UIP_ETHADDR4 0x3d
-#define UIP_ETHADDR5 0xb9
-
-#include "lan91c96.h"
-#include "uip.h"
-#include "uip_arp.h"
-
-#include <stdio.h>
-
-// #define DEBUG
-
-#define ETHBASE 0xde10
-
-#define ETHBSR ETHBASE+0x0e //Bank select register R/W (2B)
-
-/* Register bank 0 */
-
-#define ETHTCR ETHBASE //Transmition control register R/W (2B)
-#define ETHEPHSR ETHBASE+2 //EPH status register R/O (2B)
-#define ETHRCR ETHBASE+4 //Receive control register R/W (2B)
-#define ETHECR ETHBASE+6 //Counter register R/O (2B)
-#define ETHMIR (ETHBASE+8) //Memory information register R/O (2B)
-#define ETHMCR ETHBASE+0x0a //Memory Config. reg. +0 R/W +1 R/O (2B)
-
-/* Register bank 1 */
-
-#define ETHCR ETHBASE //Configuration register R/W (2B)
-#define ETHBAR ETHBASE+2 //Base address register R/W (2B)
-#define ETHIAR ETHBASE+4 //Individual address register R/W (6B)
-#define ETHGPR ETHBASE+0x0a //General address register R/W (2B)
-#define ETHCTR ETHBASE+0x0c //Control register R/W (2B)
-
-/* Register bank 2 */
-
-#define ETHMMUCR ETHBASE //MMU command register W/O (1B)
-#define ETHAUTOTX ETHBASE+1 //AUTO TX start register R/W (1B)
-#define ETHPNR ETHBASE+2 //Packet number register R/W (1B)
-#define ETHARR ETHBASE+3 //Allocation result register R/O (1B)
-#define ETHFIFO ETHBASE+4 //FIFO ports register R/O (2B)
-#define ETHPTR ETHBASE+6 //Pointer register R/W (2B)
-#define ETHDATA ETHBASE+8 //Data register R/W (4B)
-#define ETHIST (ETHBASE+0x0c) //Interrupt status register R/O (1B)
-#define ETHACK ETHBASE+0x0c //Interrupt acknowledge register W/O (1B)
-#define ETHMSK ETHBASE+0x0d //Interrupt mask register R/W (1B)
-
-/* Register bank 3 */
-
-#define ETHMT ETHBASE //Multicast table R/W (8B)
-#define ETHMGMT ETHBASE+8 //Management interface R/W (2B)
-#define ETHREV ETHBASE+0x0a //Revision register R/W (2B)
-#define ETHERCV ETHBASE+0x0c //Early RCV register R/W (2B)
-
-#define BANK(num) asm("lda #%b",num); asm("sta %w",ETHBSR);
-
-#ifdef DEBUG
-static void print_packet(u8_t *, u16_t);
-#endif
-
-static u8_t packet_status;
-static u16_t packet_length;
-
-extern u16_t uip_len;
-
-
-#pragma optimize(push, off)
-void lan91c96_init(void)
-{
- /* Check if high byte is 0x33 */
- asm("lda %w", ETHBSR+1);
- asm("cmp #$33");
- asm("beq @L1");
-
- asm("inc $d021"); // Error
-
- asm("@L1:");
-
- /* Reset ETH card */
- BANK(0);
- asm("lda #%%10000000"); //Software reset
- asm("sta %w", ETHRCR+1);
-
- asm("lda #0");
- asm("sta %w", ETHRCR);
- asm("sta %w", ETHRCR+1);
-
- /* delay */
- asm("ldx #0");
- asm("@L2:");
- asm("cmp ($ff,x)"); //6 cycles
- asm("cmp ($ff,x)"); //6 cycles
- asm("dex"); //2 cycles
- asm("bne @L2"); //3 cycles
- //17*256=4352 => 4,4 ms
-
- /* Enable transmit and receive */
- asm("lda #%%10000001"); //Enable transmit TXENA, PAD_EN
- asm("sta %w", ETHTCR);
- asm("lda #%%00000011"); //Enable receive, strip CRC ???
- asm("sta %w", ETHRCR+1);
-
- BANK(1);
- asm("lda %w", ETHCR+1);
- asm("ora #%%00010000"); //No wait (IOCHRDY)
- asm("sta %w", ETHCR+1);
-
- asm("lda #%%00001001"); //Auto release
- asm("sta %w", ETHCTR+1);
-
- /* Set MAC address */
- asm("lda #%b", (unsigned)UIP_ETHADDR0);
- asm("sta %w", ETHIAR);
- asm("lda #%b", (unsigned)UIP_ETHADDR1);
- asm("sta %w", ETHIAR+1);
- asm("lda #%b", (unsigned)UIP_ETHADDR2);
- asm("sta %w", ETHIAR+2);
- asm("lda #%b", (unsigned)UIP_ETHADDR3);
- asm("sta %w", ETHIAR+3);
- asm("lda #%b", (unsigned)UIP_ETHADDR4);
- asm("sta %w", ETHIAR+4);
- asm("lda #%b", (unsigned)UIP_ETHADDR5);
- asm("sta %w", ETHIAR+5);
-
- BANK(2);
- asm("lda #%%00001111"); //RCV INT, ALLOC INT, TX INT, TX EMPTY
- asm("sta %w", ETHMSK);
-}
-#pragma optimize(pop)
-
-
-#pragma optimize(push, off)
-#if UIP_BUFSIZE > 255
-u16_t lan91c96_poll(void)
-#else
-u8_t lan91c96_poll(void)
-#endif
-{
- // #######
-// BANK(0);
-// printf("RAM: %d ", ((*(unsigned int *)ETHMIR) & 0xff00));
-// BANK(2);
- // #######
-
- asm("lda %w", ETHIST);
- asm("and #%%00000001"); //RCV INT
- asm("bne @L1");
-
- /* No packet available */
- return 0;
-
- asm("@L1:");
-
- #ifdef DEBUG
- printf("RCV: IRQ\n");
- #endif
-
- asm("lda #0");
- asm("sta %w", ETHPTR);
- asm("lda #%%11100000"); //RCV,AUTO INCR.,READ
- asm("sta %w", ETHPTR+1);
-
- asm("lda %w", ETHDATA); //Status word
- asm("lda %w", ETHDATA);
- asm("sta _packet_status"); //High byte only
-
- asm("lda %w", ETHDATA); //Total number of bytes
- asm("sta _packet_length");
- asm("lda %w", ETHDATA);
- asm("sta _packet_length+1");
-
- /* Last word contain 'last data byte' and 0x60 */
- /* or 'fill byte' and 0x40 */
-
- packet_length -= 6; //The packet contains 3 extra words
-
- asm("lda _packet_status");
- asm("and #$10");
- asm("beq @L2");
-
- packet_length++;
-
- #ifdef DEBUG
- printf("RCV: odd number of bytes\n");
- #endif
-
- asm("@L2:");
-
- #ifdef DEBUG
- printf("RCV: L:%d ST-HIGH:0x%02x ",packet_length,packet_status);
- #endif
-
- if (packet_length > UIP_BUFSIZE)
- {
- /* Remove and release RX packet from FIFO*/
- asm("lda #%%10000000");
- asm("sta %w", ETHMMUCR);
-
- #ifdef DEBUG
- printf("RCV: UIP_BUFSIZE exceeded - packet dropped!\n");
- #endif
-
- return 0;
- }
-
- asm("lda #<_uip_buf");
- asm("sta ptr1");
- asm("lda #>_uip_buf");
- asm("sta ptr1+1");
-
- asm("ldy #0");
- asm("ldx _packet_length+1");
- asm("beq @RE1"); //packet_length < 256
-
- asm("@RL1:");
- asm("lda %w", ETHDATA);
- asm("sta (ptr1),y");
- asm("iny");
- asm("bne @RL1");
- asm("inc ptr1+1");
- asm("dex");
- asm("bne @RL1");
-
- asm("@RE1:");
- asm("lda %w", ETHDATA);
- asm("sta (ptr1),y");
- asm("iny");
- asm("cpy _packet_length");
- asm("bne @RE1");
-
- /* Remove and release RX packet from FIFO*/
- asm("lda #%%10000000");
- asm("sta %w", ETHMMUCR);
-
- #ifdef DEBUG
-// print_packet(uip_buf, packet_length);
- #endif
-
- return packet_length;
-}
-#pragma optimize(pop)
-
-/* First 40+14 (IP nad TCP header) is send from uip_buf */
-/* than data from uip_appdata */
-
-#pragma optimize(push, off)
-void lan91c96_send(void)
-{
- #ifdef DEBUG
- printf("SND: send packet\n");
- #endif
-
- #if UIP_BUFSIZE > 255
- asm("lda _uip_len+1");
- #else
- asm("lda #0");
- #endif
- asm("ora #%%00100000"); //Allocate memory for TX
- asm("sta %w", ETHMMUCR);
-
- asm("ldx #8"); //Wait...
- asm("@L1:"); //Wait for allocation ready
- asm("lda %w", ETHIST);
- asm("and #%%00001000"); //ALLOC INT
- asm("bne @X1");
- asm("dex");
- asm("bne @L1");
-
- #ifdef DEBUG
- printf("SND: ERR: memory alloc timeout\n");
- #endif
-
- return;
-
- asm("@X1:");
- #ifdef DEBUG
- printf("SND: packet memory allocated\n");
- #endif
-
- asm("lda #%%00001000"); //Acknowledge int, is it necessary ???
- asm("sta %w", ETHACK);
-
- asm("lda %w", ETHARR);
- asm("sta %w", ETHPNR); //Set packet address
-
- asm("lda #0");
- asm("sta %w", ETHPTR);
- asm("lda #%%01000000"); //AUTO INCR.
- asm("sta %w", ETHPTR+1);
-
- #ifdef DEBUG
- printf("SND: L:%d ", uip_len);
- #endif
-
- asm("lda #0"); //Status written by CSMA
- asm("sta %w", ETHDATA);
- asm("sta %w", ETHDATA);
-
- asm("lda _uip_len");
- asm("and #$01");
- asm("beq @SD1");
-
- packet_length=uip_len+5;
- asm("jmp @LC1");
-
- asm("@SD1:");
-
- packet_length=uip_len+6; //+6 for status word, length and ctl byte
-
- asm("@LC1:");
-
-// printf("SND: L:%d ", packet_length);
-
- asm("lda _packet_length");
- asm("sta %w", ETHDATA);
- asm("lda _packet_length+1");
- asm("sta %w", ETHDATA);
-
- #ifdef DEBUG
-// print_packet(uip_buf, uip_len);
- #endif
-
- /* Send 40+14=54 bytes of header */
-
- if(uip_len <= 54) {
-
- #ifdef DEBUG
- printf("SND: short packet sent.\n");
- #endif
-
- asm("ldx _uip_len");
- asm("ldy #0");
- asm("@WL1:");
- asm("lda _uip_buf,y");
- asm("sta %w", ETHDATA);
- asm("iny");
- asm("dex");
- asm("bne @WL1");
-
- } else {
-
- asm("ldx #54");
- asm("ldy #0");
- asm("@WL2:");
- asm("lda _uip_buf,y");
- asm("sta %w", ETHDATA);
- asm("iny");
- asm("dex");
- asm("bne @WL2");
-
- uip_len -= 54;
-
- asm("lda _uip_appdata"); //uip_appdata is pointer
- asm("sta ptr1");
- asm("lda _uip_appdata+1");
- asm("sta ptr1+1");
-
- asm("ldy #0");
- #if UIP_BUFSIZE > 255
- asm("ldx _uip_len+1");
- #else
- asm("ldx #0");
- #endif
- asm("beq @RE1"); //packet_length < 256
-
- asm("@RL1:");
- asm("lda (ptr1),y");
- asm("sta %w", ETHDATA);
- asm("iny");
- asm("bne @RL1");
- asm("inc ptr1+1");
- asm("dex");
- asm("bne @RL1");
-
- asm("@RE1:");
- asm("lda (ptr1),y");
- asm("sta %w", ETHDATA);
- asm("iny");
- asm("cpy _uip_len");
- asm("bne @RE1");
-
- }
-
- asm("lda _uip_len");
- asm("and #$01");
- asm("beq @R3");
-
- asm("lda #%%00100000");
- asm("sta %w", ETHDATA); //Control byte
-
- asm("lda #%%11000000"); //ENQUEUE PACKET - transmit packet
- asm("sta %w", ETHMMUCR);
-
-// printf("\n## %02x", *(unsigned char *)ETHIST);
-
- return;
-
- asm("@R3:");
-
- asm("lda #0");
- asm("sta %w", ETHDATA); //Fill byte
- asm("sta %w", ETHDATA); //Control byte
-
- asm("lda #%%11000000"); //ENQUEUE PACKET - transmit packet
- asm("sta %w", ETHMMUCR);
-
-// printf("\n## %02x\n", *(unsigned char *)ETHIST);
- return;
-}
-#pragma optimize(pop)
-
-#ifdef DEBUG
-static void print_packet(u8_t *buf, u16_t length)
-{
- int i;
- int remainder;
- int lines;
- u8_t a;
- int cur;
- int address=0;
-
- printf("\nPacket of length %d \n", length );
-
- lines = length / 8;
- remainder = length % 8;
-
- for ( i = 0; i < lines ; i ++ ) {
- printf(":%04x ", address=i*8);
-
- for ( cur = 0; cur < 8; cur ++ ) {
- a = *(buf ++ );
- printf("%02x ", a);
- }
- printf("\n");
- }
-
- printf(":%04x ", address+8);
-
- for ( i = 0; i < remainder ; i++ ) {
- a = *(buf ++ );
- printf("%02x ", a);
- }
- printf("\n");
-}
-#endif /* DEBUG */
-
diff --git a/contiki-cpc/contiki-cpc/uip/lan91c96.h b/contiki-cpc/contiki-cpc/uip/lan91c96.h
deleted file mode 100644
index 762a1e4..0000000
--- a/contiki-cpc/contiki-cpc/uip/lan91c96.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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: Adam Dunkels <adam@sics.se>
- *
- * $Id: lan91c96.h,v 1.1 2006/04/17 15:12:00 kthacker Exp $
- */
-
-#ifndef _LAN91C96_H
-#define _LAN91C96_H
-
-#include "uip_arch.h"
-
-void lan91c96_init(void);
-void lan91c96_done(void);
-void lan91c96_send(void);
-#if UIP_BUFSIZE > 255
-u16_t lan91c96_poll(void);
-#else
-u8_t lan91c96_poll(void);
-#endif
-
-/* End of lan91c96.h */
-#endif
-
diff --git a/contiki-cpc/contiki-cpc/uip/rrnet-drv-asm.S b/contiki-cpc/contiki-cpc/uip/rrnet-drv-asm.S
deleted file mode 100644
index 595c00c..0000000
--- a/contiki-cpc/contiki-cpc/uip/rrnet-drv-asm.S
+++ /dev/null
@@ -1,17 +0,0 @@
-
-;---------------------------------------------------------------------
- .export _cs8900a_rxtxreg
- .export _cs8900a_txcmd
- .export _cs8900a_txlen
- .export _cs8900a_packetpp
- .export _cs8900a_ppdata
-
-
-;---------------------------------------------------------------------
-
- _cs8900a_rxtxreg = $de08
- _cs8900a_txcmd = $de0c
- _cs8900a_txlen = $de0e
- _cs8900a_packetpp = $de02
- _cs8900a_ppdata = $de04
-
diff --git a/contiki-cpc/contiki-cpc/uip/rrnet-drv.c b/contiki-cpc/contiki-cpc/uip/rrnet-drv.c
deleted file mode 100644
index 0e3b4b5..0000000
--- a/contiki-cpc/contiki-cpc/uip/rrnet-drv.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 2001-2004, 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. 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 uIP TCP/IP stack.
- *
- * $Id: rrnet-drv.c,v 1.1 2006/04/17 15:12:00 kthacker Exp $
- *
- */
-
-#include "packet-service.h"
-
-#include "cs8900a.h"
-
-#include "uip_arp.h"
-
-static void output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen);
-
-static const struct uip_eth_addr addr =
- {{0x00,0x00,0x00,0x64,0x64,0x64}};
-
-static const struct packet_service_state state =
- {
- PACKET_SERVICE_VERSION,
- output
- };
-
-EK_EVENTHANDLER(eventhandler, ev, data);
-EK_POLLHANDLER(pollhandler);
-EK_PROCESS(proc, PACKET_SERVICE_NAME ": RR-net", EK_PRIO_NORMAL,
- eventhandler, pollhandler, (void *)&state);
-
-/*---------------------------------------------------------------------------*/
-LOADER_INIT_FUNC(rrnet_drv_init, arg)
-{
- arg_free(arg);
- ek_service_start(PACKET_SERVICE_NAME, &proc);
-}
-/*---------------------------------------------------------------------------*/
-static void
-output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen)
-{
- uip_arp_out();
- cs8900a_send();
-}
-/*---------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-EK_EVENTHANDLER(eventhandler, ev, data)
-{
- switch(ev) {
- case EK_EVENT_INIT:
- case EK_EVENT_REPLACE:
- uip_setethaddr(addr);
- asm("lda #1");
- asm("ora $de01");
- asm("sta $de01");
- cs8900a_init();
- break;
- case EK_EVENT_REQUEST_REPLACE:
- ek_replace((struct ek_proc *)data, NULL);
- LOADER_UNLOAD();
- break;
- case EK_EVENT_REQUEST_EXIT:
- ek_exit();
- LOADER_UNLOAD();
- break;
- default:
- break;
- }
-}
-#pragma optimize(pop)
-/*---------------------------------------------------------------------------*/
-EK_POLLHANDLER(pollhandler)
-{
-#define BUF ((struct uip_eth_hdr *)&uip_buf[0])
-
- /* Poll Ethernet device to see if there is a frame avaliable. */
- uip_len = cs8900a_poll();
- if(uip_len > 0) {
- /* A frame was avaliable (and is now read into the uip_buf), so
- we process it. */
- if(BUF->type == HTONS(UIP_ETHTYPE_IP)) {
- uip_arp_ipin();
- uip_len -= sizeof(struct uip_eth_hdr);
- tcpip_input();
- } else if(BUF->type == HTONS(UIP_ETHTYPE_ARP)) {
- uip_arp_arpin();
- /* If the above function invocation resulted in data that
- should be sent out on the network, the global variable
- uip_len is set to a value > 0. */
- if(uip_len > 0) {
- cs8900a_send();
- }
- }
- }
-
-}
-/*---------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/rrnet-dsc.c b/contiki-cpc/contiki-cpc/uip/rrnet-dsc.c
deleted file mode 100644
index b19135e..0000000
--- a/contiki-cpc/contiki-cpc/uip/rrnet-dsc.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2003, 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. 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: rrnet-dsc.c,v 1.1 2006/04/17 15:12:00 kthacker Exp $
- *
- */
-
-#include "dsc.h"
-
-extern struct ctk_icon rrnet_icon;
-/*-----------------------------------------------------------------------------------*/
-DSC(rrnet_dsc,
- "RR-Net driver",
- "rrnet.drv",
- rrnet_init,
- &rrnet_icon);
-/*-----------------------------------------------------------------------------------*/
-#if CTK_CONF_ICON_BITMAPS
-static unsigned char rrneticon_bitmap[3*3*8] = {
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
-};
-#endif /* CTK_CONF_ICON_BITMAPS */
-
-#if CTK_CONF_ICON_TEXTMAPS
-static char rrneticon_textmap[9] = {
- 'R', 'R', '-',
- 'N', 'e', 't',
- 'D', 'R', 'V'
-};
-#endif /* CTK_CONF_ICON_TEXTMAPS */
-
-static struct ctk_icon rrnet_icon =
- {CTK_ICON("RR-Net driver", rrneticon_bitmap, rrneticon_textmap)};
-/*-----------------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/rrnet-dump-drv.c b/contiki-cpc/contiki-cpc/uip/rrnet-dump-drv.c
deleted file mode 100644
index 2863457..0000000
--- a/contiki-cpc/contiki-cpc/uip/rrnet-dump-drv.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 2001-2004, 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. 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 uIP TCP/IP stack.
- *
- * $Id: rrnet-dump-drv.c,v 1.1 2006/04/17 15:12:00 kthacker Exp $
- *
- */
-
-#include "packet-service.h"
-
-#include "cs8900a.h"
-
-#include "uip_arp.h"
-
-static void output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen);
-
-static const struct uip_eth_addr addr =
- {{0x00,0x00,0x00,0x64,0x64,0x64}};
-
-static const struct packet_service_state state =
- {
- PACKET_SERVICE_VERSION,
- output
- };
-
-EK_EVENTHANDLER(eventhandler, ev, data);
-EK_POLLHANDLER(pollhandler);
-EK_PROCESS(proc, PACKET_SERVICE_NAME ": RR-net", EK_PRIO_NORMAL,
- eventhandler, pollhandler, (void *)&state);
-
-#include "tcpdump.h"
-#include <string.h>
-#include "ctk.h"
-
-#define DUMP_WIDTH 38
-#define DUMP_HEIGHT 20
-static struct ctk_window window;
-static char dump[DUMP_WIDTH * DUMP_HEIGHT];
-static struct ctk_label dumplabel =
- {CTK_LABEL(0, 0, DUMP_WIDTH, DUMP_HEIGHT, dump)};
-static void
-dump_packet(void)
-{
- memcpy(dump, &dump[DUMP_WIDTH], DUMP_WIDTH * (DUMP_HEIGHT - 1));
- tcpdump_print(&dump[DUMP_WIDTH * (DUMP_HEIGHT - 1)], DUMP_WIDTH);
- CTK_WIDGET_REDRAW(&dumplabel);
-}
-/*---------------------------------------------------------------------------*/
-LOADER_INIT_FUNC(rrnet_dump_drv_init, arg)
-{
- arg_free(arg);
- ek_service_start(PACKET_SERVICE_NAME, &proc);
-}
-/*---------------------------------------------------------------------------*/
-static void
-output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen)
-{
- uip_arp_out();
- cs8900a_send();
- dump_packet();
-}
-/*---------------------------------------------------------------------------*/
-#pragma optimize(push, off)
-EK_EVENTHANDLER(eventhandler, ev, data)
-{
- switch(ev) {
- case EK_EVENT_INIT:
- case EK_EVENT_REPLACE:
- ctk_window_new(&window, DUMP_WIDTH, DUMP_HEIGHT, "RR-Net dump");
- CTK_WIDGET_ADD(&window, &dumplabel);
- ctk_window_open(&window);
- uip_setethaddr(addr);
- asm("lda #1");
- asm("ora $de01");
- asm("sta $de01");
- cs8900a_init();
- break;
- case EK_EVENT_REQUEST_REPLACE:
- ctk_window_close(&window);
- ek_replace((struct ek_proc *)data, NULL);
- LOADER_UNLOAD();
- break;
- case EK_EVENT_REQUEST_EXIT:
- ctk_window_close(&window);
- ek_exit();
- LOADER_UNLOAD();
- break;
- default:
- break;
- }
-}
-#pragma optimize(pop)
-/*---------------------------------------------------------------------------*/
-EK_POLLHANDLER(pollhandler)
-{
-#define BUF ((struct uip_eth_hdr *)&uip_buf[0])
-
- /* Poll Ethernet device to see if there is a frame avaliable. */
- uip_len = cs8900a_poll();
- if(uip_len > 0) {
- dump_packet();
- /* A frame was avaliable (and is now read into the uip_buf), so
- we process it. */
- if(BUF->type == HTONS(UIP_ETHTYPE_IP)) {
- uip_arp_ipin();
- uip_len -= sizeof(struct uip_eth_hdr);
- tcpip_input();
- } else if(BUF->type == HTONS(UIP_ETHTYPE_ARP)) {
- uip_arp_arpin();
- /* If the above function invocation resulted in data that
- should be sent out on the network, the global variable
- uip_len is set to a value > 0. */
- if(uip_len > 0) {
- cs8900a_send();
- }
- }
- }
-
-}
-/*---------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/rs232dev-ss.c b/contiki-cpc/contiki-cpc/uip/rs232dev-ss.c
deleted file mode 100644
index f9e900b..0000000
--- a/contiki-cpc/contiki-cpc/uip/rs232dev-ss.c
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Copyright (c) 2001, 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. 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 uIP TCP/IP stack.
- *
- * $Id: rs232dev-ss.c,v 1.1 2006/04/17 15:12:00 kthacker Exp $
- *
- */
-
-/*
- * This is a generic implementation of the SLIP protocol over an RS232
- * (serial) device. While initially intented for the C64, the code can
- * easily be ported to other platforms as well.
- *
- * Huge thanks to Ullrich von Bassewitz <uz@cc65.org> of cc65 fame for
- * and endless supply of bugfixes, insightsful comments and
- * suggestions, and improvements to this code!
- */
-
-#include "rs232silversurfer.h"
-#include <time.h>
-#include <string.h>
-
- /* This will include the system specific header files as well */
-#if defined(__CBM__)
-# include <cbm.h>
-#elif defined(__ATARI__)
-# include <atari.h>
-#endif
-
-#include "uip.h"
-
-#define SLIP_END 0300
-#define SLIP_ESC 0333
-#define SLIP_ESC_END 0334
-#define SLIP_ESC_ESC 0335
-
-
-#define SIO_RECV(c) while(rs232_get(&c) == RS_ERR_NO_DATA)
-#define SIO_POLL(c) (rs232_get(&c) != RS_ERR_NO_DATA)
-#define SIO_SEND(c) while(rs232_put(c) == RS_ERR_OVERFLOW)
-
-#define MAX_SIZE (UIP_BUFSIZE - UIP_LLH_LEN)
-
-static u8_t slip_buf[MAX_SIZE + 2];
-
-#if MAX_SIZE > 255
-static u16_t len, tmplen;
-#else
-static u8_t len, tmplen;
-#endif /* MAX_SIZE > 255 */
-
-#if 1
-#define printf(x)
-#else
-#include <stdio.h>
-#endif
-
-
-/*-----------------------------------------------------------------------------------*/
-static void
-rs232_err(char err)
-{
- switch(err) {
- case RS_ERR_OK:
- printf("RS232 OK\n");
- break;
- case RS_ERR_NOT_INITIALIZED:
- printf("RS232 not initialized\n");
- break;
- case RS_ERR_BAUD_TOO_FAST:
- printf("RS232 baud too fast\n");
- break;
- case RS_ERR_BAUD_NOT_AVAIL:
- printf("RS232 baud rate not available\n");
- break;
- case RS_ERR_NO_DATA:
- printf("RS232 nothing to read\n");
- break;
- case RS_ERR_OVERFLOW:
- printf("RS232 overflow\n");
- break;
- }
-
-}
-/*-----------------------------------------------------------------------------------*/
-/*
- * rs232dev_send():
- *
- * Sends the packet in the uip_buf and uip_appdata buffers. The first
- * 40 bytes of the packet (the IP and TCP headers) are read from the
- * uip_buf buffer, and the following bytes (the application data) are
- * read from the uip_appdata buffer.
- *
- */
-/*-----------------------------------------------------------------------------------*/
-void
-rs232dev_send(void)
-{
-#if MAX_SIZE > 255
- u16_t i;
-#else
- u8_t i;
-#endif /* MAX_SIZE > 255 */
- u8_t *ptr;
- u8_t c;
-
- SIO_SEND(SLIP_END);
-
- ptr = &uip_buf[UIP_LLH_LEN];
- for(i = 0; i < uip_len; ++i) {
- if(i == 40) {
- ptr = uip_appdata;
- }
- c = *ptr++;
- switch(c) {
- case SLIP_END:
- SIO_SEND(SLIP_ESC);
- SIO_SEND(SLIP_ESC_END);
- break;
- case SLIP_ESC:
- SIO_SEND(SLIP_ESC);
- SIO_SEND(SLIP_ESC_ESC);
- break;
- default:
- SIO_SEND(c);
- break;
- }
- }
- SIO_SEND(SLIP_END);
-}
-/*-----------------------------------------------------------------------------------*/
-/*
- * rs232dev_poll():
- *
- * Read all avaliable bytes from the RS232 interface into the slip_buf
- * buffer. If no more bytes are avaliable, it returns with 0 to
- * indicate that no packet was immediately ready. When a full packet
- * has been read into the buffer, the packet is copied into the
- * uip_buf buffer and the length of the packet is returned.
- *
- */
-/*-----------------------------------------------------------------------------------*/
-#if MAX_SIZE > 255
-u16_t
-#else
-u8_t
-#endif /* MAX_SIZE > 255 */
-rs232dev_poll(void)
-{
- u8_t c;
- static u8_t lastc;
-
- while(SIO_POLL(c)) {
- /* printf("c %x\n", c);*/
- switch(c) {
- case SLIP_ESC:
- lastc = c;
- break;
-
- case SLIP_END:
- lastc = c;
- /* End marker found, we copy our input buffer to the uip_buf
- buffer and return the size of the packet we copied. */
- memcpy(&uip_buf[UIP_LLH_LEN], slip_buf, len);
- tmplen = len;
- len = 0;
- return tmplen;
-
- default:
- if(lastc == SLIP_ESC) {
- lastc = c;
- /* Previous read byte was an escape byte, so this byte will be
- interpreted differently from others. */
- switch(c) {
- case SLIP_ESC_END:
- c = SLIP_END;
- break;
- case SLIP_ESC_ESC:
- c = SLIP_ESC;
- break;
- }
- } else {
- lastc = c;
- }
-
-
- slip_buf[len] = c;
- ++len;
-
- if(len > MAX_SIZE) {
- len = 0;
- }
-
- break;
- }
- }
- return 0;
-}
-/*-----------------------------------------------------------------------------------*/
-/*
- * rs232dev_init():
- *
- * Initializes the RS232 device and sets the parameters of the device.
- *
- */
-/*-----------------------------------------------------------------------------------*/
-void
-rs232dev_init(void)
-{
- char err;
-
- err = rs232_init(0);
- rs232_err(err);
- err = rs232_params(RS_BAUD_9600 | RS_BITS_8 | RS_STOP_1, RS_PAR_NONE);
- rs232_err(err);
-
- len = 0;
-
- return;
-}
-/*-----------------------------------------------------------------------------------*/
-
diff --git a/contiki-cpc/contiki-cpc/uip/rs232dev.c b/contiki-cpc/contiki-cpc/uip/rs232dev.c
deleted file mode 100644
index cc89d52..0000000
--- a/contiki-cpc/contiki-cpc/uip/rs232dev.c
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Copyright (c) 2001, 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. 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 uIP TCP/IP stack.
- *
- * $Id: rs232dev.c,v 1.1 2006/04/17 15:12:01 kthacker Exp $
- *
- */
-
-/*
- * This is a generic implementation of the SLIP protocol over an RS232
- * (serial) device. While initially intented for the C64, the code can
- * easily be ported to other platforms as well.
- *
- * Huge thanks to Ullrich von Bassewitz <uz@cc65.org> of cc65 fame for
- * and endless supply of bugfixes, insightsful comments and
- * suggestions, and improvements to this code!
- */
-
-#include <serial.h>
-#include <time.h>
-#include <string.h>
-
- /* This will include the system specific header files as well */
-#if defined(__CBM__)
-# include <cbm.h>
-#elif defined(__ATARI__)
-# include <atari.h>
-#endif
-
-#include "uip.h"
-
-#define SLIP_END 0300
-#define SLIP_ESC 0333
-#define SLIP_ESC_END 0334
-#define SLIP_ESC_ESC 0335
-
-
-#define SIO_RECV(c) while(ser_get(&c) == SER_ERR_NO_DATA)
-#define SIO_POLL(c) (ser_get(&c) != SER_ERR_NO_DATA)
-#define SIO_SEND(c) ser_put(c)
-
-#define MAX_SIZE (UIP_BUFSIZE - UIP_LLH_LEN)
-
-static u8_t slip_buf[MAX_SIZE + 2];
-
-static u16_t len, tmplen;
-
-static char loaded = 0;
-
-#if 1
-#define printf(x)
-#else
-#include <stdio.h>
-#endif
-
-
-/*-----------------------------------------------------------------------------------*/
-/*static void
-rs232_err(char err)
-{
- switch(err) {
- case RS_ERR_OK:
- printf("RS232 OK\n");
- break;
- case RS_ERR_NOT_INITIALIZED:
- printf("RS232 not initialized\n");
- break;
- case RS_ERR_BAUD_TOO_FAST:
- printf("RS232 baud too fast\n");
- break;
- case RS_ERR_BAUD_NOT_AVAIL:
- printf("RS232 baud rate not available\n");
- break;
- case RS_ERR_NO_DATA:
- printf("RS232 nothing to read\n");
- break;
- case RS_ERR_OVERFLOW:
- printf("RS232 overflow\n");
- break;
- }
-}*/
-/*-----------------------------------------------------------------------------------*/
-/*
- * rs232dev_send():
- *
- * Sends the packet in the uip_buf and uip_appdata buffers. The first
- * 40 bytes of the packet (the IP and TCP headers) are read from the
- * uip_buf buffer, and the following bytes (the application data) are
- * read from the uip_appdata buffer.
- *
- */
-/*-----------------------------------------------------------------------------------*/
-void
-rs232dev_send(void)
-{
- u16_t i;
- u8_t *ptr;
- u8_t c;
-
- SIO_SEND(SLIP_END);
-
- ptr = &uip_buf[UIP_LLH_LEN];
- for(i = 0; i < uip_len; ++i) {
- if(i == 40) {
- ptr = uip_appdata;
- }
- c = *ptr++;
- switch(c) {
- case SLIP_END:
- SIO_SEND(SLIP_ESC);
- SIO_SEND(SLIP_ESC_END);
- break;
- case SLIP_ESC:
- SIO_SEND(SLIP_ESC);
- SIO_SEND(SLIP_ESC_ESC);
- break;
- default:
- SIO_SEND(c);
- break;
- }
- }
- SIO_SEND(SLIP_END);
-}
-/*-----------------------------------------------------------------------------------*/
-/*
- * rs232dev_poll():
- *
- * Read all avaliable bytes from the RS232 interface into the slip_buf
- * buffer. If no more bytes are avaliable, it returns with 0 to
- * indicate that no packet was immediately ready. When a full packet
- * has been read into the buffer, the packet is copied into the
- * uip_buf buffer and the length of the packet is returned.
- *
- */
-/*-----------------------------------------------------------------------------------*/
-u16_t
-rs232dev_poll(void)
-{
- u8_t c;
- static u8_t lastc;
-
- if(loaded == 0) {
- return 0;
- }
-
- while(SIO_POLL(c)) {
-
- switch(c) {
- case SLIP_ESC:
- lastc = c;
- break;
-
- case SLIP_END:
- lastc = c;
- /* End marker found, we copy our input buffer to the uip_buf
- buffer and return the size of the packet we copied. */
- memcpy(&uip_buf[UIP_LLH_LEN], slip_buf, len);
- tmplen = len;
- len = 0;
- return tmplen;
-
- default:
- if(lastc == SLIP_ESC) {
- lastc = c;
- /* Previous read byte was an escape byte, so this byte will be
- interpreted differently from others. */
- switch(c) {
- case SLIP_ESC_END:
- c = SLIP_END;
- break;
- case SLIP_ESC_ESC:
- c = SLIP_ESC;
- break;
- }
- } else {
- lastc = c;
- }
-
- slip_buf[len] = c;
- ++len;
-
- if(len > MAX_SIZE) {
- len = 0;
- }
-
- break;
- }
- }
- return 0;
-}
-/*-----------------------------------------------------------------------------------*/
-/*
- * rs232dev_init():
- *
- * Initializes the RS232 device and sets the parameters of the device.
- *
- */
-/*-----------------------------------------------------------------------------------*/
-void
-rs232dev_init(void)
-{
- char err;
- struct ser_params p;
-
- err = ser_load_driver("c64-swlink.ser");
-
- if(err != SER_ERR_OK) {
- asm("inc $d020");
- return;
- }
-
- p.baudrate = SER_BAUD_9600;
- p.databits = SER_BITS_8;
- p.stopbits = SER_STOP_1;
- p.parity = SER_PAR_NONE;
- p.handshake = SER_HS_HW;
-
- err = ser_open(&p);
-
- if(err != SER_ERR_OK) {
- asm("inc $d020");
- return;
- }
-
-
- loaded = 1;
-
- /* err = rs232_init(0); */
- /* rs232_err(err);*/
- /* err = rs232_params(RS_BAUD_9600 | RS_BITS_8 | RS_STOP_1, RS_PAR_NONE);*/
- /* rs232_err(err);*/
-
- len = 0;
-
- return;
-}
-/*-----------------------------------------------------------------------------------*/
-void
-rs232dev_unload(void)
-{
- if(loaded){
- ser_unload();
- }
-}
-/*-----------------------------------------------------------------------------------*/
-
diff --git a/contiki-cpc/contiki-cpc/uip/rs232dev.h b/contiki-cpc/contiki-cpc/uip/rs232dev.h
deleted file mode 100644
index ddce6ef..0000000
--- a/contiki-cpc/contiki-cpc/uip/rs232dev.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2001, 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. 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 uIP TCP/IP stack.
- *
- * $Id: rs232dev.h,v 1.1 2006/04/17 15:12:01 kthacker Exp $
- *
- */
-
-#ifndef __RS232DEV_H__
-#define __RS232DEV_H__
-
-#include "uip.h"
-
-void rs232dev_init(void);
-u8_t rs232dev_read(void);
-void rs232dev_send(void);
-
-u16_t rs232dev_poll(void);
-
-void rs232dev_unload(void);
-
-#endif /* __RS232DEV_H__ */
diff --git a/contiki-cpc/contiki-cpc/uip/rs232silversurfer.S b/contiki-cpc/contiki-cpc/uip/rs232silversurfer.S
deleted file mode 100644
index 89bbf9d..0000000
--- a/contiki-cpc/contiki-cpc/uip/rs232silversurfer.S
+++ /dev/null
@@ -1,329 +0,0 @@
- ;; The following code is written and is copyrighted by
- ;; Groepaz/Hitmen
-
- ;; Small changes by Adam Dunkels (renamed ss232 -> rs232)
-
-;----------------------------------------------------------------------------------------------
-; silver surfer polling mode driver for cc65
-; - work from here to create a full featured driver with interupts.
-; gpz fixed 20020828: fatal bug fixed in _rs232_params
-;----------------------------------------------------------------------------------------------
-
-rs16550base = $de08
-
-fifo_rxd = rs16550base+$00 ;8 (r)
-fifo_txd = rs16550base+$00 ;8 (w)
-
-fifo_dll = rs16550base+$00 ;8 (r/w)
-fifo_dlm = rs16550base+$01 ;9 (r/w)
-
-fifo_ier = rs16550base+$01 ;9
-
-fifo_fcr = rs16550base+$02 ;a (w)
-fifo_iir = rs16550base+$02 ;a (r)
-fifo_lcr = rs16550base+$03 ;b
-fifo_mcr = rs16550base+$04 ;c
-fifo_lsr = rs16550base+$05 ;d
-fifo_msr = rs16550base+$06 ;e (r)
-fifo_scratch = rs16550base+$07 ;f (r/w)
-
-
-
- .export _rs232_init
- .export _rs232_done
- .export _rs232_params
- .export _rs232_put
- .export _rs232_get
-
- .importzp ptr1, ptr2
- .import popa, popax
-
-;----------------------------------------------------------------------------------------------
-; Error codes. Beware: The codes must match the codes in the C header file
-
-ErrNotInitialized = $01
-ErrBaudTooFast = $02
-ErrBaudNotAvail = $03
-ErrNoData = $04
-ErrOverflow = $05
-
-;----------------------------------------------------------------------------------------------
-;unsigned char __fastcall__ rs232_init (char hacked);
-;/* Initialize the serial port, install the interrupt handler. The parameter
-; * has no effect for now and should be set to 0.
-; */
-;----------------------------------------------------------------------------------------------
-
- .code
-
-_rs232_init:
- ; enable ssurfer-port
- lda $de01
- ora #$01
- sta $de01
-
- ; disable nmi's from ssurfer
- lda #%00000000
- sta fifo_ier
-
- ; activate dtr
- lda #%00000001
- sta fifo_mcr
-
- lda #$00 ; ok
- tax
- rts
-
-;----------------------------------------------------------------------------------------------
-;unsigned char __fastcall__ rs232_done (void);
-;/* Close the port, deinstall the interrupt hander. You MUST call this function
-; * before terminating the program, otherwise the machine may crash later. If
-; * in doubt, install an exit handler using atexit(). The function will do
-; * nothing, if it was already called.
-; */
-;----------------------------------------------------------------------------------------------
-
-_rs232_done:
- ; disable nmi's from ssurfer
- lda #%00000000
- sta fifo_ier
-
- ; deactivate dtr
- sta fifo_mcr
-
- ; disable ssurfer-port
- lda $de01
- and #$fe
- sta $de01
-
- lda #$00 ; ok
- tax
- rts
-
-;----------------------------------------------------------------------------------------------
-;unsigned char __fastcall__ rs232_params (unsigned char params, unsigned char parity);
-;/* Set the port parameters. Use a combination of the #defined values above. */
-;----------------------------------------------------------------------------------------------
-
- .data
-
-_rs232_baudrates:
-
- .word (7372800 / ( 50 * 16))
- .word (7372800 / ( 110 * 16))
- .word (7372800 / ( 269 * 8))
- .word (7372800 / ( 300 * 16))
- .word (7372800 / ( 600 * 16))
- .word (7372800 / ( 1200 * 16))
- .word (7372800 / ( 2400 * 16))
- .word (7372800 / ( 4800 * 16))
- .word (7372800 / ( 9600 * 16))
- .word (7372800 / ( 19200 * 16))
- .word (7372800 / ( 38400 * 16))
- .word (7372800 / ( 57600 * 16))
- .word (7372800 / ( 115200 * 16))
- .word (7372800 / ( 230400 * 16))
-
- .bss
-
-_rs232_tmp1:
- .res 1
-
- .code
-
-_rs232_params:
-
- sta _rs232_tmp1 ; save parity
-
- ; reset fifo
- lda #%10000111
- sta fifo_fcr
-
- ; that delay thing really needed ?!
- ; (original datasheet mentions a delay here)
- ; ldy #$00
- ; dey
- ; bny *-1
-
- ; set dlab
- lda #%10000011 ; we assmume 8n1
- sta fifo_lcr
-
- jsr popa
- tay ; save param
-
- ; set baudrate
- clc
- lsr a
- lsr a
- lsr a
- lsr a
- asl a
- tax
- lda _rs232_baudrates,x
- sta fifo_dll
- lda _rs232_baudrates+1,x
- sta fifo_dlm
-
- tya ; param
- and #$0f
- ora _rs232_tmp1 ; parity
-
- ; reset dlab
- sta fifo_lcr
-
- lda #$00 ; ok
- tax
- rts
-
-;----------------------------------------------------------------------------------------------
-; check if byte available, returns AKKU=0 if none
-
-ss_getlsr:
- lda fifo_lsr
- and #$01
- rts
-
-;----------------------------------------------------------------------------------------------
-;unsigned char __fastcall__ rs232_get (char* b);
-;/* Get a character from the serial port. If no characters are available, the
-; * function will return RS_ERR_NO_DATA, so this is not a fatal error.
-; */
-;----------------------------------------------------------------------------------------------
-; get byte (non blocking, returns byte in A or CARRY=1 - error)
-
-_rs232_get:
- sta ptr1
- stx ptr1+1
-
- jsr ss_getlsr ; check if byte available
-; bne sk32 ; yes
- bne sk33 ; yes
-
- ; activate rts
- lda #%00000011
- sta fifo_mcr
-sk32:
-
- ; deactivate rts
-; lda #%00000001
-; sta fifo_mcr
-
- jsr ss_getlsr ; check if byte available
- bne sk33 ; yes
-
- ; deactivate rts
- lda #%00000001
- sta fifo_mcr
-
- lda #ErrNoData ; no data
- ldx #0
- rts
-sk33:
- ; deactivate rts
- lda #%00000001
- sta fifo_mcr
-
- ; get byte
- ldy #$00
- lda fifo_rxd
- sta (ptr1),y
-
- lda #0 ; ok
- tax
- rts
-
-;----------------------------------------------------------------------------------------------
-;unsigned char __fastcall__ rs232_put (char b);
-;/* Send a character via the serial port. There is a transmit buffer, but
-; * transmitting is not done via interrupt. The function returns
-; * RS_ERR_OVERFLOW if there is no space left in the transmit buffer.
-; */
-;----------------------------------------------------------------------------------------------
-
-_rs232_put:
- tax
- ; transmit buf ready?
- lda fifo_lsr
- and #%00100000
- bne @sk1
-@sk2:
- lda #ErrOverflow ; overflow
- ldx #$00
- rts
-@sk1:
- ; reciever ready?
- lda fifo_msr
- and #%00010000
- beq @sk2
-
- stx fifo_txd
-
- lda #$00 ; ok
- tax
- rts
-
-;----------------------------------------------------------------------------------------------
-;unsigned char __fastcall__ rs232_pause (void);
-;/* Assert flow control and disable interrupts. */
-;----------------------------------------------------------------------------------------------
-
-_rs232_pause:
- ; activate rts
- lda #%00000011
- sta fifo_mcr
-
- lda #$00 ; ok
- tax
- rts
-
-;----------------------------------------------------------------------------------------------
-;unsigned char __fastcall__ rs232_unpause (void);
-;/* Re-enable interrupts and release flow control */
-;----------------------------------------------------------------------------------------------
-
-_rs232_unpause:
- ; deactivate rts
- lda #%00000001
- sta fifo_mcr
-
- lda #$00 ; ok
- tax
- rts
-
-;----------------------------------------------------------------------------------------------
-;unsigned char __fastcall__ rs232_status (unsigned char* status,
-; unsigned char* errors);
-;/* Return the serial port status. */
-;----------------------------------------------------------------------------------------------
-
-_rs232_status:
- sta ptr2
- stx ptr2+1
- jsr popax
- sta ptr1
- stx ptr1+1
-
- ldy #$00
-
- ; Get status
- lda fifo_iir
- and #%00000001
- sta _rs232_tmp1
- lda fifo_msr
- lsr a
- and #%01010000
- ora _rs232_tmp1
- sta _rs232_tmp1
- lda fifo_lsr
- and #%00101110
- ora _rs232_tmp1
- sta (ptr1),y
-
- ; Get errors
- lda #$00 ; ok
- sta (ptr2),y
-
- lda #$00 ; ok
- tax
- rts
diff --git a/contiki-cpc/contiki-cpc/uip/rs232silversurfer.h b/contiki-cpc/contiki-cpc/uip/rs232silversurfer.h
deleted file mode 100644
index 9e9a49f..0000000
--- a/contiki-cpc/contiki-cpc/uip/rs232silversurfer.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2003, Groepaz/Hitmen.
- * 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. 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.
- *
- * rs232silversurfer.h
- *
- * Groepaz/Hitmen, 16.12.2001
- *
- * This defines for the SilverSurver (16c550 UART) what Ullrichs rs232 module
- * defines for the Swithlink/Turbo232
- *
- * this driver operates in polling mode only atm !
- *
- */
-
-#ifndef _RS232silversurfer_H
-#define _RS232silversurfer_H
-
-/*****************************************************************************/
-/* Data */
-/*****************************************************************************/
-
-/* Baudrate settings */
-#define RS_BAUD_50 0x00
-#define RS_BAUD_110 0x10
-#define RS_BAUD_134_5 0x20
-#define RS_BAUD_300 0x30
-#define RS_BAUD_600 0x40
-#define RS_BAUD_1200 0x50
-#define RS_BAUD_2400 0x60
-#define RS_BAUD_4800 0x70
-#define RS_BAUD_9600 0x80
-#define RS_BAUD_19200 0x90
-#define RS_BAUD_38400 0xa0
-#define RS_BAUD_57600 0xb0
-#define RS_BAUD_115200 0xc0
-#define RS_BAUD_230400 0xd0
-
-/* Stop bit settings */
-#define RS_STOP_1 0x00
-#define RS_STOP_2 0x04
-
-/* Data bit settings */
-#define RS_BITS_5 0x00
-#define RS_BITS_6 0x01
-#define RS_BITS_7 0x02
-#define RS_BITS_8 0x03
-
-/* Parity settings */
-#define RS_PAR_NONE 0x00
-#define RS_PAR_ODD 0x28
-#define RS_PAR_EVEN 0x38
-#define RS_PAR_MARK 0x48
-#define RS_PAR_SPACE 0x48
-
-/* Bit masks to mask out things from the status returned by rs232_status */
-#define RS_STATUS_IRQ 0x01 /* (iir) IRQ condition */
-#define RS_STATUS_OVERRUN 0x02 /* (lsr) Overrun error */
-#define RS_STATUS_PE 0x04 /* (lsr) Parity error */
-#define RS_STATUS_FE 0x08 /* (lsr) Framing error */
-#define RS_STATUS_DSR 0x10 /* (msr>>1) NOT data set ready */
-#define RS_STATUS_THRE 0x20 /* (lsr) Transmit holding reg. empty */
-#define RS_STATUS_DCD 0x40 /* (msr>>1) NOT data carrier detect */
-#define RS_STATUS_RDRF 0x80 /* Receiver data register full */
-
-/* Error codes returned by all functions */
-#define RS_ERR_OK 0x00 /* Not an error - relax */
-#define RS_ERR_NOT_INITIALIZED 0x01 /* Module not initialized */
-#define RS_ERR_BAUD_TOO_FAST 0x02 /* Cannot handle baud rate */
-#define RS_ERR_BAUD_NOT_AVAIL 0x03 /* Baud rate not available */
-#define RS_ERR_NO_DATA 0x04 /* Nothing to read */
-#define RS_ERR_OVERFLOW 0x05 /* No room in send buffer */
-
-/*****************************************************************************/
-/* Code */
-/*****************************************************************************/
-
-unsigned char __fastcall__ rs232_init (char hacked);
-/* Initialize the serial port, install the interrupt handler. The parameter
- * has no effect for now and should be set to 0.
- */
-
-unsigned char __fastcall__ rs232_params (unsigned char params, unsigned char parity);
-/* Set the port parameters. Use a combination of the #defined values above. */
-
-unsigned char __fastcall__ rs232_done (void);
-/* Close the port, deinstall the interrupt hander. You MUST call this function
- * before terminating the program, otherwise the machine may crash later. If
- * in doubt, install an exit handler using atexit(). The function will do
- * nothing, if it was already called.
- */
-
-unsigned char __fastcall__ rs232_get (char* b);
-/* Get a character from the serial port. If no characters are available, the
- * function will return RS_ERR_NO_DATA, so this is not a fatal error.
- */
-
-unsigned char __fastcall__ rs232_put (char b);
-/* Send a character via the serial port. There is a transmit buffer, but
- * transmitting is not done via interrupt. The function returns
- * RS_ERR_OVERFLOW if there is no space left in the transmit buffer.
- */
-
-unsigned char __fastcall__ rs232_pause (void);
-/* Assert flow control and disable interrupts. */
-
-unsigned char __fastcall__ rs232_unpause (void);
-/* Re-enable interrupts and release flow control */
-
-unsigned char __fastcall__ rs232_status (unsigned char* status,
- unsigned char* errors);
-/* Return the serial port status. */
-
-/* End of rs232silversurfer.h */
-#endif
-
-
-
diff --git a/contiki-cpc/contiki-cpc/uip/slip-drv.c b/contiki-cpc/contiki-cpc/uip/slip-drv.c
deleted file mode 100644
index dc37f1b..0000000
--- a/contiki-cpc/contiki-cpc/uip/slip-drv.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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 OS
- *
- * $Id: slip-drv.c,v 1.1 2006/04/17 15:12:01 kthacker Exp $
- *
- */
-
-#include "contiki.h"
-#include "rs232dev.h"
-
-#include "packet-service.h"
-
-static void output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen);
-
-static const struct packet_service_state state =
- {
- PACKET_SERVICE_VERSION,
- output
- };
-
-EK_EVENTHANDLER(eventhandler, ev, data);
-EK_POLLHANDLER(pollhandler);
-EK_PROCESS(proc, PACKET_SERVICE_NAME ": SLIP", EK_PRIO_HIGH,
- eventhandler, pollhandler, (void *)&state);
-
-/*---------------------------------------------------------------------------*/
-LOADER_INIT_FUNC(tapdev_service_init, arg)
-{
- arg_free(arg);
- ek_service_start(PACKET_SERVICE_NAME, &proc);
-}
-/*---------------------------------------------------------------------------*/
-static void
-output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen)
-{
- rs232dev_send();
-}
-/*---------------------------------------------------------------------------*/
-EK_EVENTHANDLER(eventhandler, ev, data)
-{
- switch(ev) {
- case EK_EVENT_INIT:
- case EK_EVENT_REPLACE:
- rs232dev_init();
- break;
- case EK_EVENT_REQUEST_REPLACE:
- ek_replace((struct ek_proc *)data, NULL);
- rs232dev_unload();
- LOADER_UNLOAD();
- break;
- case EK_EVENT_REQUEST_EXIT:
- ek_exit();
- rs232dev_unload();
- LOADER_UNLOAD();
- break;
- default:
- break;
- }
-}
-/*---------------------------------------------------------------------------*/
-EK_POLLHANDLER(pollhandler)
-{
- uip_len = rs232dev_poll();
- if(uip_len > 0) {
- tcpip_input();
- }
-
-}
-/*---------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/slip-dsc.c b/contiki-cpc/contiki-cpc/uip/slip-dsc.c
deleted file mode 100644
index 2cf7720..0000000
--- a/contiki-cpc/contiki-cpc/uip/slip-dsc.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2003, 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. 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: slip-dsc.c,v 1.1 2006/04/17 15:12:02 kthacker Exp $
- *
- */
-
-#include "dsc.h"
-
-extern struct ctk_icon slip_icon;
-/*-----------------------------------------------------------------------------------*/
-DSC(slip_dsc,
- "SLIP driver",
- "slip.drv",
- slip_init,
- &slip_icon);
-/*-----------------------------------------------------------------------------------*/
-#if CTK_CONF_ICON_BITMAPS
-static unsigned char slipicon_bitmap[3*3*8] = {
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-};
-#endif /* CTK_CONF_ICON_BITMAPS */
-
-#if CTK_CONF_ICON_TEXTMAPS
-static char slipicon_textmap[9] = {
- 'R', 'S', ' ',
- '2', '3', '2',
- '/', 'I', 'P'
-};
-#endif /* CTK_CONF_ICON_TEXTMAPS */
-
-static struct ctk_icon slip_icon =
- {CTK_ICON("SLIP driver", slipicon_bitmap, slipicon_textmap)};
-/*-----------------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/slip-dump-drv.c b/contiki-cpc/contiki-cpc/uip/slip-dump-drv.c
deleted file mode 100644
index 4741e74..0000000
--- a/contiki-cpc/contiki-cpc/uip/slip-dump-drv.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 2004, 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. 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 OS
- *
- * $Id: slip-dump-drv.c,v 1.1 2006/04/17 15:12:02 kthacker Exp $
- *
- */
-
-#include "contiki.h"
-#include "rs232dev.h"
-
-#include "packet-service.h"
-
-#include "tcpdump.h"
-#include <string.h>
-#include "ctk.h"
-
-static void output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen);
-
-static const struct packet_service_state state =
- {
- PACKET_SERVICE_VERSION,
- output
- };
-
-EK_EVENTHANDLER(eventhandler, ev, data);
-EK_POLLHANDLER(pollhandler);
-EK_PROCESS(proc, PACKET_SERVICE_NAME ": SLIP", EK_PRIO_HIGH,
- eventhandler, pollhandler, (void *)&state);
-
-#define DUMP_WIDTH 38
-#define DUMP_HEIGHT 20
-static struct ctk_window window;
-static char dump[DUMP_WIDTH * DUMP_HEIGHT];
-static struct ctk_label dumplabel =
- {CTK_LABEL(0, 0, DUMP_WIDTH, DUMP_HEIGHT, dump)};
-static void
-dump_packet(void)
-{
- memcpy(dump, &dump[DUMP_WIDTH], DUMP_WIDTH * (DUMP_HEIGHT - 1));
- tcpdump_print(&dump[DUMP_WIDTH * (DUMP_HEIGHT - 1)], DUMP_WIDTH);
- CTK_WIDGET_REDRAW(&dumplabel);
-}
-/*---------------------------------------------------------------------------*/
-LOADER_INIT_FUNC(slip_service_init, arg)
-{
- arg_free(arg);
- ek_service_start(PACKET_SERVICE_NAME, &proc);
-}
-/*---------------------------------------------------------------------------*/
-static void
-output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen)
-{
- rs232dev_send();
- dump_packet();
-}
-/*---------------------------------------------------------------------------*/
-EK_EVENTHANDLER(eventhandler, ev, data)
-{
- switch(ev) {
- case EK_EVENT_INIT:
- case EK_EVENT_REPLACE:
- ctk_window_new(&window, DUMP_WIDTH, DUMP_HEIGHT, "SLIP dump");
- CTK_WIDGET_ADD(&window, &dumplabel);
- ctk_window_open(&window);
- rs232dev_init();
- break;
- case EK_EVENT_REQUEST_REPLACE:
- ctk_window_close(&window);
- ek_replace((struct ek_proc *)data, NULL);
- rs232dev_unload();
- LOADER_UNLOAD();
- break;
- case EK_EVENT_REQUEST_EXIT:
- ctk_window_close(&window);
- ek_exit();
- rs232dev_unload();
- LOADER_UNLOAD();
- break;
- default:
- break;
- }
-}
-/*---------------------------------------------------------------------------*/
-EK_POLLHANDLER(pollhandler)
-{
- uip_len = rs232dev_poll();
- if(uip_len > 0) {
- dump_packet();
- tcpip_input();
- }
-
-}
-/*---------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/tfe-drv-asm.S b/contiki-cpc/contiki-cpc/uip/tfe-drv-asm.S
deleted file mode 100644
index d31c320..0000000
--- a/contiki-cpc/contiki-cpc/uip/tfe-drv-asm.S
+++ /dev/null
@@ -1,17 +0,0 @@
-
-;---------------------------------------------------------------------
- .export _cs8900a_rxtxreg
- .export _cs8900a_txcmd
- .export _cs8900a_txlen
- .export _cs8900a_packetpp
- .export _cs8900a_ppdata
-
-
-;---------------------------------------------------------------------
-
- _cs8900a_rxtxreg = $de00
- _cs8900a_txcmd = $de04
- _cs8900a_txlen = $de06
- _cs8900a_packetpp = $de0a
- _cs8900a_ppdata = $de0c
-
diff --git a/contiki-cpc/contiki-cpc/uip/tfe-drv.c b/contiki-cpc/contiki-cpc/uip/tfe-drv.c
deleted file mode 100644
index ea807ac..0000000
--- a/contiki-cpc/contiki-cpc/uip/tfe-drv.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 2001-2004, 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. 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 uIP TCP/IP stack.
- *
- * $Id: tfe-drv.c,v 1.1 2006/04/17 15:12:02 kthacker Exp $
- *
- */
-
-#include "packet-service.h"
-
-#include "cs8900a.h"
-
-#include "uip_arp.h"
-
-static void output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen);
-
-static const struct uip_eth_addr addr =
- {{0x00,0x0d,0x60,0x64,0x64,0x64}};
-
-static const struct packet_service_state state =
- {
- PACKET_SERVICE_VERSION,
- output
- };
-
-EK_EVENTHANDLER(eventhandler, ev, data);
-EK_POLLHANDLER(pollhandler);
-EK_PROCESS(proc, PACKET_SERVICE_NAME ": TFE", EK_PRIO_NORMAL,
- eventhandler, pollhandler, (void *)&state);
-
-/*---------------------------------------------------------------------------*/
-LOADER_INIT_FUNC(tfe_drv_init, arg)
-{
- arg_free(arg);
- ek_service_start(PACKET_SERVICE_NAME, &proc);
-}
-/*---------------------------------------------------------------------------*/
-static void
-output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen)
-{
- uip_arp_out();
- cs8900a_send();
-}
-/*---------------------------------------------------------------------------*/
-EK_EVENTHANDLER(eventhandler, ev, data)
-{
- switch(ev) {
- case EK_EVENT_INIT:
- case EK_EVENT_REPLACE:
- uip_setethaddr(addr);
- cs8900a_init();
- break;
- case EK_EVENT_REQUEST_REPLACE:
- ek_replace((struct ek_proc *)data, NULL);
- LOADER_UNLOAD();
- break;
- case EK_EVENT_REQUEST_EXIT:
- ek_exit();
- LOADER_UNLOAD();
- break;
- default:
- break;
- }
-}
-/*---------------------------------------------------------------------------*/
-EK_POLLHANDLER(pollhandler)
-{
-#define BUF ((struct uip_eth_hdr *)&uip_buf[0])
-
- /* Poll Ethernet device to see if there is a frame avaliable. */
- uip_len = cs8900a_poll();
- if(uip_len > 0) {
- /* A frame was avaliable (and is now read into the uip_buf), so
- we process it. */
- if(BUF->type == HTONS(UIP_ETHTYPE_IP)) {
- uip_arp_ipin();
- uip_len -= sizeof(struct uip_eth_hdr);
- tcpip_input();
- } else if(BUF->type == HTONS(UIP_ETHTYPE_ARP)) {
- uip_arp_arpin();
- /* If the above function invocation resulted in data that
- should be sent out on the network, the global variable
- uip_len is set to a value > 0. */
- if(uip_len > 0) {
- cs8900a_send();
- }
- }
- }
-
-}
-/*---------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/tfe-dsc.c b/contiki-cpc/contiki-cpc/uip/tfe-dsc.c
deleted file mode 100644
index 24d9314..0000000
--- a/contiki-cpc/contiki-cpc/uip/tfe-dsc.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2003, 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. 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: tfe-dsc.c,v 1.1 2006/04/17 15:12:02 kthacker Exp $
- *
- */
-
-#include "dsc.h"
-
-extern struct ctk_icon tfe_icon;
-/*-----------------------------------------------------------------------------------*/
-DSC(tfe_dsc,
- "The Final Ethernet driver",
- "tfe.drv",
- tfe_init,
- &tfe_icon);
-/*-----------------------------------------------------------------------------------*/
-#if CTK_CONF_ICON_BITMAPS
-static unsigned char tfeicon_bitmap[3*3*8] = {
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
-};
-#endif /* CTK_CONF_ICON_BITMAPS */
-
-#if CTK_CONF_ICON_TEXTMAPS
-static char tfeicon_textmap[9] = {
- 'T', 'C', 'P',
- '/', 'I', 'P',
- 'T', 'F', 'E'
-};
-#endif /* CTK_CONF_ICON_TEXTMAPS */
-
-static struct ctk_icon tfe_icon =
- {CTK_ICON("TFE driver", tfeicon_bitmap, tfeicon_textmap)};
-/*-----------------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/tfe-dump-drv.c b/contiki-cpc/contiki-cpc/uip/tfe-dump-drv.c
deleted file mode 100644
index e572909..0000000
--- a/contiki-cpc/contiki-cpc/uip/tfe-dump-drv.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2001-2004, 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. 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 uIP TCP/IP stack.
- *
- * $Id: tfe-dump-drv.c,v 1.1 2006/04/17 15:12:02 kthacker Exp $
- *
- */
-
-#include "packet-service.h"
-
-#include "cs8900a.h"
-
-#include "uip_arp.h"
-
-static void output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen);
-
-static const struct uip_eth_addr addr =
- {{0x00,0x00,0x00,0x64,0x64,0x64}};
-
-static const struct packet_service_state state =
- {
- PACKET_SERVICE_VERSION,
- output
- };
-
-EK_EVENTHANDLER(eventhandler, ev, data);
-EK_POLLHANDLER(pollhandler);
-EK_PROCESS(proc, PACKET_SERVICE_NAME ": TFE", EK_PRIO_NORMAL,
- eventhandler, pollhandler, (void *)&state);
-
-#include "tcpdump.h"
-#include <string.h>
-#include "ctk.h"
-
-#define DUMP_WIDTH 38
-#define DUMP_HEIGHT 20
-static struct ctk_window window;
-static char dump[DUMP_WIDTH * DUMP_HEIGHT];
-static struct ctk_label dumplabel =
- {CTK_LABEL(0, 0, DUMP_WIDTH, DUMP_HEIGHT, dump)};
-static void
-dump_packet(void)
-{
- memcpy(dump, &dump[DUMP_WIDTH], DUMP_WIDTH * (DUMP_HEIGHT - 1));
- tcpdump_print(&dump[DUMP_WIDTH * (DUMP_HEIGHT - 1)], DUMP_WIDTH);
- CTK_WIDGET_REDRAW(&dumplabel);
-}
-/*---------------------------------------------------------------------------*/
-LOADER_INIT_FUNC(tfe_dump_drv_init, arg)
-{
- arg_free(arg);
- ek_service_start(PACKET_SERVICE_NAME, &proc);
-}
-/*---------------------------------------------------------------------------*/
-static void
-output(u8_t *hdr, u16_t hdrlen, u8_t *data, u16_t datalen)
-{
- uip_arp_out();
- cs8900a_send();
- dump_packet();
-}
-/*---------------------------------------------------------------------------*/
-
-EK_EVENTHANDLER(eventhandler, ev, data)
-{
- switch(ev) {
- case EK_EVENT_INIT:
- case EK_EVENT_REPLACE:
- ctk_window_new(&window, DUMP_WIDTH, DUMP_HEIGHT, "TFE dump");
- CTK_WIDGET_ADD(&window, &dumplabel);
- ctk_window_open(&window);
- uip_setethaddr(addr);
- cs8900a_init();
- break;
- case EK_EVENT_REQUEST_REPLACE:
- ctk_window_close(&window);
- ek_replace((struct ek_proc *)data, NULL);
- LOADER_UNLOAD();
- break;
- case EK_EVENT_REQUEST_EXIT:
- ctk_window_close(&window);
- ek_exit();
- LOADER_UNLOAD();
- break;
- default:
- break;
- }
-}
-
-/*---------------------------------------------------------------------------*/
-EK_POLLHANDLER(pollhandler)
-{
-#define BUF ((struct uip_eth_hdr *)&uip_buf[0])
-
- /* Poll Ethernet device to see if there is a frame avaliable. */
- uip_len = cs8900a_poll();
- if(uip_len > 0) {
- dump_packet();
- /* A frame was avaliable (and is now read into the uip_buf), so
- we process it. */
- if(BUF->type == HTONS(UIP_ETHTYPE_IP)) {
- uip_arp_ipin();
- uip_len -= sizeof(struct uip_eth_hdr);
- tcpip_input();
- } else if(BUF->type == HTONS(UIP_ETHTYPE_ARP)) {
- uip_arp_arpin();
- /* If the above function invocation resulted in data that
- should be sent out on the network, the global variable
- uip_len is set to a value > 0. */
- if(uip_len > 0) {
- cs8900a_send();
- }
- }
- }
-
-}
-/*---------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/uip_arch.c b/contiki-cpc/contiki-cpc/uip/uip_arch.c
deleted file mode 100644
index 3e07ef1..0000000
--- a/contiki-cpc/contiki-cpc/uip/uip_arch.c
+++ /dev/null
@@ -1,526 +0,0 @@
-/*
- * Copyright (c) 2001, 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. 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 uIP TCP/IP stack.
- *
- * $Id: uip_arch.c,v 1.1 2006/04/17 15:12:03 kthacker Exp $
- *
- */
-
-
-#include "uip.h"
-#include "uip_arch.h"
-
-#define BUF ((uip_tcpip_hdr *)&uip_buf[UIP_LLH_LEN])
-#define IP_PROTO_TCP 6
-#define IP_PROTO_UDP 17
-
-/*-----------------------------------------------------------------------------------*/
-/*#pragma optimize(push, off) */
-void
-uip_add32(u8_t *op32, u16_t op16)
-{
-#if 0
- asm("ldy #3");
- asm("jsr ldaxysp");
- asm("sta ptr1");
- asm("stx ptr1+1");
- asm("ldy #0");
- asm("lda (sp),y");
- asm("ldy #3");
- asm("clc");
- asm("adc (ptr1),y");
- asm("sta _uip_acc32+3");
- asm("dey");
- asm("lda (ptr1),y");
- asm("ldy #1");
- asm("adc (sp),y");
- asm("sta _uip_acc32+2");
- asm("ldy #1");
- asm("lda (ptr1),y");
- asm("adc #0");
- asm("sta _uip_acc32+1");
- asm("dey");
- asm("lda (ptr1),y");
- asm("adc #0");
- asm("sta _uip_acc32+0");
-#endif
-}
-/*#pragma optimize(pop)*/
-/*-----------------------------------------------------------------------------------*/
-static u16_t chksum_ptr, chksum_len, chksum_tmp;
-static u8_t chksum_protocol;
-static u16_t chksum(void);
-/*-----------------------------------------------------------------------------------*/
-/*#pragma optimize(push, off) */
-u16_t
-chksum(void) {
-
-#if 0
- asm("lda #0");
- asm("sta tmp1");
- asm("sta tmp1+1");
- asm("lda _chksum_ptr");
- asm("sta ptr1");
- asm("lda _chksum_ptr+1");
- asm("sta ptr1+1");
-
-
- asm("lda _chksum_len+1");
- asm("beq chksumlast");
-
-
- /* If checksum is > 256, do the first runs. */
- asm("ldy #0");
- asm("clc");
- asm("chksumloop_256:");
- asm("lda (ptr1),y");
- asm("adc tmp1");
- asm("sta tmp1");
- asm("iny");
- asm("lda (ptr1),y");
- asm("adc tmp1+1");
- asm("sta tmp1+1");
- asm("iny");
- asm("bne chksumloop_256");
- asm("inc ptr1+1");
- asm("dec _chksum_len+1");
- asm("bne chksumloop_256");
-
- asm("chksum_endloop_256:");
- asm("lda tmp1");
- asm("adc #0");
- asm("sta tmp1");
- asm("lda tmp1+1");
- asm("adc #0");
- asm("sta tmp1+1");
- asm("bcs chksum_endloop_256");
-
- asm("chksumlast:");
- asm("lda _chksum_len");
- asm("lsr");
- asm("bcc chksum_noodd");
- asm("ldy _chksum_len");
- asm("dey");
- asm("lda (ptr1),y");
- asm("clc");
- asm("adc tmp1");
- asm("sta tmp1");
- asm("bcc noinc1");
- asm("inc tmp1+1");
- asm("bne noinc1");
- asm("inc tmp1");
- asm("noinc1:");
- asm("dec _chksum_len");
-
- asm("chksum_noodd:");
- asm("clc");
- asm("php");
- asm("ldy _chksum_len");
- asm("chksum_loop1:");
- asm("cpy #0");
- asm("beq chksum_loop1_end");
- asm("plp");
- asm("dey");
- asm("dey");
- asm("lda (ptr1),y");
- asm("adc tmp1");
- asm("sta tmp1");
- asm("iny");
- asm("lda (ptr1),y");
- asm("adc tmp1+1");
- asm("sta tmp1+1");
- asm("dey");
- asm("php");
- asm("jmp chksum_loop1");
- asm("chksum_loop1_end:");
- asm("plp");
-
- asm("chksum_endloop:");
- asm("lda tmp1");
- asm("adc #0");
- asm("sta tmp1");
- asm("lda tmp1+1");
- asm("adc #0");
- asm("sta tmp1+1");
- asm("bcs chksum_endloop");
-
- asm("lda tmp1");
- asm("ldx tmp1+1");
-#endif
-}
-/*#pragma optimize(pop)*/
-/*-----------------------------------------------------------------------------------*/
-u16_t
-uip_chksum(u16_t *buf, u16_t len)
-{
- /* unsigned long sum;
-
- sum = 0;
-
- chksum_ptr = (u16_t)buf;
- while(len >= 256) {
- chksum_len = 256;
- sum += chksum();
- len -= 256;
- chksum_ptr += 256;
- }
-
- if(len < 256) {
- chksum_len = len;
- sum += chksum();
- }
-
- while((sum >> 16) != 0) {
- sum = (sum >> 16) + (sum & 0xffff);
- }
-
- return sum;*/
-
- chksum_len = len;
- chksum_ptr = (u16_t)buf;
- return chksum();
-}
-/*-----------------------------------------------------------------------------------*/
-u16_t
-uip_ipchksum(void)
-{
- chksum_ptr = (u16_t)uip_buf + UIP_LLH_LEN;
- chksum_len = 20;
- return chksum();
-}
-/*-----------------------------------------------------------------------------------*/
-/*#pragma optimize(push, off) */
-static u16_t
-transport_chksum(u8_t protocol)
-{
- chksum_protocol = protocol;
- chksum_ptr = (u16_t)&uip_buf[20 + UIP_LLH_LEN];
- chksum_len = 20;
- chksum_tmp = chksum();
-
- chksum_ptr = (u16_t)uip_appdata;
-
-#if 0
- asm("lda _uip_buf+3+%b", UIP_LLH_LEN);
- asm("sec");
- asm("sbc #40");
- asm("sta _chksum_len");
- asm("lda _uip_buf+2+%b", UIP_LLH_LEN);
- asm("sbc #0");
- asm("sta _chksum_len+1");
-
- asm("jsr %v", chksum);
-
- asm("clc");
- asm("adc _chksum_tmp");
- asm("sta _chksum_tmp");
- asm("txa");
- asm("adc _chksum_tmp+1");
- asm("sta _chksum_tmp+1");
-
- /* Fold carry */
- /* asm("bcc noinc");
- asm("inc _chksum_tmp");
- asm("noinc:");*/
-
- asm("tcpchksum_loop1:");
- asm("lda _chksum_tmp");
- asm("adc #0");
- asm("sta _chksum_tmp");
- asm("lda _chksum_tmp+1");
- asm("adc #0");
- asm("sta _chksum_tmp+1");
- asm("bcs tcpchksum_loop1");
-
-
- asm("lda _uip_buf+3+%b", UIP_LLH_LEN);
- asm("sec");
- asm("sbc #20");
- asm("sta _chksum_len");
- asm("lda _uip_buf+2+%b", UIP_LLH_LEN);
- asm("sbc #0");
- asm("sta _chksum_len+1");
-
-
- asm("ldy #$0c");
- asm("clc");
- asm("php");
- asm("tcpchksum_loop2:");
- asm("plp");
- asm("lda _uip_buf+%b,y", UIP_LLH_LEN);
- asm("adc _chksum_tmp");
- asm("sta _chksum_tmp");
- asm("iny");
- asm("lda _uip_buf+%b,y", UIP_LLH_LEN);
- asm("adc _chksum_tmp+1");
- asm("sta _chksum_tmp+1");
- asm("iny");
- asm("php");
- asm("cpy #$14");
- asm("bne tcpchksum_loop2");
-
- asm("plp");
-
- asm("lda _chksum_tmp");
- asm("adc #0");
- asm("sta _chksum_tmp");
- asm("lda _chksum_tmp+1");
- asm("adc %v", chksum_protocol);
- asm("sta _chksum_tmp+1");
-
-
- asm("lda _chksum_tmp");
- asm("adc _chksum_len+1");
- asm("sta _chksum_tmp");
- asm("lda _chksum_tmp+1");
- asm("adc _chksum_len");
- asm("sta _chksum_tmp+1");
-
-
-
- asm("tcpchksum_loop3:");
- asm("lda _chksum_tmp");
- asm("adc #0");
- asm("sta _chksum_tmp");
- asm("lda _chksum_tmp+1");
- asm("adc #0");
- asm("sta _chksum_tmp+1");
- asm("bcs tcpchksum_loop3");
-#endif
-
- return chksum_tmp;
-}
-/*#pragma optimize(pop)*/
-
-/*-----------------------------------------------------------------------------------*/
-u16_t
-uip_tcpchksum(void)
-{
- return transport_chksum(IP_PROTO_TCP);
-#if 0
- chksum_ptr = (u16_t)&uip_buf[20 + UIP_LLH_LEN];
- chksum_len = 20;
- chksum_tmp = chksum();
-
- chksum_ptr = (u16_t)uip_appdata;
- asm("lda _uip_buf+3+%b", UIP_LLH_LEN);
- asm("sec");
- asm("sbc #40");
- asm("sta _chksum_len");
- asm("lda _uip_buf+2+%b", UIP_LLH_LEN);
- asm("sbc #0");
- asm("sta _chksum_len+1");
-
- asm("jsr %v", chksum);
-
- asm("clc");
- asm("adc _chksum_tmp");
- asm("sta _chksum_tmp");
- asm("txa");
- asm("adc _chksum_tmp+1");
- asm("sta _chksum_tmp+1");
-
- /* Fold carry */
- /* asm("bcc noinc");
- asm("inc _chksum_tmp");
- asm("noinc:");*/
-
- asm("tcpchksum_loop1:");
- asm("lda _chksum_tmp");
- asm("adc #0");
- asm("sta _chksum_tmp");
- asm("lda _chksum_tmp+1");
- asm("adc #0");
- asm("sta _chksum_tmp+1");
- asm("bcs tcpchksum_loop1");
-
-
- asm("lda _uip_buf+3+%b", UIP_LLH_LEN);
- asm("sec");
- asm("sbc #20");
- asm("sta _chksum_len");
- asm("lda _uip_buf+2+%b", UIP_LLH_LEN);
- asm("sbc #0");
- asm("sta _chksum_len+1");
-
-
- asm("ldy #$0c");
- asm("clc");
- asm("php");
- asm("tcpchksum_loop2:");
- asm("plp");
- asm("lda _uip_buf+%b,y", UIP_LLH_LEN);
- asm("adc _chksum_tmp");
- asm("sta _chksum_tmp");
- asm("iny");
- asm("lda _uip_buf+%b,y", UIP_LLH_LEN);
- asm("adc _chksum_tmp+1");
- asm("sta _chksum_tmp+1");
- asm("iny");
- asm("php");
- asm("cpy #$14");
- asm("bne tcpchksum_loop2");
-
- asm("plp");
-
- asm("lda _chksum_tmp");
- asm("adc #0");
- asm("sta _chksum_tmp");
- asm("lda _chksum_tmp+1");
- asm("adc #6"); /* IP_PROTO_TCP */
- asm("sta _chksum_tmp+1");
-
-
- asm("lda _chksum_tmp");
- asm("adc _chksum_len+1");
- asm("sta _chksum_tmp");
- asm("lda _chksum_tmp+1");
- asm("adc _chksum_len");
- asm("sta _chksum_tmp+1");
-
-
-
- asm("tcpchksum_loop3:");
- asm("lda _chksum_tmp");
- asm("adc #0");
- asm("sta _chksum_tmp");
- asm("lda _chksum_tmp+1");
- asm("adc #0");
- asm("sta _chksum_tmp+1");
- asm("bcs tcpchksum_loop3");
-
-
- return chksum_tmp;
-#endif
-}
-
-/*-----------------------------------------------------------------------------------*/
-#if UIP_UDP_CHECKSUMS
-u16_t
-uip_udpchksum(void)
-{
- return transport_chksum(IP_PROTO_UDP);
-#if 0
- chksum_ptr = (u16_t)&uip_buf[20 + UIP_LLH_LEN];
- chksum_len = 20;
- chksum_tmp = chksum();
-
- chksum_ptr = (u16_t)uip_appdata;
- asm("lda _uip_buf+3+%b", UIP_LLH_LEN);
- asm("sec");
- asm("sbc #40");
- asm("sta _chksum_len");
- asm("lda _uip_buf+2+%b", UIP_LLH_LEN);
- asm("sbc #0");
- asm("sta _chksum_len+1");
-
- asm("jsr %v", chksum);
-
- asm("clc");
- asm("adc _chksum_tmp");
- asm("sta _chksum_tmp");
- asm("txa");
- asm("adc _chksum_tmp+1");
- asm("sta _chksum_tmp+1");
-
- /* Fold carry */
- /* asm("bcc noinc");
- asm("inc _chksum_tmp");
- asm("noinc:");*/
-
- asm("tcpchksum_loop1:");
- asm("lda _chksum_tmp");
- asm("adc #0");
- asm("sta _chksum_tmp");
- asm("lda _chksum_tmp+1");
- asm("adc #0");
- asm("sta _chksum_tmp+1");
- asm("bcs tcpchksum_loop1");
-
-
- asm("lda _uip_buf+3+%b", UIP_LLH_LEN);
- asm("sec");
- asm("sbc #20");
- asm("sta _chksum_len");
- asm("lda _uip_buf+2+%b", UIP_LLH_LEN);
- asm("sbc #0");
- asm("sta _chksum_len+1");
-
-
- asm("ldy #$0c");
- asm("clc");
- asm("php");
- asm("tcpchksum_loop2:");
- asm("plp");
- asm("lda _uip_buf+%b,y", UIP_LLH_LEN);
- asm("adc _chksum_tmp");
- asm("sta _chksum_tmp");
- asm("iny");
- asm("lda _uip_buf+%b,y", UIP_LLH_LEN);
- asm("adc _chksum_tmp+1");
- asm("sta _chksum_tmp+1");
- asm("iny");
- asm("php");
- asm("cpy #$14");
- asm("bne tcpchksum_loop2");
-
- asm("plp");
-
- asm("lda _chksum_tmp");
- asm("adc #0");
- asm("sta _chksum_tmp");
- asm("lda _chksum_tmp+1");
- asm("adc #17"); /* IP_PROTO_UDP */
- asm("sta _chksum_tmp+1");
-
-
- asm("lda _chksum_tmp");
- asm("adc _chksum_len+1");
- asm("sta _chksum_tmp");
- asm("lda _chksum_tmp+1");
- asm("adc _chksum_len");
- asm("sta _chksum_tmp+1");
-
-
-
- asm("tcpchksum_loop3:");
- asm("lda _chksum_tmp");
- asm("adc #0");
- asm("sta _chksum_tmp");
- asm("lda _chksum_tmp+1");
- asm("adc #0");
- asm("sta _chksum_tmp+1");
- asm("bcs tcpchksum_loop3");
-
-
- return chksum_tmp;
-#endif
-}
-#endif /* UIP_UDP_CHECKSUMS */
-/*-----------------------------------------------------------------------------------*/
diff --git a/contiki-cpc/contiki-cpc/uip/uip_arch.h b/contiki-cpc/contiki-cpc/uip/uip_arch.h
deleted file mode 100644
index b850435..0000000
--- a/contiki-cpc/contiki-cpc/uip/uip_arch.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2001, 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. 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 uIP TCP/IP stack.
- *
- * $Id: uip_arch.h,v 1.1 2006/04/17 15:12:03 kthacker Exp $
- *
- */
-
-#ifndef __UIP_ARCH_H__
-#define __UIP_ARCH_H__
-
-#include "uip.h"
-
-void uip_add_rcv_nxt(u16_t n);
-void uip_add32(u8_t *op32, u16_t op16);
-
-u16_t uip_chksum(u16_t *data, u16_t len);
-u16_t uip_ipchksum(void);
-u16_t uip_tcpchksum(void);
-
-#endif /* __UIP_ARCH_H__ */