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 En ligne Ancien administrateur Points: 1960 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.


1, 2 Suivante
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 26/05/2016 14:53 | #


Pas trop mal comme tuto mais très mal présenté à mon goût, il faudrait que tu essayes de bien séparer chaque partie, mettre en valeur ce qui doit être mis en valeur, etc...
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Ityt Hors ligne Membre Points: 216 Défis: 0 Message

Citer : Posté le 26/05/2016 16:10 | #


Franchement, merci ! Cela va permettre aux nouveaux de se diriger selon leur matériel et leur connaissance! (Merci beaucoup pour le lien du C-Casio )
salut je m'appelle sacha et je viens du bourg-palette et voici mon meilleur ami pikachu
Hackcell Hors ligne Maître du Puzzle Points: 1531 Défis: 11 Message

Citer : Posté le 26/05/2016 20:23 | #


J'ai aussi trouvé un interpréteur bf en c mais que pour classpad
ici

Ajouté le 26/05/2016 à 20:36 :
Les interpréteur pseudo-c on-calc:
Celui-ci exucute directement les .c ->
Et lui nécessite une "compilation" -> here

Ajouté le 26/05/2016 à 21:35 :
Je déterre egalement ce programme de kucalc qui permet d'executer du chip-8 et super chip-8 sur sa casio. voila
Après j'ai aussi vue du MLC pour les graph 100(+) voici
Et un projet de kucalc pour le porter sur g85, mais le lien du git est mort...
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 27/05/2016 22:06 | #


T'as oublié tous les langages pour lesquels on peut trouver un compilateur. Rien que pour gcc, ça inclut ada, go, fortran, et quelques autres.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 27/05/2016 22:09 | #


Le souci avec ça, c'est que la principale cible de ce topic a besoin de tutoriels et de liens pour installer un compilateur, et que pour ces langages (à moins de compléter ton tutoriel avec des mentions à ces langages pour l'option correspondante), beh... c'est peut-être pas une bonne idée x)
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 27/05/2016 22:10 | #


Oh ben je peux ajouter deux lignes au tuto de compilation de gcc si ça t'arrange ! Et puis ça permettrait de compléter ton post.

Ajouté le 27/05/2016 à 22:12 :
Done.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 27/05/2016 22:28 | #


Topic édité, et pour être sûr, j'en ai même rajouté une couche, ils ne peuvent pas passer à côté
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 27/05/2016 22:29 | #


Ah, voilà qui semble bien exhaustif tout de suite
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
-florian66- Hors ligne Ancien rédacteur Points: 2384 Défis: 20 Message

Citer : Posté le 28/05/2016 09:01 | #


@Cake : quand tu parles de 'ASM : Sous Linux uniquement.' tu parles pas de ce que l'on peut faire avec un .s puis un .h associé ?
In Arch, I trust ! And you ?
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 28/05/2016 10:47 | #


C'est indiqué juste en-dessous : "attention, je ne parle pas d'ASM inline".
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 28/05/2016 12:16 | #


Hey, c'est possible d'installer GCC sous windows (ça s'appelle mingw), donc c'est pas exclusif à linux
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 28/05/2016 12:33 | #


Si tu as le lien vers un tutoriel (sur PC/spécifique à un cross-compilo sh3 de préférence), je veux bien le mettre dans le tutoriel

Bon, j'ai rajouté une mention à ça (en en profitant pour lancer une petite pique à Windows, comme d'habitude).
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 28/05/2016 14:04 | #


Au passage, on peut programmer en assembleur sous le SDK de Casio. Il faut cependant nommer les fichiers .src, et utiliser la syntaxe de Renesas.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 28/05/2016 14:14 | #


Je l'ajoute
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 29/05/2016 17:47 | #


Utiliser MinGW, c'est contraire à la morale. Tu monte pas un volant Peugeot sur un Porshe, là c'est pareil. x)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1243 Défis: 54 Message

Citer : Posté le 30/05/2016 20:15 | #


Techniquement c'est plutôt dans le sens de monter un volant de Porsche sur une Peugeot qu'il faut le voir je crois.
Mais oui, si on est assez motivé / s'y connaît assez pour utiliser Mingw et se lancer dans une cross-compilation avec, en général, envisager de passer sous un gnunux n'est que logique je pense.
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 25/04/2018 21:20 | #


Il serait temps d'ajouter le Python à cette liste. @Cakeisalie5 ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Cakeisalie5 En ligne Ancien administrateur Points: 1960 Défis: 11 Message

Citer : Posté le 25/04/2018 21:21 | #


Punaise, j'avoue. Et en Logo aussi (enfin la dérivée pour fx-92+). J'édite ça de suite.
Respirateur d'air, BDFL de Cahute, des utilitaires de communication pour calculatrices CASIO.


Mon blogMes autres projets
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 25/04/2018 21:21 | #


Ouais enfin pour le moment ce sont les protos qui l'ont, nan ? On a pas encore de mise à jour publique qui contient l'interpréteur, si ? Et puis c'est hyper limité x)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
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)
1, 2 Suivante

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