Seuls les membres ayant 30 points peuvent parler sur le chat.

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 Membre de CreativeCalc Points: 1769 Défis: 10 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.


- 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 Hors ligne Administrateur Points: 18132 Défis: 142 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 !
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 Membre Points: 2146 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.
2+2=5
Perdu
Lephenixnoir Hors ligne Administrateur Points: 18132 Défis: 142 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.
Hackcell Hors ligne Membre Points: 1344 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)
I usually spend meow time cosplaying as a diligent student...
So it can get pretty stressful.
That's exactly why PC is such a happy place for meow to be ⭐

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
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
: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 v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 27 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