Here's an interesting one I'm peripherally involved with - a cartridge to display movies via/on a 1977 game machine, the Atari 2600.
The principle is that the cart reads an encoded movie data stream off a SD card, and feeds the data to the bus of the cartridge port for display by the Atari. It's a lot more complex when you get into the details - this machine was originally designed to play pong-type games. As such, it has just two 8-pixel wide sprites (graphics objects) which can have just a single colour. It has no video buffer/memory to speak of, so to get objects shown on the TV screen you have to write to hardware registers on-the-fly in synch with the scanning of the TV beam. Which, by the way you also have to effectively control yourself, as the hardware does not manage vertical synch signals either. All programmatic, using a 6502-type processor at 1.19MHz.
So, the MovieCart uses various tricks to get 10 of the sprites side-by-side on any scanline (by rewriting the sprite positions/graphics every single scanline as the TV beam is sweeping), and also independent colours for all of those sprites. It also writes a single playfield "background" colour on every scanline, and finally mono audio. Now, where I said "10 sprites on any scanline" that's what it looks like. But actually it just does 5, and in the next scaline the other 5. Alternating in a checkerboard pattern. And in the next frame (well, field)... they are swapped. So for each two fields (ie. at 30 Hz) we get a blending of the two patterns/positions. In this way, it's a pretty close simulation of an interlaced TV picture, except without the vertical shift. Just two fields being used to produce a single 30Hz image.
As you could well imagine, converting a movie down to 80 pixels wide, and 192 pixels deep can be a challenge - but when you add in the limitations that you have to build a colour image from (a) one single background colour line, and (b) 5 groups of 8 pixels all the same colour, and (c) two fields in the previous format displayed successively to give the full "frame" of an image... well it becomes difficult. Can you make a good quality "movie" where at most you have 10 colours on any single frame (2 x 60Hz fields) and where those colours cannot mix/match? That is - 10 colours yes, but always in the format/position ABCDEFGHIJ for any line. No "A" mixed in at the right-edge. "A" is only the first 8 pixels, B the next 8, etc. Very complex.
Well, it's been done and for the most part works well!
Remember, this is being displayed on a machine originally designed to do this...
The whole fascinating thread detailing the development and improvement to the technology can be followed here...
https://atariage.com/forums/topic/318978-movie-cart