Commit graph

32 commits

Author SHA1 Message Date
Oliver Schmidt
79855ff02d Beautified SLIP macros. 2017-03-18 14:05:36 +01:00
Oliver Schmidt
91beb8670f Added SLIP support to retro platforms.
The cc65 tool chain comes with V.24 drivers so it seems reasonable to use the existing Contiki SLIP driver to implement network access via SLIP as alternative to Ethernet.

Some notes:
- The Ethernet configuration was simplified in order to allow share it with SLIP.
- The Contiki SLIP driver presumes an interrupt driven serial receiver to write into the SLIP buffer. However the cc65 V.24 drivers aren't up to that. Therefore the main loops were extended to pull received data from the V.24 buffers and push it into the SLIP buffer.
- As far as I understand the serial sender is supposed to block until the data is sent. Therefore a loop calls the non-blocking V.24 driver until the data is sent.

On all platforms there's only one V.24 driver available. Therefore V.24 drivers are always loaded statically.

On the Apple][ the mouse driver is now loaded statically - independently from SLIP vs. Ethernet. After all there's only one mouse driver available. However there's a major benefit with SLIP: Here all drivers are loaded statically. Therefore the dynamic module loader isn't necessary at all. And without the loader the heap manager isn't necessary at all. This allows for a reduction in code size roughly compensating for the size of the SLIP buffer.
2017-02-15 23:43:28 +01:00
Oliver Schmidt
fb5d0b7ef0 Made 80 column display a cc65 application attribute.
So far 80 column display was an attribute of a cc65 platform. Now each cc65 application can ask for 80 column display by defining WITH_80COL. Of course this is ignored by platforms incapable of 80 column display.

I see three types of application:

* Applications not benefitting from 80 column at all and in fact looking better with 40 column display. These are now using 40 column display. Examples: ethconfig, ipconfig

* Applications taking advantage of 80 column display if it is available without drawbacks. These stay as they were. Examples: Telnet server, web server, wget

* Applications needing 80 column display so urgently that it is likely desirable even if the display becomes harder to read. These come now in both flavors allowing the user to choose. Examples: IRC, web browser

Note: This change doesn't actually introduce any 80 column display with drawbacks. This if left to a subsequent change.
2015-10-30 12:42:58 +01:00
Víctor Ariño
ccc0d27da0 Integrates uip-nameserver API
On the same commit the src have been uncrustified and some typo
fixes as well as includes missing.
2015-01-09 09:44:06 +01:00
Roy Scheefhals
1058ea986a Changed the parameter 'char * data' of process_start to the
type process_data_t. This was an artifact when the choice was
made to use the void * type for the data parameter in processes.

Changed parameter 'void * data' of process_post_synch to
process_data_t for consistency.

Checked all the uses of process_start() in contiki and fixed casts
of the data parameter.
2014-06-12 13:40:28 +02:00
Oliver Schmidt
fc983e2e79 Copied 'contiki_arg[c|v]' from 'native' to the other desktop targets.
- On the retro targets support for 'contiki_arg[c|v]' is optional as accesing arg[c|v] is rather expensive.
2014-01-24 11:56:40 +01:00
Oliver Schmidt
6fc83cf601 Initialize tcpip process before resolver process.
Since introduction of mDNS (f145c17039)
the resolver process initialization depends on the tcpip process
already being initialized (because of the call to udp_new()).
2013-09-01 20:53:51 +02: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
oliverschmidt
0ef1171705 Just always call process_run() and etimer_request_poll() in turn - like the "major" platforms do. 2010-10-27 22:17:39 +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
6e5e560e33 Up to now *all* Contiki apps for the Apple2 were built for maximal RAM - which means that they can't return to OS level but must reboot on exit. However many apps can get along well with 1kB less memory - which allows them to exit to the OS.
Therefore now the default is 1kB less memory - and apps actually needing maximal RAM can get it by adding WITH_REBOOT to their DEFINES.
2010-09-08 22:50:56 +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
d8aee18f6c cc65 2.13. allows to
- explicitly set 80 column mode
- control exit behaviour from the program itself (instead of requiring a loader variant).
2009-10-18 09:37:37 +00:00
oliverschmidt
86bd7e9829 Added lseek dummy. 2008-07-06 07:34:34 +00:00
oliverschmidt
368d389970 Free up unused file descriptors. 2008-02-28 21:36:37 +00:00
oliverschmidt
93789de9dd Now that process initialization has been changed (back) to synchronous it needs to be called after reading the config file in order to preserve the existing logic. 2008-02-17 14:11:48 +00:00
oliverschmidt
2632f8f937 Removed finally unnecessary cast. 2008-02-10 22:36:36 +00:00
oliverschmidt
5592b1df6c Implement cfs API on preprocessor level using POSIX functions.. 2007-12-23 15:29:19 +00:00
oliverschmidt
14a8cf7200 Made use of the new high-level config macros. 2007-12-23 12:33:57 +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
963cc8b31e Made use of config file read function. 2007-11-27 21:50:19 +00:00
oliverschmidt
ef55496de0 Use common log implementation for cc65 targets. 2007-11-27 16:50:02 +00:00
oliverschmidt
9c5f62d361 Switched to lowercase file name and do consistently "first-log then operate". 2007-11-25 22:21:19 +00:00
oliverschmidt
b26ff75aad Added user feedback on Ethernet configuration. 2007-11-25 15:15:05 +00:00
oliverschmidt
20d395e9b6 Added user feedback on IP configuration. 2007-11-25 15:00:32 +00:00
oliverschmidt
0eb7106bd2 Include dummy for posix function missing in cc65 C-library. 2007-11-24 13:02:27 +00:00
oliverschmidt
8ebc56aad5 Shortened welcome message. 2007-11-20 21:24:25 +00:00
oliverschmidt
aa7dd83d5d Made use of the generic Ethernet driver for cc65 targets. 2007-11-20 21:19:12 +00:00
oliverschmidt
c42cbe3141 Added a naive clock implementation based on main loop counting for the Apple2 as it doesn't have a hardware clock. 2007-08-10 13:30:02 +00:00
oliverschmidt
bc46e8a49e Removed clock stuff from main file. 2007-05-29 22:02:37 +00:00
oliverschmidt
00101cc177 Added support for the cc65 target 'apple2enh' (Enhanced Apple //e). 2007-01-03 10:29:17 +00:00