Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Hardware Hacking It's funny.  Laugh. Social Networks Build

A Twitter Client For the Commodore 64 177

An anonymous reader writes "Johan Van den Brande has developed a Twitter client for the Commodore 64, allowing 140-character messages to be posted directly from this TV-connected 1982 home computer. This YouTube video shows how the Twitter client is — slowly! — loaded from a 5.25" floppy disk, how the latest Twitter messages are downloaded and shown on the TV screen, and how this tweet is posted. All that is needed is a C64, a TV, and a C64 Ethernet card. The Twitter client is implemented with the Contiki operating system, which otherwise is used for connecting tiny embedded systems to the Internet."
This discussion has been archived. No new comments can be posted.

A Twitter Client For the Commodore 64

Comments Filter:
  • by Skuld-Chan ( 302449 ) on Sunday June 14, 2009 @04:18AM (#28325423)

    Friend at Intel corp said once - that software we are running will be really impressive once they catch up to the hardware. I think the Commodore 64 really goes to show what can be done on a really minimal environment.

    • by FranTaylor ( 164577 ) on Sunday June 14, 2009 @04:38AM (#28325471)

      The old quote: "Every time Andy gives me more horsepower, Bill takes it away."

    • by peppepz ( 1311345 ) on Sunday June 14, 2009 @05:11AM (#28325583)
      True, but... if we can reach such achievements on a C64, it’s also because we can use nice development tools, running on much beefier machines, programmed using cycles-eating high level languages, with the comforts of a contemporary operating system. I don’t think Contiki was programmed on a C64 monitor cartridge, in 6510 assembly.
      • by Skuld-Chan ( 302449 ) on Sunday June 14, 2009 @05:37AM (#28325641)

        Not all companies back then developed directly on the C64 either.

        There were dev tools for the PC for the C64 for example.

        I don't think its cheating to use a bigger PC to develop a complex app for a smaller machine ;).

      • Re: (Score:3, Insightful)

        by Hurricane78 ( 562437 )

        And because on a C64, you do not expect all the little features, grapics, etc. Like a spell checker, an animated mouse cursor semi-transparent high-color smooth-moving windows. many of them. An MP3 stream playing it he background, with an OSD poppig up. An instant messenger for 5 different networks running in the background. Sub-pixel-anti-aliased beautiful vector fonts, with different styles, intelligent breaking on the field end, full HTML+CSS+JavaScript+DOM+flash rendering/interpreting, automatic error c

      • Re: (Score:3, Interesting)

        by SpinyNorman ( 33776 )

        There's obviously a lot of truth to the ease of programming using high level tools, and standing on other's shoulders, but back in the day we made do with what we had. I used to work for Acorn Computers (UK) back in 1982, and was one half of the team that implemented ISO Pascal for the 6502-based BBC Micro...

        The project was divided into two halves (shipped on two 16K EPROMS), one half being a stack-based virtual instruction set for the compiler to target (to get reasonable code density), Pascal run-time lib

    • by Dan541 ( 1032000 )

      In this case both software AND hardware need to catch up about 27 years.

  • by Anonymous Coward on Sunday June 14, 2009 @04:24AM (#28325439)
    By releasing a client in the past Twitter will have become an integral part of our lives in the future. The only solution is to send a robot back in time to kill Jack Dorsey before he is born.
  • Contiki? (Score:3, Funny)

    by kwark ( 512736 ) on Sunday June 14, 2009 @04:24AM (#28325441)
    But will it run on LUnix [sourceforge.net]
  • Are you telling me this works without an internet connection?!
  • by Anonymous Coward
    The ethernet card is not original C64 equipment. He should be bit banging an rs232 link to a 300 baud modem in order to get a net connection.
    • That would be cheating, too, because the Commodore 64 does not have an RS-232 port.

      • Re: (Score:2, Informative)

        by Anonymous Coward

        Yes it does. Just because the RS-232 lines don't come out into a 9 pin connector, but the expansion port instead, doesn't mean it's not RS-232. The only reason one could even come close to saying the C64 doesn't have RS-232 is the fact that the RS-232 line voltages aren't by the RS-232 standard. However, everything else you need for RS-232 is there.

    • by Skuld-Chan ( 302449 ) on Sunday June 14, 2009 @05:01AM (#28325545)

      To do that you'd have to have a serial adapter as well - so where do you draw the line?

      By definition even - the 1541 (to load the program for those who don't know) isn't original C64 equipment (I couldn't even get one when I bought my C64 new - had to use tapes :)).

      Yeah - a completely stock C64 is pretty hard to use...

  • by rugger ( 61955 ) on Sunday June 14, 2009 @04:48AM (#28325495)

    The hardest parts of doing this will be the TCP/IP stack and drivers to connect to the internet.

    The messages are not long/require lots of screen realestate or memory.

    It certainly scores *cool* points for making exceptionally OLD hardware do very new things, but it doesn't score points for difficulty or complexity.

    But if someone finds it useful, then it wasn't a waste of time.

    • by Dan541 ( 1032000 )

      What sort of caveman could possible have a use for it?

      Should I use my phone that fits in my pocket or a big heavy commodore64 plus tv plus mains power supply?

    • by SpinyNorman ( 33776 ) on Sunday June 14, 2009 @09:08AM (#28326341)

      Actually, if you RTFA, he didn't develop the TCP/IP interface.

      This project uses an "MMC replay" C64 expansion box with an RR-net ethernet daughterboard installed. He wrote the Twitter client to run on the Contiki OS, which comes with a built-in TCP/IP stack and a driver for the RR-card. Credit for Contiki and it's uIP TCP/IP stack go primarily to Adam Dunkels:

      http://www.sics.se/~adam/ [www.sics.se]

      The accomplishment of the C64 Twitter client's author is really more about writing a Twitter client with one hand tied behind your back rather than really being C64 specific. He wrote it in C (CC65 6502 compiler) on Contiki, so the fact that it happens to be running on a C64 as opposed to any other environment that supports Contiki is somewhat irrelevant.

      Whether it scores any points for complexity really depends on your level of experience. Given that the ./ readership has become less and less hard core over the years, I think there are many people here who should be avoiding this guy's front lawn. At least, if you've never written any networking code in your life, how about firing up Linux, or installing MinGW (maybe roughly comparable to installing Contiki and CC65 on a C64), then writing your own Twitter client... It certainly won't be a waste of time if you learn how to do socket programming as a result.

  • by FranTaylor ( 164577 ) on Sunday June 14, 2009 @04:51AM (#28325509)

    There is a Commodore IEEE-bus floppy drive that works great with a C64 with the right adapter. It takes 1.2 Mb floppies and it makes a 1541 look really sad. It was radically expensive at the time and I remember how annoyed my boss was when I told him the price.

    We actually had it pretty good even back then. We had a Kontron 6510 ICE so we could go in and figure out exactly what was going on with that weird video hardware, and it was great for finding those odd bugs.

    I still cannot believe how badly those 1541 floppy drives sucked. They are the most miserable pieces of computer gear I have ever encountered. It is just beyond belief that someone has managed to keep one working after all these years!

    I liked the Atari 800 much better. The video hardware had a much cleaner design and it was a lot easier to code for.

    • by Skuld-Chan ( 302449 ) on Sunday June 14, 2009 @05:11AM (#28325585)

      The drives your talking about are probably the 8050 quad density drive series (and the SFD-1001 - which was for the C64)) - 1 megabyte as I recall. Two problems with them - a) they were hard to buy and b) quad density disks are impossible to find (you can't even use pc high density disks with them). Still the one I saw demo'd was incredibly quick.

      1541 used a 300 baud serial interface to the pc itself. In non burst mode programs took forever and a day to load or save - it wasn't entirely uncommon for a 15-20 minute load time.

      Still it was light years faster than tape (which was less than 50 baud).

      Yup - C64 was a complete hack, but you couldn't beat it for the price. For about 800-900 dollars you could have the PC and the 1541, where Apple ][ of the same vintage was 1500$+ with no accessories at all.

      • Re: (Score:3, Informative)

        by Sponge Bath ( 413667 )

        1541 used a 300 baud serial interface to the pc itself.

        That did not sound right. According to Wikipedia, it used a proprietary serial version of IEEE-488. "Without hardware modifications, some "fast loader" utilities managed to achieve speeds of up to 4 kB/s."

        • Re: (Score:3, Interesting)

          by drinkypoo ( 153816 )

          Lots of people know more about it than I do but the 1541 is basically a computer, IIRC it's about as powerful as the C64 itself. You could write loader code for both the drive and computer and achieve far more speed than letting the system just go forth and handle things for you. See also Epyx Fastload [wikipedia.org]

        • True, but that wasn't the stock behavior of the drive, it wasn't until much later after the launch of the 1541 that those sorts of tools arrived.

    • There are also harddrives for the C64, and I wouldn't be surprised if someone has built an flash-based storage device for them.

    • by lxs ( 131946 )

      "I still cannot believe how badly those 1541 floppy drives sucked."

      Their death rattle [youtube.com] produced during formatting and seek errors still haunts my nightmares.

    • by fm6 ( 162816 )

      With all the C64 hacking going on, I'm surprised you can't just plug a flash drive into the thing. Or would that take all the fun out of it?

  • by GF678 ( 1453005 ) on Sunday June 14, 2009 @05:23AM (#28325603)

    Before anyone asks why someone bothered to do this, I'll answer it - because they can. Simple as that.

    It has no practical use, that's for sure, but not everyone needs to be done to have a practical use. Some stuff is just cool. That's why we have these things called hobbies. I certainly wouldn't have invested my time into getting something like this to work, but I can't disparage anyone who does. It's a hobby. I would even argue that it does not reflect one way or another on a person's ability to get laid. :)

  • by blind biker ( 1066130 ) on Sunday June 14, 2009 @05:24AM (#28325609) Journal

    The first, and obvious, salvo into the Speccy camp: your rubbery toy didn't have a decent keyboard, a decent GPU, sound processor or disk drive, and now... you guys miss out on the 21st century, too ;o)

    Slug away, have at it!

    (P.S. this is all tongue-in-cheek. I actually wish I had a Speccy - there was a ton of great software for that little beast)

  • So Juno can now also finally start twittering?
  • Hey now, every COOL C64 user ran f-15 strike eagle or arctic fox. Now GEOS just made me scratch my head until we got an actual PC. I jsut wish I'd had a modem and used the BBSs back then.
  • Any success in developing resource-efficient software is to be celebrated, IMHO. There is far too much of a trend these days of writing bloated, horribly inefficient crap, simply because in hardware terms we can get away with it.

    The Windows refugees desperately need to stop being listened to. All they care about is superficial usability. They don't care about design quality, code quality, robustness, security, or resource (RAM/cpu/power) efficiency. The only important thing is that whatever they want to

    • There is far too much of a trend these days of writing bloated, horribly inefficient crap, simply because in hardware terms we can get away with it.

      I think you're wrong [slashdot.org].

      There's a reason why I have Ratpoison as a window manager for daily use, despite having a gigabyte of ram at my disposal. It's because I've used a C64 with a tape drive, and a portable IBM XT with a 2400 baud modem, and I'm thus able to recognise a graphical user interface for exactly what it really is.

      No, it's not. I upgraded to a C64 from a TS-1000 (and an Atari 2600 with the "BASIC Programming" cartridge and 63 bytes of RAM before that), and I use KDE on my desktop and Netbook Remix on my Eee PC. You use Ratpoison because you want to, not because exposure to old computers automatically makes a person allergic to new systems.

      If someone told me I was stuck at a text console from now on, I'd be OK (if grousy) about it. Until that day comes, I'd just as soon let this computer look p

      • Re: (Score:3, Insightful)

        by Hatta ( 162192 )

        I think you're wrong.

        I think you're wrong. If we were stuck with 1999 era hardware, we'd put a lot more work into optimization, and we'd get a lot more done with the same hardware. And, if you can find a carpenter who can build a timber frame [popularmechanics.com] house without nails, you're likely to get a much better quality house, but of course, more expensive.

        If someone told me I was stuck at a text console from now on, I'd be OK (if grousy) about it. Until that day comes, I'd just as soon let this computer look pretty and

    • Re: (Score:3, Insightful)

      I'm thus able to recognise a graphical user interface for exactly what it really is. A convenience. Not a necessity. There's a very big difference.

      If I had to edit my films and create my graphics in a text terminal, I'd have to kill somebody. Probably you. No offense.

      As much as I enjoyed using Gopher and Lynx on my Atari, I've moved on to using a 100% necessary GUI for many of my computing needs.

      • by Hatta ( 162192 )

        If I had to edit my films and create my graphics in a text terminal, I'd have to kill somebody. Probably you. No offense.

        Never used POV-RAY, huh? Command line video editing along the lines of audio editing with SOX wouldn't be so bad either.

        • by Purity Of Essence ( 1007601 ) on Sunday June 14, 2009 @11:57AM (#28327273)

          Never used POV-RAY, huh?

          On the contrary, I've used POV, probably the initial release and on that same Atari. Hell, I think I've even used DKBTrace. I've written my own GUI-less raytracers as well. It's kind of hard to do a magazine layout with POV, or design packaging, or create a logo, or composite effects into video. I've moved on to professional tools and will never look back unless I have some very specific need that only POV can fill. For procedural graphics and scientific visualization, it can be great. It's wonderful for hobbyists on a budget, or those in love with raytracing and willing to get their hands dirty, or those who want to learn more about raytracing in general. For work in a production environment? Get real. It continues to make advances, but it's still ten years behind the curve, and completely unwieldy for most CGI tasks. I have a friend who loves POV, she does all her game graphics with it. It shows.

          Command line video editing along the lines of audio editing with SOX wouldn't be so bad either.

          CLI video editing? You must be on the moon. You're certainly not an editor, unless your idea of editing is ripping DVDs. I cut my editing teeth on 3/4" U-matic tape. Then I moved up to a CMX, which is a computerized analog linear editing system with a text interface and dedicated console and computer controlled VTRs. Then I moved up to a traditional, computerized, timeline-based NLE with analog capture/playback, and then eventually digital I/O. Today I use a next-generation NLE which is much faster and much more efficient than any form of editing before it or currently available from other vendors. Without those advances, I'd still be working on the first film. When a film has 1000+ edits, with each of those edits being tweaked up to seven or eight times, and each of those shots selected from twenty times as much logged footage, you don't want to screw around. What I do today, and what I do to stay competitive, would be virtually impossible and utterly impractical without a GUI. Film is a visual medium. It makes no sense not to edit it in a visually way. Would you edit audio without speakers or ears? I'm sure SoX is a fine tool, probably great in a proper tool chain, but you're on goofy pills if you think it's any kind of substitute for Pro Tools. I doubt you'll find a single musician that uses SoX for anything but purely utilitarian purposes (as opposed to creative ones), and even then, I'm doubtful.

    • by petrus4 ( 213815 )

      I can understand why some of my recent posts have been modded Troll, but this one?

      Come on, guys...cut me a little slack, here.

  • by Prototerm ( 762512 ) on Sunday June 14, 2009 @07:09AM (#28325839)

    I want to know where the twitter client is for my VIC-20.

  • Did he just type his username and password in plaintext? Now be good everyone...
  • Contiki (Score:4, Insightful)

    by nurb432 ( 527695 ) on Sunday June 14, 2009 @08:39AM (#28326181) Homepage Journal

    Thats cheating, really its not a C64, its an embedded machine that happens to have composite video output.

    Running an embedded OS on an 8 bit processor is common place. REAL common place.

  • by that this is not und ( 1026860 ) on Sunday June 14, 2009 @08:52AM (#28326231)

    In schemes like this, the Commodore itself is just a thin layer of the user interface. There is definitely a more powerful processor than the 6502 on the Ethernet Card. Most of the processor intensive networking layers are 'contained' on the Ethernet Card, just as is/was the case with primitive processors like the 8088 communicating via Ethernet.

    Almost any 'expansion' of the Commodore involves adding a 'peripheral' containing a co-processor at least, and sometimes significantly more powerful than the 6502 in the Commodore. The 1541 disk drive has a 6502 processor in it. A Commodore 'Hard Drive' has a processor more powerful than the C64 it attaches to. So, really, this is no different than attaching a dumb terminal to a proprietary PC and claiming it's 'A Twitter Client for a Dumb Terminal.'

    Heck, I could attach a largish 44780-based LCD display and a P2/2 keyboard to one of the smaller PIC controllers and hang it off a linux box as a terminal and do about the same thing. Or, better yet, just attach a TDD terminal to the linux box. Wow! A Twitter Client for the TDD! Maybe I can get funding for 'facilitating' something to aid the handicapped!

    • Many peripherals used to be controlled by dedicated bit-slice processors which were faster at instruction execution than the main CPU. However, they had their operating code in ROM, had a limited instruction set, and had very limited memory. In the days when memory was expensive, this was a sensible tradeoff. Many early 8-bit CPUs were simply not fast enough to control a floppy disc drive and do anything else (hence the Commodore solution.)

      Try writing a useful program on one of those bit-slice efforts, thou

    • And this differs from modern PC hardware ... how?

      Last I knew, virtually all modern PC peripherals, whether they be modems, printers, network cards, video cards, hard disks, sound cards, monitors, etc. all had some kind of reasonably powerful processor in them, if not a complete self-contained embedded computer. Other than my speakers, I can't think of a single device inside of or attached to any of my three PC's that does not contain a small, embedded computer of some sort. I'd bet even my optical mouse h

  • Thank god.

In the long run, every program becomes rococco, and then rubble. -- Alan Perlis

Working...