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.
This commit is contained in:
Oliver Schmidt 2017-02-15 23:43:28 +01:00
parent a26ee64dc0
commit 91beb8670f
27 changed files with 615 additions and 272 deletions

View file

@ -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 */

View file

@ -31,6 +31,10 @@
# Author: Oliver Schmidt <ol.sc@web.de>
#
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

View file

@ -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.

View file

@ -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

View file

@ -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");
}
/*-----------------------------------------------------------------------------------*/

View file

@ -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,8 +87,8 @@ 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();
}
@ -90,16 +100,22 @@ config_read(char *filename)
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;
}
/*-----------------------------------------------------------------------------------*/

View file

@ -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_ */

View file

@ -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);

View file

@ -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

View file

@ -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,24 +59,41 @@ 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":
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);
}
/*---------------------------------------------------------------------------*/

View file

@ -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);

84
cpu/6502/net/slip_arch.c Normal file
View file

@ -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 <ol.sc@web.de>
*
*/
#include <serial.h>
#include <stdlib.h>
#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);
}
/*---------------------------------------------------------------------------*/

View file

@ -0,0 +1,6 @@
CONTIKI_PROJECT = serconfig
all: $(CONTIKI_PROJECT)
CONTIKI = ../../..
CONTIKI_WITH_IPV4 = 1
include $(CONTIKI)/Makefile.include

View file

@ -0,0 +1 @@
DEFINES = WITH_PFS

View file

@ -0,0 +1 @@
DEFINES = WITH_PFS

View file

@ -0,0 +1,105 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <serial.h>
#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, &params, sizeof(params));
cfs_close(f);
printf("Saving Config - Done\n");
}
/*-----------------------------------------------------------------------------------*/

View file

@ -31,6 +31,12 @@
# Author: Oliver Schmidt <ol.sc@web.de>
#
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

View file

@ -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 &ethernet_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 *)&ethernet_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();
}
}

View file

@ -31,7 +31,11 @@
# Author: Oliver Schmidt <ol.sc@web.de>
#
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

View file

@ -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 &ethernet_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 *)&ethernet_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
}
}
/*-----------------------------------------------------------------------------------*/

View file

@ -31,6 +31,10 @@
# Author: Oliver Schmidt <ol.sc@web.de>
#
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

View file

@ -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 &ethernet_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 *)&ethernet_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
}
}
/*-----------------------------------------------------------------------------------*/

View file

@ -31,6 +31,10 @@
# Author: Oliver Schmidt <ol.sc@web.de>
#
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

View file

@ -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 &ethernet_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 *)&ethernet_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
}
}
/*-----------------------------------------------------------------------------------*/

View file

@ -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
@ -94,51 +100,60 @@ 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 $@ $(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
java -jar $(AC) -p $@ contiki.mou rel 0 < $(CC65)/apple2enh/drv/mou/a2e.stdmou.mou
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 $@ $(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
java -jar $(AC) -p $@ contiki.mou rel 0 < $(CC65)/apple2enh/drv/mou/a2e.stdmou.mou
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 $@ $(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
java -jar $(AC) -p $@ contiki.mou rel 0 < $(CC65)/apple2enh/drv/mou/a2e.stdmou.mou
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
@ -147,8 +162,8 @@ contiki-apple2-3.dsk: apple2enh-makes
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 $@ $(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
@ -161,10 +176,14 @@ contiki-apple2.po: apple2enh-makes
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
@ -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
@ -201,9 +227,16 @@ contiki-atari-2.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/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
@ -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,13 +333,17 @@ 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/$(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)
@ -296,13 +351,17 @@ contiki-c64-2.d64: c64-makes
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)

BIN
tools/6502/default.cfg Normal file

Binary file not shown.

BIN
tools/6502/sample.cfg Normal file

Binary file not shown.