diff --git a/contiki-cpc/arch/amsgraph.h b/contiki-cpc/arch/amsgraph.h
deleted file mode 100644
index a84151b..0000000
--- a/contiki-cpc/arch/amsgraph.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* AMSGRAPH.H A Graphics library for the AMSTRAD CPC range of computers
-   Uses firmware to realize graphics IO..
-
-   2003 H. Hansen
-
-*/
-
-#ifndef  __amsgraph_h__
-#define __amsgraph_h__
-
-void draw(int x, int y);
-void plot(int x, int y);
-void move(int x, int y);
-void gpen(unsigned char pencolor);
-unsigned char getgpen(void);
-
-#endif /* __amsgraph_h__ */
-
diff --git a/contiki-cpc/arch/amshw.h b/contiki-cpc/arch/amshw.h
deleted file mode 100644
index 433837e..0000000
--- a/contiki-cpc/arch/amshw.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Amstrad hardware I/O ports 
- 
-Although these I/O port addresses are actually partially decoded,
-we use the recommended address here.
-*/
-
-/* Gate Array */
-sfr banked at 0x07F00 IO_GateArray;
-
-/* CRTC */
-sfr banked at 0x0BC00 IO_CRTC_Register;
-sfr banked at 0x0BD00 IO_CRTC_Data;
-
-/* FDD */
-sfr banked at 0x0FA7E IO_FDD_Motor;		/* motor state for all floppy disc drives */
-
-/* FDC 
-
-NOTE: The Amstrad Floppy Disc Controller is polled for data and has strict timing constraints.
-Therefore it is best to perform all floppy access using assembler code, or using the firmware or
-CP/M functions 
-*/
-sfr banked at 0x0FB7E IO_FDC_Status;	/* FDC Main Status register */
-sfr banked at 0x0FB7F IO_FDC_Data;		/* FDC Data register */
-
-/* PPI */
-sfr banked at 0x0F400 IO_PPI_PortA;
-sfr banked at 0x0F500 IO_PPI_PortB;
-sfr banked at 0x0F600 IO_PPI_PortC;
-sfr banked at 0x0F700 IO_PPI_Control;
-
diff --git a/contiki-cpc/conf/ctk-conf.h.old b/contiki-cpc/conf/ctk-conf.h.old
deleted file mode 100644
index 3c8404f..0000000
--- a/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:02:26 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/ctk/ctk-conf.h.old b/contiki-cpc/ctk/ctk-conf.h.old
deleted file mode 100644
index 5b8df19..0000000
--- a/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:02:27 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__ */
