Ripping from NDS kiosk/demo/download-play roms?

Brince

Member
OP
Newcomer
Joined
Sep 30, 2020
Messages
6
Trophies
0
Age
25
XP
83
Country
Australia
I've browsed around for god knows how long on anything that could help me and I haven't found much so I thought I oughta ask here directly for some help.

I have a few nds roms I'm hoping to rip graphics from directly (Gyakuten Kenji 2 (Japan) (Demo).nds, Apollo Justice - Ace Attorney (USA) (Demo) (Kiosk, Download Station).nds and Ace Attorney Miles Edgeworth (NTR-A32E).nds)

I've used tinke, crystaltile2, everyfileexplorer, kuriimu2, consoletool, dsbuff etc etc and yet they don't have any data inside them. Only the banner, header and arm9.bin and arm7.bin and I haven't been able to wrap my head around how this could work. I'm still familiarising myself with ds architecture.

I did read some things on doing the download play thing with two nintendo ds' and I did that but it just... Plays the game. They work on emulators too.

Can anyone help at all? This is what they look like upon opening in tinke btw
Screen Shot 2022-09-15 at 08.19.46.png

I've also tried several decompresses on the arm9 and that hasn't yielded me anything. (ALSO that rom.nds inside is just the same, no graphics or anything data). arm9.bin is around 2mb
 

Brince

Member
OP
Newcomer
Joined
Sep 30, 2020
Messages
6
Trophies
0
Age
25
XP
83
Country
Australia
Also tried no$gba debug (usually go to it when I'm stuck or wanna know a specific location within a rom, used it to figure out Ghost Trick's sprites) and the tty/dma logs were wacky to say the least... I don't have screenshots right now but they alternated between two addresses and I couldn't gauge anything from them.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,796
Trophies
3
XP
28,411
Country
United Kingdom
Most download play things are packed pretty tightly as you have what 4 megs of RAM to do anything with (does not sound like much but consider that the original GBA games were 8 megs each). Things could well be stuck in the ARM9 as well, not sure what compression it would use (it might be the normal LZ but it could also be the BLZ binary compression, might also be sub files contained within and extracted to VRAM when they are needed but compressed normally)
That said I would also pull apart the contained NDS file in that to see what it contains -- if the kiosk demo is in fact the kiosk program (they ran on a DS put in a box) then it might be the nds file (in other things you might see utility.bin and a few other names/extensions) they sent over contains the good stuff. Might still be all the same names but different data.

In case you were not familiar then

ARM9.bin. The workhorse of DS commercial games (some homebrew went other ways) and what contains the main code for the game. Ostensibly it is for code but any number of graphics, text, levels, music and more have been fished out of them over the years, and download play files are even better candidates.
ARM7.bin. Basically a library -- you can usually swap ARM7.bin files between ROMs of a similar vintage and nothing will change, or indeed you might sometimes fix anti piracy in a few things.
These are usually flanked by overlays (for the ARM9) which are snippets of code that get swapped in and out of memory as they are needed, though for something like this were you don't want to expect new code to come in from somewhere else then not likely to be seen.

FAT = file allocation table.
FNT = file name table.
Both useful when you have a lot of files to parse which is most ROMs, and a lot of download play options. Less useful here it seems.

banner is going to be things like the icon and the text the DS sees to tell it what the game's name is in the menu.

What might be worth looking at. If you can run the demo program in an emulator (such that you can play the game) or your flash cart has savestate options then grab one of those. Assuming they are not compressed the graphics are unlikely to be generated on the spot via crazy AI shenanigans and you can possibly rip them from the savestate itself.
Beyond that if it is compressed (and you don't fancy hovering over the print screen button and playing through the game to get all the animations, characters, backgrounds and whatever else) you get to figure out what goes, and possibly extract things manually -- find one and chances are the rest will follow a similar pattern.
 

Brince

Member
OP
Newcomer
Joined
Sep 30, 2020
Messages
6
Trophies
0
Age
25
XP
83
Country
Australia
Ah thanks! I see you often when I'm browsing forums so kinda fun to get the big paragraph myself

This is plenty I can experiment with and see if I get anywhere, gave blz on the arm9 but that didn't seem to work but I didn't consider it having sub files like that. Yeah no overlays, original game itself don't even use them. Didn't know about the save file stuff! Thank you very much though, if I'm still having problems past what you've given me I'll pop back in here with findings.
 
  • Like
Reactions: Scarlet

Brince

Member
OP
Newcomer
Joined
Sep 30, 2020
Messages
6
Trophies
0
Age
25
XP
83
Country
Australia
Screen Shot 2022-09-25 at 23.32.26.png
Browsed for longer and seems that it likely is within the arm9.bin! (cpac.3d, all.bin and YEKP/TADP bits tell me that). I've tried all the decomps I know like blz, rle and lots of different lz decomps and nothing gets me anything unfortunately. I'm a new user so I can't link the file itself annoyingly but there is 0x800 bytes of 00 at the start if that helps at all. If need be I can take more screenshots.
 

Attachments

  • arm9.bin.zip
    2.1 MB · Views: 34

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • The Catboy @ The Catboy:
    SODA
  • Sonic Angel Knight @ Sonic Angel Knight:
    Catboy back in chat. :ninja:
  • Sonic Angel Knight @ Sonic Angel Knight:
    Don't forget to pet it for good luck
  • K3Nv2 @ K3Nv2:
    That cat bites
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Hmmm yes she does
  • Psionic Roshambo @ Psionic Roshambo:
    Float like a butterfly burns when I pee lol
    +1
  • BigOnYa @ BigOnYa:
    So does that mean your date was not good? It burns now?
    +1
  • K3Nv2 @ K3Nv2:
    Got two new stds in one night
    +1
  • BigOnYa @ BigOnYa:
    Giggity
    +1
  • The Catboy @ The Catboy:
    I don't bite! Minus the times when I did bite
  • The Catboy @ The Catboy:
    Like 5 minutes ago
  • K3Nv2 @ K3Nv2:
    Billie needs her lunch
  • K3Nv2 @ K3Nv2:
    Ffs papa brought back the cheeseburger pizza it's like the only decent pie they had since the 80s
  • BigOnYa @ BigOnYa:
    I'm not a fan of papa johns, but that does sound good. We hardly order out pizza, I like making my own, but when we do its donatoes
  • K3Nv2 @ K3Nv2:
    I get them like once every two months anymore
  • K3Nv2 @ K3Nv2:
    Just because it's half a mile from where I live
  • BigOnYa @ BigOnYa:
    Request next time you order, that Shaq deliver it to you
  • K3Nv2 @ K3Nv2:
    I want him to buy me a chain also
  • K3Nv2 @ K3Nv2:
    Open it right next to the one we have
    +1
  • BakerMan @ BakerMan:
    guys should i make a new thread and just count the amount of posts until kyle, luke or leo joins the thread for fun?
  • BakerMan @ BakerMan:
    kyle's fine, just waiting for that wario joke

    luke and leo though, they yap until the thread's enjoyability is about halved
  • K3Nv2 @ K3Nv2:
    Leo is Luke's alterego when he gets hard
  • BigOnYa @ BigOnYa:
    Luke is gone, he got banned. And I'm surprised Leo hasn't yet
  • K3Nv2 @ K3Nv2:
    Subway was actually pretty decent tonight
  • BigOnYa @ BigOnYa:
    Wut you get, a seafood and psi salad sub
    BigOnYa @ BigOnYa: Wut you get, a seafood and psi salad sub