osd-contiki/cpu/6502
adamdunkels 5585d72c86 A simple but substantial change: uIP used the htons()/HTONS() macro
functions for converting between host and network byte order. These
names are the de facto standard names for this functionality because
of the original BSD TCP/IP implementation. But they cause problems for
uIP/Contiki: some platforms define these names themselves (Mac OS,
most notably), causing compilation problems for Contiki on those
platforms.

This commit changes all htons to uip_htons instead. Same goes for
htonl, ntohs, and ntohl. All-caps versions as well.
2010-10-19 18:29:03 +00:00
..
ctk cc65 2.13. features a default-per-target mouse driver so there's no need to deal with their names in Contiki anymore. 2009-10-18 09:33:08 +00:00
dhcp Added cc65 target 'atari' for Atari 8-bit machines. This addition was triggered by exsistence of http://www.atari8ethernet.com/. 2010-09-29 19:44:01 +00:00
lib Display correct name of statically loaded driver. 2010-09-29 21:48:54 +00:00
net A simple but substantial change: uIP used the htons()/HTONS() macro 2010-10-19 18:29:03 +00:00
sys Replaced dummy code with code taken from 'native'. 2010-04-05 15:13:50 +00:00
6502def.h Fixed 'Modulo operation with zero' error by making sure that NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE is not smaller than CLOCK_CONF_SECOND. 2010-10-06 19:48:26 +00:00
Makefile.6502 Allow cc65 ethernet drivers to be loaded statically instead of dynamically. This saved quite some space in scenarios without additional cc65 drivers to be loaded for i.e. a mouse because in those scenarios the cc65 module loader isn't necessary. And without the module loader typically the cc65 heap manager isn't necessary. 2010-09-28 23:02:16 +00:00
README Made the maximum number of concurrent TCP connections a highlevel config value. 2010-04-11 20:47:16 +00:00

The cpu/6502/ directory is used for targeting 6502-based machines using the cc65
compiler (http://www.cc65.org/). In almost all cases it is preferable to go for
a recent snapshot instead of the latest official version. The most recent cc65
snapshot is available at ftp://ftp.musoftware.de/pub/uz/cc65/snapshot/.


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:

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

- http://www.a2retrosystems.com/contiki.html
- http://www.cbm8bit.com/contiki/


The build for 6502-based machines includes the 'disk' make goal which creates a
bootable floppy disk image containing the project binary, a sample configuration
file and the Ethernet card drivers.


The build for 6502-based machines supports so-called high-level configuration
macros which allow to customize Contiki on a per-project basis. They are set
in form of a comma-separated list as value of the make variable DEFINES on the
make command line. The value of DEFINES can be saved with the 'savedefines' 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:

MTU_SIZE
- Default: 1500
- Purpose: Set the Maximum Transfer Unit size.

CONNECTIONS
- Default: 10
- Purpose: Set the maximum number of concurrent TCP connections.

WITH_LOGGING
- Default: 0
- Purpose: Have log_message() and UIP_LOG() write messages to the screen.

WITH_BOOST
- Default: 0
- Purpose: Significantly improve troughput on sending full sized packets by
           splitting them thus workarounding the "delayed acknowledge".

WITH_FORWARDING
- Default: 0
- Purpose: Enable support for the 'IP forwarding' packet driver.

WITH_CLIENT
- Default: 0
- Purpose: Enable support for outgoing TCP connections.

WITH_DNS
- Default: 0
- Purpose: Enable UDP support and initialize resolver process on startup.

WITH_GUI
- Default: 0
- Purpose: Initialize the the CTK process on startup.

WITH_MOUSE
- Default: 0
- Purpose: Enable CTK mouse support and load a mouse driver.

WITH_PFS
- Default: 0
- Purpose: Implement the CFS interface with a Platform-specific File System
           instead of the POSIX file system.