Streaming RealAudio From a Commodore 64
An anonymous reader submits: "This just came in on comp.sys.cbm and
I think it will be of general interest here at Slashdot as well. Two
Commodore hackers, Adam Dunkels and Peter Eliasson, have built an
Ethernet card for their C64 and have connected one to the
Internet. But they aren't 'just' running a TCP/IP stack and a web server on it - they are also
running a RealAudio server which streams audio from the C64's cassette
player and apparently, it sounds awful! They have the full source code
avaliable and pictures of the
C64 server."
Come on now timothy. This is news for nerds, and you should know, as a nerd, that a C64 isn't going to handle the slashdot effect, regardless of the pipe its on. I mean, you could have at least done these guys the favor of not posting the link to the webserver and maybe only to the newsgroup posting. Adding to the end of the post *We will link to the webserver tomorrow - Look for it in the Old Stuff section* I think that would be a decent idea for any project like this where expirencing the site doesn't give you any further insight to the project and when you know for a fact that the server can't handle the /. effect.
Holy shit! This thing is still standing! I was able to get through with just two tries (the first time I just got the frameset). According to the docs they had put in quite a few optimizations to their TCP/IP stack to allow for a lot of connections (they said they encoded the state data in TCP sequence field, allowing them to have unlimited connections, or something like that)
:P
The thing is, they haven't got the optimization on port 6510, so if you try to go to the 'tcp status page' you'll overload it.
Building a C64 web server is impressive. Building one that can stand up to the Slashdot effect is, well, wow
autopr0n is like, down and stuff.
See DJB's web page about them. The scheme was designed to ward off SYN-flood DoS attacks, which is pretty much what a /.ing amounts to.
#define X(x,y) x##y
Peter Cordes ; e-mail: X(peter@cordes ,
I believe that in some (or most?) of the better demos produced on the C64, the coders used the floppy-drive processor to help calculate the vectors. I never coded for the C64, so I don't know for sure though.
Anyway, the demo coders from the C64-scene are definitely impressing. Talk about using the resources you have to a maximum.
And why not? It's possible. In fact, it's not even painful.
And didn't Kevin Poulsen hAx0r the Arpanet with a VIC-20 back in 1984? (I doubt that needed more than a terminal program, though =)
Ah, memories. Back when C64's were actually modern, I attached a hardware UART to the bus and used it to drive a ham radio packet modem (at a whopping 1200 baud). I wrote enough of the IP layer in hand coded 6502 assembly language to get ping and basic routing working. Then I pinged our BSD 4.3 Tahoe machine at the university five miles away. This was in the mid-80s or so. Unfortunately, I never had time to continue up the TCP/IP stack. Glad to see these guys pushing the limits of that little box.
Devon
It has now been four and a half hours since this appeared on the front page, and our C64 server is still up and running.
/index.html page and only 1% have been for the RealPlayer description file /c64.ram.
I was just able to reach the access statistics page. There has been a total of 32000 accesses (of which 8000 came before the Slashdot attack). 25% of the accesses have been for the
24000 hits in 4.5 hours, thats nearly 1.5 hits per second.
This reminded me of something I used to do when I owned a C64 myself.
There used to be a program that could take an audio recording and digitize it using the cassette reader. (It was called the Digitizer?)
And the sound really was really awful.
I believe the program simply read the audio track as if it were data, and saved the data. Then on playback it just pumped the audio frequencies through the sound unit.
The cassette player was only intended to be sensitive within certain high frequencies (If you've ever played a C64 data tape in a tape recorder, you know what I'm talking about), which is why actual audio didn't read very well.
But it's a really brilliant idea for sampling sound.
Check out this other C64 web server, running on the same server setup, just no streaming audio: http://c64.cc65.org/
Orange
This is a cool project. /. should add a new category called, "Because You Can." You see, there are a lot of wicked projects that we cover here, but they're not so much funny as, "This is totally sweet." (e.g. linux on ____, webserver on _____, and now of course, real-audio streaming on _____).
Invariably when we cover these, you get a few responses like this: "Why would you ever want to do this... blah blah."
Invariably, the response is: "Because you can."
The next step, of course, after creating such a category, is to make sure it's mirrored well before it's posted. (*wistful look*)
Now, I haven't checked whether this story is a hoax or not, but if it is, then it should be in the "Funny" category. Otherwise, consider this post as a call for a new category called, "Because you can!"