Hacker News new | ask | show | jobs
by davidferguson 1534 days ago
Dynamic loading was indeed a software update of the processor using the data carried on film. If a film contained an update, it would be contained at the start of a film. The processor would detect this, read the software update, reboot (and revert into mono analogue audio for this) and then continue off using the updated software.

There are 3 blocks every 128 on the film that contain the software update (and/or other data channels, or are unused). They're also used for something called the "Splice cache" which I can discuss if you want. The rest are the audio blocks.

As far as I'm aware, Dolby only used this once - to update from what they called version EC9 to EC11. I've also heard that it didn't work well with the DA10 - their first processor - and this may be part of the reason.

2 comments

Is the "splice cache" used to cover for discontinuities (e.g. reels spliced together for the entire film, cuts to remove damaged sections...)? I'm just guessing from the name here.
Indeed it is! Films come on 20 minute reels, and from the late 80s onwards were spliced together onto one big reel (or platter) for playback. However the splice often wasn't perfect, and the reel ends are most likely to contain dust/dirt/scratches, which could knock out the digital audio and revert playback to the analog track. This obviously isn't ideal, so Dolby had the idea of encoding the area at the end of each reel throughout the entire reel too, which is stored in a cache in the processor. Then, when the end of the reel is reached (you can tell this because each block has a sequence number), the processor uses the cached data to ensure a nice changeover.
thank you for sharing your knowledge