Identifiant:
Mot de passe:
Accueil
Devblogs
Voir tous les devblogs
Obtenir un devblog
Fiches Homebrews
Chat (IRC)
NoPaste
Lexique
Wikis
NDS/GBA
PSP
Wii
Forum
Accéder au forum
Messages non lus
Réponses non lues
Au secours !!!
Options
Rechercher
Se Connecter
Inscrivez-vous
Développement Amateur Francophone
|
Nintendo DS/GBA
|
Projets
|
[NDS/LIB] EFS v2 à beta tester
Pages:
1
2
[
3
]
4
5
...
9
Bas de page
Imprimer
Auteur
Fil de discussion: [NDS/LIB] EFS v2 à beta tester (Lu 22246 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Arialia
Elite Member
Messages: 868
Re : Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #30 :
20 Mai 2008, 07:02:26 »
Citation de: Alekmaul le
Aujourd'hui
à 06:39:06
Le pb viendrait pas de
Citation
if (useDLDI) {
// seek to right position and read data
fseek(nds_file, file->pos, SEEK_SET);
len = fread(ptr, len, 1, nds_file);
} else {
memcpy(ptr, file->pos + (void*)GBAROM, len);
}
dans la fonction EFS_Read. Il n'y aurait pas un pb de réentrance dans le code vu que devoptab est utilisé pour le fread ?
il y a des chances ...
pour éviter ça dans ton nds_file tu spécifie le 'device' ? 'fat:' par exemple ?
évite aussi les fonctions fichiers de haut niveau je pense .... c'est un read que tu devrais faire , pas un fread ...
Journalisée
Mon blog de dev
- -
Mon tutoriel sur la libfat
--
DSPhoto
Un bon programmeur est fainéant : il déteste refaire la même chose, il fait donc des fonctions
Mais qui m'a mis des nounours roses ? Le rose c'est pour les homo et les gamines , beurk, mais ça va bien aux fleurs
Et aux jeux de Genevois
Copper
Mega Member
Messages: 1296
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #31 :
20 Mai 2008, 07:13:54 »
Par contre pourquoi cela serait-il lent uniquement sur Hardware
Journalisée
Arialia
Elite Member
Messages: 868
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #32 :
20 Mai 2008, 07:52:39 »
sur emulateur il doit faire le memcpy ...
Journalisée
Mon blog de dev
- -
Mon tutoriel sur la libfat
--
DSPhoto
Un bon programmeur est fainéant : il déteste refaire la même chose, il fait donc des fonctions
Mais qui m'a mis des nounours roses ? Le rose c'est pour les homo et les gamines , beurk, mais ça va bien aux fleurs
Et aux jeux de Genevois
Copper
Mega Member
Messages: 1296
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #33 :
20 Mai 2008, 08:38:01 »
Ah oui effectivement pour le coup il faut vraiment debugguer sur hardware (ou emulateur gérant le DLDI)
Par contre fat: n'est pas le device par défaut ?
Journalisée
Noda
Full Member
Messages: 208
Re : Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #34 :
20 Mai 2008, 09:12:16 »
Citation de: Alekmaul le
Aujourd'hui
à 07:39:06
Le pb viendrait pas de
Citation
if (useDLDI) {
// seek to right position and read data
fseek(nds_file, file->pos, SEEK_SET);
len = fread(ptr, len, 1, nds_file);
} else {
memcpy(ptr, file->pos + (void*)GBAROM, len);
}
dans la fonction EFS_Read. Il n'y aurait pas un pb de réentrance dans le code vu que devoptab est utilisé pour le fread ?
Je me posait la question, mais NitroFS semble faire la même chose hmmm. Je vais faire un pti test de NitroFS sur hard pour tester sa vitesse, y'a quelque chose de bizarre quand meme...
Aralia: fat: est le device par défault, et de toute facon si tu affiche la variable efs_path le préfixe y est bien. Pour l'utilisation de fread par rapport à read, c'est qu'il me semble que fread est utilise le cache mais pas read, mais je me trompe peut etre..
En tout cas doit y avoir forcément une couille qq part!
Journalisée
Alekmaul
Papi codeur et
Administrateur
Messages: 1403
Out of memory error ...
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #35 :
20 Mai 2008, 09:25:36 »
Oui, tu as raison, mais en regardant là (
http://devkitpro.cvs.sourceforge.net/devkitpro/libfat/nds/source/nitrofs.c?revision=1.1&view=markup
), ils font aussi l'inversion entre len et 1, à tester donc si le pb ne vient pas de cette lecture de 1 par 1 octet
Citation
129 //reads from rom image either gba rom or dldi
130 int nitroSubRead(struct nitroRawStruct *nrs, void *ptr, int len) {
131 if(isNdsFile) { //read from ndsfile
132 len=fread(ptr,1,len,nrs->ndsFile);
133 } else { //reading from gbarom
134 memcpy(ptr, nrs->pos+(void*)GBAROM,len); //len isnt checked here because other checks exist in the callers (hopefully)
135 }
136 nrs->pos+=len;
137 return(len);
138 }
Journalisée
Mon site
PortableDev
: l'émulation sur
GBA
et sur
DS
Noda
Full Member
Messages: 208
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #36 :
20 Mai 2008, 17:24:27 »
Bon j'ai testé en speed mon exemple avec NitroFS, et ca rame pareil... donc ca vient forcément des fonctions haut niveau du devoptab, pour l'instant rien à faire, à part peut etre tester avec les fonctions plus bas niveau (open, read etc au lieu de fopen, fread) pour voir si ca va plus vite ou pas.
Je vais en toucher quelques mots à Chism il aura ptetre une idée la dessus, et Wintermute aussi qui cassait bien les bonbons avec son devoptab qui au final fait ramer le bordel
Journalisée
Alekmaul
Papi codeur et
Administrateur
Messages: 1403
Out of memory error ...
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #37 :
22 Mai 2008, 06:03:24 »
Petit up pour les beta testeurs, il semble que le pb vient bien de l'inversion entre len, 1 et 1,len dans les fread comme indiqué ici :
http://forum.gbadev.org/viewtopic.php?p=157323#157323
Si certains veulent tester avant (il faut mettre à jour soit même la lib, y'a pas encore d'update) que Noda continue la mise à jour de sa superbe lib
PS : j'espère que AS_lib suivra dans la foulée ?
Journalisée
Mon site
PortableDev
: l'émulation sur
GBA
et sur
DS
t4ils
Branleur
Elite Member
Messages: 962
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #38 :
22 Mai 2008, 08:49:18 »
c'est bien ça !
bravo les chti goy
* t4ils va pouvoir aller mettre tout ça dans StillAliveDS
edit : après pleins de test, ça fonctionne vraiment nickel
thanks
«
Dernière édition: 22 Mai 2008, 10:33:23 par t4ils
»
Journalisée
Le codage amateur ? Parce que je le veux bien.
Toiletking
Mega Member
Messages: 1301
"Caca Boudin!"
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #39 :
22 Mai 2008, 09:21:10 »
Juste une chtite question (de noob
) : Est-il possible en bricolant la palib, de remplacer de manière transparente, via quelque p'tite modif de la lib, de remplacer PAFS par EFS et de garder les fonctions pafs telquel de manière à ce que, lors de la compilation avec ce dernier, on ne soit plus du tout aubliger de changer sont code?
Ca serait le reve! comme ca op, je compile avec la dite version et je garde toute la souplesse et la simplicité de mon pafs favoris
Edit : comme ca la doc de pafs ne bougerai pas
«
Dernière édition: 22 Mai 2008, 09:25:16 par Toiletking
»
Journalisée
Noda
Full Member
Messages: 208
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #40 :
22 Mai 2008, 21:02:28 »
Pour PAFS c'est possible, mais tu perdrais moins de temps à changer ton code qu'à faire ca
Sinon j'ai bien avancé sur l'EFS today, et j'ai augmenté les perfs encore de 10~40%
Au passage, les resultats d'un petit bench pour comparer les vitesses de l'EFS et de NitroFS:
Citation
EFS init OK! Testing...
Open a file: 0ms
small file fread (1blk): 15ms
small file fread (/1b): 15ms
dir listing: 1ms
big file fread (1blk): 1895ms
big file fread (/1b): 1895ms
NitroFS init OK! Testing...
Open a file: 177ms
small file fread (1blk): 194ms
small file fread (/1b): 195ms
dir listing: 184ms
big file fread (1blk): 2052ms
big file fread (/1b): 2049ms
Ca rockz hein
C'est même plus rapide que de passer par la libfat, du fait du handle unique de l'EFS on ne perd pas de temps à ouvrir à chaque fois un fichier et à remplir le cache
Journalisée
Alekmaul
Papi codeur et
Administrateur
Messages: 1403
Out of memory error ...
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #41 :
22 Mai 2008, 21:23:14 »
UNE RELEASE !!! UNE RELEASE !!! UNE RELEASE !!! UNE RELEASE !!! UNE RELEASE !!!
Journalisée
Mon site
PortableDev
: l'émulation sur
GBA
et sur
DS
Michoko
Full Member
Messages: 237
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #42 :
22 Mai 2008, 21:32:59 »
Je dirais même plus :
UNE RELEASE !!! UNE RELEASE !!! UNE RELEASE !!! UNE RELEASE !!! UNE RELEASE !!!
Journalisée
Noda
Full Member
Messages: 208
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #43 :
22 Mai 2008, 23:21:50 »
La release candidate sort demain (flemme de l'uper là
), avec support de chdir() complet (à tester) et la possibilité de fournir un path dans l'init (facultatif), en vue du support futur de argv[] par DKP
Si les derniers tests sont concluants, la release finale suivra, couplé à une MAJ de l'ASlib
Journalisée
stravingo
Sr. Member
Messages: 301
Re : [NDS/LIB] EFS v2 à beta tester
«
Réponse #44 :
23 Mai 2008, 10:07:08 »
Très bonnes nouvelles
Quand tu dis "sort demain" à 00:21, tu veux dire "aujourd'hui", hein ? (hein? hein?)
Journalisée
Mes jeux (
Ka-BoOm
,
Setsuzoku no Puzzle
) et apps (
DS Weather Report
,
Treasures of Gaia
,
Miniville DS Manager
,
Secret Hordes
) sur DS sont disponibles
sur mon devblog
Pages:
1
2
[
3
]
4
5
...
9
Haut de page
Imprimer
Aller à:
Merci de choisir une destination:
-----------------------------
Compos
-----------------------------
=> Compo Débile Dev-Fr !
-----------------------------
Les News
-----------------------------
=> News
=> Vos News
-----------------------------
Général
-----------------------------
=> Discussion générale
=> Demande de blogs
=> Evolution du site
-----------------------------
Articles
-----------------------------
=> Interviews
=> Tests
===> Vos Tests
=> Démos Techniques
=> Pimp My Code
=> Tutoriaux
=> Le HS total du dimanche
-----------------------------
Divers Developpement
-----------------------------
=> Idées de Projets
=> Codes et Optimisations
=> Emulation
=> Graphismes
=> Game Design / Level Design
=> Musiques
=> Autre
-----------------------------
Dev-FR Coding Compo 2007
-----------------------------
=> International Section
===> Apps
===> Games
=> Section Francophone
===> Applications
===> Jeux
-----------------------------
Nintendo DS/GBA
-----------------------------
=> Projets
=> Aide au développement
=> Résolu via IRC
-----------------------------
PSP
-----------------------------
=> Projets
=> Aide au développement
-----------------------------
iPhone / iTouch
-----------------------------
=> Projets
=> Aide au développement
=> Tutoriels
-----------------------------
Android
-----------------------------
=> Projets
=> Aide au développement
=> Tutoriels
-----------------------------
Dingoo
-----------------------------
=> Projets
=> Aide au développement
-----------------------------
Wii/NGC
-----------------------------
=> Projets
=> Aide au développement
-----------------------------
PS3/Linux
-----------------------------
=> Projets
=> Divers
-----------------------------
Xbox 360
-----------------------------
=> Projets
=> Aide au développement
=> Tutoriels
-----------------------------
Windows/Mac/Linux
-----------------------------
=> Projets
=> Aide au developpement
-----------------------------
PocketPC
-----------------------------
=> Projets
-----------------------------
Matériel
-----------------------------
=> Consoles
=> Ordinateurs
=> UltraPortables