Skip to content

Commit

Permalink
Added platform 'Atari XL'.
Browse files Browse the repository at this point in the history
Don't be afraid, I'm not trying to have more retro platforms than "real" platforms ;-)
The platform 'atarixl' will replace the platform 'atari'. However I need both for some
transition period.
  • Loading branch information
oliverschmidt committed Jun 1, 2013
1 parent c138dc7 commit d636d71
Show file tree
Hide file tree
Showing 12 changed files with 303 additions and 0 deletions.
1 change: 1 addition & 0 deletions examples/webbrowser/Makefile.atarixl.defines
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DEFINES = WITH_CLIENT,WITH_DNS,WITH_GUI
62 changes: 62 additions & 0 deletions platform/atarixl/Makefile.atarixl
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>
#
# $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
16 changes: 16 additions & 0 deletions platform/atarixl/README.md
Original file line number Diff line number Diff line change
@@ -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').
67 changes: 67 additions & 0 deletions platform/atarixl/contiki-conf.h
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>
*
*/

#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__ */
108 changes: 108 additions & 0 deletions platform/atarixl/contiki-main.c
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>
*
*/

#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 *)&ethernet_process, (char *)ethernet_config);

autostart_start(autostart_processes);

log_message("Contiki up and running ...", "");

while(1) {

process_run();

etimer_request_poll();
}
}
/*-----------------------------------------------------------------------------------*/
49 changes: 49 additions & 0 deletions platform/atarixl/lib/error.c
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>
*
*/

#include <stdlib.h>

#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);
}
/*-----------------------------------------------------------------------------------*/
Binary file added tools/atarixl/default.cfg
Binary file not shown.
Binary file added tools/atarixl/dos25/dos.sys
Binary file not shown.
Binary file added tools/atarixl/dos25/dup.sys
Binary file not shown.
Binary file added tools/atarixl/mydos4534/dos.sys
Binary file not shown.
Binary file added tools/atarixl/mydos4534/dup.sys
Binary file not shown.
Binary file added tools/atarixl/sample.cfg
Binary file not shown.

0 comments on commit d636d71

Please sign in to comment.