Quote:
beaucoup plus grand qu'écrire un bout de code
Toute la question est là. Je crains que le "bout de code" ne soit un peu gros, et aussi que les difficultés à écrire les thunks coûtent cher en terme de temps. Je l'ai fait une fois (en flat thunk pas en generics) et je n'en garde pas un bon souvenir :(
Quote:
Porter tt l'appli. change complètement la nature/l'étendu du boulot à faire.
La nature oui :)
L'étendue, hum faut voir.
Quote:
Mais je me demande maintenant si j'ai encore raison.
C'est le genre de décision qu'il faut réfléchir longuement avant de se lancer.
Mais de toutes façons il y a quelque chose qui pèse très lourd dans la balance: tu ne peux pas reprendre ton code DOS tel que. Tu dois le porter vers Win 16 pour pouvoir appeler une dll. et ce ne sera pas de la tarte car probablement ton code est en mode réel. Tu devras le ré-écrire en mode protégé pour que ça marche avec les thunks (à vérifier toutefois) et déjà ça, rien que pour retrouver les vieilles documentation, c'est déjà tout un boulot :( Quitte à porter vers Win, moi je choisirais directement le 32 :)
Quote:
Question: comment savoir si je sui en mode protégé DMPI ou réel
Si tu n'en sais rien, tu es probablement en mode réel. Si oui, tu ne verras pas au début du code d'instructions "bizarres" qui basculent le processeur en mode protégé (me rappelle plus lesquelles, c'est vieux :oops: ) et tu verras plein d'appels classiques à BIOS et DOS sous forme de int13 int 21. Si c'est le cas, ça, ça ne marchera pas je pense avec les thunks et tu devras ré-écrire en mode protégé. Mais... voir plus loin
Donc si tu n'es pas en mode réel tu vas le voir puisque tu n'aurais pas de int 21 mais d'autre compliqués qui émulent les premiers
Mais disais je, dans tous les cas, pour faire ce que tu veux faire, il faut être capable d'appeler une dll windows 16 bits. En DOS mode réel on ne peut pas, c'est sûr, donc tu dois tout changer, et en mode DPMI, je ne pense pas que l'on puisse non plus, donc tu dois tout changer, c'est à dire porter ton code assembleur en Win16 ce qui est une grosse galère. Et tu vas alors te heurter immanquablement à DMPI dans l'autre sens, c'est à dire pour émuler les anciens appels DOS depuis ton code Win 16
Heu je ne sais pas si je suis très clair.
:oops:
Et après tout ça, faut écrire les thunks. Alors je te résume ma pensée: Pas un "bout de code" mais une grosse galère. AMHA.
Je préfère que ça soit toi qui le fasse que moi :)
Toute la question est là. Je crains que le "bout de code" ne soit un peu gros, et aussi que les difficultés à écrire les thunks coûtent cher en terme de temps. Je l'ai fait une fois (en flat thunk pas en generics) et je n'en garde pas un bon souvenir :(
La nature oui :)
L'étendue, hum faut voir.
C'est le genre de décision qu'il faut réfléchir longuement avant de se lancer.
Mais de toutes façons il y a quelque chose qui pèse très lourd dans la balance: tu ne peux pas reprendre ton code DOS tel que. Tu dois le porter vers Win 16 pour pouvoir appeler une dll. et ce ne sera pas de la tarte car probablement ton code est en mode réel. Tu devras le ré-écrire en mode protégé pour que ça marche avec les thunks (à vérifier toutefois) et déjà ça, rien que pour retrouver les vieilles documentation, c'est déjà tout un boulot :( Quitte à porter vers Win, moi je choisirais directement le 32 :)
Si tu n'en sais rien, tu es probablement en mode réel. Si oui, tu ne verras pas au début du code d'instructions "bizarres" qui basculent le processeur en mode protégé (me rappelle plus lesquelles, c'est vieux :oops: ) et tu verras plein d'appels classiques à BIOS et DOS sous forme de int13 int 21. Si c'est le cas, ça, ça ne marchera pas je pense avec les thunks et tu devras ré-écrire en mode protégé. Mais... voir plus loin
Donc si tu n'es pas en mode réel tu vas le voir puisque tu n'aurais pas de int 21 mais d'autre compliqués qui émulent les premiers
Mais disais je, dans tous les cas, pour faire ce que tu veux faire, il faut être capable d'appeler une dll windows 16 bits. En DOS mode réel on ne peut pas, c'est sûr, donc tu dois tout changer, et en mode DPMI, je ne pense pas que l'on puisse non plus, donc tu dois tout changer, c'est à dire porter ton code assembleur en Win16 ce qui est une grosse galère. Et tu vas alors te heurter immanquablement à DMPI dans l'autre sens, c'est à dire pour émuler les anciens appels DOS depuis ton code Win 16
Heu je ne sais pas si je suis très clair.
:oops:
Et après tout ça, faut écrire les thunks. Alors je te résume ma pensée: Pas un "bout de code" mais une grosse galère. AMHA.
Je préfère que ça soit toi qui le fasse que moi :)