Reflecting On The State Of Game Boy Emulation In 2024

Considering the decades that have passed since Nintendo’s Game Boy was considered the state-of-the-art in mobile gaming, you’d imagine that the community would have pretty much perfected the emulation of the legendary family of handhelds — and on the whole, you’d be right. Today, you can get open source emulators for your computer or even smartphone that can play the vast majority of games that were released between the introduction of the original DMG-1 “brick” Game Boy in 1989 through to the final games published for the Game Boy Advance in the early 2000s.

But not all of them. While all the big name games are handled at this point, there’s still a number of obscure titles (not all of which are games) that require specialized hardware accessories to properly function. To bring the community up to speed on where work is still required, [Shonumi] recently provided a rundown on the emulation status of every commercial Game Boy accessory.

Continue reading “Reflecting On The State Of Game Boy Emulation In 2024”

This Week In Security: TunnelVision, Scarecrows, And Poutine

There’s a clever “new” attack against VPNs, called TunnelVision, done by researchers at Leviathan Security. To explain why we put “new” in quotation marks, I’ll just share my note-to-self on this one written before reading the write-up: “Doesn’t using a more specific DHCP route do this already?” And indeed, that’s the secret here: in routing, the more specific route wins. I could not have told you that DHCP option 121 is used to set extra static routes, so that part was new to me. So let’s break this down a bit, for those that haven’t spent the last 20 years thinking about DHCP, networking, and VPNs.

So up first, a route is a collection of values that instruct your computer how to reach a given IP address, and the set of routes on a computer is the routing table. On one of my machines, the (slightly simplified) routing table looks like:

# ip route
default via 10.0.1.1 dev eth0
10.0.1.0/24 dev eth0

The first line there is the default route, where “default” is a short-hand for 0.0.0.0/0. That indicate a network using the Classless Inter-Domain Routing (CIDR) notation. When the Internet was first developed, it was segmented into networks using network classes A, B, and C. The problem there was that the world was limited to just over 2.1 million networks on the Internet, which has since proven to be not nearly enough. CIDR came along, eliminated the classes, and gave us subnets instead.

In CIDR notation, the value after the slash is commonly called the netmask, and indicates the number of bits that are dedicated to the network identifier, and how many bits are dedicated to the address on the network. Put more simply, the bigger the number after the slash, the fewer usable IP addresses on the network. In the context of a route, the IP address here is going to refer to a network identifier, and the whole CIDR string identifies that network and its size.

Back to my routing table, the two routes are a bit different. The first one uses the “via” term to indicate we use a gateway to reach the indicated network. That doesn’t make any sense on its own, as the 10.0.1.1 address is on the 0.0.0.0/0 network. The second route saves the day, indicating that the 10.0.1.0/24 network is directly reachable out the eth0 device. This works because the more specific route — the one with the bigger netmask value, takes precedence.

The next piece to understand is DHCP, the Dynamic Host Configuration Protocol. That’s the way most machines get an IP address from the local network. DHCP not only assigns IP addresses, but it also sets additional information via numeric options. Option 1 is the subnet mask, option 6 advertises DNS servers, and option 3 sets the local router IP. That router is then generally used to construct the default route on the connecting machine — 0.0.0.0/0 via router_IP.

Remember the problem with the gateway IP address belonging to the default network? There’s a similar issue with VPNs. If you want all traffic to flow over the VPN device, tun0, how does the VPN traffic get routed across the Internet to the VPN server? And how does the VPN deal with the existence of the default route set by DHCP? By leaving those routes in place, and adding more specific routes. That’s usually 0.0.0.0/1 and 128.0.0.0/1, neatly slicing the entire Internet into two networks, and routing both through the VPN. These routes are more specific than the default route, but leave the router-provided routes in place to keep the VPN itself online.

And now enter TunnelVision. The key here is DHCP option 121, which sets additional CIDR notation routes. The very same trick a VPN uses to override the network’s default route can be used against it. Yep, DHCP can simply inform a client that networks 0.0.0.0/2, 64.0.0.0/2, 128.0.0.0/2, and 192.0.0.0/2 are routed through malicious_IP. You’d see it if you actually checked your routing table, but how often does anybody do that, when not working a problem?

There is a CVE assigned, CVE-2024-3661, but there’s an interesting question raised: Is this a vulnerability, and in which component? And what’s the right solution? To the first question, everything is basically working the way it is supposed to. The flaw is that some VPNs make the assumption that a /1 route is a bulletproof way to override the default route. The solution is a bit trickier. Continue reading “This Week In Security: TunnelVision, Scarecrows, And Poutine”

This Typewriter Types Toast

As a writer it’s a pleasure to see one’s work appear from time to time on a physical medium. While newspapers may be shuffling slowly off this mortal coil, there are still a few opportunities to write for printed media. It’s safe to say that no Hackaday scribe has ever managed to have their work published on the medium in this hack though, because it’s a typewriter designed to type on toast.

The toaster-typewriter is the work of [Ritika Kedia], and it forms part of her thesis in product design at the Parsons School of Design, New York. It’s written up very much from an artistic rather than a tech perspective, but it’s no less ingenious for that in the way it uses letters formed from hot wire on a clay substrate, mounted on the end of the typewriter arms in front of a toaster.

We’re slightly sad to see that it only has three operable letters at the moment as it’s an artwork rather than a document machine, but we love the idea and wish she had time to develop it further with a full alphabet. You can see a short demo in the video below the break.

Continue reading “This Typewriter Types Toast”

A Planck-inspired 40% ortholinear keyboard.

DIY Keyboard Can Handle Up To Three Host Devices

Here’s a story that may be familiar: [der-b] is a Linux developer who is forced two carry two laptops — one for work with unavoidable work stuff on it, and one for software development. Unfortunately this leads to keyboard confusion between the two when one is connected to an external display.

In an attempt to overcome this, [der-b] designed a keyboard that can be connected to more than one device at a time, despite ultimately thinking that this will lead to another layer of confusion. The point was to try to make something as lightweight as possible, since carrying two laptops is already a struggle. As a bonus, this project was a learning experience for soldering SMD parts.

The keyboard itself is based on the Planck and uses an ATMega32u4 running QMK firmware, so that means it’s a 40% ortholinear with 48 keys total. [der-b] used low-profile Cherry MX switches to keep things sleek.

In order to switch between different host devices, [der-b] uses shortcuts as you’ll see in the short video after the break. This is accomplished with a FSUSB36 IC on the USB connections between the ATMega and the host.

[der-b] encountered a spate of issues while building this keyboard, which you can read all about in the blog post. We love to see transparency when it comes to your write-ups, especially when the projects become learning experiences. (Aren’t they all?) But if 48 keys aren’t nearly enough for you, check out this learning-experience keyboard build.

Continue reading “DIY Keyboard Can Handle Up To Three Host Devices”

The ZX Spectrum Takes To The Airwaves Again

A perk of writing for Hackaday comes in the vast breadth of experience represented by our fellow writers. Through our colleague [Voja Antonić] for example we’ve gained an unparalleled insight into the cutting edge of 8-bit computing in 1980s Yugoslavia, of his Galaksija home computer, and of software being broadcast over [Zoran Modli]’s Ventilator 202 radio show.

We’re strongly reminded of this by hearing of the Slovenian Radio Študent broadcasting the classic Slovenian ZX Spectrum text adventure game Kontrabant 2, at the behest of the  Slovenian Computer History Museum. It’s been four decades and a lot of turbulent history, but once again 8-bit code will be heard on FM in Europe.

Some of our younger readers may never have experienced the joy of loading software from cassette, but in those days it represented a slow alternative to the eye-wateringly expensive floppy drives of the day. The software was represented as a serial bitstream translated into tones and recorded on a standard cassette recorder which was standard consumer electronics back then, and when played back through a speaker it was an ear-splitting sound with something in common with that of a modem handshake from a decade or more later. This could easily be transmitted over a radio station, and a few broadcasters tried experimental technology shows doing just that.

We haven’t heard from any listeners who managed to catch the game and run it on their Spectrum, but we hope that Slovenia’s retrocomputing community were out in force even if Audacity and a n emulator replaced the original hardware. Given that more than one hacker camp in our community has sported radio stations whether legal or not, it would be nice to hear the dulcet tones of 8-bit software on the airwaves again.

Meanwhile if cassettes are too cheap for you, feast your eyes on Sir Clive’s budget storage solution.

Thanks [Stephen Walters].

An Audio Delay, The Garden Hose Way

Creating music in 2024 is made easier by ready access to a host of effects in software that were once the preserve only of professional studios. One such is the delay; digital delays are now a staple of any production software where once they required infrastructure. [Look Mum No Computer] is no stranger to the world of Lo-Fi analogue music making, and along with his musical collaborator [Hainback], he’s created an analogue delay from an unexpected material: garden hose pipe.

The unit takes inspiration from some commercial 1970s effects, and lends a fixed short delay intended to give a double-tracking effect to vocals or similar. It involves putting a speaker at one end of a reel of hose and a microphone at the other, while the original unexpectedly used Shure SM57 capsules as both speaker and microphone they use a very small loudspeaker and a cheap microphone capsule.

The sound is not what you’d call high quality. Indeed, it’s about what one might expect when listening down a long pipe. But when mixed in behind the vocals, it gives a very pleasing effect. The duo use it on their new EP which, as you might expect, is released on vinyl.

If such effects interest you, also take a look at a 1950s reverb room at the famous Abbey Road Studios in London.

Continue reading “An Audio Delay, The Garden Hose Way”

A pile of red Swiss Army knives, probably collected by TSA.

Introducing The Swiss Army… Tool?

You’ve probably used one for everything from opening packages to stripping wires in a pinch (because you know better than to use your teeth). We’re talking about the blade of the iconic Swiss Army knife. And while there are many different models out there, they all feature at least one knife among their utensils. Until now.

Citing pressure due to the increase in worldwide knife violence, the company announced that they’ll be releasing a new range of tools without blades. Carl Elsner, fourth-generation CEO of Swiss Army knife maker Victorinox, is also concerned about increasing regulations surrounding knives at sporting events and other activities. And he has a point: according to the UN’s Global Study on Homicide 2023 (PDF), 30% of European homicides were committed with some type of sharp object.

In an interview with The Guardian, Elsner spoke of creating more specialized tools, such as one for cyclists, who don’t necessarily need a blade. He also mentioned that Victorinox have a tool specifically for golfers, but we’d like to point out that it features, among other things, a knife.

It’s going to be a long time before people stop assuming that the skinny red thing in your pocket contains a knife, especially at the airport. What TSA agent is going to take the time to check out your tool? They’re going to chuck it in the bucket with the rest of them. Would you consider buying a blade-less multi-tool? Let us know in the comments.

Don’t have much need for a knife? Here’s a bench tool that has it all.

(Main and thumbnail photos via Unsplash)