Rom Hacking?

Discussion in 'NDS - ROM Hacking and Translations' started by playallday, Jul 4, 2008.

Jul 4, 2008

Rom Hacking? by playallday at 10:35 PM (3,133 Views / 0 Likes) 19 replies

  1. playallday
    OP

    Member playallday Group: GBAtemp Ghost

    Joined:
    May 23, 2008
    Messages:
    3,773
    Location:
    [@N@[)@
    Country:
    Canada
    I want to get into DS Rom Hacking but I'm a n00b at it. So what programs do I need (a GUI is a nice is a big +). I'm in to programing a little (a lot of java, and some C#) so I know how some thing work.

    I want to hacks sort of like Apache Thunder hacks.

    Thanks if you reply!

    P.S. Sorry if I'm breaking any rules (like asking how to rom hack)
    P.P.S. I Google before I ask so don't get mad.
     
  2. Wabsta

    Member Wabsta you fight like a dairy farmer

    Joined:
    Apr 25, 2008
    Messages:
    2,485
    Location:
    SCUMM Bar
    Country:
    Netherlands
    DSlazy, for unpacking the rom, extractors for unpacking the unpacked files could be helpfull..
    And ofcourse, a hex editor [​IMG]
     
  3. pedroion

    Member pedroion GBAtemp Regular

    Joined:
    May 16, 2008
    Messages:
    134
    Country:
    Brazil
    What and how you want to hack?
     
  4. playallday
    OP

    Member playallday Group: GBAtemp Ghost

    Joined:
    May 23, 2008
    Messages:
    3,773
    Location:
    [@N@[)@
    Country:
    Canada
    Maybe some Mario games, just small hacks not to big.
     
  5. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,747
    Country:
    United Kingdom
    GUI apps do not really exist yet (there is a NSMB level editor, deufeufeu made some stuff for some of his projects and there is a couple of FF3 tools when it comes to the DS and the GBA does not fair much better: http://www.romhacking.net/?category=&P...itle=&desc= ).

    Others have mentioned the file system and I agree. Unlike most other cart systems which have the binary and files all together the DS has files able to be distinguished from each other.
    There are multiple apps for this including
    ndstool (command line tool which is part of devkitpro and has the .net using frontends DSlazy and DSBuff, my signature on rom ripping has links and batch files to use it). Some carts/roms do not play well with it though.
    NDSTS: made by the same guy as GBATA. Only able to extract and replace same size files.
    Nitroexplorer (probably the best alternative to ndstool and co). Made by treeki (same guy as the NSMB editor)
    NDSHV: site has been down for ages but made by Vinpire if you want to go looking.
    And you can alter it yourself:
    http://nocash.emubase.de/gbatek.htm#dscart...roromfilesystem

    At the most basic form this enables swapping of files (see undubs and early ripping of roms to fit on small carts as well as the wifi hacks) but it forms the basis of all DS hacking.
    Furthermore the files themselves often have similar file systems/layouts (usually a 4 character identifier followed by size and location of useful data) so you can usually hack them (if you are lucky someone will have already figured out the format). Of course not all formats are documented (and those that are can be changed or incomplete: early NARC (a format a bit tar files that can store just about anything) files/documentation did not have directories accounted for and so did not work so well when directories appeared).

    Oh and the rom hacking stuff in my sig/stickied at the top of the forum should help get you some links at least.

    As for mario (NSMB) the text is basic unicode (I did some hacks way back) and the levels have an editor:
    http://www.romhacking.net/?category=&P...itle=&desc=

    Other mario games can be a bit harder as they favour compression (mainly bios compatible LZ but it can be a pain to work with).
     
  6. RupeeClock

    Member RupeeClock Colors 3D Snivy!

    Joined:
    May 15, 2008
    Messages:
    6,307
    Country:
    United Kingdom
    I've tried hacking New Super Mario Bros, the editor works.
    The interface needs some development though.

    [​IMG]
     
  7. playallday
    OP

    Member playallday Group: GBAtemp Ghost

    Joined:
    May 23, 2008
    Messages:
    3,773
    Location:
    [@N@[)@
    Country:
    Canada
    Well I got the ndstool.exe file but when I open it up it closes in less then a 1 sec.

    EDIT: It looks like I'm going to use DSLazy.
     
  8. chuckstudios

    Member chuckstudios Putting the pro in procrastination

    Joined:
    Jul 19, 2006
    Messages:
    896
    Location:
    North Carolina, USA
    Country:
    United States
     
  9. playallday
    OP

    Member playallday Group: GBAtemp Ghost

    Joined:
    May 23, 2008
    Messages:
    3,773
    Location:
    [@N@[)@
    Country:
    Canada
    Thanks.

    I think I'll use DSLazy, Just that is has a GUI (sort-of).
     
  10. playallday
    OP

    Member playallday Group: GBAtemp Ghost

    Joined:
    May 23, 2008
    Messages:
    3,773
    Location:
    [@N@[)@
    Country:
    Canada
    Hey FAST6191 (or anyone) whats the hex editor you use?
     
  11. arctic_flame

    Member arctic_flame GBAtemp ATMEGA8 Fan

    Joined:
    Nov 4, 2006
    Messages:
    2,840
    Location:
    England land
    Country:
    United Kingdom
    There are many.

    I use Hex workshop (Not free) and bless (free)
     
  12. playallday
    OP

    Member playallday Group: GBAtemp Ghost

    Joined:
    May 23, 2008
    Messages:
    3,773
    Location:
    [@N@[)@
    Country:
    Canada
    I just downloaded Hex Editor Neo Free, Is it a any good for DS stuff?
     
  13. mazzolatore

    Newcomer mazzolatore Member

    Joined:
    May 29, 2008
    Messages:
    13
    Country:
    Italy
    IMHO the best hex editors are Translhextion and Windhex.
    Install them together. [​IMG]
     
  14. playallday
    OP

    Member playallday Group: GBAtemp Ghost

    Joined:
    May 23, 2008
    Messages:
    3,773
    Location:
    [@N@[)@
    Country:
    Canada
    I can't find "IMHO" anywhere [​IMG]
     
  15. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,747
    Country:
    United Kingdom
    I have several hex editors I use. I posted them a few times elsewhere but can not seem to find it quickly
    As for the already mentioned:
    http://www.romhacking.net/?category=13&amp...itle=&desc=

    Hex Workshop (older version), features a lot of manipulation options (byte flipping and boolean logic especially). Although it is not brilliant and lacks a few features I like from other editors it is the workhorse for any rom hacking work. http://www.bpsoft.com/
    crystaltile2 has a hex editor with support for tables and stuff like shiftJIS is inbuilt. http://gbatemp.net/index.php?showtopic=81767&hl=
    HxD http://www.mh-nexus.de/hxd/
    tinyhexer (now dead but every download site seems to have it).
    notepad++ (simple editor) http://notepad-plus.sourceforge.net/
    x-ways (search for xways forensics) http://www.x-ways.net/winhex/index-m.html
    hex editors from romhacking.net if I need to use a table file (here it is take your pick really, there are several and each works)
    xvi32 (freeware, fairly simple but a solid app). http://www.chmaas.handshake.de/delphi/free...xvi32/xvi32.htm

    Also I use spreadsheet apps as they have awesome hex manipulation abilities (ability to set up crude algorithms and run analysis) for rom hacking.

    I also test out new hex editors all the time when I come across them.
     
  16. Sp33der

    Member Sp33der GBAtemp Fan

    Joined:
    May 31, 2008
    Messages:
    435
    Country:
    Netherlands
    Look at www.romhacking.net - they got a 'Getting Started'

    and yea i use WindHex
     
  17. mazzolatore

    Newcomer mazzolatore Member

    Joined:
    May 29, 2008
    Messages:
    13
    Country:
    Italy
    http://en.wiktionary.org/wiki/IMHO [​IMG] [​IMG]
     
  18. playallday
    OP

    Member playallday Group: GBAtemp Ghost

    Joined:
    May 23, 2008
    Messages:
    3,773
    Location:
    [@N@[)@
    Country:
    Canada
    One last thing, when the rom boots up what file (ie, "banner", "header", "y7", etc) does it load 1st?

    And how do I edit iplUS_banner.nbfc and iplUS_banner.nbfp?
     
  19. FAST6191

    Reporter FAST6191 Techromancer

    pip
    Joined:
    Nov 21, 2005
    Messages:
    21,747
    Country:
    United Kingdom
    Until you get into the specifics there are two processors in the DS: the ARM7 similar to the GBA one (slightly faster in DS mode and slightly slower than the original GBA in GBA mode) and the ARM9 (generally considered the main processor).

    In DS roms the ARM9 is more or less the workhorse while the ARM7 does the low end stuff/ is just an API app of sorts (they are so similar between roms that they can be swapped, see ARM7 swapping for some cards).
    DS homebrew tends to utilise the ARM7 more though so if you read the guide to homebrew coding there will be a shift in focus.

    The y7/y9 stuff is overlays. Although a somewhat archaic concept these days for general purpose computing they are basically small apps that get loaded and placed over (hence overlay) a given memory section to do less used things (although it is not done in such a way saves are a good example: you do not have to save every second so it does not matter if you have a small delay while loading the save code).
    ARM7 are never used (I have never seen anything other than 0 byte files) while ARM9 are used occasionally (there is no rhyme or reason as to when they are used; I have seen puzzle games use them extensively while big RPGs have none).
    On the subject of processors the nocash docs/gbatek/no$gba docs (gbatek is the main name) linked above (and again here: http://nocash.emubase.de/gbatek.htm ) have loads on this sort of thing in far more detail than most people will ever need.

    The banner and header files are just that (gbatek again has the layout).

    Regarding what to latch onto when hacking cracker made a bunch of cheat guides (before DSATM was made) that are worth a read. Be warned though that some carts (more specifically their patching mechanisms) do not take kindly to having things changed/sizes altered (although there is usually somewhere that can be used).
     
  20. cracker

    Member cracker Nyah!

    Joined:
    Aug 24, 2005
    Messages:
    3,133
    Country:
    United States
    To add to what FAST said: The manuals I wrote used an old method that I used when I didn't know nearly as much about how the DS system operated. I have come a long way since then and should really write a new *proper* manual since the old methods left much to be desired. [​IMG] If you enjoy hacking it might entertain you some still. [​IMG]
     

Share This Page