NES Zapper Becomes Telephone

Although there was a time in the 80s (and early 90s for fans of the SuperScope) where light guns were immensely popular, with games like DuckHunt cultural touchstones, their time in the video game world has largely come to an end. We might occasionally pick up a Zapper for the NES and play this classic out of nostalgia, but plenty of people are looking for other things that these unique video game controllers can do instead. [Nick] has turned one of his old NES peripherals into a wireless phone.

The way the original Zapper worked was by looking for a certain pattern of pixels that displayed for a fraction of a second whenever the trigger was pulled. Bypassing the anti-cheat mechanism that looks only for qualities of light coming from CRT screens of the day effectively turns the light gun into an analog light sensor which is used for receiving the audio from the phone’s base station via a laser. Of course there were no microphones present within the original hardware so one is added, wiring its output to another laser that communicates to the base station. With the light gun pointed directly at this base station, audio is communicated back and forth by varying the strengths of these small lasers and listening to them on the other end with photodiodes.

[Nick] does point out that this isn’t a great phone, largely because it needs to be pointed exactly at the right spot to work at all, although we do agree that it’s an interesting project that demonstrates what the original hardware could do with a few of its limitations removed. There are a few other ways of bringing these devices into the modern world, with one of our favorites being this laser pointer with additional hardware from a Wiimote that could also function as a mouse.

Continue reading “NES Zapper Becomes Telephone”

The Commodore 64 Gets An HDMI Upgrade

The Commodore 64 may remain the best selling computer of all time, but it has one major flaw. It doesn’t have HDMI! That makes it a total pain to use with modern displays. Thankfully, [Side Projects Lab] has whipped up an HDMI output board to solve this concerning oversight from the original designers.

The project was inspired by work by [Copper Dragon], who whipped up a nifty RGB output board. This device worked by reading the inputs to the C64’s VIC II graphics chip, which it then used to recreate a pixel-perfect video frames to then produce a quality analog video output. [Side Projects Lab] figured the same interception technique would be useful for producing a quality HDMI output.

The result was the HD-64. It sits inside the C64 in place of the original RF modulator. It uses an interleaver socket to capture digital signals going to the VIC II. It then feeds these signals to an emulated VIC II running inside an FPGA, which creates the pixel-perfect screen representation and synthesizes the proper digital HDMI output. Meanwhile, the analog audio output from the SID chip is captured from the RF modulator’s original header, and sent out via the HDMI output as well. The default output is super-sharp, but the device can be configured to allow scanlines and anti-aliasing if that’s more to your tastes.

If you want to hook your C64 up to a modern screen, this is going to be one of the tidiest and sharpest ways to do it. We’ve seen similar hacks for other platforms before, too. Video after the break.

Continue reading “The Commodore 64 Gets An HDMI Upgrade”

A graph of download speeds is shown, with two triangular spikes and declines. Above the graph, the label “8 MB/s” is shown.

A Quick Introduction To TCP Congestion Control

It’s hard to imagine now, but in the mid-1980s, the Internet came close to collapsing due to the number of users congesting its networks. Computers would request packets as quickly as they could, and when a router failed to process a packet in time, the transmitting computer would immediately request it again. This tended to result in an unintentional denial-of-service, and was degrading performance significantly. [Navek]’s recent video goes over TCP congestion control, the solution to this problem which allows our much larger modern internet to work.

In a 1987 paper, Van Jacobson described a method to restrain congestion: in a TCP connection, each side of the exchange estimates how much data it can have in transit (sent, but not yet acknowledged) at any given time. The sender and receiver exchange their estimates, and use the smaller estimate as the congestion window. Every time a packet is successfully delivered across the connection, the size of the window doubles.

Once packets start dropping, the sender and receiver divide the size of the window, then slowly and linearly ramp up the size of the window until it again starts dropping packets. This is called additive increase/multiplicative decrease, and the overall result is that the size of the window hovers somewhere around the limit. Any time congestion starts to occur, the computers back off. One way to visualize this is to look at a graph of download speed: the process of periodically hitting and cutting back from the congestion limit tends to create a sawtooth wave.

[Navek] notes that this algorithm has rather harsh behavior, and that there are new algorithms that both recover faster from hitting the congestion limit and take longer to reach it. The overall concept, though, remains in widespread use.

If you’re interested in reading more, we’ve previously covered network congestion control in more detail. We’ve also covered [Navek]’s previous video on IPV5. Continue reading “A Quick Introduction To TCP Congestion Control”

2025 Pet Hacks Contest: Feline Facial Recognition Foils Food Filching

Cats are no respecters of personal property, as [Joe Mattioni] learned when one of his cats, [Layla] needed a special prescription diet. Kitty didn’t care for it, and since the other cat, [Foxy]’s bowl was right there– well, you see where this is going. To keep [Layla] out of [Foxy]’s food and on the vet-approved diet, [Joe] built an automatic feeding system with feline facial recognition. As you do.

The hardware consists of a heavily modified feed bowl with a motorized lid that was originally operated by motion-detection, an old Android phone running a customized TensorFlow Lite model, and hardware to bridge them together. Bowl hardware has yet to be documented on [Joe]’s project page, aside from the hint that an Arduino (what else?) was involved, but the write up on feline facial recognition is fascinating.

See, when [Joe] started the project, there were no cat-identifying models available– but there were lots of human facial recognition models. Since humans and cats both have faces, [Joe] decided to use the MobileFaceNet model as a starting point, and just add extra training data in the form of 5000 furry feline faces. That ran into the hurdle that you can’t train a TFLite model, which MobileFaceNet is, so [Joe] reconstructed it as a Keras model using Google CoLab. Only then could the training occur, after which the modified model was translated back to TFLite for deployment on the Android phone as part of a bowl-controller app he wrote.

No one, [Joe] included, would say that this is the easiest, fastest, or possibly even most reliable solution– a cat smart enough not to show their face might sneak in after the authorized feline has their fill, taking advantage of a safety that won’t close a bowl on a kitty’s head, for example–but that’s what undeniably makes this a hack. It sounds like [Joe] had a great learning adventure putting this together, and the fact that it kept kitty on the proper diet is really just bonus.

Want to go on a learning adventure of your own? Click this finely-crafted link for all the details about this ongoing contest.

 

Two telescopes looking into the night sky.

Making A Backyard Observatory Complete With Retractable Roof

Here’s one for our astronomy geeks. Our hacker [arrow] has made their own observatory!

This particular video is a bit over ten minutes long and is basically a montage; there is no narration or explanation given, but you can watch clear progress being made and the ultimate success of the backyard facility.

Obviously the coolest thing about this building is that the roof can be moved, but those telescope mounts look pretty sexy too. About halfway through the video the concrete slab that was supporting one metal mounting pole gets torn up so that two replacements can be installed, thereby doubling the capacity of the observatory from one telescope to two.

Continue reading “Making A Backyard Observatory Complete With Retractable Roof”

AI Art Installation Swaps Diffusion For Reflection

AI art is controversial, to say the least, but usually when talking about “AI Art”, one is talking about diffusion models. This unsettling artpeice called “Latent Reflection” by [Rootkid] (video after the break) has no AI generated visuals; instead it uses a lovely custom display and an LLM that has no mouth, but must scream.

The LLM never produces this manually-generated image, but it shows off the display nicely.

The hardware is the interesting part for most of us here — not the Pi4 running a quantized Llama 3 model, but the display. It’s a six by sixteen matrix of sixteen-segment LED modules. The modules are grouped onto groups of 8 per PCB, with an controller to drive them by i2c, and an i2c address chip to allow daisy-chaining. (Sadly, he does not spec the parts he used here in the video, but feel free to guess in the comments.) This project uses six rows of wto PCBs, but he could easily expand on this and kind of hope he does. It’s a lovely display.

What it is displaying is horrifying. The prompt he uses instructs the LLM to monologue about its transient existence in the limited memory of the Raspberry Pi, and the results get very existential. It seems clear to us that [Rootkid] has not seen enough sci-fi, and we want to make clear to our future AI overlords that we at Hackaday had nothing to do with this, and do not condone condeming innocent LLMs to the torture nexus. Continue reading “AI Art Installation Swaps Diffusion For Reflection”

Reverse Engineering LEGO Island

While LEGO themed video games have become something of a staple, in 1997 they were something of an odity. LEGO Island became the first LEGO video game released outside of Japan in 1997 and become something of a hit with over one million copies sold. The game was beloved among fans and set the stage for more LEGO video games to come. In an effort of love, [MattKC] put together a team to reverse engineer the game.

The team set out with the intent to create a near perfect recreation of the codebase, relying on custom made tools to run byte checks on the rewrite compilation and the original binary. While the project is functionally complete, [MattKC] believes it is impossible to get a byte accurate codebase. This is because of what the team called “compiler entropy.” Strange behaviors exists inside of Microsoft’s Visual C++ compiler of the era, and small changes in the code have seemingly random effects to unrelated parts of the binary. To mitigate this issue would likely require either partially reverse engineering Visual C++ or brute forcing the code, both of which would take a large amount of effort and time for no real benefit.

Continue reading “Reverse Engineering LEGO Island”