apres un bon moment de googlage et de bidouille, jme decide a poser ma question :x
bon jveux ouvrir un fichier (sur ma 89)(de type PIC mais c pas important pour l'instant)
en googlant g trouvé ca
[email]
-----------------------------------------------------------------------------------
I) Normal files such as Program file (*.92?)
--------------------------------------------
The following is a table of the bytes that make up the header of a *.92?
file:
Adress What It Contains
---------------------------------------------------------------
0x00-0x07 0-7 **TI92** or **TI92P*
0x08-0x09 8-9 0x01 0x00
0x0A-0x11 10-17 folder name (8 chars)
0x12-0x39 18-57 comment (40 chars)
0x3A-0x3B 58-59 0x01 0x00 (number of vars: 1)
0x3C-0x3F 60-63 0x52 0x00 0x00 0x00 (1)
0x40-0x47 64-71 varname (8 chars)
0x48-0x49 72-73 vartype 0x00
0x4A-0x4B 74-75 0x00 0x00
0x4C-0x4F 76-79 (2)
0x50-0x51 80-81 0xA5 0x5A
0x52-0x.. 82-(n-1) data (raw data part)
0x..-0x.. n-(n+1) checksum (raw data part)
------------------------------------------------------------------------------------[/email]
pour le moment jveux juste recup l'header , donc jme suis fait une petite structure :
typedef struct
{
char CalcType[8]; // 0x00-0x07 0-7 **TI92** or **TI92P*
short Reserved1; // 0x08-0x09 8-9 0x01 0x00
char Folder[8]; // 0x0A-0x11 10-17 folder name (8 chars)
char Comment[40]; // 0x12-0x39 18-57 comment (40 chars)
short Reserved2; // 0x3A-0x3B 58-59 0x01 0x00
long DataOffset; // 0x3C-0x3F 60-63 0x52 0x00 0x00 0x00
char VarName[8]; // 0x40-0x47 64-71 varname (8 chars)
short VarType; // 0x48-0x49 72-73 vartype 0x00
short Reserved4; // 0x4A-0x4B 74-75 0x00 0x00
long CheckOffset; // 0x4C-0x4F 76-79
short Reserved5; // 0x50-0x51 80-81 0xA5 0x5A
} headerTIFile;
ensuite g fait une func de test ds ce style :
headerTIFile tiFile;
...
fread(buffer, sizeof(char), 1024*2, file);
memcpy(&tiFile, buffer, sizeof(tiFile));
printf_xy(0, 10, "0 %s", tiFile.CalcType);
printf_xy(0, 20, "1 %x", tiFile.Reserved1);
printf_xy(0, 30, "2 %s", tiFile.Folder);
printf_xy(0, 40, "3 %s", tiFile.Comment);
printf_xy(0, 50, "4 %x", tiFile.DataOffset);
printf_xy(0, 60, "5 %s", tiFile.VarName);
printf_xy(0, 70, "6 %x", tiFile.VarType);
printf_xy(0, 80, "7 %x", tiFile.CheckOffset);
printf_xy(0, 90, "8 %x", tiFile.Reserved5);
et j'obtiens des valeurs completement incoherente (je n'obtient meme pas le type de TI)
ca doit surement etre un truc tout simple encore mais j'commence a etre fatigué la
jmy remet demain

++ merci ++