From 91beb8670f9c8000330c11e54ed46c8e5ac4049f Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Wed, 15 Feb 2017 23:43:28 +0100
Subject: [PATCH 1/4] Added SLIP support to retro platforms.
The cc65 tool chain comes with V.24 drivers so it seems reasonable to use the existing Contiki SLIP driver to implement network access via SLIP as alternative to Ethernet.
Some notes:
- The Ethernet configuration was simplified in order to allow share it with SLIP.
- The Contiki SLIP driver presumes an interrupt driven serial receiver to write into the SLIP buffer. However the cc65 V.24 drivers aren't up to that. Therefore the main loops were extended to pull received data from the V.24 buffers and push it into the SLIP buffer.
- As far as I understand the serial sender is supposed to block until the data is sent. Therefore a loop calls the non-blocking V.24 driver until the data is sent.
On all platforms there's only one V.24 driver available. Therefore V.24 drivers are always loaded statically.
On the Apple][ the mouse driver is now loaded statically - independently from SLIP vs. Ethernet. After all there's only one mouse driver available. However there's a major benefit with SLIP: Here all drivers are loaded statically. Therefore the dynamic module loader isn't necessary at all. And without the loader the heap manager isn't necessary at all. This allows for a reduction in code size roughly compensating for the size of the SLIP buffer.
---
cpu/6502/6502def.h | 7 +-
cpu/6502/Makefile.6502 | 6 +-
cpu/6502/README.md | 20 +-
cpu/6502/ctk/ctk-mouse.c | 11 +
cpu/6502/ethconfig/ethconfig.c | 7 +-
cpu/6502/lib/config.c | 60 +++--
cpu/6502/lib/config.h | 18 +-
cpu/6502/net/ethernet-drv.c | 2 +-
cpu/6502/net/ethernet-drv.h | 5 -
cpu/6502/net/ethernet.c | 47 ++--
cpu/6502/net/ethernet.h | 2 +-
cpu/6502/net/slip_arch.c | 84 +++++++
cpu/6502/serconfig/Makefile | 6 +
cpu/6502/serconfig/Makefile.c128.defines | 1 +
cpu/6502/serconfig/Makefile.c64.defines | 1 +
cpu/6502/serconfig/serconfig.c | 105 +++++++++
platform/apple2enh/Makefile.apple2enh | 11 +-
platform/apple2enh/contiki-main.c | 48 ++--
platform/atarixl/Makefile.atarixl | 10 +-
platform/atarixl/contiki-main.c | 47 ++--
platform/c128/Makefile.c128 | 8 +
platform/c128/contiki-main.c | 47 ++--
platform/c64/Makefile.c64 | 8 +
platform/c64/contiki-main.c | 47 ++--
tools/6502/Makefile | 279 +++++++++++++++--------
tools/6502/default.cfg | Bin 0 -> 21 bytes
tools/6502/sample.cfg | Bin 0 -> 21 bytes
27 files changed, 615 insertions(+), 272 deletions(-)
create mode 100644 cpu/6502/net/slip_arch.c
create mode 100644 cpu/6502/serconfig/Makefile
create mode 100644 cpu/6502/serconfig/Makefile.c128.defines
create mode 100644 cpu/6502/serconfig/Makefile.c64.defines
create mode 100644 cpu/6502/serconfig/serconfig.c
create mode 100644 tools/6502/default.cfg
create mode 100644 tools/6502/sample.cfg
diff --git a/cpu/6502/6502def.h b/cpu/6502/6502def.h
index c0f5c999a..4552f1b6f 100644
--- a/cpu/6502/6502def.h
+++ b/cpu/6502/6502def.h
@@ -68,7 +68,6 @@ typedef unsigned short uip_stats_t;
#define UIP_ARCH_ADD32 1
#define UIP_ARCH_CHKSUM 1
-#define UIP_CONF_LLH_LEN 14
#define RESOLV_CONF_SUPPORTS_MDNS 0
#define RESOLV_CONF_SUPPORTS_RECORD_EXPIRATION 0
@@ -80,6 +79,12 @@ void logscr(const void *msg, unsigned len);
#define logscr(msg, len) write(STDERR_FILENO, msg, len)
#endif
+#if WITH_SLIP
+#define UIP_CONF_LLH_LEN 0
+#else /* WITH_SLIP */
+#define UIP_CONF_LLH_LEN 14
+#endif /* WITH_SLIP */
+
#if MTU_SIZE
#define UIP_CONF_BUFFER_SIZE (UIP_LLH_LEN + MTU_SIZE)
#else /* MTU_SIZE */
diff --git a/cpu/6502/Makefile.6502 b/cpu/6502/Makefile.6502
index 07e8e3af6..1ddf9599c 100644
--- a/cpu/6502/Makefile.6502
+++ b/cpu/6502/Makefile.6502
@@ -31,6 +31,10 @@
# Author: Oliver Schmidt
#
+ifdef SLIP
+ DEFINES += WITH_SLIP
+endif
+
.SUFFIXES:
CONTIKI_TARGET_DIRS = . lib sys
@@ -39,7 +43,7 @@ CONTIKI_CPU_DIRS = . lib sys ctk net
CONTIKI_TARGET_SOURCEFILES += contiki-main.c
CONTIKI_CPU_SOURCEFILES += log.c error.c unload.c config.c ctk-mouse.c \
clock.c mtarch.c mtarch-asm.S lc-asm.S \
- uip_arch.c ethernet-drv.c ethernet.c
+ uip_arch.c slip_arch.c ethernet-drv.c ethernet.c
ETHERNET_SOURCEFILES = cs8900a.S lan91c96.S w5100.S
diff --git a/cpu/6502/README.md b/cpu/6502/README.md
index 103631b58..13c7b7019 100644
--- a/cpu/6502/README.md
+++ b/cpu/6502/README.md
@@ -6,7 +6,7 @@ cc65 compiler [http://cc65.github.io/cc65/](http://cc65.github.io/cc65/).
The Contiki network configuration for 6502-based targets is loaded from a
binary configuration file (by default named contiki.cfg). It has the following
-format:
+format for Ethernet:
- Bytes 1 - 4: IP Address (HiByte first)
- Bytes 5 - 8: Subnet Mask (HiByte first)
@@ -15,10 +15,13 @@ format:
- Bytes 17 - 18: Ethernet card I/O address (LoByte first !)
- Bytes 19 - xx: Ethernet card driver name (ASCII / PETSCII)
-An online Contiki configuration file generator is available at two sites:
+It has the following format for SLIP (based on RS232 driver coming with cc65):
-- [http://www.a2retrosystems.com/contiki.html](http://www.a2retrosystems.com/contiki.html)
-- [http://contiki.cbm8bit.com](http://contiki.cbm8bit.com)
+- Bytes 1 - 4: IP Address (HiByte first)
+- Bytes 5 - 8: Subnet Mask (HiByte first)
+- Bytes 9 - 12: Default Router (HiByte first)
+- Bytes 13 - 16: DNS Server (HiByte first)
+- Bytes 17 - 21: struct ser_params (see cc65 serial.h)
The build for 6502-based machines includes the 'disk' make goal which creates a
bootable floppy disk image containing the project binary, a sample
@@ -32,6 +35,11 @@ make goal. The values of the high-level configuration macros are not tracked by
the build so a manual rebuild is necessary on any change. The following
high-level configuration macros may be set:
+- WITH_SLIP
+ - Default: 0
+ - Purpose: Use SLIP (based on RS232 driver coming with cc65) instead of
+ Ethernet.
+
- MTU_SIZE
- Default: 1500
- Purpose: Set the Maximum Transfer Unit size.
@@ -78,6 +86,10 @@ high-level configuration macros may be set:
- Default: 0
- Purpose: Enable CTK mouse support and load a mouse driver.
+- STATIC_MOUSE
+ - Default: N/A
+ - Purpose: Link mouse driver statically instead of loading it dynamically.
+
- WITH_ARGS
- Default: 0
- Purpose: Enable support for contiki_argc / contiki_argv.
diff --git a/cpu/6502/ctk/ctk-mouse.c b/cpu/6502/ctk/ctk-mouse.c
index e578dfb0a..c3a718dbc 100644
--- a/cpu/6502/ctk/ctk-mouse.c
+++ b/cpu/6502/ctk/ctk-mouse.c
@@ -49,6 +49,15 @@ static uint8_t okay;
void
ctk_mouse_init(void)
{
+#ifdef STATIC_MOUSE
+
+ okay = mouse_install(&mouse_def_callbacks, &STATIC_MOUSE) == MOUSE_ERR_OK;
+ if(okay) {
+ atexit((void (*)(void))mouse_uninstall);
+ }
+
+#else /* STATIC_MOUSE */
+
struct mod_ctrl module_control = {cfs_read};
module_control.callerdata = cfs_open("contiki.mou", CFS_READ);
@@ -65,6 +74,8 @@ ctk_mouse_init(void)
}
cfs_close(module_control.callerdata);
}
+
+#endif /* STATIC_MOUSE */
}
/*-----------------------------------------------------------------------------------*/
unsigned short
diff --git a/cpu/6502/ethconfig/ethconfig.c b/cpu/6502/ethconfig/ethconfig.c
index 8dd9dba2f..058f56a86 100644
--- a/cpu/6502/ethconfig/ethconfig.c
+++ b/cpu/6502/ethconfig/ethconfig.c
@@ -42,6 +42,7 @@ choose(uint8_t max)
exit(0);
}
+ putchar('\n');
return val - '0';
}
/*-----------------------------------------------------------------------------------*/
@@ -65,13 +66,13 @@ main(void)
d = choose(d) - 1;
#ifdef __APPLE2__
- printf("\nSlot (1-7)\n");
+ printf("Slot (1-7)\n");
drivers[d].address += choose(7) * 0x10;
#endif
f = cfs_open("contiki.cfg", CFS_WRITE);
if(f == -1) {
- printf("\nSaving Config - Error\n");
+ printf("Saving Config - Error\n");
return;
}
cfs_write(f, ipcfg, sizeof(ipcfg));
@@ -79,6 +80,6 @@ main(void)
cfs_write(f, drivers[d].driver, strlen(drivers[d].driver));
cfs_close(f);
- printf("\nSaving Config - Done\n");
+ printf("Saving Config - Done\n");
}
/*-----------------------------------------------------------------------------------*/
diff --git a/cpu/6502/lib/config.c b/cpu/6502/lib/config.c
index e1c2cecc6..b296f89df 100644
--- a/cpu/6502/lib/config.c
+++ b/cpu/6502/lib/config.c
@@ -39,7 +39,24 @@
#include "cfs/cfs.h"
#include "sys/log.h"
#include "lib/error.h"
-#include "net/ethernet-drv.h"
+
+#include "lib/config.h"
+
+struct {
+ uip_ipaddr_t hostaddr;
+ uip_ipaddr_t netmask;
+ uip_ipaddr_t draddr;
+ uip_ipaddr_t resolvaddr;
+ union {
+ struct {
+ uint16_t addr;
+#ifndef STATIC_DRIVER
+ char name[12+1];
+#endif /* !STATIC_DRIVER */
+ } ethernet;
+ uint8_t slip[5];
+ };
+} config;
/*-----------------------------------------------------------------------------------*/
#if LOG_CONF_ENABLED
@@ -59,16 +76,9 @@ ipaddrtoa(uip_ipaddr_t *ipaddr, char *buffer)
}
#endif /* LOG_CONF_ENABLED */
/*-----------------------------------------------------------------------------------*/
-struct ethernet_config *
+void
config_read(char *filename)
{
- static struct {
- uip_ipaddr_t hostaddr;
- uip_ipaddr_t netmask;
- uip_ipaddr_t draddr;
- uip_ipaddr_t resolvaddr;
- struct ethernet_config ethernetcfg;
- } config;
int file;
file = cfs_open(filename, CFS_READ);
@@ -77,29 +87,35 @@ config_read(char *filename)
error_exit();
}
- if(cfs_read(file, &config, sizeof(config)) < sizeof(config)
- - sizeof(config.ethernetcfg.name)) {
+ if(cfs_read(file, &config, sizeof(config)) < sizeof(uip_ipaddr_t) * 4
+ + sizeof(uint16_t)) {
log_message(filename, ": No config file");
error_exit();
}
cfs_close(file);
- log_message("IP Address: ", ipaddrtoa(&config.hostaddr, uip_buf));
- log_message("Subnet Mask: ", ipaddrtoa(&config.netmask, uip_buf));
- log_message("Def. Router: ", ipaddrtoa(&config.draddr, uip_buf));
- log_message("DNS Server: ", ipaddrtoa(&config.resolvaddr, uip_buf));
+ log_message("IP Address: ", ipaddrtoa(&config.hostaddr, uip_buf));
+ log_message("Subnet Mask: ", ipaddrtoa(&config.netmask, uip_buf));
+ log_message("Def. Router: ", ipaddrtoa(&config.draddr, uip_buf));
+ log_message("DNS Server: ", ipaddrtoa(&config.resolvaddr, uip_buf));
-#ifndef STATIC_DRIVER
- log_message("Eth. Driver: ", config.ethernetcfg.name);
-#else /* !STATIC_DRIVER */
+#ifdef STATIC_DRIVER
#define _stringize(arg) #arg
#define stringize(arg) _stringize(arg)
- log_message("Eth. Driver: ", stringize(ETHERNET));
+#if WITH_SLIP
+ log_message("SLIP Driver: ", stringize(STATIC_DRIVER));
+#else /* WITH_SLIP */
+ log_message("Eth. Driver: ", stringize(STATIC_DRIVER));
+#endif /* WITH_SLIP */
#undef _stringize
#undef stringize
-#endif /* !STATIC_DRIVER */
- log_message("Driver Port: $", utoa(config.ethernetcfg.addr, uip_buf, 16));
+#else /* STATIC_DRIVER */
+ log_message("Eth. Driver: ", config.ethernet.name);
+#endif /* STATIC_DRIVER */
+#if !WITH_SLIP
+ log_message("Driver Port: $", utoa(config.ethernet.addr, uip_buf, 16));
+#endif /* !WITH_SLIP */
uip_sethostaddr(&config.hostaddr);
uip_setnetmask(&config.netmask);
@@ -107,7 +123,5 @@ config_read(char *filename)
#if WITH_DNS
uip_nameserver_update(&config.resolvaddr, UIP_NAMESERVER_INFINITE_LIFETIME);
#endif /* WITH_DNS */
-
- return &config.ethernetcfg;
}
/*-----------------------------------------------------------------------------------*/
diff --git a/cpu/6502/lib/config.h b/cpu/6502/lib/config.h
index 11bc03463..af660f128 100644
--- a/cpu/6502/lib/config.h
+++ b/cpu/6502/lib/config.h
@@ -35,6 +35,22 @@
#ifndef CONFIG_H_
#define CONFIG_H_
-struct ethernet_config * config_read(char *filename);
+extern struct {
+ uip_ipaddr_t hostaddr;
+ uip_ipaddr_t netmask;
+ uip_ipaddr_t draddr;
+ uip_ipaddr_t resolvaddr;
+ union {
+ struct {
+ uint16_t addr;
+#ifndef STATIC_DRIVER
+ char name[12+1];
+#endif /* !STATIC_DRIVER */
+ } ethernet;
+ uint8_t slip[5];
+ };
+} config;
+
+void config_read(char *filename);
#endif /* CONFIG_H_ */
diff --git a/cpu/6502/net/ethernet-drv.c b/cpu/6502/net/ethernet-drv.c
index d5348e644..6c38fbeb5 100644
--- a/cpu/6502/net/ethernet-drv.c
+++ b/cpu/6502/net/ethernet-drv.c
@@ -92,7 +92,7 @@ PROCESS_THREAD(ethernet_process, ev, data)
PROCESS_BEGIN();
- ethernet_init((struct ethernet_config *)data);
+ ethernet_init();
tcpip_set_outputfunc(ethernet_output);
diff --git a/cpu/6502/net/ethernet-drv.h b/cpu/6502/net/ethernet-drv.h
index 4602e9fab..a6c8c3a89 100644
--- a/cpu/6502/net/ethernet-drv.h
+++ b/cpu/6502/net/ethernet-drv.h
@@ -35,11 +35,6 @@
#include "contiki.h"
-struct ethernet_config {
- uint16_t addr;
- char name[12+1];
-};
-
PROCESS_NAME(ethernet_process);
#if NETSTACK_CONF_WITH_IPV6
diff --git a/cpu/6502/net/ethernet.c b/cpu/6502/net/ethernet.c
index 54a7b4afd..3db36a500 100644
--- a/cpu/6502/net/ethernet.c
+++ b/cpu/6502/net/ethernet.c
@@ -38,7 +38,7 @@
#include "cfs/cfs.h"
#include "sys/log.h"
#include "lib/error.h"
-#include "net/ethernet-drv.h"
+#include "lib/config.h"
#include "net/ethernet.h"
@@ -59,25 +59,42 @@ struct {
/*---------------------------------------------------------------------------*/
void
-ethernet_init(struct ethernet_config *config)
+ethernet_init(void)
{
static const char signature[4] = {0x65, 0x74, 0x68, 0x01};
-#ifndef STATIC_DRIVER
+#ifdef STATIC_DRIVER
+
+ extern void STATIC_DRIVER;
+
+ module = &STATIC_DRIVER;
+
+ module->buffer = uip_buf;
+ module->buffer_size = UIP_BUFSIZE;
+ if(module->init(config.ethernet.addr)) {
+ #define _stringize(arg) #arg
+ #define stringize(arg) _stringize(arg)
+ log_message(stringize(STATIC_DRIVER), ": No hardware");
+ #undef _stringize
+ #undef stringize
+ error_exit();
+ }
+
+#else /* STATIC_DRIVER */
struct mod_ctrl module_control = {cfs_read};
uint8_t byte;
- module_control.callerdata = cfs_open(config->name, CFS_READ);
+ module_control.callerdata = cfs_open(config.ethernet.name, CFS_READ);
if(module_control.callerdata < 0) {
- log_message(config->name, ": File not found");
+ log_message(config.ethernet.name, ": File not found");
error_exit();
}
byte = mod_load(&module_control);
if(byte != MLOAD_OK) {
- log_message(config->name, byte == MLOAD_ERR_MEM? ": Out of memory":
- ": No module");
+ log_message(config.ethernet.name, byte == MLOAD_ERR_MEM? ": Out of memory":
+ ": No module");
error_exit();
}
@@ -86,26 +103,20 @@ ethernet_init(struct ethernet_config *config)
for(byte = 0; byte < 4; ++byte) {
if(module->signature[byte] != signature[byte]) {
- log_message(config->name, ": No ETH driver");
+ log_message(config.ethernet.name, ": No ETH driver");
error_exit();
}
}
-#else /* !STATIC_DRIVER */
-
- extern void STATIC_DRIVER;
-
- module = &STATIC_DRIVER;
-
-#endif /* !STATIC_DRIVER */
-
module->buffer = uip_buf;
module->buffer_size = UIP_BUFSIZE;
- if(module->init(config->addr)) {
- log_message(config->name, ": No hardware");
+ if(module->init(config.ethernet.addr)) {
+ log_message(config.ethernet.name, ": No hardware");
error_exit();
}
+#endif /* STATIC_DRIVER */
+
uip_setethaddr(module->ethernet_address);
}
/*---------------------------------------------------------------------------*/
diff --git a/cpu/6502/net/ethernet.h b/cpu/6502/net/ethernet.h
index ce06f6e7a..b2b62029e 100644
--- a/cpu/6502/net/ethernet.h
+++ b/cpu/6502/net/ethernet.h
@@ -35,7 +35,7 @@
#ifndef ETHERNET_H_
#define ETHERNET_H_
-void ethernet_init(struct ethernet_config *config);
+void ethernet_init(void);
uint16_t ethernet_poll(void);
void ethernet_send(void);
void ethernet_exit(void);
diff --git a/cpu/6502/net/slip_arch.c b/cpu/6502/net/slip_arch.c
new file mode 100644
index 000000000..53450805a
--- /dev/null
+++ b/cpu/6502/net/slip_arch.c
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2017, 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
+
+#include "contiki-net.h"
+#include "sys/log.h"
+#include "lib/error.h"
+#include "lib/config.h"
+
+#include "dev/slip.h"
+
+/*---------------------------------------------------------------------------*/
+void
+slip_arch_init(unsigned long ubr)
+{
+ unsigned err;
+
+#if WITH_SLIP
+ err = ser_install(STATIC_DRIVER);
+#endif /* WITH_SLIP */
+ if(err == SER_ERR_OK) {
+ err = ser_open((struct ser_params *)config.slip);
+ if(err == SER_ERR_OK)
+ atexit((void (*)(void))ser_close);
+ }
+ if(err != SER_ERR_OK) {
+ err += '0';
+ /* High byte of err serves as string termination. */
+ log_message("Serial init error code: ", (char *)&err);
+ error_exit();
+ }
+
+ tcpip_set_outputfunc(slip_send);
+}
+/*---------------------------------------------------------------------------*/
+void
+slip_arch_writeb(unsigned char c)
+{
+ while(ser_put(c) == SER_ERR_OVERFLOW)
+ ;
+}
+/*---------------------------------------------------------------------------*/
+void
+slip_arch_poll(void)
+{
+ static unsigned char c;
+
+ while(ser_get(&c) != SER_ERR_NO_DATA)
+ slip_input_byte(c);
+}
+/*---------------------------------------------------------------------------*/
diff --git a/cpu/6502/serconfig/Makefile b/cpu/6502/serconfig/Makefile
new file mode 100644
index 000000000..00e1373d0
--- /dev/null
+++ b/cpu/6502/serconfig/Makefile
@@ -0,0 +1,6 @@
+CONTIKI_PROJECT = serconfig
+all: $(CONTIKI_PROJECT)
+
+CONTIKI = ../../..
+CONTIKI_WITH_IPV4 = 1
+include $(CONTIKI)/Makefile.include
diff --git a/cpu/6502/serconfig/Makefile.c128.defines b/cpu/6502/serconfig/Makefile.c128.defines
new file mode 100644
index 000000000..0b150a411
--- /dev/null
+++ b/cpu/6502/serconfig/Makefile.c128.defines
@@ -0,0 +1 @@
+DEFINES = WITH_PFS
diff --git a/cpu/6502/serconfig/Makefile.c64.defines b/cpu/6502/serconfig/Makefile.c64.defines
new file mode 100644
index 000000000..0b150a411
--- /dev/null
+++ b/cpu/6502/serconfig/Makefile.c64.defines
@@ -0,0 +1 @@
+DEFINES = WITH_PFS
diff --git a/cpu/6502/serconfig/serconfig.c b/cpu/6502/serconfig/serconfig.c
new file mode 100644
index 000000000..178400517
--- /dev/null
+++ b/cpu/6502/serconfig/serconfig.c
@@ -0,0 +1,105 @@
+#include
+#include
+#include
+#include
+
+#include "cfs/cfs.h"
+
+static struct {
+ char *screen;
+ uint8_t value;
+} baud[] = {
+ {" 300 baud", SER_BAUD_300},
+ {" 600 baud", SER_BAUD_600},
+ {" 1200 baud", SER_BAUD_1200},
+ {" 2400 baud", SER_BAUD_2400},
+ {" 4800 baud", SER_BAUD_4800},
+ {" 9600 baud", SER_BAUD_9600},
+ {"19200 baud", SER_BAUD_19200}
+};
+
+static struct {
+ char *screen;
+ uint8_t value;
+} stop[] = {
+ {"1 stop bit", SER_STOP_1},
+ {"2 stop bits", SER_STOP_2}
+};
+
+static struct {
+ char *screen;
+ uint8_t value;
+} parity[] = {
+ {" No parity", SER_PAR_NONE},
+ {" Odd parity", SER_PAR_ODD},
+ {"Even parity", SER_PAR_EVEN}
+};
+
+uint8_t ipcfg[16];
+struct ser_params params;
+
+/*-----------------------------------------------------------------------------------*/
+uint8_t
+choose(uint8_t max)
+{
+ char val;
+
+ do {
+ printf("\n?");
+ val = getchar();
+ } while(val < '0' || val > max + '0');
+
+ putchar('\n');
+ if(val == '0') {
+ exit(0);
+ }
+
+ putchar('\n');
+ return val - '0';
+}
+/*-----------------------------------------------------------------------------------*/
+void
+main(void)
+{
+ int f;
+ uint8_t c;
+
+ f = cfs_open("contiki.cfg", CFS_READ);
+ if(f == -1) {
+ printf("Loading Config - Error\n");
+ return;
+ }
+ cfs_read(f, ipcfg, sizeof(ipcfg));
+ cfs_close(f);
+
+ for(c = 0; c < sizeof(baud) / sizeof(baud[0]); ++c) {
+ printf("%d: %s\n", c + 1, baud[c].screen);
+ }
+ params.baudrate = baud[choose(c) - 1].value;
+
+ params.databits = SER_BITS_8;
+
+ for(c = 0; c < sizeof(stop) / sizeof(stop[0]); ++c) {
+ printf("%d: %s\n", c + 1, stop[c].screen);
+ }
+ params.stopbits = stop[choose(c) - 1].value;
+
+ for(c = 0; c < sizeof(parity) / sizeof(parity[0]); ++c) {
+ printf("%d: %s\n", c + 1, parity[c].screen);
+ }
+ params.parity = parity[choose(c) - 1].value;
+
+ params.handshake = SER_HS_HW;
+
+ f = cfs_open("contiki.cfg", CFS_WRITE);
+ if(f == -1) {
+ printf("\nSaving Config - Error\n");
+ return;
+ }
+ cfs_write(f, ipcfg, sizeof(ipcfg));
+ cfs_write(f, ¶ms, sizeof(params));
+ cfs_close(f);
+
+ printf("Saving Config - Done\n");
+}
+/*-----------------------------------------------------------------------------------*/
diff --git a/platform/apple2enh/Makefile.apple2enh b/platform/apple2enh/Makefile.apple2enh
index 01734c6ea..65402bb24 100644
--- a/platform/apple2enh/Makefile.apple2enh
+++ b/platform/apple2enh/Makefile.apple2enh
@@ -31,6 +31,12 @@
# Author: Oliver Schmidt
#
+DEFINES += STATIC_MOUSE=a2e_stdmou_mou
+
+ifdef SLIP
+ DEFINES += STATIC_DRIVER=a2e_ssc_ser
+endif
+
CONTIKI_TARGET_SOURCEFILES += pfs.S
CONTIKI_CPU = $(CONTIKI)/cpu/6502
@@ -57,12 +63,13 @@ disk: all
cp $(CONTIKI)/tools/$(TARGET)/prodos.dsk contiki.dsk
java -jar $(AC) -p contiki.dsk contiki.system sys < $(CC65_TARGET_DIR)/util/loader.system
java -jar $(AC) -cc65 contiki.dsk contiki bin < $(CONTIKI_PROJECT).$(TARGET)
+ifdef SLIP
+ java -jar $(AC) -p contiki.dsk contiki.cfg bin 0 < $(CONTIKI)/tools/6502/sample.cfg
+else
java -jar $(AC) -p contiki.dsk contiki.cfg bin 0 < $(CONTIKI)/tools/$(TARGET)/sample.cfg
java -jar $(AC) -p contiki.dsk cs8900a.eth rel 0 < cs8900a.eth
java -jar $(AC) -p contiki.dsk lan91c96.eth rel 0 < lan91c96.eth
java -jar $(AC) -p contiki.dsk w5100.eth rel 0 < w5100.eth
-ifeq ($(findstring WITH_MOUSE,$(DEFINES)),WITH_MOUSE)
- java -jar $(AC) -p contiki.dsk contiki.mou rel 0 < $(CC65_TARGET_DIR)/drv/mou/a2e.stdmou.mou
endif
ifeq ($(HTTPD-CFS),1)
java -jar $(AC) -p contiki.dsk index.htm bin 0 < httpd-cfs/index.htm
diff --git a/platform/apple2enh/contiki-main.c b/platform/apple2enh/contiki-main.c
index f65a4fe94..545d9b7a2 100644
--- a/platform/apple2enh/contiki-main.c
+++ b/platform/apple2enh/contiki-main.c
@@ -36,8 +36,19 @@
#include "ctk/ctk.h"
#include "sys/log.h"
#include "lib/config.h"
+#include "dev/slip.h"
#include "net/ethernet-drv.h"
+#if WITH_SLIP
+#define DRIVER_PROCESS &slip_process,
+#define SLIP_INIT slip_arch_init(0);
+#define SLIP_POLL slip_arch_poll();
+#else /* WITH_SLIP */
+#define DRIVER_PROCESS ðernet_process,
+#define SLIP_INIT
+#define SLIP_POLL
+#endif /* WITH_SLIP */
+
#if WITH_GUI
#define CTK_PROCESS &ctk_process,
#else /* WITH_GUI */
@@ -52,12 +63,12 @@
PROCINIT(&etimer_process,
CTK_PROCESS
+ DRIVER_PROCESS
&tcpip_process
RESOLV_PROCESS);
-static struct ethernet_config *ethernet_config;
-
void clock_update(void);
+void slip_arch_poll(void);
/*-----------------------------------------------------------------------------------*/
#if WITH_ARGS
@@ -87,35 +98,12 @@ main(void)
videomode(VIDEOMODE_80COL);
#endif /* WITH_80COL */
+ config_read("contiki.cfg");
+
+ SLIP_INIT
+
process_init();
-
-#if 1
- ethernet_config = config_read("contiki.cfg");
-#else
- {
- static struct ethernet_config config = {0xC0B0, "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);
- uip_nameserver_update(&addr, UIP_NAMESERVER_INFINITE_LIFETIME);
-
- ethernet_config = &config;
- }
-#endif
-
procinit_init();
-
- process_start((struct process *)ðernet_process, (void *)ethernet_config);
-
autostart_start(autostart_processes);
log_message("Contiki up and running ...", "");
@@ -126,6 +114,8 @@ main(void)
etimer_request_poll();
+ SLIP_POLL
+
clock_update();
}
}
diff --git a/platform/atarixl/Makefile.atarixl b/platform/atarixl/Makefile.atarixl
index 2bb1d1edf..c32a558ed 100644
--- a/platform/atarixl/Makefile.atarixl
+++ b/platform/atarixl/Makefile.atarixl
@@ -31,7 +31,11 @@
# Author: Oliver Schmidt
#
-DEFINES += STATIC_DRIVER=cs8900a
+ifdef SLIP
+ DEFINES += STATIC_DRIVER=atrxrdev_ser
+else
+ DEFINES += STATIC_DRIVER=cs8900a
+endif
CONTIKI_CPU = $(CONTIKI)/cpu/6502
include $(CONTIKI_CPU)/Makefile.6502
@@ -54,7 +58,11 @@ disk: all
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
+ifdef SLIP
+ cp $(CONTIKI)/tools/6502/sample.cfg atr/contiki.cfg
+else
cp $(CONTIKI)/tools/$(TARGET)/sample.cfg atr/contiki.cfg
+endif
ifeq ($(findstring WITH_MOUSE,$(DEFINES)),WITH_MOUSE)
cp $(CC65_TARGET_DIR)/drv/mou/atrxst.mou atr/contiki.mou
endif
diff --git a/platform/atarixl/contiki-main.c b/platform/atarixl/contiki-main.c
index 91cb35367..fa4136dbd 100644
--- a/platform/atarixl/contiki-main.c
+++ b/platform/atarixl/contiki-main.c
@@ -36,8 +36,19 @@
#include "ctk/ctk.h"
#include "sys/log.h"
#include "lib/config.h"
+#include "dev/slip.h"
#include "net/ethernet-drv.h"
+#if WITH_SLIP
+#define DRIVER_PROCESS &slip_process,
+#define SLIP_INIT slip_arch_init(0);
+#define SLIP_POLL slip_arch_poll();
+#else /* WITH_SLIP */
+#define DRIVER_PROCESS ðernet_process,
+#define SLIP_INIT
+#define SLIP_POLL
+#endif /* WITH_SLIP */
+
#if WITH_GUI
#define CTK_PROCESS &ctk_process,
#else /* WITH_GUI */
@@ -52,10 +63,11 @@
PROCINIT(&etimer_process,
CTK_PROCESS
+ DRIVER_PROCESS
&tcpip_process
RESOLV_PROCESS);
-static struct ethernet_config *ethernet_config;
+void slip_arch_poll(void);
/*-----------------------------------------------------------------------------------*/
#if WITH_ARGS
@@ -81,35 +93,12 @@ main(void)
bordercolor(BORDERCOLOR);
bgcolor(SCREENCOLOR);
+ config_read("contiki.cfg");
+
+ SLIP_INIT
+
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);
- uip_nameserver_update(&addr, UIP_NAMESERVER_INFINITE_LIFETIME);
-
- ethernet_config = &config;
- }
-#endif
-
procinit_init();
-
- process_start((struct process *)ðernet_process, (void *)ethernet_config);
-
autostart_start(autostart_processes);
log_message("Contiki up and running ...", "");
@@ -119,6 +108,8 @@ main(void)
process_run();
etimer_request_poll();
+
+ SLIP_POLL
}
}
/*-----------------------------------------------------------------------------------*/
diff --git a/platform/c128/Makefile.c128 b/platform/c128/Makefile.c128
index c1adbaf08..bd1122c33 100644
--- a/platform/c128/Makefile.c128
+++ b/platform/c128/Makefile.c128
@@ -31,6 +31,10 @@
# Author: Oliver Schmidt
#
+ifdef SLIP
+ DEFINES += STATIC_DRIVER=c128_swlink_ser
+endif
+
CONTIKI_TARGET_SOURCEFILES += exec.c logscr.S lseek.c \
pfs.S pfs-dir.c pfs-dir-asm.S pfs_remove.S pfs_seek.S pfs_write.S
@@ -48,9 +52,13 @@ endif
disk: all
$(C1541) -format contiki,00 d71 contiki.d71
$(C1541) -attach contiki.d71 -write $(CONTIKI_PROJECT).$(TARGET) contiki,p
+ifdef SLIP
+ $(C1541) -attach contiki.d71 -write $(CONTIKI)/tools/6502/sample.cfg contiki.cfg,s
+else
$(C1541) -attach contiki.d71 -write $(CONTIKI)/tools/$(TARGET)/sample.cfg contiki.cfg,s
$(C1541) -attach contiki.d71 -write cs8900a.eth cs8900a.eth,s
$(C1541) -attach contiki.d71 -write lan91c96.eth lan91c96.eth,s
+endif
ifeq ($(findstring WITH_MOUSE,$(DEFINES)),WITH_MOUSE)
$(C1541) -attach contiki.d71 -write $(CC65_TARGET_DIR)/drv/mou/c128-1351.mou contiki.mou,s
endif
diff --git a/platform/c128/contiki-main.c b/platform/c128/contiki-main.c
index a1856d405..a6eef0176 100644
--- a/platform/c128/contiki-main.c
+++ b/platform/c128/contiki-main.c
@@ -36,8 +36,19 @@
#include "ctk/ctk.h"
#include "sys/log.h"
#include "lib/config.h"
+#include "dev/slip.h"
#include "net/ethernet-drv.h"
+#if WITH_SLIP
+#define DRIVER_PROCESS &slip_process,
+#define SLIP_INIT slip_arch_init(0);
+#define SLIP_POLL slip_arch_poll();
+#else /* WITH_SLIP */
+#define DRIVER_PROCESS ðernet_process,
+#define SLIP_INIT
+#define SLIP_POLL
+#endif /* WITH_SLIP */
+
#if WITH_GUI
#define CTK_PROCESS &ctk_process,
#else /* WITH_GUI */
@@ -52,10 +63,11 @@
PROCINIT(&etimer_process,
CTK_PROCESS
+ DRIVER_PROCESS
&tcpip_process
RESOLV_PROCESS);
-static struct ethernet_config *ethernet_config;
+void slip_arch_poll(void);
/*-----------------------------------------------------------------------------------*/
#if WITH_ARGS
@@ -81,35 +93,12 @@ main(void)
videomode(VIDEOMODE_80COL);
#endif /* WITH_80COL */
+ config_read("contiki.cfg");
+
+ SLIP_INIT
+
process_init();
-
-#if 1
- ethernet_config = config_read("contiki.cfg");
-#else
- {
- static struct ethernet_config config = {0xDE08, "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);
- uip_nameserver_update(&addr, UIP_NAMESERVER_INFINITE_LIFETIME);
-
- ethernet_config = &config;
- }
-#endif
-
procinit_init();
-
- process_start((struct process *)ðernet_process, (void *)ethernet_config);
-
autostart_start(autostart_processes);
log_message("Contiki up and running ...", "");
@@ -119,6 +108,8 @@ main(void)
process_run();
etimer_request_poll();
+
+ SLIP_POLL
}
}
/*-----------------------------------------------------------------------------------*/
diff --git a/platform/c64/Makefile.c64 b/platform/c64/Makefile.c64
index 7fcb4d19f..f1b8b09b8 100644
--- a/platform/c64/Makefile.c64
+++ b/platform/c64/Makefile.c64
@@ -31,6 +31,10 @@
# Author: Oliver Schmidt
#
+ifdef SLIP
+ DEFINES += STATIC_DRIVER=c64_swlink_ser
+endif
+
CONTIKI_TARGET_SOURCEFILES += exec.c logscr.S lseek.c \
pfs.S pfs-dir.c pfs-dir-asm.S pfs_remove.S pfs_seek.S pfs_write.S
@@ -52,9 +56,13 @@ endif
disk: all
$(C1541) -format contiki,00 d64 contiki.d64
$(C1541) -attach contiki.d64 -write $(CONTIKI_PROJECT).$(TARGET) contiki,p
+ifdef SLIP
+ $(C1541) -attach contiki.d64 -write $(CONTIKI)/tools/6502/sample.cfg contiki.cfg,s
+else
$(C1541) -attach contiki.d64 -write $(CONTIKI)/tools/$(TARGET)/sample.cfg contiki.cfg,s
$(C1541) -attach contiki.d64 -write cs8900a.eth cs8900a.eth,s
$(C1541) -attach contiki.d64 -write lan91c96.eth lan91c96.eth,s
+endif
ifeq ($(findstring WITH_MOUSE,$(DEFINES)),WITH_MOUSE)
$(C1541) -attach contiki.d64 -write $(CC65_TARGET_DIR)/drv/mou/c64-1351.mou contiki.mou,s
endif
diff --git a/platform/c64/contiki-main.c b/platform/c64/contiki-main.c
index f2b4aae18..30f9776ba 100644
--- a/platform/c64/contiki-main.c
+++ b/platform/c64/contiki-main.c
@@ -38,8 +38,19 @@
#include "ctk/ctk.h"
#include "sys/log.h"
#include "lib/config.h"
+#include "dev/slip.h"
#include "net/ethernet-drv.h"
+#if WITH_SLIP
+#define DRIVER_PROCESS &slip_process,
+#define SLIP_INIT slip_arch_init(0);
+#define SLIP_POLL slip_arch_poll();
+#else /* WITH_SLIP */
+#define DRIVER_PROCESS ðernet_process,
+#define SLIP_INIT
+#define SLIP_POLL
+#endif /* WITH_SLIP */
+
#if WITH_GUI
#define CTK_PROCESS &ctk_process,
#else /* WITH_GUI */
@@ -54,10 +65,11 @@
PROCINIT(&etimer_process,
CTK_PROCESS
+ DRIVER_PROCESS
&tcpip_process
RESOLV_PROCESS);
-static struct ethernet_config *ethernet_config;
+void slip_arch_poll(void);
/*-----------------------------------------------------------------------------------*/
#if WITH_ARGS
@@ -83,35 +95,12 @@ main(void)
_heapadd((void *)0x0400, 0x0400);
#endif /* WITH_80COL */
+ config_read("contiki.cfg");
+
+ SLIP_INIT
+
process_init();
-
-#if 1
- ethernet_config = config_read("contiki.cfg");
-#else
- {
- static struct ethernet_config config = {0xDE08, "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);
- uip_nameserver_update(&addr, UIP_NAMESERVER_INFINITE_LIFETIME);
-
- ethernet_config = &config;
- }
-#endif
-
procinit_init();
-
- process_start((struct process *)ðernet_process, (void *)ethernet_config);
-
autostart_start(autostart_processes);
log_message("Contiki up and running ...", "");
@@ -121,6 +110,8 @@ main(void)
process_run();
etimer_request_poll();
+
+ SLIP_POLL
}
}
/*-----------------------------------------------------------------------------------*/
diff --git a/tools/6502/Makefile b/tools/6502/Makefile
index fef30e632..8f845bf12 100644
--- a/tools/6502/Makefile
+++ b/tools/6502/Makefile
@@ -61,10 +61,16 @@ endif
CC65 := $(shell cl65 --print-target-path)
+ifdef SLIP
+DEV = ser
+else
+DEV = eth
+endif
+
define makes
.PHONY: $1-$2makes
$1-$2makes:
- $(MAKE) -C ../../cpu/6502/ethconfig TARGET=$1 $2
+ $(MAKE) -C ../../cpu/6502/$(DEV)config TARGET=$1 $2
$(MAKE) -C ../../cpu/6502/ipconfig TARGET=$1 $2
$(MAKE) -C ../../examples/webbrowser TARGET=$1 $2
$(MAKE) -C ../../examples/webbrowser-80col TARGET=$1 $2
@@ -93,83 +99,96 @@ contiki-apple2.zip: contiki-apple2-1.dsk contiki-apple2-2.dsk contiki-apple2-3.d
contiki-apple2-1.dsk: apple2enh-makes
cp ../apple2enh/prodos.dsk $@
- java -jar $(AC) -p $@ menu.system sys < ../apple2enh/menu.system
- java -jar $(AC) -p $@ ethconfi.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ ethconfi bin < ../../cpu/6502/ethconfig/ethconfig.apple2enh
- java -jar $(AC) -p $@ ipconfig.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ ipconfig bin < ../../cpu/6502/ipconfig/ipconfig.apple2enh
- java -jar $(AC) -p $@ webbrows.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ webbrows bin < ../../examples/webbrowser-80col/webbrowser.apple2enh
- java -jar $(AC) -p $@ wget.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ wget bin < ../../examples/wget/wget.apple2enh
- java -jar $(AC) -p $@ contiki.cfg bin 0 < ../apple2enh/default.cfg
- java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.eth
- java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.eth
- java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.eth
- java -jar $(AC) -p $@ contiki.mou rel 0 < $(CC65)/apple2enh/drv/mou/a2e.stdmou.mou
+ java -jar $(AC) -p $@ menu.system sys < ../apple2enh/menu.system
+ java -jar $(AC) -p $@ $(DEV)confi.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ $(DEV)confi bin < ../../cpu/6502/$(DEV)config/$(DEV)config.apple2enh
+ java -jar $(AC) -p $@ ipconfig.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ ipconfig bin < ../../cpu/6502/ipconfig/ipconfig.apple2enh
+ java -jar $(AC) -p $@ webbrows.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ webbrows bin < ../../examples/webbrowser-80col/webbrowser.apple2enh
+ java -jar $(AC) -p $@ wget.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ wget bin < ../../examples/wget/wget.apple2enh
+ifdef SLIP
+ java -jar $(AC) -p $@ contiki.cfg bin 0 < default.cfg
+else
+ java -jar $(AC) -p $@ contiki.cfg bin 0 < ../apple2enh/default.cfg
+ java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.eth
+ java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.eth
+ java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.eth
+endif
contiki-apple2-2.dsk: apple2enh-makes
cp ../apple2enh/prodos.dsk $@
- java -jar $(AC) -p $@ menu.system sys < ../apple2enh/menu.system
- java -jar $(AC) -p $@ ethconfi.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ ethconfi bin < ../../cpu/6502/ethconfig/ethconfig.apple2enh
- java -jar $(AC) -p $@ ipconfig.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ ipconfig bin < ../../cpu/6502/ipconfig/ipconfig.apple2enh
- java -jar $(AC) -p $@ irc.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ irc bin < ../../examples/irc-80col/irc-client.apple2enh
- java -jar $(AC) -p $@ contiki.cfg bin 0 < ../apple2enh/default.cfg
- java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.eth
- java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.eth
- java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.eth
- java -jar $(AC) -p $@ contiki.mou rel 0 < $(CC65)/apple2enh/drv/mou/a2e.stdmou.mou
+ java -jar $(AC) -p $@ menu.system sys < ../apple2enh/menu.system
+ java -jar $(AC) -p $@ $(DEV)confi.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ $(DEV)confi bin < ../../cpu/6502/$(DEV)config/$(DEV)config.apple2enh
+ java -jar $(AC) -p $@ ipconfig.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ ipconfig bin < ../../cpu/6502/ipconfig/ipconfig.apple2enh
+ java -jar $(AC) -p $@ irc.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ irc bin < ../../examples/irc-80col/irc-client.apple2enh
+ifdef SLIP
+ java -jar $(AC) -p $@ contiki.cfg bin 0 < default.cfg
+else
+ java -jar $(AC) -p $@ contiki.cfg bin 0 < ../apple2enh/default.cfg
+ java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.eth
+ java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.eth
+ java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.eth
+endif
contiki-apple2-3.dsk: apple2enh-makes
cp ../apple2enh/prodos.dsk $@
- java -jar $(AC) -p $@ menu.system sys < ../apple2enh/menu.system
- java -jar $(AC) -p $@ ethconfi.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ ethconfi bin < ../../cpu/6502/ethconfig/ethconfig.apple2enh
- java -jar $(AC) -p $@ ipconfig.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ ipconfig bin < ../../cpu/6502/ipconfig/ipconfig.apple2enh
- java -jar $(AC) -p $@ webserv.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ webserv bin < ../../examples/webserver/webserver-example.apple2enh
- java -jar $(AC) -p $@ telnetd.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ telnetd bin < ../../examples/telnet-server/telnet-server.apple2enh
- java -jar $(AC) -p $@ contiki.cfg bin 0 < ../apple2enh/default.cfg
- java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.eth
- java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.eth
- java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.eth
- java -jar $(AC) -p $@ contiki.mou rel 0 < $(CC65)/apple2enh/drv/mou/a2e.stdmou.mou
- java -jar $(AC) -p $@ index.htm bin 0 < ../../examples/webserver/httpd-cfs/index.htm
- java -jar $(AC) -p $@ backgrnd.gif bin 0 < ../../examples/webserver/httpd-cfs/backgrnd.gif
- java -jar $(AC) -p $@ contiki.gif bin 0 < ../../examples/webserver/httpd-cfs/contiki.gif
- java -jar $(AC) -p $@ notfound.htm bin 0 < ../../examples/webserver/httpd-cfs/notfound.htm
+ java -jar $(AC) -p $@ menu.system sys < ../apple2enh/menu.system
+ java -jar $(AC) -p $@ $(DEV)confi.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ $(DEV)confi bin < ../../cpu/6502/$(DEV)config/$(DEV)config.apple2enh
+ java -jar $(AC) -p $@ ipconfig.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ ipconfig bin < ../../cpu/6502/ipconfig/ipconfig.apple2enh
+ java -jar $(AC) -p $@ webserv.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ webserv bin < ../../examples/webserver/webserver-example.apple2enh
+ java -jar $(AC) -p $@ telnetd.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ telnetd bin < ../../examples/telnet-server/telnet-server.apple2enh
+ifdef SLIP
+ java -jar $(AC) -p $@ contiki.cfg bin 0 < default.cfg
+else
+ java -jar $(AC) -p $@ contiki.cfg bin 0 < ../apple2enh/default.cfg
+ java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.eth
+ java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.eth
+ java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.eth
+endif
+ java -jar $(AC) -p $@ index.htm bin 0 < ../../examples/webserver/httpd-cfs/index.htm
+ java -jar $(AC) -p $@ backgrnd.gif bin 0 < ../../examples/webserver/httpd-cfs/backgrnd.gif
+ java -jar $(AC) -p $@ contiki.gif bin 0 < ../../examples/webserver/httpd-cfs/contiki.gif
+ java -jar $(AC) -p $@ notfound.htm bin 0 < ../../examples/webserver/httpd-cfs/notfound.htm
contiki-apple2.po: apple2enh-makes
cp ../apple2enh/prodos.po $@
- java -jar $(AC) -p $@ menu.system sys < ../apple2enh/menu.system
- java -jar $(AC) -p $@ ethconfi.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ ethconfi bin < ../../cpu/6502/ethconfig/ethconfig.apple2enh
- java -jar $(AC) -p $@ ipconfig.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ ipconfig bin < ../../cpu/6502/ipconfig/ipconfig.apple2enh
- java -jar $(AC) -p $@ webbrows.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ webbrows bin < ../../examples/webbrowser-80col/webbrowser.apple2enh
- java -jar $(AC) -p $@ wget.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ wget bin < ../../examples/wget/wget.apple2enh
- java -jar $(AC) -p $@ irc.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ irc bin < ../../examples/irc-80col/irc-client.apple2enh
- java -jar $(AC) -p $@ webserv.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ webserv bin < ../../examples/webserver/webserver-example.apple2enh
- java -jar $(AC) -p $@ telnetd.system sys < $(CC65)/apple2enh/util/loader.system
- java -jar $(AC) -cc65 $@ telnetd bin < ../../examples/telnet-server/telnet-server.apple2enh
- java -jar $(AC) -p $@ contiki.cfg bin 0 < ../apple2enh/default.cfg
- java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.eth
- java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.eth
- java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.eth
- java -jar $(AC) -p $@ contiki.mou rel 0 < $(CC65)/apple2enh/drv/mou/a2e.stdmou.mou
- java -jar $(AC) -p $@ index.htm bin 0 < ../../examples/webserver/httpd-cfs/index.htm
- java -jar $(AC) -p $@ backgrnd.gif bin 0 < ../../examples/webserver/httpd-cfs/backgrnd.gif
- java -jar $(AC) -p $@ contiki.gif bin 0 < ../../examples/webserver/httpd-cfs/contiki.gif
- java -jar $(AC) -p $@ notfound.htm bin 0 < ../../examples/webserver/httpd-cfs/notfound.htm
+ java -jar $(AC) -p $@ menu.system sys < ../apple2enh/menu.system
+ java -jar $(AC) -p $@ $(DEV)confi.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ $(DEV)confi bin < ../../cpu/6502/$(DEV)config/$(DEV)config.apple2enh
+ java -jar $(AC) -p $@ ipconfig.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ ipconfig bin < ../../cpu/6502/ipconfig/ipconfig.apple2enh
+ java -jar $(AC) -p $@ webbrows.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ webbrows bin < ../../examples/webbrowser-80col/webbrowser.apple2enh
+ java -jar $(AC) -p $@ wget.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ wget bin < ../../examples/wget/wget.apple2enh
+ java -jar $(AC) -p $@ irc.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ irc bin < ../../examples/irc-80col/irc-client.apple2enh
+ java -jar $(AC) -p $@ webserv.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ webserv bin < ../../examples/webserver/webserver-example.apple2enh
+ java -jar $(AC) -p $@ telnetd.system sys < $(CC65)/apple2enh/util/loader.system
+ java -jar $(AC) -cc65 $@ telnetd bin < ../../examples/telnet-server/telnet-server.apple2enh
+ifdef SLIP
+ java -jar $(AC) -p $@ contiki.cfg bin 0 < default.cfg
+else
+ java -jar $(AC) -p $@ contiki.cfg bin 0 < ../apple2enh/default.cfg
+ java -jar $(AC) -p $@ cs8900a.eth rel 0 < ../../cpu/6502/ethconfig/cs8900a.eth
+ java -jar $(AC) -p $@ lan91c96.eth rel 0 < ../../cpu/6502/ethconfig/lan91c96.eth
+ java -jar $(AC) -p $@ w5100.eth rel 0 < ../../cpu/6502/ethconfig/w5100.eth
+endif
+ java -jar $(AC) -p $@ contiki.mou rel 0 < $(CC65)/apple2enh/drv/mou/a2e.stdmou.mou
+ java -jar $(AC) -p $@ index.htm bin 0 < ../../examples/webserver/httpd-cfs/index.htm
+ java -jar $(AC) -p $@ backgrnd.gif bin 0 < ../../examples/webserver/httpd-cfs/backgrnd.gif
+ java -jar $(AC) -p $@ contiki.gif bin 0 < ../../examples/webserver/httpd-cfs/contiki.gif
+ java -jar $(AC) -p $@ notfound.htm bin 0 < ../../examples/webserver/httpd-cfs/notfound.htm
$(eval $(call makes,atarixl))
$(eval $(call makes,atarixl,clean))
@@ -185,10 +204,17 @@ contiki-atari-1.atr: atarixl-makes
mkdir atr
cp ../atarixl/dos25/dos.sys atr/dos.sys
cp ../atarixl/dos25/dup.sys atr/dup.sys
+ifdef SLIP
+ cp ../../cpu/6502/serconfig/serconfig.atarixl atr/serconfi.com
+endif
cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com
cp ../../examples/webbrowser/webbrowser.atarixl atr/webbrows.com
cp ../../examples/wget/wget.atarixl atr/wget.com
+ifdef SLIP
+ cp default.cfg atr/contiki.cfg
+else
cp ../atarixl/default.cfg atr/contiki.cfg
+endif
cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou
cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou
cp $(CC65)/atarixl/drv/mou/atrxjoy.mou atr/joy.mou
@@ -199,16 +225,23 @@ contiki-atari-1.atr: atarixl-makes
contiki-atari-2.atr: atarixl-makes
mkdir atr
- cp ../atarixl/dos25/dos.sys atr/dos.sys
- cp ../atarixl/dos25/dup.sys atr/dup.sys
- cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com
- cp ../../examples/irc/irc-client.atarixl atr/irc.com
- cp ../atarixl/default.cfg atr/contiki.cfg
- cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou
- cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou
- cp $(CC65)/atarixl/drv/mou/atrxjoy.mou atr/joy.mou
- cp $(CC65)/atarixl/drv/mou/atrxtrk.mou atr/trk.mou
- cp $(CC65)/atarixl/drv/mou/atrxtt.mou atr/tt.mou
+ cp ../atarixl/dos25/dos.sys atr/dos.sys
+ cp ../atarixl/dos25/dup.sys atr/dup.sys
+ifdef SLIP
+ cp ../../cpu/6502/serconfig/serconfig.atarixl atr/serconfi.com
+endif
+ cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com
+ cp ../../examples/irc/irc-client.atarixl atr/irc.com
+ifdef SLIP
+ cp default.cfg atr/contiki.cfg
+else
+ cp ../atarixl/default.cfg atr/contiki.cfg
+endif
+ cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou
+ cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou
+ cp $(CC65)/atarixl/drv/mou/atrxjoy.mou atr/joy.mou
+ cp $(CC65)/atarixl/drv/mou/atrxtrk.mou atr/trk.mou
+ cp $(CC65)/atarixl/drv/mou/atrxtt.mou atr/tt.mou
$(DIR2ATR) -b Dos25 1040 $@ atr
rm -r atr
@@ -216,10 +249,17 @@ contiki-atari-3.atr: atarixl-makes
mkdir atr
cp ../atarixl/dos25/dos.sys atr/dos.sys
cp ../atarixl/dos25/dup.sys atr/dup.sys
+ifdef SLIP
+ cp ../../cpu/6502/serconfig/serconfig.atarixl atr/serconfi.com
+endif
cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com
cp ../../examples/webserver/webserver-example.atarixl atr/webserv.com
cp ../../examples/telnet-server/telnet-server.atarixl atr/telnetd.com
+ifdef SLIP
+ cp default.cfg atr/contiki.cfg
+else
cp ../atarixl/default.cfg atr/contiki.cfg
+endif
cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou
cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou
cp $(CC65)/atarixl/drv/mou/atrxjoy.mou atr/joy.mou
@@ -236,13 +276,20 @@ contiki-atari.atr: atarixl-makes
mkdir atr
cp ../atarixl/mydos4534/dos.sys atr/dos.sys
cp ../atarixl/mydos4534/dup.sys atr/dup.sys
+ifdef SLIP
+ cp ../../cpu/6502/serconfig/serconfig.atarixl atr/serconfi.com
+endif
cp ../../cpu/6502/ipconfig/ipconfig.atarixl atr/ipconfig.com
cp ../../examples/webbrowser/webbrowser.atarixl atr/webbrows.com
cp ../../examples/wget/wget.atarixl atr/wget.com
cp ../../examples/irc/irc-client.atarixl atr/irc.com
cp ../../examples/webserver/webserver-example.atarixl atr/webserv.com
cp ../../examples/telnet-server/telnet-server.atarixl atr/telnetd.com
+ifdef SLIP
+ cp default.cfg atr/contiki.cfg
+else
cp ../atarixl/default.cfg atr/contiki.cfg
+endif
cp $(CC65)/atarixl/drv/mou/atrxst.mou atr/contiki.mou
cp $(CC65)/atarixl/drv/mou/atrxami.mou atr/ami.mou
cp $(CC65)/atarixl/drv/mou/atrxjoy.mou atr/joy.mou
@@ -267,14 +314,18 @@ contiki-c64.zip: contiki-c64-1.d64 contiki-c64-2.d64 contiki-c64-3.d64 contiki-c
contiki-c64-1.d64: c64-makes
$(C1541) -format contiki-1,00 d64 $@
- $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../cpu/6502/$(DEV)config/$(DEV)config.c64 $(DEV)config,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webbrowser/webbrowser.c64 webbrowser,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webbrowser-80col/webbrowser.c64 webbrowser80,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/wget/wget.c64 wget,p >$(NULLDEV)
+ifdef SLIP
+ $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV)
+else
$(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV)
+endif
$(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-1351.mou contiki.mou,s >$(NULLDEV)
$(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-inkwell.mou inkwell.mou,s >$(NULLDEV)
$(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-joy.mou joy.mou,s >$(NULLDEV)
@@ -282,27 +333,35 @@ contiki-c64-1.d64: c64-makes
contiki-c64-2.d64: c64-makes
$(C1541) -format contiki-2,00 d64 $@
- $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p >$(NULLDEV)
- $(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p >$(NULLDEV)
- $(C1541) -attach $@ -write ../../examples/irc/irc-client.c64 irc,p >$(NULLDEV)
- $(C1541) -attach $@ -write ../../examples/irc-80col/irc-client.c64 irc80,p >$(NULLDEV)
- $(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s >$(NULLDEV)
- $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV)
- $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV)
- $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-1351.mou contiki.mou,s >$(NULLDEV)
- $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-inkwell.mou inkwell.mou,s >$(NULLDEV)
- $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-joy.mou joy.mou,s >$(NULLDEV)
- $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-pot.mou pot.mou,s >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../cpu/6502/$(DEV)config/$(DEV)config.c64 $(DEV)config,p >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../examples/irc/irc-client.c64 irc,p >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../examples/irc-80col/irc-client.c64 irc80,p >$(NULLDEV)
+ifdef SLIP
+ $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV)
+else
+ $(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV)
+endif
+ $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-1351.mou contiki.mou,s >$(NULLDEV)
+ $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-inkwell.mou inkwell.mou,s >$(NULLDEV)
+ $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-joy.mou joy.mou,s >$(NULLDEV)
+ $(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-pot.mou pot.mou,s >$(NULLDEV)
contiki-c64-3.d64: c64-makes
$(C1541) -format contiki-3,00 d64 $@
- $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../cpu/6502/$(DEV)config/$(DEV)config.c64 $(DEV)config,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webserver/webserver-example.c64 webserver,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/telnet-server/telnet-server.c64 telnetd,p >$(NULLDEV)
+ifdef SLIP
+ $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV)
+else
$(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV)
+endif
$(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-1351.mou contiki.mou,s >$(NULLDEV)
$(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-inkwell.mou inkwell.mou,s >$(NULLDEV)
$(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-joy.mou joy.mou,s >$(NULLDEV)
@@ -314,7 +373,7 @@ contiki-c64-3.d64: c64-makes
contiki-c64.d71: c64-makes
$(C1541) -format contiki,00 d71 $@
- $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../cpu/6502/$(DEV)config/$(DEV)config.c64 $(DEV)config,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webbrowser/webbrowser.c64 webbrowser,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webbrowser-80col/webbrowser.c64 webbrowser80,p >$(NULLDEV)
@@ -323,9 +382,13 @@ contiki-c64.d71: c64-makes
$(C1541) -attach $@ -write ../../examples/irc-80col/irc-client.c64 irc80,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webserver/webserver-example.c64 webserver,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/telnet-server/telnet-server.c64 telnetd,p >$(NULLDEV)
+ifdef SLIP
+ $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV)
+else
$(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV)
+endif
$(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-1351.mou contiki.mou,s >$(NULLDEV)
$(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-inkwell.mou inkwell.mou,s >$(NULLDEV)
$(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-joy.mou joy.mou,s >$(NULLDEV)
@@ -337,7 +400,7 @@ contiki-c64.d71: c64-makes
contiki-c64.d81: c64-makes
$(C1541) -format contiki,00 d81 $@
- $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c64 ethconfig,p >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../cpu/6502/$(DEV)config/$(DEV)config.c64 $(DEV)config,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c64 ipconfig,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webbrowser/webbrowser.c64 webbrowser,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webbrowser-80col/webbrowser.c64 webbrowser80,p >$(NULLDEV)
@@ -346,9 +409,13 @@ contiki-c64.d81: c64-makes
$(C1541) -attach $@ -write ../../examples/irc-80col/irc-client.c64 irc80,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webserver/webserver-example.c64 webserver,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/telnet-server/telnet-server.c64 telnetd,p >$(NULLDEV)
+ifdef SLIP
+ $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV)
+else
$(C1541) -attach $@ -write ../c64/default.cfg contiki.cfg,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV)
+endif
$(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-1351.mou contiki.mou,s >$(NULLDEV)
$(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-inkwell.mou inkwell.mou,s >$(NULLDEV)
$(C1541) -attach $@ -write $(CC65)/c64/drv/mou/c64-joy.mou joy.mou,s >$(NULLDEV)
@@ -370,24 +437,32 @@ contiki-c128.zip: contiki-c128-1.d64 contiki-c128-2.d64 contiki-c128.d71 contiki
contiki-c128-1.d64: c128-makes
$(C1541) -format contiki-1,00 d64 $@
- $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c128 ethconfig,p >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../cpu/6502/$(DEV)config/$(DEV)config.c128 $(DEV)config,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c128 ipconfig,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webbrowser-80col/webbrowser.c128 webbrowser,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/wget/wget.c128 wget,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/irc-80col/irc-client.c128 irc,p >$(NULLDEV)
+ifdef SLIP
+ $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV)
+else
$(C1541) -attach $@ -write ../c128/default.cfg contiki.cfg,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV)
+endif
contiki-c128-2.d64: c128-makes
$(C1541) -format contiki-3,00 d64 $@
- $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c128 ethconfig,p >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../cpu/6502/$(DEV)config/$(DEV)config.c128 $(DEV)config,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c128 ipconfig,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webserver/webserver-example.c128 webserver,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/telnet-server/telnet-server.c128 telnetd,p >$(NULLDEV)
+ifdef SLIP
+ $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV)
+else
$(C1541) -attach $@ -write ../c128/default.cfg contiki.cfg,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV)
+endif
$(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/index.htm index.htm,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/backgrnd.gif backgrnd.gif,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/contiki.gif contiki.gif,s >$(NULLDEV)
@@ -395,16 +470,20 @@ contiki-c128-2.d64: c128-makes
contiki-c128.d71: c128-makes
$(C1541) -format contiki,00 d71 $@
- $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c128 ethconfig,p >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../cpu/6502/$(DEV)config/$(DEV)config.c128 $(DEV)config,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c128 ipconfig,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webbrowser-80col/webbrowser.c128 webbrowser,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/wget/wget.c128 wget,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/irc-80col/irc-client.c128 irc,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webserver/webserver-example.c128 webserver,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/telnet-server/telnet-server.c128 telnetd,p >$(NULLDEV)
+ifdef SLIP
+ $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV)
+else
$(C1541) -attach $@ -write ../c128/default.cfg contiki.cfg,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV)
+endif
$(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/index.htm index.htm,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/backgrnd.gif backgrnd.gif,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/contiki.gif contiki.gif,s >$(NULLDEV)
@@ -412,16 +491,20 @@ contiki-c128.d71: c128-makes
contiki-c128.d81: c128-makes
$(C1541) -format contiki,00 d81 $@
- $(C1541) -attach $@ -write ../../cpu/6502/ethconfig/ethconfig.c128 ethconfig,p >$(NULLDEV)
+ $(C1541) -attach $@ -write ../../cpu/6502/$(DEV)config/$(DEV)config.c128 $(DEV)config,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ipconfig/ipconfig.c128 ipconfig,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webbrowser-80col/webbrowser.c128 webbrowser,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/wget/wget.c128 wget,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/irc-80col/irc-client.c128 irc,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webserver/webserver-example.c128 webserver,p >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/telnet-server/telnet-server.c128 telnetd,p >$(NULLDEV)
+ifdef SLIP
+ $(C1541) -attach $@ -write default.cfg contiki.cfg,s >$(NULLDEV)
+else
$(C1541) -attach $@ -write ../c128/default.cfg contiki.cfg,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/cs8900a.eth cs8900a.eth,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../cpu/6502/ethconfig/lan91c96.eth lan91c96.eth,s >$(NULLDEV)
+endif
$(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/index.htm index.htm,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/backgrnd.gif backgrnd.gif,s >$(NULLDEV)
$(C1541) -attach $@ -write ../../examples/webserver/httpd-cfs/contiki.gif contiki.gif,s >$(NULLDEV)
diff --git a/tools/6502/default.cfg b/tools/6502/default.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..f6c0401fc7ac252720fce8ef3be45574c9b8127c
GIT binary patch
literal 21
PcmZQzKm~lv3=E6_0B8Uc
literal 0
HcmV?d00001
diff --git a/tools/6502/sample.cfg b/tools/6502/sample.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..1a40699e44dd8ed5550eb9f0856257116f4a49ee
GIT binary patch
literal 21
acmX@Gf+7F^|NjgJRxmJvFds7m10w)(mIt{2
literal 0
HcmV?d00001
From 79855ff02d88faba095f2b4a478bd7d08194a345 Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Sat, 18 Mar 2017 14:05:36 +0100
Subject: [PATCH 2/4] Beautified SLIP macros.
---
platform/apple2enh/contiki-main.c | 12 ++++++------
platform/atarixl/contiki-main.c | 12 ++++++------
platform/c64/contiki-main.c | 12 ++++++------
3 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/platform/apple2enh/contiki-main.c b/platform/apple2enh/contiki-main.c
index 545d9b7a2..35d84aabd 100644
--- a/platform/apple2enh/contiki-main.c
+++ b/platform/apple2enh/contiki-main.c
@@ -41,12 +41,12 @@
#if WITH_SLIP
#define DRIVER_PROCESS &slip_process,
-#define SLIP_INIT slip_arch_init(0);
-#define SLIP_POLL slip_arch_poll();
+#define SLIP_INIT() slip_arch_init(0)
+#define SLIP_POLL() slip_arch_poll()
#else /* WITH_SLIP */
#define DRIVER_PROCESS ðernet_process,
-#define SLIP_INIT
-#define SLIP_POLL
+#define SLIP_INIT()
+#define SLIP_POLL()
#endif /* WITH_SLIP */
#if WITH_GUI
@@ -100,7 +100,7 @@ main(void)
config_read("contiki.cfg");
- SLIP_INIT
+ SLIP_INIT();
process_init();
procinit_init();
@@ -114,7 +114,7 @@ main(void)
etimer_request_poll();
- SLIP_POLL
+ SLIP_POLL();
clock_update();
}
diff --git a/platform/atarixl/contiki-main.c b/platform/atarixl/contiki-main.c
index fa4136dbd..9eadee59b 100644
--- a/platform/atarixl/contiki-main.c
+++ b/platform/atarixl/contiki-main.c
@@ -41,12 +41,12 @@
#if WITH_SLIP
#define DRIVER_PROCESS &slip_process,
-#define SLIP_INIT slip_arch_init(0);
-#define SLIP_POLL slip_arch_poll();
+#define SLIP_INIT() slip_arch_init(0)
+#define SLIP_POLL() slip_arch_poll()
#else /* WITH_SLIP */
#define DRIVER_PROCESS ðernet_process,
-#define SLIP_INIT
-#define SLIP_POLL
+#define SLIP_INIT()
+#define SLIP_POLL()
#endif /* WITH_SLIP */
#if WITH_GUI
@@ -95,7 +95,7 @@ main(void)
config_read("contiki.cfg");
- SLIP_INIT
+ SLIP_INIT();
process_init();
procinit_init();
@@ -109,7 +109,7 @@ main(void)
etimer_request_poll();
- SLIP_POLL
+ SLIP_POLL();
}
}
/*-----------------------------------------------------------------------------------*/
diff --git a/platform/c64/contiki-main.c b/platform/c64/contiki-main.c
index 30f9776ba..91bf73804 100644
--- a/platform/c64/contiki-main.c
+++ b/platform/c64/contiki-main.c
@@ -43,12 +43,12 @@
#if WITH_SLIP
#define DRIVER_PROCESS &slip_process,
-#define SLIP_INIT slip_arch_init(0);
-#define SLIP_POLL slip_arch_poll();
+#define SLIP_INIT() slip_arch_init(0)
+#define SLIP_POLL() slip_arch_poll()
#else /* WITH_SLIP */
#define DRIVER_PROCESS ðernet_process,
-#define SLIP_INIT
-#define SLIP_POLL
+#define SLIP_INIT()
+#define SLIP_POLL()
#endif /* WITH_SLIP */
#if WITH_GUI
@@ -97,7 +97,7 @@ main(void)
config_read("contiki.cfg");
- SLIP_INIT
+ SLIP_INIT();
process_init();
procinit_init();
@@ -111,7 +111,7 @@ main(void)
etimer_request_poll();
- SLIP_POLL
+ SLIP_POLL();
}
}
/*-----------------------------------------------------------------------------------*/
From a0134ff35efc7dd635ba8af45b7de5c0290bf680 Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Sat, 18 Mar 2017 14:06:11 +0100
Subject: [PATCH 3/4] Beautified SLIP macros.
---
platform/c128/contiki-main.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/platform/c128/contiki-main.c b/platform/c128/contiki-main.c
index a6eef0176..940601e9b 100644
--- a/platform/c128/contiki-main.c
+++ b/platform/c128/contiki-main.c
@@ -41,12 +41,12 @@
#if WITH_SLIP
#define DRIVER_PROCESS &slip_process,
-#define SLIP_INIT slip_arch_init(0);
-#define SLIP_POLL slip_arch_poll();
+#define SLIP_INIT() slip_arch_init(0)
+#define SLIP_POLL() slip_arch_poll()
#else /* WITH_SLIP */
#define DRIVER_PROCESS ðernet_process,
-#define SLIP_INIT
-#define SLIP_POLL
+#define SLIP_INIT()
+#define SLIP_POLL()
#endif /* WITH_SLIP */
#if WITH_GUI
@@ -95,7 +95,7 @@ main(void)
config_read("contiki.cfg");
- SLIP_INIT
+ SLIP_INIT();
process_init();
procinit_init();
@@ -109,7 +109,7 @@ main(void)
etimer_request_poll();
- SLIP_POLL
+ SLIP_POLL();
}
}
/*-----------------------------------------------------------------------------------*/
From 7f3fcbd8e7b3f1c4d8d7c7aa2a40128e0cc20ddd Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Sat, 18 Mar 2017 14:19:36 +0100
Subject: [PATCH 4/4] Made it somewhat more obvious that this is SLIP-only.
---
cpu/6502/net/slip_arch.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cpu/6502/net/slip_arch.c b/cpu/6502/net/slip_arch.c
index 53450805a..8ca846800 100644
--- a/cpu/6502/net/slip_arch.c
+++ b/cpu/6502/net/slip_arch.c
@@ -42,15 +42,14 @@
#include "dev/slip.h"
+#if WITH_SLIP
/*---------------------------------------------------------------------------*/
void
slip_arch_init(unsigned long ubr)
{
unsigned err;
-#if WITH_SLIP
err = ser_install(STATIC_DRIVER);
-#endif /* WITH_SLIP */
if(err == SER_ERR_OK) {
err = ser_open((struct ser_params *)config.slip);
if(err == SER_ERR_OK)
@@ -82,3 +81,4 @@ slip_arch_poll(void)
slip_input_byte(c);
}
/*---------------------------------------------------------------------------*/
+#endif /* WITH_SLIP */