PANAME


Le module Paname 110 fonctions spécifiques pour la gestion des tableaux



hp 41c+ paname




Référence Hewlett-Packard : HP 82500B-E65 SCIP ID 05/09 USA

Code date : 8442

Capacité 8 Ko (2 x 4 Ko)

XROM 05 et XROM 09

Sortie du module : fin 1984

Prix public du module à la sortie : 1350 F T.T.C (Brochure BCMW)

Prix du module en 1986 (mars) : £ 85 (DATFILE, V5 N2)

Nombre de modules produits : 250

Concepteurs : Stéphane Barizien, Jean-Jacques Dhénin, SCIP : Société de Câblage et d'Informatique Portable, gérant Etienne Poupée

Manuel d’utilisation en français, préfacé par Philippe Descamps (édité en 1986)


Petite histoire du module

hp 41c

Le fameux module Paname a été créé par Jean-Jacques Dhénin et Stéphane Barizien entre 1983 et 1984. Sa "commercialisation" débute fin 1984. Alors que le module ZENROM sort en mai 1984 (PPC, V11N4) et que le module ADVANTAGE est présenté en novembre 1985 (PPC, V12N11), le module PANAME s'inscrit dans la logique du développement artisanal et arrive un peu tard. Il sera présenté en mars 1986 dans un numéro de DATAFILE (HPCC, V5 N2).

En 1983, dans l'effervescence qui règne autour du petit monde des amateurs de calculatrices programmables, un groupe d'amateurs avertis, futurs ingénieurs et docteurs, vont concevoir et développer le projet qui trouve son origine dans la publication du livre de Philippe Descamps et Jean-Jacques Dhénin :
Programmer HP 41 (éditions du P.S.I., 1982). En effet, la plupart des fonctions sont étudiées dans le livre, et les auteurs en donnent les listings. Ainsi, la préface écrite par Philippe Descamps mentionne que "la presque totalité des fonctions contenues dans le module "PANAME" ont été conçues comme des "procédures" indépendantes, initialement écrites en langage utilisateur et publiées en 1982". Le passage du langage utilisateur du HP 41 au langage machine en microcodes nécessite deux choses : d'une part la maîtrise du microcode (et donc posséder les codes sources du HP 41), et d'autre part, la maîtrise d'un MLDL (Machine Language Developpement) comme l'ERAMCO. Or, Stéphane Barizien qui est à l'époque étudiant à l'école Centrale de Paris possède un tel système. Ses compétences seront mises en oeuvre avec succès. Jean-Jacques Dhénin assure, quant à lui, la transition entre les fonctions décrites dans l'ouvrage et leurs réalisations concrètes.

La question du financement du module se posera elle aussi avec acquité, et c'est Etienne Poupée de la SCIP qui participera au projet en aidant à son financement. Une autre société, la BCMW, pour laquelle Jean-Jacques Dhénin va travailler, s'intéresse au module à travers le développement d'un système portable capable de gérer des stocks pour l'entreprise Suchard.

Lorsque l'on liste l'ensemble des fonctions et que l'on compare ces fonctions à celles du module X-Function (08/81), intégré dans les HP 41CX, on constate que sept d'entre elles ont un nom strictement identique. ALENG ANUM AROT POSA PSIZE SIZE X<>F

Anecdotes

« Pour en revenir aux fonctions reprises dans le ROM Paname, des fonctions essentielles du X-Fonction étaient nécessaires pour écrire le ROM Paname et nous avons préféré les reprendre et les adapter afin de suivre un standard, et puis ce n'était pas la coutume de refaire la roue, une chose est écrite, on l'utilise. » Jean-Jacques Dhénin

« J'ai été au coeur de Rom Paname puisque le sigle SCIP veut dire Société de Câblage et d'Informatique Portable dont j'étais l'instigateur et gérant plus tard. Au départ sponsor et financier de ce ROM et créateur avec Didier J. du lecteur d'Eprom SCIP ainsi que du MLDL correspondant, la société BCMW en permis la sortie en payant les 15 000 francs qu'il fallait verser à HP. » Etienne Poupée

« C'est Stéphane Barisien qui a créé ASAP le programme pour ingurgiter du code assembleur dans la machine à faire les roms à Orsay, car à l'époque HP n'avait pas prévu de créer des roms en assembleurs mais uniquement en langage utilisateur. » Etienne Poupée

Anecdote croustillante


Qui n’a pas rêvé tomber un jour sur un carton plein de calculatrices ou bien un stock de modules pour sa HP-41C ? Emmanuel Compès se souvient très bien être tombé sur un stock de modules Paname. C'était en 1995, peut-être 1996. Inespéré pour un fan de HP 41C ! Mais seul un fan pouvait repérer ces objets, qui pour la plupart sont dénués d’intérêt, dans le fatras d’un stock informatique. « J’en ai récupéré une bonne centaine. Je pense que le type qui s'en est défait avait dû bosser chez BCMW à l’époque. Je les ai eu pour une bouchée de pain. »

Une histoire incroyable, et qui a permis de faire connaître ce module à travers le monde grâce à Internet. « De ces modules, j'en ai écoulé petit à petit la totalité soit en les vendant à un prix raisonnable, soit en faisant du troc. Avec Diego Diaz, le créateur des modules CLONIX et NoVRAM, j’ai fait des échanges : 5 modules pour 1 Clonix41 et 10 pour 1 NoVRAM. » Emmanuel Compès a ainsi contribué à l’information sur le module PANAME. Il a créé une page Internet dédiée à ce module et scanné le manuel d’application.

Reste-t-il quelque part, dans un vieux carton, un lot de modules PANAME ?

Listing des instructions

Une pression sur CATALOG 2 nous donne le listing des fonctions du module PANAME. Celles-ci commencent avec -ADV PRT 3C et s'arrêtent avec la fonction YTOAX.

paname

La liste des 127 fonctions

En réalité, le module PANAME offre 127 fonctions. Il existe en effet 7 fonctions supplémentaires liées à la touche ON. La première est visible lorsque l'on appuie sur une des touches du clavier (hormis celles liées à une fonction précise) et que l'on presse la touche ON. Le petit "canard" apparaît à gauche de l'écran, indiquant que le module PANAME est connecté.


NOM DES FONCTIONS XROM DESCRIPTION SUCCINCTE DES FONCTIONS
ON .
ON K
ON A
ON M
ON T
ON V
NO XROM
NO XROM
NO XROM
NO XROM
NO XROM
NO XROM
-Passe du format américain (.) au format européen (,)
- Supprime toutes les assignations
- Active le jeu d'assignation A
- Active le jeu d'assignation M
- Active le jeu d'assignation T
- Active le jeu d'assignation V
- ADV PRT 3C Boucle HP-IL
AID XROM 05. 01 Affiche le numéro de l'accessoire HP-IL connecté
ID XROM 05. 02 Affiche en Alpha l'identification du périphérique HP-IL connecté
FINDAID XROM 05, 03 Recherche un périphérique sur une boucle HP-IL
OUTAX XROM 05, 04 Effectue X fois l'opération de déposer en Alpha un caractère
OUTCR XROM 05, 05 Envoie un Retour Chariot (Carriage Return)
OUTLF XROM 05, 06 Envoie un saut de ligne (Line Feed)
OUTLFX XROM 05, 07 Envoie X fois un saut de ligne (Line Feed)
OUTSPX XROM 05, 08 Envoie X espaces (SPaces by X)
OUTXB XROM 05, 09 Envoie un caractère spécifié par son code décimal (0-255)
OUTYBX XROM 05, 10 Envoie X fois le code décimal définissant le caractère Y 
OUTa XROM 05, 11 Identique à OUTA mais en caractère inversé
OUTaX XROM 05, 12 Identique à OUTAX mais en caractère inversé
RCLSEL XROM 05, 13 Rappel de l'adresse de l'appareil principal en boucle HP-IL
- 82163 FCNS
Interface vidéo
CLEAR XROM 05, 15 Efface l'affichage
CLEARO XROM 05, 16 Efface l'affichage à partir de la position du curseur jusqu'en bas de l'écran
CSRDN XROM 05, 17 Déplacement du curseur vers le bas
CSRHX XROM 05, 18 Déplacement horizontal du curcseur
CSRL XROM 05, 19 Déplacement vertical du curseur
CSROFF XROM 05, 20 Suppression du curseur
CSRON XROM 05, 21 Affichage du curseur
CSRR XROM 05, 22 Déplacement du curseur vers la droite
CSRVX XROM 05, 23 Déplacement vertical du curseur
CSRUP XROM 05, 24 Déplacement du curseur vers le haut
CTYPE XROM 05, 25 Sélection du type de curseur
HOME XROM 05, 26 Retour du curseur en haut à gauche de l'affichage
SCRLDN XROM 05, 27 Déroulement de l'affichage
SCRLUP XROM 05, 28 Enroulement de l'affichage
SCRLX XROM 05, 29 Déroulement paramétré
XYTAB XROM 05, 30 Déplacement du curseur suivant une position x et y
-82162 FCNS Imprimante thermique
CLBUF XROM 05, 32 Efface la mémoire tampon
8BIT XROM 05.33 Sélectionne le mode 8 bits
ESCAPE XROM 05.34 Sélectionne le mode ESCAPE
PARSE XROM 05.35 Sélectionne le mode césure sur blanc
STATUS XROM 05.36 Rapelle en X et Y les 2 octets d'état de l'imprimante
TABCOL XROM 05.37 Effectue une tabulation absolue selon le point X
UNPARSE XROM 05.38 Sélectionne le mode césure au 24ème caractère
-82905 FCNS
BELL XROM 05.40 Ding !
CHARSET XROM 05,41 Sélectionne le jeu de caractères : X=0 primaire; X=1 secondaire
FFEED XROM 05.42 Effectue un saut de page
FORMLEN XROM 05.43 Indique le nombre de lignes dans une page
GRAPHX XROM 05.44 Imprime les codes selon X
MODE XROM 05.45 Sélection du mode d'impression
SKIPOFF XROM 05.46 Invalide la fonction de saut
SKIPON XROM 05.47 Valide la fonction de saut
TEXTLEN XROM 05.48 Indique le nombre de ligne par page
VSPAC XROM 05.49
-PLOT FCNS
Fonctions pour mini-plotter
AXIS XROM 05.51 Trace un axe
BACKSP XROM 05.52 Recule d'un caractère
BACKSPX XROM 05.53 Recule de X caractère(s)
BOX XROM 05.54 Trace un rectangle
COLOR XROM 05.55 Sélectionne la couleur du tracé
*CSIZE XROM 05.56 Sélectionne la taille du caractère
*DRAW XROM 05.57 Trace une ligne suivant les coordonnées X et Y
*HOME XROM 05.58 Positionne le stylo en (0,0)
*LABEL XROM 05.59 Imprime le contenu du registre ALPHA
*LDIR XROM 05.60 Définit la direction d'écriture
*LTYPE XROM 05.61 Définit le type de ligne
*MOVE XROM 05.62 Déplace le stylo selon X et Y
*PLREGX XROM 05.63 Trace une ligne brisée
RDRAW XROM 09.00 Trace une ligne
RESET XROM 09.01 Initialisation
REVLF XROM 09.02 Fait revenir le papier en arrière d'une ligne
REVLFX XROM 09.03 Fait revenir le papier en arrière de X ligne(s)
RMOVE XROM 09.04 Déplace le stylo
SETORG XROM 09.05 Redéfinit l'origine selon la position actuel en X et Y
-UTILITIES Fonctions utilitaires
/MOD XROM 09.07 Renvoie le quotient en Y et le reste en X
AD-LC XROM 09.08 Renvoie les coordonnées d'un vecteur
ALENG XROM 09.09 Renvoie la longueur de la chaine ALPHA
ANUM XROM 09.10 Place dans X la première valeur numérique contenue en ALPHA
ANUMDEL XROM 09.11 Idem ANUM et détruit le début de la chaîne
APPX XROM 09.12 Place à la suite du registre ALPHA la partie entière du X
AROT XROM 09.13 Rotation de caractère présent dans ALPHA selon X
ATOXL XROM 09.14 Place en X le code décimal du caratère de gauche en ALPHA
ATOXR XROM 09.15 Place en X le code décimal du caractère de droite en ALPHA
ATOXX XROM 09.16 Place en X le code décimal du caractère selon X
BLDPT XROM 09.17 Construit un pointeur selon X, Y et Z
BRKPT XROM 09.18 Décompose le registre X en trois valeurs numériques
CHFLAG XROM 09.19 Définit l'état des drapeaux en mode PRGM
CLINC XROM 09.20 Efface les incréments
COLPT XROM 09.21 Construit le code de la colonne
GETRGX XROM 09.22 Copie en mémoire spécifiées par X
LC-AD XROM 09.23 Renvoie l'adresse d'un élément d'une matrice
LINPT XROM 09.24 Construit le code de la ligne d'une matrice
NOP XROM 09.25 N'effectue aucune opération
OUT XROM 09.26 Préfixe destiné à faciliter l'écriture des fonctions
POSA XROM 09.27 Renvoie la position dnas la chaine ALPHA selon X
PSIZE XROM 09.28 Alloue aux données le nombre de registres indiqués dans X
READEM XROM 09.29 Copie de la cassette dans XMEMORY
RG XROM 09.30 Préfixe pour aider à frapper des fonctions
RG+- XROM 09.31 Effectue l'addition (ou soustraction) terme à terme selon X et Y
RG* XROM 09.32 Idem RG+- pour la multiplication
RG/ XROM 09.33 Idem RG+- pour la division
RG+Y XROM 09.34 Effectue une opération selon X et Y
RG*Y XROM 09.35 Idem ci-dessus pour la multiplication
RG/Y XROM 09.36 Idem ci-dessus pour la division
RGAX XROM 09.37 Si X<0, recopie le registre ALPHA selon X
RGCOPY XROM 09.38 Si X>0 copie les registres désignés par X dans les registres spécifiés en Y
RGINIT XROM 09.39 Si X>0 place la valeur 0 dans les registres désignés par X
RGNb XROM 09.40 Renvoie le nombre d'éléments déterminés par un code ddd,fffii en X
RGORD XROM 09.41 Rempace chaque valeur par leur rang
RGXTR XROM 09.42 Calcule le registre extrême après le pointeur
RGSUM XROM 09.43 Renvoie la somme des valeurs absolues spécifiées en X
RGVIEW XROM 09.44 Affichage des registres
SAVERGX XROM 09.45 Recopie les registres désignés en X
SIZE? XROM 09.46 Renvoie le nombre de registres alloués aux données
SORT XROM 09.47 Trie par ordre croissant
STO>L XROM 09.48 Copie la valeur placée en X à l'adresse en L
SUB$ XROM 09.49 Extraction d'une sous-chaîne
TF55 XROM 09.50 Active ou désactive l'indicateur 55 (imprimante)
VKEYS XROM 09.51 Catalogue des assignations
WRTEM XROM 09.52 Crée et remplit un fichier de mémoire d'extension sur la cassette
X=NN? XROM 09.53 Comparaison de X avec un registre indirecte en Y
X=/NN? XROM 09.54 Comparaison de X avec un registre indirecte en Y
X<NN? XROM 09.55 Comparaison de X avec un registre indirecte en Y
X<=NN? XROM 09.56 Comparaison de X avec un registre indirecte en Y
X>NN? XROM 09.57 Comparaison de X avec un registre indirecte en Y
X>+NN? XROM 09.58 Comparaison de X avec un registre indirecte en Y
X<>F XROM 09.59 Echange le contenu du registre X avec le registre fictif F de l'état des indicateurs
XTOAL XROM 09.60 Insertion de caractère
XTOAR XROM 09.61 Insertion de caractère
Y/N XROM 09.62 Fonction programmable de test oui/non (bilingue yes=oui)
YTOAX XROM 09.63 Insertion de caractère




Manuel d’utilisation en français                                          English user manual  
 
 L'article dans Pour la Science


Brochure publicitaire (maquette)                                       PANAME l'article !



retour