jeudi, février 14, 2008

[todo] runme reloaded

"Runme", c'est ma "combox" à moi. Entendez par là un petit outil pour la DS qui permet de se passer de linker et d'accélérer le cycle développement. Il est capable de transférer des fichiers d'un PC vers le répertoire "moving" de la DS à 90KB/s, techniquement capable (également) de transférer des fichiers de la DS vers le PC, mais pour l'heure, je me suis limité au choix des 4 fichiers édités par le Sprite Editor. Côté PC, il faut un programme spécial (petit script perl ou un programme java) pour "offrir" un fichier au téléchargement.

"Runme" is my all-in-one transfer and testing tool on the nintendo DS. The kind of "get-rid-of-your-linker" or "i-lost-my-media-card-reader" tool that is intended to boost software development on the console. It's my favourite way of transferring content from a PC to the console through WiFi at speeds approaching 90KB/s.
With the proper program running on your PC, it can also beam files out of the console (though i don't have a user-friendly interface for this atm).
Over time, it has gathered module player and bare game engine facilities, but it still lacks a couple of features to get a release of its own as "runme: reloaded".

Bref. Il serait temps que je fasse quelque-chose de "releasable" à partir de ce projet . Genre:

  • faire une version java qui intègre upload et download sur PC.
  • permettre de choisir n'importe quel fichier pour l'exporter hors de la DS
  • choisir le répertoire dans lequel les transferts s'opèrent sur la carte flash (pour l'instant, tout ce passe dans /moving)
  • [en cours]prévoir un type "répertoire" pour l'importation vers la DS. Il apparaît comme une simple entrée dans la liste des transferts, mais quand on l'active, il crèe un nouveau répertoire sur la DS, recontacte le serveur et lui demande les fichiers un par un ... Ce serait bien pour tester VGDMS ^_^
  • intégrer les stubs "auto-update" dans la PAlib pour conquérir le monde...
  • [OK]m'assurer que le démarrage d'un autre programme marche même lorsque les patches DLDI entrent en jeu.
edit: j'ai re-testé les patches DLDI ce midi. Au moins, le patcheur embarqué est cohérent avec lui-même et le fait que le "stub" qui passe d'un programme à l'autre soit en mémoire vidéo n'affecte pas son bon fonctionnement. Cherchons ailleurs ...
So the todo-list for the runme software include mostly integration of browsing widgets (to pick the import
directory or the exported file), integrate downloader and uploader in a single java program. I also need to support a "directory" transfer type which would make the DS ring back the PC and perform bulk transfers of many files at once (e.g. to test VGDMS).
The ultimate killer feature, though, would be to provide a twisted version of PALib that would be compatible with runme's program booting mechanism, but this means i first need to fix DLDI patcher embedded in the software.

2 comments:

sylvainulg a dit…

-- petite doc que j'avais écrite avec la release de mon sprite editor sur playeradvance --
envoyer/recevoir des fichiers wifi:
il faut lancer un des programmes .pl sur un PC qui est sur le même réseau WiFi que la DS, "server.pl" pour envoyer un fichier vers la DS et "sink.pl" pour recevoir un fichier. Comme ce sont tous les deux des scripts perl, il vous faudra d'abord installer perl sur votre machine (il est déjà là si vous avez Linux, sinon, le projet ActivePerl devrait faire l'affaire).

Mettons que je veux envoyer xdad.spr, livré avec le software, que ma DS a reçu l'adresse IP 192.168.3.4 et que le PC, lui, a l'adresse 192.168.3.2, la commande à entrer (dans un shell) sera:
[code]
perl server.pl xdad.spr 192.168.3.4 192.168.3.2
[/code]

Lançons maintenant runme.nds, on choisit son point d'accès (automatique s'il a été réglé avec mariokart ou un autre) et on voit apparaitre le fichier dans une liste. En cliquant dessus, on commence le téléchargement. C'est tout. En appuyant sur le bouton "A", on peut voir le fichier, écouter le .mod/.s3m/.xm/.it etc.

Si vous n'avez pas su installer PERL, vous pouvez aussi opter pour la version JAVA du serveur (compilation pour les différentes JDK en cours) : java server <IPDS> <IPPC> <fichier1> [fichier2] [fichier3] [fichier4] ...

sylvainulg a dit…

oups. Suis-je bête. Si vous cliquez simplement sur un nom de fichier, runme le copie dans sa mémoire de travail (512K). C'est intéressant pour écouter des mods ou regarder des images, mais pas pour transférer des fichier sur la carte SD.

Pour ça, maintenez L enfoncé pendant que vous touchez l'écran. Ca y est, le téléchargement a démarré sur la cartouche et vous voyez des tonnes de "#" pour indiquer la progression sur l'écran du haut.

Oh, vous pouvez relâcher le bouton L, hein, vous allez attraper une crampe.

PS: il n'y a pas de mode "économie d'énergie" dans mon programme, donc vous pouvez refermer la console pendant un long téléchargement.