pcscote a écrit : ↑mar. 30 mai 2023 20:44
Bonjour Philippe,
Un petit récapitulatif des technos du HP-41 question qu'on soit au même niveau.
Le langage utilisateur du HP-41 est appelé FOCAL (Forty One CAlculator Language) et son système de calcul est la notation polonaise inverse (RPN en anglais).
Le NUT est un processeur 4-bit, les registres de calculs internes sont de 56-bit (7 octets) et la largeur du bus de communication entre le processeur et les périphériques est de 1-bit.
Le processeur supporte deux types de mémoire, une mémoire à 10-bit servant à exécuter des programmes en langage machine et une mémoire faite de registres de 7-octet qui sert à emmagasiner des données et des programmes utilisateur de type FOCAL.
Le maximum de mémoire 10-bit que le processeur est capable d'adresser est de 64 kiloWord (10-bit).
Ce 64 kW est divisé en 16 pages de 4 kW et si le matériel le permet, chaque page peut être avoir jusqu'a un maximum de 4 banques.
Code : Tout sélectionner
Page Allocation
F Port 4, Upper 4 K
E Port 4, Lower 4 K
D Port 3, Upper 4 K
C Port 3, Lower 4 K
B Port 2, Upper 4 K
A Port 2, Lower 4 K
9 Port 1, Upper 4 K
8 Port 1, Lower 4 K
7 HP-IL Mass Storage ROM
6 Printer ROM
5 Timer ROM; [Secondary Bank] Extended Fuctions (41CX Only)
4 Diagnostic Module
3 Extended Functions (41CX Only)
2 Operating System
1 Operating System
0 Operating System
Le maximum de mémoire 56-bit que le processeur est capable d'adresser est 4096 registres (de 56-bit). [hex: 000...FFF]
Mais dus à une limitation du système d'exploitation, seulement 1024 registres sont disponibles. [hex: 000...3FF]
Code : Tout sélectionner
+-------------------------+-----------+------+--------------+--------------+
| description | registres | type | Adr. départ | Adr. de fin |
+-------------------------+-----+-----+------+--------------+--------------+
| 41C/CV/CX status registers | 16 | main | 0 (0x000) | 15 (0x00F) |
+-------------------------------+-----+------+--------------+--------------+
Code : Tout sélectionner
+-------------------------------+-----+------+--------------+--------------+
| 41C mémoire de base | 64 | main | 192 (0x0C0) | 255 (0x0FF) |
+-------------------------------+-----+------+--------------+--------------+
| 41C +1 x 82106A mém. simple | 128 | main | 192 (0x0C0) | 319 (0x13F) |
| 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) |
+-------------------------------+-----+------+--------------+--------------+
| 41C +1 x 82170A mémoire Quad | 320 | main | 192 (0x0C0) | 511 (0x1FF) | remplace quatre 82106A module de mémoire simple
+-------------------------------+-----+------+--------------+--------------+
Code : Tout sélectionner
+-------------------------------+-----+------+--------------+--------------+
| 41CV mémoire de base | 320 | main | 192 (0x0C0) | 511 (0x1FF) |
+-------------------------------+-----+------+--------------+--------------+
| 41CX mémoire de base | 320 | main | 192 (0x0C0) | 511 (0x1FF) |
| 41CX mémoire x-memory | 128 | ext. | 64 (0x040) | 191 (0x0BF) |
+-------------------------------+-----+------+--------------+--------------+
Code : Tout sélectionner
+-------------------------------+-----+------+--------------+--------------+
| 82180A x-fncs/memory module | 128 | ext. | 64 (0x040) | 191 (0x0BF) | compatible avec les HP-41C/CV, 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
+-------------------------------+-----+------+--------------+--------------+
| Espace non-disponible | 48 | none | 16 (0x010) | 63 (0x03F) |
| Espace non-disponible | 1 | none | 512 (0x200) | 512 (0x200) |
| Espace non-disponible | 17 | none | 752 (0x2F0) | 768 (0x300) |
| Espace non-disponible | 16 | none | 1008 (0x3F0) | 1023 (0x3FF) |
+-------------------------------+-----+------+--------------+--------------+
ref:
HP-41 - Memory modules
... à suivre.
Edit: lecture complémentaire
Bonjour Sylvain,
Encore merci de prendre autant de ton temps pour me répondre !
Pour répondre à tes trois derniers messages dans l'ordre:
1.
fonctionnement de la HP41, mémoires, adressage,... tout ça c'est ok pour moi.
"Au fond de la HP41": j'ai lu.
"Les fonctions d'extension c'est facile" j'ai lu
"Manuel du module MAXX" je ne connaissais pas, je vais le lire.
2.
La programmation synthétique je ne connaissais pas dans les années 80, aujourd'hui j'en ai compris le principe mais très loin d'être capable de l'utiliser. Le site de Warren Furlow est une mine d'or de documentations et revues diverses ! j'ai déjà lu beaucoup de choses mais mes nuits sont trop courtes !
3. Les passionnés sont toujours vivants !
Oui les moyens d'aujourd'hui semblent plus simples pour accéder à la HP41.
Un petit résumé des tests que j'ai effectués:
ProtoCoder seul (select device 0 à C ; ROM adresse: 3) la HP41 s'allume.
ProtoCoder seul (select device D,E,F) la calculatrice ne s'allume pas.
ProtoCoder + ProtoROM:
ce que je ne comprends pas:
Pourquoi un module dans le slot3 du ProtoRom provoque-il toujours un crash ?
Pourquoi deux modules port(a) de la calculatrice et slot(a) du ProtoROM ne sont plus reconnus ?
ProtoCoder + ProtoEPROM avec ROM sm1cU2 et sm1cL8 (module de service 1C HP):
Pourquoi la HP41 ne s'allume pas avec les adresses D,E,F qui sont disponibles ? Pas d'autres modules présents, ni Card Reader (E).
Je dois me mélanger les pinceaux quelque part ...
Bien cordialement
Philippe