Donc apres avoir analysé tout ca il semblerait que l'appel de LIO_Send utilise une structure comme ca :
-0x30
HANDLE (word)
-0x2E
j'en_sais_rien (long)
-0x2A
char*name (long)
-0x26
size (long)
-0x22
0 (word)
-0x20
0 (word)
-0x1E
quelquechose (byte)
-0x1D
compat (byte)
ce qui correspondrait a un LIO_CTX de la forme :
typedef struct {
short handle;
long l;
char * name;
long size;
short z;
short z2;
char type;
char compat;
} LIO_CTX2;
au lieu de
typedef struct {
unsigned short hVar; /* File handle (or 0 if no handles associated) */
union {
const void *pVar; /* Pointer to the file, used only if hVar is 0 */
struct {
unsigned short FindFlags;
unsigned short NameSym;
} DirVars; /* Used only if hVar is non-zero */
} extra;
const char *VarName; /* Pointer to the var name (ordinary C string) */
unsigned short VarSize; /* Size of the variable */
unsigned short Index; /* Only for CBL access - data sent as float array */
unsigned short Unknown; /* Sent after index */
unsigned char VarType; /* See below */
unsigned char VarCompat; /* See info about SYM_ENTRY in vat.h */
} LIO_CTX;
j'ai fait un petit prog en C pour tester avec cette struct LIO_CTX2 et j'ai reussi a transmettre une variable ASM et a l'executer sur l'autre calc, je suppose donc que ca marche. Reste un petit probleme j'ai du arreter la transmission en appuyant sur ON sur la calc receptrice.
Voila le prog en C :
typedef struct {
short handle;
long l;
char * name;
long size;
short z;
short z2;
char type;
char compat;
} LIO_CTX2;
// Main Function
void _main(void) {
FILE*f;
f = fopen("fich","rb");
char s[] = "aaaa";
LIO_CTX2 file2;
file2.handle = f->handle;
file2.l = 0x00000000;
file2.name = s;
file2.size = 2375; // la taille du prog (vu dans le var_link)
file2.z = 0;
file2.z2 = 0;
file2.type = 33;
file2.compat = CF_NONE;
LIO_Send ((LIO_CTX*)&file2, 0x98);
fclose(f);
}
il faudrait donc changer :
la doc de sendcalc car apparement on peut passer autre chose qu'un SYM_STR en entrée
la doc de sendcalc car AllowSysVar c'est pas vraiment explicite de ce que ca fait
la definition de LIO_CTX
etc...
Bon au fait j'ai commencé l'assembleur 68k y'a 2 jours donc y'a surement des erreurs dans ce que j'ai dit
