Me and the Hewlett Packard calculators @ Cédric Walter | Sunday, Dec 24, 2023 | 9 minutes read | 1715 Words | Update at Tuesday, Apr 9, 2024

Hewlett-Packard, a pioneering force in the world of technology, has left an indelible mark on the field of calculators with its innovative and reliable range of HP calculators. Since the introduction of its first handheld calculator in 1972, HP has consistently upheld a commitment to precision, functionality, and user-friendly design.

HP calculators are renowned for their durability and advanced features, making them indispensable tools for professionals, scientists, engineers, students, and enthusiasts alike. The hallmark of HP calculators lies not only in their robust hardware but also in the powerful software and intuitive interfaces that facilitate complex calculations with ease.

From the iconic HP 35, the world’s first scientific pocket calculator, to the modern graphing calculators like the HP Prime, the evolution of HP calculators reflects a dedication to pushing the boundaries of technology. These calculators have become synonymous with reliability in fields such as engineering, finance, mathematics, and science, providing users with the precision and efficiency needed to tackle complex computations.

My Hewlett Packard calculator museum

A bit more than 135 HP calculators, not all are in gallery 😇

Long time ago at secondary school

I am a long user of HP calculator, in fact since 1991, and I have still kept my HP48GX with my license of MetaKernel 3.0 (paid 120 FF or 18€). I like the RPN way of doing thing, and I was lightning fast doing math thinking in my head like a RISC processor would do, small steps with limited operations, and a lot of intermediary results. I bought four calculator in the past 2 months: a HP48Gx , two HP 10 Business and a 20S scientific for a total of 5 euros!!! tripling my collection size. My section concerning the HP calculator is outdated but still online.

Don’t forget also to visit hpcalc.org ( http://www.hpcalc.org ), the premier source of software for and information about the HP 50, HP 49, HP 48, and HP 28 RPN programmable graphic calculators and the HP 38G, HP 39, and HP 40 programmable graphic calculators.

A picture for posterity

I have done a nice picture on 20th March 1998 while being at the engineer school. Take any HP49/HP50/… in the world, and try a soft reset (ON-C), and you can see my picture!!!!!. My signature is on the left corner, you can press ON quickly to freeze the pictures. Dot by Dot in the standard graphic editor and published it under GNU/GPL. I don ’t know but it somehow reached the authors of the MetaKernel and was included in the ROM. The MetaKernel is a masterpiece of software written entirely in ASM. I use to buy a license (version 2.20) when it was still on HP48Gx before it was merged inside the HP49kernel. You can now take any HP49G/HP49Gx/HP50G/… in the world, and do a soft reset (ON-C), and you can see my picture!!!!!. My signature is on the left corner, you can press ON quickly to freeze the picture.

Some HP programs I did

Under the pseudo : Elta, (the last magician lord a famous SNK Neo Geo game)

* Some very USEFUL document to program in LM ( all credits to COCOHP). A NICE flags demo! ! ! ! ! They are here because i’ve never find them in Internet (personnal correspondance in 1995).

* An article (in french sorry) to explain how to display grey grobs.

  • In 1992, It was the time to program a graphical clock clock.dir

  • Easyregu is probably the biggest tools i’ve ever writting for hp48. It use very nice graphical menu to draw schematic process plot. It compact plot and has all grobs manipulation (rotate, fill, move…) and much more…. It is only big…. easyregu.dir (you must save it under easyregu in var dir)

  • Like A Casio is a small utility I do this for a girl I use to love a lot in the past. Its purpose is to recall the last expression in stack. It display equation like in the casio format ‘expression’ and the evaluated value in 1 level. You can recall at any time the past equation. Use Beta-Enter . Include SRC likeacasio.zip

  • Display a memgauge in the upper stack (written in sysrpl) memgauge.dir

  • Do you want to send data with mipot module ? a friend of mine build a small interface (the only drawback is the current consumption) wich take place in slot card. Here is the program to chat between each other or to receive graphic… etc mod_mipot.zip (1995)

  • Broida, Ziegler-Nichols are methods to determine very quickly PID parameters. regulation.zip

  • Rlocus : do you want to plot Evans map (complex plot) to determine if a given system is stable in closed loop ?. This program is not written by me (Jason Frandsen first created it), just enhance : I rewrite all procedures to make them faster( no global stuff and improve algorithm), build an interface to make them more convenient, display K in pict and create a resume automatically, wich help you to hand draw the map, plus some other thing (sysrpl) rlocus_12.zip

  • How compute aX^2+bX+C=0 ? It is a well know problem and very simple. But now, how to compute it using the smallest program size ? this one is 73 octets long… small_trinome.zip

  • very fast, small and dangerous (It only duplicate into memory) sysrpl+src.

Les niveaux de gris sur HP48

par Cédric Walter 1996

Cet article permet de comprendre comment afficher des niveaux de gris sur HP48, un programme ASM y fait suite.

Technique des niveaux de gris

Pour afficher des niveaux de gris, il suffit de changer rapidement d’image et de jouer sur la persistance rétinienne de l’oeil. Pour changer rapidement d’écran, on modifie l’adresse en 120h (écran affiché en cours). Pour modifier les images à la bonne vitesse, il faut lire le compteur de ligne en 128h, 6 bits sur lesquels sont codés le numéro de la ligne en cours de rafraîchissement et qui décroît de la séparation des menus jusqu’à 0 (Technique de synchronisation verticale).

Le codage des images

Il faut coder les images pour éviter d’avoir une image par nuance, ce qui serait vite intolérable sur une HP48 à la mémoire plus que limité. Une méthode consiste à attribuer un numéro à chaque nuance et à le coder en binaire.

Pour avoir 16 niveaux de gris 4 Images suffisent : (1) si le pixel est allumé et (0) s’il est éteint.

Grob n°4321
noir1111
151110
141101
131100
121011
111010
101001
91000
80111
70110
60101
50100
40011
30010
20001
blanc0000

8 Niveaux de Gris.

grob n°321
noir111
7110
6101
5100
4011
3010
2001
blanc000

4 Niveaux de Gris.

grob n°21
noir11
310
201
blanc00

Pour donner une impression de niveaux de gris, il faut que le grob 4 soit afficher 2 fois plus longtemps que le grob 3 qui lui-même est affiché 2 fois plus longtemps que le grob 2 qui lui l’est deux fois plus que le grob 1.

En résumé : grob 1 : 1 fois sur 15, grob 2 : 2 fois sur 15, grob 3 : 4 fois sur 15, grob 4 : 8 fois sur 15.

Pour limiter le clignotement, on peut faire boucler la suite d’images : 4/3/2/4/3/4/1/4/3/4/2/4/3/4

Un exemple de programme…

Ci-joint… Un programme qui prend un grob 131*256 en argument ( les grob 4, 3, 2, 1 sont dans le fichier dans cet ordre) et qui l’affiche en 16 niveaux de gris, puis en 8 niveaux et enfin en 4 niveaux après chaque appui sur une touche.

% Sauvegarde des registres !PC !0-15 GOSBVL 0679B INTOFF %ST=0 15 % Charge ds R1 l'adresse du grob (on saute le prologue) A=DAT1 A LC 00014 A=A+C A R1=A % Charge ds R0 l'adresse de la zone de travail  LC 02201 GOSBVL 05B7D AD0EX ?ABIT=0 0 %une particularité du gestionnaire dcran qui n'accepte que les adresses paires.  GOYES PAIR A=A+1 A *PAIR R0=A % On recopie lcran dans la zone de travail A=R1 A D0=A A=R0 A D1=A LC 02200 GOSBVL 0670C % Mise zéro de la hauteur des menus, on écrit 3F en 128h D0= 00128 LA 3F DAT0=A B %A contient l'adresse de la bitmap en cours d'affichage LA 8068D pour G(x) ou LA 7050E pour S(x)  LA 8068D D1=A A=DAT1 A R3=A A % Boucle principale % Adresses des différents grobs dans le grob 131*256  % GROB 4 : R0 % GROB 3 : R0 + 880h % GROB 2 : R0 + 1100h % GROB 1 : R0 + 1980h D1= 00120  *AFFICHE_16_NIVO GOSUB AFFICHE_GRB4 GOSUB AFFICHE_GRB3 GOSUB AFFICHE_GRB4 GOSUB AFFICHE_GRB2 GOSUB AFFICHE_GRB4 GOSUB AFFICHE_GRB3 GOSUB AFFICHE_GRB4 GOSUB AFFICHE_GRB1 GOSUB AFFICHE_GRB4 GOSUB AFFICHE_GRB3 GOSUB AFFICHE_GRB4 GOSUB AFFICHE_GRB2 GOSUB AFFICHE_GRB4 GOSUB AFFICHE_GRB3 GOSUB AFFICHE_GRB4 LC 001FF %Masque universel pour les touches OUT=C C=IN LA 0001F A=A&C A ?A=0 A %si pas de touche, on continue GOYES AFFICHE_16_NIVO  *AFFICHE_8_NIVO GOSUB AFFICHE_GRB3 GOSUB AFFICHE_GRB2 GOSUB AFFICHE_GRB3 GOSUB AFFICHE_GRB1 GOSUB AFFICHE_GRB3 GOSUB AFFICHE_GRB2 GOSUB AFFICHE_GRB3 LC 001FF OUT=C GOSBVL 01160 LA 0001F A=A&C A ?A=0 A GOYES AFFICHE_8_NIVO  *AFFICHE_4_NIVO GOSUB AFFICHE_GRB2 GOSUB AFFICHE_GRB1 GOSUB AFFICHE_GRB2 LC 001FF OUT=C GOSBVL 01160 LA 0001F A=A&C A ?A=0 A GOYES AFFICHE_4_NIVO  % Remise en ordre du contexte pour une sortie propre D0= 00128 LA 37 %réapparition des menus DAT0=A B D1= 00120 A=R3 A DAT1=A A %ST=1 15 INTON GOSBVL 067D2 A=DAT0 A D0=D0+ 5 PC=(A)  *AFFICHE_GRB4 C=R0 GOTO AFFICHE  *AFFICHE_GRB3 C=R0 LA 00880 C=C+A A GOTO AFFICHE  *AFFICHE_GRB2 C=R0 LA 01100 C=C+A A GOTO AFFICHE  *AFFICHE_GRB1 C=R0 LA 01980 C=C+A A GOTO AFFICHE  *AFFICHE %Une boucle d'attente, sinon c'est trop rapide LA 000FF *WASTETIME A=A-1 A GONC WASTETIME  *VSYNC %Attente du passage par zéro du compteur en 128h A=DAT0 B ?A#0 B GOYES VSYNC DAT1=C A RTN @

Related content

© 1997 - 2024 Cédric Walter blog

Powered by Open Sources technologies

avatar

Cédric WalterA true selfless act always sparks another

6s A1 Acide-Hyaluronique Acma Adaptability Advocate-for-Change Ai Airplane Algorand Alice-Hlidkova-Author Alpine Alps Altruism-vs-Commercialization Antique-Scooters Antiseptic-Rinse Apache Apple Apps-De-Messagerie Arcade Arcade-Gaming Armattan Art Artemis Artemis-Viper Artistic-Expression Atlassian Authenticity-in-Writing Authenticity-Matters Avis Bag Bambulab Bash Bean Bennu Bernardet Bestwishes Betaflight Betruger Beware Bien-Vivre Bien-Être Bien-Être-Physique Bio Bioethics Bitcoin Blessures-Sportives Blockchain Blockchain-Consensus-Encyclopedia Blockchain-Systems Blog Book-Review Books Bots Bought Box Brand-Authenticity Brand-Integrity Brand-Protection Breaking-Barriers Business-Management Business-Milestones Business-Strategy Business-Success Business-Transformation Businessbooks Byzantine-Fault-Tolerance Calculator Calibre Calibre-Web Camera Case-Studies Cc2500 Cgm-Next Challenges Changement-De-Vie Channel-Setup Cheaper Cherry-Blossoms Chiffrement Chirurgie-Orthopédique Choosing-Fbl-Gyro Ci/Cd Classic-Games Classic-Scooters Classic-Vespa Climb Climbing Codefest Collectible-Scooters Collectibles Collection Collector Color Competition Confidentialité Consensus-Algorithms Consensus-Mechanisms Console Consommation-Responsable Consumer-Awareness Containerization Contest Control-Surfaces Controller Copy Corticostéroïdes Counterfeit-Awareness Counterfeit-Culture Counterfeit-Market Counterfeit-vs-Authentic Covid19 Creating Croissance-Personnelle Cryptocurrency Cultural-Experience Cultural-Richness Curve-Adjustments Customer-Discovery Cve-Issues Dance-Dreams Death Decentralization Decentralized Dental-Hygiene Dependency Design Development Devfest Devops Distributed-Ledger-Technology Diverse-Perspectives Diy-Dental Diy-Health Dji Docker Docker-Compose Docker-Hosting Docker-Networking Docker-Registry Docker-Security Dont-Buy Dotnet Download Downloading Dreams-and-Reality Drone Dynamic-Ip Désencombrement Développement-Personnel Développement-Spirituel Ecology Edgetx Elrs Elta Emotional-Challenges Emotional-Hurdles Empowering-Narrative Endpoints Engelberg Ensitm Entrepreneurial-Lessons Entrepreneurial-Mindset Entrepreneurs Entrepreneurship Entrepreneurship-Books Essaim Essentially Ethereum Ethical-Dilemmas Evoque Execution Exercices-De-Renforcement Exercise-Form Expérience-Utilisateur Facebook Failure-Analysis Failure-Stigma Failure-to-Success Fake Fake-Apparel Fake-Brands Fake-Goods Family Family-Building Family-Dynamics Fashion-Ethics Fashion-Fraud Fbl-Controllers Fbl-System-Compatibility Fbl-System-Features Fbl-System-Reviews Fertility-Struggles Finance-Books Finances-Personnelles Financial-Modeling Financiallanning Firearm Firmware-Customization Firmware-Issues Fissure-Horizontale Fitness-Routine Fitness-Tips Flexibilité Flight-Controller Flybarless-Advantages Flybarless-Systems Fonctionnalités-Avancées Foss Fpv Frame France Freestyle Fresh-Breath Friendship-Goals Front Gallery Game-Music Gameplay-Mechanics Gamer-Community Games Gaming-Culture Gaming-Enthusiast Gaming-History Gaming-Legacy Gaming-Nostalgia Generative-Ai Genou Gestion-De-Ladouleur Gestion-Du-Temps Git Global-Impact Google Green-Tea Green-Tea-Mouthwash Growth-Hacking-Books Growth-Mindset Guide Hackathon Hackday Hackfest Health-and-Wellness Helicopter Helicopter-Community Helicopter-Gyro Helicopter-Tuning Herbal-Mouthwash Hewlettpackard Historical-Scooters Hobbies Hobby Hobbyist-Blog Holidays Holistic-Oralcare Hollidays Home-Remedy Home-Workouts Homelab Homemade-Oralcare Honda Honesty Honey Hornet How-To HowTo Https Hugo Human-Connection Hygiene-Routine Icecream Iconic-Scooters Iflight Iflightnazgulevoque Imessage Immich Indoor Industrial-Shit Industry Injections-Intra-Articulaires Injury-Prevention Innovation Innovation-Books Innovation-Journey Intégration-Apple Ios Japan-Travel Japanese-Cuisine Jar Java Jdk11 Jellyfin Joint-Health Junit Jupiter Kitchen Knee-Rehabilitation Knee-Stability Knockoff-Alert Kyoto Lacoste Lacoste-Counterfeit Lambretta Landmarks Leadership Leadership-Books Lean-Startup Learning-From-Failure Leg-Day Leg-Workouts Legal-Complexities Legit-Fashion Let's-Encrypt Libération Life-Transformations Link Linux Llm Local-Traditions M2evo Macos Magical-Adventure Magician-Lord Main Make Manurhin Manurhin-Sm75 Mapping Marathon Market-Research Marketing-Books Maven Me Medical Medical-Advancements Messagerie Messenger Metakernel Miami-Entertainment Mid-Century-Scooters Migration Mindset-Shifts Minimalisme Minimum-Viable-Product Minty-Fresh Mixer-Settings Mk3 Mk4 Mobilité Model-Setup Modern-Family Modern-Motherhood Moon Moral-Encounters Motherhood-Dilemmas Motorcycle Mount Mountain Mountains Mouth-Rinse Mouthwash-Ingredients Mouthwash-Recipe Mulhouse Muscle-Activation Music Mvs Mycollection Ménisque NASA Natural-Mouthwash Nature Nazgul Neo-Geo-Aes Neogeo Network New-Bookrelease Nginx-Proxy North-Face North-Face-Replica Nostalgic-Scooters Nv14 Objectifs Old-School-Scooters Omphobby Open-Source Open-Source-Rc Opensource Opentx Openvpn Oral-Care Oral-Health Organizer Osaka Oss Overcoming-Challenges P1p P1s Parental-Rights Parenthood-Reflections Parts Passion Patella-Health Persistence Personal-Relationships Photos Physical-Therapy Physiothérapie Pivot-Strategy Pixel-Art Planet Plasma-Riche-en-Plaquettes Platform Plex Pluto Pretty-Girl-Complex Privacy Product-Market-Fit Productivity-Books Proof-of-Stake Proof-of-Work Protect-Your-Style Protection-Des-Données Prusa Prusa-Research Public-Image Quadcopter Quadriceps-Strength Radio-Control Radio-Programming Radiomaster Rare-Scooters Raspberrypi Raspbian Rates-Configuration Rc Rc-Community Rc-Configuration Rc-Firmware Rc-Helicopter Rc-Helicopter-Electronics Rc-Helicopter-Enthusiasts Rc-Helicopter-Setup Rc-Helicopter-Technology Rc-Helicopter-Tips Rc-Helicopters Rc-Modeling Rc-Simulator Realdebrid Realflight Receiver Reflex-Xtr Refreshing-Breath Rehabilitation-Exercises Relations-Personnelles Relationship-Complexities Released Remote Remote-Control-Flying Reproductive-Ethics Resilience-in-Business Resilient-Women Restored-Scooters Retro-Gaming Retro-Gaming-Community Retro-Gaming-Console Retro-Scooters Reverse-Proxy Rhythms-of-Life Risk-Management Robotic Router Rx Réadaptation Rééducation Sab Sab-Raw-420 Sab-Raw-580 Sab-Raw-700 Sales-Books Sans-Publicité Santé-Articulaire Santé-Mentale Scooter-Enthusiast Scooter-Memorabilia Scooters Security-Nightmare Self-Leveling-Helicopter Server-Configuration Servo-Config Signal Simplification Skydiving Snk Snk-Corporation Snk-Neo-Geo Soap Social-Issues Solex Space Spams Sport Ssl-Termination Ssl/Tls Startup-Books Startup-Failure Static-Code-Generator Steam Strategic-Networking Streaming Strength-Training Success-Stories Sun Support Surrogacy-Agency Surrogacy-Journey Surrogacy-Narratives Swiftui Swiss Switzerland Sécurité Team Team-Building Team-Dynamics Technologie Teeth-Cleaning Telegram Temples-and-Shrines Tendermint Terrot Thérapie-Physique Tokyo Torvol Traefik Traitement-Des-Fissures Transmitter Transmitter-Firmware Travel Travel-Tips Trouver-Du-Sens Tunnel Turning-Setbacks-Into-Success Tutorial Tx Unconventional-Strategies Vacation Velosolex Vespa Viaferrata Video Video-Game-Review Vie-Numérique Vintage Vintage-Scooters Vintage-Two-Wheelers Vintage-Vespa Vintagegaming Vmo-Exercises Warez Web-Security Whatsapp Wind Winner Winterthur Women-Supporting-Women Wordpress Workout-Progression X1c Zurich Zyxel Zyxel-Avoid Zyxel-Not-Serious-With-Security Zyxel-Outdated Zyxel-Router-Not-Good Écosystème-Apple Équilibre
Me

Cédric Walter is a French-Swiss entrepreneur, investor, and software engineer based in Zurich, Switzerland. He spent his career developing software applications for Swiss insurance companies to handle billions of dollars in premiums. He cofounded Innoveo AG and as the software architect developed the no-code platform designed to reduce the manual coding that powers many software apps. As an active participant in the European hacking community, he works on many open source projects including blockchain. Cédric is a winner of multiple hackathons. His expertise include designing back end, event-based, and blockchain systems. Cédric is also the founded Disruptr GmbH, a software development company that offers full spectrum of services for businesses of all sizes.

JAVA full-stack developer since 2000, in Blockchain since 2017, Certified Scrum Master 2012, Corda Certified Developer in 2019, Ethereum smart contract expert in the SWISS Blockchain Security working group

Hackathons

  • HackZurich 2022 – Level Up in top 25 finalist among 134 submissions
  • SBHACK21 – SwiFi winner of best Solution on Algorand, overall Winner 3rd Prize, CV Labs Fast Track Ticket
  • HackZurich 2020 Europe’s Biggest Hackathon winner in category Migros
  • SBHACK19 – LendIt winner of Swiss biggest Blockchain Hackathon. On chain insurance and ledger for agricultural land soil.
  • Member of the Bitcoin Association Switzerland and Cryptovalley association Switzerland,

PGP: DF52 ADDA C81A 08A6

Copyright information

All editorial content and graphics on our sites are protected by U.S. copyright, international treaties, and other applicable copyright laws and may not be copied without the express permission of Cedric Walter, which reserves all rights. Reuse of any of Cedric Walter editorial content and graphics for any purpose without The author ’s permission is strictly prohibited.

DO NOT copy or adapt the HTML or other code that this site creates to generate pages. It also is covered by copyright.

Reproduction without explicit permission is prohibited. All Rights Reserved. All photos remain copyright © their rightful owners. No copyright infringement is intended.

Disclaimer: The editor(s) reserve the right to edit any comments that are found to be abusive, offensive, contain profanity, serves as spam, is largely self-promotional, or displaying attempts to harbour irrelevant text links for any purpose.

Others

If you like my work or find it helpful, please consider buying me a cup of coffee ☕️. It inspires me to create and maintain more projects in the future. 🦾

It is better to attach some information or leave a message so that I can record the donation 📝 , thank you very much 🙏.

Reproduction without explicit permission is prohibited. All Rights Reserved. All photos remain copyright © their rightful owners. No copyright infringement is intended.