* NOUVEAU (19/02/2001) allez voir http://www.courbis.com l‘un des auteurs des livres (bibles?) "Voyages au coeur de la HP48" G/GX et S/SX à mis en ligne les deux ouvrages au format PDF. Allez dans la section "Réalisations / Publications / Ouvrages".

* Première et dernière version (23/03/1998)


J‘ai essayé de réunir ici les infos et les programmes qui sont utiles à celui qui veut commencer à programmer en assembleur ou en external (faut bien commencer quelque part).
Ceci parce que j‘ai eu du mal à m‘y mettre, faute de documentation...
J‘ai donc fait le tri dans les fichiers qui trainaient sur mon disque, et voilà le résultat. Je recopierais peut être quelques articles parus dans HPisteurs (mais j‘en ai que 4 :o)
J‘attends vos suggestions, car c‘est loin d‘être parfait et fini...


Certaines informations ne sont pas valables pour les G/Gx, dommage...

Saturn inside



Qu‘est ce que la HP48.

La HP48 est la denière calculatrice graphique ou "calculateur scientifique" de Hewlett Packard.

Il existe différents modèles:

"Expandable" signifie que les Sx et Gx possèdent deux emplacements pour cartes mémoires. La Gx peut acceuillir jusqu‘à 4 Mo, contre 512Ko pour la Sx. De base les S/Sx et G possèdent 32ko de mémoire vive, contre 128ko pour la Gx (environ 2ko sont utilisés pour le fonctionnement interne de la machine de toutes façons).
Mais les principaux changement concernent le microprocesseur et la ROM; le microprocesseur RISC de chez NEC, est un 4 bits tourne à 2Mhz sur les S/Sx et 4Mhz sur les G/Gx. La mémoire aussi a été revue: les Sx ont une ROM de 256ko contre 512ko pou les Gx. Beaucoup de fonctions présentent dans une carte ROM pour les Sx ont été incorporé dans la ROM des Gx.
Elles présentent toutes deux des écrans 131x64 pixels, celui de la Gx étant plus contrasté que les Sx. Pour communiquer la HP48 dispose d‘un port infrarouge (pour échange avec une autre ou une imprimante) et un port série RS232 (pour échange avec le PC, une imprimante série, voire une HP48 en bricolant un câble). Pour le clavier, voyer l‘image fournie ci-dessus(le clavier des Gx est légèrement différent); les touches sont très agréables...

D‘un point de vue logiciel, je n‘ai pas envie de vous raconter ce que le gars de la FNAC ferait bien plus mal que moi, alors allez le souler et tâter la machine. Si, la HP48 est basé sur le principe de la pile (LIFO: Last In First Out), càd que quand vous voulez calculer 2+3, au lieu de faire [2][+][3][=] vous faites [2][ENTER][3][+].... 8) (j‘ai perdu tout mes lecteurs). C‘est la notation polonaise inversée, rassurez vous tous ceux que je connais ne peuvent plus utiliser un HP après cela tellement cela est rapide avec l‘habitude. Bon l‘exemple n‘est pas concluant mais pour les grosses opérations cela est très rapide. En plus l‘écran graphique permet de visualiser les 4 premiers niveaux de la pile en permanence.
J‘ai pas trop envie d‘expliquer à ceux qu‘ont pas compris ce qu‘est une pile...(désolé)
Sinon les protocoles supportés par la HP48 pour les transferts sont Kermit et Xmodem (seulement Kermit pour les S/Sx).

J‘ai été un peu court et dans tous les sens et c‘est peut être pas très clair mais je m‘en fout c‘est les bases et ceux qui viendront là doivent sûrement déjà les connaître (dîtes moi si je dois viré ce passage, ou écrivez m‘en un :).


Deux trois trucs sur l‘External et l‘assembleur

Faîtes en c‘est plus rapide que le ReuPeuLeu.
Je sais pas, ça me gave en fait...on verra, en attendant
Lisez "Voyage au centre de la HP48" Edition Angkor (pas facile à trouver)
ou bien "Faîtes vos jeux en assembleur" Edition Dunod (pour la partie du début sur les bases et le microprocesseur, la mémoire, les routines...) il est bien, achetez le ou bien lisez le à la FNAC...


D7Quelques docs...

J‘ai essayer de réunir ici principalement des docs pour programmer en assembleur ou en external.
Vous ne trouverez donc pas programme en RPL fait par des ricains...
Certaines docs sont cependant en anglais :(
Si les fichiers binaires pour la HP ou .ZIP ne marchent pas, dite le moi je mettrai des versions UUencodées.

ASMINIT.TXT Initiation à l‘assembleur (fichier coupé :( ) 16Ko
ASMINIT2.TXT Partie d‘un fichier (suite de ASMINIT.TXT?), un peu brouillon mais peut être util. 10Ko
ASM.TXT Les bases de l‘assembleur, par CocoHP. 16Ko
HARD.TXT Un peu de hardware, par CocoHP. 14Ko
PILE.TXT Opérations courantes sur la pile, par CocoHP. 10Ko
PROGBASE.ASM Manipulation d‘objet sur la pile et fonctions mathématiques, notamment multiplication et division) sur les entiers, les réels... Indispensable. 24Ko
PROTECK.TXT (23Ko) PROTECK.ASM Vos premiers programmes en assembleur...
11Ko
ROTATE.TXT (12Ko) ROTATE.ASM Quelques autres programmes: un mini-scroll, différencier une S d‘une G, utiliser C=RSTK ou GOINA...
6Ko
FLAG.TXT (24Ko) FLAG.ASM Animation simili 3D d‘un drapeau au vent.
13Ko
GRAPH.TXT (18Ko) GRAPH.ASM Afficher des niveaux de gris.
15Ko
TRON.TXT (20Ko) TRON.ASM Un petit TRON.
9Ko
EXT-PROG.TXT Programmer en external. 17Ko
6Ko
KERNEL.TXT Le noyau de la HP... recopier par mes soins dans HPisteurs. 8Ko
6Ko
48INTERN.TXT Description du codage des objets de la HP (en anglais). 111Ko
29Ko
HPREGINT.TXT Infos sur les interruptions et comment programmer son propre gestionnaire (accompagné de RAMINT). 41Ko
15Ko
HPMJSINT.TXT Reprise de la doc précédente avec quelques corrections de MJS. 40Ko
16Ko
IOSPEC.TXT Doc sur les ports série et IR, axé sur l‘electronique (en anglais) 25Ko
8Ko
UART.TXT Doc sur le port série, avec adresses de routines en ROM et adressage direct du port. (en anglais) Pour S/SX, valable G/GX. 9Ko
4Ko
KEYBRDI.TXT Tout sur le clavier, pour la programmation en assembleur. (en anglais) 40Ko
12Ko
SATURN.TXT Les instructions du Saturn (µP de la HP). 9Ko
3Ko
ENTRIES.TXT Liste de quasiment tous les externals et routines assembleur de la ROM (en anglais). Valable principalement pour S/SX, faire attention avec G/GX. 402 Ko
154Ko
EXT-LIST.TXT Une autre liste, mais que d‘External et en français mais moins complète. (la 1ere colonne est pour les Sx, la 2ème pour les Gx et les blancs signifie que c‘est pas sure) 136Ko
36Ko
ENT.TXT Une liste minimale mais qui contient les External les plus courants. 43Ko
13Ko
RAMCARD.TXT Info sur les cartes mémoires, et un schéma des connecteurs. 20Ko
8Ko
MEMCARDS.TXT Encore un texte sur les cartes mémoires... 10Ko
5Ko
RAMGX.TXT ... 6Ko
3Ko
INNARDS.TXT Ce brave Alonzo de chez Micro$oft... (ca peut servir tout de même :) 20Ko
9Ko
HP-FAQ.HTM Frequently Asked Questions... 203Ko
71Ko
RAMCARD.EXE Fabriquée ses propres cartes mémoires... (Compressé ZIP). 99Ko
IR232.ZIP Convertisseur Infra rouge-->Port série. 54Ko
NETWORKS.TXT Un réseau Token pour ta HP (avec programme en RPL). 24Ko
6Ko

Programmes

La 1ere colonne concerne la Sx, la 2ème la Gx.
Vala c‘est fait, après grande délibération avec moi-même voila le meta-kernel
mtkernel.zip C‘est un noyau refait mais entièrement avec pile, ligne de commande, éditeur, éditeur d‘équation, matrice, éditeur de graphique, un assembleur, une sorte de PCT... beaucoup des outils de la HP revus et corrigés et tournant largement plus vite. Seulement il faut une carte 128ko de libre, et (donc) aussi une GX.
La doc est dans .ZIP .
ASMFLASH.V61 HPASM.V10 Assembleurs utilisant la même syntaxe (ASMFLASH.TXT).
DEV.SX DEV.GX Utilitaires de base pour l‘External, l‘assembleur et une utilisation avancée de la HP (DEV.TXT).
STRWRT44.SGX
MINED.V51
STRWRT44.SGX
QEDT.DIR
Différent éditeur plus ou moins puissants:
STRWRT: très puissant quoique un peu lourd.
MINED: petit, fonctions de base.
QEDT: le mieux, permet le passage du mode éditeur au mode viewer, en autre...
HPWDEBUG.SGX HPWDEBUG.SGX Un superbe debugger (le plus bô) Doc:HPWDEBUG.DOC.
UNAS17.SGX UNAS17.SGX Un désassembleur puissant paramètrable.
FTLDESAS.SX FTLDESAS.GX Désassembleur interactif: permet de désassembler un programme en ROM ou sur la pile, instruction par instruction (gère aussi la pile de retour des GOSUB)
PS:ceci n‘est pas un debugger l‘instruction n‘est pas effectuée.
LIBMKR.V51 LIBMKR.V51 Library Maker....
LIBEX.21S LIBEX.22G Casseur de Library (SVP ne cassez pas les librairies des autres pour mettre votre nom, c‘est stupide et trop facile).
PCT5.55S PCT5.55G PC Tools pour HP, un incontournable
TRUECOLOR.SX TRUCOLOR.GX Editeur d‘images en niveau de gris 131x64 (GROB 131x128)
FTL.V20
ADISP.SGX
XVIEW20.SGX
MVIEW30.SGX
FTL.V31
TGV.DIR
ADISP.SGX
XVIEW20.SGX MVIEW30.SGX
Divers viewer, plus ou moins petit, plus ou moins rapide, multi-fontes, TGV et ADISP permettent d‘inclure des GROB dans le texte.
Doc:ADISP.DOC, MVIEW30.DOC.
RFP.LIB BZPLUS.SGX Compacteur, décompateur (BZ est plus efficace).

2-3 programmes de mon cru...
RAMVIEW pour S/SX ou pour G/GX Comme son nom ne l‘indique pas, un éditeur de mémoire genre le scanner des S/SX, permet aussi le désassemblage "interactif" comme FTLDESASS avec gestion de la RSTK.
voir RAMVIEW.NFO (merde c‘est juste pour SX, pour les GX: mettre le prog dans la pile et faire #54AFh SYSEVAL et récupérer la chaine).
BOOSTLIB.VAR Quand on beaucoup de library, programme permettant d‘accélerer l‘acces au menu library (pour SX).
A utiliser en fesant ~ BOOSTLIB 25.2 ASN par exemple.
DMINER.LIB Un démineur pas beau avec des cases de 3x3 pixels... (encore pour SX)
BABALED.LIB Un éditeur de GROB 8xY principalement pour le jeu BABALLE.

Liens...

HP48 Software Archive : incontournable... vous trouverez là toutes les dernières versions de programmes proposés ici.
Club ???? Excellent site, à la limite je me demande pourquoi j‘ai fait le mien :)
Barret : Lycée de Sèvres...
Zap Design Innovative de bons projets d‘electronique pour la HP.
Ze HP Page