Fermer2
vinceLe 20/02/2017 à 14:42
Certains l'ont ptet vu passer, je joue un peu avec le port ComLynx de la console du même nom : topics/153397-adaptateur-comlynx-rs232

Outre l'utilisation d'un câble PC<=>Lynx, le petit programme de test des IRQ fonctionne quand on met plusieurs cartouches en "écoute" : topics/153397-adaptateur-comlynx-rs232/4#post-98

Maintenant, pour l'exploiter dans un jeu j'ai besoin de définir un protocole réseau.

Dans mon idée, j'aimerai avoir un système "communiste" (pas de maitre) et je dois donc réfléchir à deux choses :
1) L'annonce (pendant l'écran titre, où chaque console connectée peut venir se connecter sur le réseau)
2) Les échanges (par un protocole réseau à définir)

Les contraintes :
- C'est du onewire donc 1 seule console peut parler à la fois et tout le monde (elle y compris) entend ce qu'elle dit il faut donc gérer les risques de conflit, les attentes, et les éventuelles collisions
- Le matériel ne propose qu'un octet de buffer réception/émission, pour gérer plus, il faut implémenter un tampon
- C'est à coder en C K&R 8/16 bits avec une taille "limitée" (64ram au total, incluant buffer graphique etc...)
- Il faut que ça soit "résistant" aux défauts (si une console s'éteint/se débranche, ça serait bien de pas planter tlm)
- L'attribution des "ids" doit se faire pendant l'annonce, on part du principe qu'il n'y a pas de peristance pour stocker les adresses (et qu'aucun élément matériel n'est unique)
- Si une console n'arrive pas à chopper toute une trame faut qu'elle puisse l'ignorer


Donc en gros, je m'étais dit que j'allais faire des trames de taille fixe avec ent^te, émetteur, destinataire, type, donnée, fin de trame (avec éventuel checksum).

Mais mes cours de réseau industriels sont loins et je me disai que certains d'entre vous auraient probablement de meilleurs conseils à donner autant pour l'algo que son implémentation...