Merge pull request #2146 from oliverschmidt/slip

Add SLIP support to retro platforms.
This commit is contained in:
Oliver Schmidt 2017-03-18 15:56:06 +01:00 committed by GitHub
commit 356814fe9c
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"
#if WITH_SLIP
/*---------------------------------------------------------------------------*/
void
slip_arch_init(unsigned long ubr)
{
unsigned err;
err = ser_install(STATIC_DRIVER);
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);
}
/*---------------------------------------------------------------------------*/
#endif /* WITH_SLIP */

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.