Hello,
tout d'abord, j'espère que le post est mis dans la bonne zone, car comme ça couvre deux modèles, je savais pas où le mettre exactement.
Je m'interroge sur la meilleure calculatrice à conseiller pour de la programmation native (C/C++ et/ou ASM) entre :
- la Casio Graph 90+E qui semble posséder un SDK pour le C intéressant et une bonne prise en charge du natif, mais quid du C++/ASM et des limites de mémoire.
- la TI 83 Premium CE Edition Python qui dispose de ArTIfICE et AsmHook avec code possible en C et ASM (quid de la prise en charge du C++ par la toolchain).
La Casio a semble t il un proc qui est cadencé nettement plus rapidement en comparaison de la TI, mais cela est loin de faire tout.
Pourrait-on essayer de dresser un bilan factuel (sans parti pris) de ce qui est faisable ou pas sur chacune des machines afin d'avoir une comparaison éclairée ?
Les points qui me semblent importants dans la comparaison :
- scope du toolchain et des librairies disponibles (ASM, C / C++, implémentation de la libc / stl complète ou non)
- taille mémoire et "bizarreries associées" par exemple j'ai cru comprendre que la gestion du heap/stack sur la Graph 90+E étant un peu différente
- taille des programmes réalisables au max (monobloc et ou en "découpant" si besoin)
- gestion des flux (console, fichiers externes)
- possibilité de faire des librairies externes avec linkage dans un programme principal ...
...
Je précise que je vois des programmes très impressionnants sur les deux machines, d'où l'interrogation de ce que l'on peut faire exactement et objectivement avec tel ou tel modèle.
Merci pour vos commentaires
Cia
Sly
PS pour les modos : si je suis pas au bon endroit, pouvez vous déplacer SVP ? merci
Programmation native Casio Graph 90+E vs TI 83 PCE Ed Python
Programmation native Casio Graph 90+E vs TI 83 PCE Ed Python
Some works in progress :
The GUI Toolkit NF for nSpire | MyShmup for fxCG-50 | Magic Light for Casio Graph 90+E and Magic Light for nSpire CX/CX-II | Simple Text Editor for nSpire | OutRun for Casio Graph 90+E |
And more to come ... stay tuned
-
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)- Messages: 484
- Images: 31
- Inscription: 19 Jan 2021, 09:41
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- GitHub: SlyVTT
Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py
personne pour me donner son avis ...
Pas de codeur dans le coin ?
Sly
Pas de codeur dans le coin ?
Sly
Some works in progress :
The GUI Toolkit NF for nSpire | MyShmup for fxCG-50 | Magic Light for Casio Graph 90+E and Magic Light for nSpire CX/CX-II | Simple Text Editor for nSpire | OutRun for Casio Graph 90+E |
And more to come ... stay tuned
-
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)- Messages: 484
- Images: 31
- Inscription: 19 Jan 2021, 09:41
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- GitHub: SlyVTT
Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py
Les deux sont d'excellentes machines de codage, avec chacune ses gros avantages et quelques inconvénients.
Pour ma part il est bien difficile de trancher, désolé.
Pour ma part il est bien difficile de trancher, désolé.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Messages: 41496
- Images: 14632
- Inscription: 25 Oct 2008, 00:00
- Localisation: Montpellier
- Genre:
- Calculatrice(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter/X: critor2000
- GitHub: critor
Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py
Je peux apporter des reponses/details coté CE, mais je n'y connais rien coté Casio, hmmm
Du coup :
- scope du toolchain et des librairies disponibles (ASM, C / C++, implémentation de la libc / stl complète ou non)
La toolchain communautaire te permet de coder en ASM, C, et C++ (c'est basé sur un fork de clang/LLVM 14 - rebasé depuis upstream régulièrement).
Points d'attention: pas de STL pour le C++, donc tu as juste le langage en lui meme. Mais tu peux embarquer ta propre STL genre uSTL (j'ai testé, ca marche, mais attention a la taille du binaire ). Coté C, c'est quasi complet, par contre la gestion des double n'est pas encore achevée, pour l'instant c'est des float sur 32bit.
Aussi, il faut faire gaffe, les entiers sont sur 24bit vu que la plateforme/architecture est comme ca. uint8_t, uint16_t etc existent quand meme bien sur.
- taille mémoire et "bizarreries associées" par exemple j'ai cru comprendre que la gestion du heap/stack sur la Graph 90+E étant un peu différente
c'est petit. 4 ko de stack et 61k de heap (partagé avec la BSS). le code/data/rodata c'est la taille max de la variable donc environ 64k. Mais bon tu peux stocker tes données dans des appvars externes (chacune de 64k max aussi) et les charger dynamiquement
Cf. le schéma : https://ce-programming.github.io/toolch ... c/faq.html
- taille des programmes réalisables au max (monobloc et ou en "découpant" si besoin)
Du coup j'y ai deja repondu dans la question ci-dessus.
Il me semble cela dit que convbin (l'outil de la toolchain qui fabrique le binaire final) s'occupe de decouper le binaire tout seul en loader+appvars quand il depasse les 64k.
Par ailleurs, il compresse aussi automatiquement les binaires pour gagner de la place en flash.
- gestion des flux (console, fichiers externes)
- il y a au moins une lib pour avoir une console en repl, cf. mon fork nio_ce
- des fonctions utilitaires de debug marchent main-dans-la-main avec CEmu, l'émulateur communautaire. Pratique pour des printf de debug etc.
- il y a une lib en cours de developpement qui permet de faire des choses en USB, et des demo (et d'autres libs en découlant) ont été faites (serveurs web, client IRC, driver de communication serie...)
- fichiers/data externes: oui via appvars. la lib fileioc de la toolchain en facilite les manipulations.
- possibilité de faire des librairies externes avec linkage dans un programme principal ...
oui. libs dynamiques via libload, c'est sur ce principe que reposent les libs traditionnelles utilisés par la majorités des programmes utilisant la toolchain : graphx, fileioc, keypadc, fontlibc. usbdrvce...
Du coup :
- scope du toolchain et des librairies disponibles (ASM, C / C++, implémentation de la libc / stl complète ou non)
La toolchain communautaire te permet de coder en ASM, C, et C++ (c'est basé sur un fork de clang/LLVM 14 - rebasé depuis upstream régulièrement).
Points d'attention: pas de STL pour le C++, donc tu as juste le langage en lui meme. Mais tu peux embarquer ta propre STL genre uSTL (j'ai testé, ca marche, mais attention a la taille du binaire ). Coté C, c'est quasi complet, par contre la gestion des double n'est pas encore achevée, pour l'instant c'est des float sur 32bit.
Aussi, il faut faire gaffe, les entiers sont sur 24bit vu que la plateforme/architecture est comme ca. uint8_t, uint16_t etc existent quand meme bien sur.
- taille mémoire et "bizarreries associées" par exemple j'ai cru comprendre que la gestion du heap/stack sur la Graph 90+E étant un peu différente
c'est petit. 4 ko de stack et 61k de heap (partagé avec la BSS). le code/data/rodata c'est la taille max de la variable donc environ 64k. Mais bon tu peux stocker tes données dans des appvars externes (chacune de 64k max aussi) et les charger dynamiquement
Cf. le schéma : https://ce-programming.github.io/toolch ... c/faq.html
- taille des programmes réalisables au max (monobloc et ou en "découpant" si besoin)
Du coup j'y ai deja repondu dans la question ci-dessus.
Il me semble cela dit que convbin (l'outil de la toolchain qui fabrique le binaire final) s'occupe de decouper le binaire tout seul en loader+appvars quand il depasse les 64k.
Par ailleurs, il compresse aussi automatiquement les binaires pour gagner de la place en flash.
- gestion des flux (console, fichiers externes)
- il y a au moins une lib pour avoir une console en repl, cf. mon fork nio_ce
- des fonctions utilitaires de debug marchent main-dans-la-main avec CEmu, l'émulateur communautaire. Pratique pour des printf de debug etc.
- il y a une lib en cours de developpement qui permet de faire des choses en USB, et des demo (et d'autres libs en découlant) ont été faites (serveurs web, client IRC, driver de communication serie...)
- fichiers/data externes: oui via appvars. la lib fileioc de la toolchain en facilite les manipulations.
- possibilité de faire des librairies externes avec linkage dans un programme principal ...
oui. libs dynamiques via libload, c'est sur ce principe que reposent les libs traditionnelles utilisés par la majorités des programmes utilisant la toolchain : graphx, fileioc, keypadc, fontlibc. usbdrvce...
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 14615
- Images: 1218
- Inscription: 01 Juin 2007, 00:00
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Twitter/X: adriweb
- GitHub: adriweb
Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py
Super merci Adriweb, c'est clair.
Critor, ta réponse ne me surprend pas, car j'en suis au même point que toi, d'où ma question.
Je pourrais peut être poser la question sur planete casio pour avoir leur avis sur la graph 90+E.
Merci à tous les deux
Sly
Critor, ta réponse ne me surprend pas, car j'en suis au même point que toi, d'où ma question.
Je pourrais peut être poser la question sur planete casio pour avoir leur avis sur la graph 90+E.
Merci à tous les deux
Sly
Some works in progress :
The GUI Toolkit NF for nSpire | MyShmup for fxCG-50 | Magic Light for Casio Graph 90+E and Magic Light for nSpire CX/CX-II | Simple Text Editor for nSpire | OutRun for Casio Graph 90+E |
And more to come ... stay tuned
-
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)- Messages: 484
- Images: 31
- Inscription: 19 Jan 2021, 09:41
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- GitHub: SlyVTT
Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py
SlyVTT a écrit:Critor, ta réponse ne me surprend pas, car j'en suis au même point que toi, d'où ma question.
Je pourrais peut être poser la question sur planete casio pour avoir leur avis sur la graph 90+E.
Pas sûr que tu y trouves grand monde s'y connaissant en CE, donc la comparaison risque je crains d'être assez biaisée.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Messages: 41496
- Images: 14632
- Inscription: 25 Oct 2008, 00:00
- Localisation: Montpellier
- Genre:
- Calculatrice(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter/X: critor2000
- GitHub: critor
Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py
Suffit qu'ils répondent de maniere independante pour les casio comme je viens de le faire pour la CE
MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 14615
- Images: 1218
- Inscription: 01 Juin 2007, 00:00
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Twitter/X: adriweb
- GitHub: adriweb
Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py
Ben en fait la reponse pour moi c'est clairement la Casio : on peut y porter KhiCAS, alors que sur ti83 ca parait juste impossible actuellement.
Taille maximale d'un addin sur Casio: 2Mo.
Pour la RAM c'est un peu bizarre: presque 128K de heap et beaucoup plus de stack !
Support C/C++: ma toolchain est gcc/g++ sous linux pour sh3eb dont j'ai ici une archive compilee pour debian 9 https://www-fourier.univ-grenoble-alpes.fr/~parisse/casio/sh3eb-elf.tar.gz. Le support de la libc/libm est essentiellement complet (mais j'ai du corriger quelques bugs de mon cote et il y a des parties pas optimales). J'utilise une version modifiee de ustl pour remplacer le support de la libstdc++. Il y a de la doc sur l'OS ici: https://prizm.cemetech.net/index.php/Prizm_Programming_Portal#Native_OS_reference
Il faut faire attention a l'endianness si on optimise les structures de donnees comme je le fais dans KhiCAS.
On peut utiliser l'emulateur Casio pour tester, et il semble meme possible de faire du cross-debug avec gdb mais je n'ai pas teste (a l'epoque ou je developpais KhiCAS pour Casio ca n'existait pas encore).
Lephe pourrait sans doute apporter des infos plus a jour sur les toolchain.
Taille maximale d'un addin sur Casio: 2Mo.
Pour la RAM c'est un peu bizarre: presque 128K de heap et beaucoup plus de stack !
Support C/C++: ma toolchain est gcc/g++ sous linux pour sh3eb dont j'ai ici une archive compilee pour debian 9 https://www-fourier.univ-grenoble-alpes.fr/~parisse/casio/sh3eb-elf.tar.gz. Le support de la libc/libm est essentiellement complet (mais j'ai du corriger quelques bugs de mon cote et il y a des parties pas optimales). J'utilise une version modifiee de ustl pour remplacer le support de la libstdc++. Il y a de la doc sur l'OS ici: https://prizm.cemetech.net/index.php/Prizm_Programming_Portal#Native_OS_reference
Il faut faire attention a l'endianness si on optimise les structures de donnees comme je le fais dans KhiCAS.
On peut utiliser l'emulateur Casio pour tester, et il semble meme possible de faire du cross-debug avec gdb mais je n'ai pas teste (a l'epoque ou je developpais KhiCAS pour Casio ca n'existait pas encore).
Lephe pourrait sans doute apporter des infos plus a jour sur les toolchain.
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Messages: 3511
- Inscription: 13 Déc 2013, 16:35
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py
Merci Bernard, j'avais lu le fil des posts sur le développement de KhiCAS sur la Graph 90+E et j'y avais en effet trouvé pas mal d'infos.
Donc on a deux approches très différentes. Si je comprends bien pour un gros programme sans ressources externes (type KhiCAS), la Casio serait mieux, mais pour un programme "Core" plus léger avec ressources externes (type jeu par exemple), la TI offre des aspects intéressants.
Je note aussi des similitudes pour le support du C (globalement complet) tandis que la STL C++ est globalement absente et il faut passer par la uSTL (avec inflation de la taille de l'executable sur Ti).
Le support graphique (j'avais oublié dans ma question initiale) est OK avec TI (graphx) et je pense que le fxSDK chez Casio doit offrir des fonctions à peu près similaires.
Donc en résumé il est dur de choisir (sachant que je me suis peut être habitué au luxe avec la nSpire/Ndless qui est vraiment géniale).
Merci à tous en tout cas.
Sly
Donc on a deux approches très différentes. Si je comprends bien pour un gros programme sans ressources externes (type KhiCAS), la Casio serait mieux, mais pour un programme "Core" plus léger avec ressources externes (type jeu par exemple), la TI offre des aspects intéressants.
Je note aussi des similitudes pour le support du C (globalement complet) tandis que la STL C++ est globalement absente et il faut passer par la uSTL (avec inflation de la taille de l'executable sur Ti).
Le support graphique (j'avais oublié dans ma question initiale) est OK avec TI (graphx) et je pense que le fxSDK chez Casio doit offrir des fonctions à peu près similaires.
Donc en résumé il est dur de choisir (sachant que je me suis peut être habitué au luxe avec la nSpire/Ndless qui est vraiment géniale).
Merci à tous en tout cas.
Sly
Some works in progress :
The GUI Toolkit NF for nSpire | MyShmup for fxCG-50 | Magic Light for Casio Graph 90+E and Magic Light for nSpire CX/CX-II | Simple Text Editor for nSpire | OutRun for Casio Graph 90+E |
And more to come ... stay tuned
-
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)- Messages: 484
- Images: 31
- Inscription: 19 Jan 2021, 09:41
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- GitHub: SlyVTT
Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py
La TI me semble vraiment tres limitee au niveau memoire. 64K de limite pour le code, c'est vraiment tres peu meme si on peut un peu augmenter avec des ressources externes. 2Mo c'est quand meme plus raisonnable, surtout pour un prix d'achat identique.
A mon avis, le seul point en faveur de TI c'est le nombre potentiel d'utilisateurs, mais techniquement la Casio a un hardware nettement superieur. D'ailleurs Casio n'a pas eu besoin de changer son hardware pour faire tourner Python. Je ne serai d'ailleurs pas etonne que TI nous sorte un nouvel hardware maintenant que Numworks se lance a l'assaut des USA.
A mon avis, le seul point en faveur de TI c'est le nombre potentiel d'utilisateurs, mais techniquement la Casio a un hardware nettement superieur. D'ailleurs Casio n'a pas eu besoin de changer son hardware pour faire tourner Python. Je ne serai d'ailleurs pas etonne que TI nous sorte un nouvel hardware maintenant que Numworks se lance a l'assaut des USA.
-
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)- Messages: 3511
- Inscription: 13 Déc 2013, 16:35
- Genre:
- Calculatrice(s):→ MyCalcs profile
12 messages
• Page 1 sur 2 • 1, 2
Retourner vers Autres discussions
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 32 invités