So here it is, my slightly corrected version of uIP-0.9 (the same version that RaveGuru's GuruTerm is based upon). What has changed? Well here are some notes:
1.) I've added typecasts for the uip_sethostaddr() and other, similar macros defined in uip.h. So these should now compile with cc65-2.11.9 (december 2007 snapshot).
2.) I've added some lines of assembler I've found here to the cs8900a_init() function (in the cs8900a.c file within the cc65 directory). Those lines are commented out. I use them in order to detect where the RRNet is connected to (MMC or RetroReplay). It may be required for you to uncomment some of the lines in order to make your RRNet initialize properly. I'll add an automated RRNet detection routine in the future (or maybe someone else can contribute his/her solution).
3.) Also in the cc65 directory, you will find the main.c source that now features a new function named "nibbleIP()". You can use this to convert an IP addres in a string to a u16_t array of four elements, each containing an octet of the address.
4.) There are two shell scripts: build.sh and clean.sh. They can be used to compile and link uIP or clean up a previous build. You only have to make sure that your cc65 is set up properly. By default, the uIP webserver application is built with these scripts.
As for today I've got my c64 webserver at home up and running, showing the uIP default website. It's not up anymore, but it works - trust me!
EDIT: If any of you C (cc65) coding wizzards are out there: what about building a simple, telnet based BBS server for the uip-0.9 or contiki 2.1 ip stack / framework?! So you can have a c64, telnet enabled BBS?! I mean: just for fun ... ? I'm serious ...
File comment: fixed version of uIP 0.9. Added typecasts for uip_sethostaddr() macros in uip.h, build.sh/clean.sh scripts and a small routine to read IP address octets from a string.
uip-0.9_cc65fix.tar.gz [659.51 KiB]
Downloaded 294 times