Posté le 28/06/2013 à 12:00 Membre depuis le 22/07/2012, 118 messages
Bonjour,

Je voudrais avoir une routine de menu qui permette d'avoir un nombre de choix (raisonnablement) illimité, un peu comme la fonction Menu() en Ti-Basic, et les fonctions qu'utilise la calto.

Tout d'abord est-ce qu'il y a une rom call qui permet de faire ceci? Puisque la calto utilise des menus, on doit bien pouvoir accéder à la routine correspondante non? J'ai cherché dans l'include, j'ai trouvé plusieurs fonctions (comme _menucatcommon) qui contiennent le mot "menu", mais je ne sais pas à quoi elles servent...

Sinon tant pis, je vais faire ma propre routine (c'est pas si dur que ça après tout, mais ça m'aurait permis d'économiser des octets). Mais j'ai aussi besoin de savoir: quand on écrit sur la dernière ligne et qu'on la remplit (avec un _puts), la calto fait un scrolling automatique, et ça m’embête de ne pas pouvoir écrire en entier sur cette ligne... Est-ce qu'il y aurait un moyen d’empêcher le scrolling par hasard ? (un flag peut-être?)

Merci d'avance!
Posté le 28/06/2013 à 12:20 Membre depuis le 15/03/2005, 3470 messages
Oui tu peux utiliser les routines du TIOS pour afficher un menu, mais c'est un peu compliqué et je n'y ai pas trop regardé.

BrandonW a décrit leur utilisation entre autre ici :

http://brandonw.net/calcstuff/dialogNotes.txt
http://brandonw.net/calcstuff/ddemo.zip
Posté le 28/06/2013 à 12:22 Membre depuis le 22/07/2012, 118 messages
Ok, merci pour ta réponse smile
Je regarde ça et je vous tiens au courant ^^
Posté le 28/06/2013 à 17:57 Membre depuis le 22/07/2012, 118 messages
En fait, je n'arrive pas à trouver les adresses des rom call pour ti 83...
J'ai cherché sur le net, mais je n'ai pu trouver que pour ti83+

Il me manque notamment:
rawKeyHookPtr (ou appBackUpScreen)
_StartDialog
_GetDialogNumOP1
_DialogInit
Sinon c'est parfaitement ce qu'il me fallait...

Est ce que vous savez quelles sont ces adresses sur la ti83 (ou sinon ou est ce que je pourrai me les procurer) ?
Merci d'avance!
Posté le 28/06/2013 à 18:33 Membre depuis le 15/03/2005, 3470 messages
J'ai cherché aussi de mon côté et je n'ai rien trouvé pour la TI 83... Par contre il y a une page wikiti intéressante pour la 83+ : http://wikiti.brandonw.net/index.php?title=83Plus:OS:Dialog_context

Mais comme le TIOS 83 utilise les mêmes menu que la 83+ je dirais que ces routines doivent être quelque part dans la rom, sauf qu'elles ne sont pas documentées (même pas dans l'ultimate ti83.inc embarrassed).

Donc soit il faut s'amuser à trouver ces romcalls soit même (en cherchant avec un débuggeur ou en essayant de deviner où elles se cachent par rapport aux adresses 83+), soit ça ira plus vite et ce sera plus simple de faire toi même tes menus. D'ailleurs j'en avait codé un ici : topics/150167-graph-buffer#8
Posté le 28/06/2013 à 18:58 Membre depuis le 22/07/2012, 118 messages
Je pense que je vais les faire moi même en fait ^^

Merci quand même! smile
Posté le 29/06/2013 à 12:38 Membre depuis le 03/06/2011, 520 messages
Je crois que l'on peu "désactiver" le scrolling du dernier ligne, si tu cherches la documentation c'est surement là.

Ah, oui :
appAutoScroll, (IY + appFlags) = 1 to scroll if need to display past the bottom of the display.

Si tu mets appAutoScroll à zéro, on n'aura plus de décalage ( res appAutoScroll,(iy+appFlags) )

Je crois qu'il serait mieux d'écrire ta propre routine smile D'ailleurs, pour utiliser les menus de TI il faut installer un keyhook, je ne crois pas que ce soit possible sur les 83 normales. wink Si tu as des questions ou veux des optimisations, on est ici, à ta disposition tongue
Posté le 30/06/2013 à 18:59 Membre depuis le 22/07/2012, 118 messages
Ok, merci pour ta réponse, je vais effectivement faire ma propre routine smile