furrtek (./4) :
Zerosquare tu m'avais dit que t'avais fait un UART en asm non ? Je vais tenter quelques expériences ce soir mais je sais pas trop dans que je m'aventure. Tu me conseilles quoi ? Utiliser des handshakes hardware, se baser sur des fronts pour resynchroniser à chaque octet... ?
La resynchronisation à chaque octet, c'est de toute façon indispensable. Le handshake hardware ça peut être une bonne idée, mais est-ce qu'il y a au moins une sortie sur le port joystick de la NeoGeo ? Au pire tu peux le faire en soft avec des octets de contrôle.
Tu peux télécharger le truc que j'avais fait sur Jaguar
ici, la méthode est brièvement expliquée dans le fichier texte qui est dans le ZIP. En gros j'échantillonne à 3 fois le baudrate (c'est le minimum nécessaire pour un fonctionnement fiable d'après mes calculs) ; je détecte le front descendant initial, j'attends l'échantillon suivant, et ensuite je garde un échantillon sur 3 pour avoir chaque bit. Du coup c'est équivalent à échantillonner chaque bit quelque part entre 1/3 et 2/3 de sa durée. L'idéal ce serait de prendre plusieurs échantillons autour de la moitié de la durée (c'est ce que font les UART hardware), mais en pratique ça semble fonctionner correctement tel quel.
Tu ne pourras pas utiliser directement le code vu qu'il est prévu pour le DSP de la Jaguar et non pour le 68000, et qu'il utilise une interruption timer. Il faudrait que je le recode pour 68000, soit en utilisant un timer s'il y en a un sur NeoGeo, soit en comptant les cycles sinon.
(D'ailleurs, le wiki de dév est encore accessible ? J'ai essayé d'y aller il y a quelques jours, mais il m'a dit qu'il fallait un compte)
furrtek (./4) :
J'aimerais bien me baser sur les faux cables nokia pas chers qui donnent que rx/tx.
Bonne idée ! Par contre il faut voir s'ils sont en 5V ou en 3.3V.