The computer world is full of people with knowledge, resources and lots of free time. Today’s news is a reality thanks to the union of these three essential requirements, otherwise no one would have gone to work on a transformer that turns a Commodore PET into a multimedia machine to watch YouTube.
If you’ve ever used a computer from the late 1970s, you probably know the true meaning of slow and boring. If it happens to us when using a 2010 computer that is still using HDD, imagine with a PC that is older than ourselves.
Even listing the contents of a BASIC program from RAM could take several seconds, with the display updating line by line. Video games were fully optimized for speed, but could still handle only a few objects They were moving slowly at the same time.
Obviously, playing anything resembling full-motion video on hardware of that era would be absolutely impossible, or so one might think if it weren’t for the magic of an engineer with a lot of ingenuity and free time.
Thorbjörn Jemander has managed to teach a Commodore PET to play YouTube videos at a perfectly reasonable speed of 30 frames per second. In his video he describes the BlixTerm hardware and software design process, along with lots of useful information on how to do it.
Naturally, the PET needs a little help from modern hardware, in this case a Raspberry Pi Zero 2 W connected to the User expansion port.
The Pi connects to YouTube over WiFi and uploads the requested video, then converts it to a 640×200 grayscale stream and transforms each frame into a grid of 80×25 characters, using the ones from the PET ROM that most closely resemble the necessary pattern.
While it is true that it has taken a lot of effort to squeeze the performance out of the Pi to do all of this in real time, the hardest thing has been getting the resulting stream of characters into the PET’s video memory fast enough.
For it, Thorbjörn designed a special interface card with 2KB of dual-port SRAM, which allowed the Pi to store its video frames as soon as they were ready on one side.and the PET load them at its own pace from the other side.
With only sixteen microseconds available to process each byte, the PET’s CPU can execute four or five machine code instructions, barely enough to load and store a single character and jump to the next memory address.
The final result, as can be seen in the video, is really impressive.. Even within the restrictions of the Commodore character set, the resulting image is clearly recognizable, while the frame rate seems to defy the limitations of the hardware.
Add Comment