Libogc Allegations Rock Wii Homebrew Community

Historically, efforts to create original games and tools, port over open source emulators, and explore a game console’s hardware and software have been generally lumped together under the banner of “homebrew.” While not the intended outcome, it’s often the case that exploring a console in this manner unlocks methods to run pirated games. For example, if a bug is found in the system’s firmware that enables a clever developer to run “Hello World”, you can bet that the next thing somebody tries to write is a loader that exploits that same bug to play a ripped commercial game.

But for those who are passionate about being able to develop software for their favorite game consoles, and the developers who create the libraries and toolchains that make that possible, the line between homebrew and piracy is a critical boundary. The general belief has always been that keeping piracy at arm’s length made it less likely that the homebrew community would draw the ire of the console manufacturers.

As such, homebrew libraries and tools are held to a particularly high standard. Homebrew can only thrive if developed transparently, and every effort must be taken to avoid tainting the code with proprietary information or code. Any deviation could be the justification a company like Nintendo or Sony needs to swoop in.

Unfortunately, there are fears that covenant has been broken in light of multiple allegations of impropriety against the developers of libogc, the C library used by nearly all homebrew software for the Wii and GameCube. From potential license violations to uncomfortable questions about the origins of the project, there’s mounting evidence that calls the viability of the library into question. Some of these allegations, if true, would effectively mean the distribution and use of the vast majority of community-developed software for both consoles is now illegal.

Continue reading “Libogc Allegations Rock Wii Homebrew Community”

Bringing Achievements To The Nintendo Entertainment System

Microsoft made gaming history when it developed Achievements and released them with the launch of the Xbox 360. They have since become a key component of gaming culture, which similar systems rolling out to the rest of the consoles and even many PC games. [odelot] has the honor of being the one to bring this functionality to an odd home—the original Nintendo Entertainment System!

It’s actually quite functional, and it’s not as far-fetched as it sounds. What [odelot] created is the NES RetroAchievements (RA) Adapter. It contains a Raspberry Pi Pico which sits in between a cartridge and the console and communicates with the NES itself. The cartridge also contains an LCD screen, a buzzer, and an ESP32 which communicates with the Internet.

When a cartridge is loaded, the RA Adapter identifies the game and queries the RetroAchievements platform for relevant achievements for the title. It then monitors the console’s memory to determine if any of those achievements—such as score, progression, etc.—are met. If and when that happens, the TFT screen on the adapter displays the achievement, and a notification is sent to the RetroAchievements platform to record the event for posterity.

It reminds us of other great feats, like the MJPEG entry into the heart of the Sega Saturn.

Continue reading “Bringing Achievements To The Nintendo Entertainment System”

A SNES CPU Replacement Via FPGA

Let’s say you had a SNES with a busted CPU. What would you do? Your SNES would be through! That is, unless, you had a replacement based on an FPGA. [leonllr] has been developing just such a thing.

The project was spawned out of necessity. [leonllr] had purchased a SNES which was struck down with a dead CPU—in particular, a defective S-CPU revision A. A search for replacements only found expensive examples, and ones that were most likely stripped from working machines. A better solution was necessary.

Hence, a project to build a replacement version of the chip using the ICE40HX8K FPGA. Available for less than $20 USD, it’s affordable, available, and has enough logic cells to do the job. It’s not just a theoretical or paper build, either. [leonllr] has developed a practical installation method to hook the ICE40HX8K up to real hardware, which uses two flex PCBs to go from the FPGA mainboard to the SNES motherboard itself. As for the IP on the FPGA, the core of the CPU itself sprung from the SNESTANG project, which previously recreated the Super Nintendo on Sipeed Tang FPGA boards. As it stands, boards are routed, and production is the next step.

It’s nice to see classic hardware resurrected by any means necessary. Even if you can’t get a whole bare metal SNES, you might be able to use half of one with a little help from an FPGA. We’ve seen similar work on other platforms, too. Meanwhile, if you’re working to recreate Nintendo 64 graphics chips in your own basement, or something equally weird, don’t hesitate to let us know!

The SNES Seems To Be Getting Faster Over Time

Every Super Nintendo console should run at the same speed. They were all built in factories with the same components so they should all operate at the steady clip mandated by Nintendo all those years ago. Except, apparently, the SNES is speeding up as it gets older.

The matter was brought to the public’s attention by the [TASBot] team, a group within the speedrunning community. If anyone was going to notice vintage consoles suddenly running a hair faster, you could bet it would be the speedrunners. Soon enough, a call was put out to crowdsource some data. Submitters were asked to run a set piece of code to test the DSP sample rate on consoles when cold and warm, to get the best idea of what was going on.

As reported by Ars Technica, the group seems to have pinned down the problem to the SNES’s Audio Processing Unit. It’s supposed to run at 24.576 MHz, with a sample rate of 32,000 Hz. However, over the years, emulator developers and speedrunners had noticed that 32,040 Hz seemed to be a more realistic figure for what real consoles were actually running the DSP sample rate at. Developers found that building emulators to run the DSP at this rate was important to run commercial games as expected, suggesting the hardware might have always been a little faster than expected.

However, more recently, it seems that the average speed of the DSP sample rate has increased further. The average result collected by [TASBot] from modern consoles is 32,076 Hz. What’s more interesting is the range of submitted figures—from 31,976 Hz to 32,349 Hz. It seems that the DSP’s ceramic resonator—used instead of a quartz crystal—might degrade over time, causing the speedup. [TASBot] team members also tested temperature changes, but only found a 32 Hz variation from a frozen SNES to one at room temperature.

The fact that console components degrade over time isn’t exactly news; we’ve featured plenty of articles on leaky batteries and corroded traces. Still, for speedrunners, the idea that the hardware standard itself can shift over time? It’s like feeling quicksand under your feet. What even is reality anymore?

[Thanks to s7726 for the tip!]

A picture of the Alarmo running a tweaked firmware, showing a theme with (Debug) added to its name, obviously a firmware modification

Making The Alarmo Customizable, By Any Means Necessary

Last year, Nintendo has released the Alarmo, a bedside-style alarm clock with a colourful display. Do you own one? You deserve full control over your device, of course. [KernelEquinox] has been reverse-engineering an Alarmo ever since getting one, and there’s no shortage of cool stuff you’ll be able to do with an Alarmo thanks to this work.

Now, just how can you improve upon the Alarmo? Looking through the Alarmo dev community site and threads on the subreddit, there are plenty of ideas, from themes to a ton of possible behaviour tweaks! In particular, Nintendo has already changed Alarmo’s behaviour in a way that is jarring to some users – a third-party development community will help us all make sure our Alarmos work exactly like we expect them to. Want to replace the sound files,  tie your Alarmo into your smart home setup, write your apps, tweak the UI or default behaviour, fix a bug that irks you real bad, or access a debug menu? Or, ensure that Alarmo doesn’t contribute to light pollution in your room? All appears to be doable.

Like the Alarmo, but don’t own one yet? They’re limited-release for now, but it will be more widely available this March; we thank [KernelEquinox] for the work in making Alarmo hacker-friendly. If you’ve forgotten, this project started off thanks to the efforts of [Gary] last year. We covered it back then — cat pictures included!

Hackaday Links Column Banner

Hackaday Links: February 2, 2025

All things considered, it was a very bad week for aviation here in the United States. Three separate crashes, two of which involved US military aircraft, have left over 70 people dead. We’ll spare you the details since there are plenty of other places to get news like that, but we did want to touch on one bright spot in this week’s aviation news: the first successful supersonic flight by a US-made civilian aircraft. There are a lot of caveats to that claim, but it’s clear that Boom Supersonic is on a path to commercializing supersonic air transportation for the first time since the Concorde was retired. Their XB-1 “Baby Boom” test aircraft managed three separate supersonic runs during the January 28 test flight over the Mojave test range. As usual, Scott Manley has excellent coverage of the test flight, including a look at how Boom used a Starlink terminal and an iPhone to stream cockpit video.

Continue reading “Hackaday Links: February 2, 2025”

Illustrated Kristina with an IBM Model M keyboard floating between her hands.

Keebin’ With Kristina: The One With The Hardware-Layered Keyboard

You know (or maybe you didn’t), I get super excited when y’all use the links at the bottom of this round-up we call Keebin’ to communicate with your old pal Kristina about your various labors of love. So just remember that.

Case in point: I was typing up this very issue when I heard from [Jay Crutti] and [Marcel Erz]. Both are out there making replacement keyboards for TRS-80s — [Jay] for Models 3 and 4, and [Marcel] for the Model 1. Oooh, I said to myself. This is going at the top.

A TRS-80 Model 4 with a replacement keyboard.
A TRS-80 Model 4. Image by [Jay Crutti] via JayCrutti.com
Relevant tangent time: I remember in the 90s having a pile of computers in my parents’ basement of various vintages, a TRS-80 Model 2 among them. (Did I ever tell you about the time I got pulled over for speeding with a bunch of different computers in the backseat? I was like no, officer, first of all, those are old machines that no one would really want, and I swear I didn’t steal them.)

I think the TRS-80 is probably the one I miss the most. If I still had it, you can bet I would be using [Jay] and [Marcel]’s work to build my own replacement keyboard, which the 40-year-old machine would likely need at this point if the Model 4 is any indication with its failing keyboard contacts.

To create the replacements, [Jay] used Keyboard Layout Editor (KLE), Plate & Case Builder, and EasyEDA. Using the schematic from the maintenance manual, he matched the row/column wiring of the original matrix with Cherry MX footprints. Be sure to check out [Jay]’s site for a link to the project files, or to purchase parts or an assembled keyboard. On the hunt for TRS-80 parts in general? Look no further than [Marcel]’s site.
Continue reading “Keebin’ With Kristina: The One With The Hardware-Layered Keyboard”