Page 1 of 2

Autocalc Dynatrig et autres dans une simple appli 16K 83+/84

Unread postPosted: 02 Apr 2013, 10:11
by critor
Bonjour,


Je développe plutôt pour TI-Nspire dernièrement, même si paradoxalement c'est loin d'être la calculatrice la plus utilisée, mais j'ai déjà sorti nombre de programmes de mathématiques pour les TI-76.fr, TI-82 Stats, TI-83, TI-83 Plus et TI-84, me souciant à chaque fois de la compatibilité et de l'accessibilité à tous.

On peut citer notamment:

Image Image ImageImage




Hélas, je ne programme qu'en TI-Basic et non en assembleur.
Un programme TI-Basic doit être localisé en mémoire RAM pour pouvoir être exécutable.

Or, même si la puce mémoire RAM fait parfois 128Ko (TI-84 Plus C Silver Edition et premières TI-84 Plus) ou 48Ko (dernières TI-84 Plus/Pocket), le système d'exploitation ne gère pour l'utilisateur que les premiers 32Ko. :(

Seule la TI-86 offrait au siècle dernier un accès utilisateur à ses 128Ko de mémoire RAM, fonctionnalité hélas non reprise depuis. :(


32Ko, c'est très peu... Mes programmes ci-dessus ont de quoi les remplir, et il faut pourtant caser d'autres programmes utiles aussi...

De plus, les TI-76.fr, TI-82 Stats et TI-83 n'ont que 27Ko disponibles. :(
Cette mémoire a été réduite à 24Ko sur TI-83 Plus et TI-84... :(
Les derniers OS 2.53/2.55 MathPrint pour TI-84 la réduisent encore à 23Ko... :(
Et sur la TI-84 Plus C Silver Edition, on passe à seulement 21Ko!... :(

Il semble clair que ces calculatrices ne sont plus faites pour les gros projets TI-Basic, et qu'il faudra passer à autre chose pour ceux qui n'ont pas encore franchi le pas.



Une solution est d'utiliser la mémoire d'archive, qui permet de stocker de façon non exécutable les programmes TI-Basic. Ces derniers devront être désarchivés avant utilisation, et réarchivés ensuite.

C'est lourd... Certains shells permettent bien d'exécuter un programme archivé (en le copiant de façon transparente en RAM), mais cela ne marche pas si ce programme utilise des sous-programmes, ce qui est le cas des gros projets présentés ici.

Mes programmes ci-dessus incluaient heureusement des utilitaires pour archiver/désarchiver automatiquement. :)



J'ai pu me rendre compte toutefois avec les années que ce n'était pas une solution satisfaisante, car beaucoup d'utilisateurs interrompent les programmes avec la touche :f101: au lieu d'utiliser le menu 'Quitter' du programme.
Ils se retrouvaient en conséquence avec un écran graphique et une mémoire RAM non nettoyés.



Je tente aujourd'hui quelque chose de nouveau pour les utilisateurs de TI-83+/84 - j'ai regroupé l'ensemble de mes programmes cités ci-dessus dans une toute petite application de seulement 16Ko, AutoMath qui se stocke donc en mémoire d'archive! :bj:

Comme ici la touche :f101: sera interceptée par l'application, la mémoire RAM sera automatiquement nettoyée des programmes temporaires! :bj:

J'ai inclus de plus une nouvelle méthode beaucoup plus robuste de sauvegarde et récupération des paramètres de l'écran graphique et une détection de la résolution écran, toutes deux développées dans le contexte de la sortie de la nouvelle TI-84 Plus C Silver Edition! :bj:



N'hésitez pas à me signaler tout problème, afin que l'application soit la plus parfaite possible pour vos examens et concours! :)



AutoMath pour TI-83+/84, incontournable pour le BAC 2013! :bj:




Lien:
AutoMath

Re: Autocalc Dynatrig et autres dans une simple appli 16K 83

Unread postPosted: 02 Apr 2013, 11:12
by Lionel Debroux
Looks pretty good :)
C'est clair que la 84+CSE va inciter au passage BASIC -> FlashApps pour certains programmes...

Mais comme les FlashApps font obligatoirement une taille multiple de 16K sur la famille 83+, la solution BasicBuilder (puisque c'est comme ça que cette FlashApp a été faite, comme je viens de le voir) n'est pas universellement applicable - il faut qu'il y ait une quantité significative de code (raisonnablement peu d'espace vide dans les 16 KB) pour que ça vaille le coup.

Re: Autocalc Dynatrig et autres dans une simple appli 16K 83

Unread postPosted: 02 Apr 2013, 11:13
by Persalteas
Lionel Debroux wrote:C'est clair que la 84+CSE va inciter au passage BASIC -> FlashApps pour certains programmes...

En effet :)
Mais comme les FlashApps font obligatoirement une taille multiple de 16K sur la famille 83+, la solution BasicBuilder (puisque c'est comme ça que cette FlashApp a été faite, comme je viens de le voir) n'est pas universellement applicable - il faut qu'il y ait une quantité significative de code (raisonnablement peu d'espace vide dans les 16 KB) pour que ça vaille le coup.


C'est justement un excellent moyen de faire des programmes énormes sans qu'ils soient critiqués.
Un programme de 15Ko en RAM en Basic, les gens râlent, s'il est converti en App, plus de souci ;)

Merci critor pour cette compilation :bj:

Re: Autocalc Dynatrig et autres dans une simple appli 16K 83

Unread postPosted: 02 Apr 2013, 11:30
by Lionel Debroux
Nous sommes d'accord: pour un programme de 15K, ça vaut le coup :)
Mais c'est plus discutable pour un programme de 9K, par exemple: l'utilisation d'une FlashApp gaspillerait ~7 KB de Flash... Le problème éternel de l'espace non utilisé gaspillé dans le secteur de stockage ("slack space").

Re: Autocalc Dynatrig et autres dans une simple appli 16K 83

Unread postPosted: 02 Apr 2013, 12:40
by Adriweb
Bravo, effectivement une appli qu'il faut avoir pour le bac.

Et sinon, qui d'assez bon en ASM s'attelle à la compatibilité 84C de BasicBuilder ? :P

Re: Autocalc Dynatrig et autres dans une simple appli 16K 83

Unread postPosted: 02 Apr 2013, 12:45
by Persalteas
Il faudrait déjà avoir la source de BasicBuilder.

Re: Autocalc Dynatrig et autres dans une simple appli 16K 83

Unread postPosted: 02 Apr 2013, 15:22
by Adriweb

Re: Autocalc Dynatrig et autres dans une simple appli 16K 83

Unread postPosted: 02 Apr 2013, 15:58
by Hayleia
Ayant déjà mon bac, je ne verrais sûrement pas l'utilité d'un tel programme. Mais je trouve tout de même le nom "AutoMath" très bien trouvé :D

Re: Autocalc Dynatrig et autres dans une simple appli 16K 83

Unread postPosted: 02 Apr 2013, 17:38
by The K
Bravo Critor un bon et utile travail, une fois de plus ;)

Re: Autocalc Dynatrig et autres dans une simple appli 16K 83

Unread postPosted: 02 Apr 2013, 17:45
by blg_flg
Lionel Debroux wrote:Nous sommes d'accord: pour un programme de 15K, ça vaut le coup :)
Mais c'est plus discutable pour un programme de 9K, par exemple: l'utilisation d'une FlashApp gaspillerait ~7 KB de Flash... Le problème éternel de l'espace non utilisé gaspillé dans le secteur de stockage ("slack space").

Oui, mais un programme de 7KB, ça passe... Et quand on a une 84+SE, on se fout complètement d'une application de plus ou de moins, en terme de place. :D