No doubt some purists in the audience will call this one cheating, since this Amiga 500 from 1987 isn’t technically connecting to Spotify and playing the music by itself. But we also suspect those folks might be missing the point of a site called Hackaday. With all the hoops [Daniel Arvidsson] hopped through to make this happen, what else could it be if not a hack?
This one starts, like so many projects these days, with the Raspberry Pi. Don’t worry Amiga aficionados, this classic machine hasn’t been gutted and had its internals replaced with a diminutive Linux board. But thanks to an expansion card known as the A314, you could say it’s received a penguin infusion. This clever board allows an internally mounted Raspberry Pi to communicate with the Amiga 500 through shared memory, making all sorts of trickery possible.
In this case, the Raspberry Pi is actually the one connecting to the Spotify Connect service with raspotify
and decoding the stream. But thanks to a few pipes and an ALSA plugin, the audio itself is actually pushed into the Amiga’s sound hardware. In the video after the break, the process is demonstrated with tunes that are befitting a computer of this vintage.
This process is similar to how one classic Apple fan got Spotify running on their Macintosh SE/30 with a similar respect for the vintage hardware. Of course if you actually want to gut your Amiga 500 and replace it with a Raspberry Pi, we’ve seen some pretty good conversions to get you started.
[Thanks to burningbroccoli for the tip.]
It’s a bit like when people had to use MPEG cards to watch DVDs on PCs because the CPUs werent powerful enough
Very much so, although the Pi is so many more orders-of-magnitude faster than those early MPEG cards. But being able to read adn write into chip RAM in parallel to the Amiga truly makes it feel like a coprocessor and not a complete replacement.
In software you needed a 400-500 Mhz x86 to decode MPEG2 at full speed, and a Pi is equivalent to a middling Pentium 4, so I wouldn’t say orders of magnitude when it looks like 5 or 6 times.
An order of magnitude is the smallest power of 10 needed to represent that number, where the number is between approximately 0.3 and 3 because the geometric mean of the numbers falls on the unit number 1. In other words, when you have something “this size”, it means something approximately between 1/3 and 3 times as much.
So if something is 5-6 times bigger, it’s on a different order of magnitude.
Also, “Decode MPEG-2” is such a vague term. What resolution? What data rate? Are you doing any tricks like 3/2 pulldown to match framerates? My old 3.4 GHz Athlon struggled with HD content.
The early MPEG-2 decoder cards were based on TI RISC processors running at 40 MIPS. A Raspberry Pi can in principle handle 1500 MIPS, so about 38 times faster, which makes it two orders of magnitude faster. A direct comparison between a dedicated SoC and a general purpose CPU isn’t possible – sufficient to say, if your x86 processor was bootstrapped to only decode MPEG-2 streams, you wouldn’t need 400-500 MHz to do it because you’re not running a whole multitasking operating system with resource management and user software on the side.
More specifically, they were 40 MHz AV7000 RISC chips with ARM7T and Thumb instruction sets. That meant you could run them with 32 or 16 bit instructions to use less memory.
yeah that was on win98 and having to go through microsofts whole driver structure and way of doing things. Did have something called videoforDOS that could manage full frame rate on super clean and standard MPEG2 streams unless there were any errors, with about a P133 or better.
Are you sure you’re talking about MPEG 2 there though, sounds more like earlier Mpeg 1 hardware to me, this was more typical of MPEG 2 stuff, with according to you, an order of magnitude more grunt since it’s nearly 3 times the clock speed https://www.eetimes.com/c-cube-aims-real-time-mpeg-2-codec-at-consumer-pcs/#
The AV7000 series chips were used in set-top-boxes for decoding digital SD television and DVD. They were also featured in computer MPEG-2 decoder cards and DVD accelerators for slow computers.
RW: that was a Codec. The chip provided encoding as well as decoding the video in real time, whereas the MPEG-2 accelerator cards were merely for decoding already existing streams.
I had a DVD player on my Pentium 2 233mhz that was very nearly full speed. Just had to pause and unpause it every 30-45 minutes or so to resync video and audio. If I had a 266mhz one it would’ve been perfect. I think it was a version of Cyberlink PowerDVD. No hardware decoder card, just the DVD-ROM drive.
Some of the rage and later s3 and voodoo cards had some degree of MPEG acceleration thing in that helped out slower processors. Had an ATi Expert@work card that did pretty decent on only a K6-2-300 for that. Suprisingly the hard to find openGL driver let you play q3 engine games just bearably too.
I see it in reverse. Things were a certain way, and then when CPUs got fast enough, we ended up with cheap stuff. Think of all those winmodems. There were even printers that weren’t very smart. People liked that stuff because they weren’t as expensive
Having looked at the hardware, I feel like this seriously undersells how awesome their RasPi-to-Amiga card is.
“Just” forwarding audio to the chipRAM doesn’t feel very interesting… but being able to eavesdrop on the graphics planes and effectively VNC-forward the amiga’s output without any overhead on the Amiga? I think that’s a lot cooler.
It does indeed seem very cool! Being able to do video on the pi and then dump the results straight into chipRAM is very powerful (full motion video on the Amiga!)
I haven’t bought/built one yet, but there’s an informative thread at http://eab.abime.net/showthread.php?t=97171
Spotify is able to be played on more and more devices with the advanced technology. I use the Spotify to MP3 Converter from AudFree to get the lossless songs on it. I can then play them offline on my own players.