In the C64 demoscene there are a ton of awesome software hacks that push the Commodore 64, the 1MHz 6510-based computer from 1982, to its limits. Most of these C64 demos are very much limited by the hardware inside the C64, but the demoscene is always coming up with new ways of pushing the envelope. [No Quarter] just sent in one of these software hacks that propel the capabilities of the C64 into the realm of absurdity by playing full length songs directly from the floppy drive.
Playing a song on the C64 begins with an Amiga and a Perfect Sound digitizer to convert the digital audio file into a 4-bit sample. Once this sample is transferred over to the C64 where it was manually timed so streaming it off a 1581 disk drive would result in the song playing at the correct pitch. It’s an amazing work of optimization; the audio data is streamed off the disk just as fast as it’s played from memory, an amazing data throughput rate for the ‘ol C64
After the break you can see [No Quarter] playing Led Zeppelin, Bon Jovi, Shania Twain, and Extreme. A very, very cool project and with the addition of a C64 hard drive makes it possible to have a media player for the C64.
24 thoughts on “Playing Led Zeppelin On A C64”
Its playing of a 1581 drive, not 1571 =)
The 1541 drives were hacked together at the last minute, they actually have the same processor as the C64 which was used to bitbang data over the cable at a suboptimal rate. I suspect that’s why the 1581 was used for this hack, it’s still impressive to interleave constant disk access with continuous sample playback on this machine.
One of the thinks I love about 8 bit ‘puters is the restriction of hardware remains the same, yet demoscene coders and hackers can do more and more with it, by utilising modern computer science advances to help build code. I’d love a time machine to go back to 1982 with a stack of demo disks, red storm, mayhem in monsterland, c64annabault, Dallas FMV demo etc. it would be seen as magic to them!
Not exactly the same processor. The 1541 used a 6502. The C64 actually uses a 6510. That’s based on the 6502 with extras. The 1541 is a computer in it’s own right and gutting one is a great basis for your own 6502 computer build projects.
now play still alive from portal!
nice one… I remember the good ol’ days when I used C64 as an amplifier for my bass guitar. Plugged it into C64 audio in (yes, it has one pin that acts as audio input), doing a POKE somenumber,15 to set the volume to max, and cranking the old tv all the way up, and it worked
1581?? Who ever used that? Do this with a 1541 and then I’m impressed.
The 1541 can’t keep up and we never owned a 1571 drive. This pushed the C64 to its absolute limits as the 1581 can just barely keep up. Back then, any time there was disk access, the whole computer froze up. Sure the audio sounds crappy, but this is an 8 bit machine running at 1MHz. In order to stream it, you have to compromise on the audio quality so the computer never stops and waits to load in more data. This is the best you could do back then.
Well, here’s a 3 minute song streamed from a 1541, with a picture and scroller to boot:
That’s pretty darn cool that it can stream from a 1541!!! I gotta hear this to believe it. I guess since my brother did his hack in the mid-90s, he can at least say he did it first. :)
Yeaaaaaaa, this is way cool. I’ve always wanted to do some streaming audio like this for the SNES.
Gotta disagree with the guy that said “play still alive from portal!”. good god has that song been beaten to death in these types of videos! no more! please!
I think the point is the c64 should be dead, an attempt at murdering it happened, yet still it is..
In that case, should play the Bad Examples then:
I was born too late to play in the rolling stones
I don’t know jimmy page,
I never met yoko ono
Standing with a strat,
I’m rock and roll’s bastard son
Go out, get drunk, get laid, have fun
I don’t got a million dollars,
don’t drive a cadillac
Gimme half a chance, ’cause I’m not dead yet
I’m not dead yet – not dead yet
I’m a mad dog fighting with the wall against my back
You’d better get a bigger gun,
I’m not dead yet
I been machine-gunned, hand-gunned, hijacked, left for dead
Divebombed, napalmed, nuclear warheaded
Dropped from a jet plane with no parachute
Shot by a firing squad and raped by a business suit
I’m dancing on a landmine, one leg left
But I can still crawl and I’m not dead yet
A link with further info would’ve been nice.
While it’s a nice hack it still sounds horrible. I prefer Reed’s Flamethrower: ftp://ftp.untergrund.net/breakpoint/2010/executable_music_oldschool/reed-flamethrower.zip
If it was some of the so called Lo-Fi and bit degraded junk they make today, you wouldn’t hear the difference to the original.
First time I heard audio streamed from a floppy is in 1988, from the Atari ST game “Carrier Command”. Was very impressed then… Now, not so much.
For me it was Xenon II – Megablast on the Atari ST. Cue similar awe shocked expression.
Actually the Atari 8-bit had a demo that played and recorded audio digitally using the analog inputs from the paddle controllers as A/D converter.
BTW My Atari ST is sitting next to me running star glider intro (that has a digitized sound intro)
The 8-bit Atari’s had some hardware advantages over the C64 (6502C @ 1.79 MHz and some specialized hardware such as the GTIA and POKEY chipset) so it’s not nearly as difficult as getting a C64 to do the same thing.
Was there ever an Atari demo that played a complete song from a floppy?
Hey guys. I submitted this hack this morning to Hackaday.com It’s my brother’s handiwork. It was never released and as present is packed away in a closet somewhere. Just to correct the hackaday information, this is NOT playing from a hard drive. This is playing from a 1581 floppy drive. I’ll email them about making the correction.
How much of the noise is MECHANICAL DRIVE NOISE?
None of it is. It’s got a static sound to it because this was about the best you could by rapidly changing the volume of the SID chip to play a rudimentary digitized sample. The C64 was never designed to play digitized samples and so it was a hack that worked although very primitive. Most of the samples you hear in songs are short and looped. Other demos would play a short 5 to 20 second sample because that’s all memory could hold! So this hack involves a custom load routine to shuttle the data as fast as possible and then it’s playing it at the same time it’s loading. The audio quality was beside the point when you were pushing the hardware to play a full-length song from the floppy.
Once again another coincidence. Just found an old C64 in my closet. Wondering what I should do with it.
Please e-mail me at firstname.lastname@example.org, I would like use your code and sample a song for a commodore convention next week. Thx!
Please be kind and respectful to help make the comments section excellent. (Comment Policy)