[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Best Way To Transfer Files From a PC to the IIgs



Hi,

>> >Does the Apple II port of Contiki include the personal web server?
[...]
>Yes, I was talking about that...

>   The Contiki personal web server provides a convenient way to transfer
>   files from Contiki to any other computer over the Internet. When the
>   web server has been started under Contiki, the system can be accessed
>   using a regular web browser. The web server supports static content
>   (web pages, pictures, Java applets, etc) as well as dynamically
>   generated HTML.

>Is this something that might be added to the Apple II version in the
>future? I'm sure I'm not the only person who's dreamed of running a web
>server off a 5.25" floppy... 

In fact there are several reasons why I didn't port the Contiki web
server to the Apple2:

1. I think Contiki is primarily about the interactive experience with
the real (or emulated) Apple2 - actually working with a GUI on the
Apple2. From that perspective the server type Contiki Applications
weren't interesting.

2. The existing Contiki web server doesn't fit AS-IS into the 64k
Apple2 memory - and using the extended 64k bank is for technical
reasons out of scope for Contiki.

3. The existing Contiki web server _DOES_NOT_ allow access the the
underlying filesystem (ProDOS 8 for the Apple2 port). Instead it
contains its own memory based virtual filesystem. There are two
reasons for that:
a) The Contiki web is intended to allow to control embedded devices
and for that scenario the virtual filesystem is just perfect.
b) The filesystem used by the Contiki web server has to allow for
random access to files to facilitate retransmissions in case of TCP
errors. Because Contiki comes form the C64 and the C64 filesystem
doesn't allow for random access the code makes the assumption that
access to underlying filesystem isn't feasable - although it would wok
fine with ProDOS8.

4. Changing the Contiki web server behaviour described in 3.) would
require some redesign and I'm see myself as "Contiki system developer"
and not as "Contiki application developer". I've been in contact with
the original Contiki author but recently he didn't work on the project
and in fact doesn't ssem to be interested too much into allowing
access to the underlying filesystem - after all he decided not to do
it in the first place.

I'd like to see a web server on the 8-bit Apple2 as well. My final
goal would be a simple WebDAV server compatible with the existing
WebDAV clients for Windows, Linux and MacOS which allow to map WebDAV
directories into the local filesystem. But that thing doesn't need a
GUI and therefore it should be build on top of uIP (which is the
TCP/IP stack used in Contiki), but not on top of the whole Contiki
beacuse:
a) Contiki uses a lot of extremly precious memory.
b) A web server doesn't need a GUI.
c) The Contiki feature of running several application simultaniously
doesn't make much sense in a scenario where even one application has a
hard time to fit into the memeory.
d) The existing Contiki web server isn't a great starting point it
lacks the required filesystem access but features the not required
dynamic content generation.

Best, Oliver