Forgot your password?
typodupeerror
Technology

Reviving a Commodore 64 Computer Using a Raspberry Pi 165

Posted by samzenpus
from the taking-a-step-back-forward dept.
concertina226 (2447056) writes "A group of Commodore fans are working on a new emulator with the ability to turn the Raspberry Pi £30 computer into a fully functioning Commodore 64 fresh from the 1980s. Scott Hutter, creator of the Commodore Pi project, together with a team of developers on Github, are seeking to build a native Commodore 64 operating system that can run on Raspberry Pi. 'The goal will be to include all of the expected emulation features such as SID sound, sprites, joystick connectivity, REU access, etc. In time, even the emulation speed could be changed, as well as additional modern graphics modes,' he writes on his website."
This discussion has been archived. No new comments can be posted.

Reviving a Commodore 64 Computer Using a Raspberry Pi

Comments Filter:
  • by jellomizer (103300) on Monday April 14, 2014 @02:38PM (#46749725)

    We have had C64 emulators for a while.
    The Raspberry PI is more than enough to do the work of a 30 year old personal
    computer.

    It isn't really that interesting the fact that it has been done.
    But for the person who did it, I would say it was pretty cool that they tried.

    • What would be genuinely cool, on the other hand, would be a board which went with it which included a SID socket and which implemented all the hardware interfaces, and which attached to the GPIO.

    • by Richy_T (111409) on Monday April 14, 2014 @02:48PM (#46749811) Homepage

      Agreed. These systems had a lot going for them at the time (I was a Spectrum guy myself) but so much has moved on. What would be interesting would be to bring the spirit of these old systems into the modern age rather than just replicate them wholesale. Boot into a system which allows you immediate programming (preferably with a modern OO syntax) and access to video, sound and peripherals. If there's anything that has suffered over the past three decades, it's easy access to I/O.

      • by Anonymous Coward

        If there's anything that has suffered over the past three decades, it's easy access to I/O.

        That's because it was one of the greatest sources of system crashes.

      • by ruir (2709173)
        I second this. We have seen many true faithful emulators, what would be interesting would be interface for current systems that would make easy to program them as it was that easy to program the original Spectrum or C64. Maybe some adaption of the BASIC, or even machine code interpreters, but with more colours, and more sound capabilities for instance. It would make an interesting project, specially for my generation, that was used to program them, and maybe even for introducing newcomers.
      • by nadaou (535365)

        What would be interesting would be to bring the spirit of these old systems into the modern age rather than just replicate them wholesale. Boot into a system which allows you immediate programming (preferably with a modern OO syntax) and access to video, sound and peripherals. If there's anything that has suffered over the past three decades, it's easy access to I/O.

        hmmm, if only there was something [readwrite.com] like that [piprogramming.org] already [elinux.org] under our noses [makezine.com].

      • Re: (Score:2, Interesting)

        by TeknoHog (164938)

        Boot into a system which allows you immediate programming

        Like Bash? For me, Linux is what made computing interesting and fun again. It has easy access to programming tools, and none of this forced separation of users and developers.

        (preferably with a modern OO syntax) and access to video, sound and peripherals. If there's anything that has suffered over the past three decades, it's easy access to I/O.

        I admit it gets a little complex here, but for example Python (a key element in my "fun computing" experience) has nice libraries for these. For example, some of my electronics/FPGA work owe a lot to Python's serial port module. Not because the serial port is hard to program otherwise, but for making it easy to write all kinds of code

        • I gotta chime in on this one.

          Luckily I was a young enough whippersnapper that I didn't know better. But "Keypunch Software" took the IgNoble-80's prize.

          They were notorious for using *Ascii* graphics moved by keystroke in their games!

        • by Richy_T (111409)

          No. I won't bash bash (though I tend to go straight to Perl if I can) but it isn't suitable for what I'm talking about either in accessibility or capability. Booting into javascript (for its sins) would probably be closer.

    • Give it a 10/10 for cool and an 8/10 for interesting. I guess not everyone's experiences with the C64 had the same value.

      Also, of the other machines that existing c64 emulators run on, how many of them can be powered by two 9v batteries [repairhub.co.uk]?

      • by MtHuurne (602934)

        The real question is why a C64 emulator would require a dedicated OS instead of just running it under Linux. If you want to reduce boot time, just turn off all unnecessary features in the kernel config and put the emulator in the initrd, you should be able to have a C64 BASIC prompt in less than 3 seconds.

        • by Narcocide (102829)

          Have you ever actually booted Linux on a raspberry pi or booted a C64 and actually used it? Your question is akin to asking "why would anyone want to ride a bicycle down the street when they could just ride the bicycle around inside the back of a 18-wheeler while it drives down the street?"

          • by MtHuurne (602934)

            The computer lab in my primary school ran on C64s and I own a working MSX (home computer from the same era as the C64). I know how fast they boot. I haven't booted a Raspberry Pi yet, but I have run and built several embedded Linux systems. I'm sure booting Raspbian into X11 will take a while, but if you build a dedicated image for running a single emulator it could boot very quickly.

            I'm not comparing a full XFCE/X11/GNU/Linux stack to a dedicated emulation OS, I'm comparing the Linux kernel plus a boot scr

    • by Roger W Moore (538166) on Monday April 14, 2014 @03:16PM (#46750063) Journal
      Ah but there is something amusing about someone taking the successor of the BBC Model B and then using it to reproduce one of its main competitors from the period. However it's good to see that the 1980s 8-bit home computer religious wars finally ended in mutual cooperation! ;-)
    • How about the Raspberry Pi as an Apple II "peripheral"? https://ultimateapple2.com/cat... [ultimateapple2.com]
  • I currently have a dresser full of over 2000 C64/128 disks , system tools, etc. I have 2 working 64s 2 broken 64 and a working 128. I play with them from time to time but its so much work to keep them up and running (the 2 broken ones are used for parts these days) I wouldnt hate on this
    • Most likely the majority of those floppy disks will have issues. Magnetic media doesn't last forever.
      • by ganjadude (952775)
        you are correct. I keep them in a climate controlled area, but id say 1 out of 10 that I try are corrupt. Its a shame but I just cant bring myself to throw it all away eventhough the truth is they are 100% useless, even if they work in todays world
        • by jandrese (485)
          If you love them, get them all backed up on to a HDD ASAP, and make sure your HDD is backed up regularly as well. You can fit an insane number of C64 floppies on a modern HDD, so keeping the images around won't take much space at all. The only way to really preserve data long term is to maintain it by bringing it with you as you upgrade.
        • by Mr Foobar (11230)

          you are correct. I keep them in a climate controlled area, but id say 1 out of 10 that I try are corrupt. Its a shame but I just cant bring myself to throw it all away eventhough the truth is they are 100% useless, even if they work in todays world

          I still have my old Kaypro's, an '83 IV and a 10, loved them then and love them still today. It was fun running the IV as a terminal to an old 386 running Minx and a highly modified Apache, just for shitz 'n giggles. Anyway...

          Oddly, the media included with both the IV and the 10 are all good, and run perfectly. I copy them to floppies (which are getting increasingly very hard to purchase), and after a good while, the floppies start going bad. I took the time to make images of all the media I have, still do

        • Just make sure that you haven't got any missing games and programs from Gamebase64 www.gb64.com

          They'll be interested in any rare disks of games and educational software for preservation and archival.

          • by ganjadude (952775)
            thanks, I will check that out and see if i can contribute anything. I got my stuff from a school that was throwing it all away so i wouldnt be surprised if i dont have some obscure stuff
    • by no1nose (993082)

      I wonder if they will be able to emulate the long, loud, load times of the 1541 :)

      LOAD "*",8,1

      • by jandrese (485)
        translates to:

        file= open(firstavailablefile());
        sleep(disksize(firstavailablefile()) / 1000);
        read(file, memory, disksize(firstavailablefile()));
    • I had a 128 for a while. The only 128 command I used regularly was GO 64.

      • Awww, I gotta chime in here too.

        I was at the crucial intersection of age, difficulty, and timing between C64 and C128. C64 proved too difficult to Non-Genius me at 9. C128's extra commands allowed me at 12 to create some thirty programs, just enough to taste programming, but still hit Go64 to play the old games. A couple times in the passing decades Commodore Basic was the only language I could whip up a quick test experiment without learning entire new languages. RIP C128.

  • Vice and Frodo 64 (Score:5, Informative)

    by innocent_white_lamb (151825) on Monday April 14, 2014 @02:56PM (#46749885)

    I use Vice [sourceforge.net] on my desktop computer and Frodo C64 [google.com] on my Android phone. Accordingly, I don't need an extra gadget to play with my Commodore 64.

    Gamebase64 [gamebase64.com] has everything you never needed to know about C64 games, Girls of '64 [c64.org] for everything in 8-bit nudity, and AppsnToolsBase64 for everything in utilities, business and productivity applications.

    All c64 programs are tiny in modern terms; an uncompressed 1541 floppy disk image is only 170k. So you can carry every significant Commodore 64 program that was every released on a single flash drive or on your phone, and have plenty of room to spare.

    • by ganjadude (952775)
      Thank you for the links. I knew of some of them but not gamebase, Ill be checking that out tonight
    • by Minwee (522556)

      I use Vice [sourceforge.net] on my desktop computer and Frodo C64 [google.com] on my Android phone. Accordingly, I don't need an extra gadget to play with my Commodore 64.

      I was about to say something nice about the Android port of Frodo and how great it was that the developer must have finally figured out how to swap disks without entering 'LOAD"*",8,1' and had a keyboard that looked even vaguely like the original but...

      No. Never mind. It's still nice to have but bordering on unusable for anything complex.

  • old tech (Score:1, Offtopic)

    by ecorona (953223)
    Can someone please explain this obsession with the Commodore 64? I don't understand why they would fixate on old technology when what we have now is far superior.
    • by Narcocide (102829)

      http://www.youtube.com/watch?v... [youtube.com]

      If you weren't there, this video may sum it up the best.

      • by ecorona (953223)
        I want those 5 minutes of my life back. That explains nothing.
        • Re: (Score:3, Informative)

          by Narcocide (102829)

          Ok, you're right. I'm sorry, that was completely pointless. In all seriousness, what is probably most telling about the time period in computing and why there is still such a following today is in the second sentence of its wikipedia page [wikipedia.org]; "Listed in the Guinness Book of World Records as the highest-selling single computer model of all time, independent estimates place the actual number sold between 10 and 17 million units."

          While its true that shortly after that era the "IBM PC revolution" effectively fra

    • Re:old tech (Score:5, Insightful)

      by Anonymous Coward on Monday April 14, 2014 @03:08PM (#46749991)

      It's called nostalgia. You'll know what it is when you get older.

      • It's called nostalgia. You'll know what it is when you get older.

        Will he?

        I'm typing this on a commodity laptop - I don't even remember the model number. In a year it will be in the trash. It will never be as cool as my VIC-20 or Apple 2+, which I still have more than 30 years later.

        • by BitZtream (692029)

          Yes, he will. He'll have an Android or iPhone emulator instead, or whatever was relatively 'new' and novel at the right time in his life for him to remember how much of a good time it was.

          Everyone gets nostalgic, but its not for the same thing. He'll have his own thing to get misty eyed over, what it may be, I can't say. May even be something like going to 2d movies, or hanging out in smoky bars (since they seem to be vanishing) ...

      • Re:old tech (Score:5, Funny)

        by leathered (780018) on Monday April 14, 2014 @03:50PM (#46750371)

        He'll be disappointed though, nostalgia isn't half as good as it used to be.

        • Re:old tech (Score:4, Insightful)

          by MarcoAtWork (28889) on Monday April 14, 2014 @05:59PM (#46751313)

          I laughed at the joke, but it is actually true, you can't compare the feeling one got in the early 80s when computers were new and mysterious (and expensive) and they got a C64, the vast majority of things now are commodity, there is going to (predictably) be a new and (slightly) improved model next year or in a couple of years at the most, there is not as much attachment as there used to be.

          When the C64 came out, you didn't already know that next July/September the C65 was going to come out, and the year after the C66, etc. you didn't need a credit card to play your C64 games, you didn't need to pay $0.99 every 5 games of Archon or wait 1 day for the 'crystal' to 'recharge', most games were not thinly veiled attempts to nickle and dime you to death. You didn't have Archon 1983 knowing that Archon 1984 was going to come out next year with slightly reskinned pieces, and Archon 1985 the year after that with maybe a rule tweak or two.

          In order to have nostalgia you need a unique time to think about, and nowadays electronics (and increasingly games) are anything but unique: there is no money in fostering feelings of attachment to what you bought, the money is to make you want to get rid of it and get a 'better' model basically as soon as you got home from the store.

          • In other words: Things are only ever new once.

          • by Xest (935314)

            "there is going to (predictably) be a new and (slightly) improved model next year or in a couple of years at the most, there is not as much attachment as there used to be."

            The C64 came out in 1982, the Commodore Amiga, and Commodore 128 came out in 1985, with the Amiga 500 in 87, the Amiga 500 Plus in 1991, the Amiga 600 in March 1992, and finally, the Amiga 1200 in October 1992. That's 3, 2, 4, 1, and 0.5 years respectively between releases.

            In contrast, the Xbox 360 lasted from 2005 until 2013 before a new

            • The C64 came out in 1982, the Commodore Amiga, and Commodore 128 came out in 1985

              6 months after the C64 came out were there already rumblings that the Amiga was on its way? Obviously in a decade where you went from the ZX80 to the 486 there were new computers on a fairly regular basis, but it was really not the same as it is today with yearly PC updates (cpu/video), yearly phones, yearly games, ...

              • by Xest (935314)

                "6 months after the C64 came out were there already rumblings that the Amiga was on its way? Obviously in a decade where you went from the ZX80 to the 486 there were new computers on a fairly regular basis, but it was really not the same as it is today with yearly PC updates (cpu/video), yearly phones, yearly games"

                Really, it wasn't much different, only the technology that rapid iteration happened to changed. As I pointed out there are systems today that have relatively long life cycles (consoles) just as t

      • by Minwee (522556)
        Nostalgia used to really mean something, but nowadays it's just not the same.
    • Re:old tech (Score:5, Insightful)

      by ArcadeMan (2766669) on Monday April 14, 2014 @03:18PM (#46750095)

      Superior in specifications, maybe. But I'd say that 99.999% of today's programmers have no fucking clue what code optimisation really means. This is nostalgia about a time when people actually gave a fuck about what they were doing.

      • But I'd say that 99.999% of today's programmers have no fucking clue what code optimization really means..

        CPU power is cheap, let the compiler optimize what it can, take care of larger bottlenecks, and who cares? The rapid development we have now allows us to progress at an amazing rate because it usually doesn't matter if we waste a few cycles. You can continue to do F1 at the edges, but the mass in the middle is fine with a Civic.

      • Re:old tech (Score:5, Insightful)

        by Bonobo_Unknown (925651) on Monday April 14, 2014 @08:24PM (#46752315)
        I don't know that blindly optimising for one set of resources is a good thing. My grandpa would say the same thing when us kids worked in the shed, he would constantly remind us to collect the nails from the timber we were re-purposing, and straighten them and put them into jars because once upon a time in the great depression nails were much more expensive than they were now, and you couldn't go down to the store and get 100 for a dollar, and in any case you didn't have a dollar. In this sense grandpa was really optimised for nail and resource consumption, but perhaps he was not optimised for time consumption. So he was optimising for resources in a time where he would have been a better manager to optimise for time.

        When you talk about code optimisation you are always talking about a trade off. In old systems you were forced to optimise for memory and processor time at the expense of time, money, security and memory protection (robustness) optimisation. Now, with far more memory and processor cycles available to us than most programs need we can optimise for other things - example: we can use frameworks and libraries to manage memory so that programs although they don't run as fast as they would if optimised for memory and processor they don't leak memory, and their performance is adequate for their use case. It also takes a lot less time and resources to develop now.

        So what I am saying really is when you say something like "99.999% of today's programmers have no fucking clue what code optimisation really means", well the truth is that they do, but that they are optimising for the elements that are the most scarce rather than the elements that are now relatively abundant being memory and cpu time.
    • by gstoddart (321705)

      Can someone please explain this obsession with the Commodore 64?

      Nostalgia.

      These were the first computers many people used, and and the games were quite legendary to some people.

      Because they can.

      Now that they're all grown up and have these spiffy new toys to play with, you have to do something with it.

      Vanity.

      It has always been true that programmers tend to play with projects that appeal to them and which they find fun and interesting. That there's already a crap ton of the same kind of app is irrelevant. T

      • by ruir (2709173)
        Ease of programming too. Nowadays it is so much more difficult to do something useful with/or small programas. Just a box popping up with hello word involves often installing and leading with an IDE, learning an API, and some hundred lines of code...nothing like 10 PRINT "HELLO WORD!"... or MOV AH,9 MOV DX,ADDR MESSAGE, INT 21h....good times.
        • by MichaelJ (140077)
          $-terminated string output. Bless ya for bringing back good memories. Gotta go now ... INT 20h.
    • Re:old tech (Score:4, Interesting)

      by bjdevil66 (583941) on Monday April 14, 2014 @03:43PM (#46750309)

      While schools had Apple computers, many 40 somethings first cut our teeth with computers at home on the C64 or Vic-20. With the C64, I first saw a modem (300 baud) and connect to a BBS system, a floppy disk drive (5.25" - holepunched to use both sides), and compressed digital music (at a C64 club meeting someone had a 10 second snippet of compressed, digital music on a C64 - sounded like crap and took (the usual) 2 minutes to load, but it was a decade ahead of MP3s.)

      It also had BASIC programming capabilities with the disk drives for storage. You could draw sprites/graphics, program songs, do basic word processing, etc. Save it on your floppy disk and you were set.

      Finally, the C64 had great games that made the pre-NES home consoles like the Atari 2600 look like garbage. The game selection was big enough to where a lot of good games were eventually produced: Ultima III/IV/V (or Bard's Tale, Temple of Apshai, Sword of Fargoal) = World of Warcraft. Arcade/Adventure/Pinball Construction Kit(s) = Minecraft. Karateka/Yie Ar Kung Fu = every fighter game ever. Beachhead = a 2D Call of Duty. Other great games off the top of my head -- Mission Impossible, Raid Over Moscow, Summer/Winter Games (Epyx), Raid on Bungeling Bay, etc.

      It was also our first exposure to pirated software trading and beating DRM (Fast Hack'Em, etc.). To play our pirated version of archon (a great cross of chess and 2-D shooter):

      load"*",8,1 (,8,8)
      sys 24832

      The system is a fossil today, but it was great for its time... You just kinda had to be there.

    • Understandable (Score:5, Insightful)

      by BrainRam (939611) on Monday April 14, 2014 @03:59PM (#46750439)

      The Commodore 64 was right at the cusp of technology where a device could be almost fully understood by a dedicated layperson. If you picked up the Commodore 64 Programmers Reference Guide, you got 504 pages (1.4 lbs) of technical data, including a full system schematic. Low-level programming involved tweaking memory locations that were (effectively) hard-wired to chip pins, directly manipulating the state of the SID or modem chips. Want to watch tape I/O coming in through the bus? Just watch the right memory location.

      Today's systems are far more powerful. But I bet most professional developers can't say they fully understand all of the timing, pipeline, memory I/O, bus architecture, video pipeline, and everything else that makes these machines great. There's a lot of "black box", even for the experts. Read Abrash's Graphics Programming Black Book Special Edition if you want to see how much there is to know about optimizing even a single function in what is now a 20 year old machine.

      The power of computing comes from abstraction. But the Commodore 64 (and the Apple ][) marked a tipping point when you could dig into the abstraction as a motivated beginner and strip away the layers until you were dealing with the bare metal. And there is power in that understanding. A bottom-to-top stack of knowledge that helps develop mental models that make more complex systems easier to understand. While my daughter has a very powerful laptop for school, way more powerful than a C-64, it highly unlikely that she or any of her peers will be able to peel the onion back to the physics of electricity like my generation was able to.

      So I'd rather have today's tech. But I'm glad that I got to spend a lot of time with a C-64 in my youth, or I'd be nowhere near the programmer I am today. That's where the nostalgia comes in. Greatness in (relative) simplicity.

      • Re: (Score:3, Insightful)

        by Mryll (48745)

        Another thing is that you really had the sense that you were on the edge of something new back then. These were some of the first computers that were adopted by the public in significant numbers, and if you had one, you were really one of the few early computer owners. If you happened to be a teenager, more exciting and better yet

        In those days using a computer was really a choice of love, because it was NOT CONSIDERED COOL. You had to pay some social stigma price to stick it out. We did. The younger folks

      • Re:Understandable (Score:5, Interesting)

        by bender647 (705126) on Monday April 14, 2014 @07:19PM (#46751879)
        Indeed - I still have my original Commodore VIC-20, and a second one, because I was careless with the first one day while poking around in it with a voltmeter as I executed code. Schematic and memory map were not only fun but really needed to do anything powerful beyond BASIC. I'd never want to go back to hand-assembling and poking machine code or laying out arrays of ASCII characters on the screen, then changing their bitmaps to plot graphics on screen, but having done so once was priceless.
      • by ruir (2709173)
        This comment is spot on. I had a ZX Spectrum 48K, and you could really grasp the machine. In so many ways, that I was the first one writing a emulation for Windows for it.
    • Re:old tech (Score:5, Insightful)

      by jandrese (485) <kensama@vt.edu> on Monday April 14, 2014 @04:58PM (#46750913) Homepage Journal
      It's the first computer many people had access to, and especially the first computer they could actually program themselves. In an era where PCs cost thousands of dollars, a C64 cost only a couple hundred. Parents could afford them and the default shell was a BASIC prompt. Plus, it had built-in hardware to support making games (sound chip, sprite generator, joystick port) which made interesting to the kids first learning how to program on it.
      • by ecorona (953223)
        I totally get it. This explanation makes sense. My first computer was a 100 Mhz Mac with Mac OS 7.5. I was so excited about the computer that I read an entire book explaining every detail of the OS. America Online was pretty much the only ISP. I used to love finding people of various professions, instant messaging them, and asking questions I could never normally get answered. About 9/10 times I'd get ignored, but those people in a good mood would explain fascinating stuff. I know how you C64 peeps feel. If
    • Taking you seriously, this is one of Nostalgia's finest moments.

      A ton of us were *exactly* in the right range to use of the three or four Commodore comps from the mid 80's to change the worldview outlook forever. We don't pretend to do much more than hobby projects with them now. But those are the comps that *made us*. It was back when computing, and a little light hacking, was fun. The NSA wasn't (overly) noticeably destroying computer infrastructure. You could get a few long distance calls. Make a few Maz

  • by Lennie (16154)

    Sorry, I liked the life size Gameboy better:

    https://www.youtube.com/watch?... [youtube.com]

  • It was collecting dust, c'mon - admit it - yours was too.

    I've got plenty of these one-board wonders, Texas Instruments Stellaris Launchpad anyone? Collecting dust? What? I still use my old JR51AC2 - (8051 type) devboard with my gazillion 87c51fc3 mcu's without needing yet another devboard for yet another processor & concept..., but hey...kudos for trying Braben.

    Now...if I could only find an original cable for the SX-64 Computer (yes, for you noobs out there, that is a Commodore 64 all-in-one comput
    • I remember the SX-64. Even back then the screen was just too small to actually be useful. Oh and it was so big and heavy!
  • OK, I learned on the Apple ][, PET, VIC-20 (all 6502's) and a C64 (6510) as well... I also owned a Tandy CoCo (6809). And I remember how things were back then... But what's the point of all this nostalgic development effort to recreate the old machine, again? Hell, there are emulators that run on Linux that would work fine on the Raspberry Pi. Unless you're trying to recover some fundamentally necessary data or program, I just don't see the point. Move on man... Move on.
  • Will it require you to SMACK the restore key to get it to register?
    Will it take 1.5 seconds to boot up?
    If you press reset will you be able to switch the last bitmap in video RAM onto the screen (easier to do on the C=128 with included reset button and GRAPHICS command)?
    Will the power supply be prone to overheating?
    Will I/O be painfully slow?

    All that said I miss my Commodore, despite all its faults. :-(

  • doesn't mean you should. Kudos to the folks that did it though.

  • There s absolutely now way to get a cassette tape recorder on that little board.

    • The cassette recorder can be emulated too. There is a file format for C64 cassettes called TAP.

      That said, the tape emulation can be sped up, and with the TAP loading from solid state memory, you get to miss out on hitting a load error, having to rewind the tape, and starting all over again 5 minutes for something to load. I have to admit, having the emulated tape takes all the fun out of it!

    • by ruir (2709173)
      Thanks god. I suffered already enough with real cassette tape recorders...
  • "as well as additional modern graphics modes"

    Then it's *NOT* a C64.

  • Reviving means repairing, replacing caps and other components. (which I haven't have to do on my Nintendos and C64s)

    This is really turning out as another reddit forum

Uncompensated overtime? Just Say No.

Working...