Homebrew Commercial ROM and homebrew

  • Thread starter Thread starter crazyfffan
  • Start date Start date
  • Views Views 3,024
  • Replies Replies 13

crazyfffan

Member
Newcomer
Joined
Jan 17, 2010
Messages
21
Reaction score
0
Trophies
0
XP
173
Country
New Zealand
There's something I can't understand:
1. Moonshell and some homebrew like DSorganize can play another homebrews but can't load commercial ROM
2. Flashcard as R4 or Acekard, DSTT (perharps all of other flashcards) can soft-reset commercial ROM but can't do that with homebrews

So why? They are all application which end with ".nds", what's the difference???
 
One of the reason is that Homebrew programs have in the code somewhere a 'filetype' of '####' while Commercial ROMs have a code like 'ADME' or 'ADMP' (this is the code for Animal Crossing: Wild World (U) and (E))

I guess that when starting the game/program this code is checked & if it's '####' then it's classed as Homebrew, therefore Moonshell etc will run it but if it's NOT '####' then it won't run (I guess there's also other checks as well involved)

With the flashcards I guess it's the other way round:- IF the code is '####' then Soft-reset is not allowed, but if it's NOT then Soft-reset is allowed

EDIT: Made a mistake - it's not 'XXXX' but '####'. Checked up on it in a HEX editor
4416306717_63547bf137_o.jpg

Note the highlighted code(s) - AC3P for Sim City (on the left) & #### for jEnesisDS (on the right)
 
Moonshell and such stop commercial rom loading on purpose because they don't want to encourage piracy.

In the computer world, file extension doesn't mean shit, it's just an easy way to tell different file types apart just by looking at the name. The actual format of the file has nothing to do with whatever extension it's assigned, in fact if you go on a linux machine, take a .jpg and remove the extension, you'll still be able to open it because linux will look into the file itself to determine it's type and open it with the correct application.
 
1. There is a lot more work needed to load commercial roms from a flash cart. Commercial games are not designed to be run from flash carts, as such, they need to be heavily patched (by the loader software) to run on that particular card.
Homebrew is designed to run specifically on flash carts, any data access etc. is done in a way that very little patching is required.
Those people who have created loader software for the DS, usually make sure their loaders can only be used for homebrew and not commercial roms for two reasons, one I have just mentioned, there is a lot more work involved and it is not just a one-off job. The loader would have to be updated regularly to counter the various anti-piracy techniques that companies come up with to make it even harder to load their games from flash carts. Two, probably the most important one, legality. In most countries it is illegal to have a 'backup' copy of a commercial game, not even for 24 hours. In some countries it is ok if you create the backup yourself, using your own game cart, but then again, in most countries this is illegal also.

2. Soft reset is a lot easier on commercial games than on homebrew. The Arm7 code from the game needs to be patched in order for the reset to work, on commercial games there are very few variations in the Arm7 code, I think there are maybe two or three version of the Arm7 binary, meaning that it is very likely that the relevant information can be found and patched. In homebrew, everyone is free to make their own Arm7 code, meaning that most homebrew will have a completely different arm7 binary file to try to patch. Making homebrew soft-reset an extremely difficult task.
 
AAcrazyman said:
Well moonshell doesnt want to get sued by opening comercial roms i guess... hey if you want to boot comercial roms in moonshell go to this link, http://gbatemp.net/index.php?showtopic=208136 it'll tell you how boot em up! hope this link helps!
That's one method - however if you're using a Acekard then it's best NOT to use YSMenu method as I've read/been told YSMenu could brick the acekard
There's another 'fix' for version 2.08 and v2.09 here

  • Download either the 2.08 or the 2.09 fix for the version of moonshell you want to run
  • Unzip the file & copy the 'overlay.dll' with the one found in the '/moonshl2/internal' folder
  • Download either the YSloader (you will need to install YSMenu to use this) or the AKAIO loader (Use AKAIO loader if you're using an Acekard)
  • Rename the loader (nds.?.nds) you downloaded to '_vh.VeryHugeNDSLoader.nds' and replace the one found in '/moonshl2/extlink/' folder
  • Rename the file AGAIN to '_hn.HugeNDSLoader.nds' and replace the one found in the '/moonshl2/extlink/' folder
You should no be able to run Commercial ROMs from within Moonshell v2.08 or v2.09 (Depending on which 'fix' you downloaded)
 
CannonFoddr said:
AAcrazyman said:
Well moonshell doesnt want to get sued by opening comercial roms i guess... hey if you want to boot comercial roms in moonshell go to this link, http://gbatemp.net/index.php?showtopic=208136 it'll tell you how boot em up! hope this link helps!
That's one method - however if you're using a Acekard then it's best NOT to use YSMenu method as I've read/been told YSMenu could brick the acekard
There's another 'fix' for version 2.08 and v2.09 here

  • Download either the 2.08 or the 2.09 fix for the version of moonshell you want to run
  • Unzip the file & copy the 'overlay.dll' with the one found in the '/moonshl2/internal' folder
  • Download either the YSloader (you will need to install YSMenu to use this) or the AKAIO loader (Use AKAIO loader if you're using an Acekard)
  • Rename the loader (nds.?.nds) you downloaded to '_vh.VeryHugeNDSLoader.nds' and replace the one found in '/moonshl2/extlink/' folder
  • Rename the file AGAIN to '_hn.HugeNDSLoader.nds' and replace the one found in the '/moonshl2/extlink/' folder
You should no be able to run Commercial ROMs from within Moonshell v2.08 or v2.09 (Depending on which 'fix' you downloaded)

I seem to remember trying this fix back before i used the linker i mentioned in my earlier post.... i could never get it to work.
However my knowledge when i tried it was far inferior compared to my knowledge now! lol
I'll give it another go.
 
Well, now Acekard 2 and 2i can soft-reset homebrew too. It's amazing
When i posted this site i had thought that softreset homebrew is impossible, now i understand that it's just a hard job
You guys did blow my mind,thanks
 

Site & Scene News

Popular threads in this forum