A Game Boy connected to a monitor while playing Super Mario Land 2

FPGA Boards Add VGA And HDMI Interfaces To The Original Game Boy

The classic Game Boy remains a firm favorite in the realm of retrocomputing. Revolutionary as it was at the time, by today’s standards its display is rather primitive, with no backlight and a usable area measuring only 47 mm x 44 mm. [Martoni] figured out a way to solve this, by developing GbVGA and GbHdmi, two projects that enable the Game Boy to connect to an external monitor. This way, you can play Super Mario Land without straining your eyes, and we can also image potential uses for those who stream their gameplay online.

A Game Boy connected to a monitor while playing Super Mario Land 2 Getting the image data out of the Game Boy is surprisingly straightforward, and has been done a few times before. Basically, the connection between the CPU and the LCD screen is a serial interface with a 4 MHz clock, two data lines and two sync lines. [Martoni] uses pin headers sticking out of the Game Boy’s plastic case to connect these to a small FPGA board. The board in question is a Fireant for the VGA version and a Tang Nano 4K for the HMDI model. In either case the FPGA reads out each frame from the Game Boy’s LCD interface and draws the extracted image onto the monitor, using the same four shades of green as used on the original screen.

[Martoni] states that the ultimate goal of these projects is to make a Switch-like docking station for the original Game Boy, which is definitely something we’re looking forward to. Although adding external monitors to the Game Boy is not entirely new, we like the simplicity of this implementation and the fact that anyone can improve upon it thanks to the full source code being available. Similar hacks have been performed on the newer Game Boy Pocket and Game Boy Advance as well.

magicBlueSmoke-piStick-featured

How Do You Make A Raspberry Pi On A Stick?

We agree with [magic-blue-smoke] that one of the only things more fun than a standard Raspberry Pi 4 is the Compute Module form factor. If they are not destined to be embedded in a system, these need a breakout board to be useful. Each can be customized with a myriad board shapes and ports, and that’s where the real fun starts. We’ve already seen projects that include custom carrier boards in everything from a 3D Printer to a NAS and one that shows we can build a single-sided board at home complete with high-speed ports.

[magic blue smoke] used this ability to customize the breakout board as an opportunity to create a hackable media player “stick” with the Raspberry Pi built-in. We love that this Raspberry Pi CM4 TV Stick eliminates all the adapters and cables usually required to connect a Pi’s fiddly micro HDMI ports to a display and has heat sinks and an IR receiver to boot. Like a consumer media player HDMI stick, all you need to add is power. Continue reading “How Do You Make A Raspberry Pi On A Stick?”

How To Drive Smartphone Screens Over HDMI

Compared to most small LCDs sold to makers, smartphone screens boast excellent color, brightness, and insanely high resolution. Unfortunately, driving them is rarely straightforward. In an attempt to make it easier, [peng-zhihui] set about developing tools to allow such screens to be driven from a simple HDMI feed. For those whose Chinese is a little rusty, the Google Translate link might prove useful.

The first attempt was using Toshiba’s TC358870XBG ASIC, capable of driving screens over MIPI DSI 1.1 from an HDMI input. [peng-zhihui] designed a simple test module for the chip based on the company’s evaluation board design, with [ylj2000] providing software to help get that solution off the ground.

However, for now that solution is imperfect, so [peng-zhihui] also experimented with the Longxun LT6911 HDMI to MIPI driver. While cheap, information on the part is scarce, and the company’s own source code for using the hardware is only accessible by signing an NDA. However, [peng-zhihui] made pre-compiled firmware available for those that wish to work with the hardware.

[peng-zhihui] has put these learnings to good use, building a power bank with a MIPI screen using what appears to be the Longxun chip. The device can supply power over USB and also act as an HDMI display.

While it’s early days yet, and driving these screens remain difficult, it’s great to see hackers getting out there and finding a way to make new parts work for them. We’ve seen similar work before, using an FPGA rather than an off-the-shelf ASIC. If you’ve found your own way to get these high-end displays working, be sure to drop us a line!

[Thanks to peterburk for the tip!]

TV Ambient Lighting Built For Awesome Performance

[AndrewMohawk] had seen all kinds of ambient lighting systems for TVs come and go over the years, and the one thing they all had in common was that they didn’t live up to his high standards. Armed with the tools of the hacker trade, he set about building an Ambilight-type system of his own that truly delivered the goods.

The development process was one full of roadblocks and dead ends, but [Andrew] persevered. After solving annoying problems with HDCP and HDMI splitters, he was finally able to get a Raspberry Pi to capture video going to his TV and use OpenCV to determine the colors of segments around the screen. From there, it was simple enough to send out data to a string of addressable RGB LEDs behind the TV to create the desired effect.

For all the hard work, [Andrew] was rewarded with an ambient lighting system that runs at a healthy 20fps and works with any HDMI video feed plugged into the TV. It even autoscales to work with video content shot in different aspect ratios so the ambient display always picks up the edge of the video content.

With 270 LEDs fitted, the result is an incredibly smooth and fluid ambient display we’d love to have at home. You can build one too, since [Andrew] shared all the code on Github. As an added bonus, he also gave the system an audio visualiser, and tested it out with some Streetlight Manifesto, the greatest third-wave ska band ever to roam the Earth. The Fourth Wave still eludes us, but we hold out hope.

We’ve seen plenty of hacks in this vein before; one of the most impressive hacked a smart TV into doing the video processing itself. Video after the break.

Continue reading “TV Ambient Lighting Built For Awesome Performance”

Teaching A Machine To Be Worse At A Video Game Than You Are

Is it really cheating if the aimbot you’ve built plays the game worse than you do?

We vote no, and while we take a dim view on cheating in general, there are still some interesting hacks in this AI-powered bot for Valorant. This is a first-person shooter, team-based game that has a lot of action and a Counter-Strike vibe. As [River] points out, most cheat-bots have direct access to the memory of the computer which is playing the game, which gives it an unfair advantage over human players, who have to visually process the game field and make their moves in meatspace. To make the Valorant-bot more of a challenge, he decided to feed video of the game from one computer to another over an HDMI-to-USB capture device.

The second machine has a YOLOv5 model which was trained against two hours of gameplay, enough to identify friend from foe — most of the time. Navigation around the map was done by analyzing the game’s on-screen minimap with OpenCV and doing some rudimentary path-finding. Actually controlling the player on the game machine was particularly hacky; rather than rely on an API to send keyboard sequences, [River] used a wireless mouse dongle on the game machine and a USB transmitter on the second machine.

The results are — iffy, to say the least. The system tends to get the player stuck in corners, and doesn’t recognize enemies that pop up at close range. The former is a function of the low-res minimap, while the latter has to do with the training data set — most human players engage enemies at distance, so there’s a dearth of “bad breath range” encounters to train to. Still, we’re impressed that it’s possible to train a machine to play a complex FPS game at all, let alone this well.

PS2 Gets Integrated HDMI

It might be difficult to imagine in our modern HDMI Utopia, but there was a time when game consoles required proprietary cables to connect up to your TV. We’re not just talking about early machines like the NES either, turn of the millennium consoles like the PlayStation 2, Gamecube, and the original Xbox all had weirdo A/V ports on the back that were useless without the proper adapter.

But thanks to the efforts of [Taylor Burley], you can now upgrade your Slim PS2 with integrated HDMI capability. It’s not even a terribly difficult modification, as these things go. Sure there’s a lot of soldering involved to run from the console’s A/V connector to the commercially-made HDMI dongle he’s hidden inside the case, but at least it’s straightforward work.

Tapping into the console’s A/V connector.

As [Taylor] shows in the video after the break, all you have to do is remove the proprietary connector from the HDMI adapter dongle, and wire it directly into the console’s A/V port with a bit of ribbon cable. There are only 8 pins in the connector that you need to worry about, and the spacing is generous enough that there’s no problem getting in there with your iron and some standard jumper wires. You’ve also got to pull 5 V from the board to power the adapter, but that’s easy enough thanks to the system’s nearby USB ports.

There’s a perfect spot to mount the adapter board next to the console’s Ethernet connector, and once that’s tacked down with a bit of adhesive, the only thing left to do is cut a hole in the back of the enclosure for the HDMI port and snip away a bit of the metal RF shield. Presumably the same modification could be done on the original “fat” PS2, though you’ll be on your own for finding a suitable place to mount the board.

While modern game consoles can easily emulate their earlier peers, providing enhanced graphical fidelity and introducing modern conveniences like wireless controllers in the process, there’s still something to be said for playing classic games on the original hardware. Even if these projects are fueled by little more than youthful nostalgia, it’s a safe bet we’ll continue to see folks keeping these older machines running far into the future.

Continue reading “PS2 Gets Integrated HDMI”

Bitbanged DVI On A Raspberry Pi RP2040 Microcontroller

When we first saw the Raspberry Pi Pico and its RP2040 microcontroller last month it was obvious that to be more than just yet another ARM chip it needed something special, and that appeared to be present in the form of its onboard PIO peripherals. We were eagerly awaiting how the community might use them to push the RP2040 capabilities beyond their advertised limits. Now [Luke Wren] provides us with an example, as he pushes an RP2040 to produce a DVI signal suitable to drive an HDMI monitor.

It shouldn’t be a surprise that the chip can be overclocked, however it’s impressive to find that it can reach the 252 MHz necessary to generate the DVI timing. With appropriate terminations it proved possible for the GPIO lines to mimic the differential signalling required by the spec. A PCB with the RP2040 and an HDMI socket was created, also providing a couple of PMOD connectors for expansion. All code and software can be found in a GitHub repository.

The result is a usable DVI output which though it is a relatively low resolution 640×480 pixels at 60 Hz is still a major advance over the usual composite video provided by microcontroller projects. With composite support on monitors becoming a legacy item it’s a welcome sight to see an accessible path to an HDMI or DVI output without using an FPGA.

Thanks [BaldPower] for the tip.