• 0 Posts
  • 41 Comments
Joined 1 year ago
cake
Cake day: June 16th, 2023

help-circle




  • For ntsc vhs players it wasnt a component in the vcr that was made for copy protection. They would add garbled color burst signals. This would desync the automatic color burst sync system on the vcr.

    CRT TVs didn’t need this component but some fancy tvs would also have the same problem with macrovission.

    The color burst system was actually a pretty cool invention from the time broadcast started to add color. They needed to be able stay compatible with existing black and white tv.

    The solution was to not change the black and white image being sent but add the color offset information on a higher frequency and color TVs would combine the signals.

    This was easy for CRT as the electron beam would sweep across the screen changing intensity as it hit each black and white pixel.

    To display color each black and white pixel was a RGB triangle of pixels. So you would add small offset to the beam up or down to make it more or less green and left or right to adjust the red and blue.

    Those adjustment knobs on old tvs were in part you manually targeting the beam adjustment to hit the pixels just right.

    VCRs didn’t usually have these adjustments so they needed a auto system to keep the color synced in the recording.





  • Pretty specific use case. A normal OS handleds time slicing and core assignment for processes and uses it’s judgement for that. So at any time your process can be suspended and you don’t know when you get your next time slice.

    Same with when you make wait calls. You might say wait 100ms but it may be much longer before your process gets to run again.

    In a real time OS if you have real time priority the OS will suspend anything else including it self to give you the time you request. It also won’t suspend you no matter how long you use the core.

    So if you need to control a process with extreme precision like a chemical manufacturing process, medical device, or flying a rocket where being 10ms late means failure they are required.

    However with great power comes great responsibility. You need to make sure your code calls sleep frequently enough that other tasks have time to run. Including things like file io or the gui.