The Contiki Desktop OS for C64, NES, 8-bit Atari,
Adam Dunkels writes "This is for those of you who think that a text-based operating system that fits compressed on a 1.44Mb floppy counts as 'tiny': the brand new Contiki operating system and desktop environment for the Commodore 64, with ports to a bunch of other platforms such as the 8-bit Nintendo Entertainment System, the VIC-20, 8-bit Ataris, Atari Jaguar, the Tandy CoCo, and the Apple ][ under development. The Contiki system includes
the following: a multi-tasking kernel, a windowing
system and themeable GUI toolkit, a screen saver, a TCP/IP
stack, a personal
web server, and a web
browser. The Contiki web browser, which is likely to be the world's smallest browser given its extremely small memory footprint, is the world's first true web browser for an 8-bit system and probably makes the 21 years old Commodore 64 the oldest system ever to run a real web browser! All of the above programs are contained in a single, fully self-contained, 42 kilobytes large binary. The entire Contiki system with all programs running simultaneously is comfortable in 64 kilobytes of memory. The name 'Contiki' is derived from Thor
Heyerdahl's famous Kon-Tiki
raft which was able to sail across the Pacific Ocean despite being built using prehistoric techniques, something previously thought impossible. There are also screenshots
and a FAQ
avaliable."
This is the closest we've ever been to having a fully native Internet suite for the stock C64. All we need now is a PPP implementation :P
:P
And don't bring up The Wave or any of the other SCPU-only tools - this is straight 1MHz 6510
According to the ports page:
If you know much about electrical engineering, the nesdev community could use your expertise in creating network hardware for the NES. Even a high-speed serial port would be a good thing.
Will I retire or break 10K?
Develop an Ethernet adapter for the NES, and you can. Or develop an RS232 adapter and settle for SLIP/PPP.
This gets me to thinking about how much programing is probably "junk" programming these days. Anyone remember the sequal to Elite? Elite 2: Final Frontiers I think it was called. That had thousands of systems, planets, bases, stations, etc... set up in a game that had "realistic" physics. You could actually land on the planets yourself!
It was 1 disk big (1.44 floppy).
Now I look at Freelancer. A big CD full of great graphics. Yet at the same time I see it as not nearly as complex and thought out as Elite 2.
This is an interesting attempt not to make bigger programs, but tighter ones. Making the most of what you have. It feels like there is so much available on computers these days, that programs aren't concerned with getting the most out of it, just using as much of the bells and whistles as they can. Imagine using the same mentality on a modern computer!
Fuzzy Knights: New RPG Strips Tuesday and Friday!:
http://www.fuzzyknights.com
Seriously, why..? The C64 was a cool piece of machinery in its day but honestly... Who other than sentimental geeks would WANT to browse the web on a C64? Or run anything else than Iridium or Krakout or any of the other cool games..?
I'm not putting the C64 down. I've owned one myself and I've been pretty impressed by some of the things that have been done on it (including Contiki). But I can't help thinking that such talent that it takes to do this could be put to better use.
Maybe it's just me. Come to think of it it probably is..
Remember, there are no stupid questions. But there are a lot of inquisitive idiots.
Anytime you run emulation of any kind there is a considerable amount of overhead, even in the case of emulating an 8-bit computer on a 32-bit platform.
BTW--links has a smaller footprint than lynx and supports graphics under SVGAlib or X.
My journal has hot
OOPS! RTFA!
Drat, It looks like the Atari version is "under development". C64 still wins (temporarily)!
"Lawyers are for sucks."
- Doug McKenzie
Although the focus of this project is not the technology itself I think. This guy has proven to any employeer he will ever approach that he has superior skills when it comes to programming under tight constraints. Enjoy working in the embedded systems industry (and making money hand-over-fist doing it)!
What else is interesting about this is that it goes to show how foolish and blind nearly the entire computer industry is when it comes to technology advances. People can't upgrade to a 10GHz processor fast enough, when all they need to do is check their email. Companies are constantly wasting servers and replacing them with newer models. This is not necessary. Today's software is written so poorly that super high-end hardware is needed to make up for lazy/poor programmers. Look at what these ancient systems can do. That "old" PIII or PII or K6 sitting on your desk is a power house. What's the problem? The software you're running on it is likely to be wasting 75% of the CPU cycles it eats.
It's a shame there aren't more developers or at least software architects out there with this guy's talent. We'd all be saving a hell of a lot of money I think. Then again, hardware prices would increase in proportion to its long-term value. Then again, there's a lot of savings in many ways (largely environmental -- less junk being dumped into the wild at the beginning and end of a computer's life cycle). Of course, I wonder if most of the blame goes to businesses just trying to get software out the door as soon as possible without stopping to think about good design (in all senses).
Why bother.
This is what I call making a point! The very concept of a multitasking OS and web browser/server on a C64 or ATARI is the greatest thing the coding community could do to show how much waste and politics has sucked itself into technology. Not only that, but this OS might even be portable to a watch-sized machine.
-ad105
All of the above is included in the self-contained Contiki binary, which is 42 kilobytes large and runs comfortably in 64 kilobytes of memory.
Kernel, GUI, screen saver, TCP/IP stack, web server, telnet client and web browser in 42 KB? Wow... I suppose the TCP/IP stack is based on his uIP code that's around 5 KB large, using 500 bytes of RAM. =) And I like how the GUI is skinnable. =)
Another cool part is of course that I've studied at the same university as him. hehe.. He was rather well-known there as a "decent" programmer. =) You know, those that writes a complex algorithm, compiles it once, and it works.
Beware: In C++, your friends can see your privates!
looks like the submitter just found this article on osnews and slightly re-worded it.
Incredible, absolutely incredible.
In this day of ever increasing memory and hardware demands for new software, it's nice to see that there are people out there still trying to do new stuff on old hardware.
Old computers never die - They just get TCP/IP stacks written for them!
is that with strict hardware limitations, games could be designed entirely by one person -- or a small group of people -- so a more coherent artistic vision was possible.
These days, with games being created by tens or hundreds of people, what you get is the median quality of everyone's artistry, and it's a lot harder to produce a unique or artful product.
How beautiful to go back and play Crystal Castles coin-op, or Adventure on the Atari 2600, and really hear one person's unique voice.
because it renders the HTML on the fly, without caching.
so, to scroll a page, it has to reload the page and rerender it.
being on 56k is bad enough. i like to forget what 300 baud was like. *shudder*
Keep your packets off my GNU/Girlfriend!
The Coco 3 has a factory amount of 128k RAM... are you sure it's a III and not a II?
Not even close. People have run web browsers on PDP-11s. The PDP-11 was introduced twelve years before the Commodore 64. I suspect that people have run web browsers on computers even older than that.
First of all, your assertion that C is unsuited for 8-bit devices is simply wrong. C compilers are widely used in the embedded development world with extremely limited machines, and such compilers work very well indeed.
As to what constitutes a 'C' complier, you're splitting hairs. If you like, then I'll concede the point that, yes indeed, a fully standards-compliant C compiler is indeed unsuitable for most 8-bit development.
Using your reasoning,though, K&R C isn't really C either, since it isn't ANSI standard. A compiler that takes code which is recognizably C is C. Period. Not ANSI C or even standards compliant, granted, but C nonetheless. You know C? You know the hardware? Then you can use these compilers immediately.
Having used both straight assembler and these same compilers pretty extensively on 8-bit platforms (68HC11, PIC and AVR in my case)I can assure you that they are entirely well-suited for their little respective corners of the embedded universe. Do they produce the highly portable code you might expect of a standards-compliant compiler? Of course not. But then neither would any other language suitable for use with these platforms -- and in any case, portability is the least of your concerns working on a microcontroller with 1024 bytes or less of program memory.
Roving Web-Teleoperated Robot
Why did Mozilla create another web browser? PCs have had the third party Mosaic since around 1993.
Get the point?
Never debase people for trying to build a better mouse trap.
-"I still believe in revolution; I just don't capitalize it anymore." - srini!