PS1 logo on the top screen of a white DS

Running An Entire PS1 Emulator In A DS Cartridge

Gaming on a Nintendo DS can bring back great memories of long car trips from the past. But looking back, we remember wishing to play more than the DS could ever hope to handle. [fami] looks into the SuperCard DSTWO in her recent video, a solution to our past sorrows.

Able to play anything from the very games designed for the DS to emulated PS1 games, the DSTWO is more than capable of surpassing the abilities of the DS itself. More impressively, all games are run directly from the cartridge itself rather than on the DS’s hardware. While this emulated console within a handheld is impressive, it is far from simple to get running.

The DSTWO runs with an Ingenic JZ4732 as the CPU, completely different from any native architecture of the DS. Pair this with the unhelpful SDK made for the cartridge, and the aging hardware is held together by the community development behind any improvements. This is aided by the CPU similarities of another widely modded game console, the Dingoo A320.

When not having a fit, and after going through hours of troubleshooting, you might find the DSTWO running a game of SimCity 2000 or even Spyro the Dragon inside a DS. Even with the difficulties of use, the fact that these games run at all is impressive. If you want to try the DSTWO emulation yourself, check out the forums.

This is far from the only example of extreme care going into emulation. Here at Hackaday, we have covered similarly impressive projects such as this completely DIY handheld made for any retro game emulation you throw at it.

Continue reading “Running An Entire PS1 Emulator In A DS Cartridge”

Nintendo Switch 2 Teardown, Let’s A-Go!

A new console challenger has appeared, and it goes by the name Nintendo Switch 2. The company’s latest iteration of the home console portable hybrid initially showed promise by featuring a large 1080p display, though very little official footage of the handheld existed prior to the device’s global release last week. However, thanks to a teardown video from [TronicsFix], we’ve got a little more insight into the hardware.

The technical specifications of this new console have been speculated on for the last handful of years. We now know NVIDIA is again providing the main silicon in the form of a custom 8x ARM Cortex A78C processor. Keeping the system powered is a 5220 mAh lithium ion battery that according to [TronicsFix] is held in with some seriously strong adhesive.

On the plus side for repairability, the onboard microphone and headphone jack are each attached by their own ribbon cable to the motherboard. The magnetic controller interfaces are also modular in design as they may one day prove to be a point of failure from repeated detachment. Speaking of which, [TronicsFix] also took apart the new version of the Joy-Con controller that ships with the system.

Arguably the biggest pain point for owners of the original Nintendo Switch was the reliability of the analog sticks on the diminutive controllers. There were widespread reports of “stick drift” that caused players to lose control as onscreen avatars would lazily move in one direction without player input. For the Switch 2, the Joy-Con controllers feature roughly the same number of dome switch buttons as well as haptic feedback motors. The analog sticks are larger in size on the outside, but feature the same general wiper/resistor design of the original. Many will cry foul of the continued use of conventional analog stick design in favor of hall effect sensors, but only time will tell if the Nintendo Switch 2 will repeat history.

Continue reading “Nintendo Switch 2 Teardown, Let’s A-Go!”

An Open-Source Wii U Gamepad

Although Nintendo is mostly famous for making great games, they also have an infamous reputation for being highly litigious not only for reasonable qualms like outright piracy of their games, but additionally for more gray areas like homebrew development on their platforms or posting gameplay videos online. With that sort of reputation it’s not surprising that they don’t release open-source drivers for their platforms, especially those like the Wii U with unique controllers that are difficult to emulate. This Wii U gamepad emulator seeks to bridge that gap.

The major issue with the Wii U compared to other Nintendo platforms like the SNES or GameCube is that the controller looks like a standalone console and behaves similarly as well, with its own built-in screen. Buying replacement controllers for this unusual device isn’t straightforward either; outside of Japan Nintendo did not offer an easy path for consumers to buy controllers. This software suite, called Vanilla, aims to allow other non-Nintendo hardware to bridge this gap, bringing in support for things like the Steam Deck, the Nintendo Switch, various Linux devices, or Android smartphones which all have the touch screens required for Wii U controllers. The only other hardware requirement is that the device must support 802.11n 5 GHz Wi-Fi.

Although the Wii U was somewhat of a flop commercially, it seems to be experiencing a bit of a resurgence among collectors, retro gaming enthusiasts, and homebrew gaming developers as well. Many games were incredibly well made and are still experiencing continued life on the Switch, and plenty of gamers are looking for the original experience on the Wii U instead. If you’ve somehow found yourself in the opposite position of owning of a Wii U controller but not the console, though, you can still get all the Wii U functionality back with this console modification.

Thanks to [Kat] for the tip!

RTEMS Statement Deepens Libogc License Controversy

Earlier this month we covered the brewing controversy over libogc, the community-developed C library that functions as the backbone for GameCube and Wii homebrew software. Questions about how much of the library was based on leaked information from Nintendo had been circulating for decades, but the more recent accusations that libogc included code from other open source projects without proper attribution brought the debate to a head — ultimately leading Wii Homebrew Channel developer Hector Martin to archive the popular project and use its README as a central point to collect evidence against libogc and its developers.

At the time, most of the claims had to do with code being taken from the Real-Time Executive for Multiprocessor Systems (RTEMS) project. Martin and others in the community had performed their own investigations, and found some striking similarities between the two codebases. A developer familiar with both projects went so far as to say that as much as half the code in libogc was actually lifted from RTEMS and obfuscated so as to appear as original work.

While some of these claims included compelling evidence, they were still nothing more than accusations. For their part, the libogc team denied any wrongdoing. Contributors to the project explained that any resemblance between libogc code and that of either leaked Nintendo libraries or other open source projects was merely superficial, and the unavoidable result of developing for a constrained system such as a game console.

But that all changed on May 6th, when the RTEMS team released an official statement on the subject. It turns out that they had been following the situation for some time, and had conducted their own audit of the libogc code. Their determination was that not only had RTEMS code been used without attribution, but that it appeared at least some code had also been copied verbatim from the Linux kernel — making the license dispute (and its solution) far more complex.

Continue reading “RTEMS Statement Deepens Libogc License Controversy”

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!