ROM Hack Sharing your experience

TSPhoenix

Well-Known Member
OP
Member
Joined
Aug 7, 2007
Messages
158
Trophies
0
XP
195
Country
I was just wondering if those people involved in making translations, save editors or any other sort of game related hacks would be willing to share a bit of insight on how they did what they did.

The only worthwhile game hack I've ever done is hex editing Chrono Trigger to make a hex>text table file and other modifications to that game, as in manually without tools only referencing hacking docs. I used some stuff like Hexpose, but nothing specifically for CT.

I find thats one big problem with hacking these days. There are just less and less documents out there. Sure there are still loads of hacks but guides (like the Cracker's trainer guide) and other documentation on the subject is scant. Either that or I'm just looking in all the wrong places.

A bit of demonstration as to how you guys find specific types of data in DS games WITHOUT specialist tools would be really neat as being reliant on these tools means that more worthwhile projects are going to be out of our reach for the most part.

If there is some magic cache of ROM hacking goodness I'm not aware of please fill me in, but otherwise some new content would be great. I'm specifically interested in making a save editor.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,795
Trophies
3
XP
28,452
Country
United Kingdom
Both Deufeufeu and myself have half finished documentation on DS rom hacking (I am not sure about Defeufeu but mine is set to be finished after the Jump Ultimate Stars project gets to a more manageable stage (basic bugfix, recompile stage).
Mine:
http://www.4shared.com/file/3636881/1f5f088d/rom101.html

Deufeufeu's I am not sure where it is offhand but he posted the thread around here. His is geared towards a specific game whereas mine is general purpose.

Still I find there are three main methods:
realize that most people use C and work forwards and backwards from there (see stuff like kiwi.DS does:
http://kiwi.ds.googlepages.com/sdat.html ) Some stuff uses XML and similar as well (tony hawks titles).

Or work from a binary/hex point upwards (finding pointers and liberal reading of GBATek docs ( http://nocash.emubase.de/gbatek.htm ) in some cases for stuff like 3d: it is all mapped to memory sections: certain size files a nice giveaway). I often dump the header of a file along with the locations of obvious breaks and see what the pointers turn out to be.

3rd is conventional rom hacking:
trace (be it ASM or memory scanning (like for cheats)) stuff using an emulator
corrupt stuff and see what happens
Thought exercises (here is a game level, how would I do it) are also useful I find (when first starting on jump ultimate stars I missed the fact the pointers were relative and drew up an equation to describe it, upon messing with some other stuff it hit me).

As for save editors I find most of the time they are done in the tried and true method of 400 slightly altered saves (save, move a space and save again, compare 2 saves) and if a hash is not readily decipherable then some ASM is usually the answer (cheats are often made to this end).
 

TSPhoenix

Well-Known Member
OP
Member
Joined
Aug 7, 2007
Messages
158
Trophies
0
XP
195
Country
Thanks very much, that stuff is awesome. Although I only managed to pull off really simple stuff so far having a finger point me in the right direction was quite handy.

On that note what is a good (preferably free) hex editor these days? I'm still using an old DOS tool which isn't very screen efficient.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,795
Trophies
3
XP
28,452
Country
United Kingdom
I use a whole array of editors depending on what I am doing

Hex Workshop: not free but has byte flip capabilities so is nice for basic stuff. http://www.hexworkshop.com/ Now seems to be updated again (previous updates were 2004)

HxD: My second choice http://mh-nexus.de/hxd/ I suggest you have this.

Winhex, part of the X-Ways forensics package, perhaps a bit complex but it works: http://www.x-ways.net/winhex/index-m.html

Crystaltile2: all in one hacking tool with a focus on the DS. Has table capabilites. I am in a bit of a rush but it is around this very section.

XVI32: Free, perhaps not that great for rom hacking but it works: http://www.chmaas.handshake.de/delphi/free...xvi32/xvi32.htm

Tiny Hexer, simple and works well: http://www.mirkes.de/en/freeware/tinyhex.php

notepad++ also has a hex editor inbuilt which is occasionally useful. http://notepad-plus.sourceforge.net/
Take a look at some of the hex editors from http://www.romhacking.net/ too, some of them take a bit of tweaking to get working for DS roms (larger file sizes, not necessarily any headers, increased use of 16 bit encodings....) but they are tailor made for rom hacking.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • NinStar @ NinStar:
    there is a plugin that display them on the wii u menu, pretty sure it is enabled by default
  • crafthp434 @ crafthp434:
    so like it doesnt exist
  • crafthp434 @ crafthp434:
    yeah
    ?
  • NinStar @ NinStar:
    it doesn't exist, at least not for aroma
  • crafthp434 @ crafthp434:
    ohhhhh
  • NinStar @ NinStar:
    on tiramisu you can access it by opening mii maker
  • crafthp434 @ crafthp434:
    okay
  • NinStar @ NinStar:
    I don't have a wii u anymore to test it myself, but if homebrews are not visible on the wii u menu I think you can press L + R + minus to open the plugin menu, there should be an option called "homebrews on wii u menu" or something similar
  • crafthp434 @ crafthp434:
    nope
  • crafthp434 @ crafthp434:
    it is L+dpad down+ select
  • crafthp434 @ crafthp434:
    but homebrew is appearing in the home menu btw
  • NinStar @ NinStar:
    yes, now I remember it
  • NinStar @ NinStar:
    then it is working, I also don't like that they did this but it is the only option you have if you are using aroma
  • crafthp434 @ crafthp434:
    i just didint know the homebrew launcher didint exist in aroma
  • crafthp434 @ crafthp434:
    thanks btw
  • Xdqwerty @ Xdqwerty:
    Im downloading fallout 3 goty edition
    +1
  • BigOnYa @ BigOnYa:
    I'm downloading more ram for my hamster pc
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    New hamster PC, with anal operation and BT connectivity!
    +1
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, How do I make enemies respawn on gdevelop after
    the player dies?
  • Psionic Roshambo @ Psionic Roshambo:
    Carrying a PC or phone is so old school!
  • Psionic Roshambo @ Psionic Roshambo:
    Squeeze your cheeks twice to answer calls!
  • BigOnYa @ BigOnYa:
    @Xdqwerty you can use a "spawner" function on any object.
    +1
  • BigOnYa @ BigOnYa:
    Or when your player dies, you can say in code, if enemy exists, do nothing, but if enemy does not exist, then create enemy at certain spot. (This would be a pain tho for lots of emeies)
    +1
  • BigOnYa @ BigOnYa:
    Easiest, simple way would be just restart scene, but player would restart from beginning.
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, thx in advance
    +1
    Xdqwerty @ Xdqwerty: @BigOnYa, thx in advance +1