# HP 9800

HP 9800 indica la famiglia di quelle macchine che inizialmente venivano chiamate calcolatrici programmabili e successivamente computer desktop, realizzate da Hewlett-Packard, in sostituzione della loro prima calcolatrice HP 9100. È anche chiamata "linea 98". Il modello 9830 e i suoi successori erano veri computer nel senso moderno del termine, completi di un potente interprete del linguaggio BASIC.

## Modelli
### Seconda generazione

Seguendo l'ordine cronologico di produzione, i modelli della famiglia erano:
* HP 9810A, un computer programmabile tramite tasti con schede magnetiche e display a LED, introdotto nel 1971,
* HP 9820A, introdotto nel 1972, è stato il primo modello HP a gestire input algebrici (non solo RPN), caratterizzato da un linguaggio di alto livello più semplice del BASIC, successivamente chiamato linguaggio ad alte prestazioni (HPL),
* HP 9821A, simile all'HP 9820A, ma dotato di unità per leggere cassette magnetiche a nastro invece di utilizzare schede magnetiche. I nastri creati sull'HP 9821A possono essere letti dall'HP 9830A. A differenza dei successivi computer domestici che utilizzavano registratori audio a cassetta standard che dovevano essere messi manualmente in modalità di registrazione o riproduzione, era completamente controllato da comandi software e poteva salvare e caricare in un file identificato da un numero.
* HP 9830A, introdotto nel 1972, era il top della linea 9800, con l'aggiunta di un interprete BASIC in ROM (memoria di sola lettura). La stessa HP lo chiamava "calcolatrice".
Tutti i sistemi 98x0 e 9821 utilizzavano le stesse interfacce I/O. Una stampante termica da 400 righe al minuto a 80 colonne fu progettata per adattarsi al 9820 e al 9830.

### Terza generazione

Il successo dell'HP9830 portò a una generazione di modelli successivi, con una elettronica più veloce:
* HP 9805A, il modello meno costoso, che utilizzava lo stesso chassis delle calcolatrici tascabili HP46 (scientifiche) e HP81 (business). Era una calcolatrice programmabile e aveva moduli plug-in con ulteriori porte di input e output. Fu introdotto nel 1973.
* HP 9815A/S, HP 9815A era il desktop RPN di fascia alta di terza generazione di HP e fu introdotto nel 1975. Era molto più piccolo, più leggero e meno costoso del suo predecessore. Aveva un display con una sola riga, e sostituì le precedenti unità a scheda con un'unità a nastro.
* HP 9825A/B, introdotto nel 1976, e ritirato nel 1983, offriva il linguaggio HPL, un display alfanumerico a riga singola e stampante termica opzionale.
* HP 9831, un HP9825 con installato BASIC invece di HPL.
* HP 9835, con BASIC. Vi erano due modelli: l'A e il B. L'A aveva un monitor CRT ed il B aveva un display a riga singola. Questa macchina divenne la base di partenza per la serie business HP 250.
* HP 9845 fu presentato prima come modello monocromatico (9845A/S), poi monocromatico ad alte prestazioni (9845B/T) e un modello a colori ad alte prestazioni (9845C/T). Il 9845 era fornito di un'unità a nastro, una seconda unità a nastro opzionale e una stampante termica a 80 colonne integrate nella base sotto l'unità di visualizzazione montata su un porta-monitor.
Tutti i 98x5, ad eccezione del 9805, utilizzavano nastri a cartuccia DC200, invece di nastri a cassetta. I modelli 9825, 9831, 9835 e 9845 utilizzavano tutti le stesse interfacce I/O. Il 9815 aveva un'interfaccia I/O unica.

## Un antenato dei moderni personal computer

La serie HP 9800 fu sviluppata dalla divisione HP Loveland (Calculator Products Division) e successivamente dalla divisione Fort Collins (Desktop Computer Division). I primi computer desktop furono commercializzati come "Calcolatori" per facilitarne l'acquisto. All'epoca, alcune aziende avevano procedure diverse per l'acquisto di "Computer".
Questa serie diede avvio allo sviluppo della serie HP 80, ovvero HP 85 e HP 87, che erano computer con linguaggio BASIC più piccoli con display CRT, prodotti dalla divisione Advanced Products di HP con sede a Corvallis.
Per un breve periodo tra la fine degli anni '70 e l'inizio degli anni '80 vi fu una classe di computer desktop simili, come il Tektronix 4051, l'IBM 5100 e il Wang 2200, prima che fossero sostituiti sul mercato da personal computer come Apple e IBM PC.

## HP 9830
### HP 9830 utilizzi

Gli HP 9830 erano comunemente impiegati presso aziende aerospaziali come Boeing. Furono utilizzati anche da alcuni sistemi scolastici come Arlington, VA e Renton, Washington, che usavano schede compilate a matita con lettori di schede appositi, adatti all'uso in classe. Un sistema HP 9830 con un disco rigido integrato fu fornito anche da HP nei primi anni '70 al "National Real Estate Exchange, Inc.", una piccola azienda in Florida, per il suo utilizzo nello sviluppo di un primo software immobiliare. La Guardia Costiera degli Stati Uniti ideò un sistema di inoltro di messaggi da telescrivente basato sul 9825A poi utilizzato come prototipo funzionante per un successivo sistema personalizzato e lo utilizzò anche nel coordinamento delle catene di trasmettitori di radionavigazione LORAN. Gli HP9825 furono utilizzati in combinazione con il software Oscor per tracciare regate nautiche monotipo in località remote, come i campionati mondiali di Fireball 1976 in Nuova Scozia, i campionati mondiali di windsurf nel 1976/1977 a Cancún e Bahamas e anche i campionati Laser. L'HP9825 fu scelto perché era portatile: le uniche alternative erano l'accesso telefonico ai computer in time sharing che non era affidabile da questi luoghi.

### HP 9830 descrizione

Gli HP 9830 sono stati costruiti con un processore simile all'architettura della serie HP 1000 / 2100, minicomputer con spazio di indirizzamento a 16 bit e due registri ad uso generale AX e BX. Funzionavano a una velocità paragonabile ai primi PC IBM. Potevano disegnare una funzione tridimensionale SIN(X)/X in alcuni minuti, una svolta tecnologica per l'epoca.
Poiché i programmi furono progettati per essere eseguiti dalla ROM (memoria di sola lettura), l'istruzione di chiamata subroutine doveva essere modificata poiché nell'HP211x la posizione di ritorno era scritta nella prima posizione della subroutine. Fu creato un registro per tenere traccia delle posizioni di ritorno su un'area di stack separata, come nei processori più moderni. Ciò rese possibile la ricorsione.
Alcuni modelli (ad es. 9835B) utilizzavano un display a LED con 1 riga da 32 caratteri maiuscoli, che da un lato poteva sembrare limitante, ma dall'altro aveva lo stesso effetto di una finestra ad una riga in un editor a schermo intero, con controlli per salire o scendere di una riga e cursore sinistro e destro, con possibilità di inserire o eliminare caratteri. Quando si accendevano erano pronti ad eseguire calcoli in "modalità immediata", digitando un'espressione come PRINT 2 + 3, e si otteneva una risposta quando si premeva invio, senza la complicazione di connettersi, o la necessità di mantenere una grande sala computer e un operatore.
Per l'archiviazione venne utilizzata un'unità a cassetta controllata da computer che utilizzava cassette audio con nastro ad estremità trasparenti per il rilevamento ottico del fine nastro; l'accesso a file avveniva per numero. L'unità poteva anche essere collegata ad un disco rigido.
La stampante termica era abbastanza veloce, stampando una linea orizzontale alla volta. La velocità di stampa di una pagina era più alta delle stampanti a matrice di punti e non molto peggiore delle moderne stampanti a getto d'inchiostro . HP incorporò in seguito le stampanti termiche in molti prodotti di plottaggio e terminali.

## Programmazione

Sebbene il processore utilizzato fosse solo un leggero adattamento rispetto a quello utilizzato sui minicomputer HP, il software è stato completamente riprogettato per un computer con sistema operativo e interprete BASIC integrati nella memoria di sola lettura. Tale BASIC era simile al FORTRAN utilizzato dagli ingegneri sul minicomputer HP 1000, ma molto più semplice da usare come linguaggio interpretato. Furono forniti tasti cursore in grado di scorrere le righe in alto e in basso e inserire o eliminare in modo interattivo caratteri, funzionalità fino ad allora sconosciuta alla maggior parte dei terminali CRT e di stampa, almeno fino all'avvento degli editor a schermo intero alla fine degli anni '70. Il programmatore poteva eseguire un singolo passo del programma o controllare valori delle variabili.
Le due file di tasti funzione definiti dall'utente con etichette di carta furono una delle prime implementazioni di tasti funzione generali e la base per i successivi tasti funzione con descrizione visualizzata sullo schermo, modalità usata nei successivi terminali e computer Hewlett Packard (e IBM), e ora ampiamente adottati in calcolatrici, terminali bancari e pompe di benzina.
Le funzionalità BASIC potevano essere estese con ROM per eseguire grafici, matematica matriciale e variabili stringa. Le cartucce ROM progettate per questo tipo di estensione erano molto simili alle cartucce successivamente utilizzate dalle console per videogiochi.
La ROM del plotter aggiunse comandi che resero la creazione di un grafico molto più semplice di quanto sia possibile con C++ o C# e utilizzò coordinate arbitrarie definite dall'utente anziché le unità di misura del plotter. Questi comandi sarebbero poi diventati la base per lo standard del linguaggio grafico HP AGL indipendente dal dispositivo implementato su altri computer HP come il minicomputer HP 1000 e il terminale grafico intelligente HP 2647.
Per la programmazione sulle macchine della serie HP 9800 era disponibile anche un ambiente di sviluppo avviabile basato su UCSD Pascal, ma con un compilatore che generava un codice oggetto Motorola 68000 veloce e nativo, invece del p-code più lento tipico della maggior parte delle implementazioni UCSD Pascal. Questa prestazione fu molto importante per le applicazioni di programmazione scientifica e tecnica.

### Descrizione del linguaggio ad alte prestazioni (HPL)

In HPL invece di variabili come A1 e J2, c'erano i registri numerati da r1, r2, fino a r199999. Questo programma HPL per HP 9825 genera un elenco di numeri primi:
Un'altra caratteristica unica di HPL era la freccia destra. Questa freccia era conosciuta come gazinta (che in gergo significa "entra dentro", per assonanza con l'inglese "goes into"). L'istruzione 1→P veniva pronunciata "One gazinta P".

### Altri computer BASIC

La Data Terminals Division produsse anche una versione programmabile in BASIC del terminale della serie HP2640, l'HP 2647a, che includeva anche AGL, una standardizzazione HP dei comandi del plotter HP 9830. HP 2647 BASIC era essenzialmente Microsoft BASIC con l'aggiunta di comandi di plottaggio in stile HP 9830 e fu uno dei primi grandi contratti di Microsoft con una grande azienda di computer mainstream. HP produsse anche una serie di computer tascabili palmari con display a una riga come l'HP-75, ma tali dispositivi non furono popolari per molto tempo. L'HP 9835 fu utilizzato anche come base per un sistema informatico aziendale, e in seguito venne prodotto l'HP 250 che continua a essere una piattaforma applicativa.
Nel 1979 viene prodotto l'85, il primo della serie 80 di personal computer scientifici da tavolo. Aveva un potente interprete BASIC ed era accessibile a singoli individui, al contrario dei costosi 9845, accessibili solo alle aziende.
La Data Terminals Division si è evoluta nella produzione di workstation UNIX HP 9000, acquisendo anche la Apollo Computer Company. HP Basic si è poi evoluto in Rocky Mountain BASIC per workstation, un linguaggio che è ancora in uso oggi per supportare le applicazioni legacy.