gba

apple-removes-the-first-ios-game-boy-emulator-released-under-new-app-store-rules

Apple removes the first iOS Game Boy emulator released under new App Store rules

Easy come, easy go —

iGBA seems to have taken unauthorized code from earlier GBA4iOS project.

Photos of iGBA that appeared on the App Store before the app was taken down.

Enlarge / Photos of iGBA that appeared on the App Store before the app was taken down.

Over the weekend, developer Mattia La Spina launched iGBA as one of the first retro game emulators legitimately available on the iOS App Store following Apple’s rules change regarding such emulators earlier this month. As of Monday morning, though, iGBA has been pulled from the App Store following controversy over the unauthorized reuse of source code from a different emulator project.

Shortly after iGBA’s launch, some people on social media began noticing that the project appeared to be based on the code for GBA4iOS, a nearly decade-old emulator that developer Riley Testut and a partner developed as high-schoolers (and distributed via a temporary security hole in the iOS App Store). Testut took to social media Sunday morning to call iGBA a “knock-off” of GBA4iOS. “I did not give anyone permission to do this, yet it’s now sitting at the top of the charts (despite being filled with ads + tracking),” he wrote.

GBA4iOS is an open source program released under the GNU GPLv2 license, with licensing terms that let anyone “use, modify, and distribute my original code for this project without fear of legal consequences.” But those expansive licensing terms only apply “unless you plan to submit your app to Apple’s App Store, in which case written permission from me is explicitly required.”

Images from the original, circa 2014 version of GBA4iOS.

Images from the original, circa 2014 version of GBA4iOS.

“To be clear, I’m not pissed at the developer [of iGBA],” Testut added on social media. “I’m pissed that Apple took the time to change the App Store rules to allow emulators and then approved a knock-off of my own app.”

Hurry up and wait

MacRumors reports that Apple cited two sections of its App Store guidelines in removing iGBA: one related to spam (Section 4.3) and one related to copyright (section 5.2). Right now, it’s a bit ambiguous whether the copyright violation refers to the copyright on the emulator source code itself or the emulator’s ability to easily play copyrighted games from Nintendo and others.

As we discussed earlier this month, the wording of Apple’s recent App Store guidelines update makes it unclear if developers can release general-purpose emulators with the ability to play ROMs they don’t control the rights to. Aside from iGBA, a Commodore 64 emulator named Emu64 XL and built off of the open source VICE project was recently launched on the iOS App Store.

Apple has yet to respond to a request for comment from Ars Technica. But Testut wrote early Monday morning that “to Apple’s credit, though, once they were aware of the issue, they did take it seriously. So I really don’t believe this was malicious at all — just an unfortunate situation for everyone involved.” Testut added that iGBA maker La Spina “reached out to me via email to personally apologize for the mess. So no hard feelings there.”

But Testut did have some hard feelings regarding Apple’s treatment of AltStore, an alternative marketplace for sideloading iOS apps that he’s trying to launch under the EU’s new regulations. That would provide Testut with a legitimate way to distribute Delta, a “sequel” to GBA4iOS that emulates many classic Nintendo consoles on Apple devices.

“My frustration stemmed entirely from the fact we’ve been ready to launch Delta since last month,” Tetstut wrote on social media. “This whole situation could’ve been avoided if Apple hadn’t delayed approving us until after changing their rules to allow emulators.”

Apple removes the first iOS Game Boy emulator released under new App Store rules Read More »

modder-re-creates-game-boy-advance-games-using-the-audio-from-crash-sounds

Modder re-creates Game Boy Advance games using the audio from crash sounds

To truly catch them all —

Create a bootable, working Pokémon game by recording it crash multiple times.

Game Boy Advance, modded, on display

Enlarge / Andrew Cunningham’s modded and restored Game Boy Advance could, with enough time, sing out all the data loaded into a cartridge.

Andrew Cunningham

Sometimes, a great song can come from great pain. The Game Boy Advance (GBA), its software having crashed nearly two hours ago, will, for example, play a tune based on the game inside it. And if you listen closely enough—using specialty hardware and code—you can tell exactly what game it was singing about. And then theoretically play that same game.

This was discovered recently by TheZZAZZGlitch, whose job is to “sadistically glitch and hack the crap out of Pokémon games.” It’s “hardly a ready-to-use solution,” the modder notes, as it requires a lot of tuning specific to different source formats. So while there are certainly easier ways to get GBA data from a cartridge, none make you feel quite so much like an audio datamancer.

TheZZAZZGlitch’s demonstration of re-creating Game Boy Advance ROM data using the sounds from a crashing system.

After crashing a GBA and recording it over four hours, the modder saw some telltale waveforms in a sound file at about the 1-hour, 50-minute mark. Later in the sound-out, you can hear the actual instrument sounds and audio samples the game contains, played in sequence. Otherwise, it’s 8-bit data at 13,100 Hz, and at times, it sounds absolutely deranged.

“2 days of bugfixing later,” the modder had a Python script ready that could read the audio from a clean recording of the GBA’s crash dump. Did it work? Not without more troubleshooting. One issue with audio-casting ROM data is that there are large sections of 0-byte data in the ROM, which are hard to parse as mute sounds. After running another script that realigned sections based on their location in the original ROM, the modder’s ROM was 99.76 percent accurate but “still didn’t boot tho.” TheZZAZZGlitch later disclaimed that, yes, this is technically using known ROM data to surface unknown data, or “cheating,” but there are assumptions and guesses one could make if you were truly doing this blind.

The next fix was to refine the sound recording. By recording three times and merging them with a “majority vote” algorithm, their accuracy notched up to 99.979 percent. That output ROM booted—but with glitched text and a title screen crash. After seven different recordings are meshed and filtered for blank spaces, they achieve 100 percent parity. That’s about the halfway point of the video; you should watch the rest to learn how it works on physical hardware, how it works with a different game (an ARM code mystery in a replica cartridge), and how to get the best recordings, including the use of a “cursed adapter” that mixes down to one channel the ugly way.

Modder re-creates Game Boy Advance games using the audio from crash sounds Read More »