The Story Behind The TVGuardian Curse Catcher

The recent flurry of videos and posts about the TVGuardian foul language filter brought back some fond memories. I was the chief engineer on this project for most of its lifespan. You’ve watched the teardowns, you’ve seen the reverse engineering, now here’s the inside scoop.

Gumby is Born

TVG Model 101 Gumby (Technology Connections)

Back in 1999, my company took on a redesign project for the TVG product, a box that replaced curse words in closed-captioning with sanitized equivalents. Our first task was to take an existing design that had been produced in limited volumes and improve it to be more easily manufactured.

The original PCB used all thru-hole components and didn’t scale well to large quantity production. Replacing the parts with their surface mount equivalents resulted in Model 101, internally named Gumby for reasons long lost. If you have a sharp eye, you will have noticed something odd about two parts on the board as shown in [Ben Eater]’s video. The Microchip PIC and the Zilog OSD chip had two overlapping footprints, one for thru-hole and one for SMD. Even though we preferred SMD parts, sometimes there were supply issues. This was a technique we used on several designs in our company to hedge our bets. It also allowed us to use a socketed ICs for testing and development. Continue reading “The Story Behind The TVGuardian Curse Catcher”

HUD-Like Clock Is A Transparent Time Display

While we have all types of displays these days, there’s something special about those that appear to float in the air. This HUD clock from [Kiwi Bushwalker] is one such example.

The build relies on four 8×8 LED matrixes to display the four digits that make up the time, run by the MAX7219 driver chip. However, the LEDs aren’t viewed directly — that would be too simple. Instead, the matrixes shoot their light up at an angle towards a tilted piece of clear acrylic. This creates a “heads-up display” look where the numbers appear to float in the air.  The clock gets accurate time from an NTP time server over WiFi, thanks to the ESP32 microcontroller that runs the show.

It’s a straightforward clock build in many ways, but we particularly like the use of the heads-up display technique. It’s almost surprising we don’t see these projects more often, for things like car dashboard displays or targeting womp rats in a T-16 landspeeder. If you’ve been whipping up your own HUD projects, don’t hesitate to notify the tipsline!

Continue reading “HUD-Like Clock Is A Transparent Time Display”

Resurrecting PONG, One Jumper Wire At A Time

Between 1976 and 1978, over one million Coleco Telstar video game consoles were sold. The Killer App that made them so desirable? PONG. Yep, those two paddles bouncing a ball around a blocky tennis court were all the rage and helped usher in a new era. And as [Dave] of Dave’s Garage shows us in the video below the break, the bringing the old console back to life proved simpler than expected!

Thankfully, the console is built around what [Dave] quite aptly calls “PONG on a chip”, the General Instrument AY-3-8500 which was designed to make mass production of consoles possible. The chip actually contains several games, although PONG was the only one in use on the Coleco.

After removing the CPU from the non-functional console, [Dave] breathed life into it by providing a 2 MHz clock signal that was generated by an Arduino, of all things. A typical 2N2222 amplifies the audio, and a quick power up showed that the chip was working and generating audio.

Video is smartly taken care of just as it was in the original design, by combining various signals with a 4072 OR gate. With various video elements and synchronization patterns combined into a composite video signal, [Dave] was able to see the game on screen, but then realized that he’d need to design some “paddles”. We’ll leave that up to you to watch in the video, but make sure to check the comments section for more information on the design.

Is a breadboarded PONG console not retro enough for you? Then check out this old school mechanical version that was found languishing in a thrift store.

Continue reading “Resurrecting PONG, One Jumper Wire At A Time”

Open World 3D Game Runs On The RP2040 Microcontroller

The Raspberry Pi RP2040 is versatile and cheap, but it’s by no means known as the most powerful microcontroller on the world. Regardless, it is capable of great things, as demonstrated by [Bernhard Strobl], who built a 3D open world game engine that runs on that very platform.

The graphics are simple, but with a compelling low-poly style.

The game engine itself is built to run on the Pimoroni PicoSystem, which is essentially a handheld gaming platform built around the RP2040 chip. The engine takes advantage of the multi-core nature of the RP2040, using the second core as a dedicated rasterizer to keep frames pumping out.

The basic game [Bernhard] built in the engine features 50 NPC characters and 50 further zombies, all running at the same time. Specs are impressive, with the engine’s included game simulating a “world” of 120 x 120 meters in size. As a maximum limit, the engine can handle a 2.56 x 2.56 km world, thanks to the use of 8-bit integers for directional data. However, limited storage space would make it difficult to achieve such a large world in practice.

We don’t get to see much of the gameplay in the YouTube video, but the quality of the graphics is impressive for such a cheap microcontroller. It seems within the bounds of possibility that an actual open-world game could be practical on the PicoSystem if only enough storage were available. Video after the break.

Continue reading “Open World 3D Game Runs On The RP2040 Microcontroller”

After 40 Years, Adobe Releases PostScript Source V0.10 For Posterity

Celebrating their 40th anniversary, Adobe released the source code of PostScript v0.10 to the Computer History Museum. But before you ask, we tried and it won’t compile with GCC out of the box – it’s missing at least except.h, but we’d bet you can hack around it with a little dedication.

PostScript is the precursor to PDF, and at the time it was revolutionary. Coming out of Xerox’s PARC, the idea was to create device- and resolution-independent documents where all the characters, symbols, and graphics are described by their shapes instead of bitmaps. PostScript’s secret sauce was in how it went back to a pixel-based representation for end use on monitors or printers. It’s no exaggeration to say that this ended up revolutionizing the print industry, and it makes sense in the CHM’s collection.

Still, on the trade-secret front, you shouldn’t get too excited. Apparently the code released here only includes a first-draft version of Adobe’s font hinting algos, as evidenced by the early version number. Nonetheless, you’re free to dig into pretty readable C. For instance, vm.c contains the virtual machine that implements PostScript’s almost Forth-like language.

Of course, if you’d just like to mess around with PostScript, downloading a modern open-source interpreter like GhostScript probably makes a lot more sense. Even so, it’s fun to see the original codebase where it all started.

VHS-Decode Project Could Help Archival Efforts

Archiving data from old storage media can be a highly complex process. It can be as simple as putting a disk in an old drive and reading out the contents. These days, though, the state of the art is more complex, with advanced techniques helping to recover the most data possible. The VHS-Decode project is an effort to improve the archiving of old analog video tapes.

The project is a fork of the LaserDisc-focused ld-decode, started by [Chad Page] back in 2013, which readers may recall was used for the Domesday Duplicator — a device aimed to recover data from the BBC’s ancient Domesday LaserDiscs. VHS-Decode is designed to capture the raw RF signals straight out of a tape head, which are the most direct representation of the signals on the physical media. From there, these signals can be processed in various ways to best recover the original audio and video tracks. It’s much the same technique as is used by floppy disk recovery tools like the FluxEngine.

Despite the VHS name, the code currently works with several tape formats. VHS, S-VHS and U-Matic are supported in PAL and NTSC formats, while Betamax, Video8 and High8 tape capture remains a work in progress. Using the code requires a video tape player with test points or traces that make signals from the head accessible. Capturing those signals is achieved via a Domesday Duplicator hardware device, or alternatively a Conexant CX2388x analog-to-digital converter, often found in many old PCI TV tuner cards. Various techniques can then be used to turn the captured signals into watchable video files.

We love a good archival project, and VHS-Decode is clearly a useful tool when it comes to salvaging old video tapes. Continue reading “VHS-Decode Project Could Help Archival Efforts”

Building A Lamp To Help With Seasonal Depression

The sun plays a big biological role in our lives, regulating our circadian rhythms and doing a whole bunch more as well. Some people find the reduced sunlight of the winter months to have negative emotional effects, and rely on artificial lighting to counteract this. [Samasrinivas] built a lamp of their own design for this very purpose.

The lamp is constructed around an abstract sculptural form made in air-dry clay. Light is provided via a string of Neopixel RGBW LEDs. Run by an Adafruit Feather Huzzah, they’re programmed to trigger with the sunrise to provide a bright light in the morning on grey days when the outside world isn’t quite delivering the same. The Adafruit queries an online weather API to get the right sunrise time every day without requiring user intervention. The lamp can also be programmed to provide warm light during later hours.

We’ve featured a few circadian lighting projects before, including one that goes for a whole-of-house effect with smart bulbs. For some, they’re a valuable way to help boost mood and maintain consistent sleep cycles.