Commercial ROM and homebrew

Discussion in 'NDS - Emulation and Homebrew' started by crazyfffan, Mar 8, 2010.

  1. crazyfffan
    OP

    crazyfffan Member

    Newcomer
    21
    0
    Jan 17, 2010
    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???
     
  2. Dangy

    Dangy GBAtemp Maniac

    Member
    1,406
    15
    Apr 5, 2009
    United States
    It's in the extinfo.lib I think.
     
  3. CannonFoddr

    CannonFoddr Regular GBATemp Lurker

    Member
    4,115
    68
    Sep 23, 2006
    Sitting by computer
    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
    Example of 'headers' of Commercial ROM (Sim City) and Homebrew (jEnesisDS) shown in a HEX editor
     
  4. Rydian

    Rydian Resident Furvertâ„¢

    Member
    27,883
    8,108
    Feb 4, 2010
    United States
    Cave Entrance, Watching Cyan Write Letters
    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.
     
  5. AAcrazyman

    AAcrazyman GBAtemp Regular

    Member
    119
    0
    Feb 28, 2010
    United States
    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!
     
  6. spinal_cord

    spinal_cord Knows his stuff

    Member
    3,010
    580
    Jul 21, 2007
    somewhere
    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.
     
  7. CannonFoddr

    CannonFoddr Regular GBATemp Lurker

    Member
    4,115
    68
    Sep 23, 2006
    Sitting by computer
    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

    Basic step to apply fix
     
  8. House Spider

    House Spider In the GBAtemp attic.

    Banned
    1,282
    0
    Apr 25, 2009
    Dundalk
    iPlayer can soft-reset homebrew.
     
  9. Scrunt

    Scrunt Member

    Newcomer
    20
    0
    Jan 17, 2009
    United States
    Tennessee
    Ditto with my CycloDSevo.
    It doesn't work on ALL homebrew, but i would say at least 80% of them.
     
  10. AAcrazyman

    AAcrazyman GBAtemp Regular

    Member
    119
    0
    Feb 28, 2010
    United States
    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.
     
  11. Xenon++

    Xenon++ Taiju Yamada

    Member
    1,394
    2
    Dec 17, 2009
    Well, I use Link Launcher with nds.UiMS206.nds (Rudolph's greatest ak2loader.nds loader) on MoonShell 2.10 stable.
     
  12. crazyfffan
    OP

    crazyfffan Member

    Newcomer
    21
    0
    Jan 17, 2010
    New Zealand
    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
     
  13. AAcrazyman

    AAcrazyman GBAtemp Regular

    Member
    119
    0
    Feb 28, 2010
    United States
    no problem! [​IMG]
     
  14. mewtwo-EX

    mewtwo-EX Member

    Newcomer
    43
    0
    Nov 1, 2006
    United States
    Buffalo, NY
    Yes. Congratulations to the AKAIO team for getting soft reset for homebrew! Massive props!