Streaming RealAudio From a Commodore 64 332
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."
Look, you can *see* it being slashdotted! (Score:4, Funny)
Re:Look, you can *see* it being slashdotted! (Score:2)
you can't get there from here
Re:Look, you can *see* it being slashdotted! (Score:4, Informative)
Real-time streaming audio from the C64
This C64 server is not only running a web server, but is also running
a very simplistic RTSP/RTP (Real-Time Streaming Protocol/Real-Time
Protocol) server that is compatible with RealPlayer
version 8. This makes it possible to send real-time streaming audio
over the Internet directly from the Commodore 64.
The cassette port on the C64 is capable of sampling 1-bit samples at a
maximum rate of approximately 8000 Hz. We are sampling 1-bit audio
from the cassette player and sending it out over the Internet using
the TFE Ethernet cartridge. To reduce the load on the C64, we only
allow one listener to listen at a time and only for about 20 seconds.
Listen
In order to listen, you'll need to have the free RealPlayer 8 Basic [real.com] (click on the "RealPlayer 8
Basic" link at the bottom left of the page). While the streaming audio
server might work with other players, we haven't tested it with
anything but RealPlayer 8 Basic.
When RealPlayer is installed, click here [slashdot.org]. If
RealPlayer says that it is experiencing network problems, this is
because someone else is already listening. Beware! It sounds
terrible.
Playlist
We are playing remixes of famous C64 SID music taken from the
faboulous C64 mp3 remix site remix.kwed.org [kwed.org]. Because of the bad sound quality of
the real-time audio stream, it is impossible to tell which tunes we are
playing.
Not half bad (Score:2, Insightful)
Local Remote State Retransmissions Timer Flags
6510 68.53.74.100:3127 SYN-RCVD 0 3 *
6510 195.197.177.165:46743 SYN-RCVD 4 8 *
6510 62.23.145.66:28401 ESTABLISHED 0 3 *
6510 144.134.31.152:1599 SYN-RCVD 1 3 *
6510 68.53.3.20:2035 ESTABLISHED 7 38 *
6510 67.82.198.141:63434 ESTABLISHED 6 24 *
6510 68.0.176.210:3466 LAST-ACK 6 35 *
6510 193.10.66.107:4831 FIN-WAIT-1 0 2 *
6510 132.170.42.189:3313 SYN-RCVD 7 1 *
Maybe it's just that time of night...
Re:Look, you can *see* it being slashdotted! (Score:2)
Umm, wait, I think it *is* down...
don't go to that page. (Score:2)
A note for youngsters.. (Score:5, Funny)
Re:A note for youngsters.. (Score:2)
I'm 23 - born in '78 - and I know what a MITS Altair is (I was -3 then), a TRS-80 (-1), and yes, a TI-99/4A (a toddling 1 year old).
Long live dorks who know their history!
nlh
Re:A note for youngsters.. (Score:3, Funny)
Re:A note for youngsters.. (Score:2)
Re:A note for youngsters.. (Score:4, Funny)
I suppose the ultimate achievement would be to get a web server running on a ZX81 (probably need 16K RAM pack plus obligatory duct tape to keep it on). You could have two cassette recorders in a RAID 1 configuration.
Re:A note for youngsters.. (Score:2)
It's already been done to the PC2 (Pocket Computer 2), which had a *real* serial port attachment available for it. That sucker, however, is about five times as powerful as the PC(1).
Re:A note for youngsters.. (Score:2)
C64 machine language can bring out the best. We didn't see the absolute best Playstation 1 games until Sony released the source to the psx and everyone was able to code ML/Assembly on it to get every last drop of performance out of it.
All my 80s things (Score:2, Funny)
Listen... (Score:5, Funny)
and you might hear the crackle of a flaming C64...
C64: cooking with BASIC (Score:4, Funny)
WARNING: Use of this is at your own risk! May destroy hardware! Not recommended for any machine you'd like to keep! I WILL NOT BE HELD LIABLE FOR ANY DAMAGE WHATSOEVER
POKE 53270, PEEK(53270) OR 32
I did it and I could feel heat coming up from the keyboard and a smell like thermal paste overheating or something.
I turned it off very quickly and it did survive.
It was responsive and with a normal display right until I cut the power.
Some C64 docs say bit 5 of register 53270 is the reset bit for the VIC controller.
Some just say, ominously:
"ALWAYS SET THIS BIT TO 0!"
Why a reset bit would cause an overheat is beyond me. Anyone have a clue? I'd really like to know what is so bad about setting that bit. I was hoping it would just be a reset bit.
To paraphrase RFK (or Shaw): (Score:5, Funny)
Then again, some people say "why not," get drunk, and and hook a piece of crap up to the internet.
$50 bucks to the first person that builds a C64 emulator out of legos that streams video of a coffeepot and runs BSD.
A new computing first! (Score:3, Funny)
Of course, rebooting a C64 is pretty fast.
Re:A new computing first! (Score:2)
Cheers!
Re:A new computing first! (Score:2)
And the webserver ? (Score:2)
mirror of his webpage... (Score:2)
Mirror (Score:4, Informative)
Re:Mirror (Score:3, Informative)
http://home.neb.rr.com/pubhtml/c64/c64.html [rr.com]
Re:Mirror (Score:2)
Actually, the machine serving up that bit of C-64 goodness is none other than a symmetric multiprocessing Intel Pentium box. Not a Pentium II, III, IV, Pro, or Celeron; the old fdiv-enabled Pentium. Somewhat of a rarety itself; it's a dual 133, and the processors need to be paired with the chip revision level, so of the seven or so variety of P133 chips made -- only specific versions will work in an SMP setup. There were very few motherboards that supportted this configuration as the Pentium Pro (aka Pentium II, III, Celeron) put a stop to this kludgery shortly after. I had to search on ebay for quite a while before I found the perfect pair. The box runs RedHat 7.2 right now.
Archive picture of site (Score:2)
Yeah, i know the gray sucks, but i had to do this quick.
Hrm... (Score:5, Funny)
Powerful peripherals (Score:5, Informative)
The silliest example of over-powerful peripherals has to be the General Sound card for the ZX Spectrum. The General Sound contains a 12 MHz Z80 and 128 K RAM, upgradable to 512. The Spectrum contains 48 or 128 K RAM (256 or 512 on some clones) and has a 3.5 MHz Z80 (7 MHz or more in some clones). In other words, the sound card (which is fully programmable) is more than 3 times as powerful as the machine it's connected to. General Sound info here [mek.iif.hu].
For today, ponder the latest 3D graphics accelerator.
Re:Powerful peripherals (Score:5, Funny)
For an even more extreme example of extra CPU's (though not necessarily much more powerful, and two of them not in use :-), I at one point had an Amiga 2000 with a 68000 CPU. I got a used 68020
accelerator board for it. In addition it had one of those PC cards that let you run DOS in a window, with an 8086, and an 286 accelerator for it. To top it off my SCSI card had a Z80 on it.
But one CPU is missing....
Guess what is used as a keyboard controller on many of the Amigas? An embedded version of the 6510, running at 2MHz and with onboard RAM and ROM..
So to sum it up, the CPUs in use: 68020, 286, Z-80 and some chip with an 6510 core. Now that's multiprocessing :-)
Re:Powerful peripherals (Score:3, Informative)
..might...still...work... (Score:2)
The only concern I'd have is the VIC chip in that scenario; it might not be able to get at screen ram with the memory layout hard-coded.
Hmm, now where is my C64 PRG with the schematics at the back...
Re:..might...still...work... (Score:2)
Re:..might...still...work... (Score:2)
Now that I think about it, it *should* work. The VIC reads/writes RAM, which IIRC is under ROM. Except for the character set, of course.
I was thinking that jumping the address bus decoders (74138s?) into the right "shape" for the 6502 to use the default config might screw with the VICs access to chipset select lines. IIRC, the VIC puts the 6510 to "sleep", diddles the CS/A lines, and tells the 6510 to wake up when its done. There must be another bit of glue logic on the board that we could mess with (maybe adding a gate or two) that would allow the VIC chip to do what it wanted to. Hmm.
Again, I wish I had the schematics in front of me, it's SOO hard to remember stuff that long gone by. Anybody know if they're available online anywhere?
Re:Powerful peripherals (Score:3, Interesting)
Anyway, the demo coders from the C64-scene are definitely impressing. Talk about using the resources you have to a maximum.
Re:Hrm... (Score:2)
well duh! (Score:5, Funny)
C'mon now, Real Audio(TM) always sounds awful. This isn't news!
are you sure? (Score:3)
Saying It For The Sake Of It (Score:4, Funny)
I don't even believe a Beuowolf cluster of these could survive serving streaming media to
Commodore 128 (Score:2)
Re:Commodore 128 (Score:2)
The only other insane thing I could think of is replicating this with a vic-20...
Re:Commodore 128 (Score:2)
I've actually thrown systems out - I just have too many
Still up! (Score:5, Interesting)
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
You mean SYN cookies? (Score:2, Interesting)
Where'd they get real audio? (Score:2, Redundant)
Yeah, but what about the codecs? (Score:2)
Re:Yeah, but what about the codecs? (Score:2)
Bah (Score:2)
**** CBM BASIC V2 ****
3583 BYTES FREE
READY.
LOAD
PRESS PLAY ON TAPE
OK
SEARCHING
-
Re:Bah (Score:2, Informative)
Re:The VIC-20 and others... (Score:2)
How long... (Score:3, Funny)
Re:How long... (Score:2)
hack value (Score:2)
Meanwhile, the rest of us have been running C64 emulators on our already Internet-connected Pentiums...
This has a very high hack value, but I really don't think that a practical application is going to be networked C64 games over the Internet. If you're going to write a networked game, you're not going to write it for the C64, I mean come on! Even if you were, an emulator would be a much cheaper and easier solution than actual hardware.
Re:hack value (Score:2, Insightful)
Just because newer computers are more capable doesn't mean that they are more fun. 8 bits is all you need.
From one of the creators (Score:5, Informative)
The web server that runs on port 80-84 actually implements a simple form of overload protection and during testing, we managed to serve 8000 pages over a period of 30 minutes. That makes 4 pages per second! Note that it is only the first page that is overload protected, so the other pages will still load very slow (if they will have a chance to load at all!).
The real-time streaming audio server is running on the same machine as the web server so nobody will probably have a chance to hear the audio stream.
Furthermore, the headline is wrong - we are not streaming RealAudio. We are streaming audio using the open RTSP/RTP formats that RealPlayer and other players can handle. The RealAudio file format is secret so we would probably have been sued if we had been streaming that.
Finally, here [google.com] is Google's cache of our newsgroup announcement.
Access statistics update (Score:5, Interesting)
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.
Re:From one of the creators (Score:2)
This is great news (Score:4, Funny)
Yet more proof... (Score:2)
Obligatory Joke (Score:2, Funny)
I call shanagans! (Score:2)
MIRROR MIRROR (Score:3, Informative)
http://www.xemu.org/mirrors/adam/ [xemu.org]
As the old saying goes... (Score:2)
This is utter lunacy. (Score:2)
For their next trick... (Score:2, Funny)
Re:For their next trick... (Score:3, Informative)
Re:For their next trick... (Score:2)
Hmmm. C64 vs. NT4 (Score:4, Funny)
I'm sure it will stay up for longer as well...
Let's count the security holes...
This is really funny!
Then again: The OS on my mobile phone is more reliable than NT.
Oh, ok, we are talking about the C64 right? Wow, it's smaller than a NT server! Oops, here I go again.
Ingenuity (Score:2, Troll)
If they brought that ingenuity to doing something worthwhile, who knows what they could do...
Re:Ingenuity (Score:4, Insightful)
Now, if you were talking about the millions of dollars that goes into sports every year that could have been going to something worthwhile, I would agree with you.
Tom
Re:Ingenuity (Score:2, Funny)
exactly, so they should put in their resumes that they had their hacked c64
Re:Ingenuity (Score:2)
If they brought that ingenuity to doing something worthwhile, who knows what they could do...
And every time I read a comment like this, I can't help thinking DO YOU UNDERSTAND THE CONCEPT OF A FUCKING HOBBY?!
Bah... Old hat! (Score:2)
Warez??? (Score:2, Funny)
c64/tcp (Score:3, Interesting)
Devon
Wasn't April Fools' a while ago? (Score:2)
Actually, assuming it's real, it's holding up pretty well so far. The C64 was one heck of a versatile machine. A friend of mine used to use them as a controller for his house back in the '80s - he wired up an expansion bus for them, wrote his own OS, and had it interfaced to a ham radio for control functions (delivered via DTMF).
Now that I think back on it, he probably single-handedly kept the C64 hardware market alive a few extra years. Because every three months or so, all the stresses would blow out the C64 power supply, and it was generally easier for him to just buy another one than it would have been to fix it.
a bit of nostalgia (Score:2, Interesting)
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.
Right idea, wrong explanation (Score:2)
The reason it sounded like high-frequency shrieking is because that's how your ears perceived the rapid transition from sound-to-no-sound.
Okay, so it sounds like we're talking about the same thing, but the subtle difference explains a lot.
The digitizer program you're talking about was published in Compute's Gazette, I believe. Basically, it sampled the data from the tape player as the tape moved over the head. If there was sound, it jotted down a one; if there was no sound, it jotted down a zero. So, we've got a _one_bit_sample_rate_ -- nothing to do with frequency ranges at all!
The faster you can sample (and the CPU limits that quite effectively!), the better resolution you can get, but it is still one-bit sound, so it'll still sound like crap.
The playback program used a bug in the 6561 SID chip to replay one bit sounds quickly. Transitioning the volume from min to max or back was a fast operation (STA, XOR, STA -- 8 cycles, maybe?) and produced a side-effect "click". Not all C=64s had this side effect though, so some people couldn't play the music! Hahahaha. You poor bastards with the C64cs!
Looks like Adam has another one out there. (Score:2)
WTF? (Score:2)
Netcraft? (Score:2, Funny)
Overclocked (Score:2)
There's another C64 web server... (Score:2, Interesting)
Orange
Re:There's another C64 web server... (Score:2, Funny)
Funding suggestion (Score:2, Funny)
"Because You Can" Category (Score:4, Interesting)
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!"
moderators on crack. (Score:2, Troll)
idiot moderator that moderated the above as a 'troll' should be hanged from his toes.
Re:My goodness. (Score:5, Informative)
They didn't they implemented a version of the standard RTSP/RTP protocal. This is an open standard similar to TCP/IP standard. It just happens to be the standard that Real Player uses for its protocal.
Re:My goodness. (Score:3, Informative)
> a system based on that type of head & disk format
Bzzt! Wrong. As far as I know, IBM was, but not Commodore. While its true both systems used 5.25" double-density disks, IBM PC disks are MFM encoded; Commdore's disks are GCR encoded from the 4040 (late 70s) until the release of the 1571 (late 80s). The 1571 added an MFM encoding mode and double-sided capability in order to be compatible with CP/M disks for the CP/M mode of the C128. That was the first drive able to read PC floppies, although extra hacking was required.
The 4040 (cum 1530, 1540, 1541) disk format that we're all familiar with held 170K -- actually, 169984 bytes of data after formatting, arranged in 664 blocks of 256 bytes.
Hey now! (Score:2)
Hey now! Don't give them any ideas....
Re:Hey now! (Score:3, Funny)
//rdj
Re:Slashdotted a C64 (Score:2)
Re:why promote realaudio??? (Score:2)
To get Realaudio with your own stuff you just send it little packets of wave data over RTSP.
Re:why promote realaudio??? (Score:2)
Try again, it's Ogg Vorbis.
GTRacer
- Goodbye Karma Kap!
Re:So these guys did essentially nothing (Score:4, Insightful)
Re:Anyone else think... (Score:2)
So, what you're saying is that 6 of us see the site before it goes down, the Slashdot readership at any given moment is 6x10^19, or sixty quintillion - ten billion times the population of the earth.
Now THAT is one hell of a slashdot effect.
Re:A commodore 64 in afghanistan (Score:2, Interesting)
And why not? It's possible. [videocam.net.au] 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 =)
Re:I'll sacrifice some Karma over that one (Score:2)
Well, it's sampled at 2000Hz, what would you expect? Coolness aside, it's similar to whistling 1200 baud: next-to-impossible to use and absolutely useless.
But again, I admit I regret getting rid of my c64 ten years ago: it would've been such a cool thing these days (with JUNIS and all these other guys bringing it back to mainstream etc.
Re:Come on now (Score:2)
Hell, I would, if I wasn't at 50
Re:Isn't that a C-128?! (Score:3, Informative)
No. It's a C-64 v2. Later C-64s came in a C-128-like case, with a modified chipset. They used the 85xx series of CMOS chips, like the C-128. Most important difference was in the voltages used to drive them. I believe the 6581 SID used a +12 volt line to drive its oscillators, whereas the 8581 used +5 volt.
I may be wrong, but I do remember that the 85xx series could not be used in 65xx slots. That was a bastard when my 8581 died in my C-128, as that part was produced in such slight quantities that I could only get a 6581 as a replacement, which was no use. I not only lost sound, but I lost my random number generator as well (the RND function was seeded from the white noise oscillator in some programs).
MartRe:Didn't Dr. Who... (Score:2)
During the 80s, the console on the tardis quite obviously contained a BBC Micro...