Les Commandes Secrètes de La HP48GX

Embed Size (px)

Citation preview

  • 7/24/2019 Les Commandes Secrtes de La HP48GX

    1/10

    21/12/2015 Les commandes secrtes de la HP48GX

    http://www.gecif.net/articles/mathematiques/hp48gx/ 1/10

    Les commandes secrtes de laHP48GX

    Vous trouverez sur cette page consacre

    la calculatrice HP-48GX des dizaines deSyseval, d'objets, ou encore d'adressesd'External.

    Les logiciels pour transfrer les objets devotre HP vers votre PC sont galementdisponibles en libre tlchargement, ainsique des programmes RPL prts l'emploipour explorer la mmoire de votre HP etles objets qui y sont prsents en ROM.

    De plus je vous livre ici toutes lescommandes secrtes de la HP (c'est--

    dire les commandes non documentes)que j'ai dcouvertes en dcompilant leslibrairies internes de ma HP48GX.

    Enfin, en bas de cette page, voustrouverez un programme vous permettantd'utiliser votre HP48 comme unetlcommande infrarouge, ainsi que lesschmas lectroniques pour vous raliserune alimentation ou un cble de transfert.

    Bonne dcouverte ! :-)

    Logiciels PC pour HP48GX :

    Description du tlchargement Nom du

    fichier Type Taille

    Kit de connexion : permet de sauvegarder et derestaurer les objets de la HP sur votre PC

    Fonctionne sous Windows 98 et Windows XPhpcomm.zip

    1,6Mo

    Link48 : permet de sauvegarder et de restaurerles objets de la HP sur votre PC

    Fonctionne sous Windows 3.1 (a existe encore??) et Windows 95

    link48.zip 224

    ko

    Emulateur de HP48GX : retrouver sous Windowstoutes les fonctionnalits de votre HP48GX

    emu48-1.10.zip

    320ko

    Les instructions secrtes de la HP48GX :

    J'appelle "instructions secrtes" les commandes ou oprateurs non documents, qui ne sont pasaccessibles depuis les menus de la HP. Pour utiliser ces commandes, il faut les taper en toutes

    lettres. En voici 19, dont certaines que j'ai personnellement dcouvertes en dcompilant leslibrairies intgres n2, n171 et n1792 de ma HP48GX :

    Commande Description

    SYSEVAL

    value un objet l'adresse mmoire donne sous forme d'unentier binaire au niveau 1 de la pile. Faites attention avec cette

    http://www.gecif.net/articles/mathematiques/hp48gx/link48.ziphttp://www.gecif.net/articles/mathematiques/hp48gx/hpcomm.ziphttp://www.gecif.net/articles/mathematiques/hp48gx/emu48-1.10.ziphttp://www.gecif.net/articles/mathematiques/hp48gx/link48.ziphttp://www.gecif.net/articles/mathematiques/hp48gx/hpcomm.zip
  • 7/24/2019 Les Commandes Secrtes de La HP48GX

    2/10

    21/12/2015 Les commandes secrtes de la HP48GX

    http://www.gecif.net/articles/mathematiques/hp48gx/ 2/10

    commande, car les adresses de mmoire alatoires altrerontcertainement la mmoire et bloqueront la calculatrice.

    LIBEVAL

    value un Nom XLib dont l'adresse est au niveau 1 de la pilesous forme d'un entier binaire. Faites attention avec cette

    commande, car les adresses alatoires altreront certainementla mmoire et bloqueront la calculatrice.

    XLIB Qui connat la syntaxe exacte de la commande XLIB ???

    RULES Renvoie sous forme de mots-croiss les prnoms des

    concepteurs du code de la HP48

    TEACH Cre le rpertoire EXAMPLES dans Home, contenant des

    programmes d'exempleCLTEACH

    Supprime le rpertoire EXAMPLES dans Home, contenant desprogrammes d'exemple

    VERSION Renvoie la version exacte de la HP (HP48-A, HP48-B, etc..

    HP48-Z)WSLOG Renvoie 4 chanes dcrivant les 4 dernires interruptions

    DIR

    Cre un objet rpertoire (type 15) et le place sur la pile. Lasyntaxe de DIR est : DIR nom1 contenu1 nom2 contenu2 ... onom1 et nom2 sont les noms des variables contenues dans le

    rpertoire crer.CLVAR Supprime toutes les variables dans le rpertoire courantCLUSR Supprime toutes les variables dans le rpertoire courant

    RATIO Forme littrale de la fonction division (dont la forme algbrique

    est /)MERGE

    Fusionne la mmoire RAM de port avec la mmoire RAMprincipale

    FREE Libre la mmoire RAM fusionneGROB Cre un objet graphique vide : GROB x y

    PREDV Renvoie la valeur de la variable dpendante en fonction de la

    valeur de la variable indpendante (x)

    C$ Permet d'extraire sous forme de chane de caractres un

    morceau d'un objetC# Permet de crer des entiers binaires longs

    @

    Permet d'intgrer un commentaire dans un programme. Tousles caractres compris entre 2 @ sont ignors par la HP. Le

    caractre @ s'obtient par : touche alpha + touche shift droit +touche enter

    Exemple d'utilisation de la commande LIBEVAL:

    Le jeu du dmineur (commande MINEHUNT) est en fait l'objet n51de la librairie n231.Pour lancer le dmineur, il suffit donc de lancer le XLib 231 51.Mais comment lancer le XLib 231 51 partir de la commande LIBEVAL, sachant que LIBEVALattend sur la pile un seul entier binaire ? Pour cela il faut convertir en hexadcimal le numro dela librairie (ici 231) et le numro de l'objet (ici 51) :231 donne #E7h en hexa, et 51 donne #33h en hexa. On multiplie ensuite le numro de lalibrairie par #1000h (ce qui revient lui ajouter 3 zros), puis on lui ajoute le numro de l'objetvis : #E7h x #1000h + #33h = #E7033h

    Voil, c'est fini ! Il n'y a plus qu' mettre l'entier binaire #E7033h sur la pile, puis taper lacommande LIBEVAL : le dmineur se lancera !

    Autre exemple : la commande TEACH qui cre le rpertoire EXAMPLE fait appel au XLib 232 45:

    232 s'crit #E8h en hexa, avec 3 zros il devient #E8000h45 s'crit #2Dh en hexa, qu'il suffit d'additionner #E8000h

    Pour lancer la commande TEACH en utilisant l'instruction LIBEVAL, on pourra faire #E802DhLIBEVAL

    Exemple d'utilisation de la commande DIR:

    Pour crer un objet rpertoire (type 15) vide sur la pile, tapez DIRsuivi de Enter. Pour enregistrerce rpertoire sous le nom de TOTO, mettez le nom 'TOTO' sur la pile puis appuyez sur STO. Lacommande DIR sans paramtres permet donc de crer un rpertoire vide. Mais comment crerun rpertoire contenant 2 variables A et B ? Pour cela, tapez DIR A 25 B "Bonjour"puis validezpar Enter : vous venez de crer sur la pile un rpertoire contenant 2 objets : un nombre entier A(de type 0) et une chane de caractres B (de type 2). Pour enregistrer ce rpertoire sous le nomde TOTO, mettez le nom 'TOTO' sur la pile puis appuyez sur STO. Remarquez que dans la

  • 7/24/2019 Les Commandes Secrtes de La HP48GX

    3/10

    21/12/2015 Les commandes secrtes de la HP48GX

    http://www.gecif.net/articles/mathematiques/hp48gx/ 3/10

    syntaxe de la commande DIR, le nom des variables (ici A et B), crer dans le nouveaurpertoire, ne sont pas entre guillemets.

    Exemple d'utilisation de la commande C$:

    Pour crer un objet chane de caractre partir des 3 premiers caractres du rel 123456 tapezC$ 3 123456: on obtient alors 2 objets sur la pile : la chane "123" au niveau 2 et le rel 456 auniveau 1.

    Autre exemple : C$ 4 "ABCDEF" cre une chane contenant "ABC (les 4 premiers caractresdont le caractre double quote) puis "dpose le reste" sur la pile. On obtient alors 3 objets sur lapile :

    3: ""ABC"2: 'DEF'1: ""

    Un dernier exemple : C$ 12 Linked Arraydonne la chane "Linked Array" (12 caractres)

    Remarque : le caractre $ s'obtient par la touche alpha + touche shift gauche + touche 4

    Les autres "commandes secrtes" :

    Pour utiliser les commandes RULES, TEACH, CLTEACH, VERSION ou WSLOG, il suffit detaper leur nom suivi de Enter, sans leur passer de paramtres. Ces commandes se contententd'afficher une information l'cran, l'exception de TEACH qui cre le rpertoire EXAMPLESdans le rpertoire Home, et de CLTEACH qui l'efface. Ce rpertoire EXAMPLES contientplusieurs exemples de programmes RPL, de courbes prtes tre traces (courbesparamtriques, fonctions y=f(x), courbes surfaciques, etc.), ou encore d'expressions algbriques.

    Quant la commande SYSEVAL, qu'on ne prsente plus, il s'agit de loin de la commande la plusintressante des 7 "commandes secrtes", puisque c'est elle qui va nous permettre de nousplonger au coeur de la HP, pour retrouver toutes sortes d'objets dans la ROM, mais aussi pourprogrammer la HP en RPL-Systme. La commande SYSEVAL attend au niveau 1 de la pile un

    entier binaire reprsentant une adresse mmoire, et va valuer l'objet se trouvant cetteadresse, c'est--dire :

    si l'objet est un programme RPL ou un objet CODE alors il est excutsinon il est simplement dpos sur la pile

    Premier exemple d'utilisation de la commande SYSEVAL : vous connaissez la chane decaractres vide ? Il s'agit de "" (2 guillemets doubles, sans aucun caractre entre les deuxguillemets) qu'il est trs facile de crer. Mais connaissez-vous le nom vide ? Oui, en effet il s'agitde '' (2 guillemets simples, sans aucun caractre entre les deux guillemets) mais comment lecrer ?? Je vous laisse 10 secondes de rflexion, et surtout de test sur votre HP ...

    Cette fois-ci, comme vous pouvez le constater sur votre HP, on ne peut pas crer le nom videaussi facilement que la chane vide. Pourtant le nom vide existe dans votre HP : il est situ

    l'adresse #15777hde la mmoire. Pour le dposer sur la pile, tapez #15777hsuivi de SYSEVAL.Mais oui, la commande SYSEVAL vient de vous donner le nom vide ! ! Ceci n'est qu'un exempled'application de SYSEVAL parmi des milliers d'autres. Oui, j'ai bien dit des milliers d'autres :votre HP renferme dans sa ROM plusieurs milliers d'objets et de routines extraordinaires, quideviennent enfin accessibles grce la commande SYSEVAL, et qui, il faut bien le dire, ne sontpas tous accessibles par les menus standards. Mais avant de passer en revue toutes lesadresses intressantes de la HP, il faut bien connatre les diffrents objets qu'elle sait manipuler,et c'est justement ce que nous allons voir dans les paragraphes suivants.

    Une fonctionnalit intressante de la HP :

  • 7/24/2019 Les Commandes Secrtes de La HP48GX

    4/10

    21/12/2015 Les commandes secrtes de la HP48GX

    http://www.gecif.net/articles/mathematiques/hp48gx/ 4/10

    Une possibilit intressante et peu connue de la HP est l'application de la fonction OBJ-> unechane de caractres : il en rsulte "le dbalage" sur la pile du contenu de la chane decaractres, suivi de l'valuation des objets ainsi obtenus. Exemples :

    "56" OBJ->met le rel 56 sur la pile

    "2 3 +" OBJ->met 2 sur la pile, met 3 sur la pile puis additionne les deux nombres : on obtient lerel 5 au niveau 1 de la pile

    On constate qu'une chane de caractres qui on applique OBJ-> peut se comporter comme (etremplacer) un programme.

    La possibilit qui vient alors tout de suite l'esprit est de pouvoir mettre dans un programme lesinstructions qui se tapent directement et qui ne supportent pas d'tre dans un programme RPL.Exemple :

    "DIR" OBJ->crer un rpertoire vide sur le pile

    "C$ 3 123456" OBJ->convertie en chane de caractres les 3 premiers caractres du rel123456.

    "GROB 1 10 ABCDEF1234567890ABCD" OBJ->cre un objet graphique de taille 1x10 dont lecontenu est indiqu pixel par pixel dans la chane de caractres.

    En utilisant ce principe de fabrication d'objets graphiques il est possible de crer des objetsquelconques de la HP partir du leur codage en hexadcimal. Par exemple, le codage d'uneliste vide est A7A20B2130. Voici comment fabriquer de toute pice une liste vide :

    1 - on met la chane de caractres "GROB 1 5 A7A20B2130" sur la pile

    2 - on applique OBJ-> ce qui donne un objet graphique de taille 1x5

    3 - on extrait le 4 me lment de l'objet graphique, en considrant qu'il s'agit d'un objetcompos. Pour cela on met l'entier systme sur la pile puis on applique le SYSEVAL#56B6h

    4 -on efface l'External du niveau 1 et on fait un NEWOB: on obtient alors une liste vide tout fait valide, que nous venons de fabriquer partir de son codage en mmoire.

    De la mme manire il est possible de fabriquer n'importe quel objet de la HP, des objets les plus

    courants jusqu'aux objets les plus exotiques, simplement partir de leur codage en mmoire(prologue+contenu+pilogue). C'est ce principe qui est utilis dans la version RPL du programme->OBJ disponible en tlchargement plus bas dans cette page.

    Une dernire application de l'extraction des chanes de caractres est la possibilit d'intgrer descommentaires dans des programme RPL de la HP. Si on met un commentaire entre deux @dans un programme (entre >) ce commentaire est immdiatement ignor par la HP ds lavalidation du programme et ne sera pas enregistr dans le programme RPL. Une solutionconsiste mettre le commentaire dans une chane de caractres et lui appliquer OBJ->.Exemple :

    3 + >>

    Lors de l'extraction de la chane de caractres, le commentaire sera immdiatement ignor sanslaisser de trace sur la pile.

    Bien sr, le programme suivant aurait donn le mme rsultat, mais aurait t sensiblement pluslent :

    >

    Les objets de la HP48GX :

    Il existe 28 types d'objets diffrents dans la HP48. Le tableau ci-dessous contient, pour chacun

  • 7/24/2019 Les Commandes Secrtes de La HP48GX

    5/10

    21/12/2015 Les commandes secrtes de la HP48GX

    http://www.gecif.net/articles/mathematiques/hp48gx/ 5/10

    des types d'objets, son nom, son prologue (sur 5 quartets), et son type (le numro renvoy parl'instruction TYPE). Certains types d'objets vous sont dj familiers, alors que d'autres vousparatront plus exotiques :

    Nom du type Prologue Type

    Nombre rel #02933h 0 Nombre complexe #02977h 1 Chane de caractres #02A2Ch 2 Tableau rel #029E8h 3 Tableau complexe #029E8h 4

    Liste #02A74h 5 Nom global #02E48h 6 Nom local #02E6Dh 7 Programme #02D9Dh 8 Expressions #02AB8h 9 Entier binaire #02A4Eh 10 Objet graphique #02B1Eh 11 Objet taggu #02AFCh 12 Objet unit #02ADAh 13 Nom XLib #02E92h 14 Rpertoire #02A96h 15 Librairie #02B40h 16 Objet backup #02B62h 17 Fonction intgre #02D9Dh 18 Commande intgre #02D9Dh 19 Entier systme #02911h 20 Rel long #02955h 21 Complexe long #0299Dh 22 Linked array #02A0Ah 23 Caractre #029BFh 24 Objet code #02DCCh 25 Library data #02B88h 26 Ext1 #02BAAh 27 Ext2 #02BCCh 27 Ext3 #02BEEh 27

    Ext4 #02C10h 27 External .................. 27

    La ROM de votre HP renferme plusieurs exemplaires de chacun de ces objets. Voici une listed'adresses contenant certains objets, du plus courant au plus exotique. Attention : les adressesentre #C0000h et #FFFFFh donne dans le tableau ci-dessous sont en ROM non standard, etnon couverte si vous n'avez pas de carte mmoire supplmentaire dans la HP. Ces objets sontdonc accessibles par un simple SYSEVAL seulement si vous n'avez pas de carte mmoiresupplmentaire dans votre HP (sinon la ROM est couverte ...).De plus, je prcise que j'ai trouv exprimentalement ces adresses en fouillant la ROM de maHP qui est une HP48GX version R.

    A l'adresse se trouve un objet de type

    #514EBh Nombre rel #D379Eh Nombre complexe #C2483h Chane de caractres #D3741h Tableau rel #CD7BFh Tableau de chane de caractres #C3207h Tableau de XLib #F44E4h Tableau de Nom Global #5EDE4h Tableau de External #C31DCh Liste #CE177h Nom global #54A2Ah Nom local #54A42h Expressions #C4B63h Entier binaire

    #CEECAh Objet graphique #C2479h Objet unit #CCA9Fh Librairie #71BBDh Objet backup #62136h Entier systme #C7D07h Rel long

  • 7/24/2019 Les Commandes Secrtes de La HP48GX

    6/10

    21/12/2015 Les commandes secrtes de la HP48GX

    http://www.gecif.net/articles/mathematiques/hp48gx/ 6/10

    #52BECh Complexe long #C0F96h Linked array #EAEABh Caractre #CB93Ch Objet code #CEFCEh Library data

    Utilisation de ce tableau : vous voulez voir un Linked Array ? C'est trs simple : vous mettezl'entier binaire #C0F96h sur la pile (l'adresse du Linked Array), puis vous tapez SYSEVAL.

    Rappel : je ne peux pas garantir que toutes ces adresses fonctionnent sur toutes les HP

    (notamment les HP48G et les HP49). Ce sont des adresses que j'ai moi-mme constates surma propre HP48GX, qui ne contient aucune carte mmoire additionnelle.

    Les programmes de base, en version RPL, pour explorer les objets de la HP48 :

    Description du tlchargement Nom du

    fichier Type Taille

    ->STRING: convertit un objet en chane decaractres, reprsentant le codage en

    mmoire de l'objetSTRING.RPL ProgrammeRPL

    148octets

    ->OBJ: cre un objet partir d'un chane decaractres reprsentant le codage en mmoirede l'objet (permet de reconvertir en objets les

    chanes obtenues par le programme ->STRING, ou de crer des objets exotiques)

    OBJ.RPL ProgrammeRPL131

    octets

    ->ADR: renvoie l'adresse en mmoire d'un

    objet

    ADR.RPL ProgrammeRPL118

    octets

    ->EXT(premire version) : cre des structuresRPL faisant appel des adresses non

    standards de la HP (External) partir d'uneliste de points d'entre

    EXT.RPL ProgrammeRPL387

    octets

    Le programme ->EXT attend au niveau 1 de la pile une liste contenant des entiers binaires,chaque entiers binaires reprsentant l'adresse d'une routine excuter (un SYSEVAL). Exemple: le SYSEVAL #30794h renvoie la version exacte de la HP (HP48-A, HP48-B, etc.. HP48-Z). Sion met l'entier binaire #30794hsur la pile, puis qu'on tape SYSEVAL, on excute la routine quise trouve l'adresse #30794h, et qui nous renvoie la version de la HP. Mais pour excuter ceSYSEVAL #30794h on peut aussi utiliser le programme ->EXT : on met sur la pile une listecontenant l'adresse #30794h (la liste est { #30794h }, et elle ne contient qu'un seul lment), eton lance le programme->EXT, qui convertit la liste en une structure RPL (type 8) reprsente sur

    la pile par le mot External. Cet "External" fait exactement la mme chose que le SYSEVAL#30794h : il renvoie la version de la HP. La structure RPL renvoye par ->EXT est alorsquivalente au programme RPL suivant (> symbolisent les guillemets sur la HP) :

    >

    Mais on peut aussi passer ->EXTdes listes bien plus grandes, contenant des dizaines d'entiersbinaires, reprsentant chacun une adresse interne de la HP (un SYSEVAL). On obtiendra alorsdes structures RPL (des External) faisant appel directement aux adresses interne de la HP : c'estce qu'on appelle des programmes en RPL-Systme, un juste milieu entre le RPL standard qui selimite aux seules instructions prsentent dans les menus, et l'assembleur. Les programmes duparagraphe suivant sont crits en RPL-Systme, et sont distribus sous forme de listes d'entiersbinaire passer au programme ->EXT.

    http://www.gecif.net/articles/mathematiques/hp48gx/ext.rplhttp://www.gecif.net/articles/mathematiques/hp48gx/adr.rplhttp://www.gecif.net/articles/mathematiques/hp48gx/obj.rplhttp://www.gecif.net/articles/mathematiques/hp48gx/string.rpl
  • 7/24/2019 Les Commandes Secrtes de La HP48GX

    7/10

    21/12/2015 Les commandes secrtes de la HP48GX

    http://www.gecif.net/articles/mathematiques/hp48gx/ 7/10

    Les programmes avancs en External pour programmer et explorer les objetsde la HP48 :

    Description du tlchargement Nom du fichier TypeTaille

    ->EXT(deuxime version) : cre desstructures RPL faisant appel desadresses non standards de la HP

    (External) partir d'une liste de points

    d'entre

    LISTE_VERS_EXT.LST Liste 244octets

    EXT->: fait le contraire de ->EXT :recre une listes de points d'entres

    partir d'un ExternalEXT_VERS_LISTE.LST Liste 336octets

    Ces deux programmes sont distribus ici sous forme d'une liste d'entiers binaires appliquer auprogramme->EXT lui-mme, afin d'obtenir la structure RPL correspondante (l'"External"). Mais ilfaut noter que :- la deuxime version de->EXTsera cr grce la premire version (version RPL) de ->EXT- le programme EXT->sera cr grce la deuxime version (version External) de ->EXT- partir de maintenant, ds que je parlerai du programme ->EXT, il s'agira de la versionExternal (la deuxime version) et non plus de la premire version RPL

    Les deux programmes suivants, distribus ici sous forme de liste d'entiers binaires appliquer -

    >EXT, vous permettrons de raliser des tableaux "exotiques". Grce eux, vous pourrez crer etutiliser des tableaux de type quelconques : tableau de nom, tableau de programmes RPL,tableau de chanes de caractres, tableau d'External, etc ...

    Description du tlchargement Nom du fichier TypeTaille

    ->VECconvertit une liste d'objets entableau une dimension

    LISTE_VERS_VEC.LST Liste 543octetsVEC->: fait le contraire de ->VEC :

    convertit un tableau une dimension enliste

    VEC_VERS_LISTE.LST Liste 335octets

    Le programme ->VECconvertit une liste en tableau une dimension (donc en vecteur), et leprogramme VEC->reconvertit le tableau en liste. Exemple :

    Vous mettez la liste suivante sur la pile, contenant 3 chanes de caractres : { "A" "B" "C" }Si vous lui appliquez le programme->VEC, vous obtenez un objet Array of Stringsur lapile, soit un tableau de chanes de caractres.Si vous appliquez VEC-> l'objet Array of String, vous retrouvez la liste { "A" "B" "C" }d'origine

    Remarque : pour que le programme ->VECpuisse convertir une liste en vecteur, il faut queTOUSles objets de la liste soit du mme type.

    Les SYSEVAL indispensables sur la HP48GX :

    Conversion de typesSYSEVAL Description

    #543F9h Convertit un Rel en Entier binaire #18CD7h Convertit un Rel en Entier systme #5435Dh Convertit un Entier binaire en Rel #5A03h Convertit un Entier binaire en Entier systme #18DBFh Convertit un Entier systme en Rel #59CCh Convertit un Entier systme en Entier binaire

    #5B15h Convertit une chane (string, type 2) en Nom global

    (type 6)

    #57004h Convertit un Nom global (type 6) en chane decaractres (type 2)

    #7E76h Convertit une instruction (type 18 ou 19) en un Nom

    XLib (type 14)

    #7E99h Convertit un Nom XLib (type 14) en instruction (type 18

    http://www.gecif.net/articles/mathematiques/hp48gx/vec_vers_liste.lsthttp://www.gecif.net/articles/mathematiques/hp48gx/liste_vers_vec.lsthttp://www.gecif.net/articles/mathematiques/hp48gx/ext_vers_liste.lsthttp://www.gecif.net/articles/mathematiques/hp48gx/liste_vers_ext.lst
  • 7/24/2019 Les Commandes Secrtes de La HP48GX

    8/10

    21/12/2015 Les commandes secrtes de la HP48GX

    http://www.gecif.net/articles/mathematiques/hp48gx/ 8/10

    ou 19)(+ VF Ext)

    #5AB3h Convertit l'objet du niveau 2 de la pile en un objet dontle prologue est au niveau 1 sous forme d'un entiersystme.

    #F075h Convertit une chane de caractres (type 2) en un objet

    unit (type 13) de partie scalaire gale 1 (+ VF Ext)

    + VF Extsignifie : Renvoie en plus VRAI ou FAUX sous forme d'un External au niveau 1 de lapile.

    Renvoie d'une informationSYSEVAL Description

    #15777h Renvoie le caractre nul

    #15CBBh Renvoie le type d'un objet sous forme de chane :

    "Program"

    #3C64h

    Renvoie le prologue d'un objet sous forme d'un entiersystme Exemple : , ou renvoie si l'objet n'estpas reconnu

    #219E0h Renvoie le numro d'une librairie

    #30794h Renvoie la version de la HP : "HPHP48-R" (diffrent de

    l'instruction secrte VERSION)

    #D2A3h Renvoie 4 chanes dcrivant les 4 dernires

    interruptions (instruction secrte WSLOG)

    #20A7Dh Renvoie sous forme de mots-croiss les prnoms desconcepteurs du code de la HP48 (instruction secrte RULES)

    Comment utiliser votre HP48 comme une tlcommande infrarouge, pourcommander votre tlvision ou votre magntoscope (ou les 2 ! ) ?

    Votre HP possde un metteur et un rcepteur infrarouge. Elle a donc tout pour se transformeren super-tlcommande infrarouge, qui pourra enregistrer, mmoriser, et restituer lescommandes de plusieurs appareils diffrents, telle une tlcommande universelle ! Pour celavous avez besoin de 2 objets CODE(type 25) que j'appellerai REC.IR et PLAY.IR

    REC.IRpermet d'enregistrer une squence infrarouge partir d'une tlcommande, et desauvegarder cette squence sur la HP sous forme d'une chane de caractresPLAY.IRpermet d'mettre une squence infrarouge, partir d'une chane cre parREC.IR

    Les 2 programmes REC.IR et PLAY.IR sont tlchargeables ici sous forme de chanes decaractres qu'il faudra appliquer au programme ->OBJ pour construire rellement les objetsCODE.

    Description du tlchargement Nom du fichier Type Taille

    REC.IR: permet d'enregistrer une squenceinfrarouge

    REC.CH Chane 195octetsPLAY.IR: permet d'mettre une squence

    infrarouge PLAY.CH Chane 175octets

    Vrification et construction des objets CODE :

    Vous pouvez vrifier la somme de contrle et la taille de tout objet sur la HP grce lacommande BYTES du menu MEMORY.

    Vrification des chanes de caractres aprs le transfert sur votre HP :

    la somme de contrle de la chane REC.CHest #F670hla somme de contrle de la chane PLAY.CHest #474Ah

    Construction des objets CODE :

    http://www.gecif.net/articles/mathematiques/hp48gx/play.chhttp://www.gecif.net/articles/mathematiques/hp48gx/rec.ch
  • 7/24/2019 Les Commandes Secrtes de La HP48GX

    9/10

    21/12/2015 Les commandes secrtes de la HP48GX

    http://www.gecif.net/articles/mathematiques/hp48gx/ 9/10

    Pour construire l'objet CODE REC.IR, vous devez appliquer la chane REC.CHau programme ->OBJ.Pour construire l'objet CODE PLAY.IR, vous devez appliquer la chane PLAY.CHau programme->OBJ.

    Dernire vrification des objets CODE avant de les lancer :

    la somme de contrle de l'objet CODE REC.IRest #E0D5hla somme de contrle de l'objet CODE PLAY.IRest #6ADh

    Utilisation des objets CODE REC.IR et PLAY.IR :

    1. Mettre sur la pile une chane de caractres contenant environ 1000 espaces. Leprogramme suivant construit une chane de 1024 espaces : >

    2. Lancer le programme (le CODE) REC.IR3. Mettre la tlcommande bien en face de la HP, et appuyer sur une touche de la

    tlcommande JUSQU'A CE QUE LE SABLIER DE LA HP SOIT ETEIND4. Sauvegarder la chane de caractres ainsi obtenue dans une variable5. Pour mettre une commande infrarouge : mettre le chane cre par REC.IR sur la pile,

    puis lancer PLAY.IR

    Conseil : si vous n'arrivez pas mettre correctement une squence infrarouge, vous pouvezaugmenter la taille de la chane de 1000 espaces que vous avez utilise pour l'enregistrement

    avec REC.IR : vous pouvez par exemple utiliser une chane de 2000 espaces. Mais n'oubliez pasque plus cette chane de caractres est longue, plus fidle sera la reproduction de la squenceinfrarouge, mais en mme temps l'mission de la commande durera plus longtemps, et donc,usera plus de piles ... Inversement, avec certaines tlcommandes une chane de 500 caractres(voire moins) peut suffire, ce qui sera plus conomique en nergie lors de l'mission. La longueurde la chane de caractres dans laquelle vous enregistrez votre squence infrarouge dpendaussi de la distance laquelle vous voudrez mettre la commande plus tard.

    Gnration automatique de tous les programmes de base prsents ci-dessus :

    Le programme RPL creer.rpl permet de gnrer automatiquement les 10 programmes de baseprsents ci-dessus (7 programmes pour explorer les objets de la HP, et 3 programmes pourutiliser la HP comme une tlcommande infrarouge universelle).

    Ce programme creer.rplrecre un par un chaque programme de base, et ce :

    soit partir de son code source en RPLsoit partir d'un chane de caractres (passe au programme ->OBJ)soit partir d'une liste d'adresses (passe au programme ->EXT)

    Description du tlchargement Nom du

    fichier Type Taille

    CREER: gnre dans le rpertoire courant les10 programmes de base

    CREER.RPLProgrammeRPL3 100octets

    L'algorythme de ce programme CREERest le suivant :

    1. met sur la pile le code source RPL du programme ->OBJ puis l'enregistre sous le nom ->OBJ

    2. met sur le pile la chane de caractres reprsentant le programme ->STRING, applique ->OBJ, puis enregistre le rsultat sous le nom ->STRING

    3. met sur le pile la chane de caractres reprsentant le programme ->ADR, applique ->OBJ,

    puis enregistre le rsultat sous le nom->ADR4. met sur le pile la chane de caractres reprsentant le programme ->EXT de base (version

    RPL), applique ->OBJ, puis enregistre le rsultat sous le nom ->EXT: il s'agit de la versionRPL provisoire du programme ->EXT

    5. met sur la pile la liste reprsentant la version external du programme ->EXT, applique ->EXT (en utilisant la version de base en RPL), puis enregistre la rsultat sous le nom -

    Vous tes ici: Gecif.net > CuriositsMathmatiques > Lescommandes secrtes dela calculatrice HP48GX

    RechercherAccueil

    Sciences de l'Ingnieur

    Mathmatiques

    Programmation

    Linux

    Images FractalesRechercher ...

    Courriel

    Haut de la page

    Fermer ce menu

    http://%20fermer_menu%28%29/http://%20scrollto%280%2C0%29/mailto:[email protected]://fractale.gecif.net/scripts/rechercher.phphttp://www.gecif.net/articles/mathematiques/hp48gx/http://www.gecif.net/articles/mathematiques/hp48gx/http://www.gecif.net/articles/mathematiques/hp48gx/http://www.gecif.net/articles/mathematiques/hp48gx/http://www.gecif.net/articles/mathematiques/hp48gx/http://www.gecif.net/http://www.gecif.net/articles/mathematiques/http://www.gecif.net/http://www.gecif.net/articles/mathematiques/hp48gx/CREER.RPL
  • 7/24/2019 Les Commandes Secrtes de La HP48GX

    10/10

    21/12/2015 Les commandes secrtes de la HP48GX

    // f / / / / /

    >EXT: la version de base provisoire de ->EXT (en RPL) viens d'tre remplace par laversion dfinitive (en external)

    6. met sur la pile la liste reprsentant la version external du programme EXT->, applique ->EXT, puis enregistre la rsultat sous le nom EXT->

    7. met sur la pile la liste reprsentant la version external du programme ->VEC, applique ->EXT, puis enregistre la rsultat sous le nom ->VEC

    8. met sur la pile la liste reprsentant la version external du programme VEC->, applique ->EXT, puis enregistre la rsultat sous le nom VEC->

    9. met sur le pile la chane de caractres reprsentant le programme REC.IR, applique ->OBJ, puis enregistre l'objet code obtenu sous le nom REC

    10. met sur le pile la chane de caractres reprsentant le programme PLAY.IR, applique ->OBJ, puis enregistre l'objet code obtenu sous le nom PLAY

    11. cre un programme RPL permettant de crer une chane vide de 1024 caractres, puisenregistre ce programme RPL sous le nom CHVID

    12. ordonne les fichiers du rpertoire courant dans l'ordre suivant : ->STRING ->OBJ ->EXTEXT-> ->VEC VEC-> ->ADR CHVID REC PLAY CREER

    Le programme CREER a gnr automatiquement les 10 programme suivants, tous placs dansle rpertoire courant :

    ->OBJ

    ->STRING

    ->ADR

    ->EXTEXT->

    ->VEC

    VEC->

    REC

    PLAY

    CHVID

    Alimentation et cble pour la HP48 :

    Et voici pour terminer tous les schmas lectroniques ncessaires pour vous raliserune alimentation et un cble de transfert pour votre calculatrice HP :

    Description du tlchargement Nom du fichier Type Taille

    Schma lectronique pour raliser unealimentation secteur permettant d'alimenter

    la HP en permanence :fini le fameux message Warning: LowBat

    ( )!

    fiche_alim_hp48.pdf 73 ko

    Schma pour raliser tous les cbles pourtransfrer des fichiers entre votre HP etvotre PC, ou des objets entre 2 HP

    fiche_cable_hp.pdf 35 ko

    Site Internet : www.gecif.net

    Auteur : Jean-Christophe MICHEL

    Professeur de Sciences Industrielles de l'Ingnieuroption Information et Numrique

    Courriel :[email protected]

    mailto:[email protected]:[email protected]://www.gecif.net/http://www.gecif.net/articles/mathematiques/hp48gx/fiche_cable_hp.pdfhttp://www.gecif.net/articles/mathematiques/hp48gx/fiche_alim_hp48.pdf