Slashdot Mirror


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."

386 comments

  1. this begs the question.... by onthefenceman · · Score: 5, Funny

    where do I plug the RJ-45 cable into my NES?

    --
    Have you seen my stapler?
    1. Re:this begs the question.... by djupdal · · Score: 1, Redundant

      You don't. No network support on the NES

    2. Re:this begs the question.... by Anonymous Coward · · Score: 1, Insightful

      Develop an Ethernet adapter for the NES, and you can. Or develop an RS232 adapter and settle for SLIP/PPP.

    3. Re:this begs the question.... by Anonymous Coward · · Score: 0

      No, it raises the question.

    4. Re:this begs the question.... by Darth+Yoshi · · Score: 2, Informative
      where do I plug the RJ-45 cable into my NES?

      Well, if someone was serious about it. The Crystal/Cirrus CS8900A has an 8-bit interface mode. There are a number of projects on the web interfacing it to several 8-bit processors. Someone could conceivably make a cartridge containing an ethernet interface and the Contiki Desktop in ROM (I'm not holding my breath though).

      --
      // TODO: fix sig
    5. Re:this begs the question.... by Junior+J.+Junior+III · · Score: 4, Funny

      No, the real question is: how much do you have to blow on the RJ-45 port in order to get a solid contact?

      --
      You see? You see? Your stupid minds! Stupid! Stupid!
  2. duh by Anonymous Coward · · Score: 0, Funny

    Imagine a beowulf cluster of these! ;o

    1. Re:duh by Anonymous Coward · · Score: 2, Funny

      I'm going to beowulf cluster all the idiots that say, "Imagine a Beowulf Cluster of these!"

      Together we'll have the biggest pile of morons that ever existed!

    2. Re:duh by Trolling4Dollars · · Score: 2, Funny

      Based on my non-scientific calculations... The number of people that have said "Imagine a Beowulf Cluster of these!" has been said is so large that it approaches infinity. ie. it's a constantly growing number with no certain end, a lot like Pi. This is true especially since people are likely to be saying this for a long time to come. Given that assumption, it's fairly safe to say that a cluster of all those "idiots", as you put it, would be quite powerful. No matter what their level of intelligence, the sheer processing power would be pretty enormous! Infinitely enormous, in fact. With this in mind, I think what you have proposed is extremely dangerous. A few years ago on Slashdot this story suggested that as processing power increases, and CPU size decreases, CPUs generate more heat. The idea being that eventually a laptop could become a small sun, or even a black hole might apply to this cluster as well. That would be pretty damn scary! So, to the original poster above; Congrats dude. You've just suggested creating a device that could threaten the entire planet. Depending on which side of the fence I'm on, (I won't say which) you're a terrorist, or... a redeemer. As my friend Gordon would say, "Yup. The volcano for all of them (them being his enemies -ed.) as soon as I take over the world."

    3. Re:duh by xanadu-xtroot.com · · Score: 1

      The number of people that have said "Imagine a Beowulf Cluster of these!" has been said is so large that it approaches infinity. ie. it's a constantly growing number with no certain end, a lot like Pi.

      In Soviet Russia, the Pi eats YOU!

      --
      I'm not a prophet or a stone-age man,
      I'm just a mortal with potential of a super man.
    4. Re:duh by Anonymous Coward · · Score: 0

      reminds me of an episode of "Enterprise" in which the crew, in a battered ship, stumble across an unmanned fully automated ship repair facility, with super-advanced incredible technologies.

      they cant find any place large enough where the central computer would be, to power the entire place..

      util they discover a room with a couple dozen mostly-dead abducted alien beings lying on shelves with fiber optics coming out of their brains!

    5. Re:duh by Bad_Feeling · · Score: 1

      Imagine a beowulf cluster of them!

      --
      Disclaimer: On the other hand, I am kind of a psycho...
    6. Re:duh by H310iSe · · Score: 1

      Imagine a virtual cluster of these? Is there anything useful to do with 10,000 web broswers running on the same box? I guess you'd have to virtualize the C64 on x86 but someone's already done that, right?

      --
      closed minded is as closed minded does
    7. Re:duh by KarmaPolice · · Score: 1

      The number of people that have said "Imagine a Beowulf Cluster of these!" has been said is so large that it approaches infinity.

      A quick google-search for "Imagine a beowolf cluster of these" returns 186 results...

    8. Re:duh by Anonymous Coward · · Score: 0
      " ... so large that it approaches infinity. ie. it's a constantly growing number with no certain end, a lot like Pi."

      Ouch! So, do you think Pi is also "approaching infinity" too because it's decimal representation is infinite?

      Just FYI, Pi is NOT a constantly growing number. Thanks for the humor anyway. ;)

    9. Re:duh by Anonymous Coward · · Score: 0

      Thanks for the clarification. I don't have much in the way of math skills which is why I say that this is totally non-scientific. Glad you liked it though.

  3. aaaaaarg by Anonymous Coward · · Score: 0

    it's called a _realtime os_ you fscing moron, and it's being done at least 56 times the last century.

    Please, start accepting and posting better titles or what!

    1. Re:aaaaaarg by Anonymous Coward · · Score: 0

      You go fit a TCP/IP stack, a web browser, a PPP implementation, and a GUI to control them, in 64k on a stock C64, and then you can say it's been done. Until then, kindly STFU.

  4. images?! by domodude · · Score: 1

    how does this handle images?

    1. Re:images?! by feepcreature · · Score: 2, Informative

      By using the alt tag alternative text, presumably...

      --
      Paul "Say no to feeping creaturism"
    2. Re:images?! by Ace+Rimmer · · Score: 1

      The same way good `old lynx does ;)

      --

      :wq

    3. Re:images?! by lemmingstar · · Score: 2, Informative

      There is a seperate effort to display jpegs on the C64, which is pretty much completely working. They are talking about integrating this into the browser.

      Simalarly for GIFs.

      If you want to see something similar to what it does atm try:

      # lynx http://slashdot.org

      or

      # links http://slashdot.org

      Provided you have either program installed.

    4. Re:images?! by gravelpup · · Score: 1

      ISTR being able to view gifs on my old C64 (actually I think it was a 128 in 64 mode) off a neighborhood BBS, using my trusty 300 baud modem. It took about an hour to download and another 30 minutes to render, but it only crashed the box every once in awhile.

      --

      Things are more like they are now than they ever were before.

    5. Re:images?! by NaDrew · · Score: 1

      Opera 7 has a "Nostalgia" mode which tries to imagine what a C64 Web browser might look like. Screenshot (6KB PNG) It looks a lot like the Contiki browser, funnily enough.

      --
      Vista:XPSP2::ME:98SE
  5. oh come on, by Anonymous Coward · · Score: 1, Interesting

    how well do you expect a C64 to stand up to a slashdotting? There're 5 posts and it's already jammed.
    Nice project though. I just wish it was available for the Amstrad CPC, then I could ressurect my old dinosaur.

    1. Re:oh come on, by Anonymous Coward · · Score: 0

      Exaactly. This is ridiculous. CmdrTaco! You need to do something!

    2. Re:oh come on, by fistynuts · · Score: 1

      Yep, I'd go for a CPC version too.

      --
      "You heard the man, Tubbs.. get undressed."
  6. Can't wait... by borgdows · · Score: 1, Funny

    ...for Doom3 on my Commodore 64!

    I'm sure Carmack is able to do that!

    1. Re:Can't wait... by Anonymous Coward · · Score: 0

      how can you ever mod this post as a flamebait??!?

    2. Re:Can't wait... by sporty · · Score: 1

      Simple. Anything related to cammarak is insulting [/joke]

      --

      -
      ping -f 255.255.255.255 # if only

    3. Re:Can't wait... by Anonymous Coward · · Score: 0

      Who needs Doom when C64 users can play

      Mood!

  7. This fucking 0wns. Period. by Anonymous Coward · · Score: 1, Insightful

    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

    And don't bring up The Wave or any of the other SCPU-only tools - this is straight 1MHz 6510 :P

    1. Re:This fucking 0wns. Period. by Glonoinha · · Score: 1

      I have to agree. I mean he even has a web server running on his C=64, at http://c64.cc65.org and it wasn't even slashdotted (yet)

      I guess the next upgrade is going to be saving the program to tape so he can toss that 1541 disk drive :)

      Load "MultixC64",1,1

      God I miss Jumpman on the C64.

      --
      Glonoinha the MebiByte Slayer
  8. Oh cool! More Java errors! by Anonymous Coward · · Score: 1, Funny

    At last, the effort to bring browser crashes due to poorly written Javascript strings has been brought to the otherwise unafflicted Commodore 64.

    1. Re:Oh cool! More Java errors! by KDan · · Score: 1

      Hmm, I wonder how fast Swing would be on a C64... it's already slow as hell on an Athlon XP 1800+, so on a C64 it probably takes half an hour to draw a button :-P!!!

      Daniel

      --
      Carpe Diem
  9. Thats something! by watzinaneihm · · Score: 2, Interesting

    That should be something, 'cause I can put a commie emulator on my box and run this code from there and I bet the footprint will still be smaller than Lynx.
    Or I coud run an emulator from DOS to get multitasking maybe?

    --
    .ACMD setaloiv siht gnidaeR
  10. Just curious... by dolo666 · · Score: 4, Funny

    Will this work on the TI 99/4A or will I need a few extra 16k memory expansion cards to get up to snuff?

    I still don't understand why any of you use these big computers. We only need 32k to do everything! I'm using one now and although I had to split this message over a cassette tape, it's still better than using those computers that Bill Gates said were too memory rich.

    1. Re:Just curious... by Anonymous Coward · · Score: 1, Informative

      Actually you people joke about stuff like that, but I have a 386 Laptop running FreeDOS that does almost everything that I need a computer to do.

    2. Re:Just curious... by Anonymous Coward · · Score: 0

      I just put Minix 2.0.3 onto a 386DX-20. I've been trying forever to get it to run some sort of Unix, and then someone pointed me to Minix.

      The install was actually pretty easy, I followed the installation procedure exactly, and it installed without any hiccups, and this is an MCA computer. I am mightily impressed. I even splurged and installed the source code for the commands, AND the network code. I still have room to spare on the 80MB hard drive. As ``obsolete'' computers become more and more available, and the tools for playing with them are created, they will really be the new toy of the future.

      Minix -- It just works.

    3. Re:Just curious... by Brent_Litzer · · Score: 1
      Yeah, buy why does a computer even have to be turned on to be used as a doorjamb?

      I used a IBM PS/2 30 with DUAL 3.5 floppies and 640k ram to test my new sledgehammer. At least it was good for something.

      --
      - Just because you can't, doesn't mean you shouldn't
    4. Re:Just curious... by Anonvmous+Coward · · Score: 2, Funny

      "Actually you people joke about stuff like that, but I have a 386 Laptop running FreeDOS that does almost everything that I need a computer to do."

      Liar. We all know that porn quality on an old B&W screen like that would be horrendus!

    5. Re:Just curious... by NoMoreNicksLeft · · Score: 1

      Being that the TMS9900 in the ti99 was crippled with only 256 bytes of memory, yeh you might need a few expansion modules.

      Leave it to TI to hobble the first affordable 16bit CPU in an 8bit mainboard just slightly more ram than the Atari 2600.

    6. Re:Just curious... by Anonymous Coward · · Score: 0

      You obviously never used CSHOW with a Hercules monocrhome monitor then.

    7. Re:Just curious... by b!arg · · Score: 1

      Hence the modifier almost I'm assuming...

      --

      Everybody dies frustrated and sad and that is beautiful
    8. Re:Just curious... by apweiler · · Score: 1

      But a 386 should quite easily run Linux, shouldn't it? Depends on the memory of course, but my NAT router that I'm posting through is a 386DX, 40 Mhz though. Then again, it's got 20 MB of RAM (and no hard drive).

  11. C64 is the oldest? What? by Asprin · · Score: 4, Informative



    Check me if I'm wrong on this, but I believe the Atari 400/800 are a couple of years older than the C64, which would make *it* the oldest system to run a web browser. I had one (an 800) with 32 whopping-mo-fo-kilobytes of RAM in, like, 1981.

    Yeah, that's right, I was a badass.

    --
    "Lawyers are for sucks."
    - Doug McKenzie
    1. Re:C64 is the oldest? What? by Asprin · · Score: 4, Insightful


      OOPS! RTFA!

      Drat, It looks like the Atari version is "under development". C64 still wins (temporarily)!

      --
      "Lawyers are for sucks."
      - Doug McKenzie
    2. Re:C64 is the oldest? What? by Anonymous Coward · · Score: 0

      From the article: "The Contiki web browser is probably the first web browser ever to run on an over 20 years old computer system - the Commodore 64 is from 1982. (This record will be broken when some of the other ports are ready."

      Unless there is another web browser available for the Atari 400/800, then the C64 may very well be the oldest for now.

      E.

    3. Re:C64 is the oldest? What? by TopShelf · · Score: 1

      Makes me wish I hadn't given away my Atari 400 so many years ago. Started with 8K, and paid $200 to expand to a massive 16K back in 1980 (heck, I had to leave it at the store for 2 weeks!). That was a highly underrated computer, in my humble opinion...

      --
      Stop by my site where I write about ERP systems & more
    4. Re:C64 is the oldest? What? by esarjeant · · Score: 1

      I believe both the VIC20 and the PET are older than the C64. While there isn't any networking support on these yet, it does basically work (or so they claim....)

      --

      Eric Sarjeant
      eric[@]sarjeant.com

    5. Re:C64 is the oldest? What? by palad1 · · Score: 1

      Apple ][, 1977

    6. Re:C64 is the oldest? What? by Anonymous Coward · · Score: 0

      does the 400/800 have a com port?

    7. Re:C64 is the oldest? What? by maddogdelta · · Score: 1

      And we could go to the moon and play pong on it. All on 32 kilobytes of ram! Three Dead Trolls in a Baggie have some thoughts about these computers!

      --
      -- There are 10 kinds of people in the world, those who understand binary and those who don't.
    8. Re:C64 is the oldest? What? by Janon · · Score: 1

      How about mini-computers? Aren't there VAXen available from the late seventies that could run 4.3BSD with tcp/ip and lynx? Or even a PDP?

      --

      And poke her, with the soft cushions!!!

    9. Re:C64 is the oldest? What? by Anonymous Coward · · Score: 0

      My bet would be that someone's already done it on a 1970's vintage VAX. Though I think Apple II is actually older than VAX.

    10. Re:C64 is the oldest? What? by Rand+Race · · Score: 1
      Atari 400/800: 1980

      C-64: 1982

      --
      Insanity is the last line of defence for the master diplomat. But you have to lay the groundwork early.
    11. Re:C64 is the oldest? What? by gpinzone · · Score: 1

      Yes, if you bought the 850 interface. Other modem manufacturers used one of the joystick ports as a serial port.

    12. Re:C64 is the oldest? What? by stevel · · Score: 3, Informative

      > My bet would be that someone's already done it
      > on a 1970's vintage VAX

      Sure - Netscape, and before that, NCSA Mosaic, ran just fine on VAX/VMS systems with an Xwindows UI. The first VAX systems are from 1978 (VAX-11/780), and there are still quite a few of these in active use today.

    13. Re:C64 is the oldest? What? by Anonymous Coward · · Score: 0

      The original IMPS weren't switched off until the late 80's / early 90's A C=64 would have a tough job betting that.

    14. Re:C64 is the oldest? What? by Anonymous Coward · · Score: 0

      Atari 400/800 in 1979....

    15. Re:C64 is the oldest? What? by Junior+J.+Junior+III · · Score: 1

      Funny, I thought the PDP-1 was older than the C64...

      --
      You see? You see? Your stupid minds! Stupid! Stupid!
    16. Re:C64 is the oldest? What? by ncc74656 · · Score: 1
      Drat, It looks like the Atari version is "under development". C64 still wins (temporarily)!

      Only until the Apple II port is released. It may be 1977 technology, but it's good 1977 technology! :-)

      --
      20 January 2017: the End of an Error.
    17. Re:C64 is the oldest? What? by RobertKozak · · Score: 1

      The VIC20 is older still than the Commodore 64. So I guess it would be the oldest.

      --
      Bet this .sig looks familiar.
    18. Re:C64 is the oldest? What? by questforme · · Score: 1

      I had both the 400 and 800 in the early 80's(don't remember the specs) but my Dad was into it so much He built a computer 'desk' that looked like an Arcade machine. Monitor on top, Atari below it on pull out tray, printer(yes, we had a printer!) below that, and lastly printer paper and misc. storage on the bottom. Spent many hours playing Moon Lander(I think it's called that, correct Me if I'm wrong) and Centipede with that wonderful old style joystick. Wish I would have started programming on it, oh well.

    19. Re:C64 is the oldest? What? by NoMoreNicksLeft · · Score: 1

      PDP-1 was offered for sale in 1950-1951 at about $100,000 retail, iirc. They probably meant the PDP-11, which is a heck of a machine. Wish I had a Qbus backplane, instead of unibus though. If I am ever able to write a ethernet driver that will fit in a few K so it can coexist with RSX though, this might be fun. If nothing else, I want to be able to do DECNet with my linux server...

    20. Re:C64 is the oldest? What? by Asprin · · Score: 1


      Ohhhhhhhh, maaannnnnnnnnn...... MOOOOON LANNNNNNNDER!

      With the randomly generated "FOR I=1 TO 300: DRAWLINE (I,200,I,200 - RAND(50)) :NEXT I" lunar surface?

      Holy crap, I completely forgot about that one -- you'd think I'd remember it if I spent that much time playing it, eh?

      I also remember a game that drew a random maze and then put you in it (first-person) to find your way out, but I don't remember what it was called.

      --
      "Lawyers are for sucks."
      - Doug McKenzie
    21. Re:C64 is the oldest? What? by MegaFur · · Score: 1

      If you download MAME (www.mame.net), and if you can find llander.zip, you can play the arcade version of Moon Lander (Lunar Lander). One warning though: the standard llander.zip romset used by MAME is not correct--there's specific ROM file for which it always says, '034597.01 NO GOOD DUMP KNOWN'. If you should happen to be able to get a romdump of this rom, you could help the MAME community and, more importantly, the preservation of video games. :-)

      --
      Furry cows moo and decompress.
  12. No PPP by Anonymous Coward · · Score: 0

    TCP/IP stack for Internet networking, either with RS-232/SLIP or Ethernet (PPP is under development). There's no PPP yet folks, so no dial-up access. On the plus side, there is telnet :)

  13. Nowhere, just yet by yerricde · · Score: 3, Insightful

    According to the ports page:

    The NES port of Contiki is developed by Groepaz and currently works but without networking support because there is no networking hardware for the NES available (yet!).

    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?
    1. Re:Nowhere, just yet by brandorf · · Score: 1

      The Controller port has extra pins for serial communication with things like the powerglove and other special controllers, dunno about the speed though.

      --


      Bork Bork Bork!!
    2. Re:Nowhere, just yet by Cap'nCrunk · · Score: 1

      There is a port on the bottom of the NES, and there were rumors floating around back in the day that there would be a modem built to plug into that slot.

    3. Re:Nowhere, just yet by Anonymous Coward · · Score: 0

      What's that funky dohicky behind the rectangular plastic connector that I remember seeing 15 years ago on an NES there for?

      I thought it was some sort of general-purpose IO.

  14. Bigger is not necessarily better. by Mossfoot · · Score: 5, Insightful

    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
    1. Re:Bigger is not necessarily better. by Anonymous Coward · · Score: 1, Informative

      Umm, most of that space is used for graphics, the actual code is around a meg or so.

    2. Re:Bigger is not necessarily better. by spot35 · · Score: 0

      I must tend to agree. I believe the majority of the bloat in the programs these days comes from the languages used. Granted the compilers are pretty good at optimising the output from the languages but the techniques utilised to improve maintainability and extensibility lead to larger programs.

      I'm sure that the reason is that developers have a lot more memory and processing power to play with these days and as a result don't spend as much time in optimisation.

      But then again, a lot of the bloat in programs like Word are for features that only so called 'power users' will use. If these were removed then the size would be greatly reduced. However, you'd get a backlash from the power users asking where their favorite function had gone. Maybe they could release a lite version and a power version (Maybe they do?)

    3. Re:Bigger is not necessarily better. by Hanno · · Score: 5, Interesting

      Nostalgia.

      I recently tried an emulator and had a look at some of the games that I spent hours and days on as a teen. Games such as Mercenary.

      And frankly, most of those games that I had the fondest memory of, from today's perspective, plain and simply suck.

      --

      ------------------
      You may like my a cappella music
    4. Re:Bigger is not necessarily better. by sql*kitten · · Score: 1

      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!

      I think JWZ said it best. Scroll down to the "Random Commentary" section.

    5. Re:Bigger is not necessarily better. by Anonymous Coward · · Score: 0

      You played sucky games then.

    6. Re:Bigger is not necessarily better. by Gadzinka · · Score: 1

      This is an interesting attempt not to make bigger programs, but tighter ones. [...] Imagine using the same mentality on a modern computer!

      Actually this mentality is used on modern computers. To be precise, on game consoles. It's too easy for the PC game to require user to upgrade his memory or video card. For game consoles this is not possible. So the console games with time run faster, smoother on the same hardware.

      Robert

      --
      Bastard Operator From 193.219.28.162
    7. Re:Bigger is not necessarily better. by Quarters · · Score: 1

      Comparing the size of the Elite 2 (1 floppy) and the size of Freelancer (3 CDs) and coming to the conclusion that the size increase is due entirely to code-bloat is ridiculous. It's the graphics. Players want super realism at high resolutions with tons of voice work, character animation, lip syncing, special effects, etc... now. I'm sure that if you did a size breakdown of Freelancer you'd see that the majority of the space it is taking up on the HD is devoted to graphics and sound assets.

    8. Re:Bigger is not necessarily better. by John+Courtland · · Score: 1

      I would have to say that probably about 95% of the data on that CD was not executable code. It's hard to compress graphics in a way that doesn't totally suck up performance and keep high quality. Now don't get me wrong, when I code, I consult Michael Abrash's "Zen of Optimization" quite often to get the most out of my cycles. But graphics are just big, that's all there is to it. I guess you could have the program generate most on the spot, but you would still need RAM to hold it, and cycles to generate it. Vector-based graphics are basically like that.

      Windows, Office, et. al are better examples. They really don't need hi resolution graphics, or animation. So why does Win XP take 1.6 GB? Who knows. But I would bet you can blame quite a bit of it on poor coding practice.

      --
      Slashdot is proof that Sturgeon's Law applies to mankind.
    9. Re:Bigger is not necessarily better. by Anonymous Coward · · Score: 0

      Elite 2 was rubbish. Utterly boring. I'm glad games are bigger if they're better than that.

    10. Re:Bigger is not necessarily better. by Stephen+Williams · · Score: 1

      Elite 2: Final Frontiers I think it was called.

      Frontier: Elite 2. I lost weeks of my life to that game when I was in school.

      It was 1 disk big (1.44 floppy).

      I had the Amiga version, which fitted on a single double-density floppy (~837KiB, due to the Amiga's formatting scheme). IIRC, there were two disks in the box, but the game only took one of them; the other contained a load of sample saved games.

      The Frontier binary was only a few hundred kilobytes in size. Loaded in one load; no multiloading, no overlays.

      -Stephen

    11. Re:Bigger is not necessarily better. by Anonymous Coward · · Score: 0

      First off, as the previous AC said, most of the space in Freelancer/modern 3d games is graphics (textures to be precise).
      Elite 2 solved this by using procedurally generated planets and textures (could you imagine the amount of storage required for the thousands of planets available otherwise? ugh!). The most impressive feat IMO is the programming behind it - the game was written in 100% pure 68000 assembly! It was probably a necessity to get it working - I mean, it even ran on the Amiga, with full texture mapping, 3d spline-based graphics (first game to use them, IIRC), the works - and the most realistic physics ever in a space sim (there still isn't a game that is even close to matching Elite 2 for realism!).

    12. Re:Bigger is not necessarily better. by Anonymous Coward · · Score: 0

      But not all of those 95% are graphics.

      Elite 2 contained detailed data (surface temparature, size, distance from the start, etc..) about thousands of planets. In order to accomplish this all that data was randomly generated when the game was launched with the fixed random seed.

    13. Re:Bigger is not necessarily better. by jez9999 · · Score: 1

      Or, they won't. Ever played Goldeneye on the N64, with no memory expansion in? Most overhyped piece of shite i've ever seen.

    14. Re:Bigger is not necessarily better. by SacredNaCl · · Score: 1

      Back then I was really jealous of my friends Amiga. He could view porn in full color, and even brief porn movies. All I had was monochrome ascii art porn and "beep" sound.

      Amiga was a pretty impressive system for the time period.

      --
      Freedom is merely privilege extended unless enjoyed by one and all.
    15. Re:Bigger is not necessarily better. by Apreche · · Score: 1

      If you notice in many compilers have an option to optimize for size or speed. Optimizing for size results in a smaller executable while speed results in more fps.

      I'm sure you can see that nearly every program today is optimized for speed. Since hard drives in pcs are so big, people wont be pissed off because something takes up 1 gig of space, they'll be pissed because its taking too much time to do stuff. And programmers, like me, who want to be able to creat things easier are using tools like Visual Studio and Object Oriented langauges that result in programs that work fine, but have very large footprints.

      Yeah, it's really neat that when we had shit hardware we were able to write such sweet machine code that we could make it do really cool stuff. Stuff like Descent, and Descent 2, which ran under DOS. The same platform and the same 486 DX4 that ran the 2D dos games like raptor:call of the shadows, which was also pretty awesome.

      If you have the time and effort you can make pretty much any hardware do incredibly cool stuff. There will almost always be a way to use less memory and get more out of it. But, it's easier to go buy a 100$ hard drive, stick it in, and install your giant game. I remember in Descent 2 when you chose how much HD space you wanted to give to the game, during install. The last option was labeled something like CRAZY!!! - 200MB!!! Yeah, crazy then, when my disk was 720MB. Now? I've got more mp3s than that. More than 10 times as many.
      Stuff like this is cool but not practical in a real world money making situation. It took long enough for them to get MOO3 out there, you don't want them spending an extra 5 years so they can squish it small enough to run on the Atari 800XL.

      --
      The GeekNights podcast is going strong. Listen!
    16. Re:Bigger is not necessarily better. by Ed+Avis · · Score: 1

      Feh. The original Elite fitted on a 100 kilobyte floppy. Apart from the cassette version (with fewer ships) which ran in 32 kilobytes, including 10K or so for video memory.

      --
      -- Ed Avis ed@membled.com
    17. Re:Bigger is not necessarily better. by Enfors · · Score: 1
      The most impressive feat IMO is the programming behind it - the game was written in 100% pure 68000 assembly!

      ... as was most Amiga games. You make it sound like that's something unusual.

      --
      -Enfors-
    18. Re:Bigger is not necessarily better. by Anonymous Coward · · Score: 0

      Yes, I despise all of the senseless bloat in todays modern software. I even see books on writing Visual Basic applications for PDA's! But with fater internet connections and bigger hard drives and burnable DVD's I really don't see code bloat going away, it will just get bigger. At least there appears to be an underground of people forming who like small stuff... Oh, and QNX rawks!!

    19. Re:Bigger is not necessarily better. by KDan · · Score: 1

      2 gigs of mp3s? Do you have some super-l33t compression system or something? I don't see how you can fit any decent collection in 2 gigs, not even if you maim the sound with 8kbps or something...

      Daniel

      --
      Carpe Diem
    20. Re:Bigger is not necessarily better. by Provocateur · · Score: 1

      on game consoles

      ...but we're talking about real programs, kid. Programs like browsers, file managers, serious stuff that lets you do things :-)

      --
      WARNING: Smartphones have side effects--most of them undocumented.
    21. Re:Bigger is not necessarily better. by buffer-overflowed · · Score: 1

      Here's a funny story for you.

      When I was still in college I had a typical sort of assignment. Could use any language you wanted. Basically was just a simple sort/db.

      I wrote all of the sorting routines in inline assembly. The bulk was in C.

      It was small, efficient, fairly portable (so long as you stuck to x86 chips) and faster than anything anyone else had in the class.

      I got a C, because "No one uses assembly anymore, it's not efficient." The rules of efficiency have been rewritten, it seems to be drifting towards not how good your program is, but how fast you can crank it out.

      --
      The key to the enjoyment of pop music is to replace any instance of "love" with "C.H.U.D."
    22. Re:Bigger is not necessarily better. by Pastey · · Score: 4, Interesting

      While that is true for some games, I strongly disagree about many, many others I played in my youth.

      Take the aforementioned example: Elite 2. Have you played it recently? The gameplay is STILL rock solid after all this time. The graphics engine is dated, sure, but what other game gives you such an open-ended experience? You could do almost ANYTHING you wanted! The universe was open to you.

      Actually, I'd submit that that is one of the main reasons that games like Grand Theft Auto do so well - the fact that they are so open-ended and leave the decisions up to the player. Scripting is great if it's well done, but how many of us have wished we could have done something different and see the game adapt?


      Overall, it's very sad how many games today are released hoping that eye-candy alone with crap gameplay will sell copies. *cough*Unreal2*cough*

      Brink back some of these ideas from classic gaming! Older games were often head-and-shoulders above modern titles in originality and gameplay because they HAD to be. The platforms at the time were primitive and couldn't rely on eye-candy as a selling point.

      I remember a recent posting here on /. about universities beginning to offer game development majors. I truly hope that something like "gaming heritage 101" is taught to new students. There's a goldmine of great ideas that have been sadly tossed aside that could be salvaged by a savvy developer.

    23. Re:Bigger is not necessarily better. by John+Courtland · · Score: 1

      True, but ten thousand names for planets, for example, at 7 letters a piece average is only a 70KB file. Ten thousand photos of different planets, at 640x480x16 (just an arbitrary number, and low quality) is 5859.375MB = (640 * 480 * 2 * 10000 / (1024*1024)) using raw storage (sorry to get real precise but want to leave no room for error). Using JPG Compression at average 1:20 ratio (let's say) gives you ~ 293MB. Not bad, but those JPG images will look like crap, and there is still the matter of processing that 5GB of data.

      And generating detailed data IS executable code. Even though data needs to exist to draw from, it still needs to be processed. And RAM needs to be present to manipulate all these things anyhow.

      Any data that is text is really a non-issue anyway, text is so easily compressible and isn't large to begin with. I had Quest for Glory 4 (a sort-of unheard of Sierra game), I have two versions, the floppy version (9 floppies) and the CD version. The floppy version was about 20MB, while the CD version had 580+MB of sound data on it, plus the 20MB of game data/code. It really wasn't feasible to compress it with the 486 being the top of the line computer at the time and even if it could have been forced into 50MB via Mpeg compression or others, there still would have been a CD, so why waste cycles and storage space?

      I think it really is that they don't make games as well as they used to (story wise) rather than they make them bloated.

      --
      Slashdot is proof that Sturgeon's Law applies to mankind.
    24. Re:Bigger is not necessarily better. by Anonymous Coward · · Score: 0

      Languages? No.

      The amount of graphical data probably dominates in today's games. Additionally, the use of generic toolkits for things like 3D is somewhat more expensive than custom code that knows about the hardware...but it's difficult to avoid.

      For a lot of programs, the size issue is very much a matter of design. There are usually many more layers of abstractions than necessary using today's OO methodologies....

    25. Re:Bigger is not necessarily better. by Lynn+Benfield · · Score: 1

      The rules of efficiency have been rewritten, it seems to be drifting towards not how good your program is, but how fast you can crank it out.

      That's just a reflection of the times - programmer time is now much more costly than machine time, which wasn't always the case (quite the reverse in fact).

      Look at how popular scripting languages are nowadays - they're popular because they're expressive enough to let you solve problems quickly, even though they can easily be orders of magnitude slower to execute than a hard-coded equivalent.

    26. Re:Bigger is not necessarily better. by Anonymous Coward · · Score: 0

      "So long as you stuck to x86 chips" is not portable.

      And was it also portable across assemblers? There are significant differences in syntax between MS-DOS and Unix assemblers.

      Have you ever heard that premature optimization is the root of all evil?

      Using multiple languages where there isn't a significant advantage, making your program unportable without a significant advantage...both very bad choices.

      BTW: For a sort function, the biggest non-algorithmic difference in performance generally comes from how the items are compared. Consider the performance difference between the C qsort library function and the C++ sort template...

    27. Re:Bigger is not necessarily better. by buffer-overflowed · · Score: 1

      No, it wasn't, wasn't the assignment. Easily could have been however. Apart from that, most code these days is OS dependant, not machine dependant.

      Yes, I have. Worshipping the tin god and all.

      Already would've been, everyone else used non-ANSI C syntax.

      I'm aware. I was anal retentive and young, I used to optimize my code down to the bit and would stay up nights figuring out how to make it as tight as possible. I thought I could write a better quick sort.

      The point was, that type of thinking isn't encouraged.

      --
      The key to the enjoyment of pop music is to replace any instance of "love" with "C.H.U.D."
    28. Re:Bigger is not necessarily better. by Moloch666 · · Score: 1

      My little half brother (don't make me explain) had an N64 and we played a lot of Goldeneye when I visited. I'm not sure if he had the memory expansion. What is gained with it?

      --
      Understanding is a three-edged sword. -- Kosh Naranek
    29. Re:Bigger is not necessarily better. by jweatherley · · Score: 1

      fairly portable (so long as you stuck to x86 chips)

      How does being limited to a single CPU family equate to any sensible meaning of 'portable'?

      --

      --
      Reverse outsourcing: it's the future
    30. Re:Bigger is not necessarily better. by Anonymous Coward · · Score: 0
      Older games were often head-and-shoulders above modern titles in originality and gameplay because they HAD to be.


      You know, in ten years people will be reminiscing the great games of the early 2000's, when games progammers HAD to be creative and concentrate on gameplay because they didn't have 3D holographic displays and eye-directed controllers...

    31. Re:Bigger is not necessarily better. by Moloch666 · · Score: 1

      That professor is a moron. Jealousy probably had a part as well.

      I admire some one who can code anything pratical in assm. That may mean I have to admire a lot of people here on /., so I may withdraw that comment ;)

      --
      Understanding is a three-edged sword. -- Kosh Naranek
    32. Re:Bigger is not necessarily better. by scrytch · · Score: 1

      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).


      True, it had thousands of planets and solar systems, full of nothing. All you need to do to generate millions of systems is a plasma fractal algorithm and a random seed. Elite 2 sucked immensely, and frankly Elite 1 wasn't so interesting as it sounds. You spent ages accellerating to get to your destination, then spent an equal amount of time decellerating. Fighting pirates feels like you're moving a fixed turret, because you're screwed if you actually maneuver to fight them, because you'll lose your orbital approach or just head in too fast to dock.

      Gotta agree with the other poster, it's just sepia tinted memory at work -- grab an emulator and you'll find that you just don't have the patience or tolerance for these limited and primitive games any more. I was playing the Bards Tale II on my emulator the other day, but I just couldn't bring myself to haul out the graph paper to make those dungeon maps like I used to.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    33. Re:Bigger is not necessarily better. by TheLink · · Score: 1

      quake.exe - 400KB.
      glquake.exe - 426KB.
      zqwcl.exe - 516KB
      zqwcl-gl.exe - 460KB

      PAK0.PAK 18MB
      PAK1.PAK 33MB.

      So the bloat really isn't much in terms of code. Which isn't surprising since there are just so many lines of code you can or need to write - if you use a whole bunch of code very often, you don't duplicate it everywhere - you start calling it something and referring to it by name in the rest of your program. Programming is a bit like data/decision compression.

      BTW have you ever played Sundog on the Apple II? Or Autoduel? Or Ali baba?

      --
    34. Re:Bigger is not necessarily better. by Gibbys+Box+of+Trix · · Score: 1

      Rubbish. The expansion pack came out long after Goldeneye and the developers had to code specifically to use it. Goldeneye didn't benefit at all from the use of the expansion pack. Perfect Dark did, but not Goldeneye.

    35. Re:Bigger is not necessarily better. by TheLink · · Score: 2, Insightful

      Yah, plus writing in 68000 assembly language doesn't sound much worse than writing in C. Esp if you have a decent assembler/IDE.

      It's not like it's 8088 asm!

      When I was a kid I was punching 6502 machine code on my Apple II for fun - the only annoying part was calculating the branches. Even modified DOS a bit - more storage space, faster seek times, different sector headers (not the usual D5AA96 D5AAAD ), some reset protection and so on.

      Not all assembly languages are that difficult or ugly.

      --
    36. Re:Bigger is not necessarily better. by ichimunki · · Score: 1

      Can you please point out what he said that qualifies as "best"? Most of the page you linked to is filled with whiny drivel from a guy whose opinion couldn't count less at this point.

      --
      I do not have a signature
    37. Re:Bigger is not necessarily better. by Sycraft-fu · · Score: 1

      Gee, another gamer that remembers the past through rose coloured glasses. Well, you should try actuallly breaking out a copy of Elite 2 and playing it now. See I still do play old games fairly regularly, and I think Freelancer is just great when compared to the Elite series. All the Elite games had a huge universe but complexity they did not. There was only one set of scripted missions in Elite 2, which were buggy, and the universe though huge, was unvaried. The only thing that changed system to system was things like layout and available ships and such. There was no real vairation, only a few systems had any special status that made them at all different.

      Don't get me wrong, Elite and its successors were great, but Freelancer has quite a bit more. Oh, and those flashy graphics and sound? They do add to the experience. I LIKE games that look neat. They are, after all, a visual medium. Slamming a game for having good graphics (Freelancer's graphics are nothing special by the way) is like slamming the Lord of the Rings for the great effects.

      It's true that there are plenty of new games that are no substance all flash but know what? There were old games that were the same way and were basically no anything, just crap. Too many people have a tendancy to look back on the "good old days" and remember only what was good, not what was bad. I seem to recall plenty of just pure shit games for my old PC and SNES.

      As a side note, people also seem to forget that often the games they remember amusing them so much did so because they were younger. I remember when FF2 first came out and one of my firends got it. We'd all hang out and play it together, and it took like 25-30 hours to finally beat it. Now I can walk through that game in under 13 hours game time and can even break down most of the mathematical formulas that govern the game dynamics. It seemed so challenging when I was a preteen, and seems completely trivial now.

    38. Re:Bigger is not necessarily better. by G-funk · · Score: 1

      Yes, goldeneye is much better with the expansion 6-pack.

      --
      Send lawyers, guns, and money!
    39. Re:Bigger is not necessarily better. by kisrael · · Score: 2, Interesting

      Take the aforementioned example: Elite 2. Have you played it recently? The gameplay is STILL rock solid after all this time. The graphics engine is dated, sure, but what other game gives you such an open-ended experience? You could do almost ANYTHING you wanted! The universe was open to you.

      If memory serves, the actual spaceship combat (a big draw for the original) wasn't that much fun...it was too realistic for a game, hyper fast speeds, long distance zapping with beams.

      But yeah, it was a hell of a universe to be able to fit onto a 1.4 floppy!

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    40. Re:Bigger is not necessarily better. by TClevenger · · Score: 1
      My favorite is still Starflight. 800 planets in several dozen star systems, a handful of races. Only three files needed: STARFLT.COM (54k), STARA.COM (256,000 bytes) and STARB.COM (362,496 bytes, or exactly the right size to fit onto a 360K floppy.) Thus, the whole universe (and months of play time) were crammed into less than 720k.

      Actually, I just dragged out an old 486SX-25 laptop on "slow mode" to play it again, because it was timed for 4.77MHz!

    41. Re:Bigger is not necessarily better. by Hubert_Shrump · · Score: 1

      Pirates, Red Storm Rising, M.U.L.E., Realms of Impossibility, Mail Order Monsters, Castlevania, Super Mario [1-3], Metroid, Jet Set Willy, Hostages, Airborne Ranger...

      And those are just home systems, not including what MAME has to offer from the same era from the arcades.

      I still play them, they're still good. True, they don't refute the piles of crap: Bop 'n' Rumble, Robocop, Quo Vadis, E.T.

      You choose what you remember from back then. Maybe you should have been playing different games. ;)

      --
      Keep your packets off my GNU/Girlfriend!
    42. Re:Bigger is not necessarily better. by QuackQuack · · Score: 1

      In other words, the prof didn't understand your code. ;-)

      How could He/she tell you to "use any language", then dock you because you used the wrong one?

      --
      By reading this sig, you agree to the terms of my sig license.
    43. Re:Bigger is not necessarily better. by jgerman · · Score: 1

      Slamming a game for having good graphics (Freelancer's graphics are nothing special by the way) is like slamming the Lord of the Rings for the great effects.



      Hehe yeah. I always thought that too. I never understood bad graphics elitism. To take your Lords of the Rings analogy a step further how about:


      That movie sucked, the effecs were so good I couldn't use my imagination, they should have just scrolled the text from the book up the screen.

      --
      I'm the big fish in the big pond bitch.
    44. Re:Bigger is not necessarily better. by exp(pi*sqrt(163)) · · Score: 1

      I'm currently playing Infocom's Trinity. It's still an awesome game even if it's 15 or so years old and has no graphics. To make my experience as true to life as possible I'm playing it under emulated DOS on my PowerBook :-)

      --
      Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
    45. Re:Bigger is not necessarily better. by Suidae · · Score: 1

      That was my favorite too. I still have pages of documentation on what could be found on each planet and where all the warps are.

      Originally I had to play it on an Epson QX-16, which has an odd keyboard or video interrupt mapping. To get most games to work one had to hack the video routines in the game to use the right interrupts.

      I remember it being so slow that the price of the fuel would be up over 6000 and I would still be puttering around mining and trying to find colony worlds instead of going after that alien home planet.

      I finally was able to play it on a blazingly fast 386/16 and nearly finished the game before it hit 3000.

    46. Re:Bigger is not necessarily better. by RyuuzakiTetsuya · · Score: 1

      Yeah, and most of those games sucked. Open ended gigantic universe doesn't mean anything if there's no clear direction the game has. Like take Mario 64. That had a decently sized game environment, somewhat open in the way you'd go, but you had focus and something to do. Not that i enjoy games that are basically games on rails, but I'd prefer a point to why I'm shooting something rather than blindly doing something for the sake of doing it.

      --
      Non impediti ratione cogitationus.
    47. Re:Bigger is not necessarily better. by jez9999 · · Score: 1

      What is gained with it?

      I'm not sure about this, but I'm told that some smoothness is gained. When I played it (without the memory addon), I found it to have a *very* bad FPS, especially on scenes where there was a lot of scenery (try playing the one set in the jungle). At times it seemed like 5fps or something.

    48. Re:Bigger is not necessarily better. by operagost · · Score: 1

      That's almost 44 hours of music at 128 Kbps, so it's small but by no means indecent. For those of us who prefer at least 192 Kbps or so, yeah, it's tiny.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    49. Re:Bigger is not necessarily better. by Anonymous Coward · · Score: 0

      You'd think that someone that thinks he's a programmer could tell the difference between data and code-generation flags. While many programs use several ill-conceived layers of abstraction resulting in slow, memory-wasting programs, games occupy shit for space without their data files. And there's really jack shit to be done about the size of data files without removing quality or passing the computational price/space performance threshold.

    50. Re:Bigger is not necessarily better. by orac2 · · Score: 1

      I agree - combat in Elite 2 sucked, but I feel the heart of the problem wasn't the physics model itself but rather the same problem that occured in the transition from Doom to Quake -- combat went from fighting off packs, with always the threat and tension of more baddies arriving as your energy and ammo/missiles were depleted, to fighting one or two hostiles at a time. The frenetic pace that was the heart of combat in both Doom and Elite was lost. More realistic combat physics *can* be fun, as illustrated by the Independance Day series.

      --
      "Just once, I'd like to meet an alien menace that wasn't immune to bullets." -- The Brigadier, Dr. Who
    51. Re:Bigger is not necessarily better. by Anonymous Coward · · Score: 0

      feed the birds, tuppence a bag!

    52. Re:Bigger is not necessarily better. by stormraven · · Score: 1

      You played sucky games then.

      Ah you must be the expert on all things sucky then. Our school used to have a C-64, a network of Apples, and some really old sort of PC (I forget what it was). My fondest memory of those long-lost times is of screwing up the entire network of Apples. My second fondest memory is the time I got to spend playing the old games on those old computers. The old games were kinda cool in their own way

      And don't knock text-based games. There were some of those that were really cool. I still play them once in a while too..

    53. Re:Bigger is not necessarily better. by exp(pi*sqrt(163)) · · Score: 1

      I think it was more than 2p.

      --
      Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
    54. Re:Bigger is not necessarily better. by gl4ss · · Score: 1

      track'n'field is still fun too.

      but back to the elite2, tried freelancer? sucks bollocks compared to elite2. in freelancer the 'open ended' means that once you get through the plot you can play 1 types of missions(go to navpoint and kill everything) and do BORING trading compared to elite2..

      deus ex and morrowind are the last games i played that i felt i had a real choice every now and then(heck, i played deus ex through couple of times just to get all aspects covered and to find out if the choices i made were real choices, turned out that they were).. then there's fallout(1&2) of course.

      you did get bored of elite2, but it would keep you captivated for weeks.. all the newspapers with their stories.. planetary shielding.. earth you could fly around(another thing, in freelancer, the solar systems are REALLY small and obviously you can't get to fly in the atmosphere, not to mention that the star systems are like 100 000km wide, compared to the realistical figures in elite2, and don't get me started on how the whole galaxy is so much bigger in elite2 than the few puny systems in freelancer, one could argue that freelancer needs to be what it is because of the plot but any hobo could have copied a better plot from some classic scifi book that would have made more sense)

      in elite you could get thrilled by little things, like that the system that you went to buy your imperial courier lacked automatic pilot systems on sale totally, and then flying back to some space station on sol on MANUAL.

      yeah gaming history SHOULD be a big issue, heck, it should be the thing they would have to learn most, because that way you can avoid doing annoying games and avoid repeating errors done by designers before.

      --
      world was created 5 seconds before this post as it is.
    55. Re:Bigger is not necessarily better. by kisrael · · Score: 1

      Well, it's been too long since I've played for me to sensibly comment much further. But it points out how non-cinematic space combat would likely be...hugely long distance beaming or missile-ing at fanastic velocities...

      --
      SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    56. Re:Bigger is not necessarily better. by Wolfier · · Score: 1

      D5 AA 96!!!
      D5 AA AD!!!

      Gosh, I thought I've forgotten about these stuff EONS ago ;)

    57. Re:Bigger is not necessarily better. by Martigan80 · · Score: 1

      Brink back some of these ideas from classic gaming!

      You are so right. But be careful what you wish for, like many songs that are redone, you don't want a Mili-Vanili creeping up again. But then again you can redo Elite 2 through in killer graphics and many of the teenagers will not even know about the *real* one.

      --
      This SIG pulled due to lack of funding. (This damn war is costing too much!)
    58. Re:Bigger is not necessarily better. by Anonymous Coward · · Score: 0

      JWZ might be a little abrasive, but he is a respected and important member of the community - if you don't know who he is you should find out.

    59. Re:Bigger is not necessarily better. by MegaFur · · Score: 1

      "It's time!" shrieks the bird woman.

      Twas brillig and the slithy toves...

      "Milk and honey,
      Fresh whole lizard,
      killed in the light o' the crescent moon.
      Mix 'em with a pinch o' garlic,
      then stand back 'cause it go boom!"
      "It go boom," mutters the magpie.

      Sorry if that was spoilery. How far have you gotten?

      --
      Furry cows moo and decompress.
  15. Slashdotted already? by Anonymous Coward · · Score: 0

    Their web server must have been running on a C64 or something

  16. VIC 20! by fozzy(pro) · · Score: 3, Funny

    I don't know why i would need to multi-task on a VIC 20 but i'm going to pull her out and see if can get her going. I have a slew of tapes/tape drive or the old beauty. If i can get my EE and CE roomates and buddies to rig up an interface to ethernet then we have a low power webserver pretty soon. It's not hi traffic, but it's not like I get hits like Slashdot.

    Writing support for a HD or faster storage then tape would be the best, but no time right now. Getting a basic webserver over a serial modem should be fairly trivial. Porting a Java shouldn't be and i've always wanted to get JAVA to run on C64, VIC 20, or TRS....Not the embeded version.

    1. Re:VIC 20! by turgid · · Score: 2, Interesting

      I had a ZX81 with a 16k RAM pack and a "proper" keyboard. I also had a multi-tasking FORTH ROM (8k) which was mounted on a daughter board with the BASIC ROM so you could switch between them (with a power off). The FORTH was a native Z80 compiler (not interpreter) and it had user-definable "screens", sort of primitive windows, that programs could output to and update independently. It had a screen editor. It was made by a company called Skywave Software, based in Bournemouthm England IIRC. The multi-tasking was real-time, down to a resolution of 0.02 seconds (the timer ticked at 50Hz). Jobs could be scheduled to start at any time etc. It was such cool fun.

    2. Re:VIC 20! by nikitin2k · · Score: 1
      "If i can get my EE and CE roomates and buddies to rig up an interface to ethernet then we have a low power webserver pretty soon. It's not hi traffic, but it's not like I get hits like Slashdot."

      Oh, if you get a webserver running on a VIC 20 you can count on it getting slashdotted!

    3. Re:VIC 20! by leereyno · · Score: 1

      I do hope you're joking because your plans range from impractical to improbable to simply impossible.

      If you can create a Java interpreter for the 6510, James Randi will pay you a million dollars for demonstrating the existence of supernatural phenomena. The Cubs will probably win the world series right afterwards.

      Lee

      --
      Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
    4. Re:VIC 20! by zapavic · · Score: 1

      First we need to fit everything that *requires* to be within the system (the reason the VIC-20 port currently lacks networking mainly is due to size limitations).

    5. Re:VIC 20! by parkrrrr · · Score: 1

      Way off topic, but... I still have my ZX81, and a Forth ROM for it would be just too cool. Is there an image of this ROM somewhere on the 'net?

    6. Re:VIC 20! by turgid · · Score: 1

      I've never found it, but the ZX81 with the FORTH ROM is still at my parents' house. One of these days I'd like to get the ROM off of it. I'll need to make a serial interface. However, I have never done such a thing before.

    7. Re:VIC 20! by p3d0 · · Score: 1
      You better have a RAM expansion cartridge. The VIC20's default 3.5KB ram won't be able to run this mamoth OS, which weighs in at over 40KB!

      As for getting Java to run on a C64, I'm going to go out on a limb and say it is literally impossible to get anything but the embedded version to run in under 64KB. Even the embedded version will be a challenge. But good luck!

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    8. Re:VIC 20! by Charm · · Score: 1
      I once had multitasking on my Vic20. I wrote a program that had two windows. The left one you could type text in. The right one was calculating primes. It used cooperative multitasking and probably didn't do it very well.

      Without memory expansion getting a webserver on a Vic20 would be hard. In it's real total of 5K RAM minus Screen minus Color, how much data could you serve. Your comment is 659Bytes or so, the frontpage of slashdot is over 30KB not including the images. Of course I'm sure some fool will accomplish it. If only I had a working VIC

      --
      -- RTFM:Slackware::Beer:Saturday
  17. C64 by H3g3m0n · · Score: 1

    All the prwdy images are /.ed =( I think i still have a C64 somwhere around here, maby i'll pull it out. I don't have any of the special cables for networking though. There are other OSes for C64 including multitasking unix based ones.

    --
    cat /dev/urandom > .sig
  18. Cool, but.. by erlando · · Score: 2, Insightful

    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.
    1. Re:Cool, but.. by Anonymous Coward · · Score: 0

      Think about it. Buy a C64 used for like $5-$10, get a 1541 for about the same, buy an X1541 cable for very little, buy an RS232 interface, download this for free, slap it on a disk, and you have a quite low cost Internet-capable machine. Sure, it might not be as pretty as Winblows, but a few years back, if you said 'I bet a stock C64 could connect to the Internet by itself', you'd be laughed at.

      It's all about pushing the classic hardware to its limits. It's the same basic concept that pushes demo coders to do more and more things, like increasing the color resolution, and even increasing the apparent pixel resolution (check out the interlace-scrollers in Krestage and Krestage 2 by Crest).

    2. Re:Cool, but.. by djupdal · · Score: 5, Insightful
      Because it is fun.

      Programming on old 8-bit systems is very different from programming for windows/unix. You must know the hardware better and do optimisations you would not even think about on a modern computer.

      Some people find that challanging and fun. Not everything needs to be useful.

    3. Re:Cool, but.. by Anonymous Coward · · Score: 0

      By asking, you've proved you'll never be a hacker.

    4. Re:Cool, but.. by kennylives · · Score: 2, Insightful

      Fun programming exercise?
      Interesting engineering challenge?
      A way to show off mad skillz?
      A way to develop those skills?
      To make statement regarding bloat in modern systems?
      It's art?
      Because it's there?

      ... or maybe you'd care to define "better use"?

      You're right though, I wouldn't want to run a web browser on there to do anything 'real', but this is the sort of thing that'll get me to haul the old SX64 out of the closet once more (yes, I am one of those "sentimental geeks"). Not because it's some kind of newfound productivity. And not because I neeed another webserver.

      Simply because it's fun.

      --

      Where the value of X-Mailer: is the true measure of a man...

    5. Re:Cool, but.. by gmuslera · · Score: 1
      The best part of C64 is 64kb. You there have in such huge space a multitasking kernel, a GUI, a tcp/ip stack and a web browser. Imagine if linux kernel + XF86 + Mozilla run under not 64k, but 640k, or even 6.4Mb.

      When the hardware resources were expensive even if available, programming was something more optimal that it is now.

      Also things like that with such hardware requeriments could be good for embedded market

    6. Re:Cool, but.. by Anonymous Coward · · Score: 0

      Some people find that challanging and fun. Not everything needs to be useful.

      You're clearly not getting with the program here. Did you miss the memo about it ? Do you care about
      producing vital assets at all ? Ever heard of GNP ?

      You must be a terrorist or you're supporting the terrorist with your laid-back inactivity. Get with the program citizen!

    7. Re:Cool, but.. by selderrr · · Score: 4, Funny

      Not everything needs to be useful.

      That's ridiculous. Hobbies must be useful. That's why we all collect stamps & hotelsoap.

    8. Re:Cool, but.. by Anonymous Coward · · Score: 0

      Seriously, why..? The C64 was a cool piece of machinery in its day but honestly...

      Amen! I'm not sure why people are still stuck with these relics from the past. I'm sure Open Source would be a lot better of if those developers would throw away their C64s and start working on KDE.

      If you want Open Source to prevail then start contributing! You can't do that with a C64

    9. Re:Cool, but.. by Anonymous Coward · · Score: 0


      Seriously, why..?

      For fun. For the challenge. As an excercise to improve ones skill. There are many reasons why someone would do something like this. Asking why someone would do something like this shows that you do not have a very good understanding of true geek culture, you may think that you do but your posed question shows otherwise. Do you also question why people get Apache running on a toaster or why they get FreeBSD running on a sewing machine?

    10. Re:Cool, but.. by Anonymous Coward · · Score: 0

      By admitting that you think this is cool, you've proved you'll never lose your virginity.

    11. Re:Cool, but.. by gilroy · · Score: 1
      Blockquoth the poster:


      You there have in such huge space a multitasking kernel, a GUI, a tcp/ip stack and a web browser. Imagine if linux kernel + XF86 + Mozilla run under not 64k, but 640k, or even 6.4Mb.

      And if Yoda says it's true, it must be true...
    12. Re:Cool, but.. by gilroy · · Score: 1
      Blockquoth the poster:

      Not everything needs to be useful.

      This is a bit of wisdom sorely needed these days.
    13. Re:Cool, but.. by Anonymous Coward · · Score: 0

      Hey, I think it's cool, and I've most certainly lost my virginity. And I'm working on one of the ports, so nyah!

    14. Re:Cool, but.. by Anonymous Coward · · Score: 0

      >>But I can't help thinking that such talent that it takes to do this could be put to better use.

      I've heard people say this to me, several times, about a couple of 'useless' projects that I have spent several years working on. Remember, this is something these people do for recreation, and can have the side effect of allowing somebody to 're-discover' things that can be applied today, as well as allowing them to keep their skills sharp.
      You can't tell me that there is no use for somebody that can create efficient code that can fit into a tiny amount of memory. Just ask any embedded systems programmer about that...

    15. Re:Cool, but.. by SomeoneGotMyNick · · Score: 2, Interesting

      I don't know... It could have uses for the creative mind.

      My digital TV system from the cable company gives me quick news and info in NICE BLOCKY TEXT.

      The C64 has blocky text too....

      I have about 7 64's in the garage. I can take one, rig up RS232 & SLIP through my Linux router, and plug the 64 into the extra AV port of the TV. Now I can get more information IN THE SAME BLOCKY TEXT than I can with digital cable.

      Sure, I can do that with my desktop PC, but i'd have to get off my lazy ass to do it. I'd rather just switch channels with the remote and grab the wired up 64 from the end table and start surfing.

    16. Re:Cool, but.. by SomeoneGotMyNick · · Score: 1

      I collect 8 bit computers....

      Because someday, someone will find out another way to put them to use. (insert tongue in cheek smiley here)

    17. Re:Cool, but.. by kalidasa · · Score: 2

      Think about how cheaply one could produce a tiny embedded comp with the C64's specs. And trying to get a window manager and web browser working on such an underpowered piece of hardware is good practice for doing more practical things with comparable hardware.

    18. Re:Cool, but.. by JohnFluxx · · Score: 1

      oooh, so that is what the soap is for. Collecting!

    19. Re:Cool, but.. by Anonymous Coward · · Score: 0

      you sir are a soulless corporate windrone.

    20. Re:Cool, but.. by Unregistered · · Score: 1

      i collect hotel soap so i don't have to buy soap.

    21. Re:Cool, but.. by TClevenger · · Score: 1

      How about an embedded app? I dunno about the Commie, but an Atari 800XL with 64k of RAM, full color output (and TV output), 4-channel sound, two programmable joystick ports and a serial IO port, and the ubiquitous parallel connector, draws 7.5W at 5VDC. It can boot off of an 8K cartridge and carry up to 16K of bootable material in ROM, can be interfaced with just about any kind of floppy drive, hard drive or IDE FLASH drive on the planet and is easy to program. More powerful than a STAMP; less power draw than a PC, and cheaper than both.

    22. Re:Cool, but.. by Anonymous Coward · · Score: 0

      "All Art is quite useless"
      Oscar Wilde

  19. Re:Thats something! by Surak · · Score: 2, Insightful

    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.

  20. The oldest one that runs a browser, yes... by erinacht · · Score: 1

    The C64 port is ready now, it says on the site that the "oldest" will be put back to the appropriate year when the other ports are ready

  21. Ohh That Poor Commodore by Myriad · · Score: 2, Funny
    A link off the Contiki Screen Shots page listed:
    The first two screen shots are actually historical - they show a Commodore 64 web browser browsing web pages served by a Commodore 64 web server :-) The Commodore 64 web server is hosted by Ullrich von Bassewitz and can be seen in action at http://c64.cc65.org/.

    *sniff* Hmmm, do I smell burning plastic? Ahh yes, there melts another C64 powersupply.

    Oh well, it died an honorable death. Damn /., destroying the remains of our technological history! :)

    Blockwars: a realtime multiplayer game similiar to Tetris.

    --
    "They do not preach that their god will rouse them, a little before the Nuts work loose." Kipling, 'The Sons of Martha'
    1. Re:Ohh That Poor Commodore by master0ne · · Score: 1

      well, weve managed to /. the images, im still getting text, images will not load (and i know its not this computer) :-D

      --
      Noone writes jokes in base 13!
    2. Re:Ohh That Poor Commodore by HiQ · · Score: 1

      Wait till they converted Babages' difference engine to a webserver. There aint no way you're gonna toast that much copper. See it serve page after page: *grind*, *grind*, *grind* *ping!*.

    3. Re:Ohh That Poor Commodore by Anonymous Coward · · Score: 0

      Well it must be noted: this is most prolly the first C64 /.-ed in history ;)

    4. Re:Ohh That Poor Commodore by WWWWolf · · Score: 3, Informative

      The last time the c64 web server was noted in Slashdot, it survived a *long* time. I remembered people posting, puzzledly, stuff like "jesus christ, article has been here for hours and that thing is still up?" =)

      ...and it's up right now! uIP stack rules. Long live 6510!

    5. Re:Ohh That Poor Commodore by Hubert_Shrump · · Score: 1

      Calm down, man. Just chip out the fuse and you're good as new. The whole C64 system is a tank. Speaking of same, anybody have a battery mod for a C64?

      --
      Keep your packets off my GNU/Girlfriend!
  22. Use SLIP for now by yerricde · · Score: 3, Interesting

    There's no PPP yet folks

    Some dial-up Internet access providers still support SLIP (serial line IP), the protocol that PPP largely replaced.

    --
    Will I retire or break 10K?
  23. At last by kinnell · · Score: 5, Funny

    The Commodore 64 market has been screaming for an up to date operating system and web browser for decades. This should breathe new life into a sector which has been seen by many as obsolete, and may well trigger a renaissance in C64 development and application support.

    --
    If I seem short sighted, it is because I stand on the shoulders of midgets
    1. Re:At last by Anonymous Coward · · Score: 0

      "The Commodore 64 market has been screaming for an up to date operating system and web browser for decades"

      Maybe a little louder next time?

  24. Re:Thats something! by Jim+the+Bad · · Score: 5, Funny
    commie emulator

    You mean a version of Eliza that says things like "Comrades, we must seize the means of production!" and "Down with Capitalism!"

    Sorry, I'll get me coat...

    --
    -- And when Justice is gone, there is always... Force. --Laurie Anderson, "Oh Superman"
  25. Pushing the limits by Pastey · · Score: 5, Informative

    Kudos to these guys. My first thoughts after, "No freakin' way!" were, "How the heck did they get ethernet and a C64 together?"

    I figured it was some sort of butt-slow serial hack, but instead they designed their own C64 ethernet cartridge! Nicely done.


    Come to think of it, weren't these the same guys we saw a while back here on /. that had some sort of odd C64 hybrid that streamed audio?

    1. Re:Pushing the limits by Anonymous Coward · · Score: 0

      From the FAQ:

      Is it possible to use Contiki with a broadband or DSL connection?

      Yes, if you have an Ethernet card for your system, it is possible to use Contiki with a broadband or DSL connection.


      DSL on a C64 - that's absolutely beautiful!!!

  26. Server is slow... FAQ and tech by Anonymous Coward · · Score: 4, Informative

    What is Contiki and what is it good for?
    Contiki is an Internet-enabled operating system and desktop environment for a number of smallish systems such as the 8-bit Commodore 64. In short, Contiki is the software needed to access the Internet and browse the web. What makes Contiki special is that it makes it possible to do this even from really constrained systems, which previously have been belived to be too small to be able to run this kind of software.

    Is this about retro or nostalgia?
    No. This is not about playing old games to revive childhood memories. It is about pushing the limits and doing things previously thought impossible.

    What do I need to run Contiki?
    A standard system to which Contiki is ported. In general, there are no expansion boards, CPU accelerators or extra memory cards required, not even a disk drive. An RS-232 (serial) card or Ethernet connection is required for Internet connectivity, however.

    The typical system requirements for the Contiki system is about 20 kilobytes of RAM for the base functionality and about 50 kilobytes for full functionality (desktop icons, web browser, web server, etc.)

    Do I need to upgrade my system to run Contiki?
    No. Contiki is designed to work with unexpanded systems, so there is no need for megabytes of RAM or main board upgrades.

    Does Contiki require megabytes of memory, or 16-bit CPU accellerator upgrades?
    No, in general, Contiki does not require any upgrades, accelerators or expansion kits.

    Does Contiki need assistance of a powerful server to reach the Internet?
    No. Contiki does not require assistance of a powerful PC or *nix server to use the Internet. Everything (TCP/IP, HTTP, HTML, etc.) is done by Contiki on the 8-bit system.

    Is the Contiki web browser really the first browser for 8-bit systems?
    Yes. While there are other programs such as the HyperLink hyper-text document viewer that allow an 8-bit system to browse the web, these programs require a powerful *nix server to translate the Internet content to a simpler format that the 8-bit system understands.Contiki does not require assistance of a powerful server, but is fully self-contained.

    There are also web browsers that claim to run on 8-bit system, but in reality require radically more powerful 16-bit CPUs and megabytes of memory. The Wave is such a browser.

    Is it possible to use Contiki with a modem and a dial-up Internet account? Does Contiki support PPP?
    Lawrence Chitty is currently working on PPP support for Contiki.

    Is it possible to use Contiki with a broadband or DSL connection?
    Yes, if you have an Ethernet card for your system, it is possible to use Contiki with a broadband or DSL connection.

    Does Contiki support pre-emptive multitasking?
    No, Contiki does cooperative multitasking. The reason for not supporting pre-emptive multitasking is that it would unnecessarily increase the complexity not only of the operating system, but also of the applications that would run under it. Pre-emptive multitasking is primarily useful in general purpose multiuser operating systems such as *nix, or in real-time systems where response time is critial. Contiki does not fit in either of those categories.

    Where does the name "Contiki" come from?
    The name "Contiki" is taken from Thor Heyerdahl's famous Kon-Tiki raft. Kon-Tiki was built using prehistoric techniques in order to prove that ancient Polynesians actually were able to sail from South America to the Polynesian islands. Similarly, Contiki runs on prehistoric computers, yet it is able to do much of a modern PC usually does.

    Are there any other uses for Contiki?
    The small size of Contiki could make it useful in small networked systems which are required to be very inexpensive. Such a system could be comprised of a low-cost, low-power, 8-bit microcontroller like an AVR, an Ethernet chip such as the CS8900a, an LCD display and three touch buttons - perhaps something similar to the Mosaic Industries EtherSmart Controller. Contiki would make it possible to surf the web from a device with only a small low-cost 8-bit microcontroller, without needing to use an expensive 32-bit CPU.

    Contiki would not make a good environment for an end-user device such as a handheld PDA or a mobile GSM phone, however, as it don't have the kind of features expected from a web browsing environment of today. There is no Java, no Flash, and it even lacks support for images. Most modern handhelds, PDAs and mobile phones have quite a lot of computing power; many of them are even able to run a graphical version of Linux. For systems of that size, there are better environments than Contiki available.

    At the heart of the Contiki desktop environment is the event driven Contiki kernel. Using non-preemptive multitasking, the Contiki event kernel makes it possible to run several programs in parallel. It also provides message passing mechanisms and timers to the running programs.

    Processes
    In the Contiki event kernel, a process is defined by three entities: the initialization function, the event handler and the idle loop. The idle loop is optional and is called repeatedly whenever the system has nothing else to do (i.e., when no events occur and no timers are scheduled). The event handler is called when an event occurs. The initialization function is used to initialize the program and to register to which events the process is listening. A process the does not have an idle loop must listen to at least one event, or else the process will never be scheduled and will therefore not ever run again.

    Events
    Events can be emitted by all processes and can be directed either towards a particular process, or towards all processes. If the processes are listening for the event, the event handler function will be invoked for each process. An emitted event is accompanied with a pointer that can be used for message passing between processes.

    Timers
    Timers are implemented using events; each event can be scheduled to occur at a given time in the future. The Contiki event kernel will emit the event when the timer goes off. Because the Contiki event kernel never preempts a running process, there are no guarantees about the time-out times.

    Examples
    The figure the left is an illustration of how the Contiki event kernel works. There are four processes in the system and when the system starts, each process' initialization function (here called init()) is called. After the initialization in done, no events are scheduled, so the idle functions of the processes are being run. Only process 2 implements an idle function, and it will be called repeatedly until event 1 is emitted. Processes 1 and 3 have registered a listener for event 1, and each process' event handler function is invoked in response to the event being emitted. Both event handler functions run to completion, after which no events are scheduled so the idle loop is run until event 2 is emitted some time later. Process 4 has registered a listener for this event, so its event handler function is invoked.

    As a more concrete example of how the Contiki event kernel works, consider the Contiki desktop environment. Here, there are several processes running: the GUI and windowing system (i.e., the CTK toolkit), the TCP/IP stack, and all of the programs such as the web browser and e-mail client. Both CTK and the TCP/IP stack implements idle functions, whereas the other processes only implements event handlers. The CTK idle function checks for keypresses and TCP/IP stack's idle function polls the network device driver for incoming packets.

    The Contiki Tool-Kit (CTK) provides graphical user interface primitives such as windows, dialog boxes, buttons and text editing to Contiki and its programs. CTK is designed to be highly modularized which makes it possible to change the appearence of it in a lot of ways and to adapt it to many platforms.

    Frontends and themes
    CTK is divided into two separate modules; the CTK backend, which handles how the user interacts with the windows, buttons, menus, etc., and the CTK frontend which draws the windows onto the screen and grabs keypresses from the user. It is this division that makes CTK portable.

    It is also possible to create different CTK looks, themes, by changing the CTK frontend. Currently, there are three CTK themes:

    ctk-conio
    The textbased "base" theme of CTK. It is designed to be extremely portable; in order to port it to new platforms, it is sufficient to implement as few as three C functions.

    ctk-eyecandy
    A modern looking grayish theme with squared buttons and windows, and a vertical gradient background. Only runs on the Commodore 64 version of Contiki and was the first graphical theme to be implemented.

    ctk-blueround
    A blueish theme with rounded buttons and window borders for the Commodore 64.

    Windows
    Similar to most other desktop GUI systems, windows are central to the design of CTK. Windows are the container of all other user interface elements. In CTK, windows can be moved and closed, but they cannot be resized or iconified. The visible windows form a hierarchy where the bottom windows are overlapped by the front windows. The frontmost window receives the user input and is usually drawn in another color than the back windows.

    Dialogs
    Dialogs are a special kind of windows that do not have a normal window border, and are always on top of the other windows, and focused. Dialogs always appear at the center of the screen and cannot be moved around.

    Menus
    The CTK menus are similar to the Mac OS ones in that there is only one menubar and not one menubar per application. The default configuration is to have the menu bar at the top of the screen (like Mac OS), but since this it up to the actual frontend implementation, it could very well be drawn at the bottom of the screen.

    Widgets
    Like most GUI toolkits, CTK uses user interface widgets to manage the user interface. There are six widget types in CTK: separators, labels, buttons, hyperlinks, text entry widgets and icons.

    Separators

    Separators are passive widgets that only serves the single purpose of separating widgets from each other. Separators have a configurable width, but always has a height of one.

    Labels

    The CTK label widget is a passive widget that displays text. Both height and width are settable.

    Buttons

    CTK buttons are active widgets that, when pressed, emit a ctk_signal_button_pressed signal to the process that created the button.

    Hyperlinks

    CTK hyperlinks are active widgets that emit a ctk_signal_hyperlink_active signal when pressed and a ctk_signal_hyperlink_hover signal when they are selected. The signals are sent to all processes that are listening for the signal. This makes it possible for both the web browser process and the e-mail client process to listen for hyperlinks, and the e-mail process can choose to handle mailto: links, whereas the web browser handles hyperlinks starting with http://. The ctk_signal_hyperlink_hover signal lets the web browser change the status bar message when a hyperlink is selected.

    Text entries

    The CTK textentry widget is an active widget that is the primary text input method of CTK. The text that the text entry widget edits may be wider than the actual width of the widget, and the widget will scroll the text when the cursor moves off the right of the widget. The text entry widget can be multiple characters high.

    Icons

    The primary use of the CTK icon widget is to have desktop icons. When pressed, the CTK icon widget emits the ctk_signal_button_pressed signal.

    The Contiki desktop environment uses version 0.9 of the uIP TCP/IP stack to provide Internet communication. uIP is designed to allow limited systems to enjoy full TCP/IP communication.

    uIP provides the following protocols:

    ARP (IP address to Ethernet MAC address protocol)
    SLIP (Serial Line IP)
    IP (fragment reassembly turned off for Contiki)

    ICMP echo (ping)
    Unicast UDP
    TCP

    In addition to the above protocols, a PPP implementation is currently being developed by Lawrence Chitty.

    DNS - Domain Name System
    In order to run the web browser, Contiki must implement the DNS protocol. DNS maps host names (like www.google.com) into a numerical IP address (like 216.239.51.101) by using a globally distributed database.

    The DNS client in Contiki has a cache of hostname and IP address pairs so that a DNS lookup will not have to be made each time a Contiki program asks for an IP address. The size of the cache is configured at compile time and typically is about 10 entries large.

    The DNS client implementation is not very heavily tested andmay fail with certain DNS names.

    More information
    For more information about the uIP TCP/IP stack, see the uIP homepage at: http://dunkels.com/adam/uip/.

    1. Re:Server is slow... FAQ and tech by usotsuki · · Score: 1

      ;)

      Maybe if I can figure how the "fsck" to get a Thunderclock emulation and a Super Serial working in Dapple ][ (my own Apple ][ emulator, http://sourceforge.net/projects/dapple), it'll be the *perfect* development platform for Contiki ][, especially with the bin2pg2/bloader tool that lets you load a BIN file right off the hard drive.

      Questions though:

      * DOS 3.3, ProDOS 8 or no DOS?
      * Thunderclock or analyze ProDOS 8?
      * Can it work without a clock? Without serial?

      -uso.

      --
      Dreams, dreams, don't doubt dreams, dreaming children's dreaming dreams. Sailor Moon SS
  27. NES Install? by jmt9581 · · Score: 5, Interesting

    How the heck do you get a new operating system onto a gaming console like the NES?

    Are the game controller ports used as serial ports?

    Do you use a specially made cartridge?

    --

    My blog

    1. Re:NES Install? by Jon+Abbott · · Score: 4, Informative

      I believe it is accomplished by having an EEPROM cartridge in the NES that is also connected to a PC via a ribbon to the RS232 (parallel) port. With special software I imagine it would be possible to just erase and rewrite the EEPROM to store the latest version of what you want to play or run. I can't seem to find any information on Google for this, though...

    2. Re:NES Install? by MSTCrow5429 · · Score: 1

      My thoughts exactly. I have a original Game Boy, and I have no idea how I'd get Contiki (if and when a GB port is released) onto it.

      --
      Slashdot: Playing Favorites Since 1997
    3. Re:NES Install? by Dan+East · · Score: 1

      Or it could just be running under an NES emulator. That's probably how it was developed and debugged.

      Dan East

      --
      Better known as 318230.
    4. Re:NES Install? by Anonymous Coward · · Score: 0

      Actually I remeber there was someone who came up with a GameBoy Emulator, and then ported BASIC to GB. They made their own special cartridge to do it though. Google for it.

    5. Re:NES Install? by wantedman · · Score: 1

      What you would want in emulation vernacular is a "mod boy"

      It's a cartrage that fits into your gameboy and accepts 3 1/4 floppy disks. That will prolly be the only way to do it on a RL system, because a GB with a cartrage doesn't have a way to store lots of data, or an easy way to interface with a computer.

      On a side note, GB did have a keyboard. If you could find one of those, then a GB OS might be a fun little toy.

    6. Re:NES Install? by MSTCrow5429 · · Score: 1

      I was aware of the keyboard, but whatever did one do with it? I was never able to figure that out.

      --
      Slashdot: Playing Favorites Since 1997
    7. Re:NES Install? by Anonymous Coward · · Score: 0

      Actually the NES does have a serial port on the bottom behind a door. I'm not sure how usable it is, but it's there!

      --
      M

    8. Re:NES Install? by wantedman · · Score: 1

      It was an add-on for a suite of office management tools, simular to a PDA. It was rather popular too, for those kinda activities. Being expensive as it was, it was still cheap compared to other products at the time(and still is), the only thing that kept it back was the fact that carrying a GB isn't buisness-like.

      Its coolest feature was an autodialer. You just selected a number, hold the GB's speaker to the phone, and it would dial for you.

    9. Re:NES Install? by MSTCrow5429 · · Score: 1

      Any sites that carry info or specs? What was the suite called? I was vaguely aware it had some sort of word processing software.

      --
      Slashdot: Playing Favorites Since 1997
    10. Re:NES Install? by wantedman · · Score: 1

      yes and no, its called the "work boy"

      This site claims to have specs, but the link didn't work Jeff Frohwein's GameBoy Tech

      This site has some info, a illustration and a publisher. emulation zone

      It also seems that sony makes a info red keyboard, that is compatable with GBC.

    11. Re:NES Install? by DonaldBeckman817 · · Score: 1

      how about a gameboy cart to CF flash adapter? about the same size...!

  28. Just imagine... by mivok · · Score: 0, Redundant

    a beowulf cluster of these! Oh, wait..

  29. Contiki programs by Anonymous Coward · · Score: 3, Informative

    The Contiki screen saver is started when there has been no user input for a configurable amount of time, usually for five minutes. The screen saver is part of the architecture specific files for Contiki and there currently only is a screen saver for the Commodore 64 version.

    The Commodore 64 screen saver shows two small pillars of fire at the left and right edges of the screen. The fires are drawn using 8x8 pixel blocks, colored in firery colors (red, yellow and white). The screen shots below gives an idea of how it looks, but the fires of course look better when actually running.

    The Contiki web browser is not only the world's first true web browser for 8-bit systems, but also the smallest browser available and sets a new record for the oldest computer ever to browse the world wide web.

    The Contiki web browser contains the essentials of what's needed to browse the web. It does DNS lookups, talks HTTP (over TCP/IP) to fetch web pages over the Internet and renders HTML pages with text, hyperlinks and forms. There is currently no support for pictures or JavaScript.

    Smallest
    Regular web browsers require several megabytes of RAM and disk space. The Contiki web browser only needs a few kilobytes of RAM and no disk at all. With a code footprint of 9 kilobytes and with a total of only 4 kilobytes of RAM required, it might very well be the world's smallest web browser.

    Oldest
    The Contiki web browser is probably the first web browser ever to run on an over 20 years old computer system - the Commodore 64 is from 1982. (This record will be broken when some of the other ports are ready.)

    First
    While it has been possible for some time to use an 8-bit platform for web browsing, previous browser-type programs for 8-bit platforms have required assistance of special programs running on much more powerful Unix or PC servers to be able to reach the Internet and display web pages. This is how Cameron Kaiser's C64 HyperLink hyper-text document viewer, the Uzix FudeBrowZer for MSX, and the VIC 20 WAP browser work. Other browsers have claimed to be running on 8-bit platforms, while in reality they require much more powerful 16-bit CPUs and more memory than most 8-bit systems can handle. The Wave is an example of such a browser.

    The Contiki web browser does not need any special proxy programs or Unix servers. Instead, it connects directly to the Internet, downloads and displays web pages and provide a user interface, without extra software or special power-servers. It is therefore the world's first true web browser for an 8-bit system.

    User agent string
    If you see something like the following in your web server logs, you know you've had a visitation from the Contiki web browser:

    User-Agent: Contiki/1.0 (Commodore 64; http://dunkels.com/adam/contiki/)
    Ideas for the future
    In the current version, the main limiting factor is the memory usage. By optimizing the web browser code and introducing loadable program modules, more memory will be made available for feature enhancements. Some of the possible future features are:

    Buffering for faster scrolling. The current version of the Contiki browser does not buffer the downloaded web pages. Instead, it parses the HTML on-the-fly and only stores what's actually shown on the screen. This means that in order to scroll down a page, the page has to be downloaded from the web server again. By buffering a larger part of the web page, scrolling could be made radically faster. Adding support for this will be straightforward as the current architecture already is designed for this extension.

    File and full disk downloads. Being able to directly download files from the Internet down to a C64 disk or tape would be a very nice feature to have. Also, the ability to directly download a full D64 image to a C64 disk would be a nice way to get new software and demos for the C64. Since latest version of cc65 now supports file I/O, this feature could probably be quite easily added.

    Improved forms support. Currently, only forms with a GET action is supported, and only the input types submit, text and image.

    Tabbed browsing. Starting with Mozilla and Galeon, many modern browsers have started using a feature known as tabbed browsing. With tabbed browsing, multiple browser sessions can be kept in parallel and accessed using special buttons at the top of the browser window. Adding tabbed browsing to the Contiki web browser will probably require a more sophisticated memory management on the Contiki web browser's part as well as more RAM, but should otherwise pose no fundamental problems.

    Viewing JPEG images. The amazing JPX/Juddpeg C64 JPEG viewer by Adrian Gonzalez and Steve Judd shows that it is possible to render JPEG images on a C64. Their code could perhaps be incorporated into the Contiki browser which would facilitate viewing inline JPEG images in the web pages. The main problems with JPEG decoding is that it probably requires a lot of CPU cycles, and might use too much memory to be possible to incorporate in the Contiki browser.

    Viewing GIF images. There are several GIF viewers available for the Commodore 64, and it might similarly be possible to integrate one of these into the Contiki browser. GIF image decoding should be less CPU intensive than JPEG decoding, and uses less memory since it does not require as much memory for tables as JPEG decoding.

    SID player plugin. Downloading SID tunes to listen to while browsing should be possible. By reserving the memory between $1000 and $2000, a lot of SID tunes could be used.

    Flash plugin. Olivier Debon's Flash player is quite small - only about 9k when compiled for the x86 - so it just might be possible to port it to the C64.

    Java virtual machine for running Java applets. While this idea is more far fetched than the above ones, it should be noted that Brian Bagnall actually is working on porting/implementing a Java virtual machine for the C64.

    The Contiki personal web server provides a convenient way to transfer files from Contiki to any other computer over the Internet. The web server currently only works with the Ethernet-equipped Commodore 64.

    The web server works by sending a full C64 disk image as a D64 disk image over the Internet. The D64 disk image can be downloaded using a regular web browser. Future versions of the web server will make it possible to download selected files and read the directory over the Internet.

    The Contiki telnet client is intended to make it possible to do text-based remote logins to Unix servers from Contiki. It is currently under development and when finished, the Contiki telnet client will implement a VT100 compatible terminal which will allow screen based programs such as vi and emacs to be run from Contiki.

    Currently, the Contiki telnet client only is good for doing other stuff than actually running telnet. It can be used as a poor man's e-mail program, for instance.

    Or it can be used to read and post Usenet news.

    HTTP and HTML purists can even use it as a very simple web browser.

    Apart from the two applications that come with Contiki 1.0 (the web browser, the web server and the telnet client), there are a few applications under development:

    An e-mail program.

    An IRC client.
    More applications are expected to be developed.

    The Contiki e-mail program will eventually support reading and sending e-mail from Contiki. It currently is possible to send mails, but getting incoming e-mails have not yet been implemented.

    The Contiki e-mail program first will need to be configured with identifying information and the names of the e-mail servers that will be used for sending and receiving e-mail.

    Once configured, one can start typing in short e-mails.

    Of course, we don't want to accidentally erase the message we spent so much time typing in. As can be seen from the screen shot, the program isnt bug free yet (where is that "No" button?).

    '
    And off we go! The e-mail is converted from the Commodore PETSCII encoding into regular ASCII before sending, hence the captialized text in the mail.

    1. Re:Contiki programs by Anonymous Coward · · Score: 0


      Damn you people, writing your bloated 10-kilobyte HTML pages just to complicate the lives of C64 programmers!

  30. not to be confused with... by Anonymous Coward · · Score: 0

    Kontiki - another dot-bomb by Kleiner Perkins

  31. Re:Pyjama Farm by Anonymous Coward · · Score: 0

    Monday 6:30AM in California, as I awaken I find this site slashdotted. WTF?

  32. Darn... by CoolVibe · · Score: 4, Funny
    Where was this stuff 10 years ago? I wouldn't have dumped my c64 for that stupid x86 hardware. *sigh*

    Seriously, this is very cool stuff. I might dig up my old CBM from the attic to play with this. Now only to be able to hook my oceanic 1541 drive to my PC or my Mac somehow. Or are there ways to simulate a c64 disk drive from a PC with a resoldered C64 disk cable?

    How _does_ one transfer software from PC to a real hardware C64 nowadays? Can some people in the know drop some pointers to FAQ's and links?

    1. Re:Darn... by Anonymous Coward · · Score: 1, Informative

      Get one of the X1541 cable variants, the XE1541 would probably be best for you. It connects a CBM serial drive to the parport on a PC. Get Star Commander to transfer disks (although I dunno if the Oceanic will support SC's turbo/warp speed, you might be stuck with the bog slow normal speed).

    2. Re:Darn... by Anonymous Coward · · Score: 0

      You build a simple 5 wire cable from parallel port to C1541 serial bus, plus driver software for your OS. Search Google and Usenet. Software exists for DOS, Linux, Windows, etc. etc. It is very simple to do.

    3. Re:Darn... by Anonymous Coward · · Score: 0

      Linux people generally use
      cbm4linux

    4. Re:Darn... by WWWWolf · · Score: 1

      Try software and instructions from FUNET's archive. I have used a cable to connect the 1541 to PC serial port and there was a DOS program used to transfer data back and forth - unfortunately for me, I have the Less Supported Cable (I wish my father had made an x1541 cable for me instead of a Trans64 cable, that might have also been supported by Linux software...). I believe there also are programs that make PC appear to C64 as a disk drive.

    5. Re:Darn... by mkro · · Score: 2, Informative

      Introducing... The Catweasel MK3.

      This beauty will let you:
      • Read and write 1100 disk formats. Okay, we'll take that one with a grain of salt, but still, if it only can read C64, Amiga and Atari disks, it's more than enough for me. That still can't be done with a software-only solution.
      • Use the original SID chip for listening to C64 music - dunno if support is implemented in any emulators yet.
      • Connect original C64/Amiga/Atari joysticks! Zipstick! Yay!

      Another cool feature is that the same card can be connected to the PCI bus, Amiga's Zorro bus OR the Amiga 1200's clock port. Three different connectors on the same card. Leet? ;)

      How much? 84,90 EUR. That's less than $95.
      Now, tell me you don't want one :)
      --
      I shall go and tell the indestructible man that someone plans to murder him.
    6. Re:Darn... by CoolVibe · · Score: 1
      hey, that's pretty slick. Since I also have my miggy stashed somewhere, this thing could be actually useful to me :)

      Thanks for the tip! And yes, that thing _is_ kinda leet, in an oldschool sorta way :)

    7. Re:Darn... by Anonymous Coward · · Score: 0

      1541EMU:
      http://members.surfeu.fi/1541/

    8. Re:Darn... by usotsuki · · Score: 1

      Grep google for "Star Commander".

      -uso.

      --
      Dreams, dreams, don't doubt dreams, dreaming children's dreaming dreams. Sailor Moon SS
  33. Sinclair Spectrum Contiki Developer Wanted! by erinacht · · Score: 4, Funny

    Please some clever person with no value on their time: Make a version for the spectrum, the world needs this! The speccy is a (modified) Z80, so is the NES (as I remember) - it should be possible and possibly quite easy that would be so cool! Web browsing on a rubber keyboard, those fancy CBM machines are almost "real" computers by comparison

    1. Re:Sinclair Spectrum Contiki Developer Wanted! by djupdal · · Score: 1

      Just a little fact; the NES uses a 6502, and so is much more similar to the C64 than the Spectrum is. You are perhaps thinking of the Gameboy which uses a modified Z80.

    2. Re:Sinclair Spectrum Contiki Developer Wanted! by turgid · · Score: 1

      The Z80 has a much more complex instruction set than the 6502, so it might be possible to fit this sort of thing into less RAM on the Spetrum? Also, there is the alternate register set which would make context switching really fast if you limited your "user-mode" programs to use only the main registers. Sounds like a fun project :-) Funily enough this morning I was just wondering about the feasablility of multi-tasking on the old (z80-based) Amstrad PCW machines...

    3. Re:Sinclair Spectrum Contiki Developer Wanted! by cybermace5 · · Score: 1

      The 64 used a 6502 chip, like the Apples.

      Now, if porting to the Z80 is possible, how long before a TI-85 port? Serving web pages from my 6-year-old calculator...heh.

      --
      ...
    4. Re:Sinclair Spectrum Contiki Developer Wanted! by eno7 · · Score: 1

      I believe that Sinclair Spectrum (including clones) is the only mass produced 8-bit computer today without TCP/IP stack. Amstrad CPC, BBC B, C64, C128, MSX, Atari 8-bit, Apple II variants, they all have it. Some of them have alternative GUI operating systems.
      Speccy is my favorite and i would like to see a contiki port.

    5. Re:Sinclair Spectrum Contiki Developer Wanted! by Anonymous Coward · · Score: 0

      It works man. Have a look for Amstrad networking and TCP/IP for CPC and that kind of thing. I'm fairly sure there's a CPC webserver, and maybe a browser too? And multitasking is definitely available in a number of OSes. There's no question the Z80 can manage, i think poor old C64 programmers are scared of the instruction set ;-)

    6. Re:Sinclair Spectrum Contiki Developer Wanted! by Anonymous Coward · · Score: 0

      Cooperative multitasking and GUI have been done for the Speccy ages ago. See MSX, see SIOS, etc, etc, etc...

      I have seen TCP/IP, too.

    7. Re:Sinclair Spectrum Contiki Developer Wanted! by Anonymous Coward · · Score: 0

      Z80?
      Hm, my TI86 has a Z80 cpu and 128k ram...
      would be fun to run a browser on that one ;)

  34. Contiki Links by Anonymous Coward · · Score: 4, Informative
    Contiki Links

    URL: http://dunkels.com/adam/contiki/links.html

    System information and emulators

    Commodore 64/128

    The Commodore 64 is based on the 6510 CPU, which is a 6502-derived 8-bit CPU. It has 64k of RAM and 16k ROM which includes a BASIC interpreter and some basic I/O services. Graphics is provided by the VIC chip which has 16 colors and a maximum resolution of 320x200 in hi-res mode. It provides a 40x25 raster of characters in character mode. The three voices of digital sound is produced by the SID chip.

    The Commodore 128 is an extended version of the Commodore 64 that contains a 8510 CPU which is capable of 2 MHz operation and can address 128k RAM (hence the name Commodore 128). It also has a Commodore 64 compatibility mode which is extremely similar to a regular C64 but with a few minor differences.

    SuperCPU

    The SuperCPU is a 20 MHz 16-bit 65816-based computer that is plugged into the back of the Commodore 64 or 128. It uses the C64 keyboard and joysticks for input and the VIC and SID chips for audiovisual output. The SuperCPU is capable of addressing several megabytes of memory and is usually used together with a 16 megabytes RAM expansion board.

    There are no SuperCPU emulators avaliable.

    Links
    • The VICE emulator is capable of emulating a large number of Commodore machines. It emulates the C64, the C128, the VIC20, most of the PET models, and the CBM-II. VICE runs under Windows, Linux, FreeBSD, and a number of other host systems.
    • Joakim Eriksson's Web C64 emulator, written in Java, runs as an applet within a web browser.
    • Per Håkan Sundell's CCS64 emulator works under Windows and DOS.
    • The ec64 emulator is developed for Linux and was originally written entirely in x86 assembler.
    • An article by Simon N Goodwin about C64 emulators.
    • The Commodore emulators category in the Dmoz has more links.
    Operating systems and desktop environments

    Commodore 64/128

    There are plenty of alternative operating systems for the C64, mostly written in 6502 assembler. Some of them are far from complete, however, and only appear as dark shadows on a few web pages - MagerValp's SMOS and my own osT are among those.

    • GEOS from 1986 probably is the most well-known graphical operating system for the C64. It is still sold commercially by CMDKEY.com.
    • LUnix NG is an open-source multi-tasking operating system with TCP/IP/PPP-support, a *nix-like command shell, and a number of *nix-like utilities such as ls and cp.
    • Craig Bruce's ACE is a text-based single-tasking operating system for the 64 and the 128. It provides a *nix-like command shell, a text-editor, a terminal program for the SwiftLink RS232 interface, as well as device drivers for a lot of devices
    • GeckOS/A65 is a multi-tasking operating system with TCP/IP support and a *nix-like command shell.
    • Wheels is a version of GEOS that requires RAM expansion to run.
    SuperCPU

    With its 20 MHz and megabytes of memory, the SuperCPU is powerful enough to run fully-fledged graphical operating systems that rival early Machintosh or Microsoft Windows systems.

    • Wings is a TCP/IP-enabled graphical operating system for the SuperCPU. It includes a MOD music player, JPEG viewer, web page download utility, etc.
    • JOS is an older version of Wings.
    Internet software

    TCP/IP and PPP connectivity

    To surf the web, send or read email, etc., the first step is to actually get in touch with the Internet. This requires both physical access to an ISP, either via a modem and a phone-line or an Ethernet broadband connection, and the TCP/IP software running on the C64.

    There are a number of programs that make it possible to reach the Internet with a C64/C128.

    • LUnix NG contains a TCP/IP stack and a PPP implementation which makes it possible to reach the Internet using a modem and a dial-up ISP.
    • GeckOS/A65 also contains a TCP/IP stack, but no PPP dialer.
    • My own uIP TCP/IP stack has been used for some time to run a web server on a Commodore 64. uIP currently does not include a PPP dialer.
    • Novaterm 10 contains a PPP dialer and enough TCP/IP code to be able to run telnet over the Internet.
    Application programs

    SuperCPU

    All of the above mentioned SuperCPU operating systems have TCP/IP support.

    • The Wave is a web browser for the SuperCPU (and not for the Commodore 64/128 as the web page claims) that runs under the Wheels operating systems. Here is another page with information about The Wave (that also falsely claims that The Wave is for the Commodore 64/128). The latter page also includes screenshots of The Wave in action.
    Commodore 64/128

    Small graphical user-interfaces (GUIs)

    User interfaces for embedded systems range from the simple buttons on the front of a washing machine to those of fully fledged web browser type interfaces on information stations. The underlying technology varies from simple electronic circuits to full-scale PC compatibles.

    • PicoGUI is a GUI architecture designed for embedded systems to desktop machines. It does not require any supporting GUI system and can be used on anything from graphical screens to text based systems. Their smallest target system are handheld terminals and the compiled object code size is on the order of hundreds of kilobytes.
    • Microwindows/NanoGUI is a graphical user interface system designed to run without support from an underlying system. On 16-bit systems Microwindows is about 64k large.
    Small web browsers

    The smallest web browsers are usually specially designed for the limitations of embedded systems and other specialized computers such as car navigation systems, set-top boxes and medical equipment. There are also a few small web browsers for old DOS PCs available.

    • Interniche's NicheView Portable Embedded Web Browser is probably the smallest full-featured web browser around with its 35 kilobytes code footprint. There is also an additional JavaScript module available.
    • AU-systems' AU Mobile Internet Browser supports both HTML/TCP/IP and WML/WAP as well as SSL. It occupies 340 kilobytes of code (plus an additional 190 kilobytes for the protocol stacks) and uses 5 kilobytes of RAM when idle (plus 8 kilobytes used by the protocol stacks). Extra RAM is used when downloading web pages.
    • The Fusion WebPilot Embedded Micro-Browser supports much of the features found in modern web browsers including frames, authentication, and JavaScript. The web page does not specify memory footprint.
    • MicroDigial's Graphical MicroBrowser supports tables, frames, images as well as FTP as uses 260 kilobytes of code memory and requires a minimum of 210 kilobytes of RAM apart from that. A demo version is available.
    • The 2net Alice Web Browser is intended for handheld computers and PC based architectures and requires 400 kilobyte of free RAM and 200 kilobytes of code memory. It includes a TCP/IP stack.
    • WebBoy is a fully-fledged browser with SSL support intended for 386 DOS boxes with more than 4 megabytes of memory. Includes a TCP/IP stack.
    • The Arachne web browser runs under MS-DOS or Linux and requires at least 1 megabyte of memory. Does not include a TCP/IP/PPP stack.
    • Lynx is probably the most well-known text-based web browser around. It is ported to many different operating systems and architectures including MS-DOS.
    • The Off by One Web Browser has been labeled as the smallest web browser ever, but is quite large in comparison with other small web browsers. It is 1.1 megabytes large and requires support from an underlying Windows operating system.
    • Mirko Sobe's BOSS-X HTML browser for 8-bit Ataris is not a full web browser, but an off-line HTML viewer with hyperlinking abilities written in three days.
    • The pre-alpha v0.3 GEMWeb browser supports 640x480x16 VGA.
    • The Atari Phoenix Web Browser is a non-existant vapor-ware web browser project intended for the 8-bit Ataris.
    1. Re:Contiki Links by daddymac · · Score: 1
      * GEOS [zimmers.net] from 1986 probably is the most well-known graphical operating system for the C64. It is still sold commercially by CMDKEY.com
      They better be careful... the trashcan icon in this screenshot looks alot like Apple's patented icon!
      --
      If something I said can be interpreted two ways, and one of the ways makes you sad or angry, I meant the other one.
  35. This was released WAY back by siliconeyes · · Score: 4, Funny

    You guys are so behind times man! Katz's buddy Junis from Afghanistan was beta testing this a year back!

    1. Re:This was released WAY back by amentia · · Score: 1

      Yeah, this is so 2002.

      But I can't find the C64 movie player Junis used on any of the contiki-pages, though.

  36. Wow!(obligatory joke) by YeeHaW_Jelte · · Score: 0, Redundant

    Can't wait to see what a beowulf cluster of these will do!

    --

    ---
    "The chances of a demonic possession spreading are remote -- relax."
    1. Re:Wow!(obligatory joke) by Anonymous Coward · · Score: 0

      PLAYED OUT. Bigtime.

    2. Re:Wow!(obligatory joke) by Jonny+Ringo · · Score: 1

      I believe it will allow you to increase your google search results to show a total of 40 at a time instead of 20.

  37. I am the developer of this OS ! by Anonymous Coward · · Score: 0

    What should I do with my life?

  38. Distro media by per+unit+analyzer · · Score: 1
    Are they going to distribute Contiki on cassette tape? (Unfortunately my subscription to Cursor magazine lapsed years ago.)

    I'm dying to dig my old Commodore PET out of the basement to get Contiki up and running, though I haven't the foggiest idea how I'm going to to get usable code off of the net and onto a CBM disk. Anyone know where the latest verion of gcc for the PET is located? :-)

    --zawada

    --
    In Soviet Russia, the Beowulf cluster imagines you!
    1. Re:Distro media by Dan+East · · Score: 1

      Wouldn't you rather type in thousands of lines of raw numbers, like we used to back in the days of COMPUTE! magazine?

      Dan East

      --
      Better known as 318230.
    2. Re:Distro media by TheRaven64 · · Score: 1

      I'm fairly sure I recall reading a while back about a program that could convert binarys to wav files, which could then be recorded to a tape. I'd be quite interested in a cartridge with a copy on it, for an instant boot, although it would make upgrading more difficult. Is it possible to buy c-64 carts with EEPROMS in them, and programmers cheaply?

      --
      I am TheRaven on Soylent News
  39. and our kids will say ... by Anonymous Coward · · Score: 0

    Cool .. older OS used to fit in 1 small 650 MB RW-CD ... and would run on 32 MB RAM ...

  40. Death Match ahoy! by joshsnow · · Score: 4, Funny

    Excellent! Now I can play Monty on the Run and Sanxion in Death Match mode..

  41. Better than Chinese landfills (& C64 Apple ][ by Thorrablot · · Score: 1
    This is really clever - Kudos to Adam and his crew for breathing new life into old technology!

    Not only will this allow a new lease on life to old equipment (which otherwise would likely be leaching arsenic into a third world water table somewhere), it's also an opportunity for low-income folks to get onto the net.

    My college days were spent writing educational software for these 8-bit, 6502-based systems (typing tutors, etc.) These were great machines to "cut your teeth" on - ROM-based BASIC interpreters, software bootstrapped OS, 320x200 graphics in "8" colors - including black and white (Okay - C64 had more than Apple ][, I admit...) Ahh... 10 HGR2 : HCOLOR 3 : HPLOT 20,20 TO 300, 200...

    These ~1Mhz systems are going to have their work cut out for them trying to multitask, but I presume that their TCP/IP traffic is going to be limited to the comm technology of their day (1200/2400 baud)

    Also - I think the Apple ][ has the drop on C64 in age - Commodore had the PET our before the 64, methinks...

    --
    Any sufficiently advanced technology is indistinguishable from a rigged demo. -- James Klass
  42. I'm waiting for the BBC Micro version by mustrum_ridcully · · Score: 1

    Ooh, wonder if they'll do a version for the BBC Micro (http://www.nvg.ntnu.no/bbc/) and I wonder if I could knock up an RJ45 to Econet socket adpator ;-)

    No reason why this isn't possible, port lynx to the beeb, get the tcp/ip stack sorted, port ppp and finally see what modem I can get running off the RS423 port. Then cram it onto a 40-track 320kb floppy.

    1. Re:I'm waiting for the BBC Micro version by mustrum_ridcully · · Score: 1

      I known replying to my own post!

      Someone correct me if I'm wrong but I'm sure someone implemented a telnet or similar client for the BBC micro - I sure I remember seeing beebs runing as unix terminals back in the early 90's.

    2. Re:I'm waiting for the BBC Micro version by horza · · Score: 1

      Unlikely. I can't remember seeing a TCP/IP stack for the BBC. More likely the beebs were connected as dumb terminals using ymodem or zmodem over the serial port, with the server acting as a gateway to telnet.

      Phillip.

    3. Re:I'm waiting for the BBC Micro version by chiller2 · · Score: 1

      I can see it now...

      BBC Computer 32k

      BASIC

      > *RUN kontiki
      Searching..
      Loading kontiki 00

      ;)

      Given the wealth of ports available and the fact it is also a 6502 based system, it should be possible. Hey if Superior Software managed to squeeze Exile in there, well.. nuff said.

      --
      --- Commission free trading & free stock up to $500 - use http://share.robinhood.com/kelvinp6 :)
    4. Re:I'm waiting for the BBC Micro version by Anonymous Coward · · Score: 0

      MOS tends to get in the way, and means zero page can't be hijacked. Whilst I haven't looked at Contiki in detail, I seem to remember this being the reason why LUnix NG couldn't be ported last I looked.

    5. Re:I'm waiting for the BBC Micro version by Anonymous Coward · · Score: 0

      er... why would you use ymodem or zmodem?

      For telnet, a serial connection is all they would need - no protocol beyond that required.

    6. Re:I'm waiting for the BBC Micro version by fistynuts · · Score: 1

      I should imagine an Econet -> Ethernet interface would be possible. Anyone fancy massively multiplayer CAVE? :-)

      --
      "You heard the man, Tubbs.. get undressed."
  43. Moderators on Crack III by turgid · · Score: 1

    Look, if might be flamebait or even funny or troll, but it certainly is On Topic. It is referring to the aparent insanity of the developers. Get a grip of your lives.

    1. Re:Moderators on Crack III by Anonymous Coward · · Score: 0

      seriously, how did you ever get to be so stupid? are you paid?

    2. Re:Moderators on Crack III by turgid · · Score: 1

      No, it's just the way I am...This is slashdot, you're not meant to be sane and rational.

    3. Re:Moderators on Crack III by Anonymous Coward · · Score: 0

      seriously, how did you ever get to be so stupid? are you paid?

      works for our president

  44. An amazing project. by Lethyos · · Score: 4, Insightful

    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.
    1. Re:An amazing project. by trash+eighty · · Score: 4, Interesting
      Today's software is written so poorly that super high-end hardware is needed to make up for lazy/poor programmers.


      the problem today compared to back when all code had to be small, tight and efficient is that there is a much greater demand for programming. the actual number of good, top flight coders is always going to be small as it was back then but these days you have a lot more code that needs to be churned out so a lot of it gets done by journeymen programmers (and i include myself in that)

    2. Re:An amazing project. by Lethyos · · Score: 1

      but these days you have a lot more code that needs to be churned out so a lot of it gets done by journeymen programmers (and i include myself in that)

      I have to group myself into this category as well. I am perpetually driven by the "just get it done" mantra of my superiors and that is a real shame. I try my best to come up with good design and good code quickly, but that rarely works out. Worse still, good design does not fit well into a big picture of poor design.

      The software industry needs a wake-up call. With players like Microsoft all pissing in this pot, there seems to be no hope. I cannot think of any other industry that produces similarly shitty products. If cars, alarm clocks, chairs, buildings and so forth were all built with the same principles, we'd all be dead, late, dead, and more dead.

      --
      Why bother.
    3. Re:An amazing project. by Anonymous Coward · · Score: 0

      Enjoy working in the embedded systems industry (and making money hand-over-fist doing it)!

      Yeah, In India.

    4. Re:An amazing project. by JimDabell · · Score: 1

      Today's software is written so poorly that super high-end hardware is needed to make up for lazy/poor programmers.

      No. The market has determined that programmer brains are far more valuable than cpu cycles. It's cheaper to upgrade a cpu than it is to upgrade a brain.

      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.

      In all reality, it's probably just that he spent a lot of time on it. Programmer time is expensive to businesses. I'm sure if people were willing to spend more money on software, they could save a little money on hardware.

      Good engineering practices don't equate to small code. For example, reuse of existing libraries may increase overall code size compared with something written from scratch, but is usually a better engineering choice, as the libraries can be tested individually, and mature long before use in any particular application.

      Yes, I'm talking mainly about desktop computers, which usually requires different constraints for the applications than embedded devices. Don't mix the two up, the skills demonstrated here could apply very well to embedded programming, but they are less useful in a desktop environment.

    5. Re:An amazing project. by TheRaven64 · · Score: 4, Interesting
      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.

      How true. A couple of years ago I was given some code to review, written by an 'experienced' (i.e. paid more than me) programmer. I tryed to run it on a ppro 200, which was just painful. After about an hour of hacking it I'd got the CPU utilisation down to <60%. By the end of the day I had got it down to <20%. After that I came to the conclusion that coders should not be allowed fast machines for testing. You may need a powerful workstation for compiling (although with incremental compiling and good code this is debatable) but testing on a fast machine really does encourage bad code.

      It was quite entertaining watching this guy's reaction when he read my changes to his code. 'How does that work? ... That wouldn't work! ... Oh. ... Hmmm ... Wow.' Almost as good as the expression on my project manager's face when I pointed out that they'd missed out the standard IP clause from my contract, an observation that was quickly followed by an offer of sponsorship.

      --
      I am TheRaven on Soylent News
    6. Re:An amazing project. by Lethyos · · Score: 1

      Points well taken (with many nods). Just a few comments:

      Good engineering practices don't equate to small code. For example, reuse of existing libraries may increase overall code size compared with something written from scratch, but is usually a better engineering choice, as the libraries can be tested individually, and mature long before use in any particular application.

      Yes, I'm talking mainly about desktop computers, which usually requires different constraints for the applications than embedded devices. Don't mix the two up, the skills demonstrated here could apply very well to embedded programming, but they are less useful in a desktop environment.


      Granted, much of what makes Contiki impressive is its tiny footprint. Fitting all that into 48Kb is astonishing. But aside from memory constraints, there's the issue of raw crunching power. To do what Continki does requires code that gets a lot done in very few cycles. Good and clever algorithms make up a huge part of this. So don't get me wrong: I understand small code is not the end all of software design. Sure, bubble sort is four lines of code, but is an order or two slower than most other algorithms which are much larger in implementation and resource consumption (I realize this is not a good real-world example -- just to make a point). I am of course not against the use of libraries (and I fail to see how they make code larger ;-). The problem is, a lot of people fall back to poorly written libraries that may not be as mature as perceived. They're only used because they are convenient. I think I would be preaching to the choir if I were to enumerate examples. What I am trying to get across here is that there are principle that easily apply to both worlds (and quite possibly all) of software design. I apologize also for using "software design" as a blanket term -- I mean to encompass efficiency in senses other than size.

      Of course, I could just be droning on here... I am stuck in bed with the flu at the moment.

      --
      Why bother.
    7. Re:An amazing project. by Anonymous Coward · · Score: 0

      you're completely right. I'm always wondering, why watching the screensaver completely sucks. Even the simplest screensavers are not moving as smoothely on my 1200 Mhz, 256M laptop as on a lousy Atari ST.

      How come? It's a shame.
      *t

    8. Re:An amazing project. by JimDabell · · Score: 1

      Fitting all that into 48Kb is astonishing. But aside from memory constraints, there's the issue of raw crunching power. To do what Continki does requires code that gets a lot done in very few cycles. Good and clever algorithms make up a huge part of this.

      I agree, with one caveat: efficient code can often be far less elegant than "normal" code. For example, there are plenty of goto statements in the Linux kernel. Using some of the more advanced features of C++ can have an efficiency impact, even if it does result in a simpler, more easily understood architecture.

      The problem is, a lot of people fall back to poorly written libraries that may not be as mature as perceived. They're only used because they are convenient.

      Yes, but the libraries can be improved or replaced independently of the applications. I believe there is a tiny libc floating around somewhere, for instance.

      Oh, and when I was referring to when I said that libraries can bloat an app, consider a configuration file format in xml. Although it may never need to support anything other than us-ascii, use of an xml parser library would include code for unicode support at the very least, when a custom-written parser would not. Hence the trade-off between a well-understood, mature library, and a new, efficient chunk of code specific to that application. This is the kind of thing that would result in different choices for embedded vs desktop constraints.

    9. Re:An amazing project. by fdisk3hs · · Score: 1

      "The software you're running on it is likely to be wasting 75% of the CPU cycles it eats."

      Yeah, I thought the same thing when I jumped from C64 to 386. Couldn't do much more with it, but code ran faster...

      "Today's software is written so poorly that super high-end hardware is needed to make up for lazy/poor programmers. "

      I agree with this too, but most shops are stuck with Microsoft on Intel because of existing investments in infrastructure. So you have to buy the new hardware to run the new OS that runs the new applications...

      "Look at what these ancient systems can do."

      Yeah, multi-tasking! I can wait for a bit to be loaded from the cassette while I wait for a bit to be painted onto the screen...

      Ok, I'm not real nostalgic about old systems since I'm currently ready to smash my 68040 Mac because Debian is so unstable and slow on it. Yes, it is amazing what they've done with an 8-bit machine...

      LR

    10. Re:An amazing project. by evilviper · · Score: 2, Insightful
      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.

      Uh, no, I'd say Opera is a much better demonstration of that fact... Mozilla and IE are how big?!!!

      It's not secret that modern programmers waste huge ammounts of performance. Just look at KDE. However, that doesn't mean you have to use what is commonly being churned out.

      I am an OpenBSD user myself, the OS performs amazingly, and is very very small. I could fit the OS and all the programs I use in 512MB... (OpenBSD, OpenBox WM, GIMP, MPlayer, Web Browser). The only place things get hairy is with the web browser. Opera is nice, but I despise it's horrible UI, and no fast browsers have even the basice features I need, so I typically use Mozilla or Konqueror, which would be a bit slow on a 100MHz PC. If the Dillo developers just add a few more features, and improve stability, we'd have a good web browser too. Then again, Konq-embedded works fairly well if you are willing to give up on those minor features, like printing, multiple windows, folders to organize bookmarks, etc.

      Since the OS, and the programs I use are very quick, I would be happy with a 100MHz machine with a 512MB hard drive. With soft updates, I could do just fine with an old 4500RPM hard drive a well.

      --

      Now, ignorng the unfortunate browser situation (since it will likely improve), there is just one problem... Multimedia. No matter how great you are at programming, you can only get so much performance out of a 100MHz CPU. Playback has some reasonably modest requirements (I can play downscaled, downsampled DivX video on my 106MHz handheld), but encoding is the big problem. Even if every program you use is incredibly fast, you still need to get a fast damn processor to encode multimedia at reasonable speeds, and large storage to save it.

      So, although everything else would be fine on a 100MHz system, I still have to have a 750MHz Athlon (which oddly enough runs mencoder as fast as my 1.2GHz P3 Celeron in my notebook) to encode video. For other people, video games are their poison, and since they need such a fast system to run their games, they don't care that Windows XP is eating up such a huge ammount of their CPU, RAM, and HDD.

      My point is just that so many people just don't care about the requirements, that it is more cost effective to make an ineffecient program. Unfortunately, many people who don't play games, or encode multimedia, want to use these ineffecient programs, and so they have no choice but to jump on the upgrade bandwagon as well. At least, that's the current state of affairs.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    11. Re:An amazing project. by Lethyos · · Score: 1

      you're completely right. I'm always wondering, why watching the screensaver completely sucks. Even the simplest screensavers are not moving as smoothely on my 1200 Mhz, 256M laptop as on a lousy Atari ST.

      How come? It's a shame.


      I do admit that those machines have very good graphics routines because, well, they were designed for doing graphics. Their graphics processors are also optimized for rendering to lower end monitors (like televisions) and could time the interlacing and refresh properly to achieve really solid graphics effects.

      Any time you design a piece of hardware towards a specific function, you get amazing results. Whenever I play a few games on my SuperNES, I think "this machine is less powerful than an old IBM AT, but look at what it can do -- 3.87MHz designed for gaming can do a lot".

      Now let me jump into more modern things. Your screensaver not appearing to be silky smooth can be from a couple reasons: 1) the author may not be as talented as those who implement powerful graphics libraries, and thus his/her rendering routines may not be as fast; 2) not using certain graphics libraries on some platforms means having to go through the environment's layers of abstraction. Modern operating systems do not allow direct hardware access unless you go through certian libraries (this is correct enough for the purposes of this discussion).

      I bet if you look around for some screensavers that utilize your 3D accellerator, you'll be very pleased. I remember when I first got my nVidia TNT2 card and downloaded RivaLights (a non-Glide version of VoodooLights), a program that spun a bunch of lense-flare textures around on flat polys. Incredibly cool effect and silky smooth (usually got a full 30 fps). Today on my G4 PowerBook, I've got a couple of screensavers with OS X 10.2 that do some nifty things. There's one screensaver that pans pictures around on the display with a very subtle zoom that looks like you're watching physical photos get moved around. It's amazingly solid and rendered with OpenGL (as everything else is on this platform :-).

      --
      Why bother.
    12. Re:An amazing project. by Lethyos · · Score: 1

      I agree, with one caveat: efficient code can often be far less elegant than "normal" code. For example, there are plenty of goto statements in the Linux kernel. Using some of the more advanced features of C++ can have an efficiency impact, even if it does result in a simpler, more easily understood architecture.

      Kind of forgot about this little issue: endless trade offs. Do you want to spend less time running the program or maintaining it? :-)

      Yes, but the libraries can be improved or replaced independently of the applications. I believe there is a tiny libc floating around somewhere, for instance.

      You are talking about this, I believe. :-)

      Oh, and when I was referring to when I said that libraries can bloat an app, consider a configuration file format in xml. Although it may never need to support anything other than us-ascii, use of an xml parser library would include code for unicode support at the very least, when a custom-written parser would not. Hence the trade-off between a well-understood, mature library, and a new, efficient chunk of code specific to that application. This is the kind of thing that would result in different choices for embedded vs desktop constraints.

      *nod* I guess I can honestly admit I would rather see developers use the big XML library when developing for general purpose systems. Primarily because the big library will serve many more applications than a fine-tuned specific one -- as more apps use a library, the total efficiency in the system goes up, even if there is a performance hit on a case-by-case basis. I think this makes my original point moot in a lot of ways. :-)

      --
      Why bother.
    13. Re:An amazing project. by La+Temperanza · · Score: 1

      Actually, your 68040 is 32 bits. Better smash your PCs too and save up for an Opteron. :)

      --

      --
      est modus in rebus
    14. Re:An amazing project. by theperplepigg · · Score: 2, Insightful
      If cars, alarm clocks, chairs, buildings and so forth were all built with the same principles, we'd all be dead, late, dead, and more dead.

      I understand the cars, alarm clocks, and buildings. But exactly how buggy would a chair have to be to kill someone??

      More on topic, I think that many people are taught the "just get it done" thing even in college. Granted, the teachers might not actually teach that way on purpose, but most comp scis I know have at least once pulled an allnighter to finish a program the night before it is due. In that circumstance, it is not always so much "Does it work?" as "Does it appear to work?" A TA or professor might have a cheap little script to test the main functionality of the program, but it usually doesn't test limits and bounderies very much. With so many of us leaving college with this mentality (and not just us programmers, either) It's easy to see why such a problem is so prevalent. Of course, as with everything, there are always a handful who never partied in college (even us geeks party!) and actually leave with all the information they were given to become really good coders. And while the rest of us may include quite a few good coders, too, the fact is that the slacker mentality will probably still be present in the workplace, because we are "taught" that it works.

      --paul

      --
      -- Every time you kill a kitten, God masturbates.
    15. Re:An amazing project. by Lethyos · · Score: 1

      I understand the cars, alarm clocks, and buildings. But exactly how buggy would a chair have to be to kill someone??

      I imagine a person could sit down in a chair, expecting it to work correctly, when suddenly it gives out, they fall backwards, and break their neck. :-)

      More on topic, I think that many people are taught the "just get it done" thing even in college. Granted, the teachers might not actually teach that way on purpose, but most comp scis I know have at least once pulled an allnighter to finish a program the night before it is due. In that circumstance, it is not always so much "Does it work?" as "Does it appear to work?" A TA or professor might have a cheap little script to test the main functionality of the program, but it usually doesn't test limits and bounderies very much. With so many of us leaving college with this mentality (and not just us programmers, either) It's easy to see why such a problem is so prevalent. Of course, as with everything, there are always a handful who never partied in college (even us geeks party!) and actually leave with all the information they were given to become really good coders. And while the rest of us may include quite a few good coders, too, the fact is that the slacker mentality will probably still be present in the workplace, because we are "taught" that it works.

      You are absolutely right with this. One of the things that frustrated me and pissed me off so much in school is that professors automatically mistook late programs as the work of lazy students. I (almost) never turned in a program that I wasn't confident worked well, not just "working". I would often lament to my professors that the program was mostly working, just not well enough yet. I understand the rigors of adhering to a class schedule, but I wanted to be sure I turned in something of quality, even if the extra effort might not significantly affect the output. I have often observed that the lackluster versions of my assignments were often superior to the majority of what my peers turned in, yet lateness typically results in penalty. I suppose that's just how the real world works. Funny that few people get upset when a building's finish date gets pushed back with engineers saying "it'll be ready when it's ready".

      --
      Why bother.
    16. Re:An amazing project. by bzipitidoo · · Score: 1
      sizeof(modernSoftware) > sizeof(oldSoftware) does not imply quality has gotten worse.

      Newer systems have more overhead. Try porting a 16 bit app to a 32 bit system. Even if you can compile without changing a thing, the executable is going to be larger because memory addresses, pointers, integer constants, and so on just doubled in size. And then, it's going to take more memory to run, for those same reasons.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    17. Re:An amazing project. by Wolfier · · Score: 1

      It might be sitting idle 99% of the time, but when you want it to do something, like, uh...parsing your HTML emails, you want it to do it fast. That's why we need 200 MHz CPU's. For the same reason, when you do 3D a GHz CPU would help. A lot.

      Just realize what actually goes on behind the scene of "browsing, word processing, and emails". Sure, I can use WordStar 2.0, Lynx and Elm to get the same thing done. Would you get WYSIWYG? How about Interactive Flash game? Or viewing that MPEG attached to my email? How about all of them at the same time, multitasked?

      I'm all for using extra CPU power for convenience. Isn't that what computers are made for, afterall?

    18. Re:An amazing project. by Anonymous Coward · · Score: 0


      Don't forget that compilers came along to speed up software development -- and they do, massively, as well as making software easier to debug. Sure, the output's a bit bigger, but so what? It means you have have the program now, instead of in 2 years time...

      And then we have software such as video/audio compression, which is tightly-written to exploit modern hardware. Ditto, video games.

      Not to mention a lot of modern features just plain require a lot of brute-force...

      Hand-tuned assembler's just plain not appropriate for most projects -- it'd cost far more to do it that way than it does to write it in a high-level language and buy a faster box. Remember, in the real world, time is money, and if you need the app, you need the app. And so long as it's "good enough" to do the job you need it to, it's probably far more cost-effective in the long run.

      Just be glad -- all of this mean that those of us who can write more efficient code get really, really mind-blowingly fast hardware really cheap. :)

    19. Re:An amazing project. by usotsuki · · Score: 1

      I developed RMF-COM originally on a Tandy 1000 HX with *no hard drive*. Pain city.

      Even now all I have available are a couple old 486s. I develop Dapple ][ and run it entirely on a 486/133. Takes a long time to MAKE, but works fine - 200% speed! Put that in MESS's pipe and smoke it.

      -uso.

      --
      Dreams, dreams, don't doubt dreams, dreaming children's dreaming dreams. Sailor Moon SS
  45. Truly artistic by XshadowstarX · · Score: 2, Insightful

    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
    1. Re:Truly artistic by Anonymous Coward · · Score: 0

      I think this comments "portable to a watch-sized machine" is the first comment regarding how this software can actually be useful. Should mod parent up.

    2. Re:Truly artistic by TheRaven64 · · Score: 2, Funny

      Agreed. I consider the lack of a decent web server to be one of the main failings of my watch...

      --
      I am TheRaven on Soylent News
    3. Re:Truly artistic by cant_get_a_good_nick · · Score: 1

      Me without mod points...

  46. Windows and the VIC by spanky1 · · Score: 2, Funny

    The screen shots look a lot like Windows 1.x or 2.x... no proportional fonts, bright solid colors, etc. :)

    Also, I don't see how this would work on my VIC-20. I still remember when it's powered up it says "3583 bytes free". Not quite enough free space! I have an 8K expansion cart, but that still doesn't bring me up to the required amount of RAM.

    1. Re:Windows and the VIC by makapuf · · Score: 1

      Heresy ! win2 (not win2k :) ) did have propotionnal fonts !

    2. Re:Windows and the VIC by zapavic · · Score: 1

      Well, 24K expansion RAM will probably be more or less required to run Contiki on the VIC. Hopefully we can limit ourselves not to require more than that.

    3. Re:Windows and the VIC by spanky1 · · Score: 1

      Are you sure? Windows 2.x used fixed width fonts for all of the UI components. Perhaps you could fire up Write and use a proportional font, but most of the UI was ugly as hell.

    4. Re:Windows and the VIC by FuzzyBad-Mofo · · Score: 1

      It's pretty hard to do proportional fonts on the Commodore 64 due to it's screen layout. Even in bitmapped mode, the screen is still addressed in square 64-pixel blocks.

      I suppose you'd need a relatively large abstraction layer to do proportional fonts properly. This would explain the high system requirements for the Wave browser, which does do proportional fonts and runs under GEOS/Wheels. (requires SuperCPU w/1 MB SuperRAM)

  47. Can't wait! by Anonymous Coward · · Score: 0

    Now I only need a NES emulator to run on Contiki on my NES. That would be awesome!

    1. Re:Can't wait! by XshadowstarX · · Score: 1

      If you had an emulator, it wouldn't be running on an NES. Doh!

      --
      -ad105
  48. Ethernet over Serial Connection? by bedouin · · Score: 1

    Anyone know what I'd need to do to get TCP/IP over RS-232 with this? They say it can be done on the page, but I'm not sure what kind of cables I'd need. The coolest thing about this project is that it will run on a standard c64, with no expansions of any kind.

    (Currently looking at c64 and 1541 drive sitting on my closet shelf.)

    Finally I have a use for that XE1541 cable I bought two or three years ago.

    1. Re:Ethernet over Serial Connection? by cr0sh · · Score: 1

      I think they mean something like SLIP, via a modem connection. Think back to using 14.4 and 28.8 modems with Windows 3.1 and Trumpet WinSock to get browsing using Mosaic - then make it use a *lot* less memory. It is possible - but probably hairy like you wouldn't believe.

      --
      Reason is the Path to God - Anon
  49. The name is badly chosen by sameos · · Score: 2, Informative

    The Norwegian company "Norsk Data" made a computer in the 80's called "Kontiki", a Z-80 computer with an OS called "Tiki". Considering the vast number of people who loved this computer, it is confusing to have another OS named Contiki. Norsk Data also had to change the name of the computer to Tiki because of trademark problems. See for info on the original Kontiki computer.

    1. Re:The name is badly chosen by Anonymous Coward · · Score: 0

      The Norwegian company "Norsk Data" made a computer in the 80's called "Kontiki", a Z-80 computer with an OS called "Tiki". Considering the vast number of people who loved this computer, it is confusing to have another OS named Contiki
      But I thought the OS was named "Tiki"? I'm confused.

    2. Re:The name is badly chosen by sameos · · Score: 1

      because of trademark problems. Initially, everyone knew and loved these computers and the OS as Kontiki, they came bundled.

  50. Jaw drops... by Jugalator · · Score: 4, Insightful

    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!
    1. Re:Jaw drops... by Dahlgil · · Score: 1

      I'm still amazed in retrospect at how much could be done with so little memory. A hello world program in VB6 is 16kb (not counting the hundreds of kbs in overhead). But suppose I asked you to write a 3D, first person perspective space combat game, with rotatable starmaps showing enemy positions, particle explosions you could fly through, instantly switchable forward and aft views, space station docking, energy/shield management, an interactive 2D galactic map correlating to the 3D environment, and very cool sound effects...and put all of that in 8KB. Now that's amazing! To see the proof, just load up Star Raiders on any 8-bit Atari computer (or emulator).

  51. Can I cluster my Atari's by Pedrito · · Score: 3, Funny

    Okay, well, I've got 6 Ataris (some 800xls, a 1200xl, and some 130xes). Let's see, if I cluster them together, I'd have a total of 6 * 1.79, 10.74mhz at my command. Don't get jealous guys. Wipe away the drool. That's right baby, I'm gonna be crunching some SETI@home units today...

    1. Re:Can I cluster my Atari's by Anonymous Coward · · Score: 0

      Hi,

      yes, you can cluster your ATARIs, just use this nice ATARI SIO Network Device ....

      http://www.strotmann.de/~tgrasel/raf/networke.htm

      Cluster-Gaming "Multi-Dash" already works....

      cas/phnx

  52. What about QNX? by Anonymous Coward · · Score: 1, Interesting

    What about QNX? I am no OS guru, but I believe QNX did all the same things a few years ago. I don't think it was ported to any of the commadore systems, but I believe it was capable of being ported to anything. I certainly fit onto a 1.44 mb disk and featured a web server, browser, etc.

    http://www.qnx.com/

  53. Needs an editor by voidptr · · Score: 1

    Let me know when they've managed to fit Emacs in there too.

    --
    This .sig for unofficial government use only. Official use subject to $500 fine.
    1. Re:Needs an editor by FuzzyBad-Mofo · · Score: 1

      Let me know when they've managed to fit Emacs in there too.

      Sorry, no Emacs yet. Will vi do?

  54. credit due by zuralin · · Score: 2, Insightful

    looks like the submitter just found this article on osnews and slightly re-worded it.

    1. Re:credit due by skwirl42 · · Score: 1

      The submitter is the original author of the program... My guess is he sent the same news brief to the various places.

  55. Apple ][ C64 by Anonymous Coward · · Score: 0

    C64 is not as old as Apple ][, you predjudicial bastard.

  56. Kim-1 would be older still.. by nurb432 · · Score: 1

    It's still a 68xx series.. Though surfing on 7 segment LED displays sucks.. :)

    --
    ---- Booth was a patriot ----
    1. Re:Kim-1 would be older still.. by Anonymous Coward · · Score: 0

      Kim-1 sports a 6502. It was a single board 'computer' intended to showcase the 6502.

  57. and a ThirdWorlder on 28.8 dialup on C64 responds by Anonymous Coward · · Score: 0

    Arsenic? water table??

    WTF??!!

  58. Yah but it still won't run... by CrazyLegs · · Score: 1

    ...on my trusty ol' Timex Sincliar with its mind-numbing 20K of (expansion) memory. And don't even try to get me started the friggin' keyboard....

    --

    CrazyLegs

    "Pork!!" said the Fish, and we all laughed.

    1. Re:Yah but it still won't run... by cant_get_a_good_nick · · Score: 1

      You had the upgrade.. I had 1 Friggin K of RAM. And I LIKED it. The keyboard did suck.

  59. Hmm by headchimp · · Score: 1

    When I first saw this, I thought of Contiki vacations, could just image a bunch of drunk Ozzies/Kiwis traveling around creating a browser. http://www.contiki.com

  60. Written in C? by Junks+Jerzey · · Score: 1

    C is a horrible match for the 6502. This is a processor with a 256 byte stack and no stack frame support. In my experience with C compilers for the 6502, they were barely usable as toys. Now someone is claiming to have written a 42K OS package including a webserver that runs on 1MHz chips? Even in assembly language that would be amazing, but in C? I have serious doubts, unless this guy wrote his own C compiler that's geared toward this application.

    1. Re:Written in C? by skwirl42 · · Score: 4, Informative

      It's using the cc65 compiler, available here. My TRS-80 CoCo 3 port will use gcc, however, since I took the time to look at some old work done on targeting the 6809 with gcc.

    2. Re:Written in C? by Hayzeus · · Score: 3, Informative
      C is a horrible match for the 6502. This is a processor with a 256 byte stack and no stack frame support.

      It's not really C that you're referring to, it's the way most compilers use the stack.

      Actually, there are C compilers available for PIC microcontrollers (and similar devices) that are even more limited than the 6502: 8 byte hardware stack (not directly accessible from code), Harvard architecture, etc. These work quite nicely, although they can't use the stack for much, instead using and intelligently reusing registers for parameter passing and local variables. All of this requires call-tree analysis, which precludes recursion. But then you'd be insane to write recursive code on a machine with an 8-byte stack.

    3. Re:Written in C? by GlassHeart · · Score: 1
      It's not really C that you're referring to, it's the way most compilers use the stack. [...] All of this requires call-tree analysis, which precludes recursion.

      If it precludes recursion, then it's not C. Don't change the definition to suit your argument, because C is an international standard.

      C is, in fact, a poor match for an 8-bit machine with minimal memory. C requires an 'int' type of at least 16 bits, a 'long' type of at least 32 bits, and a couple of floating point types - all royal pains to implement on an 8-bit CPU. Furthermore, a "hosted implementation" of C (which is really the minimum if you are planning any sort of porting) requires a sizable standard library, in which printf() probably will take up 4 KB of code space all by itself.

      In fact, it's those stripped down dialects of C that really fit the "it's not really C that you're referring to" comment.

    4. Re:Written in C? by Hayzeus · · Score: 2, Insightful
      If it precludes recursion, then it's not C. Don't change the definition to suit your argument, because C is an international standard.

      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.

    5. Re:Written in C? by GlassHeart · · Score: 1
      A compiler that takes code which is recognizably C is C. Period. Not ANSI C or even standards compliant, granted, but C nonetheless.

      This definition is both logically inconsistent and subjective.

      Using it, you don't know if "valid C code" will even compile under a "C compiler", when it should in fact be at least generally true. In fact, you have no basis to say what is "valid C code" at all.

      It also requires a human to "recognize" the language. Different people will yield different answers, and you'll get this sort of silly "is too C, is not C" arguments.

      Why not just use plain "C" to refer to the ISO standard, and "C-like" or "a dialect of C" to refer to the others? This definition does not suffer either drawback.

    6. Re:Written in C? by Hayzeus · · Score: 1
      This definition is both logically inconsistent and subjective.

      Now you're just being silly. As I pointed out before, nobody (other than you, it would seem) demands that minor language deviations (i.e. K&R and others) must be termed "C-like" in the course of informal discussions such as this one. Put another way, semantic rigidity on your part isn't going to win you this argument. You remain as wrong as ever; C is perfectly suited to 8-bit development.

      Surrender now, and I'll consider sparing your women and children...

    7. Re:Written in C? by Mike+Buddha · · Score: 1

      Why not just use plain "C" to refer to the ISO standard, and "C-like" or "a dialect of C" to refer to the others? This definition does not suffer either drawback.

      I wrote in C before the ANSI and ISO standards. Is my code not C now?

      --
      by Mike Buddha -- Someday the mountain might get him, but the law never will.
    8. Re:Written in C? by GlassHeart · · Score: 1
      nobody [...] demands that minor language deviations (i.e. K&R and others) must be termed "C-like" in the course of informal discussions

      One last time.

      We're not talking about K&R C, which is already significantly different from ANSI/ISO C (prototypes, argument declarations). We're talking about dialects that remove fundamental data types and most or all of the standard library.

      When it is easier to convert an ANSI/ISO C program into C++ than into one of these 8-bit dialects, I think it qualifies as a separate language. If not, then certainly C++ should also be considered "C"!

      semantic rigidity on your part isn't going to win you this argument.

      How exactly does one "win" a Slashdot argument anyway? Especially when your opponent resorts to proof by repeated assertions, and simply claims that accuracy is unimportant? Well, yes, if accuracy isn't important, C++, Java, and C# are all just C.

      You remain as wrong as ever; C is perfectly suited to 8-bit development.

      So is C++, once you strip out exceptions, templates, virtual functions, floating point, recursion, and so on. How is that a useful statement?

    9. Re:Written in C? by GlassHeart · · Score: 1
      I wrote in C before the ANSI and ISO standards. Is my code not C now?

      Using my rigid definition [that plain "C" should refer to ANSI/ISO C], prior to 1989, it was C. After 1989, it's "K&R C".

      Obviously, this distinction isn't generally important, and K&R C is in fact largely similar to ANSI/ISO C. However, the context of this thread refers to "C compilers" with no floating point and recursion. This makes the distinction more important, because many C programmers have never worked in such environments, and most C programs will not work on them.

    10. Re:Written in C? by Hayzeus · · Score: 1
      How exactly does one "win" a Slashdot argument anyway? Especially when your opponent resorts to proof by repeated assertions, and simply claims that accuracy is unimportant? Well, yes, if accuracy isn't important, C++, Java, and C# are all just C.

      And if I were claiming that accuracy is never important, cobol and forth would also be C. But then I never claimed that accuracy was unimportant; I merely claimed that for the purposes of this discussion, the term 'C' is "accurate enough". Put another way, I have defined 'C' in accordance with the common usage of the term among those of us making a living in the field. This is neither unreasonable nor illogical. It's how language works.

      As to the question of proof, neither one of us has offered "proof" of anything, logical or otherwise, since this thread degenerated into a semantic quibble by pretty much any standard some time ago. Haven't you been following along?

      And by the way, one "wins" an argument on Slashdot by having the last word.

    11. Re:Written in C? by GlassHeart · · Score: 1
      And by the way, one "wins" an argument on Slashdot by having the last word.

      Okay, you win. ;)

    12. Re:Written in C? by Hayzeus · · Score: 1
      Okay, you win. ;)

      No, no. I'm feeling magnanimous today. The victory goes to you.

  61. Apple support? by nothingtodo · · Score: 1

    Grrrr, didnt see any details on the Apple. I hope it comes to fruition. I wonder what specs they will design it for? It would be cool to have it run on a stock 48k Apple ][+, but to have it work with dual disk ][s, an enhanced 80 column card, lowercase (mousetext?) and 64-128k would presumably make it better.

    --
    -- After all is said and done, more is said than done.
  62. It just goes to show you... by Anonymous Coward · · Score: 1, Funny

    64kb sould be enough for anybody.

  63. So Where's the CP/M port? by Kaiwen · · Score: 1

    If it'll run on an Apple ][, it ought be doable. Heck, my Trash-80 has 128k. Lee Kaiwen, Taiwan, ROC

  64. Neat by bythescruff · · Score: 1

    Does it have themes? Please tell me it has themes!

    --
    Chuck Norris: Socialism == a thousand years of darkness.
    1. Re:Neat by TheRaven64 · · Score: 1
      Does it have themes? Please tell me it has themes!

      From the article:

      It is also possible to create different CTK looks, themes, by changing the CTK frontend. Currently, there are three CTK themes:

      That would be a 'yes' then.

      --
      I am TheRaven on Soylent News
  65. Re:Thats something! by asciirock · · Score: 1



    Eliza: Hello. I am ELIZA. How can I help you?

    Jim: commie emulator

    Eliza: Please go on.

    Jim: You mean a version of Eliza that says things like "Comrades, we must seize the means of production!" and "Down with Capitalism!"

    Eliza: Oh, i mean a version of eliza that says things like comrades we must seize the means of production and down with capitalism.

    Jim: Sorry, I'll get me coat...

    Eliza: Apologies are not necessary.

    Jim:

    Eliza: Can you elaborate on that?

    Jim:

    Eliza: Please go on.

    Jim:

    Eliza: Please go on.

  66. Not the first C=64 browser by Asmodai · · Score: 3, Interesting

    In fact, Fairlight created the first browser for the Commodore 64:

    http://hem.passagen.se/harlekin/

    Look at FairligHTML. (1997!)

    --
    Jeroen Ruigrok/Asmodai
    1. Re:Not the first C=64 browser by GridPoint · · Score: 4, Informative

      That's not a full web browser, but a standalone HTML viewer that reads HTML pages from a disk and not from the Internet. The HTML viewer is only a small part of a full web browser. A real web browser must do a lot of other stuff as well: HTTP, TCP/IP, DNS lookups, etc. The Contiki web browser seems to do all that, so it is a real web browser and not just an HTML viewer (although an HTML viewer is part of the web browser).

  67. Re:Cool, but.. (regression) by Anonymous Coward · · Score: 0

    it's all about regression, if you ask me. we've got TONS of unemployed it/developers out there... yearning for better days, when they were children and had nothing better to do than play on their c64 all day... and now reality is closing in on them and they're escaping... it's the same thing with transformers/he-man/care bears/strawberry shortcake/etc that's making a come back.

  68. Wow! by BinaryCodedDecimal · · Score: 3, Insightful

    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!

  69. Ooops, typo by nurb432 · · Score: 1

    Yes i know its a 65xx not 68xx.. just a typo.. typical monday it seems.

    --
    ---- Booth was a patriot ----
    1. Re:Ooops, typo by Anonymous Coward · · Score: 0

      Yeah, in fitting lynx into 1K of SRAM would be a bitch too. I wasn't lucky enough to have the KIM-II expander.

  70. Load Time by Anonymous Coward · · Score: 0

    42k that will take about 20 min to even load on the C64 prolly about 10 on the old apples :P

  71. TurboTape! by porkchop_d_clown · · Score: 1

    I remember typing that in. I also remember typing the entire hex dump of speedscript, and wondering why - because I didn't have a printer....

  72. The beauty of older video games by Multiple+Sanchez · · Score: 2, Insightful

    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.

    1. Re:The beauty of older video games by RyuuzakiTetsuya · · Score: 1

      what about metal gear solid/metal gear solid 2? That was purely hideo kojima's vision.

      You forget, for every David Crane there's houses of developers who cranked out crappy games.

      There's a reason why games dependant on one person's unique voice are rarely developed, very few people have anything moderately worthwhile to listen to.

      --
      Non impediti ratione cogitationus.
  73. n00b by Anonymous Coward · · Score: 0

    Java != JavaScript

  74. What about on modern hardware? by bladeohlsson · · Score: 0

    Of course this is the coolest thing ever, but what about doing the same on modern x86 hardware? I have always wanted to have a nice compact little "simple" os that fits onto a single FDD and leaves more than enough room on the HDD for other goodies. Has anyone written something like this recently?

    I recall something call QNX back a couple years back. Do they still have the 1 FDD version?

    --
    http://www.ohlssonvox.com
    1. Re:What about on modern hardware? by Anonymous Coward · · Score: 0

      Yeah, grab a copy of PicoBSD, mod it to include insert text based web browser of choice).

  75. Famicom? by Anonymous Coward · · Score: 0

    I thought the Japanese version of the NES (Famicom) had a keyboard and modem released for it. Could the modem be used for networking? I know it had a disk drive (FDS).

    1. Re:Famicom? by ecchi_0 · · Score: 0

      I believe this was for the Super Famicom (equivalent of a SNES), which had a satellite system in place to stream games to a cartridge.

  76. He would have sued... by KjetilK · · Score: 2, Interesting
    Actually, in the early 80-ties, a group of Norwegians started making Kon-tiki personal computers. A rather weird OS, but nevertheless, I can still remember the days where we only had Kon-tiki-machines in school. I think about 1987, Thor Heyerdahl successfully sued the makers of the Kon-tiki PCs for something. Perhaps trademark infringement or something. They then started to use the name "Tiki". For a few years, they continued making their own breed of PCs, before it pretty much collapsed and around 1990, they started doing IBM clones. I can remember the 20 MHz 386 SX boxes we had at school, about that time.

    In his older years, Heyerdahl also developed the rather obnoxious habit of threatening with lawsuits against anybody who might disagree with him. He was a big childhood hero of mine, but he pretty much ruined that with a threat directed at a website I edit.

    So, if he had lived, he would certainly have sued these people, and BTW, I should probably stop here, so that I don't risk a lawsuit myself.

    --
    Employee of Inrupt, Project Release Manager and Community Manager for Solid
  77. Been there, done that by Anonymous Coward · · Score: 0

    OK, so the browser is news. But GEOS for the C64 was much more polished than that 40-column text hack with some color added. Nothing to see here folks, move along. It was done in '85, and done better.

  78. you'll need broadband to live with it... by Hubert_Shrump · · Score: 2, Insightful

    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!
    1. Re:you'll need broadband to live with it... by Anonymous Coward · · Score: 1, Interesting
      Not necessarily. Most ISPs do caching of one sort or another. Alternatively, put it behind your caching-firewall-on-a-floppy machine that you've no doubt got handling your internet connection :)


      But yes, it could be a slight pain. Luckily they know about the situation and are looking into doing caching for a future version.


      Hmm, even though with telnet and a web browser you can do almost anything these days, it'd be nice to have ssh, irc, mail and news clients.


      (Thinks) Hey, this could be the first OS code that you could put a UUencoded version of up on a single web page without it looking like more than a page or two of ASCII spew. It'd be kind of geeky to hide an entire OS package in a single graphic, as well.


      (Other thinks) What if this was part of a viral payload? You could load a complete OS and internet connection package into a corner of your CPU and first-level cache, and it'd never appear on disk or even in primary RAM.


      Ouch.

  79. Re:and a ThirdWorlder on 28.8 dialup on C64 respon by Thorrablot · · Score: 1
    Been reading the news, lately?

    SVTC

    NPR News

    Washington Post

    --
    Any sufficiently advanced technology is indistinguishable from a rigged demo. -- James Klass
  80. Is this for real? by QuackQuack · · Score: 1

    Web browser, TCP/IP with PPP support coming, theme support, support for multiple types of hardware. All running on a 6502/6510 with a max of 64K, oh and it does multitasking? From what I remember of the 6502, the code liked to written to run at a fixed address (you could write relocatable code, but its support was limited), this would make make any kind of multitasking difficult, because the two programs could require the same memory addresses, oh and did I mention there's no memory protection? Anybody actually use this thing? Does it really work?

    --
    By reading this sig, you agree to the terms of my sig license.
    1. Re:Is this for real? by skwirl42 · · Score: 1

      Well, how you think of some of these concepts might make it harder to believe than it really is.

      The multi-tasking is cooperative, so programs need to yield time to allow other processes to run. The programs are all compiled together, so they each get their own individual space in memory.

      Being that everything is compiled together, the themes are compile-time options.

      Multiple hardware platforms isn't so hard. It's written in C, and doesn't rely on machine specifics, except in the libraries it includes. This would be the cc65 libraries, in the case of the C64 version.

    2. Re:Is this for real? by cant_get_a_good_nick · · Score: 1

      (you could write relocatable code, but its support was limited)
      Branching (jumping to a relative address) is limited to an 8-bit signed offset.

    3. Re:Is this for real? by vidarh · · Score: 1
      No, support for position independent code was limited. Relocation support has nothing to do with the CPU, and can be done just as easily on a 6502/6510 as any other CPU (you keep track of what offsets in the code need to be relocated, and store offsets instead of absolute addresses, then when you load you add the base address you've chosen to all the offsets that needs relocating, roughly speaking).

      On a 6510 I'm pretty sure a relocating loader could be written in a few hundred bytes of assembly provided you ensure the object format is simple.

      Of course memory protection would be nice, but remember most of the Amiga models didn't have memory protection either, and in fact a lot of Amiga users argued against adding it because of the overhead it adds.

    4. Re:Is this for real? by vidarh · · Score: 1

      Doing preemtive multitasking on the C64 via interrupts should be feasible, though, as the interrupt handler is responsible for storing registers and flags, as far as I can remember, and it could just as well run a scheduler and restore registers belonging to a different thread before exiting. Of course it's about 11-12 years since I last seriously used a C64, so I might be forgetting something obvious... :)

  81. Re:No PPP and maybe no ethernet by frovingslosh · · Score: 2, Interesting

    It looks like there may only be 1 ethernet adapter in the world for the C64 too. Found the info on their site for it, but they use an "embedded controler" from someone else and their own "glue logic" and the link to the embedded controler site returns nothing readable. (And the only one they have was apparently taken off an on-line C64 so they could use it for something else). Unless there is software compatable ethernet hardware for the C64, this is pretty useless. With ethernet I wouldn't mind playing with it, but there's not enough information provided to let one duplicate their ethernet interface.

    --
    I'm an American. I love this country and the freedoms that we used to have.
  82. DRAT! by poot_rootbeer · · Score: 1


    Oh, how I wish my Tandy Coco III had more than 16K of RAM!

    1. Re:DRAT! by skwirl42 · · Score: 2, Insightful

      The Coco 3 has a factory amount of 128k RAM... are you sure it's a III and not a II?

    2. Re:DRAT! by cr0sh · · Score: 1

      The original CoCo 2's had 16K standard, but later versions came with 32K and 64K (prior to the introduction of the CoCo 3). At one time, there was a guy selling kits, etc for installing up to 2MB (I think, maybe 4MB?) of RAM into a CoCo 3 using SIMMs (30 or 72 pin - can't remember). Crazy what people can do with their old machines. I am personally kinda excited about this whole thing - I have an old CoCo 3 with 512K that is just begging for something like this.

      --
      Reason is the Path to God - Anon
    3. Re:DRAT! by skwirl42 · · Score: 2, Informative

      Actually, there was someone who managed an 8MB upgrade! 2MB is the max for the CoCo 3's built-in memory controller, the 8MB upgrade involved having new registers. :)

  83. 16K of RAM? by Anonymous Coward · · Score: 0

    16K? Really? Did someone steal the other 112K?

    (I think you're thinking of the Coco 2, which came with 16K; the Coco 3 came with a minimum of 128K, and was expandable to 512K: plenty for a project like this, I think!)

  84. Wow! by Junior+J.+Junior+III · · Score: 2, Funny

    I'd say with the advent of this new operating system, this would be a great time to buy stock in Atari or Commodore. Once news of this hits Wall Street, there's sure to be a surge in the market.

    --
    You see? You see? Your stupid minds! Stupid! Stupid!
  85. Ataris and such... by The+Lynxpro · · Score: 2, Interesting

    Why did they create another GUI for the C-64? The C64 and other 8bits had the third party GEOS around 1987.
    As for the Atari 8bits, I could see a way to hook up an RJ-45 cable rather easily. You'd just need a dongle or something that would connect the ethernet to the SIO port. After all, the SIO port was the forerunner to USB....and created by the very same engineer!
    The Atari Jaguar would be an interesting port...ethernet via the Catbox adapter...

    --
    "Right now, somewhere in this world, Scott Baio is plowing a woman he doesn't love," - Peter Griffin, *Family Guy*
    1. Re:Ataris and such... by OzJimbob · · Score: 2, Insightful

      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!
  86. There's already a Kontiki by TheTranceFan · · Score: 1

    There's a Kontiki, Inc. in Sunnyvale, CA USA that has a peer-to-peer content distribution network product. Gamespot uses it like a "download manager," and they have some other large customers. I suspect this will cause a few problems for the Contiki folks... Kontiki was named based on the same story, too.

  87. Re:Thats something! by Anonymous Coward · · Score: 0

    How long have you been interested in seizing the means of production?

  88. Tight code? You wanna know what tight code is? by thehunger · · Score: 3, Interesting

    Way back when I was studying computer science, we had this book called "The Psychology of Computer Programming".

    It referred to a few legendary (back then) programming feats, including one about the guys at the Jet Propulsion Lab.

    They found they had 1/2/I forget which/ Kb of RAM left on the Pioneer/Voyager/I forget which/ spaceprobe they were writing the software for.
    So they wrote an image pattern recognition program that would study the atmosphere in jupiter/saturn/I forget which/ planet.

    Ok so I don't remember all the details but it sounded like really, really, REALLY tight code.

    ---
    You want a .sig? Here's a .sig for you: Take THAT! How's that for a .sig?

  89. C64 is NOT oldest system ever to run a web browser by Eric+Smith · · Score: 3, Insightful

    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.

  90. Re:Better than Chinese landfills (& C64 Apple by ncc74656 · · Score: 1
    Ahh... 10 HGR2 : HCOLOR 3 : HPLOT 20,20 TO 300, 200

    ]10 HGR2:HCOLOR 3:HPLOT 20,20 TO 300,200

    ]RUN

    ?SYNTAX ERROR IN 10
    ]

    Hi-Res graphics gives you 280x192 to play with, but before that, HCOLOR needs = between it and the number.

    These ~1Mhz systems are going to have their work cut out for them trying to multitask, but I presume that their TCP/IP traffic is going to be limited to the comm technology of their day (1200/2400 baud)

    I had a 14.4-kbps faxmodem hooked up to my IIGS, and I was moving files between it and whatever x86 box I was using at the time at up to 57.6 kbps. Even on the IIe, I was getting 19.2 kbps through a Super Serial Card. (Nowadays, though, the IIGS is connected to my home network through a GatorBox CS. It has direct access to files on a Quadra 610 and a Linux server, and indirect access to Win32 boxen through the Linux server. The GatorBox serves as an Ethernet-LocalTalk bridge, allowing a connection speed of 230.4 kbps.)

    The bigger trick to getting this to work on an 8-bit Apple II, though, will be the lack of a periodic interrupt source. You could do cooperative multitasking (like pre-X MacOS or Win16), but preemptive multitasking without something to cause the preemption would be difficult to pull off. (It wouldn't take much to build an expansion card that just triggers an interrupt every once in a while. Some existing cards, such as clock cards and mouse interfaces, could also be used.)

    --
    20 January 2017: the End of an Error.
  91. Re:Thats something! by Anonymous Coward · · Score: 0

    "seizing the means of production" has got to be the strangest euphemism for yanking off that I've ever heard!

  92. OT: Needs an editor by cant_get_a_good_nick · · Score: 1

    I know it's pathetically unoptimized, because I don't use emacs and therefore don't know what to leave out, but I had to install the latest and greatest Xemacs for a user here. Directory size: 122Mb. My favorite emacs joke:

    "Emacs would make a great OS if they'd just write a decent text editor for it".

    Now will this get +1 Funny, or -1 Flamebait? Or just plain old -1 F*&%cking annoying.

    1. Re:OT: Needs an editor by Anonymous Coward · · Score: 0


      -1, Old fucking joke that no one finds funny anymore.

  93. Expansion slot? by Anonymous Coward · · Score: 0

    I'm pretty sure a few NES games used a modem, which plugged into the hidden expansion slot on the bottom... (take of the clip-on thingy mos ppl already lost, and remove the punch-out panel that some ppl confuse as a vent...)

    --DS

  94. Re:Thats something! by Anonymous Coward · · Score: 0

    the only thing this is truly useful for is the amazing take-a-break.exe!

    http://www.homestarrunner.com/sbemail60.html (watch it till the end)


    http://www.homestarrunner.com/take-a-break.exe

  95. Excuse me! by Anonymous Coward · · Score: 0

    Do you mean Java Javascript?

    Well EXCUSE ME! What idiot (probably Microsoft) did this naming blunder? It is like Ford ford Cars, Con Ed Con Ed Electricity.

  96. 1K Chess by pommiekiwifruit · · Score: 1

    for the ZX81. That's compact.

  97. Re:No PPP and maybe no ethernet by Atomizer · · Score: 1

    They do have the schematics.

  98. Third world countries by Anonymous Coward · · Score: 0

    This was a couple of years ago but I remember reading that some companies were actually manufacturing new C64 for sale in China/India. Not everyone in the world can afford to upgrade to the latest hardware. Especially when a new pentium costs three years wages.

    I'm sure these people are interested in a web browser for their machines.

  99. dietlibc by dmelomed · · Score: 1

    http://fefe.de/dietlibc/

  100. Java for the C64 by bbagnall · · Score: 1

    >Porting a Java shouldn't be and i've always
    >wanted to get JAVA to run on C64, VIC 20, or
    >TRS....Not the embeded version.

    Check out my Java plans for the c64:
    www.mts.net/~bbagnall/commodore

  101. Re:8-bit systems still in use by Anonymous Coward · · Score: 0

    Just in embedded applications.

    I think it would be good if they could port this to the PICmicro or Atmel AVR microcontrollers. Imagine a single chip web server (Yes this has been done before, but not to this extent). All they need is zeroconf support, and this can be part in all manner of appliances. eg: Imagine an alarm/wall clock that never loses or gains time because it syncs using ntp.

    These single chips are as fast as, or in some cases faster then the old computers that this software is currently ported to.

  102. Re:Better than Chinese landfills (& C64 Apple by Thorrablot · · Score: 1
    Well parsed, oh Applesoft guru! How quickly I forgot the 280x192 graphics limitation (memory-mapped conveniently to $2000-$3fff and $4000-5fff) Should never have sold that last //c...

    Comparing a IIGS to a IIe is a wide stretch, of course, since it was using a significantly faster 65816 than the classic 6502. I, too, had a super-serial board that could run 19.2kpbs for direct link to PCs, but I was referring to internal modems of the day such as the Hayes and AppleCat. Your point is good, though, a fast serial card could drive a reasonable external comm device.

    You're dead-on about the lack of hardware interrupts to hook into (especially if you don't have the luxurious IIGS!) On the other hand, the simple, non-preemptive nature of the beast makes it easy to count clock cycles for a particular code fragment, so perhaps a "virtual machine" approach with fixed time-slicing per process is the approach they'll take. I'm keeping this one bookmarked...

    --
    Any sufficiently advanced technology is indistinguishable from a rigged demo. -- James Klass
  103. No pre-emption. by Thorrablot · · Score: 1
    They are indeed using cooperative multitasking - as stated in their FAQ:

    Does Contiki support pre-emptive multitasking?

    No, Contiki does cooperative multitasking. The reason for not supporting pre-emptive multitasking is that it would unnecessarily increase the complexity not only of the operating system, but also of the applications that would run under it. Pre-emptive multitasking is primarily useful in general purpose multiuser operating systems such as *nix, or in real-time systems where response time is critial. Contiki does not fit in either of those categories.
    --
    Any sufficiently advanced technology is indistinguishable from a rigged demo. -- James Klass
  104. Re:Better than Chinese landfills (& C64 Apple by ncc74656 · · Score: 1
    Well parsed, oh Applesoft guru!

    Having a IIe emulator on one of my work machines helps. :-)

    They are indeed using cooperative multitasking

    Hmm...might be fun to look at, but given the reliability issues associated with most cooperative-multitasking systems (one crash wipes out your system), it's not something on which I'd want to lean too heavily. I suppose it's like the talking dog...it's not the quality of the speech, but that the dog can talk at all. :-)

    --
    20 January 2017: the End of an Error.
  105. Re:C64 is NOT oldest system ever to run a web brow by SecretAsianMan · · Score: 1
    The first PDP-11, the 11/20, was introduced in 1970. It supported up to 28KW (that's 56KB, for the uninitiated) of memory and could multitask. I'm sure that some sort of web browser could be implemented within those constraints. However, I don't think there are any UNIBUS (a PDP-11 bus) ethernet adapters compatible with the 11/20's strange backplanes. You could theoretically put a DEUNA or DELUA ethernet adapter in an BA11-K expansion box with more regular backplanes, but both components are out of period for the 11/20 (especially the DELUA!). Timing issues could also be a problem.

    The earliest -11 you can run a web browser on today is probably the 11/70, released (IIRC) in 1975. You can install 2.11BSD on an 11/70 with enough memory, and your browser can run from within that. If there's no browser, then there's at least telnet to port 80. :-)

    PDP-11/70s are difficult to run and maintain. I would suggest that the intrepid reader use a 11/44 instead. Nearly 100% software-compatible with the 11/70 but not quite as huge and not quite as expensive to obtain, the 11/44 is a good collector machine. If you get one, read up about its power supply. If you touch the wrong places (and the're easy to touch), you WILL be killed!

    Less intrepid but still interested readers shoudl go with a MicroPDP-11/73 in a BA23 tower. They look like skinny tower PCs and are relatively uncomplicated.

    --

    Washington, DC: It's like Hollywood for ugly people.

  106. Re:No PPP and maybe no ethernet by frovingslosh · · Score: 1

    I saw the info, but what they have is the minimal "glue" to hook a C64 up to an "embedded ethernet controler" that they got somewhere else. Try following the link they give, it just gives garbage. If you can't get the "embedded controler" then their schematics and board layout for their "glue" to hook it to a C64 isn't any use.

    --
    I'm an American. I love this country and the freedoms that we used to have.
  107. GTA by Anonymous Coward · · Score: 0
    That's one of the reasons the GTA series is so popular (at least with my circle of friends) - the ability to choose whether you want to, say, jump on a pizza scooter to make money in a well-adjusted, legitimate manner, or alternatively ride around on top of someone's SUV sniping grannies in the head so you can swoop down and steal their cash.

    Choice, non-linear gameplay, freedom: games like GTA, Black & White, The Sims, etc. are enjoying a huge burst of popularity right now because gameplayers are getting wise to game developers trying to woo us with fancy graphics alone.

    As a postscript, may I say how much I'm looking forward to Elite 4 whenever it comes out. Now if you'll excuse me, I have an appointment with a granny...

    Pouf!

  108. I wonder... by WegianWarrior · · Score: 1

    ...if they may be willing to copy this out on a real floppy (5¾", SS SD) for me. I mean, the postage shouldn't be frightfully huge. Maybe they can patch together an ethernet adaptor and sell me too?



    1. create a niche product aimed at nerds who still owns an outdated computer.

    2. sell modded hardware to increase percived usefullness of said product.

    3. PROFIT!


    Hooking this up to my network at home should be a breeze... and I just have to restart the C64 to play some kickass games too.



    Failing that, could someone post a simple, easy to understand, step-by-step guide on how to get this onto a floppy that my C64 can read?

    --
    Everything in the world is controlled by a small, evil group to which, unfortunately, no one you know belongs.
  109. Re:C64 is NOT oldest system ever to run a web brow by Sam+Nitzberg · · Score: 1

    I'm reading this on my Babbage analysis engine right now !

  110. jesus what a phenomenal waste of time by Anonymous Coward · · Score: 0

    jesus what a phenomenal waste of time

  111. Re:C64 is NOT oldest system ever to run a web brow by Eric+Smith · · Score: 1
    You can run SLIP just fine on an 11/20. Having an Ethernet connection is not a prerequisite to being connected to the internet. But it was very common to add BA11 expansion boxes of various sorts to the 11/20. I'm not sure what you mean by timing issues, as the 11/20 uses standard Unibus timing.

    It's entirely possible to run Unix on several models that predate the 11/70, including the 11/40 and 11/45. The C version of Unix was originally developed on the 11/40.

    The PDP-11/70 isn't that difficult to run and maintain. But it is rather large (physically).

    I have almost every PDP-11 model, and several of some, but I'm still looking for an 11/45. The 11/44 is a nice machine, and is the is the one I use the most. It was the last of the TTL PDP-11 designs; all models designed after that, such as the MicroPDP-11/73, use the F11 or J11 microprocessors.

    The BA23 is a terrible case. Aside from having only two drive bays and an anemic power supply, it is difficult to run cabling for options, especially if you want disks other than the RD5x. Also, many of the BA23s available surplus have not had the power supply cable retrofit, and the old power supply cables are prone to burning up. If you have a choice, get the BA123 "World Box" instead. It's a much nicer case, and will work with the 11/23, 11/53, 11/83, and 11/93 processors.

  112. Re:C64 is NOT oldest system ever to run a web brow by SecretAsianMan · · Score: 1
    Yeah, this is what I get for posting when I should be sleeping. :-)
    You can run SLIP just fine on an 11/20.
    I forgot about SLIP. So yes, it could be done on the 11/20. Is there any software that implements HTTP/TCP/IP/SLIP on the 11/20? If not, it sounds like an idea for a future project (I have an 11/20).
    But it was very common to add BA11 expansion boxes of various sorts to the 11/20.
    But wouldn't they be BA11-Es with the same wierd backplanes as the 11/20 chassis? Or did they have BA11-Ks in 1970?
    I'm not sure what you mean by timing issues, as the 11/20 uses standard Unibus timing.
    I was worried about what assumptions the ethernet adapter might make about the speed at which incoming data could the processed by the memory or CPU, since the DEUNA/DELUA were introduced several PDP-11 generations after the 11/20. Maybe the core cycle time or ISR processing time are too long. I just don't know enough about the UNIBUS or the DEUNA/DELUA to pass definite judgement.
    It's entirely possible to run Unix on several models that predate the 11/70, including the 11/40 and 11/45.
    Of course, but most unices with TCP/IP will not fit on a 11/40 or 11/45.
    The PDP-11/70 isn't that difficult to run and maintain. But it is rather large (physically).
    It also has the best front panel. :-)
    The BA23 is a terrible case. Aside from having only two drive bays and an anemic power supply, it is difficult to run cabling for options, especially if you want disks other than the RD5x. Also, many of the BA23s available surplus have not had the power supply cable retrofit, and the old power supply cables are prone to burning up. If you have a choice, get the BA123 "World Box" instead. It's a much nicer case, and will work with the 11/23, 11/53, 11/83, and 11/93 processors.
    If you've got the newer power harness and just want to run a RD5x and a RX50, then the BA23 works well. It makes a nice, small, easy PDP for the entry level. I know there are at least 11/23, 11/73, and 11/83 processors that you can put in a BA23. Plus, an average person can pick up and carry a BA23, and a full BA23 can be shipped UPS with minimal hassle.
    --

    Washington, DC: It's like Hollywood for ugly people.

  113. ***SPOILER ALERT** by exp(pi*sqrt(163)) · · Score: 1
    Hey! No spoilers without warning please! But I recognise the magpie quotes which I'm sure are clues.

    Damn you! I just figured out what the (aha, coconut!) milk, honey and lizard (aha, skink!) are. But not the garlic. But think I do know where they go! That pretty well tells you how far I am.

    --
    Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
  114. not a spoiler, but a path to hints... by MegaFur · · Score: 1

    :-) Sorry about before.

    The page you linked to has a link for the Invisiclues(tm) at the bottom. You probably arleady know what they are. If you don't, go back to that page, and click on the Sample Question "How do I fold a piece of paper to make it look like a bird?". Ivisiclues are pretty cool because the hints always go from vague and general (only partly giving away the answer) to really, really precise (tells you exactly what command to type).

    If you're not playing this from an actual C128 Trinity disk (or maybe even if you are), you may not have gotten all (or any) of the feelies that came with Trinity. Feelies were a special thing that all Infocom games had, but maybe you alreay know this in which case, I feel stupid. But if you don't have them and you'd like to see what Trinity's feelies were, you can get them here:
    (warning: no spoilers, but huge graphics)
    Trinity feelies.
    The map at the bottom will be helpful later in the game, and the sundial's neat. :-)

    --
    Furry cows moo and decompress.
    1. Re:not a spoiler, but a path to hints... by exp(pi*sqrt(163)) · · Score: 1
      I actually have all the 'feelies' in a PDF file because I bought the Masterpieces CD-ROM a few years ago. I may still buy an original Trinity from ebay along with a 5.25" drive for that real retro gaming feel!

      I'm trying as hard as possible not to cheat. When I'm old and dying in hospital of cancer 40 years hence, only then will I look at the invisiclues.

      --
      Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
    2. Re:not a spoiler, but a path to hints... by MegaFur · · Score: 1

      Cool. Good luck with the game. The reason I'm so interested, is me and my dad played and completed Trinity when I was young. (insert sickening tearjerking sentiment here)

      If/when you complete it, you can send me an email (but please don't feel obligated to do so). But if you send it to the address listed on my Slashdot account, I might never read it because that's not my main email address. Better is: wyrder42@@@yahoo...com (filtering out the extraneous characters of course)

      --
      Furry cows moo and decompress.
  115. Previous post, subject line by MegaFur · · Score: 1

    The subject line of the previous post by me is in error because I wrote it before I noticed that the page you originally linked to had a link to Invisiclues already there.

    --
    Furry cows moo and decompress.
  116. Last Post! by alpg · · Score: 0

    I have a switch in my apartment that doesn't do anything. Every once
    in a while I turn it on and off. On and off. On and off. One day I
    got a call from a woman in France who said "Cut it out!"
    -- Steven Wright

    - this post brought to you by the Automated Last Post Generator...