After quite some time here comes another release of Contiki for the C64 (and C128 in VDC mode). In case you're interested here some info on (some of) the changes since the last release:

1. The Twitter client had to go Twitter just doesn't want any 3rd party clients anymore and successfully drives them away.

2. The email client didn't make any sense anymore (it never did make much anyway). Nowadays everybody uses strong encryption.

3. The FTP client was a similiar case. Without PASV support not interoperable with anything out there. Without support for sending files it was never really useful anyway.

4. The Telnet server is now part of the package. It was "always" there but had a bug keeping it from working with cc65. I found and fixed it because it is used as base for https://github.com/lodger-c64/Contiki-BBS. The C64 demo Telnet server I'm providing comes with the shell command 'wget' allowing you to download a i.e. the Google homepage with 'wget http://www.google.com | write google.htm'. This means that the Telnet server uses two simultaneous TCP connections: One incommming for the Telnet client and one outgoing for the wget command.

5. I'm sure about everybody sees the web browser as most interesting Contiki program. So I went ahead and invested many hours in improvement:

- Originally there were several fixed sized arrays to hold the data of links and forms. While that had the benefit of simple (aka fast and small) 6502 code to access the data it turned out to be simply to inflexible to accommodate somewhat more complex pages. Quite some time ago I changed that with https://github.com/contiki-os/contiki/c ... b121556f5e to use a single buffer containing linked lists of items allocated according to their actual size. As part of that change I moved away from storing input field data in the actual page allowing to support scrolling input fields and hidden input fields.

- In the meantime I fixed quite some issues. Among them there were several fixes improving the "skipping" of unhandled stuff:a) HTTP header field parsing uses a fixed 1024 byte buffer. If a header field was longer the whole page parsing failed. Nowadays many pages set cookies - which are easily larger than 1024 bytes. Now the header field parsing successfully skips too-long header fields.b) Nowadays about every pages comes with huge amounts of JavaScript. That was generally already skipped. But there were two special cases not handled:I. an HTML tag inside a JavaScript string.II. a JavaScript comparison using the less-than operator. Now both cases are handled correctly.

- Regarding the actual page display nowadays people use loads of <div> to structure their content. Inserting a newline for every </div> sometimes meant literally empty pages Instead of blowing up the parser code I opted for a post-processing: There are simply never more than two consecutive newlines rendered.

- I (re-)added the option to quit the C64 web browser and launch the WGET program when hitting any non-(X)HTML content. The WGET program is given the URL to download so that you only have to enter the filename to save as.

6. The C64 web browser and C64 IRC client are now additionally available as "soft80" variants - with the full feature set of 40 column variants! The soft80 support is part of the cc65 C library for the C64 and as such available to other cc65 programs. Thanks to <groepaz@gmx.net> and <greg.king5@verizon.net> for their contribution to the cc65 C library for the C64

7. I moved away from that Contiki online configurator thingy. Contiki now comes as straight disk image download. Either as three .d64 images, as one .d71 image or as one .d81 image. First run ETHCONFIG once to set your Ethernet cart type. Then run IPCONFIG to set your IP configuration either via DHCP or manually.

8. The .zip file containing all the disk images contains a "zip comment". That comment is a GitHub URL listing the last Contiki commits (with their dates) that went into the build. This way you can judge how old/new the stuff is although there's no official Contiki version.

9. The Contiki programs come with IDE64 support. I have however a report that there's a compatibility issue with IDEDOS 0.90. That issue isn't present with IDEDOS 0.91 beta. Another option to workaround the issue is to disable IDE64 with 'KILL'.

For anyone wanting to create their own programs using Contiki, where would you direct them?

Hard to tell:

All official Contiki documentation is about IPv6 or mesh networking. The issue people are facing most is too high power consumption because the MCUs don't sleep long enough deep enough. But "Contiki for Retrocomputing" is about IPv4 and the issue I'm facing most is too much RAM consumption.

All official Contiki documentation is about GCC for Linux or ARM. But "Contiki for Retrocomputing" is about cc65.

All official Contiki documentation is about headless operation. But most "Contiki for Retrocomputing" programs use the CTK UI framework

I've been a fan of Contiki on the Commodore for years--part of the reason why I bought an MMC Replay+RR Net cartridge was so I could use my C64 wih it. And I got a C128 not long ago so I am happy to be able to use Contiki on it as well.

ACTUALLY, the SMTP client was one of my favrotie features of the Contiki OS--I would often have friends and coworkers who are into computers come over and I would play the "Hey, I can send you an email from my Commodore 64" trick which is a fun thing to do.

ACTUALLY, the SMTP client was one of my favrotie features of the Contiki OS--I would often have friends and coworkers who are into computers come over and I would play the "Hey, I can send you an email from my Commodore 64" trick which is a fun thing to do.

You could still send email by connecting to the SMTP server with TELNET (which is how it was originally done anyway). That would make you look even more "1337" in front of your friends

Who is online

Users browsing this forum: No registered users and 2 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum