furrtek (./29) :Tu vois Kuk ? Les vrais codeurs ne boivent pas de vin, eux.
Je tiens toujours à me ruiner la santé avec mes litres de coca.

furrtek (./29) :C'est un peu long pour faire du transfert parallèle comme ça, en pratique c'est la distance à laquelle ça commence à poser problème, surtout si le câble n'est pas blindé. Essaie de réduire à 1 mètre 50 ou moins si tu peux.
Le câble fait 2m à peu près.
Sinon, avec une validation pour 32 octets, ça ne me surprend pas que ça déconne occasionnellement. Sur le programme de transfert pour Jaguar, il y a une validation pour chaque octet, et il arrive quand même que ça déconne (mais il y a un timeout de réception assez serré aussi, c'est possible que ça amplifie les problèmes).
Tu peux essayer d'ajouter un petit délai côté console entre la détection du front descendant de STROBE et la lecture des entrées. Je crois que les problèmes de transfert (en dehors du fait que la console soit assez rapide) viennent que du fait que les niveaux des lignes de données n'ont pas toujours fini de se stabiliser quand tu détectes le STROBE (temps de propagation, rebonds, diaphonie, toussa quoi).
Bon par contre, attends-toi à des soucis si tu veux faire tourner ton soft de transfert sous Windows 2000, XP et suivants :
- l'accès direct aux ports I/O n'est plus possible. Y'a des softs qui permettent de contourner, mais ça n'est pas très fiable. Sinon il y a une DLL qui fonctionne bien, mais ça utilise un driver noyau et ça ralentit fortement les transferts.
- les timings sont aléatoires. Mieux vaux attendre la validation de chaque octet transmis, et ne pas utiliser de timeout, ou alors avec une durée très longue (quelques secondes).
La somme 32 bits marche pas mal (c'est ce qui est utilisé sur Jaguar, et je ne me souviens pas qu'il y ait eu des problèmes de transmission non détectés). Mais un vrai CRC, c'est quand même plus sécurisé (et plus classe

On-line CRC calculation and free library
Sample CCITT CRC Code
Pour ta dernière question, j'avoue que je ne sais pas. À part utiliser des sauts relatifs et du code PC-relatif, je ne vois pas comment faire.