Ten years ago, [Trixter] created 8088 Corruption, a demo for the original PC, the IBM 5150, that displayed full motion video using a CGA card and a SoundBlaster. It was hailed as a marvel of the demoscene at the time, garnered tons of hits when it was eventually uploaded to Google Video, and was even picked up by the nascent Hackaday.Now, ten years later, and seven years after [Trixter] said full motion video using the graphics mode of a CGA adapter was impossible, he’s improved on his earlier work. Now, it’s possible to display video at 640×200 resolution at 30 frames per second on a 30-year-old computer.
[Trixter]’s earlier work used the text mode of the CGA adapter, only because the 40×25 character, 16 color mode was the only graphics mode that could be entirely updated every single frame. It’s still one of the high points of the PC demoscene, but from the original video, it’s easy to see the limitations.
A while back, [Trixter] said displaying video using his computer’s graphics mode was impossible. He’s had years to think about this statement, and eventually realized he was wrong. Like the developers of modern video codecs, [Trixter] realized you don’t need to change every pixel for every frame: you only need to change the pixels that are different from frame to frame. Obvious, if you think about it, and all [Trixter] needed to do was encode the video in a format that would only change dissimilar pixels from frame to frame, and manage the disk and memory bandwidth.
After reencoding the 10-year-old demo for graphics mode, [Trixter] turned toward his most ambitious demo to date: playing the ‘Bad Apple’ animation on an 8088. As you can see in the video below, it was a complete success.
Continue reading “(Better) Full Motion Video On The First PC”
Along with the growing popularity of the Raspberry Pi, we’ve also seen a related uptick in MAME arcade cabinet builds. Putting this $35 computer in an arcade cabinet makes a lot of sense, but connecting it to one of the monitors found in old arcade cabinets is a bit of a pain. Luckily, [Celso] figured out how to connect a Raspi to one of these 15kHz RGB monitors, making for a much more accurate emulation of old arcade classics.
The Raspi only has two video outputs – an HDMI port and an RCA composite jack. The old arcade CRTs have an RGB input, so directly connecting a Raspi to one of these CRTs is a no-go.
The solution comes from two converters: one to convert the HDMI output to VGA, and another video downscaler that takes the 31kHz VGA signal and translates it into a 15kHz RGB signal. [Celso] settled on the GBS-8100 video converter, a rather uncommon piece of kit that can fortunately be found on a few Chinese eBay auctions.
After connecting the old arcade cabinet power supply to the Pi, hooking up an audio amp, and converting the controls to USB, [Celso] has a very accurate MAME machine.
If you’re working with a CGA, EGA, or RGB gaming system this inexpensive board does a great job of converting the signal to VGA so that you can play using a modern display. But what if you have a SCART connector as an output? That’s the situation in which [EverestX] found himself so he hacked in SCART support.
The first step is to source a female SCART connector. He grabbed a coupler off of eBay and cracked it open, yielding two connectors. Now comes the wiring and you may have already noticed that there’s a lot more going on here than the color channels, sync signal, and ground. Technically that’s all you really need to make this happen, but the results will not be good. First off, the sync signal for SCART tends to be rather awful. That’s where the blue breakout board comes into play. [EverestX] used an LM1881 to grab the composite sync (yes, composite sync, not component sync) signal as a feed for the VGA converter. He also added in an audio jack for the sound that is coming through the connector.
The best laid plans of mice and men oft go awry. At least that’s what we’d tell ourselves if we couldn’t find a 30-year-old computer monitor. [Andrew] picked up an old IBM XT on eBay recently and tried to get the video working. He hasn’t seen any success yet, but the way he goes about solving this problem is very clever.
[Andrew] was stuck with a cool old computer with no way to output anything onto a screen. The XT had an MDA port but neither his TV nor his VGA monitor would accept MDA frequencies. As a workaround, [Andrew] connected an Arduino to the XT keyboard port. On the factory floor, IBM workers used the XT keyboard to load code onto the machines while POSTing. He was able to change the frequency of the MDA CRT controller to CGA frequencies, and with the help of some small components got some video working.
The Hsync and Vsync are still off, and [Andrew] hasn’t been able to get the machine to finish POSTing, but he figures he can use the XT keyboard port for bidirectional communication. He’s written a very small kernel to test out a few things, but unfortunately the XT’s power supply died recently. Once [Andrew] replaces that, we’re sure he’ll get his box up and running.
CGA monitors may not be an amazing technological advance these days, but they can generally be found very cheaply. Additionally, they have a DB-9 connector and work off of TTL ranges (0-5VDC) making them ripe for experimentation. This hack takes advantage of all of these aspects to bring you an Arduino controlled CGA monitor.
One problem with experimenting with one of these monitors is that they are not that well documented. Fortunately, the detailed write up for this hack goes over some of the timing and frequency issues that one may encounter with this particular monitor. The article gives an Arduino pinout and the program used to drive the monitor with very detailed comments.
Although this hack is by no means a finished product, the now blurry test pattern seen above gives a pretty good proof of concept. It will be exciting to see if this hack inspires any other microcontroller-based projects. For some further information about CGA monitors, Wikipedia also has a fairly in-depth write-up about the technology.
Remember when CGA came out and made monocrome monitors look horrible? Well CGA is crap, VGA is where it’s at. Wait… weren’t there a couple of standards in between those two? Take a walk down memory lane and relive the evolution of computer display technology. You’ll start with displays that are more or less CRT oscilloscopes and end up in better than high-def territory. The article is an interesting read but for those with short attention spans jump to the fourth page and check out the chart of technologies, resolutions, and implementation dates. We’ve come a long way in a few short decades.