Commit Graph

8222 Commits

Author SHA1 Message Date
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
cdb16c02fa Removed web browser settings that aren't actually different from the defaults. 2013-03-06 15:17:39 +01:00
Oliver Schmidt
65a4472a0d Limit content of web browser version of http-strings to web browser.
In general it seems a bad idea to have two http-strings.c files as this precludes to have them both in the Contiki library. However as it stands it seems most reasonable to have one http-strings.c file be a clean superset of all usecases in order to allow them to run together in a single binary. As webserver/http-strings.c already contained strings not present in webbrowser/http-strings.c it seems reasonable to consider webserver/http-strings.c as the superset described. From that perspective it is appropriate to remove all strings from webbrowser/http-strings.c which are not used by the web browser in order to save memory otherwise wasted.
2013-03-06 15:12:02 +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
49ca10d540 Removed PFS code from C128 WGET.
On the C128 the custom PFS code doesn't add functionality (as it does with IDE64 support on the C64) but is "only" smaller than the POSIX file i/o code in the C library. But the stdio code in the C library (used in WGET for screen i/o) relies on the POSIX file i/o code anyway so there no point in additionally adding the PFS code to the WGET program.
2013-03-06 14:50:51 +01:00
Oliver Schmidt
4d4b796abb Removed useless register keywords.
Modern compilers (especially GCC) ignore the register keyword anyway and the latest cc65 snapshot generates actually larger code with the register keyword at the locations in question.
2013-03-06 14:32:36 +01:00
Oliver Schmidt
d71ce70c54 Made sure that HTML form values get initialized properly. 2013-02-19 21:40:21 +01:00
Oliver Schmidt
d5d646528e Added support for self closing tags.
XHTML requires self closing tags to be used for empty tags, so we need to recognize them.
2013-02-19 00:49:01 +01:00
Oliver Schmidt
374c89be01 Added newline on </div>.
The tag <div> (in contrast to the tag <span>) is normally used to denote content placed on a line by its own. So it makes sense to trigger a newline when </div> is processed.
2013-02-19 00:43:16 +01:00
Oliver Schmidt
4938877dd9 Lifted restrictions on accepted MIME type.
The "normal" web is moving forward quickly reducing the interoperability of the Contiki web browser to nearly zero. The Mobile Web fits the capabilities of the Contiki web browser much better. Modern smartphones don't need the Mobile Web anymore but there are large areas in world with rather low end mobile phones and limited mobile bandwidth where the Mobile Web will be necessary for quite some time.

From that perspective it is reasonable to increase the Contiki web browser's interoperability with the Mobie Web - namely WAP 2.0 aka XHTML MP. XHTML MP is delivered as MIME types 'application/vnd.wap.xhtml+xml' or 'application/xhtml+xml'. Therefore we (try to) parse the document if the MIME type contains the substring 'html' (which is true 'text/html' too).
2013-02-19 00:25:36 +01:00
Oliver Schmidt
15fb63ba9a Harmonized ststus texts and and added status on wrong MIME type. 2013-02-18 23:08:05 +01:00
Oliver Schmidt
6e8e9ffeae Merge pull request #136 from oliverschmidt/master
The new POSIX directory access in the CBM C library comes with a d_blocks field too.
2013-02-16 16:06:10 -08:00
Oliver Schmidt
9970a3631a The new POSIX directory access in the CBM C library comes with a d_blocks field too. 2013-02-17 01:03:51 +01:00
Oliver Schmidt
f6f9ccc87d Merge pull request #132 from oliverschmidt/master
loader.system is now official part of the cc65 Apple II support.
2013-02-16 15:33:27 -08: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
c6620e47aa Merge pull request #131 from oliverschmidt/master
Two minor retro-specific changes.
2013-02-16 15:12:52 -08:00
Oliver Schmidt
d4433a7498 Replaced 10.1.1.1/8 with 192.168.0.0/24. 2013-02-16 23:04:55 +01:00
Oliver Schmidt
61b90c0126 We actually need PROJECT_OBJECTFILES and PROJECT_LIBRARIES for retro builds too. 2013-02-16 22:57:50 +01:00
Nicolas Tsiftes
2eb3c2a492 Merge pull request #94 from alignan/master
Fixes Issue #93
2013-02-16 13:46:09 -08:00
Oliver Schmidt
90186b035d Merge pull request #123 from oliverschmidt/master
Without anybody putting in a veto in the meantime it seems appropriate to merge now...
2013-02-14 07:02:23 -08:00
Oliver Schmidt
9040f83fd4 Reduced program size.
On the C128 the custom PFS code doesn't add functionality (as it does with IDE64 support on the C64) but is "only" smaller than the POSIX file i/o code in the C library. But the POSIX directory access code in the C library relies on the POSIX file i/o code anyway so there no point in additionally adding the PFS code to the FTP program.
2013-02-14 15:57:20 +01:00
Oliver Schmidt
107b79c019 The recent cc65 snapshot yields somewhat small programs so we can move back to the MTU size used before. 2013-02-14 15:45:33 +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
c385dd1393 Be consistent with tab chars in Makefiles. 2013-02-11 00:28:31 +01:00
Oliver Schmidt
ea4fac679f Allow user to read the result of wget.
Several retro targets clear the screen after program termination so allow user to read the result.
2013-02-11 00:24:51 +01:00
Oliver Schmidt
1af5110946 Merge remote-tracking branch 'refs/remotes/origin/master' 2013-02-10 15:51:04 +01:00
Oliver Schmidt
1eda821a75 Fixed severe bug in PSOCK_READTO (?)
Either I found and fixed a severe bug in PSOCK_READTO() or I misunderstood something completely. To me PSOCK_READTO() is supposed to return if either the supplied character was read or if the user supplied buffer is exhausted - sor far so good.

However if the latter occurs up to now PSOCK_READTO() was continuing to process characters already read from the network (aka present in the uIP buffer) in order to check if the supplied character was found there and adjust the return value accordingly. But this means that the character processed this way were lost forever for the caller as the next call to PSOCK_READTO() would continue to read past the characters processed this way.

Therefore I removed that character processing altogether. So now if the user supplied buffer is exhausted before the supplied character is found the next call to PSOCK_READTO() starts exactly where previous call left off.
2013-02-10 15:41:34 +01:00
Oliver Schmidt
1895d3a959 Fixed severe bug in PSOCK_READTO (?)
Either I found and fixed a severe bug in PSOCK_READTO() or I misunderstood something completely. To me PSOCK_READTO() is supposed to return if either the supplied character was read or if the user supplied buffer is exhausted - sor far so good.

However if the latter occurs up to now PSOCK_READTO() was continuing to process characters already read from the network (aka present in the uIP buffer) in order to check if the supplied character was found there and adjust the return value accordingly. But this means that the character processed this way were lost forever for the caller as the next call to PSOCK_READTO() would continue to read past the characters processed this way.

Therefore I removed that character processing altogether. So now if the user supplied buffer is exhausted before the supplied character is found the next call to PSOCK_READTO() starts exactly where previous call left off.
2013-02-09 22:22:31 +01:00
Oliver Schmidt
19c8f9ffdd Merge pull request #122 from oliverschmidt/master
There's no point in ctk_restore() for standalone GUI builds.
2013-02-09 12:50:37 -08:00
Oliver Schmidt
45c44e23d7 There's no point in ctk_restore() for standalone GUI builds. 2013-02-09 21:49:00 +01:00
Oliver Schmidt
c7f986faf5 Merge pull request #121 from oliverschmidt/master
Several minor adjustments.
2013-02-08 17:04:04 -08:00
Oliver Schmidt
21b8be3798 Use plain ASCII chars for lines on Win32 console CTK. 2013-02-09 02:02:46 +01:00
Oliver Schmidt
b1eeaf31c9 Fixed Win32 'platform build'. 2013-02-09 02:00:35 +01:00
Oliver Schmidt
9938cb6838 Adjusted names. 2013-02-09 01:58:37 +01:00
Nicolas Tsiftes
e929857048 Merge pull request #109 from malvira/use-rtc-factor
Improvments to enable low-power mode on mc1322x
2013-02-08 07:13:54 -08:00
Oliver Schmidt
d746786709 Merge pull request #118 from oliverschmidt/master
Added Atari 800k (MyDOS 4.53/4) floppy image.
2013-02-05 14:10:55 -08:00
Oliver Schmidt
5ed35d5c25 Added Atari 800k (MyDOS 4.53/4) floppy image. 2013-02-05 23:06:48 +01:00
Oliver Schmidt
4f337c75fc Merge pull request #117 from oliverschmidt/master
Added Apple II 3.5" floppy image.
2013-02-05 12:09:21 -08:00
Oliver Schmidt
7760b6baac Added Apple II 3.5" floppy image. 2013-02-05 21:07:54 +01:00
Oliver Schmidt
13c842f8e3 Merge pull request #115 from oliverschmidt/master
Reorganized retro distro Makefile (and added telnetd).
2013-02-04 14:30:54 -08:00
Oliver Schmidt
2af9f3f26f Reorganized retro distro Makefile (and added telnetd). 2013-02-04 23:29:07 +01:00
Oliver Schmidt
1324fa66bf Merge pull request #113 from oliverschmidt/master
Allow to reduce functionality if non-standard alloca() isn't available.
2013-02-03 15:51:07 -08:00
Oliver Schmidt
b493395f00 Allow to reduce functionality if non-standard alloca() isn't available. 2013-02-04 00:49:52 +01:00
Oliver Schmidt
b504601262 Merge pull request #112 from oliverschmidt/master
Removed unnecessary -p option from mkdir calls for cmd.exe compatibility.
2013-02-03 14:48:39 -08:00
Oliver Schmidt
efeab670de Removed unnecessary -p option from mkdir calls for cmd.exe compatibility. 2013-02-03 23:47:25 +01:00
Oliver Schmidt
eb1e277039 Merge pull request #111 from oliverschmidt/master
Minor uIP code increase from Contiki 2.5 to Contiki 2.6 make a buffer reduction necessary.
2013-02-03 14:43:18 -08:00
Oliver Schmidt
945b334457 Minor uIP code increase from Contiki 2.5 to Contiki 2.6 make a buffer reduction necessary. 2013-02-03 23:41:20 +01:00
Oliver Schmidt
47a8462e54 Merge pull request #110 from oliverschmidt/master
Removed uiplib_ip6addrconv() from IPv4 builds.
2013-02-03 14:06:20 -08:00
Oliver Schmidt
29391ef9ae Removed uiplib_ip6addrconv() from IPv4 builds.
While it may very well be beneficial to have explict uiplib_ip4addrconv() and uiplib_ip6addrconv() available for IPv6 builds I'm having a hard time to see the point in uiplib_ip6addrconv() for IPv4 builds.

Unrelated to the above the dispatching of uiplib_ipaddrconv() to either uiplib_ip4addrconv() or uiplib_ip6addrconv() can be accomplished by the C preprocessor only thus avoiding the size/speed overhead of an additional callframe.
2013-02-03 23:04:41 +01:00
Mariano Alvira
299d8c6cbf set the pin defaults properly to reduce current consumption on
sleeping M12s.
2013-02-03 15:15:11 -05:00