Commit graph

22 commits

Author SHA1 Message Date
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
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 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 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 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 3826b8c0c4 Use only the base name of projects as program file name. 2010-01-31 18:21:41 +00:00
oliverschmidt 953d3ce7a0 Now that we have at least two examples working on the cc65 targets it is preferable to not name the program files all 'contiki'. 2010-01-31 09:34:12 +00:00
oliverschmidt 882e4692c7 cc65 2.13. allows to define all necessary paths through the single env var CC65_HOME. 2010-01-27 22:37:15 +00:00
oliverschmidt caaa790add cc65 2.13. comes with secondary linker configs. The 'apple2enh-reboot.cfg' is more or less what was previously engineered as part of Contiki for the Apple2 - now moved into the cc65 distro. 2009-10-18 10:06:44 +00:00
oliverschmidt 2ede893aa6 The feature set of gnumake is really frightening: This time I discovered 'target-specific variable values'... 2008-05-26 11:26:57 +00:00
oliverschmidt f74503c23c Replace non-fully-functional hack with the new gnumake variable CONTIKI_PROJECT. 2008-05-26 10:13:32 +00:00
oliverschmidt a78a7dedbc Added make target 'disk' for creating a .dsk disk image using AppleCommander. 2008-05-22 22:21:43 +00:00
oliverschmidt 85edbc01db Starting with the cc65-snapshot-2.11.9.20080316 the Apple2 C-library supports placing code in the Apple2 Language Card by choosing the code segment 'HIGHCODE'. By default the memory area 0xD400 - 0xE000 is used for HIGHCODE. If the application doesn't need the ProDOS 8 QUIT code then the memory area used for HIGHCODE may be extended to 0xD000 - 0xE000.
Contiki now leverages that feature to place process.o, etimer.o and uip_arp.o in HIGHCODE. These files were carefully chosen as:
- they are necessary for all Ethernet apps
- their size doesn't depend on configuration macros
- they fill the available space nicely (with a little reserve for changes in the source or the compiler)
2008-03-24 22:49:00 +00:00
oliverschmidt 852d2c0283 Introduced very lightweight pfs implementation based on Apple ProDOS.
ProDOS requires for each opened file a user-supplied page-aligned 1024 byte i/o buffer. This makes the generic POSIX file i/o library contained in the cc65 C-library quite heavyweight.

In contrast the lightweight pfs implementation uses the uIP packet buffer as ProDOS i/o buffer. Therefore:
- Only one file may be open at any time.
- That file may not be open while the uIP packet buffer is used by uIP. The open()/read()/close() sequence should be completed before Contiki event scheduling or inside handling a single Contiki event.
- The uIP packet buffer must be large enough to hold the ProDOS I/O buffer. Depending on the position of the uIP buffer in memory this means between 1024 and 1024 + 256 bytes. Therefore in an Ethernet environment setting the MTU_SIZE to at least 1266 is safe (So the default of 1500 is just fine).
2008-01-01 18:49:50 +00:00
oliverschmidt fe023c6d3e Introduced very lightweight log implementation not depending on any file I/O library. 2007-12-21 00:43:57 +00:00
oliverschmidt 00101cc177 Added support for the cc65 target 'apple2enh' (Enhanced Apple //e). 2007-01-03 10:29:17 +00:00