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.
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 !
Citer : Posté le 24/09/2018 01:21 | #
Mettons ce topic à jour ! le portage de python pour calculatrice monochrome a été fait !
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.
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.
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)
Citer : Posté le 22/03/2024 13:01 | #
Dans la section C/C++, le lien vers le tutoriel de Intelligide est mort...