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,798
Trophies
3
XP
28,375
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: 32

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    They actually enlisted Muslims, seriously, because the Muslims hates Jews, even tho it was not the supreme race. He claimed common hate, is friendship.
  • K3Nv2 @ K3Nv2:
    He could've just made them walking shields kind of a dumb ass move
  • K3Nv2 @ K3Nv2:
    https://a.co/d/3km8bqC lol cd level quality I fucking hope so
  • BigOnYa @ BigOnYa:
    So a man, wifey laying in bed, and man wants sum and rubs on her a little, she turns and says "Not tonight, I have a gyno apt in the morning." So man rolls over, but after few minutes starts rubbing her again. She says didn't you here me, no messing around, I have a gyno apt tomorrow. " Man says, "Well you don't have a dentist apt tomorrow also do you?"
  • BigOnYa @ BigOnYa:
    Damn I have 8 modded rgh3 x360 slims I've done, I need to get rid of, I figured my family members or friends would want but times have changed. Think I'm gonna stop buying them and modding. Time to Switch it up (pun intended)
  • K3Nv2 @ K3Nv2:
    Yay power outages
  • K3Nv2 @ K3Nv2:
    @BigOnYa, I'm your friend
    +1
  • BigOnYa @ BigOnYa:
    There literally no storms in your area, does it go out alot? You need to just send me your slim n ill rgh3 it free.
  • BigOnYa @ BigOnYa:
    Or grow sum balls and do it yourself, not hard. More of a pain to jailbreak a ps4 than it is the 360, other than little soldering.
  • K3Nv2 @ K3Nv2:
    Problem is my dick gets in the way
  • BigOnYa @ BigOnYa:
    Yea true, would be a pain having that on your forehead
  • K3Nv2 @ K3Nv2:
    The chicks love it
    +1
  • K3Nv2 @ K3Nv2:
    Every damn time there's a loud noise dudes car alarm goes off freaking annoying
  • BigOnYa @ BigOnYa:
    Stun gun the metal of the car (door, bumper, etc), you won't hear it again, promise.
  • realtimesave @ realtimesave:
    damn accidentally ripped my car cover just now
  • realtimesave @ realtimesave:
    happens
  • K3Nv2 @ K3Nv2:
    Or plant drugs get him evicted
  • realtimesave @ realtimesave:
    the one on my other car is all ripped up
  • K3Nv2 @ K3Nv2:
    Not your $400 car cover :ohnoes:
  • BigOnYa @ BigOnYa:
    There you go, thinking with your "dickhead"
  • realtimesave @ realtimesave:
    some day the wind will blow so hard it'll rip in half
  • K3Nv2 @ K3Nv2:
    I think in big inches
    +1
  • BigOnYa @ BigOnYa:
    @realtimesave Can you sew it back together? Or is it not worth trying.
    BigOnYa @ BigOnYa: @realtimesave Can you sew it back together? Or is it not worth trying.