Le bug de la fonction pause de la HP 15C LE

Questions et discussions (matériel, programmation, histoire...) sur tous les ordinateurs de poche HP autres que le HP-41.
Gutenews
Apprenti
Messages : 12
Inscription : mer. 7 sept. 2011 15:42
Localisation : Lyon

Le bug de la fonction pause de la HP 15C LE

Message par Gutenews »

Bonjour,

Parmi les heureux possesseurs de la HP-15C+, quelqu'un aurait-il une solution pour pallier le bug de la fonction "pause", j'ai essayé de la remplacer par un sous-programme qui fait une boucle, mais mes connaissances en RPN étant limitées (en particulier pour cette "calculette"), cela ne semble pas fonctionner (probablement une erreur de programmation de ma part).
En tout cas, cela m'a fait ressortir la HP-35S, qui mine de rien, hormis l'absence de calcul matriciel, semble être une excellente calculatrice programmable, malgré toutes les remarques négatives à son sujet.

Cordialement

M.

Avatar de l’utilisateur
noel
Expert
Messages : 327
Inscription : jeu. 28 sept. 2006 08:53
Localisation : Toulouse
Contact :

Re: Le bug de la fonction pause de la HP 15C LE

Message par noel »

Cette histoire de bug est assez incompréhensible parce qu'il existe des émulateurs de 15C.

Peux-tu détailler ta routine de pause ?

Mon colis m'attend à l'agence postale, je vais pouvoir le récupérer aujourd'hui, s'il n'est pas parti vers un autre centre de distribution, ce qui arrive fréquemment dans cette grande ville rose.
HP 41C, CV et CX fullnut

Gutenews
Apprenti
Messages : 12
Inscription : mer. 7 sept. 2011 15:42
Localisation : Lyon

Re: Le bug de la fonction pause de la HP 15C LE

Message par Gutenews »

Bonjour,

Lorsque la fonction pause est utilisée plus d'une fois dans un programme, elle ne fonctionne pas. Le cas le plus simple est dans une boucle, où à chaque passage sur l'écran doit s'afficher la valeur de la variable decrementée (par exemple), alors il va être affiché la premiere valeur de cette variable, puis plus rien jusqu'à la fin de la boucle. Ce bug est connu, il y a toute un fils de discussion sur HPmuseum, il semblerait que cela soit du à une erreur dans le firmware (donc corrigeable via un flashage de la ROM avec le cable idoine), mais personne ne propose une solution de substitution à la fonction "pause" dans l'attente de cette "correction". D'où l'idée de la boucle vide, utilisée sur les vieux pockets n'ayant pas de fonction "pause" (ex : PB-100 de Casio).

La routine que j'ai voulu essaye est ci dessous. Normalement : RCL 0 devrait s'afficher le temps que la boucle se fasse. Mais à part "running" sur l'écran je n'ai aucune valeur si ce n'est 100 en fin de programme (le nombre d'itération de la boucle vide).

LBL E
10
STO 0
LBL 0
RCL 0
GSB C (sous pgm boucle pour compteur : PSE n'est pas fonctionnel dans ce cas.)
DSE 0
GTO 0
RTN
LBL C (le sous pgm : boucle vide)
100
STO 1
LBL 1
DSE 1
GTO 1
RTN

Cordialement

M.

Hobiecat
Sous expert
Messages : 55
Inscription : lun. 29 août 2011 09:08

Re: Le bug de la fonction pause de la HP 15C LE

Message par Hobiecat »

L'erreur est sur le compteur de boucle : il devrait être de la forme xxx.yyyzz soit par exemple 100.00001 dans le cas ci-dessus si j'ai bien compris : cela va compter de 100 à 0, ce qui devrait faire à peu près le temps de la pause.

Dans le passage de paramètres, xxx est le compteur initial, yyy le compteur final et zz l'incrément.

Si ça peut aider, avec ISG, ça va ressembler à ça : (compte de 0 à 100)
LBL A
.10001
STO I
LBL B
ISG I
GTO B
RTN

PS : sur la 15c, il est en général plus facile d'utiliser la mémoire I pour le compteur, ce qui évite les perturbations avec les mémoires 0, 1, etc... (on fait rarement des compteurs et des complexes en même temps ! )

Avatar de l’utilisateur
noel
Expert
Messages : 327
Inscription : jeu. 28 sept. 2006 08:53
Localisation : Toulouse
Contact :

Re: Le bug de la fonction pause de la HP 15C LE

Message par noel »

Je pense aussi que l'absence de la fonction PAUSE, même si elle est buguée pourrait permettre l'affichage, comme la fonction VIEW sur une 41C. Le Running s'affiche parce que rien ne dit à l'affichage quoi faire d'autre. Que se passe-t-il si tu interfère PAUSE avant la boucle ?
HP 41C, CV et CX fullnut

Gutenews
Apprenti
Messages : 12
Inscription : mer. 7 sept. 2011 15:42
Localisation : Lyon

Re: Le bug de la fonction pause de la HP 15C LE

Message par Gutenews »

Bonjour,

J'ai modifié la boucle comme il m'a été précisé : malheureusement aucune modification. La variable décrémentée ne s'affiche pas.
J'ai placé la fonction "pause" avant la boucle, la première valeur de la variable s'affiche, puis plus rien et enfin la dernière valeur.
Ce problème qui semblait initialement facile à résoudre ne l'est pas, puisque la gestion de l'affichage m'est difficilement compréhensible. Comment rappelle-ton en RPN une information en X afin qu'elle soit affichée. Faut-il utiliser les fonctions ROUND ?

Cordialement

M.

Avatar de l’utilisateur
hpmaniac
Expert
Messages : 213
Inscription : mar. 16 sept. 2008 15:18
Localisation : Grenoble

Re: Le bug de la fonction pause de la HP 15C LE

Message par hpmaniac »

Tu peux utiliser R/S à la place de PSE: ton programme s’arrêtera et affichera la valeur du registre X, tu peux le relancer ensuite en appuyant sur R/S.
Malheureusement, je ne crois pas qu'il y ait d'autre solution, à part une mise à jour du firmware, pour corriger le problème de l’instruction PSE ... :(

LBL E
10
STO 0
LBL 0
RCL 0
R/S (Arrêt et affichage de X - appuyer sur R/S pour continuer)
DSE 0
GTO 0
RTN

Note: pour les instructions ISG et DSE, dans le compteur de boucles xxx.yyyzz l'incrément zz est optionnel: par défaut c'est 1.

Hobiecat
Sous expert
Messages : 55
Inscription : lun. 29 août 2011 09:08

Re: Le bug de la fonction pause de la HP 15C LE

Message par Hobiecat »

Gutenews a écrit :J'ai modifié la boucle comme il m'a été précisé : malheureusement aucune modification. La variable décrémentée ne s'affiche pas.
J'ai placé la fonction "pause" avant la boucle, la première valeur de la variable s'affiche, puis plus rien et enfin la dernière valeur.
Ce problème qui semblait initialement facile à résoudre ne l'est pas, puisque la gestion de l'affichage m'est difficilement compréhensible. Comment rappelle-ton en RPN une information en X afin qu'elle soit affichée. Faut-il utiliser les fonctions ROUND ?
Si effectivement pendant la boucle l'affichage reste muet, le problème est difficile à résoudre...
Et en intercalant le PSE dans la boucle, que se passe t-il ?

Gutenews
Apprenti
Messages : 12
Inscription : mer. 7 sept. 2011 15:42
Localisation : Lyon

Re: Le bug de la fonction pause de la HP 15C LE

Message par Gutenews »

Bonjour,

En intercalant, la fonction PSE dans la boucle, nous sommes confrontés au fameux bug :twisted: . L'utilisation de R/S est certes intéressante, cependant dans certain cas (je penses à des activités ludiques en particulier), la fonction pause est bien utile. Cette superbe calculatrice m'aura fait progresser rapidement dans l'utilisation des boucles et des sous programmes. Cependant, je pense que cela signe (pour moi) le retours de l'HP-35S pour la programmation. Je vais donc attendre l'arrivée d'une éventuelle mise à jour et ensuite se posera la question : comment effectuer cette mise à jour ? :?: .

Bonne après midi à tous :mrgreen: .

M.

Hobiecat
Sous expert
Messages : 55
Inscription : lun. 29 août 2011 09:08

Re: Le bug de la fonction pause de la HP 15C LE

Message par Hobiecat »

Et que fait le bug exactement ? (ou peut-être que ne fait-il pas ? :wink: )

Avatar de l’utilisateur
noel
Expert
Messages : 327
Inscription : jeu. 28 sept. 2006 08:53
Localisation : Toulouse
Contact :

Re: Le bug de la fonction pause de la HP 15C LE

Message par noel »

Je viens d'aller chercher mon HP15C LE, et je suis content car il va valoir très cher dans 30 ans, il est bugué !

Pour répondre Hobiecat, la fonction PAUSE travaille correctement la première fois, mais dans une boucle, elle laisse ensuite l'affichage vide, par contre j'ai pu vérifier qu'elle effectuait la PAUSE, donc elle ralentit le déroulement du programme sans rien afficher, ce qui est balo :wink:
HP 41C, CV et CX fullnut

Gutenews
Apprenti
Messages : 12
Inscription : mer. 7 sept. 2011 15:42
Localisation : Lyon

Re: Le bug de la fonction pause de la HP 15C LE

Message par Gutenews »

Bonjour,

Le BUG de la fonction pause fonctionne ainsi. La fonction "pause" ne fonctionne qu'UNE fois dans un programme, la premiere fois qu'elle est appelée, la pause est réalisée, Puis les fois suivantes, rien n'est affiché à l'ecran jusqu'à un appel de la fonction R/S ou la rencontre du RTN finale. Ce que je voulais, c'étais trouver un palliatif à la fonction "pause", mais est-ce réalisable ? Probablement que oui, il suffit simplement de se pencher sérieusement sur le problème.

Cordialement

M.

Avatar de l’utilisateur
noel
Expert
Messages : 327
Inscription : jeu. 28 sept. 2006 08:53
Localisation : Toulouse
Contact :

Re: Le bug de la fonction pause de la HP 15C LE

Message par noel »

C'est exact M. quand on réinitialise le programme la pause remarche une fois. Il y a un problème de drapeau interne, car le running n'est pas affiché lui non plus. Oh là là, j'ai des trucs très bizarres en intercalant CLEAR après la PAUSE. L'affichage devient fou !
Trop rigolo HP :lol:
HP 41C, CV et CX fullnut

Hobiecat
Sous expert
Messages : 55
Inscription : lun. 29 août 2011 09:08

Re: Le bug de la fonction pause de la HP 15C LE

Message par Hobiecat »

Effectivement, c'est gênant.... et je ne vois pas comment le contourner vu que la 15C LE a repiqué la ROM de la 15c d'origine, qui dès qu'elle est occupée par un programme affiche "running" en clignotant...La solution viendra donc de la mise à jour de ROM, sous réserve que ce soit réalisable facilement !

Avatar de l’utilisateur
noel
Expert
Messages : 327
Inscription : jeu. 28 sept. 2006 08:53
Localisation : Toulouse
Contact :

Re: Le bug de la fonction pause de la HP 15C LE

Message par noel »

Sur un petit programme simple de comptage, quand tu exécutes pas à pas avec SST tu vois parfois s'afficher n'importe quoi :roll: :lol:
Est-ce que ça te le fait ?
HP 41C, CV et CX fullnut

Répondre