Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Comm entre 35+ non modées
Telec Hors ligne Membre Points: 33 Défis: 0 Message

Comm entre 35+ non modées

Posté le 04/09/2014 19:33

Bonjour,
je continu le sempiternel sujet : "Chat en temps réel avec le câble", mais cette fois, ça marche (ou presque).

Muni de mon fidèle ami l'analyseur logique (et avec l'aide d'un article du Circuit Cellar oct 1998), j'ai réussi à percer le secret de la communication inter-casio (je peux donner plus de détails pour ceux que ça intéresse).
Bref, il ne me faut plus que décoder leur système numéraire et on pourra communiquer avec n'importe quel µC, et par conséquent, entre calculettes.

La fonction send() envoie 16 octet sous cette forme : 00111010 (':' en ASCII) 00000000 00000001 00000000 00000001 -- 10 octets de données -- Checksum.
Et mon problème c'est que je n'arrive pas à déterminer à quoi correspond cette donnée, par exemple, 16 s'écrit : 00000001 01100000 -- 6 octet à 0 -- 00000001 00000001, et 1.6 : 00000001 01100000 -- 6 octet à 0 -- 00000001 00000000.

Si vous avez une idée du fonctionnement, ou si vous voulez plus de détails, n'hésitez pas !


Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 04/09/2014 19:40 | #


Il s'agit du BCD
En gros, chaque chiffre décimal est codé sur un demi octet, donc un octet complet peut contenir des nombres de 0 a 99 (le nom veut dire décimal codé binaire )

exemple : 22 = 0010 0010 83 = 1000 0011

Je pense qu'il est utilisé en combinaison d'une virgule flottante, et donc l'exposant du nombre serait indiqué a la fin (par exemple, 1*10^45 devrait avoir un 45 (codé en BCD) a la fin
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Lephenixnoir En ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 04/09/2014 20:17 | #


Oui, les valeurs dans le système utilisent une base BCD.
Quelque infos utiles sont sur cette page.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Telec Hors ligne Membre Points: 33 Défis: 0 Message

Citer : Posté le 04/09/2014 20:31 | #


Haaann ouais, j'avais pas du tout pensé à ça ! Moi j’étais partis à voir comment sont construits les float et tout...

Reste que l'exposant (apparemment codé sur les 2 derniers octets), ça a pas l'air d'être du BCD (ou je vois mal), pis il doit y'avoir deux sign bits (pour le nombre + l'exposant -à moins que ce soit un truc du type E-1023) : pour -16 : 01010001 00000001 et pour -1.6 : 01010001 00000000.

Quoi que après réflexion le dernier octet semble être l'exposant. Mais alors à quoi sert l'avant-dernier ?

Merci pour ton aide en tout cas, tu m'a bien fais avancer.

EDIT: Oups, raté ton message Lephenixnoir, j'vais jeter un œil, ça à l'air bien sympa !

Ajouté le 04/09/2014 à 21:59 :
Donc, finalement, c'est bien du BCD : le premier demi-octet c'est le signe (+:0, -:5) et les trois autres c'est l'exposant, auquel il faut enlever 100.
Je reviendrais dans pas longtemps avec un programme de chat (sur Arduino et Attiny) et p'tête même un clone du EA-200.
Et encore un fois, merci pour votre aide !
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 04/09/2014 22:04 | #


De rien Présente nous de beaux programmes
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Lephenixnoir En ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 05/09/2014 06:20 | #


C'est bien peu d'aide pour ce que tu nous prépares J'attends ça avec impatience
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Telec Hors ligne Membre Points: 33 Défis: 0 Message

Citer : Posté le 06/09/2014 21:17 | #


Voilà ! J'ai commencer de finir !
Tout sur mon site: https://sites.google.com/site/telectroniques/articles/casiocom
Bon, c'est encore de la pur alpha (voire moins), mais ça marche !

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 194 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd