Côté ARM9, si tout ce passe bien, ce sont nos bonnes vieilles fonctions time() et ctime() de la bibliothèque standard qui vont faire tout le boulot. A noter aussi qu'on a bien le champ "ctime" et "mtime" pour connaître l'heure de la dernière modification de fichier, mais ça, ça n'a pas l'air terriblement au point (mon nouveau fichier est renseigné comme datant de 1998 :P)
Attention à ne pas oublier "initClockIRQ();" côté ARM7, après irqInit(), sans quoi l'heure restera définitivement bloquée à "epoch". Si vous utilisez l'ARM7 par défaut du devkitpro, aucun soucis.
Tiens, en parlant du devkit, j'avais migré vers la r21 essentiellement pour pouvoir faire des "delete" et des "rename" dans le système de fichier. Bin c'est pas encore ça (rename, notamment, foire bien). Si bien que j'en suis réduit à faire l'appel explicite à la libfat en court-circuitant la "newlib" intégrée :
#include <reent.h>
extern "C" int _FAT_rename_r (struct _reent *r, const char *oldName, const char *newName);
// ...
{
struct _reent err;
if (_FAT_rename_r(&err, name, "/data/seds/backup.spr")<0)
iprintf("failed to backup %s",name);
else
iprintf("%s moved to /data/seds/backup.spr")
}
après avoir reçu des fichiers en 1969 sous dkp-r32, hier, je constate que le code ARM7 du projet nitrotracker utilise rtcReset() au lieu de initClockIRQ(). Insuffisant, apparemment.
ReplyDelete