Commercial ROM and homebrew

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

Mar 8, 2010

Commercial ROM and homebrew by crazyfffan at 4:00 AM (1,842 Views / 0 Likes) 13 replies

  1. crazyfffan
    OP

    Newcomer crazyfffan Member

    Joined:
    Jan 17, 2010
    Messages:
    21
    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???
     
  2. Dangy

    Member Dangy Twisting Your Mind & Smashing Your Dreams

    Joined:
    Apr 5, 2009
    Messages:
    1,391
    Country:
    United States
    It's in the extinfo.lib I think.
     
  3. CannonFoddr

    Member CannonFoddr Regular GBATemp Lurker

    Joined:
    Sep 23, 2006
    Messages:
    4,106
    Location:
    Sitting by computer
    Country:
    United Kingdom
    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

    Member Rydian Resident Furvertâ„¢

    Joined:
    Feb 4, 2010
    Messages:
    27,883
    Location:
    Cave Entrance, Watching Cyan Write Letters
    Country:
    United States
    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

    Member AAcrazyman GBAtemp Regular

    Joined:
    Feb 28, 2010
    Messages:
    119
    Country:
    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

    Member spinal_cord Knows his stuff

    Joined:
    Jul 21, 2007
    Messages:
    2,871
    Location:
    somewhere
    Country:
    United Kingdom
    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

    Member CannonFoddr Regular GBATemp Lurker

    Joined:
    Sep 23, 2006
    Messages:
    4,106
    Location:
    Sitting by computer
    Country:
    United Kingdom
    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

    Banned House Spider In the GBAtemp attic.

    Joined:
    Apr 25, 2009
    Messages:
    1,282
    Location:
    Dundalk
    Country:
    Ireland
    iPlayer can soft-reset homebrew.
     
  9. Scrunt

    Newcomer Scrunt Member

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

    Member AAcrazyman GBAtemp Regular

    Joined:
    Feb 28, 2010
    Messages:
    119
    Country:
    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++

    Member Xenon++ Taiju Yamada

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

    Newcomer crazyfffan Member

    Joined:
    Jan 17, 2010
    Messages:
    21
    Country:
    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

    Member AAcrazyman GBAtemp Regular

    Joined:
    Feb 28, 2010
    Messages:
    119
    Country:
    United States
    no problem! [​IMG]
     
  14. mewtwo-EX

    Newcomer mewtwo-EX Member

    Joined:
    Nov 1, 2006
    Messages:
    43
    Location:
    Buffalo, NY
    Country:
    United States
    Yes. Congratulations to the AKAIO team for getting soft reset for homebrew! Massive props!
     

Share This Page