Seen as running commercial DS ROMs is what we all now seem to be doing it might be time for a basic guide on how to rip ROMs so as to shrink them. You can also use the techniques to enhance your ROMs fairly easily (later on I will detail some simple translations and you can also replace sound files with different regions ones to get rid bad dubs and such).
Now on to the main section, due to the fact the DS is using a file system type method of holding/using data certain things like other languages, sound and intro movies can be removed and/or replaced from a DS ROM with relative ease thus shrinking them. As many of the files are given obvious names the filesystem means it is also fairly easy to get at ingame text (some even use plain ASCII) and level data on some ROMs, New Super Mario Brothers is a good example of this. Shrinking ROMs for the GBA and most other systems however is an incredibly hard task so you very rarely ever see it happen (you can remove certain things from NES ROMs but as they are tiny anyway it is generally pointless).
While this is likely of interest to all flash cart owners this feature of the DS ROM setup is especially useful for those of us with one of the EZ1/2 series carts or another flash memory cart whom may be stuck with 512,256 or even 128mbit sized carts and with DS ROMs currently being up to 1024mbit in size that leaves little space for other games or even in the position of being unable to run them at all. EZ3 users this thread may also be of use to you as a lot of the 1gbit games will not fit on your cart after the saver space on the NAND is taken and you may not get away with simply trimming the 00/FF's off the ROM image, games such as resident evil and Feel the magic/The rub rabbits can be trimmed to fit. EZ4 users you will have to rename your tweaked ROM from ".nds" to something else to get it to work.
All this being said some DS ROMs however come in a few large files e.g. Phoenix Wright games and Age of Empires which makes things hard if not impossible to shrink easily, some ROMs also come with big files contained within that are over 32mbytes in size which means they have to be trimmed/replaced to get them working on smaller carts: the problem comes however when things like the map data is in one large file e.g. Mario and Luigi partners in time. This is however fairly rare and there may well be ways around it but it will be more complex.
As far as I am concerned there are two types of rip: lossless and lossy although my definition will differ from video/(zip/rar) compression definitions: lossless ones being like the Castlevania rip I will get onto and ones where other languages are deleted (simply put no (in)gameplay errors). lossy ones being like the Jump Superstars Saga (a few graphical glitches in menus albeit minor ones) and ones where in game sound files are replaced.
Basics and list of tools
As mentioned above you can delete and replace things like intro movies, cutscenes, soundfiles, wireless components as well as other languages and still end up with a ROM that works. Note however when ripping sound files (and some other files) from a rom you can often not delete or replace them with blank files and have the rom still work, usually you can use sound files from other games though or at least chop off the last part of the original soundfile with a hex editor. Provided you rename it (typically to sound_data.sdat, check the rom being ripped first though) Goldeneye rogue agent (all versions) has a 57kb one called Sound_spawn.sdat (which you could do worse than to keep as a seperate file along with the other basics).
When replacing sound files keep it sensible though as this means the rom you produce will have the sounds of Goldeneye's weapons (or occasionally none at all) and if you replace a music based games sound files with Goldeneye's then it will be kind of pointless, not mention hearing Goldeneye's weapons when jumping/moving/changing menu sections gets damn annoying if you have the sound up.
A few basic rules of thumb/things to note:
1. ROMs frequently come with nice names for their files so you can make sensible/educated decisions as to what to delete e.g. if you have a rom with files called systemmaincomp1.bin and rare_secret_ending_99.dmd it is best to delete/replace the .dmd one.
2.Files within a rom usually have similar extensions between ROMs for instance sound files are typically the .sdat ones (Tony Hawk's American skateland uses a .strm one however) so if you do this a lot the process may not become easier but you will certainly know where to look.
3.Following on from above there are typical/obvious names for certain directories like wb or mb for wireless multiboot, chars or characters for the ingame characters (knowledge of the game here can help with finding hidden characters to delete too), levels or tracks for levels and tracks funnily enough (once again knowledge of the game can help delete hidden tracks/levels or enable you to make two ROMs with one half of the game on one the other half on the other).
4.You do have to play this ripped rom so keep it sensible and do not replace sounds for music based games.
5.Not all files need to be complete: you can frequently chop the end off the soundfile if you find you are a few bytes away from fitting the rom on your cart or getting the rip down to size.
6. Look at other peoples rips: the techniques they use may give you clues to your own (this is especially useful when ripping a EU release where there is a J or U release with a rip already out there) or you may be able to improve on theirs, to this end SHARE your rip techniques too.
One final thing, the DS soundfiles have been reverse engineered and should be relatively easy to edit: http://sosuke.com/ezflash/viewtopic.php?t=1221 I will put up a whole bunch of infomation as and when I have it.
Intro to the techniques over: what you will need for this:
NDStool: (The main tool you will likely be using for all this)
I use an older version which works fine for me, newer versions do things differently and so will give different CRC32 values. To this end I put up the old version on my site: http://www.4shared.com/dir/514850/ef8a1bee/sharing.html
What this program actually does is allow you to seperate all the individual components of the rom and allow you to modify/delete them and then can be used to recompile all the components back again into a rom that hopefully works.
NDSTool is a command prompt based program but a GUI called DSLazy is available, I find batch files easier however so this is just here for completion (note DSLazy also requires .net framework to run) http://l33t.spod.org/ratx/DS/dslazy/
NDStool has a usage guide/command switches list if you just run it in a DOS prompt but as you will only probably be using it to deconstruct and recompile NDS roms (it does have quite a few other interesting features) you can use the following batch file suggestions.
As was eluded to above NDStool is command prompt based, there is a GUI available (linked above) but NDSTS (see below) and the following batch files work best for me, on my PC I have made up two batch files which can be used to disassemble a rom and then reassemble it after tweaking it, I have these stored in a subdirectory of my NDS rom ripping folder so I can simply copy them out with NDSTool disassemble the rom, tweak and delete things and then put the rom together.
My advice is to put these into a seperate batch file for each step, if you did not know how to make batch files a batch file is essentially a list of DOS prompt commands, to make a batch file open up notepad (or some other editor that can save a file as a .txt one) paste the following section in and save the file with a .bat extension, simple huh.
For a nice list of DOS commands and a basic explanation either to refresh or learn for the first time here is a good place to look.
(note: as MS in their infinite wisdom changed DOS commands with different versions of Windows the following batch files may not work for systems not running windows XP).
Disassembly
I have included a rename command so you can simply put the batch file, the uncompressed rom and ndstool in an empty folder and run the batch file to disassemble the rom, if you have the rebuilding batch file as well you can copy that across as it will not affect the process.
Now you just have to run this batch file (it is essentially a program so just double click it) and a DOS prompt will flash up wait 30 odd seconds (depending on rom size) and the DOS prompt will close and on your drive in the same directory as the batch file and ndstool some folders will appear (data, overlay...) and a bunch of files will appear, now you can edit the rom as you please although I suggest you stick to the data directory as the others contain fairly vital data which is rarely that big anyway.
When you run this from the same directory as NDSTool and a previously disassembled (and now probably modified) rom it will make up a file called xmod.nds. You can leave the original x.nds file alone and if you are using it the disassembly batch file as well for this batch file will not cause ndstool to use anything else other than the files required to be included in the rom it makes up.
You can also include a few more commands like "del *.bin" and "rd data /s /q" and "rd overlay /s /q" after the ndstool section to tidy up after rebuilding but you will likely be deleting files and hoping the file gets small enough so you do not really want to get rid the files that quickly, many find it nice however if they can be rid of "useless files" if you make a batch file to go with your rip guide.
Now you can have three files (ndstool and the two batch files) which you can use to build and disassemble roms, I also keep a copy of goldeneyes small sound file to hand in the same directory as these three files are stored in for convenience.
This program is windows based and has a user interface this time, it can be used to extract individual components from DS ROMs without having to disassemble them saving time if you are doing things like the Megaman re-Japanese voices tweak or you simply want small sound files from a rom such as Yoshi touch and Go or Goldeneye.
NDSTS can also replace/import files although they have to be the same size as before which does not really do much for us when ripping ROMs, hopefully a later version will make life easier and enable different size file replacement.
Quite often you will be using a hex editor to trim down files, to this end Cracker made a program to cut files down in size. Grab it here: http://min.midco.net/cracker/filecutter.zip Usage filecutter file.in length file.out <-s start>
List of rips *My end CRC32 values may be different to yours due to the fact that I use(d) an older version of ndstool when making these (which you can grab from my site), in the future I may just include initial CRC's.
As large batch code makes for a post that is not so easy to read I have made use of the hiding/spoiler features: you will require Javascript enabled for it to work (I use Firefox and in the options, content, advanced settings for Javascript I only have raise/lower windows enabled and it works fine for me).
I am also considering making up a zip containing all the batch files and methods detailed here, updating would happen although it would be a pain to do. I could include windows 98 compatible versions (as it stands most of the rd commands can be replaced to use the deltree application). Peoples thoughts?
The collection of rips available is getting to be quite nice but if you have/make any more they would be greatly appreciated and if used credited to you: obviously include your method, name of rom and region, initial rom CRC is helpful if ever a bad dump is found to have happened. The resulting ROM’s CRC is good to have, data about gameplay changes, if any, and I am sure many would appreciate an IPS or some other type of patch if it is small (my IPS patch for the Jump Superstars Saga was over 12 megabytes in size which is a bit large for distribution especially when the batch file is in the kilobytes range).
Just to save any trouble later make sure you have a backup of the rom before you start messing around with it.
EZ3 compatibility file Slade found that unpacking and repacking a DS rom with NDStool could make some roms work that did not before with the EZFlash carts, here is a batch file suggestion to make it quick and easy:
To use make up a batch file with the code section and place the resulting batch file, the rom and NDSTool into an empty directory and run the batch file. Two roms will be generated xmod.nds (the rom you burn) and xoriginal.nds (your original rom), it will also clean up after itself so you will only be left with ndstool the two rom files and the batch file.
Castlevania: Dawn of Sorrow 512MBit to 256Mbit (all versions)(also 128mbit rips) Thanks to bryehn over at GBATemp for making me stop being lazy and trying this out.
Japanese Version: Called Akumajou Dracula - Aoitsuki no Juujika in Japan but it is the same game none the less, I do not know how many people will read this wanting a Japanese rip but what they hey it is simple enough: Initial CRC32: 0DF769EE 256 rip End CRC32: A7EBE2CC 128 rip End CRC32: 245A3646
Disassemble with NDSTool Replace the movie named cvop.dmd in the "data\mv" directory with a 0k file of the same name (I right clicked and made a new paintfile (.bmp) and changed the name and extension to that of the movie file). Then delete the movie file if you have not already Recompile the rom. You do not have to worry about skipping the movie and the game will go straight to the start screen.
I completed castlevania a while back but here is some untested batch code that should do the trick.
128MBit Rip, 14.3MBytes You will need a small soundfile to replace the soundfile in this game, obviously you will lose the sounds so I only suggest using this for a 128mbit cart or if you always play without sound.
I used the Sound_Spawn.sdat I grabbed with NDSTS from Goldeneye (all versions have the same file) and renamed to Sound_data.sdat Disassemble with NDSTool Replace the movie named cvop.dmd in the data\mv directory with a 0k file of the same name (I right clicked and made a new paintfile (.bmp) and changed the name and extension to that of the movie file). Then delete the movie file if you have not already Replace soundfile with small one Recompile the rom. You do not have to worry about skipping the movie as the game will go straight to the start screen.
European Version Initial CRC32: 8E908CE7 256Mbit Rip End CRC32: 5C719E89 128Mbit Rip End CRC32: F3FB54CF
Both methods same as Japanese one above although the 128Mbit rip will give a file 15.8Mbytes in size presumably because of the extra languages.
USA Version Initial CRC32: 135737F6 256Mbit Rip End CRC32: E9992536 128Mbit Rip End CRC32: 029F2EA3
Both methods same as Japanese one above and will give same sized files as the Japanese rip
A little nicety, Venom released a trainer for the US version of Castlevania which even works with these rips (only the intro movie dropped version has been tested by me so far) see this thread for more information: http://www.sosuke.com/ezflash/viewtopic.php?t=924
256mbit NDSPatcher rip Euro version
I only done this for the Euro version but the technique should work regardless.
I left this as a nod to the NDSPatcher, personally I think the method above is better (smaller file, simpler use of the rip).
This is actually a very simple rip (I got it from the NDSpatcher download (most of you will still know but NDSpatcher was the first really viable method of getting DS roms to work on a normal GBA cart)) and is actually lossless with regards to gameplay: all you have to worry about is skipping the intro movie or it will crash (the above methods do not have this issue.
Unfortunately GBATA's fix overdump feature does not allow for a trim to 256mbit so life gets a bit harder. You will need to get a hex editor and open the rom in it. What you are going to have to is cut the rom in half as all the last half of the rom contains is the intro movie which while nice the 32megabytes of space is either the difference between you being able to play the game or having another game, or two, on your cart. The rom is 512mbit in size so you are going to see the number 4000000 (67108864 decimal) as the last number in the file. To this end go to the point 2000000 (33554432 decimal) in the file and select the rest of the file and delete it. With hex workshop the is no select all after this point command so you after you use the goto command (ctrl+G) and type 2000000 or 33554432 decimal as you point of choice you will then have to use select block and type 3FFFFFF (one less than 4000000) or 67108863 decimal and delete the whole lot. I have tested this on an EZ2 256 and it works fine (you will have to not use the DS loader) When using flashme you may have to force flashme booting by holding down the a,b,x and y buttons to get it to boot from your EZ cart.
Unfortunately my IPS patcher was playing up and did not want to create a working patch for this so I have none to give you. (Thinking about it, it might be possible to patch the last 256mbit to 00's or FF's and then use GBATA to shrink them.).
Jump Superstars Saga. Initial rom CRC: 49EFB6B3 End rom CRC: 7B50B1F6 Some minor menu issues (nothing major at all and in-game play works fine) This is a great game that due to licensing issues will likely never see a release outside of Japan. It could also serve to answer the eternal questions like: in a fight between Dragon Ball Z's Goku and Naruto who would win? My poor attempt at humour involving shows I do not like aside this is a potentially slightly more complex rip than before as it involves deleting a few files and using a DOS prompt. To this end Rygar of the SCDev.org forums made a rip technique and assassda over at GBATemp made some batch code, following is a slightly modified version of it.
Make up a batch file with the code section (copy and paste the "code" section into a text file editor and save with the extension ".bat") Run with ndstool called ndstool.exe and you Jump superstars saga rom unzipped in the same directory (name should not matter as long as it has a .nds extension)
After a minute or so you will end up with a file called jssrip.nds which is just under 32mbytes, burn this to your cart.
I tested this on an EZ2 256 with no loader and it worked fine. If I used flashme to boot I had to force flashme by holding down the a, b, x and y buttons.
Oh and there is an English and an Italian translation in the works http://www.translationrl.it/ once it gets to a reasonable level I will test it out with the rip and if necessary alter the batch file.
Code:
rename *.nds x.nds ndstool -x x.nds -9 arm9.bin -7 arm7.bin -y9 y9.bin -y7 y7.bin -d data -y overlay -t banner.bin -h header.bin del .\data\Data\opening\opening.vx del .\data\Data\demo\demo_bb00.dig del .\data\Data\demo\demo_bb01.dig del .\data\Data\demo\demo_bb02.dig del .\data\Data\demo\demo_bb03.dig del .\data\Data\demo\demo_bb04.dig del .\data\Data\demo\demo_bb05.dig del .\data\Data\demo\demo_bc00.dig del .\data\Data\demo\demo_bc02.dig del .\data\Data\demo\demo_bc03.dig del .\data\Data\demo\demo_bc05.dig del .\data\Data\demo\demo_bl03.dig del .\data\Data\demo\demo_bl04.dig del .\data\Data\demo\demo_bl05.dig del .\data\Data\demo\demo_bl06.dig del .\data\Data\demo\demo_bl_vs.dig del .\data\Data\demo\demo_bs02.dig del .\data\Data\demo\demo_bs03.dig del .\data\Data\demo\demo_bs10.dig del .\data\Data\demo\demo_bu00.dig del .\data\Data\demo\demo_bu01.dig del .\data\Data\demo\demo_bu02.dig del .\data\Data\demo\demo_bu03.dig del .\data\Data\demo\demo_bu04.dig del .\data\Data\demo\demo_bu05.dig del .\data\Data\demo\demo_bu_vs.dig del .\data\Data\demo\demo_db03.dig del .\data\Data\demo\demo_db04.dig del .\data\Data\demo\demo_db05.dig del .\data\Data\demo\demo_db11.dig del .\data\Data\demo\demo_db14.dig del .\data\Data\demo\demo_db15.dig del .\data\Data\demo\demo_dg00.dig del .\data\Data\demo\demo_dg01.dig del .\data\Data\demo\demo_dg02.dig del .\data\Data\demo\demo_dg03.dig del .\data\Data\demo\demo_dg04.dig del .\data\Data\demo\demo_dg05.dig del .\data\Data\demo\demo_dg06.dig del .\data\Data\demo\demo_dg_vs.dig del .\data\Data\demo\demo_dn00.dig del .\data\Data\demo\demo_dn01.dig del .\data\Data\demo\demo_dn02.dig del .\data\Data\demo\demo_dn03.dig del .\data\Data\demo\demo_dn04.dig del .\data\Data\demo\demo_dn05.dig del .\data\Data\demo\demo_dn06.dig del .\data\Data\demo\demo_dn_vs.dig del .\data\Data\demo\demo_ds00.dig del .\data\Data\demo\demo_ds01.dig del .\data\Data\demo\demo_ds02.dig del .\data\Data\demo\demo_ds03.dig del .\data\Data\demo\demo_ds04.dig del .\data\Data\demo\demo_ds05.dig del .\data\Data\demo\demo_es00.dig del .\data\Data\demo\demo_es01.dig del .\data\Data\demo\demo_es02.dig del .\data\Data\demo\demo_es03.dig del .\data\Data\demo\demo_es04.dig del .\data\Data\demo\demo_es05.dig del .\data\Data\demo\demo_es_vs.dig del .\data\Data\demo\demo_focus.dig del .\data\Data\demo\demo_gt00.dig del .\data\Data\demo\demo_gt01.dig del .\data\Data\demo\demo_gt03.dig del .\data\Data\demo\demo_gt05.dig del .\data\Data\demo\demo_gt_vs.dig del .\data\Data\demo\demo_hg00.dig del .\data\Data\demo\demo_hg01.dig del .\data\Data\demo\demo_hg02.dig del .\data\Data\demo\demo_hg03.dig del .\data\Data\demo\demo_hg04.dig del .\data\Data\demo\demo_hg05.dig del .\data\Data\demo\demo_hg_vs.dig del .\data\Data\demo\demo_hh00.dig del .\data\Data\demo\demo_hh01.dig del .\data\Data\demo\demo_hh02.dig del .\data\Data\demo\demo_hh03.dig del .\data\Data\demo\demo_hh04.dig del .\data\Data\demo\demo_hh05.dig del .\data\Data\demo\demo_hh_vs.dig del .\data\Data\demo\demo_ig00.dig del .\data\Data\demo\demo_ig01.dig del .\data\Data\demo\demo_ig04.dig del .\data\Data\demo\demo_ig05.dig del .\data\Data\demo\demo_ig_vs.dig del .\data\Data\demo\demo_jj00.dig del .\data\Data\demo\demo_jj01.dig del .\data\Data\demo\demo_jj02.dig del .\data\Data\demo\demo_jj03.dig del .\data\Data\demo\demo_jj04.dig del .\data\Data\demo\demo_jj05.dig del .\data\Data\demo\demo_jj_vs.dig del .\data\Data\demo\demo_kk00.dig del .\data\Data\demo\demo_kk04.dig del .\data\Data\demo\demo_kk05.dig del .\data\Data\demo\demo_kk_vs.dig del .\data\Data\demo\demo_mf00.dig del .\data\Data\demo\demo_mf01.dig del .\data\Data\demo\demo_mf02.dig del .\data\Data\demo\demo_mf03.dig del .\data\Data\demo\demo_mf04.dig del .\data\Data\demo\demo_mf05.dig del .\data\Data\demo\demo_na00.dig del .\data\Data\demo\demo_na01.dig del .\data\Data\demo\demo_na03.dig del .\data\Data\demo\demo_op00.dig del .\data\Data\demo\demo_op01.dig del .\data\Data\demo\demo_op02.dig del .\data\Data\demo\demo_op03.dig del .\data\Data\demo\demo_op04.dig del .\data\Data\demo\demo_pj01.dig del .\data\Data\demo\demo_pj02.dig del .\data\Data\demo\demo_pj03.dig del .\data\Data\demo\demo_rk01.dig del .\data\Data\demo\demo_rk02.dig del .\data\Data\demo\demo_rk03.dig del .\data\Data\demo\demo_rk04.dig del .\data\Data\demo\demo_rk05.dig del .\data\Data\demo\demo_sd04.dig del .\data\Data\demo\demo_sd05.dig del .\data\Data\demo\demo_sk00.dig del .\data\Data\demo\demo_sk01.dig del .\data\Data\demo\demo_sk02.dig del .\data\Data\demo\demo_sk03.dig del .\data\Data\demo\demo_sk05.dig del .\data\Data\demo\demo_sr00.dig del .\data\Data\demo\demo_sr04.dig del .\data\Data\demo\demo_to05.dig del .\data\Data\demo\demo_tr01.dig del .\data\Data\demo\demo_tr03.dig del .\data\Data\demo\demo_tr05.dig del .\data\Data\demo\demo_tr_vs.dig del .\data\Data\demo\demo_yh00.dig del .\data\Data\demo\demo_yh03.dig del .\data\Data\demo\demo_yh04.dig del .\data\Data\demo\demo_yh05.dig del .\data\Data\demo\demo_yo05.dig del .\data\Data\demo\ed_a00.dig del .\data\Data\demo\ed_a10.dig del .\data\Data\demo\ed_b00.dig del .\data\Data\demo\ed_b10.dig del .\data\Data\demo\island_u02.dig del .\data\Data\ending\ed_copyright.dig del .\data\Data\ending\ed_copyright01.dig del .\data\Data\ending\ed_copyright02.dig del .\data\Data\ending\ed_d10.dig ndstool -c jssrip.nds -9 arm9.bin -7 arm7.bin -y9 y9.bin -y7 y7.bin -d data -y overlay -t banner.bin -h header.bin
I made an IPS file which was over 12 megabytes in size which I am not going to distribute as it is too big especially with the batch file not even hitting 100kbytes. I might look at an XDelta patch
Megaman Battle Network 5 rips and enhancements
The European version is 512mbit in size but deleting the languages will get it below 256.
European (English) 256 rip batch file from Slade:
This removes all other languages other than English, should you want a rip that leaves another language then simply replace the language you want in the batch file with eng e.g. if you wanted a French language rip then you would replace the "rd data\data\rom_fra /s /q" line with "rd data\data\rom_usa /s /q".
Code:
cls @Echo MegaMan Battle Network 5: Double Team DS 256Mbit rip by Slade. @Echo Renaming MegaMan Battle Network 5: Double Team DS to x.nds @Echo off ren *.nds x.nds @Echo Extracting rom files. Please wait... @Echo off ndstool -x x.nds -9 arm9.bin -7 arm7.bin -y9 y9.bin -y7 y7.bin -d data -y overlay -t banner.bin -h header.bin @Echo Fixing files... @Echo off rd data\data\rom_fra /s /q rd data\data\rom_ger /s /q rd data\data\rom_ita /s /q rd data\data\rom_spa /s /q @Echo Rebuilding rom. This may take a few minutes. @Echo off ndstool -c xmod.nds -9 arm9.bin -7 arm7.bin -y9 y9.bin -y7 y7.bin -d data -y overlay -t banner.bin -h header.bin @Echo Renaming xmod.nds to MegaMan(MOD).nds @Echo off ren xmod.nds MegaMan(MOD).nds rd data /s /q rd overlay /s /q del *.bin @Echo All done... You can now burn this file to your Flash Cart.
Enhancements An enhancement (at least a far as I am concerned) voice change to Japanese (requires the Japanese version of the rom called Rockman EXE 5 DS - Twin Leaders).
US version (EU ripped and not ripped versions should work but I have not tried it). Initial CRC32: 16F03F13 End CRC32: F38B19EB
Having played the game one of the most annoying features/problems was the appalling voiceovers that occur at repeated intervals (jacking in, battle start etc) and inspired by a post on gbatemp I thought I would have a go and see if I could get it so I can listen to the Japanese voiceovers as opposed to the dub.
What I did was disassemble the US rom using NDStool and there is a file called sound_data.sdat in data\data\rom\ds directory replace this with the Japanese ROMs version (in the same directory as the US version: either use NDSTS to extract it or NDStool to disassemble the rom) then rebuild the US/EU rom with the replaced sound_data.sdat file.
You can use the batch code suggestions above if you wish to save time with NDStool.
After all this you will then have rom with Japanese voiceovers and English text which for me is perfect (both the rom and the lack of poor voiceovers).
An untested method but you could rip the Japanese soundfile pad it out (it is smaller) in a hex editor to match the size of the US one and import it via NDSTS.
Sonic Rush (U) 512 to 256mbit (two sepearate files for the two characters).
I made it up and tested it, works fine on a EZ2 256 and EZClients patching mechanisms, to use the Blaze rom complete act1 (beat the boss) with the Sonic rom grab the savefile and burn the Blaze rom with the Sonic act1 save file (EZClient named the roms the same so it should be simple enough). The sound is missing from some bonus levels and menus but it is a good rip otherwise, Link to original post: http://boards.pocketheaven.com/viewtopic.php?t=3027
Animal Crossing 256mbit to 256mbit. (should work for all versions: E,U of J) No not a typo, the patching method used by EZClient adds some code to the start of this rom making it bigger and causing it not to be able to be burnt to a 256mbit cart (everyone else should be fine though).
I made it work by deleting some code using a hex editor from the end of the soundfile and rebuilding the rom, my end result was a bit drastic giving a soundfile of 7.5 or so megabytes from 10.2, game works fine as far as I have tested it though.
(if you follow this method delete less soundfile, others have and it worked fine), I used a hex editor but if you do not want to GBATA (linked with NDStool above) has a fix overdump feature which could be used to trim the soundfile (rename the sound file with a .gba extension and fix overdump to 64mbit (8megabytes), untested by me and a hex editor would be better but it should work, also this would be the perfect time to use crackers cutting tool (see tools section up top).
Seiken Densetsu DS (Children of Mana) 512mbit to 256mbit Initial CRC: D6FBDCC0 End CRC: (sorry not yet).
Raeca posted this rip and I reverse engineered it (A fun few hours involving going over about 4000 crc32 values by hand)
Make the following into a batch file (open notepad or some editor capable of writing a .txt file paste the following in and save it with the extension .bat) and run it. A rom called COMRIP.nds will appear (batch file may not work on non-XP systems):
On my EZ2 I had to cut some of the soundfile to accommodate for EZClients patching mechanisms much like animal crossing, opening movies and in game cutscenes are not around anymore.
Snowboard kids US 512mbit to 256mbit. Intital CRC32: 7AC43D00 End CRC32: 2EB9BD31 This one is easy (after getting rid of the 00's/FF's at the end of the rom is less than 2mbytes too big) simply disassemble the rom delete the wireless multiboot files (I left the directory intact), this will obviously make wireless multiboot no longer a possibility, then reassemble the rom. Works fine on EZ2 with new years patchDLL.dll file.
If you have a burning desire for wireless multiboot you should be able to make the game work by deleting the hidden characters, other regions should be simple enough except perhaps Europe which due to the extra languages.
If I get bored I will whip up a batch file but quite frankly it is only deleting a few files so it realistically does not need one.
Nintendogs Euro (All versions): 512mbit to 256mbit by deleting unneeded languages: Initial CRC32's Nintendogs Labrador and friends: 7F9656C3 Nintendogs Dachshund and friends: 8E7FAA00 Nintendogs Chihuahua and friends: 78678FEF I have not tried the Dalmatian version yet.
There 20 possible resultant versions (4 games: 5 languages each) so unless I get really bored (upon which I will likely do some more rips) do not expect any resultant CRC32 values soon, there will be even more if you consider leaving multiple languages remaining.
This may not work with the kiosk demo version that was released as it is currently untested but in all truth why would you bother.
You can get this game under 256mbit and not lose any game play aspects easily. I only tested out a French, English and Spanish version although German has been tested by others and there is no reason to suspect it will not work in Italian. What you need to do is delete all the files pertaining to the other languages on the rom and reassemble the rom having done this. If you are having particular trouble making up a batch file for your desired language post and I or someone else will help (if you are stuck with windows 9x the rd sections could be replaced to use the deltree application)
The batch file following will need to be changed to omit the files for your particular language according to the following few lines i.e. if you want a Spanish language rip make sure there are no Spa sections (compare the French and English rips below if you are having particular trouble): Spa - Spanish Ger- German Fra - French (note the a at the end of the abbreviation) Ita - Italian Eng - English
Anyhow on with the batch code that should even clean up after itself, I am almost certain this will not work on non-XP systems (you could use deltree in place of the rd commands and it should work). Place the Nintendogs rom of choice in a blank directory along with the batch file and ndstool, run the batch file and in about a minute maybe two you will have 2 ROMs appear one called NintendogsEU256rip.nds (guess which one you burn)
It is necessary to set your DS to the language of the rip or you will be white screened.
Simple enough to do Disassemble the rom (the batch file suggestions above are there for a reason) You will then need to replace the sound_data.sdat with a small one (I used Goldeneye's Sound_Spawn,sdat renamed to sound_data.sdat) Delete the meteos_c.p256 file Rebuild
You will obviously lose the sound and a movie but the game is perfectly playable otherwise.
Naruto - Saikyou Ninja Daikesshuu 3 256mbit rip
Thanks to Darkforce over on GBATemp for this
Initial CRC32: 4D99B109 End CRC32: 2EB9BD31 Disassemble the rom (the batch file suggestions above are there for a reason) You will then need to replace the sound_data.sdat with a small one (I used Goldeneye's Sound_Spawn,sdat renamed to sound_data.sdat) Delete the following files from the "data\data\tra\" directory ending1.tra ending2.tra load.tra n64sho.tra
Rebuild the file.
You will lose sounds and the endings screens but should be good otherwise. If you wish you could also play around with having seperate ROMs for all the different levels kind of like the Sonic Rush rip above.
Polarium size decreasing file.
Polarium makes for a great "few megs left need something to put on my cart" type rom and this cuts down the size nicely, Thanks to Chuckstudios for the guide and batchfile.
What you will need to do is delete all the language files you are not going to use, either do it by hand or use the following batch file, I may modify the batch file to make it smaller by including some "del FR_*.* /s" type commands sometime in the near future. Once again should you want a different language rip replace all the FR_ mentions with most likely an EN_ (I did not have the rom to hand when writing this) should you want a French version, FR,GE,IT,SP correspond to German,French, Italian and Spanish.
Polarium.nds's size from 8.00 MB down to 5.64 MB.
Code:
@echo off echo Polarium to Polarium(U) rip V1 by chuckstudios echo Preparing ROM... ren *.nds x.nds echo Disassembling ROM... ndstool -x x.nds -9 arm9.bin -7 arm7.bin -y9 y9.bin -y7 y7.bin -d data -y overlay -t banner.bin -h header.bin echo Deleting alternate language files... del data\pic\clear\FR_congU_bg01_LZ.bin del data\pic\clear\GE_congU_bg01_LZ.bin del data\pic\clear\IT_congU_bg01_LZ.bin del data\pic\clear\SP_congU_bg01_LZ.bin del data\pic\edit\FR_edt_ng_LZ.bin del data\pic\edit\FR_edt_ok_LZ.bin del data\pic\edit\FR_edt_pass_LZ.bin del data\pic\edit\FR_edt_pwng_LZ.bin del data\pic\edit\FR_edt_pwok_LZ.bin del data\pic\edit\FR_edt_txt00_LZ.bin del data\pic\edit\FR_edt_txt01_LZ.bin del data\pic\edit\FR_edt_txt02_LZ.bin del data\pic\edit\FR_edt_txt03_LZ.bin del data\pic\edit\FR_edt_txt04_LZ.bin del data\pic\edit\FR_edt_txt05_LZ.bin del data\pic\edit\FR_edtD_bg0_LZ.bin del data\pic\edit\FR_edtD_bg1_LZ.bin del data\pic\edit\FR_edtU_bg_LZ.bin del data\pic\edit\FR_menu_tit_LZ.bin del data\pic\edit\GE_edt_ng_LZ.bin del data\pic\edit\GE_edt_ok_LZ.bin del data\pic\edit\GE_edt_pass_LZ.bin del data\pic\edit\GE_edt_pwng_LZ.bin del data\pic\edit\GE_edt_pwok_LZ.bin del data\pic\edit\GE_edt_txt00_LZ.bin del data\pic\edit\GE_edt_txt01_LZ.bin del data\pic\edit\GE_edt_txt02_LZ.bin del data\pic\edit\GE_edt_txt03_LZ.bin del data\pic\edit\GE_edt_txt04_LZ.bin del data\pic\edit\GE_edt_txt05_LZ.bin del data\pic\edit\GE_edtD_bg0_LZ.bin del data\pic\edit\GE_edtD_bg1_LZ.bin del data\pic\edit\GE_edtU_bg_LZ.bin del data\pic\edit\GE_menu_tit_LZ.bin del data\pic\edit\IT_edt_ng_LZ.bin del data\pic\edit\IT_edt_ok_LZ.bin del data\pic\edit\IT_edt_pass_LZ.bin del data\pic\edit\IT_edt_pwng_LZ.bin del data\pic\edit\IT_edt_pwok_LZ.bin del data\pic\edit\IT_edt_txt00_LZ.bin del data\pic\edit\IT_edt_txt01_LZ.bin del data\pic\edit\IT_edt_txt02_LZ.bin del data\pic\edit\IT_edt_txt03_LZ.bin del data\pic\edit\IT_edt_txt04_LZ.bin del data\pic\edit\IT_edt_txt05_LZ.bin del data\pic\edit\IT_edtD_bg0_LZ.bin del data\pic\edit\IT_edtD_bg1_LZ.bin del data\pic\edit\IT_edtU_bg_LZ.bin del data\pic\edit\IT_menu_tit_LZ.bin del data\pic\edit\SP_edt_ng_LZ.bin del data\pic\edit\SP_edt_ok_LZ.bin del data\pic\edit\SP_edt_pass_LZ.bin del data\pic\edit\SP_edt_pwng_LZ.bin del data\pic\edit\SP_edt_pwok_LZ.bin del data\pic\edit\SP_edt_txt00_LZ.bin del data\pic\edit\SP_edt_txt01_LZ.bin del data\pic\edit\SP_edt_txt02_LZ.bin del data\pic\edit\SP_edt_txt03_LZ.bin del data\pic\edit\SP_edt_txt04_LZ.bin del data\pic\edit\SP_edt_txt05_LZ.bin del data\pic\edit\SP_edtD_bg0_LZ.bin del data\pic\edit\SP_edtD_bg1_LZ.bin del data\pic\edit\SP_edtU_bg_LZ.bin del data\pic\edit\SP_menu_tit_LZ.bin del data\pic\game_bg\FR_chaU_bg1_LZ.bin del data\pic\game_bg\FR_chkD_bg1_LZ.bin del data\pic\game_bg\FR_chkU_bg1_LZ.bin del data\pic\game_bg\GE_chaU_bg1_LZ.bin del data\pic\game_bg\GE_chkD_bg1_LZ.bin del data\pic\game_bg\GE_chkU_bg1_LZ.bin del data\pic\game_bg\IT_chaU_bg1_LZ.bin del data\pic\game_bg\IT_chkD_bg1_LZ.bin del data\pic\game_bg\IT_chkU_bg1_LZ.bin del data\pic\game_bg\SP_chaU_bg1_LZ.bin del data\pic\game_bg\SP_chkD_bg1_LZ.bin del data\pic\game_bg\SP_chkU_bg1_LZ.bin del data\pic\howto_bg\FR_tutD_bg1_LZ.bin del data\pic\howto_bg\FR_tutU_bg1_LZ.bin del data\pic\howto_bg\GE_tutD_bg1_LZ.bin del data\pic\howto_bg\GE_tutU_bg1_LZ.bin del data\pic\howto_bg\IT_tutD_bg1_LZ.bin del data\pic\howto_bg\IT_tutU_bg1_LZ.bin del data\pic\howto_bg\SP_tutD_bg1_LZ.bin del data\pic\howto_bg\SP_tutU_bg1_LZ.bin del data\pic\rank\FR_daniD_bg1_LZ.bin del data\pic\rank\FR_daniD_bg3_LZ.bin del data\pic\rank\FR_daniU_bg1_LZ.bin del data\pic\rank\GE_daniD_bg1_LZ.bin del data\pic\rank\GE_daniD_bg3_LZ.bin del data\pic\rank\GE_daniU_bg1_LZ.bin del data\pic\rank\IT_daniD_bg1_LZ.bin del data\pic\rank\IT_daniD_bg3_LZ.bin del data\pic\rank\IT_daniU_bg1_LZ.bin del data\pic\rank\SP_daniD_bg1_LZ.bin del data\pic\rank\SP_daniD_bg3_LZ.bin del data\pic\rank\SP_daniU_bg1_LZ.bin del data\pic\game_obj\FR_chaU_bns_LZ.bin del data\pic\game_obj\FR_chaU_ita_LZ.bin del data\pic\game_obj\FR_chk_clr_LZ.bin del data\pic\game_obj\FR_chk_ovr_LZ.bin del data\pic\game_obj\FR_gameover_LZ.bin del data\pic\game_obj\FR_menu_tit_LZ.bin del data\pic\game_obj\GE_chaU_bns_LZ.bin del data\pic\game_obj\GE_chaU_ita_LZ.bin del data\pic\game_obj\GE_chk_clr_LZ.bin del data\pic\game_obj\GE_chk_ovr_LZ.bin del data\pic\game_obj\GE_gameover_LZ.bin del data\pic\game_obj\GE_menu_tit_LZ.bin del data\pic\game_obj\IT_chaU_bns_LZ.bin del data\pic\game_obj\IT_chaU_ita_LZ.bin del data\pic\game_obj\IT_chk_clr_LZ.bin del data\pic\game_obj\IT_chk_ovr_LZ.bin del data\pic\game_obj\IT_gameover_LZ.bin del data\pic\game_obj\IT_menu_tit_LZ.bin del data\pic\game_obj\SP_chaU_bns_LZ.bin del data\pic\game_obj\SP_chaU_ita_LZ.bin del data\pic\game_obj\SP_chk_clr_LZ.bin del data\pic\game_obj\SP_chk_ovr_LZ.bin del data\pic\game_obj\SP_gameover_LZ.bin del data\pic\game_obj\SP_menu_tit_LZ.bin del data\pic\howto_obj\FR_again_LZ.bin del data\pic\howto_obj\FR_good_LZ.bin del data\pic\howto_obj\FR_textU01_LZ.bin del data\pic\howto_obj\FR_textU02_LZ.bin del data\pic\howto_obj\FR_textU03_LZ.bin del data\pic\howto_obj\FR_textU04_LZ.bin del data\pic\howto_obj\FR_textU05_LZ.bin del data\pic\howto_obj\FR_textU06_LZ.bin del data\pic\howto_obj\FR_textU07_LZ.bin del data\pic\howto_obj\FR_textU08_LZ.bin del data\pic\howto_obj\FR_textU09_LZ.bin del data\pic\howto_obj\FR_textU10_LZ.bin del data\pic\howto_obj\FR_textU11_LZ.bin del data\pic\howto_obj\FR_textU12_LZ.bin del data\pic\howto_obj\FR_textU13_LZ.bin del data\pic\howto_obj\FR_textU14_LZ.bin del data\pic\howto_obj\FR_textU15_LZ.bin del data\pic\howto_obj\FR_textU16_LZ.bin del data\pic\howto_obj\FR_tut_menu_LZ.bin del data\pic\howto_obj\GE_again_LZ.bin del data\pic\howto_obj\GE_good_LZ.bin del data\pic\howto_obj\GE_textU01_LZ.bin del data\pic\howto_obj\GE_textU02_LZ.bin del data\pic\howto_obj\GE_textU03_LZ.bin del data\pic\howto_obj\GE_textU04_LZ.bin del data\pic\howto_obj\GE_textU05_LZ.bin del data\pic\howto_obj\GE_textU06_LZ.bin del data\pic\howto_obj\GE_textU07_LZ.bin del data\pic\howto_obj\GE_textU08_LZ.bin del data\pic\howto_obj\GE_textU09_LZ.bin del data\pic\howto_obj\GE_textU10_LZ.bin del data\pic\howto_obj\GE_textU11_LZ.bin del data\pic\howto_obj\GE_textU12_LZ.bin del data\pic\howto_obj\GE_textU13_LZ.bin del data\pic\howto_obj\GE_textU14_LZ.bin del data\pic\howto_obj\GE_textU15_LZ.bin del data\pic\howto_obj\GE_textU16_LZ.bin del data\pic\howto_obj\GE_tut_menu_LZ.bin del data\pic\howto_obj\IT_again_LZ.bin del data\pic\howto_obj\IT_good_LZ.bin del data\pic\howto_obj\IT_textU01_LZ.bin del data\pic\howto_obj\IT_textU02_LZ.bin del data\pic\howto_obj\IT_textU03_LZ.bin del data\pic\howto_obj\IT_textU04_LZ.bin del data\pic\howto_obj\IT_textU05_LZ.bin del data\pic\howto_obj\IT_textU06_LZ.bin del data\pic\howto_obj\IT_textU07_LZ.bin del data\pic\howto_obj\IT_textU08_LZ.bin del data\pic\howto_obj\IT_textU09_LZ.bin del data\pic\howto_obj\IT_textU10_LZ.bin del data\pic\howto_obj\IT_textU11_LZ.bin del data\pic\howto_obj\IT_textU12_LZ.bin del data\pic\howto_obj\IT_textU13_LZ.bin del data\pic\howto_obj\IT_textU14_LZ.bin del data\pic\howto_obj\IT_textU15_LZ.bin del data\pic\howto_obj\IT_textU16_LZ.bin del data\pic\howto_obj\IT_tut_menu_LZ.bin del data\pic\howto_obj\SP_again_LZ.bin del data\pic\howto_obj\SP_good_LZ.bin del data\pic\howto_obj\SP_textU01_LZ.bin del data\pic\howto_obj\SP_textU02_LZ.bin del data\pic\howto_obj\SP_textU03_LZ.bin del data\pic\howto_obj\SP_textU04_LZ.bin del data\pic\howto_obj\SP_textU05_LZ.bin del data\pic\howto_obj\SP_textU06_LZ.bin del data\pic\howto_obj\SP_textU07_LZ.bin del data\pic\howto_obj\SP_textU08_LZ.bin del data\pic\howto_obj\SP_textU09_LZ.bin del data\pic\howto_obj\SP_textU10_LZ.bin del data\pic\howto_obj\SP_textU11_LZ.bin del data\pic\howto_obj\SP_textU12_LZ.bin del data\pic\howto_obj\SP_textU13_LZ.bin del data\pic\howto_obj\SP_textU14_LZ.bin del data\pic\howto_obj\SP_textU15_LZ.bin del data\pic\howto_obj\SP_textU16_LZ.bin del data\pic\howto_obj\SP_tut_menu_LZ.bin del data\pic\send\SP_comD_bg0_LZ.bin del data\pic\send\SP_comD_bg1_LZ.bin del data\pic\send\SP_comU_bg1_LZ.bin del data\pic\send\FR_comD_bg0_LZ.bin del data\pic\send\FR_comD_bg1_LZ.bin del data\pic\send\FR_comU_bg1_LZ.bin del data\pic\send\IT_comD_bg0_LZ.bin del data\pic\send\IT_comD_bg1_LZ.bin del data\pic\send\IT_comU_bg1_LZ.bin del data\pic\send\GE_comD_bg0_LZ.bin del data\pic\send\GE_comD_bg1_LZ.bin del data\pic\send\GE_comU_bg1_LZ.bin del data\pic\setup\FR_setN_bg0_LZ.bin del data\pic\setup\FR_setN_bg1_LZ.bin del data\pic\setup\FR_setU_bg1_LZ.bin del data\pic\setup\GE_setN_bg0_LZ.bin del data\pic\setup\GE_setN_bg1_LZ.bin del data\pic\setup\GE_setU_bg1_LZ.bin del data\pic\setup\IT_setN_bg0_LZ.bin del data\pic\setup\IT_setN_bg1_LZ.bin del data\pic\setup\IT_setU_bg1_LZ.bin del data\pic\setup\SP_setN_bg0_LZ.bin del data\pic\setup\SP_setN_bg1_LZ.bin del data\pic\setup\SP_setU_bg1_LZ.bin del data\pic\title\FR_selN_bg0_LZ.bin del data\pic\title\FR_selN_hint_LZ.bin del data\pic\title\FR_selN_menu_LZ.bin del data\pic\title\FR_selN_menu_off_LZ.bin del data\pic\title\FR_selN_open_LZ.bin del data\pic\title\FR_selN_top_LZ.bin del data\pic\title\FR_selN_top_off_LZ.bin del data\pic\title\FR_title_try_LZ.bin del data\pic\title\FR_try_txt_LZ.bin del data\pic\title\GE_selN_bg0_LZ.bin del data\pic\title\GE_selN_hint_LZ.bin del data\pic\title\GE_selN_menu_LZ.bin del data\pic\title\GE_selN_menu_off_LZ.bin del data\pic\title\GE_selN_open_LZ.bin del data\pic\title\GE_selN_top_LZ.bin del data\pic\title\GE_selN_top_off_LZ.bin del data\pic\title\GE_title_try_LZ.bin del data\pic\title\GE_try_txt_LZ.bin del data\pic\title\IT_selN_bg0_LZ.bin del data\pic\title\IT_selN_hint_LZ.bin del data\pic\title\IT_selN_menu_LZ.bin del data\pic\title\IT_selN_menu_off_LZ.bin del data\pic\title\IT_selN_open_LZ.bin del data\pic\title\IT_selN_top_LZ.bin del data\pic\title\IT_selN_top_off_LZ.bin del data\pic\title\IT_title_try_LZ.bin del data\pic\title\IT_try_txt_LZ.bin del data\pic\title\SP_selN_bg0_LZ.bin del data\pic\title\SP_selN_hint_LZ.bin del data\pic\title\SP_selN_menu_LZ.bin del data\pic\title\SP_selN_menu_off_LZ.bin del data\pic\title\SP_selN_open_LZ.bin del data\pic\title\SP_selN_top_LZ.bin del data\pic\title\SP_selN_top_off_LZ.bin del data\pic\title\SP_title_try_LZ.bin del data\pic\title\SP_try_txt_LZ.bin del data\pic\vs\FR_vsU_bg1_LZ.bin del data\pic\vs\FR_vs_lose_LZ.bin del data\pic\vs\FR_vs_obi_LZ.bin del data\pic\vs\FR_vs_rud_LZ.bin del data\pic\vs\FR_vs_sat_LZ.bin del data\pic\vs\FR_vs_win_LZ.bin del data\pic\vs\GE_vsU_bg1_LZ.bin del data\pic\vs\GE_vs_lose_LZ.bin del data\pic\vs\GE_vs_obi_LZ.bin del data\pic\vs\GE_vs_rud_LZ.bin del data\pic\vs\GE_vs_sat_LZ.bin del data\pic\vs\GE_vs_win_LZ.bin del data\pic\vs\SP_vsU_bg1_LZ.bin del data\pic\vs\SP_vs_lose_LZ.bin del data\pic\vs\SP_vs_obi_LZ.bin del data\pic\vs\SP_vs_rud_LZ.bin del data\pic\vs\SP_vs_sat_LZ.bin del data\pic\vs\SP_vs_win_LZ.bin del data\pic\vs\IT_vsU_bg1_LZ.bin del data\pic\vs\IT_vs_lose_LZ.bin del data\pic\vs\IT_vs_obi_LZ.bin del data\pic\vs\IT_vs_rud_LZ.bin del data\pic\vs\IT_vs_sat_LZ.bin del data\pic\vs\IT_vs_win_LZ.bin echo Recompiling ROM... ndstool -c Polarium(Mod-U).nds -9 arm9.bin -7 arm7.bin -y9 y9.bin -y7 y7.bin -d data -y overlay -t banner.bin -h header.bin ren x.nds Polarium(Old).nds echo Finished. Polarium(Mod-U).nds is the file you should now use. Polarium(Old).nds is the original file.
Osu! Tatakae! Ouendan 256 rip[/b[ This one is a simple soundfile replacement. I am going to have a look at replacing the larger sections of the soundfile to get the rip more playable (it is a humour laden game and the lack of sound does not like it much).
[b]New Super Mario Brothers Hacks, translations and a 128mbit version This link is not a rip but a patch to get it working on falshcarts: viewtopic.php?t=1266 Credit is due to WRG for this I merely made a patch. This patch will unfortunately render you unable to use the following rips with the exception of the translation (do it before patching).
After a build/rebuild with ndstool the rom is just over 19megs and a rip (either sound or levels split) is entirely possible, but given all the other things that have I have been doing with this rom means I have got around to this yet. In the data\script directory there exists three .bmg files that contain the menu data. It is all in plain ASCII seperated by 00's (Extended ASCII does not work and only gives ?'s). My initial translations have been made using NDSTS. French menu translation (it is currently very crude French: up there with zero wing for bad localisation) You will need XDelta although I have provided a more complex method using IPS patches: http://evanjones.ca/software/xdelta-win32.html
Using xdelta, a patch and the following batch file you can also get a translation The patch: In the NSMB hacks directory The batch code:
Have the patch, the batch file,xdelta and NSMB (psyfer release) in a blank directory. Run the batch file and in a few seconds you will have a file called NSMBfre.nds pop up. This is what you burn to your cart (after patching with your carts patcher if necessary).
All the files are named fairly nicely (maps, enemies etc) and are referred to in each other so you could theoretically create a hard mode hack (different enemy placement, more enemies, different enemies etc). I am going to focusing my efforts on this for the time being.
*Rip guides I would like to see/am working on:
Seen as I have an EZ4 now many more rips and tweaks will come to light over the next few weeks.
Metroid Prime Hunters 512 to 256 Had a look at the file but it looks like a split for multi and single player or levels split (single player by all accounts was not good anyway) as the language sound and video combined when removed do not make it small enough.
Tony Hawk's American SK8land 512mbit to 256mbit.
A release group (I forget which) actually made a 256mbit rip, it was left only with one song but they never released the method. Slade suggests deleting the contents of the ROM between 1AF1800 and 3CEF3D4 thus eliminating most of the soundtrack but getting the ROM small enough, I will test it soon.
Owing to the reverse engineering of the DS soundfiles: http://sosuke.com/ezflash/viewtopic.php?t=1221 I may even have some methods to make custom soundtracks, curently I have no compatible codec (it is an unknown ADPCM variant) so replacing the soundfiles gives a just about recognisable sound that surpasses any death metal you will have ever heard.
Biohazard/Resident Evil 1gig to 512mbit (2 seperate characters) Raeca had this rip but did not release the method, no worries it should be fairly simple, a 256mbit may also be possible if video and sound were dropped but this would spoil the fun. Slade made a rip contained later in this thread although only the main/intro video was deleted, only the Euro version (Japanese untested) works with EZFlash carts right now. Rip link: http://sosuke.com/ezflash/viewtopic.php?t=457&start=14
I have also been looking at this and a 256rip may be possible.
Mario Kart 256 to 128mbit Made as a nod to the few with a 128mbit cart, how you all are playing with DS commercial roms I do not know but anyway stick with it.
You can rip tracks and other things out and compile separate ROMs, however I want to try and do it with all the new tracks and all the classic tracks on two seperate ROMs, I may also consider an online tracks version. Everyone else stick with the full rom.
Marvel Nemesis 512 to 256mbit. I have a working copy but I feel I deleted and replaced too much for it to be worthwhile (I deleted characters which may also cause the game to crash as play goes on and Goldeneye’s sounds which I used to replace the original ones are no good).
Super Monkey Ball 512 to 256mbit: Had a look at the rom and there are nicely named files for things like the golf minigames.
Japanese Games 512 to 256mbit As usual the rest of the world are left out (at least for a while) on some of the good Japanese language games, but some of these are 512mbit in size.... can you see where this is heading (Tenchu is first up on my list right now I.E it is almost done).
Warioware touched enhancements Some great games were included in the Japanese version such as a spot the difference game in 9volts section, some games were also altered when coming out of Japan. Ashley's song is also great in Japanese. A bit of renaming and copying should be able to achieve something good.
Joined: Sat Feb 26, 2005 8:11 pm Posts: 3044 Location: Or-Stray-Lee-Ya
Done.
Nice tutorial. I've only skimmed it, but it's quite nice. I'm still wondering why on earth you'd want to rip games that really aren't that big, but hey, each to their own.
The space it saves differs greatly from game to game depending on how many music/sound files there are, etc.
_________________ Want to cheat in *any* DS game on *any* cart? - Get DSATM Want to cheat in *any* GBA game on *any* emulator? - GBAATM Still can't finish that NES,SNES,GB,SMS,GG,Genesis game from when you were a kid? Get CCCGP For more tools visit cracker's crap!
I have not taken a look at metroid yet but I hear that there is not only english contained within the rom so you might want to take a look at that (for all those who want different languages there is an IPS patch to unlock them as they a locked by default, sigh region coding on the DS not to mention US games get sold in Canada of which more than a few people have French as a first language).
I am on holiday in week so consider added to my list of rips to do.
awesome. thanks for your consideration. i extracted everything with ndstool and it looked like it could be done. i wanted to see if it could be done without losing anything (sound / movies) by maybe splitting the rom ala sonic rush ( maybe taking out the latter half of the maps, maybe taking out multiplayer maps). the game is just too damn good, so ive read, to rip out anything that would take anything away from gameplay... i wish there were a site that you could just grab batch files. would be awesome!
i have, for some absurd reason, made a version of polarium that drops it down to 5.7 megabytes instead of 8. all i did was take out the other languages. not really for use on a smaller cart, but u might be able to fit sum homebrew after it
I will take I look at kirby although I have a feeling I already did and could not do it (some roms have their data contained in a few massive files which make ripping difficult if not impossible: Mario and Luigi superstar saga and Pheonix Wright are good examples of this (I have had Mario running on a 256 but it crashed after the menu)).
@Guest thanks for the tip I seem to spend any time ripping doing 512 to 256 rips and polarium is a good "last few megs of the cart" rom if I can not find a decent GBA one, I will make up a few batch files and grab some CRC32's in a short while.
a 256 kirby rip exists. i have seen it on release lists. the same person also ripped meteos (256). i forget the release name. i have looked to find it again and cannot. so im pretty sure the kirby one can be done. i wish more people knew about this forum. its VERY useful! thanks a bunch fast!
Joined: Sat Feb 26, 2005 8:11 pm Posts: 3044 Location: Or-Stray-Lee-Ya
Here's an almost working Resident Evil 1Gb cart rip... I think Raeca has split files to make a 512meg rip. BTW, this won't work on my cart, it locks up at game start. Does the game actually run on 2Gb carts ?
[hide=Click to See Batch code]
Code:
cls @Echo Resident Evil 1gig rip by Slade. @Echo Renaming Resident Evil - Deadly Silence to x.nds @Echo off ren *.nds x.nds @Echo Decompressing. Please wait... @Echo off ndstool -x x.nds -9 arm9.bin -7 arm7.bin -d data -y overlay -t banner.bin -h header.bin @Echo Fixing files... @Echo off del .\data\Data\movie\pj.p256 del .\data\Data\movie\pj.adx copy .\data\Data\movie\pj_02.p256 /B .\data\Data\movie\pj.p256 /B copy .\data\Data\movie\pj_02.adx /B .\data\Data\movie\pj.adx /B @Echo Recompressing. This may take a few minutes. @Echo off ndstool -c xmod.nds -9 arm9.bin -7 arm7.bin -d data -y overlay -t banner.bin -h header.bin @Echo Renaming xmod.nds to 0314 - Resident Evil - Deadly Silence (U)(MOD).nds @Echo off ren xmod.nds "0314 - Resident Evil - Deadly Silence (U)(MOD).nds" rd data /s /q rd overlay /s /q del *.bin @Echo All done... You can now burn this file to your Flash Cart.
Users browsing this forum: No registered users and 1 guest
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum