Settings

Theme

Nintendo GBA and DS ROM hacking guide (2016)

gbatemp.net

146 points by kiisupai 3 years ago · 34 comments

Reader

jayofdoom 3 years ago

The 3DS hacking scene is still pretty active. Great form factor devices, fully jailbroken. Guide is pretty easy to follow at 3ds.hacks.guide :)

I've got mine as the best form-factor emulation station (for older games) you could imagine :).

  • haunter 3 years ago

    +1 it's worth it for the NSUI [0] alone. The 3DS, especially the New 3DSXL is the best handheld to play NES/SNES/GB/C/A games, pixel perfect!

    0, https://3ds.eiphax.tech/nsui

    • messe 3 years ago

      > The 3DS, especially the New 3DSXL is the best handheld to play NES/SNES/GB/C/A games, pixel perfect!

      For me at least, I think the Steam Deck has it beat these days, although I'll admit I miss the smaller form factor sometimes.

      • BoorishBears 3 years ago

        If you're into the kind of emulation where the 3DS is a contender, the Steam Deck is miles behind so many other options.

        There's a cottage industry of retro emulation machines that all have much better battery life, more faithful control schemes, etc.

        The Steam Deck shines because of all the other things it can do, but those mostly come at a cost to how great of a retro emulation handheld it is.

      • idonotknowwhy 3 years ago

        Love my New 2DS XL with cfw, but the best form factor for me for those you mentioned is the Miyoo Mini.

        I have it in my pocket all the time and put has save states, fast forward and low power standby with instant power on.

        I can play it in short busts whenever I have a few minutes spare instead of using my phone.

        I recently beat Pokémon Emerald for the first time thanks to this and I'm further through dk county than I've ever been

      • ngcc_hk 3 years ago

        Any starting point for steam dock. A run emulation now. Just treat those rom as well roy and start to hack from that I supposed.

        Btw that is 6 years ago or starting 7. No need of any update?

    • britneybitch 3 years ago

      I'd never heard of NSUI, this looks awesome!

      Is it true that 3DS hardware supports Genesis games (as seen in the screenshot)? I'd love to know the story there. Was Sega involved? How does it works in hardware, since the Genesis has 68k/Z80 CPUs, and the DS family uses ARMs?

      • chungy 3 years ago

        Only GBA and NDS games can run natively on 3DS hardware. Everything else is software emulation.

    • throwaway6734 3 years ago

      For gba games it's hard to beat the anberic 351p. Almost the same exact size as the gba with the same screen size

      • giantrobot 3 years ago

        I've got a GBA with a backlight mod and a flash cart. Flash carts are a game changer (pun intended) if you've got original hardware. I love systems like the Anberic but if you've got original hardware flash carts are the way to go.

loupol 3 years ago

Very comprehensive resource for someone trying to get into rom hacking in general.

The GBATEK specification [0] mentioned several times in the guide (not limited to the GBA, it also covers Nintendo DS, DSi and 3DS) feels like a real treasure trove of technical data.

[0] https://problemkaputt.de/gbatek.htm

lostgame 3 years ago

This appears to be a phenomenal document containing a lot of fascinating info on ROM hacking in general - while the document does explicitly appear to cover GBA and DS most specifically (at 300+ pages, I could only skim through it, here) - it covers surprisingly fundamental basics about game development, emulation and core programming concepts.

This will be a document I'll keep around for the foreseeable future. Amazing work.

steponlego 3 years ago

Back in the '80s there was a lot of save game file hacking going on. My buddy and I would look at save game files for all the hot fun games in the hex editor and try to figure out what values we could change. Bard's Tale had a fairly simple layout, which we painstakingly figured out by, for example, using one item and seeing which values decremented. BTII or III, can't remember, went to some length to prevent this easy hacking of the save state. By the 1990s it was common for save game files to be obfuscated in various ways, making the process much more of a pain in the ass.

  • shitcoder 3 years ago

    Yeah I definitely agree, wasting time figuring out how to get to the save and apply your changes is the worst obstacle there, in most cases the saves are encrypted and have a check sum applied. Although I've found some games that allow you access the save data without messing around with this stuff, mainly the Shin Megami Tensei line of JRPG games in my experience.

    Granted, the saves are binary blobs but once you find the value you want you can find an entire struct of data along side it. There are tools like imHex which help the process and help you define the structure of the save file. It's become a common project of mine to save hack and then build a save editor when I'm confident my changes work.

  • beebmam 3 years ago

    These days it's far easier to read/edit the memory of running programs than the serialized data saved to disk in save files.

    • lostgame 3 years ago

      Well; isn’t that why a lot of traditional ROM hacks historically (at least in the SEGA Genesis/MD hacking scene I was involved with) used savestates as rudimentary ROM hacks? EG - hasn’t it been easier to manipulate data in runtime memory, eg in a savestate; than within the ROM?

      Asking because I don’t actually know, I’m just recalling a lot of my early ROM hacking, and indeed discoveries in ROMs, by manipulating memory and savestate rather than the ROM itself.

      • drx 3 years ago

        Savestate hacking used to be easier because everything in a savestate is uncompressed and raw. Tile graphics, level layouts, palettes, sprite mappings, etc.

        To hack a ROM you need to know how to decompress the data, and then recompress your changes. A given game might use multiple compression formats.

      • deaddodo 3 years ago

        I couldn't tell you without a specific example, but I would suspect distributing an edited ROM would be much easier than save state hacking.

        In a general sense, I suspect the latter is more popular because it's not illegal to modify/distribute save state data; ROMs certainly can be.

        • anthk 3 years ago

          They distribute delta binary patches on the form of IPS formats.

          • deaddodo 3 years ago

            Which gives me even less reason for why they would distribute modified ephemeral data vs source data to alter game logic.

            Obviously, if you want all 151 Pokemon captured, you would do that through a save state. But if you want increased chances of capturing Pidgey, it would certainly be easier to distribute a ROM (or delte, in this case) with those new ratios baked in.

    • steponlego 3 years ago

      We used to break into the monitor for research sometimes too. Great times, no real OS in the way either.

helf 3 years ago

This is a surprisingly well written /book/. Thanks for the link.

I used to do game save file hacking on palmOS as a teen. Was a hoot. Eventually turned to full blown “cracking” of software. That was a fun hobby.

nix23 3 years ago

I'm working on a project to use 3DS devices as a Terminal and IoT device with RTMES as the OS. Still in pretty early stage (aka nothing to see here) but used 3DS's are cheaper then RPI's have wireless, a Screen a keyboard (touchscreen), infrared, microphone and speaker and even a UPS (battery) plus two different Cores, so it is a pretty powerfull Device for stuff like that.

dang 3 years ago

Is there any URL we can switch the top link to, that contains some of this information but doesn't do an automatic file download as https://gbatemp.net/download/gba-and-ds-rom-hacking-guide.33... does? (Those make annoying links for frontpage submissions, even when the content is good.)

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection