Dynamically Linked Device Interface For Libfat


JKilvan
 Share

Messages recommandés

Dynamically Linked Device Interface for libfat (DLDI)



développé par Chishm







=Introduction=
Depuis l'avénement des linkers, aussi bien au format slot2 que slot1, sur Nintendo DS, les développeurs de homebrews ont été confronté à un épineux problème : accéder en lecture (voir en écriture) à des fichiers volumineux. Le système de fichiers GBFS (et dérivés) résolut partiellement le problème. En effet, profitant de la ram des linkers slot2, il était désormais possible d'avoir des homebrews de 32Mo maximum (contre 4Mo auparavant, pouvant tenir en RAM de la console), permettant à des émulateurs tels ScummVMDS, de faire tourner des jeux relativement gros (Sam et Max, Day of the tentacle, etc...), avec les bandes son. Puis vint ce qu'on appelle communément les librairies FAT, permettant de lire et d'écrire directement sur la mémoire de masse d'un linker (mémoire interne ou sous forme de carte SD/CF), donnant enfin aux développeurs les moyens d'exprimer tout leur potentiel.

La librairie DLDI est une évolution majeure de ce système. Auparavant, les développeurs devaient inclure la librairie FAT de chaque linker différent (autrement dit une tâche de titan), s'arracher les cheveux pour augmenter la compatibilité, et la multiplicité des linkers rendait la chose de plus en plus difficile. Ce qui fait la différence du système DLDI, c'est qu'aucune librairie n'est intégrée par défaut, et c'est à l'utilisateur de patcher le binaire en fonction de son linker. Au moment de compiler un homebrew, le système DLDI alloue un espace de 32Ko, dans lequel une librairie spécifique à un linker pourra être accueillie. Ainsi, un homebrew n'a plus une compatibilité figée dans le temps (impliquant une recompilation à chaque nouvelle librairie FAT d'un modèle donné), lorsque la librairie FAT d'un nouveau linker emmerge, le fichier DLDI peut être généré et utilisé dans n'importe quel homebrew intégrant le DLDI, sans aucune intervention de la part des développeurs, évitant de devoir attendre pour qu'elle soit intégrée.

Voila donc pour la théorie, passons maintenant à la pratique.

Lorsque vous téléchargez un homebrew avec support DLDI, il ne peut donc pas fonctionner par défaut, aucune librairie spécifique n'étant patchée dans ses entrailles. Il va donc falloir le cuisiner un peu. Deux choix s'offrent à vous, DLDITool et DLDITool32. Vous l'aurez compris, le premier s'utilise sous la forme d'une ligne de commande, le second ajoute un mode fénêtré qui évitera la crise d'urticaire aux allergiques des commandes DOS. Ce petit tutorial traitera les deux logiciels, il n'y a de toute façon pas grand chose à expliquer, c'est vraiment très simple d'utilisation.

=Requis=
- Le logiciel DLDITool (L'archive contient aussi DLDITool32). Une version Linux et Mac existe aussi, à télécharger sur le Site officiel
- Le fichier DLDI pour votre linker (si la vôtre n'est pas avec DLDITool, vérifiez sur le site officiel si elle existe)

Pour ce tutorial, on considérera que l'on souhaite utiliser la dernière version de CrocoDS (1.0), excellent émulateur CPC6128 supportant le DLDI, sur un R4DS (linker slot1).

=DLDITool=

Une fois décompressé, copiez le homebrew (en l'occurence crocods-dldi-v1.0.nds) dans le même répertoire que DLDITool.exe. L'archive de DLDITool contient toutes les librairies DLDI disponibles au moment où j'écris ce tutorial.

explorateur.jpg

Ouvrez une boite de dialogue DOS (Démarrer > Executer > CMD) et rendez-vous dans le répertoire où se trouvent ces fichiers. Il ne vous reste plus qu'à taper la ligne de commande ci-dessous:

DLDITool.exe r4tf.dldi crocods-dldi-v10.nds

N'oubliez pas l'auto-completion à l'aide de la touche TAB, c'est plus facile.

dos.jpg<br/>
DLDITool.exe nom_du_dldi nom_du_homebrew

On peut très bien voir à la ligne "Old Driver" que le homebrew est livré vierge de toute librairie, il ne pouvait donc pas être utilisé tel quel.

=DLDITool32=

Les choses deviennent ici encore plus simples, une fois DLDITool32 lancé, il suffit d'indiquer le répertoire où se situe le fichier DLDI et le répertoire où se situe le homebrew. La liste des DLDI détectés apparait, choisissez en fonction de votre modèle, et cliquez sur "Patch", rien de plus simple, n'est-ce pas ?

dlditool32.jpg

Voila, vous pouvez pleinement profiter des homebrews sur votre linker flambant neuf (à condition que le fichier DLDI correspondant soit disponible, bien entendu). Amusez-vous bien.


Tutorial réalisé par Badablek pour http://mobiles.GX-Mod.com

Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share