Reply to thread
GBAtemp.net - The Independent Video Game Community
Search
Search titles only
By:
Search titles only
By:
Reply to thread
GBAtemp.net - The Independent Video Game Community
Home
Log in
Terms & Rules
Donate
Forums
New posts
Search forums
Groups
Public Events
New
New posts
New resources
New blog entries
New profile posts
New blog entry comments
New threadmarks
Latest activity
Cheats
Cheat Codes Add and Request group
The Legend of Zelda: Tears of the Kingdom cheat codes
Pokémon Legends: Arceus cheat codes
Xenoblade Chronicles 3 cheat codes
Fire Emblem Engage cheat codes
Request a cheat...
Tutorials
Nintendo Switch tutorials
Nintendo 3DS tutorials
Nintendo Wii U tutorials
Reviews
Overview
Official reviews
Downloads
Latest reviews
Search resources
Blogs
New entries
New comments
Blog list
Search blogs
Chat
Top chatters
Search
Search titles only
By:
Search titles only
By:
Log in
Register
New posts
Search forums
Log in
Register
Home
Forums
PC, Console & Handheld Discussions
Nintendo DS
Importing BW2 arm9.bin back into ROM
Menu
Install the app
Install
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="FAST6191" data-source="post: 8942997" data-attributes="member: 32303"><p>General overview of things, including for others playing along at home.</p><p></p><p>In commercial DS games and most DS homebrew the ARM9 is the main processor of the DS (certainly faster with some more abilities) and accordingly runs the bulk of the code the game cares about. Indeed the ARM7 binary is generally so... unmodified by the commercial devs that you can swap it between ROMs of similar vintage with zero ill effort (and possibly some perks as far as dodging anti piracy if your flash cart or emulator is not up to snuff).</p><p>They can be compressed. Unlike most files on the DS the binaries and overlays (small sections of code that get swapped in and out of memory) use so called binary compression aka BLZ compression which works a bit differently to the common BIOS compressions/type 10/type 11 that we normally see on files. For specifics get the source code to cue's ds compression tools and have a look, it is also the program I would suggest for compressing them (naturally you will want the BLZ version). <a href="https://gbatemp.net/threads/nintendo-ds-gba-compressors.313278/" target="_blank">https://gbatemp.net/threads/nintendo-ds-gba-compressors.313278/</a> </p><p>There is a flag in the header for the ROM to tell if the binary is compressed, some people do it as an additional compression in the ROM (indeed there are some ROM dumpers that took to doing it), but most hackers with them not being concerned about space savings could choose to disable compression and not have to worry about packing it back up after every edit.</p><p></p><p>Crystaltile2. A wonderful program for editing ROMs but not without its flaws.</p><p>Sometimes it falsely detects binaries as compressed (there will be a little icon saying LZ or something in the left hand side of the DS ROM structure popup window) and can cause fun here. I am also not sure it supports BLZ or can be relied upon to employ it.</p><p></p><p>Importing files into DS games then. There are two main approaches.</p><p>1) Matching file size.</p><p>2) Rebuild or redirect.</p><p></p><p>For 1) then DS games use a file system, which is to say a long list of locations of where things are found. This is in stark contrast to everything older than it that was not on floppy disc or optical media (and quite a bit of GBA homebrew too) but different discussion there. Redoing all these list of locations when you shuffle everything forward or backward can be done (see "2)" in a little bit for more on that) but is annoying to code so many simpler tools (things like ndsts being among the more notable here) will want things to be the same size going in as the file that is presently there. You can usually pad a file out to be the new size, though if you made it bigger then that is harder.</p><p></p><p>The redirect part of 2) is done by more advanced tools and while crystaltile2 is theoretically one of them nobody really relies on its file import options (maybe the ROM building ones if you have to). I don't know what we are suggesting for this sort of tool these days as an automatic option, probably tinke though. The ideal being if the file is smaller it will correct the size aspects, and if it is bigger it will find some empty space, create some empty space and shuffle everything else forward or backward, or add some more to the end of the ROM and stick it there.</p><p>For my purposes I usually just rebuild the entire ROM each time (still have a couple of batch files I made back when ROM ripping was still being a thing that I use), and by the time I come to making a final patch will manually insert and correct things if necessary (xdelta is a wonderful patch maker and can cover a lot of sins). If you need the binary to be compressed then make sure you do that to, also make sure you are working on a decompressed binary if you are making edits as compression might get messed up if you edit a compressed file (short version is LZ scans in a window from where it is at, your change might disturb something it references somewhere else. There are ways you can check but I will skip those today in favour of come back when you can tell me what they are.).</p><p></p><p>3) would probably be relinking but no DS tool offers this that I know of (the PSP tool umdgen has a nice simple option for this one) so any hacker that wants it usually does it themselves, and for the most part don't do it on DS ROMs as much as files within them (a lot of simpler music mods are this). I mainly mention it just to be thorough.</p><p></p><p>Short version in answer to OP's problem. Keep crystaltile2 around for other things but for this either find a tool that can handle file size adjustment (probably something like tinke), or just unpack the entire ROM and rebuild it; as crude as it is then unpacking everything with something like ndstool, overwriting the arm9 with a suitably modded one, and rebuilding the whole ROM with ndstool can help you dodge a lot of troubles.</p></blockquote><p></p>
[QUOTE="FAST6191, post: 8942997, member: 32303"] General overview of things, including for others playing along at home. In commercial DS games and most DS homebrew the ARM9 is the main processor of the DS (certainly faster with some more abilities) and accordingly runs the bulk of the code the game cares about. Indeed the ARM7 binary is generally so... unmodified by the commercial devs that you can swap it between ROMs of similar vintage with zero ill effort (and possibly some perks as far as dodging anti piracy if your flash cart or emulator is not up to snuff). They can be compressed. Unlike most files on the DS the binaries and overlays (small sections of code that get swapped in and out of memory) use so called binary compression aka BLZ compression which works a bit differently to the common BIOS compressions/type 10/type 11 that we normally see on files. For specifics get the source code to cue's ds compression tools and have a look, it is also the program I would suggest for compressing them (naturally you will want the BLZ version). [URL]https://gbatemp.net/threads/nintendo-ds-gba-compressors.313278/[/URL] There is a flag in the header for the ROM to tell if the binary is compressed, some people do it as an additional compression in the ROM (indeed there are some ROM dumpers that took to doing it), but most hackers with them not being concerned about space savings could choose to disable compression and not have to worry about packing it back up after every edit. Crystaltile2. A wonderful program for editing ROMs but not without its flaws. Sometimes it falsely detects binaries as compressed (there will be a little icon saying LZ or something in the left hand side of the DS ROM structure popup window) and can cause fun here. I am also not sure it supports BLZ or can be relied upon to employ it. Importing files into DS games then. There are two main approaches. 1) Matching file size. 2) Rebuild or redirect. For 1) then DS games use a file system, which is to say a long list of locations of where things are found. This is in stark contrast to everything older than it that was not on floppy disc or optical media (and quite a bit of GBA homebrew too) but different discussion there. Redoing all these list of locations when you shuffle everything forward or backward can be done (see "2)" in a little bit for more on that) but is annoying to code so many simpler tools (things like ndsts being among the more notable here) will want things to be the same size going in as the file that is presently there. You can usually pad a file out to be the new size, though if you made it bigger then that is harder. The redirect part of 2) is done by more advanced tools and while crystaltile2 is theoretically one of them nobody really relies on its file import options (maybe the ROM building ones if you have to). I don't know what we are suggesting for this sort of tool these days as an automatic option, probably tinke though. The ideal being if the file is smaller it will correct the size aspects, and if it is bigger it will find some empty space, create some empty space and shuffle everything else forward or backward, or add some more to the end of the ROM and stick it there. For my purposes I usually just rebuild the entire ROM each time (still have a couple of batch files I made back when ROM ripping was still being a thing that I use), and by the time I come to making a final patch will manually insert and correct things if necessary (xdelta is a wonderful patch maker and can cover a lot of sins). If you need the binary to be compressed then make sure you do that to, also make sure you are working on a decompressed binary if you are making edits as compression might get messed up if you edit a compressed file (short version is LZ scans in a window from where it is at, your change might disturb something it references somewhere else. There are ways you can check but I will skip those today in favour of come back when you can tell me what they are.). 3) would probably be relinking but no DS tool offers this that I know of (the PSP tool umdgen has a nice simple option for this one) so any hacker that wants it usually does it themselves, and for the most part don't do it on DS ROMs as much as files within them (a lot of simpler music mods are this). I mainly mention it just to be thorough. Short version in answer to OP's problem. Keep crystaltile2 around for other things but for this either find a tool that can handle file size adjustment (probably something like tinke), or just unpack the entire ROM and rebuild it; as crude as it is then unpacking everything with something like ndstool, overwriting the arm9 with a suitably modded one, and rebuilding the whole ROM with ndstool can help you dodge a lot of troubles. [/QUOTE]
Insert quotes…
Verification
Post reply
Home
Forums
PC, Console & Handheld Discussions
Nintendo DS
Importing BW2 arm9.bin back into ROM
General chit-chat
Help
Users
Settings
Notifications
Miscellaneous
Inverse message direction
Display editor on top
Enable maximized mode
Display images as links
Hide bot messages
Hide statuses
Hide chatter list
Show messages from ignored users
Temporarily disable chat
Receive mention alerts
Sound notifications
Normal messages
Private messages
Whisper messages
Mention messages
Bot messages
Desktop notifications
Normal messages
Private messages
Whisper messages
Mention messages
Bot messages
Options
Options
View top chatters
Psionic Roshambo
Loading…
@
Sicklyboy
:
How you doin xdq?
Today at 12:30 AM
@
Xdqwerty
:
@Sicklyboy
, not that bad ig
+1
Today at 12:34 AM
@
Sicklyboy
:
Good to hear
Today at 12:38 AM
@
Sicklyboy
:
Lazy day for me. Was gonna go grocery shopping but it's raining so I don't feel like going out. Listened to music and messed with server stuff instead
Today at 12:38 AM
@
Xdqwerty
:
@Sicklyboy
, and i have school tommorrow cuz its sunday
Today at 12:39 AM
@
Sicklyboy
:
I feel that, I got work tomorrow
Today at 12:39 AM
@
Xdqwerty
:
@Sicklyboy
,
atleast you get paid
Today at 12:42 AM
@
Sicklyboy
:
I feel like school, back when I was actually in school, was more entertaining though, because of how much I get to interact with people, hang out with friends, and other stuff like that. All I get to talk to at work is my boring coworkers lol
Today at 12:46 AM
@
Sicklyboy
:
Getting paid is definitely a plus, though
+2
Today at 12:47 AM
@
Psionic Roshambo
:
20 dollars is 20 dollars lol
Today at 12:47 AM
@
Psionic Roshambo
:
https://m.youtube.com/watch?v=6aie4...1dCAyMCBkb2xsYXJzIGlzIDIwIGRvbGxhcnMgbWVtZQ==
+1
Today at 12:49 AM
@
Xdqwerty
:
yawn
Today at 1:16 AM
@
K3Nv2
:
https://youtu.be/sGvT5FKSiyk?si=TYqsdjjbF-4N8Xc8
Today at 1:31 AM
@
BakerMan
:
laye to the paryy?
Today at 2:12 AM
@
BakerMan
:
wow that was my best attempt at typing "late to the party?" with my eyes closed
Today at 2:13 AM
@
BakerMan
:
know what, here's another attempt
Today at 2:13 AM
@
BakerMan
:
laye to the party?
Today at 2:14 AM
@
BakerMan
:
damn
Today at 2:14 AM
@
Psionic Roshambo
:
Laid at the party is fun unless you're in prison lol
Today at 2:46 AM
@
K3Nv2
:
It's all fun and games until the soap gets dropped
+2
Today at 3:05 AM
@
Psionic Roshambo
:
https://m.youtube.com/watch?v=3xQO7neBmy0&pp=ygUXU2hvd2VyIHNjZW5lIEhhbGYgYmFrZWQ=
+1
Today at 3:09 AM
@
SylverReZ
:
@K3Nv2
,
https://www.youtube.com/watch?v=Qd264w_qMWA
+2
57 minutes ago
@
BigOnYa
:
https://youtu.be/heNQ-22Mqnk?si=B4bTa9MKZkRNCkxU
+1
51 minutes ago
@
SylverReZ
:
https://www.youtube.com/watch?v=8ptLqnNMcQk
42 minutes ago
@
Psionic Roshambo
:
https://youtu.be/rMHTo4sAYKA?si=UTMogWR09JOPIPF_
25 minutes ago
Submit
@
Psionic Roshambo
:
https://youtu.be/rMHTo4sAYKA?si=UTMogWR09JOPIPF_
25 minutes ago
Chat
1