Commit graph

152 commits

Author SHA1 Message Date
oliverschmidt
6769e6a99f - Moved PFS header from Apple2 directory to 6502 directory as we're going to have other PFS implementations.
- Completed declarations.
2010-03-27 14:46:08 +00:00
oliverschmidt
1817acae15 Now that the C64 mouse driver works we can activate the mouse support for this target :-) 2010-02-18 21:30:31 +00:00
oliverschmidt
50be40768b Removed closing of stdin, stdout (and stderr on the Apple2). It was introduced in order to maximize the number of available file handles for the webserver. However none of the target machine DOSes allows to open a single file several times diminishing the intended effect very much. One the other hand not being able to "just printf() something" causes trouble over and again - i.e. hello-world seemingly not working...after all a typical case of german over-enigneering ;-) 2010-02-10 07:43:25 +00:00
oliverschmidt
1ac4d7f501 Used CFS instead of POSIX. 2010-02-08 22:26:19 +00:00
oliverschmidt
5570972957 Added a Contiki app basically combining apps/netconf and apps/dhcp. It's a 6502 specific app as it doesn't configure the running uIP instance but instead writes to the 'contiki.cfg' configuration file used by 6502 apps to configure uIP. 2010-02-08 22:08:17 +00:00
oliverschmidt
2d40c75efe Allow 6502 ctk programs (all running in non-window mode) to exit the Contiki process by calling LOAD_UNLOAD(). 2010-02-04 23:52:30 +00:00
oliverschmidt
4189884793 Don't activate UDP checksums on 6502 targets as the inline-assembler implementation in cpu/6502/net/uip_arch.c is broken! 2010-01-30 20:54:15 +00:00
oliverschmidt
26c9ec41f7 Activate uIP logging when "high level config" logging is enabled. 2010-01-30 20:48:31 +00:00
oliverschmidt
fda46f6800 - cc65 2.13. allows to define all necessary paths through the single env var CC65_HOME.
- cc65 2.13. allows to override the stacksize from the linker command line thus eliminating the need for linker configs maintained by Contiki.
- cc65 2.13. integrates the startup code with the library. In 2.12. the startup code pulled in main(). Now main() is supposed to pull in the startup code. But  if main() resides itself in a library (as with Contiki) then nothing is pulled in at all :-(. The workaround is to pull in main() explicitly through the new option -u (working like the same GCC option).
2009-10-18 11:34:38 +00:00
oliverschmidt
31eb62821f 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
oliverschmidt
738397b855 cc65 generates dependency files having the list of prerequisites start with a tab character.
The processing done in the canned command sequence FINALIZE_DEPENDENCY brings this tab character to the beginning of the line making the empty rule look like a command.

Therefore we replace the tab character in question with a blank.
2009-07-26 21:27:43 +00:00
oliverschmidt
7a228fea41 Replaced classic approach of generating dependency files via rule with generating them as side effect of generating object files. The issue with "No rule to make target ..." is solved as suggested in http://make.paulandlesley.org/autodep.html.
At least with gcc (and cc65) the dependency files are generated without an additional run of the C compiler. This is especially beneficial on Cygwin because of the fork() performance issue.
2009-07-02 22:36:04 +00:00
oliverschmidt
1585077da7 Adjusted cfs_seek() offset type configuration macro name. 2009-03-01 12:26:53 +00:00
oliverschmidt
d0b7d22229 Adjusted CFS implementations to the recent CFS API changes. 2009-02-28 11:45:35 +00:00
oliverschmidt
f822ac9797 Added clock_seconds() implementation. 2008-07-12 14:44:37 +00:00
oliverschmidt
c9a8eea371 Added cfs_seek to the preprocessor level implementation of the cfs API. 2008-07-06 07:28:05 +00:00
oliverschmidt
f6c310d90a I'd better don't try to be smart by including read access into every write access - as the cc65 CBM POSIX file I/O library doesn't allow for both reading and writing at all. 2008-06-16 11:20:22 +00:00
oliverschmidt
456d7ad45e Updated URL. 2008-06-13 20:08:06 +00:00
oliverschmidt
d619b095a9 Added some info on the high-level config macros (and other stuff). 2008-06-12 22:15:50 +00:00
oliverschmidt
929da590be Removed '!' as gnumake already adds '.'. 2008-05-22 19:43:08 +00:00
adamdunkels
31ea41d8db Changed the name of UIP_CONF_TCP_FORWARD to UIP_CONF_IP_FORWARD since forwarding is done at the IP level 2008-05-14 19:19:28 +00:00
oliverschmidt
b7958e3472 Fixed minor copy&paste issue. 2008-03-29 15:22:39 +00:00
oliverschmidt
3d1d6e333c Added high level config macro for the new compiletime forwarding option. 2008-03-29 15:21:51 +00:00
oliverschmidt
e72ca9e5d4 Allow division by RTIMER_ARCH_SECOND to compile. 2008-03-28 22:38:03 +00:00
oliverschmidt
a500f2dd73 Removed unused variable. 2008-03-04 22:56:54 +00:00
oliverschmidt
a7e73d030a Added naive snprintf support. 2008-02-16 08:56:29 +00:00
oliverschmidt
bb19396d21 Introduced yet another high-level config macro. 2008-01-01 19:47:03 +00:00
oliverschmidt
216d20dabb Allow to implement cfs API on preprocessor level using a "pfs" (platform file system) by setting a new high-level config macro. 2008-01-01 17:44:24 +00:00
oliverschmidt
faad65bddd Use cfs filesystem to allow for specific implementations. 2007-12-24 00:13:28 +00:00
oliverschmidt
93ff3add1f Use cfs filesystem to allow for specific implementations. 2007-12-23 15:37:28 +00:00
oliverschmidt
5592b1df6c Implement cfs API on preprocessor level using POSIX functions.. 2007-12-23 15:29:19 +00:00
oliverschmidt
fda38428d9 Introduced some more high-level config macros. 2007-12-23 13:55:38 +00:00
oliverschmidt
14a8cf7200 Made use of the new high-level config macros. 2007-12-23 12:33:57 +00:00
oliverschmidt
125f261b7d Introduced high-level macros to be set on the make command line. They allow easy configuration of Contiki for typical (cc65-)project scenarios. 2007-12-23 12:32:43 +00:00
oliverschmidt
0564cc50fd Splitted POSIX based cfs implementation to avoid pulling in potentially large POSIX directory I/O functions without needing them at all. 2007-12-21 01:36:01 +00:00
oliverschmidt
102e3e2a24 Make use of fastcall. 2007-12-21 01:13:44 +00:00
oliverschmidt
e4086d8374 Use cfs filesystem to allow for specific implementations (and make use of fastcall). 2007-12-21 01:04:29 +00:00
oliverschmidt
1863f8aef2 Added generic ctk mouse implementation based on cc65 mouse drivers. 2007-12-20 22:47:39 +00:00
oliverschmidt
2c45596f5c Optimized non-logging scenario. 2007-12-20 20:49:59 +00:00
oliverschmidt
14fa993204 Define an empty rtimer_arch_now() macro to keep compiler happy. 2007-12-20 20:28:34 +00:00
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