90

oui, on parle du câble TI-TI là
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

91

et vu que les microjacks se trouvent plus facilement en femelle, tu fais ton câble comme ça et tu mets ton câble ti au bout ^^
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

92

93

CRC error
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

94

squalyl (./92) :
ack.
c95a190c887ef1b1364f620409d4171a.jpg
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

95

96

Bon donc martiens a part, je commande les composants lundi, et devrait les recevoir mardi, donc possibilité de faire des tests avant fin de semaine prochaine smile

Ayant 3 PCB proto, si le premier marche, je monte les deux autres et on pourra faire des tests a l'AC smile
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

97

Hier midi j'ai mangé avec squalyl et à table je lui disait que je pensai savoir pourquoi je n'étais pas parvenu à faire fonctionner les IRQ comlynx...

Et j'avais raison !

Mais y'a pas de quoi en être fier...

Je m'évertuais à tester l'IRQ RX alors que j'activais la TX dans le registre de contrôle ^^

En mettant l'autre à la place ça marche vachement mieux ^^

J'ai fait un programme qui déplace un carré sur l'axe Y, l'axe X étant la valeur mise à jour par l'interruption... avec le câble connecté au port série du PC, je peux envoyer la nouvelle position
MOV00150.webm
et même avec deux cartouches contenant le même programme les deux lynx réagissent en même temps !
MOV00152.webm

(bon, la balise média marche pas :/)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

98

#include <lynx.h> #include <lynxlib.h> /* LYNX-specific #defines: */ #define JOY_RIGHT 0x10 #define JOY_LEFT 0x20 #define JOY_DOWN 0x40 #define JOY_UP 0x80 #define BUTTON_OPTION1 0x08 #define BUTTON_OPTION2 0x04 #define BUTTON_INNER 0x02 #define BUTTON_OUTER 0x01 #define BUTTON_PAUSE 0x01 struct _timer timerV at 0xfd10; char SCREEN[8160] at (MEMTOP-16320); char RENDER[8160] at (MEMTOP-8160); char drawPending; char pal[] = { 0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x08,0x0F,0x08,0x00,0x0F,0x00,0x08,0x0F, //0G 0x00,0x0F,0x4F,0x0F,0x00,0xF0,0xF8,0x00,0x88,0x8F,0xFF,0xFF,0xFF,0x80,0x8F,0xFF //BR }; unsigned char x; unsigned char y; VBL() interrupt { if (drawPending) { SwapBuffers(); drawPending = 0; } } SER() interrupt { DisableIRQ(4); POKE(0x10,0xFD80); x=serdat; EnableIRQ(4); } void Vsync() { #asm vretrace: lda $fd0a bne vretrace #endasm } char WaitButton() { char key; while ( (key = joystick) == 0); while ( joystick ); return key; } void ComLynx_Init() { //timer4.reload = 12; /* 9600 bps */ //timer4.control = 0x18; /* Horloge 1 MHz, rechargement auto activé, timer activé */ POKE(0xFD10,12); POKE(0xFD11,0x18); serctl = 0x5D; /* Parité paire, mode collecteur ouvert, interruptions désactivées, reset des erreurs, break désactivé */ /* Effacement du buffer de réception */ while (serctl & 0x40) { unsigned char c; c = serdat; } InstallIRQ(4,SER); EnableIRQ(4); } /* Réception d'un octet */ unsigned char ComLynx_ReceptionOctet() { while (!(serctl & 0x40)); /* Attend qu'un octet ait été reçu */ return serdat; /* Retourne l'octet reçu */ } /* Envoi d'un octet */ void ComLynx_EnvoiOctet(octet) unsigned char octet; { while (!(serctl & 0x80)); /* Attend que l'émetteur soit prêt */ serdat = octet; /* Envoie l'octet */ ComLynx_ReceptionOctet(); /* Comme Tx et Rx sont communs, chaque octet envoyé est reçu, on l'efface donc du buffer de réception */ } /* Envoi d'une chaîne de caractères */ void ComLynx_EnvoiChaine(chaine) unsigned char *chaine; { unsigned char c; while ((c = *(chaine)++) != '0') ComLynx_EnvoiOctet(c); } char main(){ InitIRQ(); CLI; SetBuffers(SCREEN, RENDER ,0); InstallIRQ(2,VBL); EnableIRQ(2); SetRGB(pal); drawPending=1; Vsync(); x=0; y=0; ComLynx_Init(); for(;;){ DrawFBox(0,0,160,102,0); DrawFBox(x,y,5,5,5); Vsync(); drawPending = 1; y++; if(y>100) y=0; } }
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

99

\o/
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

100

Bon, je ferai bien des tests un peu plus poussés mais je suis coincé : "avant" j'utilisai MSCOMM32.OCX dans un VBA à l'arrache pour avoir de quoi faire des réponses "automatiques"... et sous win 7 avec office 2013 64bits ce contrôle n'existe plus... on fait comment aujourd'hui pour communiquer avec le port série ? je vais tout devoir me coltiner à la main via un terminal ?
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

101

102

Vince > top

Et si tu n'as pas envie de faire plaisir à Flan, tu peux utiliser VB.net (ou C#) et la classe intégrée pour gérer les ports série.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

103

vince (./100) :
Bon, je ferai bien des tests un peu plus poussés mais je suis coincé : "avant" j'utilisai MSCOMM32.OCX dans un VBA à l'arrache pour avoir de quoi faire des réponses "automatiques"... et sous win 7 avec office 2013 64bits ce contrôle n'existe plus... on fait comment aujourd'hui pour communiquer avec le port série ? je vais tout devoir me coltiner à la main via un terminal ?

Si si il existe toujours, il faut le télécharger et l'enregistrer à la main. J'ai fait un ptit soft en vb pour ma boite et je l'ai inclus avec, ça tourne impec sur 7/8/10 en 32 ou 64bits.

Après c'est plus élégant de passer par Python ou Node.js car il y a des limites avec mscomm32.ocx (bugs de détection de certains ports (ftdi ou prolific) et limitation d'adressage de COM1 à COM16 (peut être contourné via un patch hexa))
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

104

Node.js pour faire du serial? Heuuuuu Deja python je trouve ca overkill mais node? o_O
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

105

c'est se faire des noeuds au cerveau.

106

Godzil (./104) :
Node.js pour faire du serial? Heuuuuu Deja python je trouve ca overkill mais node? o_O

c'est pas le plus simple en effet mais c'est là où ça bouge le plus en ce moment. Il n'y a qu'à voir le domaine des IDE arduino & co qui migre là dessus. Perso je connais aussi un exemple de soft qui est passé de l'applet Java pour discuter en serial à la solution node.js (mais là c'est un soft orienté web donc le choix est plus logique). Bref pour un petit projet RS232 en one shot VB commence à être sur la sellette et Pyton est très bon.
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

107

Sans etre méchant, mais désolé mais utiliser node pour ca me donne la gerbe... Cet environement est un des plus mal fichu, et viens juste devant Ruby sur mon echelle perso. (ruby etant le pire)

Sinon pour plus d'info sur FelinæPurr, mon site sera le plus aproprié: http://www.986-studio.com
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

108

Pour l'implémentation du réseau, je vous propose un sujet séparé : topics/187553-protocole-reseau-lynx-de-type-onewire-idees-de-conception
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

109

Je pensai avoir trouvé une idée : singer le protocole d'un jeu commercial existant...

Je peux dumper les échanges Checkered Flag parce que j'en ai deux cartouches : 2 lynx avec le jeu connectés à l'éntrée série du pc et on écoute...

J'aivais déjà vu la phase d'annonce, j'ai tenté de bidouiller et je comprenais pas trop pourquoi j'étais ignoré...

J'ai donc lancé handebug et regardé un peu les registres....
00FD10 01 18 00 01 00 8E 9D 00 3A 9E 1B 08 00 00 00 00 ........:.......
0xFD11 vaut 0x18 soit 0b00011000 qui se traduit en timer actif avec reload, délai à 1µs
si on regarde la valeur de reload (backup) à l'adresse 0xFD10 on voit 0x01...

Le calcul est le suivant : Horloge4 / ( Timer4 + 1 ) / 8

On obtient 62500 Bauds : paramétrage pas dispo sur mon port série il me semble :/

(je revérifierai à l'occasion)

Je suis quand même surpris que des données aient pu être interceptées en écoutant à 9600...confus
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

110

C'est bizarre cette vitesse non standard, la plus proche standard c'est 57600 ensuite c'est 1115200.
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

111

t'as du intercepter n'importe quoi

sur ftdi tous les baud rates sont possibles.

112

Squalyl: oui tu peux mettre ce que tu veux comme valeur (et encore) mais si tu regle a 9600, il ecoute a 9600 pas a 115200.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

113

Oui a 9600 il a pu prendre des séquences de zeros comme start bit, suivi de pas mal de garbage grin

114

Jonas (./110) :
C'est bizarre cette vitesse non standard, la plus proche standard c'est 57600 ensuite c'est 1115200.
Avec les ports série PC classiques, oui, mais y'a d'autres standards de vitesses sur d'autres machines.
Les vitesses sont toujours des sous-multiples entiers d'une vitesse de base.

Pour les ports séries standards de PC, la vitesse de base est 115 200 bauds (1.8432 MHz / 16). Certains supportent en plus une base 2, 4 voire 8x plus élevée (230 400, 460 800 et 921 600 bauds).

Pour la Lynx, la vitesse de base est 125 000 bauds (1 MHz / 8), avec un diviseur minimum de 2.

Pour les FTDI (et certains autres convertisseurs USB-série d'autres marques), la vitesse de base est 3 Mbps (48 MHz / 16).

Y'a une tolérance qui fait que même si ça tombe pas exactement sur un sous-multiple entier, ça fonctionne tant qu'on n'est pas trop loin (1 à 3 %, suivant les sources et les paramètres de communication). Du coup la Lynx peut faire du 9 600 bps (125 000 / 13 = 9 615), et les FTDI peuvent faire du 115 200 bps (3 000 000 / 26 = 115 385). Pour la combinaison Lynx/FTDI, ça tombe juste par contre (3 000 000 / 62 500 = 48).
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

115

116

Ah oui c'est vrai, j'y ai pensé après coup, je devais modifier le message mais j'ai oublié. Merci smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

117

bah faut croire que mon adaptateur usb n'est pas "ftdi"... ou alors c'est hterm qui ne propose pas toutes les valeurs souhaitées... (c'est un "prolific" à en croire le driver)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

118

119

bah le tableau baudrate setting ne liste pas de valeur approchante... :/
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

120

regarde les colonnes de gauche, y'a probablement d'autres settings possibles.