Error correction and concealment in the Compact Disc system (1982) [pdf]
pearl-hifi.com
pearl-hifi.com
There’s a first Reed-Solomon layer that can theoretically correct 2 errors per 28 byte frame, but they actually only fix 1 error and use the remaing error detection as an erasure code (instead of an error correction code) to make a second layer of Reed-Solomon correction much better due to interleaving.
If that fails, they have the audio samples swizzled in a way so that you can do interpolation between neighboring samples, and if that fails, there was yet another mechanism (that I forgot the details about) for a final effort.
I reminds me a bit of spacecraft, where there’s so much redundancy and flexibility to make things still work in case of a catastrophic failure.
The Galileo spacecraft comes to mind, where they reprogrammed the whole communication mechanism (adding compression etc) after the main antenna failed. (https://en.m.wikipedia.org/wiki/Galileo_project#High_gain_an...)
I’m also surprised that if the CD was already invented by the early 1980s and widely sold commercially for music, it took until the early 1990s for applications in computing with CD-ROM. Was the bottleneck here CPUs, RAM, and graphics cards, which would not have been able to handle the amount of data that a CD-ROM could store?
There’s a reason that game consoles of the era had dedicated “Audio Processing Units” that rendered sound directly from sequencer instructions + a small set of loaded samples: trying to feed “one large continuous sample” (i.e. a raw PCM stream) through the CPU to a DAC, wouldn’t have left any time for doing actual logic. If you compressed the audio, decompressing it would take the whole CPU too.
Sure, CD-ROMs weren’t usually continuous streams of data in the way that audio CDs were; but the kinds of stuff that couldn’t just be usefully fit into a floppy — or a set of floppies installed onto a hard drive! — was usually asset files that were individually large in the same way that PCM audio was individually large, in a way that would still choke either CPUs or RAM. No point in large image files you can’t even display.
There were a few consumer use-cases for random access to individually large files — mostly public databases, of the kind we’d expect to find online today. But people who really needed these, either did use them “online” even back then (by dialing in directly to mainframe database services); or, if they were a more industrial consumer, they got these distributions on tape! These were the first things to be ported over to CD-ROM when CD-ROM drives did start becoming available.
The whole “multimedia” hype took a bit longer, only really taking off once high-quality images and low-quality video were able to actually be displayed on PC (requiring PCs to first achieve display resolutions higher than 640x480; color depths higher than 256-color; at least 2MB of VRAM; and CPUs fast enough for MPEG1 decoding of at least small 100x100 video clips.)
And that was a decade past the creation of the audio CD that normal PCs (or gaming PCs!) still needed a lot of processing power just handling that data stream.
That, and a mismatch between the huge capacity of a CD, and typical software back then.
Remember, popular games like Doom fitted on a couple of 3.5" floppies. 3D graphics was just coming. PC's with the cpu to process many MB's of game data (or decode full screen video) were often business machines with limited graphics capabilities. Homecomputers like the Amiga or Atari ST were in similar price range as a CD drive. Harddisks were like 1 or 2 GB.
CD writers were much more expensive. So out of most people's reach as backup medium.
Only when prices came down and PC's gained in cpu, storage & graphics (and software ballooned with that), it made sense to add a CD drive.
I do kind of miss the days where you'd buy a magazine with cover CD, and spend weeks playing 100s of shareware games. Then buy the full box for the best-of those. Or try a Linux distro without needing to download 100s of MB's over a 33k modem.
And it's a shame those mini-CD's (similar to GameCube discs) weren't more popular. I always liked those. Almost impossible to find these days (whether used for music, software, or as -R/RW media).
I think this is why encyclopedias were one of the first "killer applications" for CD-ROMs. Wikipedia didn't yet exist, paper encyclopedia sets cost several hundred dollars at least, and floppy disks weren't really big enough for it. Having a whole encyclopedia on one or two CDs was a game changer.
The game changer was multimedia encyclopedia. You can have a lot of text on compressed 3.5", but having a digital sound and video was the main selling point.
An example of Encarta 94 video:
From Alice to Ocean: https://archive.org/details/CDAC-029000
The first MPC minimum standard, set in 1991, was:
16 MHz 386SX CPU
2 MB RAM
30 MB hard disk
256-color, 640×480 VGA video card
1× (single speed) CD-ROM drive using no more than 40% of CPU to read, with < 1 second seek time
Sound card (Creative Sound Blaster recommended as closest available to standard at the time[2]) outputting 22 kHz, 8-bit sound; and inputting 11 kHz, 8-bit sound
Windows 3.0 with Multimedia Extensions.
Though for a CD game you really wanted something in range of DX4/100 with 16MB RAM, which surpasses MPC-II specs.Also 4 incompatible CD interfaces on the sound cards doesn't bode well.
https://en.wikipedia.org/wiki/Multimedia_PC
https://commons.wikimedia.org/wiki/File:Mozart_16_(Oak_OTI60...
386s did not come with CDs till late in their lifetime, by the time the 486 was becoming affordable most computers had a CD-ROM drive.
Yeah, certainly in the beginning CD-ROM drives were marketed as a cornerstone to bring PC's into the "multimedia" age.
And thus eg. bundled with an audio card that doubled as a CD drive controller.
Only when they were more common, things like OSes, office suites etc came on CD by default.
Oh and... encyclopedia. :-)
Yep, office drones don't need this fancy-shmancy multimeedeeaa => no sound card => no CD interface.
Only when ATAPI became the standard (and MultiI/O became integrated) the support for the CD drives come to systems without a soundcard.
> Oh and... encyclopedia. :-)
That's multimedia.
When CD creation became cheaper and the market grew, the economies started to work out in the mid-90s, until the late-90s saw computer mags with cover-CDs (a signal that everybody in that market had CD drives, and pressing CDs was cheap enough for one-off low-count productions like that)
It was within a year or two in my family, and my father was in the computer/internet industry by the mid-80s so had access to stuff pretty early. I think we got our first CD audio player in the family in 1990 and got a 486 with a CD-rom drive in late 1992.
CD Audio was expensive at first too.
CDRW? 2MB file? Meh, just burn it, lend it to a friend, get it back, erase, 50meg file, other friend, get some other random stuff back, etc.
Then flash storage became cheap and the CDs slowly died (well, there were iomega zips and other stuff in between, but not really that popular).
That ZIP disc was a "floptical" disk that worked basically like a floppy but used a laser to read grooves on the disc that improved alignment and let them pack tracks in denser.
There also were "magneto-optical" discs that would use a laser to heat a spot on a disc and allow recording spots much smaller than the magnetic head. It could read out finer too because the laser could read the magnetic fields with
https://en.wikipedia.org/wiki/Kerr_effect
Some examples of those were the MO drive on the NEXT cube and Sony's mini-discs for music which I think are fun to collect but I had the laser burn out on my portable which can write tracks with metadata out of my PC and gotta either find another one with a working laser or settle for recording on my big decks without metadata.
https://www.youtube.com/watch?v=TngViNw2pOo
which is featured in this television commercial
https://www.youtube.com/watch?v=2eGWW8KOQio
and got somebody in the computer lab to ask "Hey man, is that Freedom Rock?"
The thing was that computer progress was frozen in midair for a time in the early 1980s; computers like the TRS-80, Apple ][, C-64 and game consoles like the Atari 2600 all outlasted the projections of their makers because all of the parts from software to the CPU to video system (e.g. the CPU clock was usually slaved to the video refresh of NTSC television) were tightly coupled and making any substantial improvements would mean dumping everything and starting over, particularly with all new software because you didn't have real operating systems back then.
It was by the late 1980s, when the PC AT clones were established that you could really buy a computer one year that was a lot better than last year's model because architectures had advanced to the point where they could do that and keep compatibility.
So processing PCM audio went from impossible to difficult to easy to trivial and video was not far behind.
The free ride of clock rates going up and power consumption going down didn't stop until 2005, but each die shrink kept resulting in cheaper transistors until... just about now. It's not accidental at all that enthusiasts are complaining that NVIDIA 40-series GPUs aren't more cost effective than 30-series GPUs or simply greed; the economic engine of Moore's Law is dead, international competition and dirigisme might lead to another generation or two more than the free market would have delivered on its own. We've had a long time of getting better performance through more cores, wider SIMD, specialized architectures, etc. but it's going to take something big like true 3-d integration, semiconductors past silicon, or superconducting logic gates for performance to improve... Or maybe the revolution will be in "doing more with less".
Things finally got good enough with DVD that had 7x-13x the storage and MPEG-2 was available.
Fun fact: MPEG-1 decode needed enough horsepower that software decode implementations shipped several years after popular-for-CD-ROM video formats like Cinepak¹.
The timeline: Cinepak shipped as part of QuickTime in 1992. Myst (a very popular CD-ROM title which used Cinepak) shipped in 1993. Apple shipped their MPEG-1 QuickTime extension (PowerPC-only) in 1997.
https://en.wikipedia.org/wiki/Eight-to-fourteen_modulation
https://spectrum.ieee.org/kees-immink-the-man-who-put-compac...
To this day, I've been known to write functions called tryReallyHard() even if I haven't made a UI option explicitly for it, yet.
And CD rippers do check the online DB automatically.
Many people do archive their CD collection in a bit perfect way nowadays and you know when your rip is perfect (and it usually is).
My first wave of ripping CDs in the early 2000s this stuff wasn't around yet.
But I redid everything around 2013 and ripped them all as FLAC, and by that point EAC and the databases were very good.
>math caused the slower reads.
The error correction was ALWAYS being done, and that math was done on a dedicated circuit.
[0] https://en.wikipedia.org/wiki/Cdparanoia [1] https://en.wikipedia.org/wiki/Exact_Audio_Copy
I never got rid of my CDs though, and in recent years I started listening to them again just like Vinyl LPs. There's still something fun about listening to them, and they always sound great and work really well. I've never had a CD get damaged enough to hear any artifact. It is still a good way to support artists you like, and prices have inverted to the point CDs are affordable and Vinyl LPs are quite ridiculous a lot of the time.
They've certainly nailed the evil and user-hostile bit of being an iPhone company. From just 2 weeks ago: https://news.ycombinator.com/item?id=37667266 https://news.ycombinator.com/item?id=37594377
(Last time I checked, iPhone doesn't _require_ an iCloud account to work, although it still needs to "phone home" to be activated on setup.)
https://www.nxp.com/docs/en/data-sheet/SAF784X.pdf
There was an article here with a good graphical description of CDs a few years ago: https://news.ycombinator.com/item?id=21185897
Unfortunately that site is gone, and the archive doesn't have a copy.
On the other hand, the modern CMOS logic runs so fast and can be so densely integrated, that the 15 years old SAF784x apparently implements the “complex analog RF” part of CD player by using DSP techniques. And the process it is made in is apparently mature enough that it can accommodate various analog functions including high-powered ones so you end up with a complete CD/MP3 player on one ASIC (if you can fit what you want to do into 64kB of ARM7TDMI code and can tolerate the sound quality and EMC implications of the integrated audio output DAC)
https://web.archive.org/web/20200322151217/https://byuu.net/...
> Yamaha's old CD-Recorder, CRW-F1 really improved sound quality by abusing Red Book standard by lengthening the pits of audio CDs