Plan du site Recherche |
HP-41, conseils d'achat Le PPC-T Mac 41 Module Clonix-41 Modules HEPAX |
Thomas FR69 - Version 002 d'avril 2008 Documents se rapportant à cette page :Réagissez à cet article sur notre forum Aide-mémoire du module HEPAX (106 Ko) Le module HEPAX, annoncé officiellement en novembre 1987 par la société Danoise VM Electronics, appartient, avec les CCD Module, Paname, PPC ROM ou Zenrom, à la catégorie des modules mythiques les plus recherchés par les amateurs de HP-41. Simon Bradshaw écrira dans la revue du HPCC (V6N7, octobre 1987), en conclusion de son article de présentation du module HEPAX : « Je peux honnêtement dire que ce module semble être un des modules d'utilisation générale les plus utiles qu'un utilisateur pourrait acheter ». Il confirmera cet a priori, onze mois plus tard, dans un essai approfondi (V7N6, septembre 1988) à l'issue duquel, il attribua au module HEPAX « une note de 11, sur une échelle de 1 à 10 » ! On pourrait se demander si la date de sortie du module HEPAX ne fût pas un peu tardive relativement à l'histoire du HP-41. Ce syndrome a malheureusement touché de nombreux développements majeurs réalisés autour du HP-41. Alors que les HP-41 furent commercialisés pendant dix ans (de septembre 1979 à novembre 1990), le module HEPAX, qui ne fût réellement disponible, après plus d'une année d'attente, qu'en février 1988, ne profitera que des trois dernières années des HP-41. En 1988, la dernière HP-41 était déjà vieille (la 41CX est sortie en octobre 1983) et tous les investissements importants se reportaient sur des machines plus récentes, comme le HP-71B sorti en février 1984, soit quatre ans avant le module HEPAX ! Cet argument prend encore plus d'importance lorsque l'on se replace dans le contexte d'une époque où, dans les nouvelles technologies, tout allait très vite. L E S F O N C T I O N S D E S M O D U L E S H E P A X Le module HEPAX, abrégé de HEwlett-PAckard 41 eXpansion, est compatible avec les HP 41C, 41CV et 41CX. Il est la combinaison d'un module d'application qui apporte 94 nouvelles fonctions dont toutes celles des modules X Functions et X Memory (avec les mêmes noms simplement précédés d'un H, par exemple HGETX à la place de GETX) ainsi que les fonctions propres à la 41CX (par exemple CLRGX et les tests conditionnels indirects comme X>NN?), des outils de programmation en M-code, le langage machine du HP-41, et de 8 à 32 Ko de mémoire RAM. Le module HEPAX Standard, avec 8 Ko, offre près de deux fois (et donc quatre fois pour un module Advanced HEPAX) la mémoire d'un module X Functions (889 octets ou 127 registres) accompagné de deux modules X Memory (1666 octets ou 238 registres chacun), en n'occupant qu'un seul logement de module contre trois : |
=4x |
+ + |
16044 octets |
4221 octets |
Le même module permet à la fois de stocker des programmes (qui apparaîtront dans le CAT 2 et pourront être exécutés directement dans la mémoire du module HEPAX, comme s'ils étaient dans un module d'application), du texte, des données, des affectations de touches ou la totalité de la mémoire du HP-41, comme on peut le faire avec un lecteur de casettes ou de disquettes HP-IL, et de programmer le HP-41 en langage machine. Un Memory lost n'affecte pas les données de la mémoire HEPAX. Les programmes qu'elle contient peuvent être protégés contre l'effacement. La mémoire HEPAX est conservée tant que le module reste inséré dans le HP-41. De plus, toutes les données des modules HEPAX peuvent être directement transférées entre la mémoire HEPAX et une unité de stockage (cassettes ou disquettes). D E S O U T I L S P O U R L E M - C O D E Les outils de programmations M-code du module HEPAX proposent HEXEDIT un éditeur hexadécimal M-code (lui-même entièrement écrit en M-code) ressemblant, en plus riche, à MCEDIT du Zenrom, avec des fonctions d'insertion et de suppression, des fonctions qui permettent d'effacer ou de déplacer des blocs de mémoire et un désassembleur très puissant qui détecte les octets qui doivent être interprétés comme instructions, texte ou données. Il ne manque en fait qu'un assembleur au module HEPAX pour être complet. Ce manque pourra être aisément comblé par l'utilisation d'un assembleur disponible en image ROM comme l'excellent David Assembler. Q U A T R E M O D U L E S H E P A X Il existe en fait quatre modules HEPAX : les modules HEPAX Standard et Advanced, qui contiennent toutes les fonctions de la ROM HEPAX, plus respectivement 8 et 16 Ko (2260 registres disponibles) de mémoire (dont 340 octets sont utilisés par le HP-41 et le système de gestion de fichiers de l'HEPAX et ne sont donc pas réellement disponibles). À un de ces deux modules, on peut ensuite choisir de rajouter un ou plusieurs modules mémoires HEPAX de 8 ou 16 Ko. Le total de mémoire ne peut pas dépasser 32 Ko, ce qui représente déjà le quart d'une cassette du lecteur de cassettes numériques HP-IL ou la capacité de stockage de près de 300 cartes magnétiques (112 octets par carte) ! Le module, accompagné d'un manuel en anglais de 181 pages en deux volumes (le deuxième volume proposant une introduction au M-code de relativement bonne qualité), est commercialisé aux tarifs suivants (attention, ces prix ont été sujets aux fortes fluctuations du dollar) : En 1988, le prix du module Advanced HEPAX, en euro 2007 (prix réactualisé tenant compte de l'érosion monétaire due à l'inflation, selon les données de l'INSEE) était donc de 483 euros (394 dollars représentaient, en 1988, 2200 francs). É M U L E R U N M O D U L E H E P A X Les modules HEPAX sont aujourd'hui extrêmement difficiles à trouver sur le marché de l'occasion. Il existe néanmoins plusieurs solutions pour émuler ses fonctions : Emu41, l'émulateur HP-41CX de Jean-François Garnier, émule un module HEPAX Standard (8 Ko de RAM). Le fichier Hepaxram.dat, qui contient la RAM du module HEPAX, est créé puis géré automatiquement par Emu41. L'émulateur HP-41X, de Zeljko Hrastovcak, alias HrastProgrammer (à qui l'on doit une belle collection émulateurs) permet d'émuler, sur un HP-48GX, 49G, 49G+ ou 50G, une HP-41C avec un module HEPAX. Le MLDL2000 de Meindert Kuipers permet lui aussi d'émuler un module HEPAX. Pour installer un module HEPAX dans le MLDL2000, on peut suivre la procédure présentée par Howard Owen à la HP Handheld Conference 2007, que l'on trouvera à la page 27 (chapitre MLDL-2000 and HEPAX How-To) de ce document : Printed Conference Proceedings. Diego Diaz a conçu son module NoVRAM dans le but premier d'émuler un module Advanced HEPAX (16 Ko de RAM). À toutes les qualités du module HEPAX, le NoVRAM en ajoute deux, et de taille ! Il permet de stocker deux pages de ROM supplémentaires, à la manière du module Clonix-41, et surtout, grâce à l'utilisation de RAM ferromagnétique, la mémoire du module NoVRAM n'est pas volatile et son contenu ne se vide pas lorsque le module est déconnecté. Virtual HP-41, l'émulateur HP-41CX de Warren Furlow est, depuis sa version 8, compatible avec le module HEPAX. A I D E - M É M O I R E D U M O D U L E H E P A X Version PDF (106 Ko) de l'aide-mémoire (cliquez avec le bouton droit de la souris sur ce lien puis « Enregistrer la cible du lien sous... » pour enregistrer ce fichier sur votre disque dur). File System Functions |
Function HAPPCHR HAPPREC HARCLRC HASROOM HCLFL HCRFLAS HCRFLD HDELCHR HDELREC HEPDIR HEPDIRX HEPROOM HFLSIZE HGETA HGETK HGETR HGETREC HGETRX HGETX HINSCHR HINSREC HPOSFL HPURFL HRCLPT HRCLPTA HREADFL HRENAME "HRESZFL" HSAVEA HSAVEK HSAVEP HSAVER HSAVERX HSAVEX HSEC HSEKPT HSEKPTA HUNSEC HWRTFL PRIVATE |
Description Appends the characters in the ALPHA register at the end of the record at the pointer in the current HEPAX text file. Appends the contents of the ALPHA register as a new record at the end of the current HEPAX text file. Appends the record at the pointer in the current HEPAX text file to the ALPHA register. Returns the number of characters left in a HEPAX text file. Clears the contents of a HEPAX data or text file. The file is not deleted. Creates a HEPAX text file. Creates a HEPAX data file. Deletes a number of characters from the current HEPAX text file, starting at the pointer. Deletes the record at the pointer from the current HEPAX text file. Lists all files in the HEPAX file system. Lists one files in the HEPAX file system. Returns the number of registers available in the HEPAX file system. Returns the size of a HEPAX file. Recalls the contents of entire calculator main memory from a HEPAX "write-all" file. Recalls system key assignments from a HEPAX key assignment file. Recalls the contents of all main memory data registers from a HEPAX data file. Replaces the contents of the ALPHA register with the record at the pointer in the current HEPAX text file. Recalls the contents of a block of main memory data registers from a HEPAX data file. Recalls the contents of the X register from a HEPAX data file at the pointer. Inserts the characters in the ALPHA register at the pointer in the current HEPAX text file. Inserts the contents of the ALPHA register as a new record before the record at the pointer in the current HEPAX text file. Returns the location of the first occurrence of the string in the ALPHA register after the pointer in the current HEPAX text file. Purges (deletes) a HEPAX file. Recalls the pointer(s) from the current HEPAX data or text file. Recalls the pointer(s) from any HEPAX data or text file, or the file size of any other file type. Read a HEPAX file from Mass Storage. Renames a HEPAX file. FOCAL program that resizes data or text files. Program listing on page 30 in the Owner's Manual. Saves the contents of entire calculator main memory in a HEPAX "write-all" file. Saves system key assignments in a HEPAX key assignment file. Saves a program in main memory in HEPAX memory. Saves the contents of all main memory data registers in a HEPAX data file. Saves the contents of a block of main memory data registers in a HEPAX data file. Saves the contents of the X register in the current HEPAX data file. Secures a HEPAX file against accidental loss. Sets the pointer(s) in the current HEPAX data or text file. Sets the pointer(s) in any HEPAX data or text file. Unsecures a HEPAX file. Writes a HEPAX file to Mass Storage. Makes a program in HEPAX private. |
The Extended Functions Multi-function To execute an Extended Functions Multi-function, execute the XF function and enter the multi-function number or execute the XFA function and press ALPHA, enter the multi-function name and press ALPHA. |
Name ALENG ANUM AROT ATOX CLKEYS CLRGX GETKEY GETKEYX PASN PCLPS POSA PSIZE RCLFLAG REGMOVE REGSWAP ∑REG? SIZE? STOFLAG X<>F XTOA X=NN? X≠NN? X<NN? X<=NN? X>NN? X>=NN? |
Number 000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 |
Description Returns the length of the string in ALPHA. Converts the string in ALPHA to a numerical value in X. Rotates contents of ALPHA. Converts a character in ALPHA to a character code in X. Clears all key assignments. Clears registers as specified by X. Gets keycode depending on key pressed. Gets keycode within time specified by X. Programmable assignment. Programmable clear programs. Finds position of string or character in ALPHA. Programmable SIZE. Recalls the status of user flags 00-43. Moves a block of main memory data registers. Swaps two blocks of main memory data registers. Returns the location of the statistical registers. Returns the current SIZE. Restores the status of user flags 00-43. Exchanges the status of user flags 0-7 with the X register. Converts character code in the X register to a character in the ALPHA register. Compares X with indirect Y. Compares X with indirect Y. Compares X with indirect Y. Compares X with indirect Y. Compares X with indirect Y. Compares X with indirect Y. |
HEPAX Advanced Functions |
Function CLRAM CODE COPYROM DECODE DECODYX DISASM "DISSST" HEXEDIT HPROMPT "JUMP" RAMTOG READROM WRTROM |
Description Clears a whole or part of a 4K block of HEPAX memory. Codes the hexadecimal string in the ALPHA register and places result in the X register. Copies a whole or part of a 4K block of system memory to HEPAX RAM. Decodes the contents of the X register and places result in the ALPHA register. Decodes a number of nybbles as DECODE. Disassembles HP-41 M-code. FOCAL program that disassembles HP-41 M-code line by line. Program listing on page 67 in the Owner's Manual. Edits HEPAX memory word by word. Prompts for a number of hexadecimal digits. FOCAL program that calculates HP-41 M-code absolute jump instructions. Program listing on page 127 in the Owner's Manual. Toggles write protection status of a ROM image. Reads a number of ROM images from Mass Storage. Writes a number of ROM images to Mass Storage. |
The HEPAX Multi-function |
Name AND BCAT BCD-BIN BIN-BCD CTRAST DELETE INSERT NOT OR ROTYX SHIFTYX XOR X+Y X-$ Y-X |
Number 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 |
Description Logical X AND Y. Block catalog. Converts number in X from BCD to binary. Converts number in X from binary to BCD. Sets display contrast ("Halfnut" calculators only). Works like DELETE of the hexadecimal editor. Works like INSERT of the hexadecimal editor. Complement of X. Logical X OR Y. Rotates Y register X nybbles. Shifts Y register X bits. Logical X exclusive-or Y. Bitwise addition. Converts X register to alpha string. Bitwise subtraction. |
Version PDF (106 Ko) de l'aide-mémoire (cliquez avec le bouton droit de la souris sur ce lien puis « Enregistrer la cible du lien sous... » pour enregistrer ce fichier sur votre disque dur). |
Conception & réalisation jaguar 2024 |