Misc Quick question

Kandii

New Member
OP
Newbie
Joined
Nov 20, 2021
Messages
1
Trophies
0
Age
24
Location
England, United Kingdom
XP
38
Country
United Kingdom
Hiya,

I'd like to apologize if this has already been answered.:( If it has, please could you link me the appropriate forum and close this thread down if this question has already been answered? :blush: Thank you. ^_^

Just recently, I downloaded a NDS ROM of Super Mario 64 DS I then unpacked it with DSLazy v0.6, I then found a bunch of .bin(ary) files in some of those subfolders. I'm just wondering on how I can extract those files. Thank you in advance. :shy:
 

Attachments

  • Screenshot_1.png
    Screenshot_1.png
    27.6 KB · Views: 34

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,373
Country
United Kingdom
There are some tools for Mario 64 DS and hacking it. https://hack64.net/wiki/doku.php?id=super_mario_64_ds:tutorials for a jumping off point, not sure what site is mostly known for handling it these days (most ignored it and moved on to new super mario brothers instead).

For the sake of a general overview though
data in most cases will contain all the files used by the game
overlay contains overlay data. Ostensibly it is a way to allow extra code to be dropped in and swapped out (no sense having say 300K of your 4 megs of RAM sitting there waiting to do a random minigame that might be played once every 500 boots) but some games will do data, indeed some games have been seen to put it all in these (one of the rockman/megaman games I think being the more notable of this approach).
arm9.bin in commercial DS games (homebrew can vary) is the main deal/workhorse for code. Here all the custom code that makes up the game will be running. Overlays then being similar code to this, theoretically you could have an arm7 overlay but I have never seen one in the wild.
arm7.bin in commercial games is a library really that does some behind the scenes stuff, indeed it is so unremarkable you can swap it between games of a similar vintage and the game will be exactly the same. Some hackers use it for injecting their own code (it is always there and running, and that makes for a nice attack vector for cheats and expanding things a bit).
the y files are helper files for the various things here and detail a few locations for things, possibly the nature of compression used, if you unpacked with ndstool you might also end up with a banner file for the icon and everything else. You can ignore them for 99.99% of ROM hacking concerns.

When you say extract then I have to ask.
Most people, myself included, will probably mean much like you exploded a ROM into the files you see there you want to repeat the process. For some binaries on some systems (see PE aka portable executable on Windows/Xbox family where you might meet it as EXE files XEX, XBE and DLL, and ELF in many other things) this can be a meaningful term. For the DS then it is not really a thing. I can note that any online game I have looked at (this is not one of them, indeed Mario Kart would probably be the thing that brought online to the DS but different story there) has ASCII strings corresponding to the error codes (including all the weird and wonderful that I might bet nobody in the world ever saw or will see) so can make for a nice place to stash some code of your own.
However for binaries there is another note as pertains to extraction. DS binaries and overlays often use their own type of compression that differs from the classic BIOS compression/type 10/type 11/type 40 compression/LZ compression that DS files are often seen to use. It is known as BLZ and works slightly differently, such that you need a dedicated decompression tool. Cue's compression tools include this http://www.romhacking.net/utilities/826/ as well as reference grade decompression tools for all the other BIOS types and other types mentioned thus far.
I will also note that the compression detection of Crystaltile2 (open ROM in it, click the little DS icon on the right of the toolbar icons, in the new window will be files, its compression detection will replace icons with a little clear cylinder and LZ in there) is a bit bugged and might see compression where there is none as it pertains to binaries. It is also sometimes a bit annoying to get things compressed and back into the ROM such that it works.
I don't think stock Mario 64 DS is compressed here but I might be wrong, and there are possibilities for hackers to do it, dumps to have it added and possibly some regional oddities (don't know if the Korean version got it for instance).
If it is compressed then you will also struggle to feed the thing as found in ROM (as found in RAM is a different matter) to a disassembler as all the ones I have seen and generally see people use are not compression aware.
 
  • Love
Reactions: Kandii

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://m.youtube.com/watch?v=_JNGI1dI-e8&pp=ygUbU3BhY2ViYWxscyBsdWdnYWdlIHBhc3N3b3Jk