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