Commit Graph

198 Commits

Author SHA1 Message Date
Oliver Schmidt
7c2f3b3911 Saved another byte ;-) 2013-10-03 22:32:12 +02:00
Oliver Schmidt
2263c1aa55 - Optimized LAN91C96 driver for speed and size.
- Speed: The primary byte copy loops are reduzed to the bare minimum by adjusting the base pointer 'ptr' and loop register 'y' in such a way that the 'y' overflow matches the low byte of the loop size.

- Introduced a loop for setting the MAC address.

Additional minor fix:

- Properly start self modification with first location.
2013-09-12 23:32:26 +02:00
Oliver Schmidt
ea08635ca4 Optimized CS8900A driver for speed and size.
- Speed: The primary byte copy loops are reduzed to the bare minimum by adjusting the base pointer 'ptr' and loop register 'y' in such a way that the 'y' overflow matches the low byte of the loop size.

- Size: Factored out all repeated code into subroutines. Introduced a loop for setting the MAC address.

Additional minor changes:

- Activate frame reception as last step of initialization after CS8900A configuration.

- Properly set internal address bits used by the CS8900A.
2013-09-12 23:32:25 +02:00
Oliver Schmidt
6ab336f55f Several minor consistency improvements. 2013-07-31 00:55:31 +02:00
Oliver Schmidt
3c6c7381d8 Suppress some usual warnings. 2013-07-31 00:29:52 +02:00
Oliver Schmidt
8d23d1b0bb Support the recently added verbosity control. 2013-07-31 00:15:38 +02:00
Oliver Schmidt
ad34b714cd Merge pull request #287 from oliverschmidt/master
The current cc65 build doesn't require this workaround anymore.
2013-06-27 15:38:48 -07:00
Oliver Schmidt
fb1de74dc4 The current cc65 build doesn't require this workaround anymore. 2013-06-28 00:36:33 +02:00
Peter A. Bigot
5fc0575e99 Makefile.include: support make clean all
Historically $(OBJECTDIR) was created when Makefile.include is read.  A
consequence is that combining "clean" with "all" (or any other build
target) results in an error because the clean removes the object
directory that is required to exist when building dependencies.
Creating $(OBJECTDIR) on-demand ensures it is present when needed.

Removed creation of $(OBJECTDIR) on initial read, and added an order-only
dependency forcing its creation all Makefile* rules where the target is
explicitly or implicitly in $(OBJECTDIR).
2013-06-20 17:45:41 -05:00
Oliver Schmidt
79bb5ea73f Removed some more old RCS tags from the Contiki source tree. 2013-06-13 15:54:26 +02:00
Oliver Schmidt
cbce31cb59 Another small addition for platform 'Atari XL'. 2013-06-02 23:36:28 +02:00
Rémy Léone
e6bd4f1dde Rename to md 2013-03-26 23:15:37 +01:00
Rémy Léone
7b40a568a6 Update to markdown
- Spellchecking
- Update plain text to github markdown
2013-03-26 16:55:19 +01:00
Oliver Schmidt
a0e2120fdb Added configurations of the new resolver. 2013-03-14 23:17:59 +01:00
Robert Quattlebaum
1d113f52ad core/net/uip: Rename uip_ethaddr to uip_lladdr.
There isn't really a good reason I can think of for these
to be different between IPv4 and IPv6.
2013-03-10 11:39:11 -07:00
Oliver Schmidt
61b90c0126 We actually need PROJECT_OBJECTFILES and PROJECT_LIBRARIES for retro builds too. 2013-02-16 22:57:50 +01:00
Oliver Schmidt
98060c1eab Moved from last cc65 release (2.13.3) to recent cc65 snapshot (2.13.9).
Relevant cc65 changes...

General:
- The compiler generates "extended" dependency info (like gcc) so there's no need for postprocessing whatsoever :-)
- The linker is very pernickety regarding the ordering of cmdline options so a custom linker rule is necessary :-(

Apple2:
- The various memory usage scenarios aren't specified anymore via separate linker configs but via defines overriding default values in the builtin linker config.

Atari:
- The builtin linker config allows to override the start addr so there no more need for a custom linker config.
- The C library comes with POSIX directory access. So there's no more need for for a custom coding.

CBM:
- The C library comes with POSIX directory access. So there's no more need for for a custom coding.
2013-02-14 15:42:43 +01:00
Oliver Schmidt
9938cb6838 Adjusted names. 2013-02-09 01:58:37 +01:00
Oliver Schmidt
69317ad1db Renamed retro 'dhcp-client' to 'ipconfig' as it can as well be used for interactive manual configuration. 2013-02-01 21:20:21 +01:00
Oliver Schmidt
74dfff972f Do not reject frames with a length exactly equal to the uIP bufer size. 2013-01-30 23:39:01 +01:00
Oliver Schmidt
e88997b71c Minor README updates. 2013-01-29 22:44:37 +01:00
Oliver Schmidt
1a5e20bc5f Remove tab chars from retro C sources. 2013-01-28 23:43:08 +01:00
Adam Dunkels
944537fccf Removed all old RCS tags in the Contiki source tree. Those RCS tags are not used any more, as we are now using git to manage the Contiki source tree 2012-10-26 15:54:49 +02:00
Nicholas J Humfrey
1cda3da17e Converted u8_t to uint8_t and u16_t to uint16_t in the cpu directory. 2012-02-21 08:33:24 -05:00
Adam Dunkels
4fd8133aa3 Removed the obsolete MAC_CONF_CHANNEL_CHECK_RATE (now replaced with NETSTACK_CONF_RDC_CHANNEL_CHECK_RATE) 2011-09-05 20:42:19 +02:00
oliverschmidt
8c87f85a1d Made cc65 build compatible with make.exe from GnuWin32 and cmd.exe. We just live without the phony targets when building with cmd.exe - the next cc65 release will make the whole sed thingy obsolete anyway :-) 2011-01-23 16:30:30 +00:00
oliverschmidt
1dfe490f9b Use some defined event constant instead of just 0. 2010-10-31 22:51:17 +00:00
oliverschmidt
9a8c62a629 Removed remark on using cc65 snapshot. 2010-10-23 19:42:53 +00:00
oliverschmidt
5e10cf2eed Implemented cfs_opendir() and friends for CBMs based on cc65's cbm_opendir() and friends. 2010-10-23 13:48:06 +00:00
oliverschmidt
9e9eb4b55c There's no point in pulling in cfs-posix-dir.c if the POSIX functions it depends on are dummies anyway. 2010-10-23 08:17:45 +00:00
oliverschmidt
b84f771c6b The recent change in core/net/mac/lpp.c requires CLOCK_SECOND to be at least twice NETSTACK_RDC_CHANNEL_CHECK_RATE in order to compile. 2010-10-22 20:28:58 +00:00
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
oliverschmidt
35f7b6046e 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
oliverschmidt
a40594b7ce Display correct name of statically loaded driver. 2010-09-29 21:48:54 +00:00
oliverschmidt
c839eacbdf 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
oliverschmidt
55d61d317b 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
oliverschmidt
c602c61468 Activated Platform-specific File System (PFS) for the C64/C128 by default for all programs with R/W CFS access. 2010-07-22 10:30:12 +00:00
oliverschmidt
9c0f5d857c Updated API for uiplib and resolv to use uip_ipaddr_t instead of uint16_t. 2010-07-21 22:35:59 +00:00
oliverschmidt
d28865abac Adjusted hacky inline assembler to reference uip_aligned_buf instead of uip_buf - some day I'll need to clean up that (btw bogus) code. 2010-05-30 10:12:30 +00:00
oliverschmidt
126ea40994 Removed UIP_CONF_PLAIN_BUFFER again now that the pointer indirection to uip_buf was removed again. 2010-05-30 09:46:12 +00:00
oliverschmidt
2169932727 Have the cc65 based targets stay with the "old" plain uip_buf. 2010-05-08 07:25:10 +00:00
oliverschmidt
7b5bde6336 Made the maximum number of concurrent TCP connections a highlevel config value. 2010-04-11 20:47:16 +00:00
oliverschmidt
21f8e4e982 Made MAC_CONF_CHANNEL_CHECK_RATE identical to CLOCK_CONF_SECOND in order to make sure it isn't larger - which causes 'divide by zero' errors. 2010-04-05 15:17:22 +00:00
oliverschmidt
9831f02eba Replaced dummy code with code taken from 'native'. 2010-04-05 15:13:50 +00:00
oliverschmidt
26e61ac3f7 Programs using CFS should #include "cfs.h" ;-) 2010-04-05 13:41:29 +00:00
oliverschmidt
54e19782ae Moved PFS header from Apple2 directory to 6502 directory as we're going to have other PFS implementations. 2010-03-27 15:16:57 +00:00
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