Afficher un message
Vieux 24/09/2006, 18h45   #203 (permalink)
Profil
SiZiOUS
ドリームキャストメンバー
Ancienneté  85%
Ancienneté 85%
 
Avatar de SiZiOUS
 
Date d'inscription: mai 2006
Âge: 39
Pays :
Messages: 914
Téléchargements: 0
Uploads: 0
Merci: 51
Remercié 60 fois dans 30 Posts
Par défaut

Citation:
Envoyé par L@Cible Voir le message
_edd_ ! tu semble en connaître plus que moi sur cet valeur LBA . Sait tu comment la calculer ?
J'ai retrouvé ça dans mon dossier search de cdi4dc... mais je ne sais plus à quoi ça correspond exactement (mouarf j'ai pas mis de commentaires... ) :

Code:
int main(int argc, char* argv[]) {
    
    unsigned int datalength;
    
    if (argc < 2) {
        printf("syntax : gap [data sector length]\n");
        return 1;
    }
    
    sscanf(argv[1], "%d", &datalength);
    
    // LBA c'est aussi = (((M*60)+S)*75+F)-150
    
    printf("Outer Lead Out : %d\n", ((11702 + datalength)) - 150);
    
    return 0;
}
Sinon j'ai aussi un autre prog de "recherche" que j'avais fait mais là encore, pas de comms donc je ne sais plus à quoi ça correspond (je sais juste que je m'en servais pour calculer une valeur quelqu'onque à foutre dans l'header du CDI) :
Code:
/* Conversion function: from logical block adresses  to minute,second,frame
 */
int lba_2_msf (long lba, int *m, int* s, int* f) {

#ifdef  __follow_redbook__
    if (lba >= -150 && lba < 405000) {      /* lba <= 404849 */
#else
    if (lba >= -150) {
#endif
        lba += 150;
    } else if (lba >= -45150 && lba <= -151) {
        lba += 450150;
    } else
        return 1;

    *m = lba / 60 / 75;
        
    lba -= (*m)*60*75;
    *s = lba / 75;
    lba -= (*s)*75;
    *f = lba;

    return 0;
}

int msf_2_lba(int m, int s, int f) {
    int lba;

    lba = (((m * 60) + s) * 75 + f) - 150;
    
    return lba;
}

int main(int argc, char* argv[]) {
    
    unsigned int m, s, f, lba, sizeofdatatrack;
    
    if (argc < 2) {
        printf("syntax : lba <msinfo>\n");
        return 1;
    }
    
    sscanf(argv[1], "%d", &lba);
        
    lba_2_msf(lba, &m, &s, &f);
    lba = msf_2_lba(m, s, f);
    
    printf("MSINFO (LBA)   : %d\n", lba);
    printf("MSF            : %02d:%02d:%02d\n", m, s, f);
    //301 = nb secteurs track audio
    //11702 = notre msinfo/lba pour commencer track02
    // le 150 chai pas c'est comme ça
    printf("Outer Lead Out : %d\n", ((301 + 11702 + (lba - 1))) - 150);
    //outel lead out valeur donnée par pfctoc.dll de padus, ce calcul donne la m value
    return 0;
}
__________________
[big_fury]SiZiOUS, http://sbibuilder.shorturl.com/

Dernière modification par SiZiOUS ; 24/09/2006 à 18h48.
SiZiOUS est déconnecté   Réponse avec citation