Main Content

This post covers how we interface a 32K EEPROM, a clock and an address register to a 20 x 4 LCD character display module and use it to play a video. We “decompress” the video by expanding our 8-bit data stream to 9 bits for playback in hardware. There is no CPU or microcontroller involved.

To test step 1 of the homebrew cpu project we’ll see if we can play an actual video from the EEPROM to the LCD character display module. Bad Apple is an ideal video for this purpose: it’s essentially monochrome and most of the video is recognizable even at a very low resolution.

The original Bad Apple video has 6569 frames at 30 fps for a running time of 3m39s. We have 32768 bytes so we need to run our clock at 150 Hz to fit the complete video in EEPROM.

This gives us about 5 bytes of data per frame of video, or a constant video bitrate of 1.2 kb/s.”

Link to article