Commit graph

112 commits

Author SHA1 Message Date
oliverschmidt 333ad36a4a Added general ctk support to the cc65 build. 2007-12-16 17:03:27 +00:00
oliverschmidt f55b3cfe0e So we're finally back at reducing the memory footprint be avoiding to pull in large C-library enitities. 2007-12-16 17:02:37 +00:00
oliverschmidt 8644822a34 Soe we're finally back at reducing the memory footprint be avoiding to pull in large C-library enitities. 2007-12-16 13:08:09 +00:00
oliverschmidt 805f3f87d3 Make the "empty" error_exit implementation the default to be optionally overridden. 2007-12-16 13:05:23 +00:00
oliverschmidt b32f0643ab Moved stuff into sys subdir to clean up the apple2enh dir (and because the corresponding shared res. cpu stuff is in the sys dir as well). 2007-12-15 11:04:11 +00:00
oliverschmidt e59252ab29 Moved stuff into sys subdir to clean up the 6502 dir (and because the corresponding shared stuff is in the sys as well). 2007-12-15 00:14:18 +00:00
oliverschmidt 983688bef6 Use C99 type to typedef Contiki types. 2007-12-15 00:06:27 +00:00
oliverschmidt 2bcabc061d Optimized to work with logging turned off. 2007-12-08 22:34:59 +00:00
oliverschmidt 382603b581 Made error_exit() implementation target-specific. 2007-12-08 22:21:50 +00:00
oliverschmidt 70321f690f Made error_exit() implementation target-specific. 2007-12-08 22:16:43 +00:00
oliverschmidt 4defaddf31 Avoid pulling in the DNS client. Later we'll want to have this configurable. 2007-12-08 21:48:49 +00:00
oliverschmidt a54195ff04 Fixed to work with logging turned off. 2007-12-08 21:47:26 +00:00
oliverschmidt 69a16d89c5 Fixed typo. 2007-12-08 21:19:06 +00:00
oliverschmidt a980f40bf6 Take in account that the C64 Retro Replay clockport needs to be activated in order to work with the RR-Net Ethernet card. 2007-12-08 21:05:48 +00:00
oliverschmidt 1afc872a29 cc65 has recently become more restrictive... 2007-12-06 10:36:33 +00:00
oliverschmidt 45988fdfd0 Fixed LAN91C96 driver. 2007-12-01 20:23:11 +00:00
oliverschmidt 9f1feb6e26 Added LAN91C96 driver. 2007-11-30 12:34:08 +00:00
oliverschmidt 66717d11ba Generic SMSC LAN91C96 driver for cc65 targets. The driver is intended to be loaded dynamically as relocatable module. It modifies itself to accomodate different Ethernet IO address locations:
- ETH64 ($DE10)
- Apple2 LANceGS ($C0x0)
2007-11-30 12:32:07 +00:00
oliverschmidt b51a680a02 Minor optimization. 2007-11-29 21:56:55 +00:00
oliverschmidt 394d70c57d Added some info on the 6502 targets. 2007-11-28 18:19:14 +00:00
oliverschmidt 9d39b4be54 Added global error_exit() and config read function to build. 2007-11-27 21:43:32 +00:00
oliverschmidt 6028fccc39 Added read function for a simple binary config file. 2007-11-27 21:42:02 +00:00
oliverschmidt 67af780c93 Made include paths consistent. 2007-11-27 20:54:10 +00:00
oliverschmidt 20824c5603 Make use of global error_exit(). 2007-11-27 20:52:52 +00:00
oliverschmidt 2ef0eec6f6 Made error_exit() globally available. 2007-11-27 18:17:47 +00:00
oliverschmidt 18d591206e Added (default) log implementation for cc65 targets. 2007-11-27 16:48:44 +00:00
oliverschmidt 74c4e10f23 No reason to not just compile petsciiconv.c for all cc65 targets. 2007-11-25 21:43:55 +00:00
oliverschmidt 7fc383e100 Minor change in comment. 2007-11-24 12:57:09 +00:00
oliverschmidt 5608e2d451 Minor adjustment to predominant coding style. 2007-11-22 11:41:18 +00:00
oliverschmidt a2dd620ecc Allow the webserver and telnetd examples to build. 2007-11-22 11:40:17 +00:00
oliverschmidt da44474fd4 Generic Ethernet driver for cc65 targets. The actual hardware driver is loaded as relocatable module. 2007-11-20 21:10:20 +00:00
oliverschmidt e6e6ea415c Generic Cirrus Logic CS8900A driver for cc65 targets. The driver is intended to be loaded dynamically as relocatable module. It modifies itself to accomodate different Ethernet IO address locations:
- C64 TFE ($DE00)
- C64 RRNet ($DE08)
- Apple2 Uther ($C0x0)
2007-11-19 23:14:14 +00:00
oliverschmidt 9a96dbca03 Moved currently inconsistent files to backyard to clean up for release 2.1 2007-11-19 23:00:33 +00:00
oliverschmidt eabf01903d Replaced most type definitions with reference to stdint.h. 2007-11-17 23:42:23 +00:00
matsutsuka 582a7476d4 *-dsc.c files have been changed to remove forward reference for struct_icon variable, bacause it is strange that this variable is used wholly inside the C source file and declared extern for the forward reference. 2007-09-06 01:36:10 +00:00
oliverschmidt 89e81f9eed Renamed 6502-conf.h into 6502def.h to be in line with similiar files created in the meanwhile and added C99 names. 2007-09-05 10:59:10 +00:00
oliverschmidt 34af8fbc1a Fixed recent change. 2007-08-30 20:47:14 +00:00
matsutsuka 9d4fc0a1a8 Support for z80(sdcc) port.
In order to support, some core modules are modified as follows:

core/sys/dsc.h
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.
- DSC_HEADER is changed to remove extra semicolon.

core/sys/process.h
- process_data_t is expressed by void* in signatures (known bug on sdcc).

core/sys/autostart.h
- autostart_processes is changed to remove extra semicolon.

core/sys/cc.h
- CC_CONF_ASSIGN_AGGREGATE is introduced.
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
  of sdcc bug for an increment.

core/net/hc.c
core/net/uip_arp.c
core/net/uaodv.c
- Aggregation assignments are changed to uip_ipaddr_copy.

core/net/psock.c
core/net/uipbuf.c
core/net/dhcpc.c
apps/shell/shell.c
core/ctk/vnc-server.c
core/ctk/vnc-out.c
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

core/net/uip-over-mesh.c
- An extra semicolon is removed.

apps/dhcp/dhcp-dsc.c
apps/shell/shell-dsc.
apps/ftp/ftp-dsc.c
apps/process-list/process-list-dsc.c
apps/email/email-dsc.c
apps/webserver/webserver-dsc.c
apps/vnc/vnc-dsc.c
apps/vnc/vnc-viewer.h
apps/webbrowser/www-dsc.c
apps/about/about-dsc.c
apps/irc/irc-dsc.c
apps/telnet/telnet-dsc.c
apps/telnetd/telnetd-dsc.c
apps/netconf/netconf-dsc.c
apps/directory/directory-dsc.c
pps/calc/calc-dsc.c
- Modify an extern type to a real declaration, which is static
  to prevent a compile error.

core/net/mac/xmac.c
- Variables cannot be defined in a head of block on sdcc.

core/ctk/ctk.h
core/ctk/ctk.c
apps/program-handler/program-handler.c
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.

Makefile.include
- Add a set of configuration for an assembler.
- $(CLEAN) variable is introduced for customized cleanup.

apps/process-list/process-list.c
- PROCESSLIST_CONF_HEIGHT is introduced to address smaller screen size.

core/lib/ctk-filedialog.c
- FILES_CONF_HEIGHT is introduced to address smaller screen size.
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

apps/vnc/vnc-viewer.c
- A cast is added to prevent a compile error.
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

apps/webbrowser/webclient.c
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
  of sdcc bug for an increment.

core/loader/elfloader.c
- A cast is added to prevent a compile error.

core/net/rime/rimeaddr.c
- An initialization is added to prevent a compile error.

core/net/rime/rudolph0.c
- NULL is changed to 0, because NULL causes a compile error.

core/net/rime/route-discovery.c
- Add an argument to match the definition of nf_callbacks.

cpu/z80/strcasecmp.h
cpu/z80/strcasecmp.c
cpu/z80/contiki-sdcc-conf.h
cpu/z80/mtarch.c
cpu/z80/mtarch.h
cpu/z80/Makefile.z80
- New files to make compilation availble on sdcc.
- Added support for multithreading.
2007-08-30 14:39:16 +00:00
oliverschmidt 1c77f6f1d5 - The cc65 assembler variable 'ptr1' (a general zero page pointer) is actually part of the cc65 zero page area so it's a bad idea (tm) to use it in swapping that very area.
- The cc65 assembler variable 'sp' (the pointer to the C stack) is actually part of the cc65 zero page area so there's no need to manage it explicitly. Furthermore it is known to reside at the very start of the area so it can be initialized there for new threads.
2007-08-10 10:45:35 +00:00
oliverschmidt 9399718ede Cosmetic change... 2007-05-29 22:25:49 +00:00
oliverschmidt b23f4fc89d Added a Contiki clock_time() implementation based on the cc65 clock() implementation. 2007-05-29 21:56:21 +00:00
oliverschmidt c874d56f32 Clock implementations are typically not located in a lib subdirectory. 2007-05-27 21:29:18 +00:00
oliverschmidt 9ab8b78381 Moved cc65 loader requiring "labels hack" into backyard. 2007-05-23 23:49:45 +00:00
oliverschmidt a22c543b1a Moved cc65 specific app into backyard. 2007-05-23 23:47:16 +00:00
oliverschmidt 51509fa49a Added dummy value to allow for building. 2007-05-19 13:20:37 +00:00
oliverschmidt ae2073cac9 Factored out setup directory search path for source files into Makefile.include.
- All compilers used support the -I option for setting an include search directory.

- The Contiki source tree follows the (common) approach of placing declarations (in headerf iles) in the same directory as definitions (in source files).

As a result it makes sense to use the -I compiler option for just the same set of directories used for the vpath gnumake directive.

Note: I checked several builds but nevertheless one or the other might need some additional adjustsments. Sorry for the inconvenience.
2007-05-19 07:54:53 +00:00
oliverschmidt 237b1617b5 Factored out setup directory search path for source files into Makefile.include.
- Search target specific directories before CPU specific directories.
- Search CPU specific directories before generic directories.

Note: I checked several builds but nevertheless one or the other might need some additional adjustsments. Sorry for the inconvenience.
2007-05-13 08:41:11 +00:00
oliverschmidt 4fd1e3ece0 Added signed 32 bit data type. 2007-05-12 20:58:12 +00:00
oliverschmidt 8d3496194f Added Multithreading support to the cc65 targets based on the Contiki 1.x C64 implementation with the following changes:
- Added support for the function parameter.
- Removed support for preemption because:
  - No other current implementation does so.
  - Preemption support would make the code at least target-dependent or it wouldn't work at all (as on plain Apple2 machines without timer interrupt).
2007-04-21 22:15:45 +00:00
oliverschmidt ec2411d5ea Structured the cc65 makefile like all the other makefiles in the Contiki 2.x build system. 2007-04-21 15:04:23 +00:00
oliverschmidt 5d62bbd039 Used SED to replace the assembler sources with the objects in the dependency file generated by the cc65 compiler. This allows to hide the assembler sources from GNU make which solves several issues. Now the cc65 toolchain behaves very similiar to gcc from the GNU make perspective. 2007-04-21 13:23:47 +00:00
oliverschmidt 48977bd89f Replaced the PROJECT_OBJECTFILES hack with puting the Contiki library (containing contiki-main.o) and the cc65 libary into a cc65 "library group" which allows mutual crossreferences between the libraries in the group. 2007-04-18 22:52:22 +00:00
oliverschmidt f3502e2ca4 Added NOP headers in order to allow build. 2007-04-18 21:38:55 +00:00
oliverschmidt c7e8ac499e Consistently use curly brackets for function calls (and add the same disclaimer as used in "my" other makefiles). 2007-04-14 15:55:50 +00:00
oliverschmidt 9cf544c45e Added the same disclaimer as used in the header file. 2007-04-14 15:48:42 +00:00
oliverschmidt 5d2f948bba Allow to build the statically linked telnet-server and webserver examples using cc65. 2007-03-03 13:38:07 +00:00
oliverschmidt 73fabe4ba3 Factored out settings specific more to architecture and/or toolchain rather than specific target. 2007-03-03 10:05:03 +00:00
oliverschmidt 97681fdada The one and only uip_arch.h resides in core/net. 2007-03-03 09:48:39 +00:00
oliverschmidt ef8ae0e158 Added an initial Makefile for the cc65 tool chain (www.cc65.org). For now it allows to build the statically linked hello-world example. 2007-01-03 10:26:40 +00:00
oliverschmidt 69492ff4ea Removed Contiki 1.x makefiles to avoid confusion on understanding the (already complex enough) Contiki 2.x build system. 2006-12-31 14:30:11 +00:00
oliverschmidt 6c4bcfb86f Moved 6502-specific implementation of local continuations into a 'sys' folder in order to allow the
#include "sys/lc.h"

in core/sys/pt.h to find it.
2006-12-31 14:26:02 +00:00
adamdunkels c9e808d638 Import of the contiki-2.x development code from the SICS internal CVS server 2006-06-17 22:41:10 +00:00