# Série HP 80

Les petits ordinateurs de bureau scientifiques série 80 de Hewlett-Packard ont été lancés en 1980, en commençant par le populaire HP-85 destiné aux applications d’ingénierie et de contrôle. Ils offraient la capacité des ordinateurs de bureau de la gamme HP 9800 avec un moniteur intégré dans un boîtier plus petit comprenant une unité de stockage et une imprimante, pour un prix deux fois moins cher.

## Caractéristiques

Le premier modèle de la série 80 lancé en janvier 1980 était le HP-85. Le magazine Byte écrivait : « Nous avons été impressionnés par les performances du HP-85. Les graphismes à eux seuls en font un choix attrayant, quoique plutôt coûteux, qui se pose en alternative aux autres petits systèmes présents sur le marché. […] À notre avis de nombreux expérimentateurs et passionnés d'informatique seront intéressés par cet ordinateur ».
Dans un boîtier de type machine à écrire, et pour 3 250 dollars, le HP-85 contient un processeur et un clavier, avec un système d’exploitation en ROM (comme la série 9800), une mémoire vive de 16 Ko, un écran CRT de cinq pouces (seize lignes de 32 caractères ou 256 × 192 pixels), un lecteur de bande pour cartouches DC-100 (capacité de 210 Ko, transfert à 650 B/s) et une imprimante thermique. L'écran mais aussi l'imprimante affichent à la fois graphiques et textes. L'imprimante est capable de reproduire tout ce qui est affiché à l'écran. Le châssis comprend quatre emplacements d'extension à l'arrière pouvant contenir des modules de mémoire, extensions de ROM ou des interfaces telles que RS-232 et GPIB. Tous les composants ont été conçus par la division Ordinateurs personnels de Hewlett-Packard à Corvallis (Oregon), y compris le processeur et le chipset principal.
Les derniers modèles offraient des variantes telles que des écrans différents ou externes, des interfaces intégrées ou un boîtier monté en rack (voir le tableau ci-dessous pour plus de détails).
Les ordinateurs ont été construits autour d'un processeur propriétaire HP portant le nom de code « Capricorn », fonctionnant à 625 kHz (0,625 MHz) et disposant d'un interpréteur BASIC en ROM (de 32 ko). Les programmes pouvaient être stockés sur bandes (cartouches DC-100) ou sur des unités externes de disque et bande.
Malgré la fréquence du processeur relativement faible, ces appareils étaient plutôt en avance comparés aux autres ordinateurs de bureau de l'époque, en particulier les fonctionnalités logicielles destinées à une utilisation technique et scientifique. La représentation numérique standard était un format à virgule flottante avec une mantisse à douze chiffres (décimaux) et des exposants allant jusqu'à ± 499. L'interpréteur offrait un ensemble complet de fonctions scientifiques (fonctions trigonométriques, logarithme, etc.) qui calculaient avec ce niveau de précision. Le langage comprenait les tableaux à deux dimensions et une extension ROM permettait l'ajout de fonctions de haut niveau telles que la multiplication et l'inversion de matrices.
Pour les séries HP-86 et HP-87, plus importantes, HP a également proposé un module de carte processeur CP/M avec un processeur Zilog Z80 séparé.

## Contexte historique

La fin des années 1970 a été marquée par la conception d’ordinateurs domestiques peu coûteux, tels que l’Apple I et le TRS-80. Steve Wozniak avait conçu l'Apple I en suivant l'idée d'un ordinateur qui fonctionnerait sous BASIC dès qu'il est allumé. Il a offert plusieurs fois les droits sur l'Apple I à HP qui n'a pas accepté. Dans une interview, il avait remarqué que, peu de temps après, le département des calculatrices commençait un projet d'ordinateur 8 bits appelé « Capricorn », et il n'était pas autorisé à travailler sur ce projet. Finalement, le marché de l'informatique de bureau irait aux ordinateurs personnels et compatibles IBM PC dotés d'un système d'exploitation basé sur lecteur de disquettes et d'un processeur Intel 8088 conforme aux normes de l'industrie (l'IBM PC a été annoncé peu après la série 80 de HP).

## Matériel
### Modèles

| Modèle | Année | Prix | Remarques |
| HP-85A | 1980 | 3 250 $ | 16 K RAM, 32 K ROM ; écran 5" CRT, texte 32 × 16 ou graphique 256 × 192 ; lecteur de bande, imprimante |
| HP-83 | 1981 | 2 250 $ | Identique à l'HP-85 mais sans imprimante ni lecteur de bande |
| HP-86A | 1982 | 1 795 $ | moniteur composite externe, pas de lecteur de bande ni d'imprimante ; deux interfaces pour disquette 9130 et un port imprimante Centronics intégré ; 64 K de RAM |
| HP-87 | 1982 | 2 495 $ | Écran 9", affichage 80 × 16 (256 × 128), sans imprimante, sans bande, avec HPIB intégré et 32 K de RAM |
| HP-85B | 1983 | 2 995 $ | mise à jour du HP-85A ; 64 K de RAM (32 K pour programme/variables, 32 K de disque RAM) ; E/S, EDISK et ROM de stockage de masse intégrés |
| HP-86B | 1983 | 1 595 $ | mise à jour du HP-86A ; HPIB intégré au lieu des ports disquette et Centronics ; 128 K de RAM ; ROM EDISK intégrée |
| HP-87XM | 1983 | 2 995 $ | mise à jour du HP-87 ; HPIB intégré ; 128 K de RAM |
| HP-9915A/B | 1980 | 1 675 $ | version industrielle en rack des HP-85A et B sans écran ni clavier, ROM d'E/S et de développement de programmes intégrées |

### Extensions ROM

Remarque : la série HP-86/87 utilisait des ROM (étiquetées en jaune) différentes des modèles 85/83 (étiquetées en blanc).
| 83/85 | 86/87 | Fonction | Description | ID |
| 00085-15003 | 00087-15003 | E/S | Accès aux interfaces GPIB, série et parallèle (GPIO) | 192 |
| 00085-15001 | intégré | Mémoire de masse | Accès aux lecteurs de disquette/disque compatibles « Amigo » (en) sur GPIB. Intégré au 85B et à tous les modèles 86/87 | 208 |
| 00085-15002 | 00087-15002 | Imprimante/Traceur | Prise en charge des imprimantes/traceurs externes (sur 86/87 nécessaire uniquement pour les traceurs) | 240 |
| 00085-15005 | 00087-15005 | Programmation avancée | Commandes BASIC étendues | 232 231 |
| — | 00087-15012 | Disque électronique | Utilisation d'une partie de la RAM en tant que lecteur de disque (fonction intégrée dans les 85B et 86B) | 209 |
| 00085-15004 | 00087-15004 | Matrices | Opérations matricielles mathématiques incluant l'inversion (résolution de systèmes d'équations linéaires) | 176 |
| — | 00087-15004 | Matrices 2 | Opérations matricielles supplémentaires | 177 |
| 00085-15007 | 00087-15007 | Assembleur | Édition et assemblage de code source assembleur destiné à la série 80 | 40 |
| — | 00087-15011 | MIKSAM | Gestion des enregistrements de fichiers indexés | 14 |
| 00085-15013 | 00087-15013 | EMS | Mémoire de masse étendue, accès à une mémoire de masse compatible avec SS-80 | 207 |
| 00085-60952 | 00087-60912 | Service - Système | Routines de diagnostic pour le service et la maintenance | 224 |
| ? | 00087-60913 | Service - HPIB | Routines de diagnostic pour le service et la maintenance | 225 |
| 98151A | — | Programmation | Support du panneau avant du HP-9915, ou pour l'émuler sur un 83/85 | 8 |
| — | AKSO-Sysext | Sysext | Extension-Système : programmation structurée, code auto-modifié, programmation de bas niveau (réalisée par Andre Koppel Software) | 56 |

### Extensions matérielles

| 82936A | Tiroir ROM pour un maximum de six des ROM citées ci-dessus (un maximum par unité) |
| 82903A | Module de mémoire 16 K, pour HP-85A uniquement (un par unité au maximum) |
| 82908A | Module de mémoire 64 K, pour HP-85B ou HP-86/87 |
| 82909A | Module de mémoire 128 K, pour HP-85B ou HP-86/87 |
| 82900A | Système CP/M (pour HP-86/87 uniquement). Contient un microprocesseur Zilog Z80 et une RAM dédiée de 64 ko |
| 82928A | Moniteur système pour le développement en assembleur. Permet de placer des points d'arrêt pour le débogage |
| 82929A | Tiroir ROM programmable pour EPROM standard |

### Interfaces

Les modules d'interface de la série 80 ont été construits autour d'une puce d'interface de bus propriétaire qui connecte un microcontrôleur Intel 8049 standard au bus principal. Les fonctions d'interface telles que le handshaking ont été transférées au firmware 8049.
| 82937A | Interface HP-IB (GPIB, IEEE-488, IEC625) |
| 82938A | Interface HP-IL |
| 82939A | Interface série RS-232 |
| 82940A | Interface GPIO (parallèle polyvalente 4 × 8 bits) |
| 82941A | Interface BCD (parallèle, 11 chiffres décimaux codés en binaire avec signe) |
| 82949A | Interface d'imprimante (interface parallèle Centronics) |
| 82950A | Modem (110/300 bit/s, Bell 103 (en)/113) |
| 82966A | Interface de liaison de données (pour se connecter aux hôtes HP 1000/3000) |
| 82967A | Module de synthèse vocale, vocabulaire de 1 500 mots utilisant une puce synthétiseur Texas Instruments TMS5220 |