need help with arm9 file

Discussion in 'NDS - ROM Hacking and Translations' started by skylander, Sep 20, 2013.

  1. skylander
    OP

    skylander Newbie

    Newcomer
    4
    0
    Sep 19, 2013
    Hey everyone! I would like to ask about arm9 file from Metroid Prime Hunters game.
    Does anyone know the compression LZ7? Unfortunately I have a little problem with fonts. If somebody could tell me why this game does not work on the console after decompression ARM9?
    I just unzip Arm9 file using CrystalTile or Codec-LZSS-DS. The game runs fine on the emulator, however only on emulator (PC) non DS. :sleep: If I compress ARM9 file with LZ77 this game does not work on the DS and emulator. Only PC emulator run this game after decompression. I have tried hundreds times and still does not work on me DS. Here is my finished file (Arm9) without compression - http://www.mediafire.com/download/11pk3rcelageap5/arm9.bin
    PS. Sorry for my bad engl.
     
  2. rastsan

    rastsan 8 baller, Death Wizard,

    Member
    996
    228
    May 28, 2008
    Canada
    toronto
    If you are going to use crystal tile to decompress it then use it to recompress and insert it...
    bring up the file structure. then right click the arm9. then select compression. then open your uncompressed arm9 in that window. save and try.
    let me know if this doesn't work.
     
  3. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,363
    9,165
    Nov 21, 2005
    Crystaltile2 binary/BLZ recompression is odd and somewhat broken (some few bytes end up somewhere they should not), it is fine if you just need something decompressed for a bit of analysis but getting it back in there is a bit more troublesome. I tend to suggest Cue's compression tools for this one ( http://filetrip.net/nds-downloads/utilities/download-cues-gba-ds-compressors-10-f29010.html ). By all means use the non compression crystaltile2 stuff to get the compressed arm9 in and out of the ROM though.

    Off the top of my head I am not sure what is available as far as the tables are concerned -- the overlays have a little table that says yay or nay when it comes to compression. I shall have to investigate this emulator only bit as well.
     
  4. skylander
    OP

    skylander Newbie

    Newcomer
    4
    0
    Sep 19, 2013
    no result. I used total commander to save this file as a bin file. and after compression with BatchLZ77 the game dzn't work. tough nut.. I have no idea how to compress this file. :unsure:
    polski
    angielski
    niemiecki
    polski
    angielski
    niemiecki
     
  5. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,363
    9,165
    Nov 21, 2005
    Just took a look at it myself, US ROM though looking at the size of your ARM9 (by the way it is still Nintendo's code so best not to share it, I missed it last time) you either added in a couple of hundred kilobytes or were using another region's release so I am prepared to be wrong here. Cue's BLZ does not recognise it as compressed but Crystaltile2 does. However Crystaltile2's decompression function does precisely nothing as far as I can tell (exported it straight with CT2 and unpacked with ndstool -- three identical files).
    Two options as I see it

    1) False positive with Crystaltile2, I have seen this plenty of times with normal files that start with 10 hex (common enough for archive formats) and its normal compression detection abilities are known to be troublesome when it comes to this sort of thing. I can not say I have seen it for binary compression before but if it leaves things as they should be and I do not inject with CT2 then I would likely not have seen it before.

    2) Different custom compression. Metroid is known to have a non NSBMD 3d video format (it is what DSgraph views) though I do not consider it likely to be the case here.

    For emulators I imagine some probably use a shortcut for compression detection which is how it manages to sort your compression issues where the hardware might actually use a header value or something instead which gives the crashes.

    It is getting late and a cheesy film beckons so I will have to return to this in the morning.
     
    Coto and Rydian like this.
  6. skylander
    OP

    skylander Newbie

    Newcomer
    4
    0
    Sep 19, 2013
    I tried to do the same with the game Mario & Luigi - Bowser's Inside Story and there is exactly the same situation as Metroid Prime. The game runs only on the emulator but on the console no longer.
    To unzip arm9 you can use Codec LZSS DS and you can get arm9.ovl 889kb. exactly the same file as the program CrystalTile.
     
  7. rastsan

    rastsan 8 baller, Death Wizard,

    Member
    996
    228
    May 28, 2008
    Canada
    toronto
    Just to be clear you tried inserting without compressing it?
    Next option tinke. Use it to extract and insert. (in the same session).
     
  8. skylander
    OP

    skylander Newbie

    Newcomer
    4
    0
    Sep 19, 2013
    I tried all the options:

    I used BatchLZ77 1.4 and Codec LZSS DS programs to compress it and put back using DSLazy/DSBUFF. I tried CrystalTile and also does not work.
    If you extract this and insert back (in the same sesion) - nothing happens. Why do you ask? You must to decompress arm9 file and later compress it.
     
  9. rastsan

    rastsan 8 baller, Death Wizard,

    Member
    996
    228
    May 28, 2008
    Canada
    toronto
    Not necessarily. Fast6191 was just saying that crystaltile2 may have said it was compressed when it may have not been.

    also just a thought - the emulator may be more forgiving about memory allocation then the actual ds. So even if it is compressed right you may have access problems.