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 - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Est-ce que je peux programmer en tel langage sur ma calto ?
Cakeisalie5 Hors ligne Ancien administrateur Points: 1959 Défis: 11 Message

Est-ce que je peux programmer en tel langage sur ma calto ?

Posté le 26/05/2016 14:36

Une question revient assez souvent quand quelqu'un commence à s'intéresser à la programmation sur calculatrice, et c'est celle dans le titre. Dans ce topic, je vais répondre à votre question.


Prenez du recul sur votre langage.

Tout d'abord, posez-vous la question suivante : mon langage est-il compilé ou interprété ?

S'il est interprété, alors regardez s'il existe un addin interprétant votre langage. S'il n'y en a pas, alors c'est non.

S'il est compilé, sachez que tout addin doit remplir des conditions assez particulières, dont celle d'avoir un header G1A, d'avoir une structure particulière... qui plus est, il faut vous poser les questions inhérentes à votre compilateur telles que : quid de l'allocation de mémoire ? De la communication avec le hardware ou avec l'OS ? Mais n'ayez pas peur, pour certains langages, d'autres ont déjà travaillé pour vous.

Certains langages peuvent être compilés ou interprétés. Le C par exemple dispose d'interpréteurs on-calc.

Dans tous les cas, que vous ayez besoin d'un addin ou que vous souhaitiez en produire un, il faut un OS qui accepte les addins. C'est bon par défaut pour les Graph 75/85/95, mais pour les Graph 35+, il faut mettre à jour (tweaker) leur OS.

De même, les possibilités du Basic ont évolué au fur et à mesure du temps, et certaines fonctionnalités, possiblement utilisées dans les interpréteurs Basic, ne sont pas disponibles sur les anciens modèles : pensez à ça quand vous choisissez un interpréteur ou faites un programme Basic.

Aussi, si vous souhaitez produire un addin, vous devrez aussi apprendre le problème SH3/SH4, les syscalls... bref, vous apprendrez que programmer un addin pour calculatrices Casio, c'est beaucoup de bidouillage.


Petite liste de langages pour répondre à votre question :

- Basic Casio : Oui, évidemment.
Un interpréteur est présent de base sur la calculatrice.
(je sais bien que personne va demander ça, mais je le mets quand même)


- C.Basic : Oui, c'est fait pour !
C.Basic est un interpréteur Basic amélioré par Sentaro21.


- Lua : Une variante, sur certains modèles uniquement.
Il existe un interpréteur présent sur certains modèles.


- Fortran : Oui, sur Graph mono.
Avec le fxSDK et fxtran de Potter360.


- Python : Oui, sur Graph 90+E et Graph 35+E II !
CASIO a repris MicroPython et l'a adapté sur Graph 90+E, voyez ça dans cette news et cette news. Zezombye a aussi porté MicroPython sur les modèles monochromes supportant les add-ins autres que la Graph 35+E II.


- Logo : Oui, sur fx-92+ !
Voyez dans cette news !


- Malical : Oui !
Le Malical est un langage interprété inventé spécialement pour les calculatrices fx-9860* (Graph 75/85/95 et 35+ tweakées). Tous les détails sur le langage et l'interpréteur se trouvent ici.


- Brainfuck : Aussi dingue que ça puisse vous paraître, oui oui oui !
Il existe plusieurs interpréteurs codés en Basic Casio tels que celui-ci ou celui-là. (comme ils sont codés en Basic Casio, ils sont compatibles pour davantage de calculatrices)


- MLC : Hein ?
Oui vous savez, ce langage dont tout le monde parle.


- C/C++ : Yep !
Sous Microsoft Windows, il existe un SDK (logiciel + lib) pour produire des addins en C/C++, Intelligide en a fait un tutoriel.

Pour Linux, Lephenixnoir a fait super tutoriel pour installer les bons logiciels et vous apprendre à produire un addin à partir de code en C/ASM.


- ASM : 'se trouve que oui
(Attention, je parle d'ASM pur, pas de l'ASM inline en C/C++ !)

Et effectivement, les outils que le tutoriel de Lephenixnoir (cité précédemment) fait installer intègrent également un assembleur. Attention, les calculatrices ayant un processeur SH3/SH4, il vous faut apprendre le langage assembleur approprié.

Sous le SDK, apparemment, on peut aussi avec des fichiers en .src, mais ils utilisent la syntaxe de Renesas, qui est légèrement différente de celle de GCC.


- Objective-C, Objective-C++, Fortran, Go, Ada, D : Apparemment, partout
C'est le même tutoriel de Lephenixnoir qui vous permet d'installer un cross-compilateur GCC compilant des codes en ces langages.

Attention cependant : à l'étape 4 (configuration de gcc), il faudra ajouter votre/vos langage(s) à la commande, par exemple, pour supporter l'Ada et le D . Sous GNU/Linux :

$ ../gcc-5.3.0/configure --target=sh3eb-elf --prefix="$HOME/opt/sh3eb-elf" --disable-nls --enable-languages=c,c++,ada,d --without-headers

Intel a fait l'équivalent du tutoriel de Lephé pour MS-Windows.

- CHIP-8/Super CHIP-8 : Eh oui Jamy !
Grâce à ce superbe addin de Kucalc.


Et les autres langages ?

Si je ne les cite pas, c'est qu'ils n'ont probablement pas d'interpréteur sur calculatrice/que personne n'a encore cherché/trouvé de moyen de les compiler pour produire un addin. Si vous êtes un spécialiste de ce langage et qu'il est compilé, rien ne vous empêche de chercher un moyen de l'adapter sur calculatrice et de le proposer ici.

N'oubliez pas que j'ai également pu me tromper et/ou omettre un langage. N'hésitez pas à poser vos questions en-dessous de ce topic.


Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 26/05/2018 19:05 | #


Si on mentionnait que le Malical a été porté pour SH4 ? Ça me paraît intéressant d'indiquer les plateformes disponibles de façon générale, notamment distinguer les calculatrices monochromes des couleurs !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 24/09/2018 01:21 | #


Mettons ce topic à jour ! le portage de python pour calculatrice monochrome a été fait !
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 30/06/2020 14:16 | #


C.Basic n'est pas dans la liste. Il faudrait mettre à jour le Python (support monochrome). Des émulateurs CHIP-8 sont sortis récemment.
Cordialement.
ouais ouais
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 30/06/2020 16:03 | #


J'ai pas été chercher les émulateurs chip 8 (y'en a... plein ?) mais au moins mis à jour Python et C.Basic.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Hackcell Hors ligne Maître du Puzzle Points: 1531 Défis: 11 Message

Citer : Posté le 30/06/2020 16:37 | #


Pour les emu chip8 en fait ya que celui-ci car c'est celui qui est compatible avec le plus de plateforme (étant donnée qu'il est en Basic)
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 22/03/2024 13:01 | #


Dans la section C/C++, le lien vers le tutoriel de Intelligide est mort...
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz

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 89 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