Commit graph

26 commits

Author SHA1 Message Date
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 a6472c8dd9 Revert to static Ethernet driver for the ATARI.
After all there's no momentum for a W5100-based Ethernet solution on the ATARI. So I revert to static linkage of the CS8900A driver as this improves program load times.
2017-01-27 00:18:25 +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
Christian Groessler c26085ec8c Some 6502 target changes
- platform/atarixl/Makefile.atarixl: put two more objects into high memory
- platform/atarixl/contiki-conf.h: define WWW_CONF_WGET_EXEC
- tools/6502/Makefile: add 'clean' target; remove unused CONTIKI define
2016-06-17 16:42:50 +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 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 5024468c2f Rearranged ATARI memory usage.
The cc65 memory map for the ATARI XL has two holes so the linker needs hints which object files go where. Source changes lead to object file size changes requiring now and then to rearrange the object files.
2015-10-28 12:22:43 +01: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
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
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 510678bed0 Added mouse support for the Atari. 2014-01-20 22:51:40 +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 c6474cc8bc Final adjustments for the switch from 'atari' to 'atarixl'. 2013-10-06 17:23:39 +02:00
Oliver Schmidt 37b66bac5a Finetuned Atari XL memory layout.
The Telent server includes both uIP logging and uIP client functionality. Therefore uip.o is somewhat larger.
2013-10-05 23:51:49 +02:00
Oliver Schmidt 149f3834e6 Adjusted Makefile to the final 'atarixl' cc65 target.
- Assign source files to the splitted shadow RAM areas.
- Switched to dynamic Ethernet driver loading.
2013-10-03 22:40:25 +02:00
Oliver Schmidt 17bbded894 Allow text screen memory to be aligned to 0x2000. 2013-09-10 20:59:19 +02: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 b90a1e2417 Made use of Atari XL shadow RAM.
The new Atari XL target allows cc65 programs to make use of
the shadow RAM. This allows to turn aon all features of the
web browser - and will allow for additional improvements to
come :-)
2013-06-18 22:36:58 +02: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 d636d7110f Added platform 'Atari XL'.
Don't be afraid, I'm not trying to have more retro platforms than "real" platforms ;-)
The platform 'atarixl' will replace the platform 'atari'. However I need both for some
transition period.
2013-06-01 22:49:00 +02:00