HDMI Audio and Video for Neo Geo MVS

[Charlie] was killing some time hacking on some cheap FPGA dev boards he bought from eBay. Initially, he intended to use them to create HDMI ports for a different project before new inspiration hit him. Instead, he added an HDMI port to Neo Geo MVS games. The Neo Geo MVS was a 90’s arcade machine that played gems like the Metal Slug and Samurai Showdown series. [Charlie] has a special knack for mods, being featured on Hackaday before for implementing Zork on hardware and making a mini supergun PCB. What’s especially nice about his newest mod is that the HDMI outputs both audio and video.

[Charlie] obtained the best possible video and audio signal by tapping the digital inputs to the Neo Geo’s DACs (digital-to-analog converter). The FPGA was then used to convert the signals to HDMI, maintaining a digital signal path from video generation to display. While this sounds simple enough, there was a lot that had to be done. The JAMMA video standard’s lower resolution was incompatible with the various resolutions offered by the HDMI protocol. [Charlie] solved this problem by implementing scan doubling using the RAM on the Cyclone II dev board. He then had to downsample the audio to 32kHz (from 55.6kHz) in order to meet the HDMI specs. Getting the sound over HDMI required adding data islands to the signal, a feat [Charlie] admits was a frustrating one.

When he tested the HDMI with his monitor, it was out of spec but still worked. His TV, on the other hand, refused to play it at all. This was due to the Neo Geo outputting 59.1 fps – not the standard 60 fps. Using the FPGA, [Charlie] overclocked the NeoGeo by approximately 1% and used the 27Mhz pixel clock to change the FPGA output to a 720 x 480p signal.

For those that love the scan lines of yore, they can be enabled with the push of a button. [Charlie] notes that there are some slight differences in the shadow effects of some graphics, but he has done his best to minimize them. He also admits that the FPGA code contributes only 100 microseconds of delay compared to analog output, which is fast enough for even the most hardcore gamers.

Check out the video after the break to see how the Neo Geo looks in HDMI along with a side-by-side comparison to a CRT TV.

Continue reading “HDMI Audio and Video for Neo Geo MVS”

Dead Simple Hologram Effect

We’ve all seen holograms in movies, and occasionally we see various versions of the effect in real life. The idea of having a fully three-dimensional image projected magically into space is appealing, but we haven’t quite mastered it yet. [Steven] hasn’t let that stop him, though. He’s built himself a very simple device to display a sort of hologram.

His display relies on reflections. The core of the unit is a normal flat screen LCD monitor laid on its back. The other component looks like a four-sided pyramid with the top cut off. The pyramid is made from clear plastic transparency sheets, held together with scotch tape. It’s placed on top of the LCD with the narrow end facing down.

[Steven] then used the open source Blender program to design a few 3D animations. Examples include a pterodactyl flying and an approximation of the classic Princess Leia hologram from Star Wars Episode 4. The LCD screen displays the animation from four different angles at once. The images are displayed up and onto the transparency sheet, which then get reflected to your eyes. The result is an image that looks almost as if it’s floating in space if viewed from the proper angle. If you move around the screen you can see the image from all four sides, which helps to sell the effect. Not bad for a few dollars worth of parts. Continue reading “Dead Simple Hologram Effect”

How Green Screen Worked Before Computers

If you know anything about how films are made then you have probably heard about the “green screen” before. The technique is also known as chroma key compositing, and it’s generally used to merge two images or videos together based on color hues. Usually you see an actor filmed in front of a green background. Using video editing software, the editor can then replace that specific green color with another video clip. This makes it look like the actor is in a completely different environment.

It’s no surprise that with computers, this is a very simple task. Any basic video editing software will include a chroma key function, but have you ever wondered how this was accomplished before computers made it so simple? [Tom Scott] posted a video to explain exactly that.

In the early days of film, the studio could film the actor against an entirely black background. Then, they would copy the film over and over using higher and higher contrasts until they end up with a black background, and a white silhouette of the actor. This film could be used as a matte. Working with an optical printer, the studio could then perform a double exposure to combine film of a background with the film of the actor. You can imagine that this was a much more cumbersome process than making a few mouse clicks.

For the green screen effect, studios could actually use specialized optical filters. They could apply one filter that would ignore a specific wavelength of the color green. Then they could film the actor using that filter. The resulting matte could then be combined with the footage of the actor and the background film using the optical printer. It’s very similar to the older style with the black background.

Electronic analog video has some other interesting tricks to perform the same basic effect. [Tom] explains that the analog signal contained information about the various colors that needed to be displayed on the screen. Electronic circuits were built that could watch for a specific color (green) and replace the signal with one from the background video. Studios even went so far as to record both the actor and a model simultaneously, using two cameras that were mechanically linked together to make the same movements. The signals could then be run through this special circuit and the combined image recorded all simultaneously.

There are a few other examples in the video, and the effects that [Tom] uses to describe these old techniques go a long way to help understand the concepts. It’s crazy to think of how complicated this process can be, when nowadays we can do it in minutes with the computers we already have in our homes. Continue reading “How Green Screen Worked Before Computers”

Building A Modern Retro Console

There are a few dozen classic re-imaginings of classic game consoles, using hardware ranging from the ATMegas of the Uzebox to everyone’s favorite, stuffing some ROMs on a Raspi and calling it a day. You don’t necessarily learn anything doing that, which puts [Mike]’s custom game console head and shoulders above the rest.

The build started off as a plan for a Z80 computer with a dual ATMega GPU. He progressed far enough in the design where it would have been a masterpiece, but the inability to mill double-sided boards at home killed the design. Plans then moved on to an FPGA, then to an ATMega with the Analog Device AD725 PAL/NTSC encoder chip. That idea had a similar architecture to the Uzebox, but [Mike] wanted more power. He eventually settled on a PIC32 with the AD725.

This setup was capable of pumping out some impressive graphics, but for moving bits to a screen, you need DMA. [Mike] ran into a problem where the DMA timer runs at a maximum rate of 3.7 MHz. It’s a problem documented in a few projects, leading [Mike] to change his plan once again, this time to the STM32F4.

The bugs are worked out, and now [Mike] can stream a whole lot of pixels to a screen while still having some processing power left over to play a game. It’s a project that’s more than a year and a half old at this point, and so far he’s learned a lot.

Reverse Engineer then Drive LCD with FPGA

Fans of [Ben Heck] know that he has a soft spot for pinball machines and his projects that revolve around that topic tend to be pretty epic. This is a good example. At a trade show he saw an extra-wide format LCD screen which he thought would be perfect on a pinball build. He found out it’s a special module made for attaching to your car’s sun visor. The problem is that it only takes composite-in and he wanted higher quality video than that offers. The solution: reverse engineer the LCD protocol and implement it in an FPGA.

This project is a soup to nuts demonstration of replacing electronics drivers; the skill is certainly not limited to LCD modules. He starts by disassembling the hardware to find what look like differential signaling lines. With that in mind he hit the Internet looking for common video protocols which will help him figure out what he’s looking for. A four-channel oscilloscope sniffs the signal as the unit shows a blue screen with red words “NO SIGNAL”. That pattern is easy to spot since the pixels are mostly repeated except when red letters need to be displayed. Turns out the protocol is much like VGA with front porch, blanking, etc.

With copious notes about the timings [Ben] switches over to working with a Cyclone III FPGA to replace the screen’s stock controller. The product claims 800×234 resolution but when driving it using those parameters it doesn’t fill the entire screen. A bit more tweaking and he discovers the display actually has 1024×310 pixels. Bonus!

It’s going to take us a bit more study to figure out exactly how he boiled down the sniffed data to his single color-coded protocol sheet. But that’s half the fun! If you need a few more resources to understand how those signals work, check out one of our other favorite FPGA-LCD hacks.

Continue reading “Reverse Engineer then Drive LCD with FPGA”

The Giant Flip-Dot Display at CES

Flip-dot displays are grand, especially this one which boasts 74,088 pixels! I once heard the hardware compared to e-ink. That’s actually a pretty good description since both use a pixel that is white on one side and black on the other, depend on a coil to change state, and only use electricity when flipping those bits.

What’s remarkable about this is the size of the installation. It occupied a huge curving wall on the ooVoo booth at 2015 CES. We wanted to hear more about the hardware so we reached out to them they didn’t disappoint. The ooVoo crew made time for a conference call which included [Pat Murray] who coordinated the build effort. That’s right, they built this thing — we had assumed it was a rental. [Matt Farrell] recounts that during conception, the team had asked themselves how an HD video chat for mobile company can show off display technology when juxtaposed with cutting edge 4k and 8k displays? We think the flip-dot was a perfect tack — I know I spent more time looking at this than at televisions.

Join us after the break for the skinny on how it was built, including pictures of the back side of the installation and video clips that you have to hear to believe.

Continue reading “The Giant Flip-Dot Display at CES”

Generating Video With The PIC

[bekeband] recently came across an old industrial monitor. It’s small, monochrome, has a beautiful green phosphor, and does not accept a composite signal. Instead, there’s a weird TTL input with connectors for horizontal sync, vertical sync, and video. Intrigued, [bekeband] brought it home and started working on a project that would drive this monitor. He succeeded, and with a chip we don’t see much of on the Hackaday tips line: a 16-bit PIC.

The project uses the dsPIC30F3011, a strange little 16-bit PIC in a 40-pin package. The board for this build actually comes from an earlier build, and after connecting the horizontal sync, vertical sync, and video to this tiny board, [bekeband] started writing some code.

There are two programs written for this board. The first is a static image tester that displays a single image on the CRT. The second is one that displays a simple animation, in this case, a horse running in place. It’s not the fanciest project, but it does work, and even though [bekeband] isn’t using a high-speed ARM, he is getting a reasonably high resolution out of this chip.

Video below.

Continue reading “Generating Video With The PIC”