ATTENZIONE
31/1/08 ATTENZIONE, QUESTA GUIDA SERVE UNICAMENTE A LE CARD CHE NON SUPPORTANO IL PATCHING AUTOMATICO DELLE DLDI (NELLA R4, M3 REAL, DS TT, DS-ONE, DICIAMO TUTTE LE ULTIME SLOT-1 IL PATCHING E' AUTOMATICO), QUINDI PRIMA DI CONTINUARE A LEGGERE DOMANDATEVI SE NE AVETE VERAMENTE BISOGNO, SE LE VOSTRE HOMEBREWS PARTONO SENZA PROBLEMI QUESTA GUIDA NON SERVIRA' A NIENTE
Piccola premessa: visto che mi pare che ci sia una discreta disinformazione a riguardo (in particolare mi riferisco a chi non è propriamente uno smanettone

), e visto che d'ora in poi il 99% degli homebrew supporterà le DLDI (e probabilmente nella maggioranza dei casi saranno supportate
solo le DLDI e sarà abbandonato lo sviluppo di drivers proprietari per le singole schede, come nel caso di DSFTP), mi pareva il caso di buttare giù due righe per spiegare semplicemente e in maniera, spero, comprensibile, come funzionano e cosa c'è da fare per far girare i nostri homebrew preferiti.
Quelli che "me ne frego di cos'è e come funziona, dimmi solo che devo fare per far girare [inserire il nome di un homebrew con supporto DLDI] sul mio DS", posso passare direttamente al paragrafo
Come.
Perché: Cosa sono le DLDIDLDI è un l'acronimo della cryptica (per chi non è del campo) frase (Dynamically Linked Device Interface for libfat), che semplicemente identifica una interfaccia di programmazione universale per la libreria di lettura/scrittura nel filesystem delle flashcard.
Ok, ora mi ripeto in maniera meno incomprensibile.
In pratica, fino ad oggi, era compito del programmatore sforzarsi di supportare ogni card che gli interessava (e i possessori di G6 dovrebbero saperlo bene
), il suo software andava ricompilato ogni volta, e rendere compatibile una card piuttosto che un'altra non era cosa semplice ed immediata.
Invece d'ora in poi, chi programma del software homebrew per DS, non deve far altro che scriverlo in maniera da supportare solo una specifica flashcard "virtuale", e così facendo la sua applicazione sarà compatibile con praticamente qualsiasi (*) card in commercio, previa una semplice modifica (cfr. Come) che qualsiasi utente può farsi in casa in due secondi.
"Ma a noi utenti, che ce ne cala?" potrebbe chiedersi qualcuno. Tolto il punto di vista di chi sviluppa del software, i principali vantaggi che ne verranno alla comunità sono:- Finalmente si potrà scegliere quale flashcard acquistare solo in base alle sue caratteristiche
- Non ci sarà più da sbattere la testa a destra e a sinistra per capire come fare per eseguire un'homebrew su di una specifica card, visto che funzioneranno tutte allo stesso modo
- Probabilmente gli sviluppatori saranno più contenti di scrivere software per il DS perché avranno la certezza che tutte le card, anche quelle non in commercio al momento dello sviluppo dell'homebrew, potranno far girare i loro programmi
E scusate se è poco.
(*)Per essere supportata, una flashcard deve avere un minimo di supporto da parte del produttore. Dico minimo perché si tratterà solo di adattare poche righe di codice, e dovranno farlo una sola volta, e così facendo renderanno il loro prodotto compatibile con la totalità degli homebrew passati, presenti e futuri. Un produttore si tarperebbe le ali da solo a non accettare le DLDI, quindi direi che si può supporre che a breve saranno supportate da ogni singola card in commercio (e già ora ci sono i drivers per tantissime flashcard, una lista completa è sul sito ufficiale).
Come: Guida al patching di un'applicazioneI passi da fare sono semplicemente tre:- Procurarsi il driver per la propria flashcard
- Procurarsi il programma per patchare gli homebrew
- Procurarsi l'homebrew da patchare
Il terzo punto credo non sia necessario da spiegare
, per quanto riguarda gli altri due, basta recarsi sul sito delle DLDI, e si potranno scaricare entrambi.
Per l'1. si deve scorrere la tabella che c'è all'inizio della pagina suddetta, trovare la linea che identifica la propria card, e cliccare su DLDI nella colonna Download. Tra le varie informazioni fornite dalla tabella in questione, è possibile vedere se è supportata sia la lettura che la scrittura per le singole card (colonna Read/Write) e se il driver è stato testato con successo (colonna Tested), così da sapere se è tranquillo usarlo o se ci possono essere dei problemi.
Per il 2., il patching vero e proprio, ci si deve procurare il programma (chiamato dlditool) per il proprio sistema operativo, sono presenti versioni da linea di comando per Linux, Windows e MacOS X, e una versione con interfaccia grafica per Windows (oltre ai sorgenti dell'applicazione, per chi volesse spulciarli o ricompilarli per altri OS). Personalmente preferisco usare la linea di comando, lo trovo più rapido e lineare, spiegherò brevemente come fare per chi usa Windows (ma il procedimento è identico per chi usa OS differenti). Se richiesto, posso aggiornare la guida inserendo anche un how-to per il software ad interfaccia grafica.
Una volta ottenuti i tre files in questione, supponiamo di averli salvati tutti nella cartella C:\DLDI (estraendoli dal file zip in cui sono contenuti). Il driver sarà un file con estensione ".dldi" e l'homebrew sarà un ".nds".
Dal menu Start di Windows, selezionando Esegui, si scriva il comando cmd. Dando l'OK si aprirà un prompt dei comandi.
Le tre semplici righe da scrivere (seguite ogni volta dal tasto Invio) saranno:
C:
cd \DLDI
dlditool nomedriver.dldi nomehomebrew.nds
NB. I nomi del driver e dell'homebrew ovviamente variano a seconda di flashcard e homebrew, nomedriver.dldi va sostituito con il nome del vostro driver (ad esempio dlms_moon(dslink).dldi nel caso usiate una DSLink) e nomehomebrew.nds con il nome dell'homebrew (ad esempio DSFTP.nds).
Nell'esempio in questione, si dovrebbe eseguire
dlditool dlms_moon(dslink).dldi DSFTP.nds
Et voilà, l'homebrew sarà pronto per essere trasferito ed eseguito sulla flashcard 
L'ora è quella che è, spero di essere stato non troppo contorto e di non aver fatto svarioni colossali

, ovviamente le segnalazioni di errata, i consigli e le critiche, sono ben accette

PS.Ho fatto un piccolo tool che permette di patchare le ROM con le DLDI semplicemente tramite un click destro sulla rom (il file deve ovviamente essere .nds), se volete provarlo si chiama
DLDIrc, ed è scaricabile cliccando sopra al suo nome

Ho anche aperto una discussione nella sezione
Utilità DS, la trovate
qui.