Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Répondre
cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2206
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par cgh » 13 sept. 2020 10:53

Suite a un question posee dans un autre topic:
gege a écrit :
11 sept. 2020 17:54
Bonjour,
Est-ce que le XFonctions conserve son contenu lorsque sorti quelques heures de la machine ?
Même question sur les XMemory à condition que l'utilisateur n'aie pas bricolé le contenu du XFonctions entre temps ?
Ce genre de manipulation pourrait permettre de démultiplier la mémoire voire transmettre des trucs entre machines, non ?
Bon, il faut un stock de XFonctions ou XMemory...
G.E.
Voici une facon de transferer des donnees/progarmmes entre 2 41C ou CV grace au module XFUNCTION. Les CX sont exclues car ce modele possede un XFUNCTION interne de version 2D qui semble se comporter de facon un peu differente; pour ces modeles, il faudrait de toutes manieres un XMEMORY.

ATTENTION: Pensez bien a toujours eteindre la HP41C/CV avanr de retirer ou inserer un module, sinon vous allez griller le BSP et eventuellement aussi le module lui-meme. Effet garanti!!! J'ai malheureusement teste lors d'une mauvaise manipulation :(

* Qu'est ce qu'un module XFUNCTION

Le XFUNCTION amene 128 registres (dont 4 sont reserves a l'exploitation). Donc 124 * 7 = 868 octets. On monte a 362 registres (2534 octets) avec un XMEMORY et 600 registres avec 2 (4200 octets).
La XMEM gere en fait des fichiers. Oui. Programmes, DATA (donnees) et ASCII (texte). La 41CX possede meme ED, un petit editeur de texte. Les modules ADVANTAGE et CCD stockent aussi des matrices, et certains, je crois HPIL DEV, des buffers. Quelques ROM developpees plus tard par des particuliers et/ou des clubs utilisent aussi la XMEM en zone de memoire temporaire et/ou gere leur propre type de fichiers, et permettent meme des sauvegardes sur cassettes. En fait, la XMEM est tres adaptable. C'est un file system simple [NOM, type, longueur maximum ....]. Par contre, on ne peut agir que sur un fichier a la fois. C'est rustique, c'est sommaire, mais ca existe :) !
Les fichiers DATA et ASCII sont accedes en sequentiel, relatif et sequentiel indexe... C'est quand meme pas mal !
Je m'etais amuse a developper une XMEM pour PC1500 a l'epoque :geek:
Le XFUNCTION apporte aussi d'autres fonctions pour gerer le registre ALPHA loin de l'acrobatique ASHF, les drapeaux, et permet de programmer l'inprogrammable: PCLPS (pour CLP), PSIZE (pour SIZE), PASN (pour ASN). Sans compter que les fonctions ALPHA qu'il apporte facilitent grandement la programmation synthetique. Et n'oublions pas la tres interessante et indispensable fonction GETKEY !
Il est de plus necessaire pour certains autres modules.

* Comment transferer des donnees/programmes entre 2 HP41C/CV

Ecrivons un programme, par exemple:

Code : Tout sélectionner

01 LBL "CGH"
02 "HELLO CGH"
03 AVIEW
04 BEEP
05 END
Dans tout ce qui suit, le XFUNCTION est vide. Un EMDIR doit alors afficher DIR EMPTY et retourner 124 en X.
Copions le porgramme en XMEM. Pour cela, ecrivons CGH dans le registre ALPHA, et executons la commande SAVEP. Apres deux secondes, la programme est copie. On peut le verifier avec la commande EMDIR qui doit afficher CGH P004 et renvoye 118 en X. Le 118 vient du fait que tout fichier occupe 2 registres pour son entete, mais EMDIR n'affiche la taille en registres que du "corps" du fichier. On peut ainsi verifier: 124 - (4 registres corps + 2 entete) = 118 :geek:
Sortons le module XFUNCTION, et prenons une autre HP41C/CV. Inserons le module et tapons EMDIR. On devrait voir CGH P004 et avoir 118 en X. Copions maintenant le programme CGH en RAM. Pour cela, mettons CGH en ALPHA et appelons la commande GETP. Apres 2-3 secondes, la copie est terminee. Une verification avec CAT 1 doit faire apparaitre un label CGH dans la liste des programmes :) :geek:

De meme, on peut enlever le XFUNCTION, reinitialiser la 41 par un MEMORY LOST (ON et <- appuyees simultanement) et remettre le XFUNCTION. Le programme CGH est toujours la en XMEM.

Je ne connais le temps de retention des informations dans un XFUNCTION hors de la machine. Mais une XMEM corrompue provoque soit une remise a zero de celle-ci soit un violent MEMORY LOST.
Dernière édition par cgh le 14 sept. 2020 13:04, édité 2 fois.
Mais qu'importe la fin du Monde, c'est juste un changement de décor. - Adamo "Rendez-vous sur Gliese"
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque

Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4156
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par bernouilli92 » 13 sept. 2020 14:46

Tu as testé des durées ? Comme 30 secondes, 1 minute, 5 minutes?
HP, Casio, Sharp, Psion, quelques TI et divers autres

Avatar de l’utilisateur
Danny
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 280
Inscription : 28 déc. 2013 17:34

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par Danny » 13 sept. 2020 14:53

Mais du coup on pourrait faire la même chose entre 2 CX avec un module XMEMORY, ou pas ? :geek:
Casio fx-3900p, 7000G, 6000G, 6800G, 8500G, 9900GC, Graph 100+ USB
HP 35, 45, 65, 21, 25, 33E, 41CX, 42S, 28S, 32SII, 48SX, 48GX, 50g, Prime

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2206
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par cgh » 13 sept. 2020 20:13

bernouilli92 a écrit :
13 sept. 2020 14:46
Tu as testé des durées ? Comme 30 secondes, 1 minute, 5 minutes?
J'ai laisse le module environ 2 minutes sans alimentation hors de la machine, et quand je l'ai remis la XMEM etait conservee et intacte. Je ne suis pas alle au dela (2 minutes pour un echange entre 2 HP cote a cote, c'est suffisant... :) )
Mais qu'importe la fin du Monde, c'est juste un changement de décor. - Adamo "Rendez-vous sur Gliese"
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2206
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par cgh » 13 sept. 2020 20:18

Danny a écrit :
13 sept. 2020 14:53
Mais du coup on pourrait faire la même chose entre 2 CX avec un module XMEMORY, ou pas ? :geek:
Helas non. Dans les 4 registres reserves pour l'administration de la XMEM, il y a le nombre total de registres trouves. Si une CX n'a pas de XMEMORY, sa XMEM est de 128 registres et quand elle decouvre les 238 nouveaux registres du XMEMORY elle vide ce module.

A la rigueur un test serait 2 41CX avec chacune un XMEMORY, Sur les 2 CX on cree un fichier vide de 122 registres, puis sur la CX source on sauve en XMEM le fichier a echanger. On enleve les XMEMORY des 2 CX et on met le XMEM de la source dans la CX destination. Cela fonctionne peut-etre... :geek:
Dernière édition par cgh le 14 sept. 2020 13:06, édité 1 fois.
Mais qu'importe la fin du Monde, c'est juste un changement de décor. - Adamo "Rendez-vous sur Gliese"
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2206
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par cgh » 13 sept. 2020 20:24

cgh a écrit :
13 sept. 2020 20:18
Danny a écrit :
13 sept. 2020 14:53
Mais du coup on pourrait faire la même chose entre 2 CX avec un module XMEMORY, ou pas ? :geek:
A la rigueur un test serait 2 41CX avec chacune un XMEMORY, Sur les 2 CX on cree un fichier vide de 122 registres, puis sur la CX source on sauve en XMEM le fichier a echanger. On enleve les XMEMORY des 2 CX et on met le XMEM de la source dans la CX destination. Cela fonctionne peut-etre... :geek:
Non, je viens de tester. Cela ne marche pas. La CX detecte qu'il y a une rupture dans son chainage de XMEM et remet le module a zero, On perd donc son contenu.
Dernière édition par cgh le 13 sept. 2020 21:02, édité 1 fois.
Mais qu'importe la fin du Monde, c'est juste un changement de décor. - Adamo "Rendez-vous sur Gliese"
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2206
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par cgh » 13 sept. 2020 21:01

En fait, le XMEMORY n'a aucune retention memoire. On sauve un fichier dedans, On enleve et sans allumer la machine on le remet, Il est remis a zero, Il semble y avoir soit un effacement immediat quand le module est enlever, soit quand il est inserer,
Un transfert via XMEMORY quelque soit le modele ne parait pas faisable en l'etat...

J'avais lu que cela etait les cas des modules HEPAX et des HEPRAM qui n'avaient aucune retention memoire. Il y avait une astuce qui consistait a souder une capa pour conserver la memoire une fois le module sorti.
Mais qu'importe la fin du Monde, c'est juste un changement de décor. - Adamo "Rendez-vous sur Gliese"
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque

Avatar de l’utilisateur
Gege34
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1263
Inscription : 03 oct. 2014 11:19
Localisation : 31

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par Gege34 » 13 sept. 2020 22:21

Très intéressant tout ça, un peu risqué si on fait pas gaffe d'éteindre.
Sinon oui une capa pour gardé un moment le contenu de la ram.
Du Commodore (64/128/Amiga), De la HP (28/41/48/50/71) et quelques autres trucs (Ti, Canon X07, Psion, Casio, Palm)

Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4156
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par bernouilli92 » 13 sept. 2020 23:11

Il me semble pourtant qu’il a eux des modules bricolés pour contenir deux xmemory et qui gardent leur contenus une fois enlevé. Peut-être avec une pile?
Dernière édition par bernouilli92 le 16 sept. 2020 07:19, édité 1 fois.
HP, Casio, Sharp, Psion, quelques TI et divers autres

Avatar de l’utilisateur
Danny
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 280
Inscription : 28 déc. 2013 17:34

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par Danny » 13 sept. 2020 23:51

cgh a écrit :
13 sept. 2020 20:24
cgh a écrit :
13 sept. 2020 20:18
Danny a écrit :
13 sept. 2020 14:53
Mais du coup on pourrait faire la même chose entre 2 CX avec un module XMEMORY, ou pas ? :geek:
A la rigueur un test serait 2 41CX avec chacune un XMEMORY, Sur les 2 CX on cree un fichier vide de 122 registres, puis sur la CX source on sauve en XMEM le fichier a echanger. On enleve les XMEMORY des 2 CX et on met le XMEM de la source dans la CX destination. Cela fonctionne peut-etre... :geek:
Non, je viens de tester. Cela ne marche pas. La CX detecte qu'il y a une rupture dans son chainage de XMEM et remet le module a zero, On perd donc son contenu.
Intéressant, merci pour la vérif !
Casio fx-3900p, 7000G, 6000G, 6800G, 8500G, 9900GC, Graph 100+ USB
HP 35, 45, 65, 21, 25, 33E, 41CX, 42S, 28S, 32SII, 48SX, 48GX, 50g, Prime

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6918
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par gege » 14 sept. 2020 10:34

Bonjour,
Apparemment c'est la perte du contenu du XMemory qui aboutit au Memory Lost, non ?
Donc il faudrait ajouter un condensateur.
Curieux, il me semble vaguement qu'à l'époque (il y a 30 ans), ça marchait…
A suivre…
G.E.

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2206
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par cgh » 14 sept. 2020 11:05

gege a écrit :
14 sept. 2020 10:34
Bonjour,
Apparemment c'est la perte du contenu du XMemory qui aboutit au Memory Lost, non ?
Donc il faudrait ajouter un condensateur.
Curieux, il me semble vaguement qu'à l'époque (il y a 30 ans), ça marchait…
A suivre…
G.E.
Non. Le contenu du XMEMORY est remis a zero. Donc tout ce qui etait contenu dedans est perdu. Le XFUNCTION quant a lui est conserve.
Je ne sais pas si il y a 30 ans, beaucoup de personnes pouvaient s'offrir un XMEMORY en plus d'une CX...
Le MEMORY LOST ce doit plutot etre en cas de corruption des registres d'administration de la XMEM...
Mais qu'importe la fin du Monde, c'est juste un changement de décor. - Adamo "Rendez-vous sur Gliese"
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque

Avatar de l’utilisateur
Gege34
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1263
Inscription : 03 oct. 2014 11:19
Localisation : 31

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par Gege34 » 14 sept. 2020 13:30

On peut voir 3ème ligne 1er colonne :
My XFUN/XMEM module. These are actually two modules combined. The blue Tanatalum Capacitor is used to keep information for a few hours while the module is unplugged.
Du Commodore (64/128/Amiga), De la HP (28/41/48/50/71) et quelques autres trucs (Ti, Canon X07, Psion, Casio, Palm)

pcscote
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 64
Inscription : 11 juil. 2018 01:06

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par pcscote » 14 sept. 2020 15:13

Comme cgm la si bien décrit, les modules XFM et XM conserve leurs données que très brièvement (normalement moins de 2 minutes) à l'extérieur de la calculatrice et comme Gege34 la indiqué, une modification très populaire dans les années 80 était d'ajouter un condensateur a un module XM pour étendre la durée de rétention.

Autre modification très populaire a l'époque était de combiner deux modules (facile) ou trois modules (difficile) dans un seul boîtier.
Quelques exemples souvent exécutés: XFM+XM, XM+XM, XFM+XM+XM, TIME+XFM, TIME+EIO, IL+EIO, etc.

L'impossibilité de transférer les modules XM entre deux 41CX tout en gardant leurs contenus prend sa source dans le fait que le début de la structure de contrôle de ce type de mémoire réside dans la partie mémoire du module XFM qui est interne à la 41CX.

Aucun des modules HEPAX originaux (SH, AH, HM, DHM) n'a la capacité de garder le contenu de leurs mémoires, lorsque retiré de la HP-41.
Les modules NoV (NoVRAM, NoV-32, NoV-64 & NoV-64d) qui émulent les modules HEPAX utilisent la mémoire FRAM et conservent donc leurs mémoires de façon permanente à l'extérieur de la calculatrice.

Sylvain

Acronymes:

Code : Tout sélectionner

XFM = Extended Functions/Memory Module
XM  = Extended Memory Module
EIO = Extended I/O Module
IL  = Interface Loop Module
SH  = Standard HEPAX Module
AH  = Advanced HEPAX Module
HM  = HEPAX Memory Module
DHM = Double HEPAX Memory Module
Adresses mémoires:

Code : Tout sélectionner

| Description             | Registres | Type |   Adr. Début |  Adresse Fin |
|-------------------------+-----+-----+------+--------------+--------------|
| 41C/CV/CX registres système   |  16 | main |    0 (0x000) |   15 (0x00F) |

Code : Tout sélectionner

| Description             | Registres | Type |   Adr. Début |  Adresse Fin |
|-------------------------+-----+-----+------+--------------+--------------|
| 41C                           |  64 | main |  192 (0x0C0) |  255 (0x0FF) |
| 41C  +1 x 82106A mém. simple  | 128 | main |  192 (0x0C0) |  319 (0x139) |
| 41C  +2 x 82106A mém. simple  | 192 | main |  192 (0x0C0) |  383 (0x17F) |
| 41C  +3 x 82106A mém. simple  | 256 | main |  192 (0x0C0) |  447 (0x1BF) |
| 41C  +4 x 82106A mém. simple  | 320 | main |  192 (0x0C0) |  511 (0x1FF) |

Code : Tout sélectionner

| Description             | Registres | Type |   Adr. Début |  Adresse Fin |
|-------------------------+-----+-----+------+--------------+--------------|
| 41C                           |  64 | main |  192 (0x0C0) |  255 (0x0FF) |
| 41C  +1 x 82170A mém. quad.   | 320 | main |  192 (0x0C0) |  511 (0x1FF) | remplace quatre modules de mémoire 82106A

Code : Tout sélectionner

| Description             | Registres | Type |   Adr. Début |  Adresse Fin |
|-------------------------+-----+-----+------+--------------+--------------|
| 41CV mémoire interne          | 320 | main |  192 (0x0C0) |  511 (0x1FF) |

Code : Tout sélectionner

| Description             | Registres | Type |   Adr. Début |  Adresse Fin |
|-------------------------+-----+-----+------+--------------+--------------|
| 41CX mémoire interne          | 320 | main |  192 (0x0C0) |  511 (0x1FF) |
| 41CX mémoire XFM interne      | 128 | ext. |   64 (0x040) |  191 (0x0BF) |

Code : Tout sélectionner

| Description             | Registres | Type |   Adr. Début |  Adresse Fin |
|-------------------------+-----+-----+------+--------------+--------------|
| 82180A x-fncs/memory module   | 128 | ext. |   64 (0x040) |  191 (0x0BF) | compatible avec les 41C & 41CV, inclus dans la 41CX
| 82181A x-memory module #1     | 239 | ext. |  513 (0x201) |  751 (0x2EF) |
| 82181A x-memory module #2     | 239 | ext. |  769 (0x301) | 1007 (0x3EF) |

Code : Tout sélectionner

| Description             | Registres | Type |   Adr. Début |  Adresse Fin |
|-------------------------+-----+-----+------+--------------+--------------|
| Espace libre, non utilisable  |  48 | none |   16 (0x010) |   63 (0x03F) |
| Espace libre, non utilisable  |   1 | none |  512 (0x200) |  512 (0x200) |
| Espace libre, non utilisable  |  17 | none |  752 (0x2F0) |  768 (0x300) |
| Espace libre, non utilisable  |  16 | none | 1008 (0x3F0) | 1023 (0x3FF) |

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2206
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .

Re: Transfert entre 2 HP41 (C et CV) avec le XFUNCTION

Message par cgh » 14 sept. 2020 15:19

pcscote a écrit :
14 sept. 2020 15:13
Comme cgm la si bien décrit, les modules XFM et XM conserve leurs données que très brièvement (normalement moins de 2 minutes) à l'extérieur de la calculatrice et comme Gege34 la indiqué, une modification très populaire dans les années 80 était d'ajouter un condensateur a un module XM pour étendre la durée de rétention.
En fait si le XFUNCTION conserve sa memoire quelques minutes sans alimentation, ce n'est pas le cas des XMEMORY.
J'ai utilise un 41CX avec un double XMEMORY que j'enleve et que je remets, et au PowerON, son contenu est perdu... Apres cela vient peut-etre de mon double XMEMORY...
Mais qu'importe la fin du Monde, c'est juste un changement de décor. - Adamo "Rendez-vous sur Gliese"
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque

Répondre

Revenir vers « Tous les Pockets »