Hacking DS2 Plugin Linker

  • Thread starter Thread starter Stormwave
  • Start date Start date
  • Views Views 10,433
  • Replies Replies 35
Fixed, completely my fault. Sorry about that.

The patcher program accidently overwrote some extra bytes in the linker NDS file, overwriting part of the DLDI section of the file, heh. Fixed now.
 
fishykipper said:
could someone post n00b step by steps, please would greatly appreciate it.OK Hope this helps
  • Using Notepad create a new txt document
  • Open the txt file & type in
    Code:
    [link 1]
    file=fat:/test/link.nds
    But change 'test' to the folder you are storing your homebrew in and 'link.nds' to the file you want to run. e.g. If you want to run 'colors.nds' stored in the /homebrew/ folder then the line would be typed as
    Code:
    file=fat:/homebrew/colors.nds
  • Save the file to your DS2 card INSIDE the '/_dstwoplug/' folder, but rename it to 'linker.ini'
    Don't worry about Windows asking if you are sure you want to change it - 'cos you are
  • Download the DS2 plugin Linker file on the first post, & extract it anywhere onto your PC
  • Run the 'DS2 plugin Linker.exe'
  • Type in the number '1' (without the quotes) and press [Create]
  • Browse to your DS2 card '/_dstwoplug/' folder and save the file as 'name.nds' - where 'name' is anything you like
    Ideally it should be the same name as the program you are going to run
    - so in this case since we are going to run 'colors.nds' in the homebrew folder (it's what we typed into the linker.ini file above) - we save this as 'colors.nds'
  • Add to '/_dstwoplug/' the usual 'plugin' bmp/ini files (many are found here or on the 'new' Wiki)
    By this time you should have in the '/_dstwoplug/' folder a bmp/ini/nds all the same name (in this case 'colors.nds') and a 'linker.ini' file,
    And in the '/homebrew/' folder you should have also a 'colors.nds' file (which is the actual homebrew we are going to run using the DStwo 'plugin')


    If you want to add more 'linked' homebrew, you repeat the above steps but in the 'linker.ini' file you increase the [link 1] to [link 2],[link 3] etc etc so you end up with something like
    [link 1]
    file=fat:/Homebrew/VideoGamesHero.nds

    [link 2]
    file=fat:/Homebrew/Colors.nds

    [link 3]
    file=fat:/Homebrew/dsvideo.nds

    [link 4]
    file=fat:/Homebrew/PlantsVsZombies.nds

    [link 5]
    file=fat:/Homebrew/pocketphysics.nds
Hope this helps


@ Stormwave: sorry to be a nuisance, but just had a silly idea

On the 'DS2 Plugin Linker.exe' - would it be possible to alter it to have 2 text entry boxes
one for 'Link Number' and one for '/Path/Program' ??

So that when you click create, you save the 'linker.nds' as usual BUT the PC program also looks in the save folder to see if there's a 'linker.ini' & if there is - let the program add to the file the lines
CODE[Link x]
file=fat:/yyy/zzz
(where 'x' is the 'Link Number' you've entered, and 'yyy/zzz' is the 'path/program' you've entered)

Perhaps even on the 'save as' screen get the program to automatically fill in the 'File name' box with the 'zzz' part you've entered
 
QUOTE said:
@ Stormwave: sorry to be a nuisance, but just had a silly idea

On the 'DS2 Plugin Linker.exe' - would it be possible to alter it to have 2 text entry boxes
one for 'Link Number' and one for '/Path/Program' ??

Aye, good idea. I'll add that in in the near future.
 
Stormwave said:
Fixed, completely my fault. Sorry about that.

The patcher program accidently overwrote some extra bytes in the linker NDS file, overwriting part of the DLDI section of the file, heh. Fixed now.
Good.

Well though mshl2tools reset_mse(linked to ZZZ=) now(0.51d1) reads linkpath.ini
CODE[linkpath]
ZZZ=/path/file.nds
I don't do DSTWO specific thing, so no writing to [Dir Info]...
 
its a damn shame you cant use this app, to link commercial roms to the start page!
is there a program i can run the .nds file through to trick the supercard into thinking its an homebrew app?
if you get me?
come clarification would be nice.
cheers
 
fishykipper said:
is there a program i can run the .nds file through to trick the supercard into thinking its an homebrew app?
QUOTE(alidsl @ Sep 7 2010, 08:06 PM) No, there isn't even if you could it wouldn't run
I will hazard a guess into WHY it wouldn't work

When you run Homebrew - the DSTwo OS will auto-DLDI patch the program to run....

If you hacked a ROM to disguise it as a Homebrew - the OS will attempt to DLDI it as well, & since there's no DLDI section of code in a ROM, it'll get corrupted or the OS will get 'confused' and 'lock up'
 
I'm also interested in allowing it to load commercial ROMs through the linker. The only way it would really be possible, as far as I am aware, is to launch DSGAME and somehow make it automatically boot a specified NDS file. This would allow all of the DSTwo patching and everything to take place.

I haven't disassembled DSGAME.nds yet, but I might have a look at it over the next couple of days and see if I can find anyway to modify it to do this. (Not really experimented with very low level NDS programming).

On the subject, has anyone else researched this and have any information to share about the way the DSTwo loads games? Is it simply DSGAME.nds that launches it, or does that launch a separate program to perform the patching etc? I presume not, but does DSGAME allow any form of autobooting an NDS file, or any command arguments?
 
^ IMHO I would think one of the best people to ask would be 'spinal_cord'
He seems to know a lot about making alternative program launchers, & since he's working on 'iMenu' he may have a better idea about what the DSTwo abilities are
 
Excuse me for a weird question, but
[Dir Info]
last dir=fat1:/APP/HBMENU.NDS
works?
On my DSONEi, EOS always shows fat1:/, not fat1:/APP/.
QUOTE said:
1.Startup EOS
2.goto APP then launch HBMENU.NDS
3.After HBMENU screen is shown, power off
4.Re-startup EOS, expecting showing fat1:/APP/
 
Yeah, lastsave.ini does work ok on the DSTwo.

Strange that it wouldn't work on the DSOne if they have the lastsave.ini. Maybe they added the feature with the intention of making it work, but left it out for some reason?
 

Site & Scene News

Popular threads in this forum