Commit Graph

109 Commits (master)

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 c25e965b0c Avoid unnecessary key presses.
The recently added doesclrscrafterexit() allows cc65 programs to determine if the screen will be cleared after exit(). If that isn't the case then there's no need to ask the user to press a key in order to allow him to read the final program output.
2016-10-15 15:27:42 +02:00
Oliver Schmidt ae0c5f0dd0 Make use of new cl65 option --print-target-path.
The new cl65 option --print-target-path allows to get rid of CC65_HOME altogether.
2016-06-03 13:30:25 +02:00
Oliver Schmidt 6876b97466 Adjusted segment names to match recent cc65 change. 2016-03-06 21:11:18 +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
Oliver Schmidt ca2552461e Adjusted retro target clock to "new" DNS resolver.
The DNS resolver requires 1/4 sec clock resolution. The retro targets had a 1/2 sec clock resolution (optimized for the 1/2 sec TCP timer) resulting in DNS resolver timeouts being 0. Therefore the retro target clock resolution is now increased to 1/4 sec.
2015-08-04 13:48:08 +02:00
Oliver Schmidt a30e2e0045 Allow to configure Telnetd idle timeout.
The default Telnetd idle timeout of 30 seconds seems somewhat short. Best to have it user-configurable (incl. the option to turn it off with an config value of 0).
2015-07-06 12:25:20 +02:00
Oliver Schmidt 5d039d9848 Optimized retro webbrowser configs.
The change c7b8bac006 optimized memory usage and thus allowed to adjust the retro webbrowser configs for improved web page compatibility.
2015-07-05 16:56:25 +02:00
Oliver Schmidt 2827b2d800 Rearrange Apple II language card usage.
The code of etimer.o has become to large to fit into $D000-$D400. So other object file have been chosen.
2015-06-28 22:12:44 +02:00
Oliver Schmidt 9aee07c9ad Leverage the recently added exec() cmdline support in the cc65 C library for the Apple ][. 2015-04-26 21:45:33 +02:00
Oliver Schmidt a824722862 Merge remote-tracking branch 'upstream/master' 2015-04-26 14:35:40 +02:00
Oliver Schmidt da536cb07c Removed superfluous AppleCommander parameters. 2015-02-21 17:16:08 +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
Adam Dunkels 62b8aafb03 Merge pull request #722 from royscheefhals/contiki-fix
char * data to void * data parameter in process_start
2014-07-28 22:04:36 +02:00
Oliver Schmidt 9ee1bae150 Only wait for a keypress if the user is told to press a key. 2014-07-04 19:33:35 +02: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 d1d6278f42 Added info on W5100 driver. 2014-03-15 16:56:08 +01:00
Adam Dunkels 36a5aadc9e Moved the 6502 custom rules into its own Makefile.customrules-6502 file 2014-01-26 23:20:40 +01: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 a24865de72 Add somewhat more support to use different mouse drivers.
- The default mouse driver is now always named 'contiki.mou'.
- Alternative mouse drivers are present in the disk images.
- Users can select their mouse driver by renaming the files.
2014-01-17 23:45:59 +01:00
Adam Dunkels bb2dcaa057 A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
Oliver Schmidt 2d7d1b123d Added 6502 driver for WIZnet W5100 in MACRAW mode. 2013-11-09 23:15:20 +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 6ab336f55f Several minor consistency improvements. 2013-07-31 00:55:31 +02:00
Oliver Schmidt 79bb5ea73f Removed some more old RCS tags from the Contiki source tree. 2013-06-13 15:54:26 +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 c7b8bac006 Reorganized web page attribute data handling.
- Up to now the web browser used several fixed size arrays to hold the various types attribute data of the web page. This turned out to be way to inflexible for any non-trivial web page. Therefore now all attribute data is stored in a single buffer one after the other as they arrive from the parser only occupying the memory actually needed. This allows for pages with many links with rather short URLs as well as pages with few link with long URLs as well as pages with several simple forms as well as pages with one form with many form inputs.

- Using the actual web page buffer to hold the text buffers of text entry fields was in general a cool idea but in reality it  is often necessary to enter text longer than the size of the text entry field. Therefore the text buffer is now stored in the new unified attribute data buffer.

- Splitting up the process of canonicalizing a link URL and actually navigating to the resulting URL allowed to get rid of the 'tmpurl' buffer used during form submit. Now the form action is canonicalized like a usual link, then the form input name/value pairs are written right into the 'url' buffer and afterwards the navigation is triggered.

- Support for the 'render states' was completely removed. The only actually supported render state was centered output. The new unified attribute buffer would have complicated enumerating all widgets added to the page in order to adjust their position. Therefore I decided to drop the whole feature as the <center> tag is barely used anymore and newer center attributes are to hard to parse.
2013-03-06 16:29:36 +01:00
Oliver Schmidt 65ad87422f Finetuned Language Card usage.
Both the source code and the cc65 compiler have changed. So it made sense to review which object files are to be compiled for placement in the Language Card.
2013-03-06 14:57:24 +01:00
Oliver Schmidt 010d495e03 loader.system is now official part of the cc65 Apple II support. 2013-02-17 00:30:55 +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 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
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 abe360e9fb Added support for the FTP standalone client to the apple2enh target. 2010-10-16 10:41:46 +00:00
oliverschmidt f70d4c600d Minor wording change. 2010-09-29 12:07:02 +00:00
oliverschmidt cd24e920b6 Made cfs-based webserver example compatible with 8.3 file systems. 2010-09-28 20:40:52 +00:00
oliverschmidt 8eeeef17d1 Made cfs-based webserver example compatible with 8.3 file systems. 2010-09-28 19:36:16 +00:00
oliverschmidt b2fe3db298 Just name the binary always 'contiki'. 2010-09-28 19:23:30 +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 cb929a3e5c Adjusted assembler to reference uip_aligned_buf instead of uip_buf. 2010-07-20 20:42:25 +00:00
oliverschmidt bf3ec8c452 Reverting to the "old" plain uip_buf allows the Apple2 to revert to the previous memory layout. 2010-05-08 07:26:20 +00:00
oliverschmidt 62ca797fad The recent change turning uip_buf from an array to a pointer increases the code generated by cc65 significantly :-(
This change modifies the set of modules placed in the Apple2 Language Card to again make maximum use of that memory without overflow.
2010-05-07 21:02:35 +00:00
oliverschmidt 8108585795 Configure maximum number of Apple2 web server connections indirectly via maximum number of TCP connections. 2010-04-11 21:23:45 +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 a66821f1d1 Explicitly turn on forms and centering for consistency reasons. 2010-02-13 10:46:36 +00:00