Reviving a Commodore 64 Computer Using a Raspberry Pi 165
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."
8 out of 10 for cool. 1 out of 10 for interesting (Score:5, Insightful)
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.
Re:8 out of 10 for cool. 1 out of 10 for interesti (Score:5, Insightful)
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.
Re: (Score:2)
You're right, but the success of an emulator project like this is a practical prerequisite to generate enough demand for such a device.
Re: (Score:2)
Re: (Score:2)
I let my C64 go already. Still have a 1541, can't bear to actually throw it away but they're not really worth much and who knows if it even still works.
Re:8 out of 10 for cool. 1 out of 10 for interesti (Score:5, Interesting)
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.
Re: (Score:1)
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.
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
I need to work out how to switch UEFI off. I rebooted without my hard-drive attached and when I rebooted it after reattaching, it had forgotten all about it and refused to even recognize that an OS was present. It was somewhat of a pain to get it to recognize it again.
Re: (Score:2)
And in case anyone has the same issue and ends up here, the fix was I had to boot the install CD in UEFI mode as if you boot it in legacy mode, the right /dev devices are not created and the elilo install doesn't work.
And there is/was a bug in the creation of the elilo config file with a LVM setup (Slackware 14.1). I reported that though.
Re: (Score:3)
hmmm, if only there was something [readwrite.com] like that [piprogramming.org] already [elinux.org] under our noses [makezine.com].
Re: (Score:2)
This link pretty much wraps it up:
http://elinux.org/RPi_Low-leve... [elinux.org]
Re: (Score:2)
You missed the point. Perhaps you never used one of these systems.
Re: (Score:2, Interesting)
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
Re:bar for awesome graphics is a tad higher today (Score:2)
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!
Re: (Score:2)
Hey, where my computing history comes from, ASCII was an upgrade :)
Re: (Score:2)
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.
Re: (Score:2)
They say if you give a man a fish, you feed him for a day... in the beginning, Linux was like teaching him to fish. Self-reliance and knowledge and skill are good things, but if you're just hungry and don't enjoy fishing, you just want the fish. Most people who use computers these days don't want to program - they just want to be given a fish.
I'm afraid you forgot the link: http://fishshell.com/ [fishshell.com]
Re: (Score:2, Insightful)
http://www.templeos.org/Wb/Accts/TS/Wb2/TempleOS.html [templeos.org]
"The vision for TempleOS is a modern, 64-bit Commodore 64."
But like I said, the author is quite insane. Just...watch the video.
Yes, it is real and he is for real.
Re: (Score:2)
Re: (Score:2)
Yes. That sounds like it's closest to what I'm thinking of out of all I've heard so far. I'll look into that further.
I on the other hand... (Score:1)
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]?
Re: (Score:2)
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.
Re: (Score:2)
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?"
Re: (Score:2)
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
C64 on the BBC B Successor (Score:5, Funny)
Re: (Score:2)
This could be cool (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
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
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I wonder if they will be able to emulate the long, loud, load times of the 1541 :)
LOAD "*",8,1
Re: (Score:3)
file= open(firstavailablefile());
sleep(disksize(firstavailablefile()) / 1000);
read(file, memory, disksize(firstavailablefile()));
Re: (Score:2)
I had a 128 for a while. The only 128 command I used regularly was GO 64.
Re:I had a 128 for a while. (Score:2)
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)
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.
Re: (Score:2)
Re: (Score:2)
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)
Re: (Score:1)
http://www.youtube.com/watch?v... [youtube.com]
If you weren't there, this video may sum it up the best.
Re: (Score:3)
Re: (Score:3, Informative)
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)
It's called nostalgia. You'll know what it is when you get older.
Re: (Score:2)
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.
Re: (Score:2)
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: (Score:2)
Kids today or from not too long might not remember specific hardware, but will remember software that they first learned on. A lot of people remember specific hardware because at the time there was either a lot of difference between features they cared about, or more likely because the software they used was tied to it. So now there won't be so much as remembering a specific piece of hardware (unless someone is learning on something like the Pi, or some other system on a chip or embedded system), but will still have nostalgia for the language of platform they learn on.
But keep in mind the ubiquity of said hardware in software in today's world. I cut my teeth on the Vic-20 and later the C64, but back then I was one of the only kids in school who had a computer. That is what makes this type of nostalgia so, er, nostalgic. 30 years from now a kid who is ten today will not have been the only kid on the block with a computer. Shit, they got toddler laptops these days.
Re:old tech (Score:5, Funny)
He'll be disappointed though, nostalgia isn't half as good as it used to be.
Re:old tech (Score:4, Insightful)
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.
Re: (Score:3)
Re: (Score:2)
"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
Re: (Score:2)
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, ...
Re: (Score:2)
"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
Re: (Score:2)
Re:old tech (Score:5, Insightful)
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.
Re: (Score:3)
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)
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.
Re: (Score:3)
Re: (Score:2)
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
Re: (Score:2)
Re: (Score:2)
Re:old tech (Score:4, Interesting)
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.
Re: (Score:2)
Re: (Score:2)
My iPhone is named Archon today. I loved that game.
Re: (Score:2)
Understandable (Score:5, Insightful)
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)
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)
Re: (Score:2)
Re:old tech (Score:5, Insightful)
Re: (Score:2)
Re:please explain this obsession w/ C64 (Score:2)
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
Re: (Score:2)
I collect WWI/WWII vintage guns. I have guns made as far back as 1923 even though a new AR is cheap, easy and available.
I have an Austrian Lorenz rifled musket that has been in my family since the Civil War. I win. But seriously, one gun I really want to add to my collection is an M1 Carbine made by either GM or IBM, because that's just plain cool, and one hell of a conversation starter.
Re: (Score:2)
but come on, I have guns that were used to kill Nazis.
LK
I have a1942 Izhvesk Mosin Nagant as well :)
Re: (Score:2)
Just picked up a 1944 Izhevsk ex sniper.
LK
Now you win. I'm jealous :)
Re: (Score:3)
See, this is where it goes all sideways.
I have a 44 year old truck. I get the collecting cars thing. I understand the collecting old guns thing. I get the being creative and building your own furniture thing. But he's not collecting old computers and keeping them alive. He's making a copy of the old machine using a new one, that acts somewhat like (but will never behave exactly like) the old one. The guy's creating yet another emulator using an ARM processor board.
Car analogy again: my truck has
Re: (Score:2)
Re: (Score:2)
Gameboy (Score:2)
Sorry, I liked the life size Gameboy better:
https://www.youtube.com/watch?... [youtube.com]
Re: (Score:2)
Yeah, sorry.
English isn't my first language.
Finally, some decent use for my Raspberry PI (Score:2)
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
Re: (Score:2)
why (Score:2)
how accurate will it be? (Score:2)
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. :-(
Just because you can do something... (Score:2)
doesn't mean you should. Kudos to the folks that did it though.
Failure imminent (Score:2)
There s absolutely now way to get a cassette tape recorder on that little board.
Re: (Score:2)
Re: (Score:2)
Nothing like the real thing (Score:2)
"as well as additional modern graphics modes"
Then it's *NOT* a C64.
Reviving is *not* emulation (Score:2)
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
Re: (Score:3)
I am still getting my PDP 11/70 ported to Raspberry Pi. RT11 and RSTS.
Re:LOLOLOL (Score:4, Informative)
Why? Just get this http://simh.trailing-edge.com/ [trailing-edge.com] and compile it.
Re: (Score:2)
Can you not think of something better to do with your money and time.
Well, he could try posting on Slashdot -- or was that what you were referring to?
Re: (Score:2)
Can you not think of something better to do with your money and time.
Agreed. They should be doing something original at least. What's next, a Super Mario for Raspberry Pi?
Re: (Score:2)
It's okay, he can pay for them with the power generated by his perpetual motion device and the winnings from his nobel prize.
Re: (Score:2)
Ultima 4 was one of the best games ever. One of the reasons I keep a real C64 (first gen, with the better sound chips) around with at least two 1541 drives. One of them is hooked up to my TV with two 1541. The other one is hooked up to an Amiga monitor with a 1541, a 486 with 64HDD and a 1541-II for image transfers
And yes, I still have some 5 1/4 floppies brand-new in shrink wrap :)
Re: (Score:2)
At my home, along with a Koala Pad tablet