diff --git a/examples/webbrowser/Makefile.atarixl.defines b/examples/webbrowser/Makefile.atarixl.defines new file mode 100644 index 000000000..7f438d1d1 --- /dev/null +++ b/examples/webbrowser/Makefile.atarixl.defines @@ -0,0 +1 @@ +DEFINES = WITH_CLIENT,WITH_DNS,WITH_GUI diff --git a/platform/atarixl/Makefile.atarixl b/platform/atarixl/Makefile.atarixl new file mode 100644 index 000000000..0997899ee --- /dev/null +++ b/platform/atarixl/Makefile.atarixl @@ -0,0 +1,62 @@ +# +# Copyright (c) 2007, 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. +# +# Author: Oliver Schmidt +# +# $Id: Makefile.atari,v 1.3 2011/01/23 16:25:45 oliverschmidt Exp $ +# + +ETHERNET = cs8900a + +CONTIKI_CPU = $(CONTIKI)/cpu/6502 +include $(CONTIKI_CPU)/Makefile.6502 + +STARTADDR_FLAG = -S 0x2300 + +ifeq ($(MAKECMDGOALS),disk) + ifndef DIR2ATR + ${error DIR2ATR not defined! You must specify where dir2atr resides} + endif +endif + +disk: all + mkdir atr + cp $(CONTIKI)/tools/$(TARGET)/dos25/dos.sys atr/dos.sys + cp $(CONTIKI)/tools/$(TARGET)/dos25/dup.sys atr/dup.sys + cp $(CONTIKI_PROJECT).$(TARGET) atr/autorun.sys + cp $(CONTIKI)/tools/$(TARGET)/sample.cfg atr/contiki.cfg +ifeq ($(HTTPD-CFS),1) + cp httpd-cfs/index.htm atr/index.htm + cp httpd-cfs/backgrnd.gif atr/backgrnd.gif + cp httpd-cfs/contiki.gif atr/contiki.gif + cp httpd-cfs/notfound.htm atr/notfound.htm +endif + $(DIR2ATR) -b Dos25 1040 contiki.atr atr + rm -r atr diff --git a/platform/atarixl/README.md b/platform/atarixl/README.md new file mode 100644 index 000000000..fee88dec6 --- /dev/null +++ b/platform/atarixl/README.md @@ -0,0 +1,16 @@ +Atari +===== + +The platform/atari/ directory is used for targeting an Atari 8-bit computer. +Most things are shared between the 6502-based targets so please consult +cpu/6502/README for further details. + + +The following Atari 8-bit Ethernet card is supported: + +- Atari 8-bit Ethernet Project: Use driver cs8900a.eth with address $D500. + +The 'disk' make goal requires HiassofT's dir2atr program. It is available at +http://www.horus.com/~hias/atari/ - either as source code (being part of the +'AtariSIO driver and utilities for Linux') or as Win32 binary program (being +part of the 'Atari Tools for Win32'). diff --git a/platform/atarixl/contiki-conf.h b/platform/atarixl/contiki-conf.h new file mode 100644 index 000000000..67dfbddd1 --- /dev/null +++ b/platform/atarixl/contiki-conf.h @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2007, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the Contiki operating system. + * + * Author: Oliver Schmidt + * + */ + +#ifndef __CONTIKI_CONF_H__ +#define __CONTIKI_CONF_H__ + +#include "6502def.h" + +#define CTK_CONF_MENU_KEY CH_ESC +#define CTK_CONF_WINDOWSWITCH_KEY 0x17 /* Ctrl-W */ +#define CTK_CONF_WIDGETUP_KEY 0x01 /* Ctrl-A */ +#define CTK_CONF_WIDGETDOWN_KEY '\t' /* Tab or Ctrl-I */ + +#define textcolor(color) COLOR_WHITE + +#define BORDERCOLOR COLOR_BLACK +#define SCREENCOLOR COLOR_BLACK + +#define EMAIL_CONF_WIDTH 39 +#define EMAIL_CONF_HEIGHT 19 +#define EMAIL_CONF_ERASE 0 + +#define FTP_CONF_WIDTH 18 +#define FTP_CONF_HEIGHT 21 + +#define IRC_CONF_WIDTH 40 +#define IRC_CONF_HEIGHT 23 + +#define WWW_CONF_WEBPAGE_WIDTH 40 +#define WWW_CONF_WEBPAGE_HEIGHT 19 +#define WWW_CONF_HISTORY_SIZE 0 +#define WWW_CONF_MAX_URLLEN 80 +#define WWW_CONF_MAX_NUMPAGEWIDGETS 20 +#define WWW_CONF_FORMS 0 + +#endif /* __CONTIKI_CONF_H__ */ diff --git a/platform/atarixl/contiki-main.c b/platform/atarixl/contiki-main.c new file mode 100644 index 000000000..fa4fd7844 --- /dev/null +++ b/platform/atarixl/contiki-main.c @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2006, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the Contiki operating system. + * + * Author: Oliver Schmidt + * + */ + +#include "contiki-net.h" +#include "ctk/ctk.h" +#include "sys/log.h" +#include "lib/config.h" +#include "net/ethernet-drv.h" + +#if WITH_GUI +#define CTK_PROCESS &ctk_process, +#else /* WITH_GUI */ +#define CTK_PROCESS +#endif /* WITH_GUI */ + +#if WITH_DNS +#define RESOLV_PROCESS &resolv_process, +#else /* WITH_DNS */ +#define RESOLV_PROCESS +#endif /* WITH_DNS */ + +PROCINIT(&etimer_process, + CTK_PROCESS + RESOLV_PROCESS + &tcpip_process); + +/*-----------------------------------------------------------------------------------*/ +void +main(void) +{ + struct ethernet_config *ethernet_config; + + clrscr(); + bordercolor(BORDERCOLOR); + bgcolor(SCREENCOLOR); + + process_init(); + +#if 1 + ethernet_config = config_read("contiki.cfg"); +#else + { + static struct ethernet_config config = {0xD500, "cs8900a.eth"}; + uip_ipaddr_t addr; + + uip_ipaddr(&addr, 192,168,0,128); + uip_sethostaddr(&addr); + + uip_ipaddr(&addr, 255,255,255,0); + uip_setnetmask(&addr); + + uip_ipaddr(&addr, 192,168,0,1); + uip_setdraddr(&addr); + + uip_ipaddr(&addr, 192,168,0,1); + resolv_conf(&addr); + + ethernet_config = &config; + } +#endif + + procinit_init(); + + process_start((struct process *)ðernet_process, (char *)ethernet_config); + + autostart_start(autostart_processes); + + log_message("Contiki up and running ...", ""); + + while(1) { + + process_run(); + + etimer_request_poll(); + } +} +/*-----------------------------------------------------------------------------------*/ diff --git a/platform/atarixl/lib/error.c b/platform/atarixl/lib/error.c new file mode 100644 index 000000000..2c5d5572e --- /dev/null +++ b/platform/atarixl/lib/error.c @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2007, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the Contiki operating system. + * + * Author: Oliver Schmidt + * + */ + +#include + +#include "sys/log.h" + +#include "lib/error.h" + +/*-----------------------------------------------------------------------------------*/ +void +error_exit(void) +{ + log_message("Press any key to continue ...", ""); + ctk_arch_getkey(); + exit(EXIT_FAILURE); +} +/*-----------------------------------------------------------------------------------*/ diff --git a/tools/atarixl/default.cfg b/tools/atarixl/default.cfg new file mode 100644 index 000000000..f2cf1eb31 Binary files /dev/null and b/tools/atarixl/default.cfg differ diff --git a/tools/atarixl/dos25/dos.sys b/tools/atarixl/dos25/dos.sys new file mode 100644 index 000000000..12c3eaa56 Binary files /dev/null and b/tools/atarixl/dos25/dos.sys differ diff --git a/tools/atarixl/dos25/dup.sys b/tools/atarixl/dos25/dup.sys new file mode 100644 index 000000000..2aa1ba4fa Binary files /dev/null and b/tools/atarixl/dos25/dup.sys differ diff --git a/tools/atarixl/mydos4534/dos.sys b/tools/atarixl/mydos4534/dos.sys new file mode 100644 index 000000000..3171b55c4 Binary files /dev/null and b/tools/atarixl/mydos4534/dos.sys differ diff --git a/tools/atarixl/mydos4534/dup.sys b/tools/atarixl/mydos4534/dup.sys new file mode 100644 index 000000000..f3acea1c5 Binary files /dev/null and b/tools/atarixl/mydos4534/dup.sys differ diff --git a/tools/atarixl/sample.cfg b/tools/atarixl/sample.cfg new file mode 100644 index 000000000..f6e72b1c6 Binary files /dev/null and b/tools/atarixl/sample.cfg differ