Editing DSiWare roms

Discussion in '3DS - Homebrew Development and Emulators' started by joesteve1914, Sep 6, 2016.

  1. joesteve1914
    OP

    joesteve1914 GBAtemp Fan

    Member
    352
    146
    Jul 31, 2012
    United States
    So recently I've decided to look into a small DSiWare app that I'd like to translate. I have the .nds file, and it runs in no$gba as well as on my 3ds when converted to a CIA. The .nds file appears identical to a regular NDS rom, file system and all.
    However, while I can unpack it fine, it doesn't seem to repack correctly (using dsbuff v1 final). I first tried to edit the NFTR file that had the font, but after attempting to repack it, no$gba complains about the WRAM. So I unpacked the original, unmodified rom, and then repacked it with dsbuff, and I got the same result.
    Does anyone have any knowledge in this area? The repacked rom is 10mb, while the original is 10.5, so I think that might have something to do with this.
     
  2. joesteve1914
    OP

    joesteve1914 GBAtemp Fan

    Member
    352
    146
    Jul 31, 2012
    United States
    So I decided to forget about unpacking the rom and just tried to edit it directly in a hex editor. I changed a few bytes in the nftr file (contains the font), and tried to run the game in no$gba AND on my 3ds. no$gba didn't give any error this time, it just hung on a white screen. My 3ds, after packing the .nds into a .cia, also froze on a white screen.
    This confused me, so I went back to the rom and changed ONE byte. Then I tried it on no$gba and my 3ds, and I got the same result.

    Now I might be wrong, but don't the TWL_FIRM patches that were built into Luma a few months back allow DSiWare to be edited? I'm thinking this might be the issue, but that still doesn't explain why no$gba doesn't work. (then again it could just be because of its poor DSi compatibility)