Planète Casio - Tout le forum - Flux RSS http://www.planet-casio.com Programmes Casio, Jeux, Cours pour Calculatrices Casio fr-FR https://www.planet-casio.com/images/logo.gif Planète Casio - Tout le forum - Flux RSS http://www.planet-casio.com 55 50 Programmes Casio, Jeux, Cours pour Calculatrices Casio. Sat, 26 Sep 2020 09:16:09 GMT Sat, 26 Sep 2020 09:16:09 GMT contact@planet-casio.com (Planet Casio) contact@planet-casio.com (Planet Casio) 5 G1a sur graph 90+e https://www.planet-casio.com/Fr/forums/topic16482--.html Bonjour ! J'ai vu ce programme : https://www.planet-casio.com/Fr/programmes/programme2539-1-deadly-world-3d-nessotrin-jeux-add-ins.html J'aimerais le mettre sur ma graph 90+e Y'a t il un moyen de le faire ? Ou de décompiler le G1A pour le metrre sur la graph 90+e ? Merci ! Fri, 25 Sep 2020 20:39:27 +0200 [Topique d'entraide] Le défi de Xuanwu https://www.planet-casio.com/Fr/forums/topic16481--.html Bonjours à toutes et à tous, et bienvenue sur le topique d'entraide pour le premier défi python du concours de rentrée 2020 Vous pouvez partager ici vos astuces, idées ou découverte, ou voir ce que les autres font. Rappelons tout de même que de poster directement des solutions est considéré comme de la triche et est donc interdit (du moins c'était le cas il y a deux ans et aucunes idée pur cette année ^^ ) Tout d'abord, le défi cette année semble être de guider à travers un labyrinthe une machine à coup de tourner à gauche/droite d'un angle θ et avancer. Pour avoir une participation valide, il faut compléter le labyrinthe, et pour gagner, faire ceci avec le minimum d'énergie/score (un peu de patience, j'y viens). On a donc 3 fichiers à notre disposition: - labytest.py qui sert à soumettre votre proposition - polycalc.py qui permet d'uniformiser le dessin sur tous les modèles et floutant la limite entre la folie et le génie - laby.py celui qui nous intéresse, contenant les fonctions de mouvement/calculs de score. Maintenant que les banalités sont sous le tapis passons à la partie plus intéressante, celle ou je vous décortique le programme ;) Donc, il y a beaucoup de chose dans ce court fichier: - De nombreuse fonction pour le hasard, elles servent à créer le labyrinthe afin qu'il soit généré procéduralement (mais comme tout le monde a la même seed minecraft, on a tous le même) pas grands chose à creuser de ce côté - quelques fonctions de tracés, aucun commentaire. Concentrons-nous à présent sur comment agir sur l'environnement: - La foreuse est représentée par une liste de 7 nombres: - X, Y, θ, une copie de X, une copie de Y, et score1, score2 et score3 (plus connues sous le nom `state` dans le code) - Les fonctions tourner vont changer θ du nombre de radian indiqué dans le sens horaire (droite) ou anti-horaire (gauche). - La fonction avancer va effectuer des pas en avant de 0.25 (selon l'angle θ actuel). Enfin le score: - Le score final est calculé en faisant score1 moins la division euclidienne de score2 par deux plus le sinus de score3( `score = scrore1 - score2//2 + sin(score3)`) - Touner de θ augmente score1 par `5 +cout(θ)` et de score3 de θ - Avancer augmente score1 de `8+cout(l)` et score3 de `l` - Avancer augmente score2 de 1 par pas de 0.25, soit de `4*l` au total (et donc diminue le score final de `2*l` ramené à l'entier inférieur) - Si vous rencontrez un mur, score1 augmente de 15 et la fonction s'arrête (ne vous donnant pas vos points dans score2) La fonction `cout` est en fait la suivante: def cout(a): return len(str(round(abs(x)/1.,5) Donc dans l'ordre: - `abs` met votre nombre a la valeur absolue - `/1.` convertie ce dernier en nombre a virgule - `round` ne garde que 5 chiffres après la virgule - `str` transforme le tout en chaine de caractères - `len` renvois la longueur de cette chaine de caractères Ce que cela signifie, c'est que `score1` augmentera du nombre de caractères dans `a`, mais: - le potentiel signe moins est ignoré - 1 est convertie en 1.0, donc niveau score c'est la même que 1.2 - les chiffres ne sont comptés que jusqu'à 5 place après la virgule Enfin derniers détails: - `score2` ne peut pas être plus grand que 200. - `fix_angle(a)` renvoi `a` Et voilà, c'est tout pour moi, la stratégie semble donc de faire les plus grandes lignes droites possibles avec le minimum de virages. Sur ce bonne chance et que la meilleure gagne ♥ Thu, 24 Sep 2020 18:57:47 +0200 Projet de jeu pour débutant : Showdown https://www.planet-casio.com/Fr/forums/topic16480--.html Bonjour Je me lance dans un nouveau projet : Un pokemon du type Showdown sur Casio graph90+E (https://pokemonshowdown.com/) où l'on choisis son équipe, ses objets... avec les graphismes du type Noir et Blanc. Avec un mode Joueur vs IA et un mode 2 joueurs (2 calculatrices) Thu, 24 Sep 2020 14:14:42 +0200 Concours de rentrée 2020 - Défi Python de Xuanwu ! https://www.planet-casio.com/Fr/forums/topic16479--.html Salut à tous ! Comment les années précédentes, TI-Planet et Planète Casio organisent un concours de rentrée, une série de défis ouverts à tous pour profiter de logique, de programmation, et de calculatrices graphiques ! :D concours-rentree-2020-banner.png Après le concours Galactik, le triconcours et le concours de rentrée 2019, nous sommes de retour avec de nouveaux défis ! Grâce à l'adoption des fonctions de tracés en Python sur la majorité des modèles de calculatrices lycée, cette quatrième édition du concours te propose trois défis tous en Python qui seront lancés chacun à leur tour. ;) • Le défi de Xuanwu est un exercice de tracé à la tortue, qui commence dès maintenant et est ouvert jusqu'à 18 Octobre 2020 à minuit. • Le défi de Quetzalcoatl est un exercice de tracé par coordonnées. • Le défi du Léviathan est un problème d'intelligence artificielle. Ces défis sont ouvert à tous et conçus pour être abordables dès le collège. Ce sont des jeux dans lequel tu dois utiliser un programme pour accomplir une tâche tout en maximisant un score ou en minimisant un coût. Dans le jargon on appelle ça un « problème d'optimisation », et si ça peut sembler compliqué tu verras que c'est en fait très simple. :) Pour chaque défi, nous te fournissons un programme Python dans lequel tu peux programmer ta solution avant de l'envoyer. Grâce au travail de Critor, tu peux concevoir ta solution sur pas moins de 13 modèles de calculatrices Python ! Tu peux participer à toutes les épreuves que tu veux et même envoyer plusieurs solutions pour la même épreuve si tu arrives à améliorer ton score. N'hésite pas à faire beaucoup de tests ! :D Les lots de cette année comprennent nombre calculatrices Python moyen et haut-de-gamme, ainsi que des raretés de goodies quasiment exclusifs à cette date, parfaits pour les fervents fans ! Le concours de rentrée est l'événement à ne pas rater ! ;) Le défi Python de Xuanwu, le serpent-tortue Alors que tu randonnais sur les causses du Larzac accompagné·e de ta calculatrice favorite, voici que tu découvres une profonde cavité cachée derrière un imposant rocher. Maladroit, tu glisses sur l'herbe mouillée et chutes d'une façon ironiquement prévisible dans la caverne. :p Une fois tes esprits repris, à la lumière de ta calculatrice tu notes s'étendant devant toi un dédale de couloirs, en grande partie obstrué de terre et pierres. Un trésor géologique dont l'admiration n'est surpassée que par le mystère d'un véhicule d'excavation entreposé sous la terre et la poussière. D'une technologie semble-t-il encore jamais vue, l'excavatrice est un assemblage de pièces de pierre couplées à un métal qui t'es inconnu. À peine t'en approches-tu que la machine se met à vrombir, et un mystérieux script de contrôle Python se télécharge comme par magie dans ta calculatrice... https://i.imgur.com/sPN7QG8.gif Des malins auront remarqué une subtile indication de direction dans un coin de l'image. Cependant, à la surprise de tous, la machine peut bel et bien tourner à gauche ! Ta chute a affaissé le rocher qui cachait l'entrée, aucune remontée n'est possible. Afin de retrouver la lumière du jour, te voilà forcé de piloter l'excavatrice jusqu'à la sortie du labyrinthe géologique qui s'étend devant toi. Mais si la machine semble bien démarrer, difficile de savoir pour combien de temps. Elle arrive à peine à avancer et les foreuses sont hors d'état de marche. Il va donc falloir contourner les roches et économiser ta consommation d'énergie durant le trajet... Le défi se compose des 3 scripts Python que tu peux télécharger en bas de cet article. • `polycalc.py` est la bibliothèque de compatibilité graphique permettant au défi de se lancer sur les 13 environnements Python supportés par ce concours. • `laby.py` contient la description du labyrinthe et les règles du jeu. À toi de voir ce que tu peux en tirer ! • `labytest.py` est un exemple de soumission au concours. L'excavatrice dispose de 3 contrôles pour tourner et avancer, représentés par 3 fonctions `avancer()`, `a_gauche()` et `a_droite()` que tu dois utiliser pour atteindre la sortie. Voici un exemple de contrôle qui déplace la machine entre les premiers murs du labyrinthe : #cas from laby import * def chemin(): avancer(1.5) a_droite(1.5707963267948966) avancer(1) Tu peux l'évaluer pour obtenir ton score avec la fonction `aller_selon` de `labytest.py`. from labytest import * aller_selon(chemin) https://i.imgur.com/yoOTRVL.png https://i.imgur.com/zxUmpZF.png Ton programme peut utiliser tous les outils Python de ton choix pour calculer son `chemin()` et prendre des décisions. Tu peux notamment créer des variables, des boucles, ou des fonctions. Tu peux aussi démonter l'excavatrice et étudier le code que nous avons concocté dans `laby.py` si tu veux comprendre le fonctionnement de cette machine antique. :p Attention cependant, tu n'as pas le droit de lire ou modifier des éléments de `laby.py` autrement qu'en utilisant les trois fonctions `avancer()`, `a_gauche()` et `a_droite()`, sous peine de casser la machine et rester enfermé à jamais. :!: Comment participer Pour participer, envoie ta participation par mail à l'addresse `info@tiplanet.org` avec : • En objet, « Défi de Xuanwu » • Ton adresse postale complète avec ton nom et prénom • Ton adresse mail (si différente de celle utilisée pour l'envoi) • En option, ton pseudonyme sur TI-Planet ou Planète Casio (utilisé pour la liste des participants à la fin du concours) • Un numéro de téléphone personnel valide (utilisé uniquement en cas d'urgence, notamment en cas de problème avec une participation ou lors d'un choix de lot contraint par le temps) Les communautés de TI-Planet et Planète Casio sont sensibles aux problématiques d'informations personnelles. Les informations que tu soumets seront utilisées uniquement pour le concours, puis supprimées lorsque l'événement sera terminé et les lots envoyés. ^^ Lots de cette épreuve Il y a 12 lots à remporter dans cette épreuve, fournis généreusement par les constructeurs Casio, Numworks, Texas Instruments, le revendeur Calcuso, Bernard Parisse de l'Institut Fourier (auteur de Xcas/KhiCAS), les associations CreativeCalc et UPECS gérant Planète Casio et TI-Planet, ainsi que Hewlett-Packard avec des goodies de 2019 ! À cause de réorganisations importantes chez HP, le service marketing français a été délégué à une entreprise en République Tchèque, ce qui ne nous a pas permis d'obtenir de lots pour l'événement de cette année. Cependant, nous continous de supporter la HP Prime comme plateforme pour les soumissions. ^^ Les participants ayant obtenus les 12 meilleurs coûts au défi pourront choisir chacun à leur tour un lot de leur choix. :arrow: 2 lots Capricorne ♑ comprenant 1 calculatrice Casio Graph 90+E, 1 pack de goodies Casio, 1 goodie Xcas, et 1 pack de goodies TI-Planet & Planète Casio :arrow: 2 lots Bélier ♈ comprenant 1 solution d'émulation Casio, 1 CD de vidéos Casio fx-CG20 ou catalogue de produits Casio, 1 pack de goodies Casio, 1 goodie Xcas, et 1 pack de goodies TI-Planet & Planète Casio Le CD contient 42 vidéos d'environ 8 heures par Jean-Michel Ferrard, originellement conçu pour la fx-CG 20 mais toujours applicable à la Graph 90+E, pour Windows et Mac. La solution d'émulation Casio est au choix parmi : • Une clé USB 8 Go d'émulation permanente, avec les émulateurs fx-92 Scientifique Collège+, Graph 35+E II 3.30, et Graph 90+E 3.40 à jour, pour Windows. Casio a annoncé que les mises à jour seront disponibles pour ces clefs dans le futur. Le modèle blanc est la clé Transcend 2019, le bleu est la clef EMTEC 2020. • Une license de 3 ans permettant d'installer le fx-CP400 Manager (Windows/Mac) et le fx-CG 500 Manager (Windows/Mac). Les deux sont similaires à la ClassPad 400+E. https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=11617 https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=13022&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=13023&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=13025&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=13024&view=no_count :arrow: 1 lot Serpentaire ⛎ comprenant 1 goodie HP, 1 goodie Xcas et 1 pack de goodies TI-Planète-Casio La clé USB HP a une capacité de 16 Go, le poster mesure 59.2x40 cm. https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=13038&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=11654&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=11653&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=9656&view=no_count :arrow: 2 lots Sagittaire ♐ comprenant 1 calculatrice NumWorks N0110, 1 pack de goodies NumWorks, 1 goodie Xcas, et 1 pack de goodies TI-Planet & Planète Casio :arrow: 2 lots Balance ♎ comprenant 1 couvercle NumWorks, 1 autocollant NumWorks, 1 enveloppe ou carte postale ou carte de visite-énigme NumWorks, 1 pack de goodies NumWorks, 1 goodie Xcas et 1 pack de goodies TI-Planet & Planète Casio https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=11649&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=13036&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=13030&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=13026&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=13027&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=13028&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=13029&view=no_count :arrow: 1 lot Taureau ♉ comprenant 1 calculatrice TI-Nspire CX II-T CAS, 1 licence logiciel TI-Nspire CAS élève, 1 pack de goodies TI, 1 goodie Xcas, et 1 pack de goodies TI-Planète-Casio :arrow: 1 lot Lion ♌ comprenant 1 calculatrice TI-Nspire CX II-T, 1 licence logiciel TI-Nspire élève, 1 pack de goodies TI, 1 goodie Xcas et 1 pack de goodies TI-Planète-Casio :arrow: 1 lot Gémeaux ♊ comprenant 1 calculatrice TI-83 Premium CE Edition Python, 1 adaptateur USB, 1 clavier USB, 1 pack de goodies TI et 1 pack de goodies TI-Planète-Casio https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=11624&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=63&image_id=11828&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=590&image_id=11325&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=28&image_id=13060&view=no_count https://tiplanet.org/forum/gallery/image.php?album_id=64&image_id=12281&view=no_count Tu peux trouver le détail des choix de goodies sur l'article TI-Planet annonçant le concours. Un truc tout nouveau de cette année c'est les batteries USB Casio de 2200 mAh, parfaites pour alimenter en urgence une calculatrice qui n'a plus de piles ! :D Ressources et téléchargement du programme • Scripts Python `polycalc.py`, `laby.py` et `labytest.py` Pour participer sur Graph 35+E II, il faut disposer de la mise à jour vers l'OS 3.30 qui introduit les fonctions de dessin en Python. Pour Graph 90+E, il faut de même avoir la mise à jour vers l'OS 3.40. • Mises à jour Python vers l'OS 3.30 et 3.40 Tu peux aussi utiliser un émulateur pour tester le script sur ton ordinateur ! Les émulateurs de Casio sont gratuits pendant 90 jours. ;) • Émulateur Graph 35+E II version 3.30 pour Windows • Émulateur Graph 90+E version 3.40 pour Windows (lien direct) • Émulateur Graph 90+E version 3.40 pour Mac (lien direct) Pour transférer les scripts Python, branche ta calculatrice avec un câble USB à l'ordinateur et appuie sur F1 (Flash USB). Ta Graph 35+E II et ta Graph 90+E se présente comme une clé USB à l'ordinateur. Tu peux alors coller les fichiers dans le dossier principal puis éjecter la pseudo-clé USB. Ensuite, lance les scripts depuis l'application Python ! ;) Pour les autres modèles, vois dans l'article TI-Planet. Tu peux participer avec toutes les combinaisons calculatrice/Python suivantes ! • TI-83 Premium CE Edition Python / TI-84 Plus CE-T Python Edition • Casio Graph 35+E II • Casio Graph 90+E / fx-CG50 • HP Prime en mode CAS • HP Prime avec appli Python intégrée (firmware instable, déconseillé) • NumWorks (y compris Delta et Omega) • NumWorks avec l'appli KhiCAS en mode Micropython (Delta uniquement) • NumWorks avec l'appli KhiCAS en mode de compatibilité Python (Delta uniquement) • TI-Nspire CX II • TI-Nspire avec Ndless et Micropython • TI-Nspire CX/CM avec Ndless et Micropython • TI-Nspire CX avec Ndless et KhiCAS CX Toutes les raisons de participer sont réunies ! Ne perds pas un instant et attrape ta calculatrice ou ton émulateur favori·e pour résoudre dès maintenant le défi Python de Xuanwu ! :D D'autres annonces suivront pour les autres défis, et les résultats lorsque le défi sera terminé. Stay tuned et à bientôt sur Planète Casio ! ;) Article connexe sur TI-Planet : Concours de rentrée 2020 - défi Python de Xuanwu Wed, 23 Sep 2020 19:42:41 +0200 Transfert Casio 90+E https://www.planet-casio.com/Fr/forums/topic16477--.html Quand j'installe un programme sur ma Casio 90+E, il bug et certains fichiers sont placés dans un dossier SAVE-F dans la mémoire de la calculatrice. J'ai essayé des programmes plus simples mais ils bug aussi. Tue, 22 Sep 2020 18:48:52 +0200 Bug jeu .g1a Casio Graph 35+ E 2 https://www.planet-casio.com/Fr/forums/topic16476--.html Une fois collés sur ma calculatrice les jeux en .g1a ne fonctionnent pas et stagnent sur la page d'acceuil du jeu meme quand j'appuie sur exe (parfois, l'écran est balayé par un trait noir). Tue, 22 Sep 2020 17:49:18 +0200 Probleme transfert casio 90+ https://www.planet-casio.com/Fr/forums/topic16475--.html Bonjour Je voulais télecharger prizoop mais un message d'erreur du genre "Erreur Transmission" suivant s'affiche quand je débranche le cable USB. Du coup le logiciel ne marche pas... :( :oops: auriez vous une solution ? Tue, 22 Sep 2020 16:18:05 +0200 [WIP] JTMM2 (Just Too Many Mechanics 2) https://www.planet-casio.com/Fr/forums/topic16474--.html Bonjour ! JTMM2 (Just Too Many Mechanics 2) est un jeu de plateforme en cours de développement. Je crée ce topic pour laisser une trace :) il n'est pas encore finalisé et un peu brouillon. Mon objectif est de créer le meilleur jeu de plateforme jamais créé sur calculatrice(tm), avant que quelqu'un de doué ne s'y mette et grille la place x) Cette fois-ci je tente de faire un code propre. A tout ceux qui ont lu le code de JTMM : pardonnez moi. Personne ne mérite ça :'( Mais surtout, je veux faire un bon jeu. Sur tous les plans. Je crois m'être amélioré en game design depuis JTMM, le futur nous le dira. Je ferai tout mon possible pour créer un jeu qui pardonne le joueur et lui donner un bon choix de mouvement (je t'ai entendu Lephé). Je travaille entre environ 2 et 5 heures par jour sur le projet, alors attendez vous à un build décent d'ici la fin de l'année :) Pour suivre mon progrès, je vous recommande de lire les notes de commits sur Gitea. J'essairai de poster ici à chaque étape importante du développement. Si vous avez des remarques, suggestions, critiques ; que ce soit sur le code, le jeu ou ce topic : lâchez vous. Je prend tout ^^ Dépôt Gitea. Merci Lephénixnoir, merci pour gint et merci pour ton aide quand je galère sur des trucs stupides. Merci beaucoup à Masséna pour avoir été la seule personne à s'être intéressé à JTMM premier du nom à un moment donné et m'avoir motivé à continuer. Merci à tous les membres de Planète Casio m'ayant aidé d'une façon ou d'une autre. Tue, 22 Sep 2020 16:12:28 +0200 La conquête des coprocesseurs DSP https://www.planet-casio.com/Fr/forums/topic16473--.html Contexte, le DSP intégré et les DSP du SPU Récemment, j'ai redécouvert avec l'aide de Yatis que le SH7305, le microprocesseur qu'on trouve dans les calculatrices SH4 (y compris les Graph mono récentes et la Graph 90+E) possède un module de traitement de son (SPU) avec deux DSP. Pour information, un DSP est un coprocesseur dédié au traitement du signal. C'est une sorte de processeur qui travaille en parallèle du processeur central et possède un jeu d'instructions permettant de traiter rapidement des signaux. C'est donc particulièrement adapté au traitement du son. Leur existence est très intéressante car on peut dans une certaine mesure les détourner pour faire d'autres tâches intensives. Mon plan par exemple c'est de faire des shaders 2D avec. :p Il y a une poignée de ressources parlant de DSP ([1], [2], [3]), mais en fait la plupart concernent un DSP intégré au processeur central, documenté dans la section 6 du manuel du SH4-AL DSP (le processeur qu'on a et qu'on appelle communément « SH4 »). Ce DSP est intéressant mais il ne tourne pas en parallèle du processeur central : pour l'utiliser, on insère des instructions DSP dans le code et dans ce cas le processeur ne fait rien quand le DSP travaille. De plus, son jeu d'instructions est difficile à détourner dans des buts graphico-ludiques (il n'a par exemple qu'une seule multiplication 16x16→32, ce qui est boiteux au possible). Par contre le DSP intégré a deux zones de RAM appelées XRAM et YRAM de 8k chacune, qui sont foudroyantes en vitesse parce que situées près du bus processeur. Pour vous donner une idée, les memcpy() et memset() optimisé de gint tournent à 10 Mo/s et 30 Mo/s environ pour la RAM normale. Avec le DSP, on peut monter aisément à 300 Mo/s voire 450 Mo/s si on s'y prend bien. Le potentiel est très élevé pour les calculs intensifs, avec la limite que 16k c'est très peu. Les deux DSP de l'unité de traitement de son (SPU) sont différents. Ils ont une mémoire de travail beaucoup plus grande (vaguement connue [4]), avec chacun 170k de XRAM, au moins 30k de YRAM (pas clair encore), et 160k de RAM supplémentaire pour stocker du code. Puisque la mémoire pour le code est différence de la mémoire où on stocke le programme central, ces DSP calculent vraiment en parallèle à la façon d'un processeur multi-coeurs. Le hic, c'est qu'il n'y a pas de documentation. Il faut donc rétro-analyser tout ce dont on dispose pour récupérer le fonctionnement de 0. C'est là que ça se complique... Le modèle 24-bits et la RAM à trous Dans la doc du SH7305, il y a une seule page expliquant les fonctionnalités principales du SPU, c'est en quelque sorte le teaser de Renesas envers ses potentiels clients ; tout le détail n'est fourni qu'aux clients qui utilisent le processeur pour de vrai. Mais la doc explique déjà que le DSP manipule des mots de 24 bits, qu'on peut imaginer sont des valeurs en point fixe pour représenter des échantillons de signal. C'est différent du DSP intégré donc d'emblée on sait que le jeu d'instructions sera différent. Ce qui est un peu casse-pieds, c'est que la XRAM et la YRAM sont à trous pour faciliter le travail du DSP. Vous voyez, un signal est souvent vu comme un tableau d'échantillons géant. Le problème c'est qu'avec des valeurs de 24 bits (trois octets), atteindre le n-ème échantillon demande de calculer n*3, ce qui prend du temps en électronique. Les processeurs ont depuis longtemps pris l'habitude d'utiliser des types de données à 1, 2, 4 ou 8 octets (des puissances de 2) parce que multiplier par des puissances de 2 est immédiat en électronique (il suffit de déplacer les fils et d'ajouter des 0). Ici, le DSP fait un truc encore plus fourbe : il place un mot de 24 bits (3 octets) tous les 4 octets, en ignorant un octet sur 4. Le premier mot couvre les adresses 0, 1, et 2 ; le second couvre les adresses 4, 5 et 6 ; le troisième, les 8, 9 et 10 ; et ainsi de suite. Comme les adresses 3, 7, 11 etc sont inutilisées, le constructeur a trouvé malin de ne pas réellement y mettre de mémoire. Du coup la XRAM et la YRAM sont hyper fragmentées, avec un trou tous les quatre octets. Impossible donc d'y stocker un simple int puisqu'il n'y a pas 4 octets de mémoire d'affilée. Il faudra donc être malin pour faire marcher ça. Par contre, le RGB888 ça passera crème pourvu qu'on arrive à calculer avec efficacement. Qu'y a-t-il à faire et où va-t-on ? Actuellement je désassemble le programme de Renesas qui émule le SH7305 (d'ailleurs utilisé dans les émulateurs de Casio) pour déterminer quels sont les registres périphériques des DSP, comment les initialiser, les utiliser, et j'espère trouver le jeu d'instructions. Il y a pas mal de choses à comprendre : • Liste des registres périphériques : fait • Allumage et initialisation : en bonne voie • Transfert de données via DMA intégré : en bonne voie • Fonctionnement de la RAM et des bus : ? • Jeu d'instructions : ??? • Horloge : ? Ce sera un bon début pour cette fois. ^^ Tue, 22 Sep 2020 10:42:25 +0200 Python: problèmes de calculatrice scientifique https://www.planet-casio.com/Fr/forums/topic16472--.html J'essaye de créer une calculatrice scientifique pour une mission. Je cherche un peu d'aide avec la syntaxe python, et je pense que ma conception et mon pseudo code fonctionnent bien, mais pour une raison quelconque, python n'a aucun de mes problèmes de syntaxe. Lorsque j'obtiens des erreurs plutôt que des problèmes de repromptage, j'obtiens des erreurs impliquant des chaînes qui ne sont pas compatibles avec les entiers. Je ne peux utiliser aucune fonction pour faire le travail en plus des fonctions les plus basiques telles que print (), len (), ord (), etc ... Voici le code que j'ai pour convertir l'hexadécimal en décimal.SHAREit Appvn def hextodec (var): boo = Vrai puissance = (len (var) + 1) hex_value = {'A': 10, 'B': 11, 'C': 12, 'D': 13, 'E': 14, 'F': 15} tandis que boo == True: var = input ('Donnez un nombre à convertir de hexadécimal en décimal:') pour x dans la plage (len (var)): if (ord (var )> = 65) et (ord (var ) <= 70): nombre = (var ) puissance - = 1 valeur + = x + (16 ** puissance) if (ord (var )> = 48) et (ord (var ) <= 57): puissance - = 1 valeur + = x + (16 ** puissance) autre: boo = Vrai valeur de retour J'ai besoin que le code soit reprompté lorsque l'entrée est invalide, mais quand il est réprimandé, il reste coincé dans une boucle de repromptage et je dois tuer le programme. Toute information est grandement appréciée, merci! Mon, 21 Sep 2020 10:08:18 +0200