Is there any interest out there in HP-150 source code ?


Hi all,

    Just found out and recovered a number of utility routines I wrote for the HP-150 touchscreen personal computer back then, middle 80's or so.

    I thought they were lost for good, because I used to store them in floppy disks long since discarded as I wasn't able to back them up to some more permanent media at the time, and any listings or printed documentation would have suffered the same fate as well.

    However, I was lucky that a very old friend of mine (figuratively and literally), to whom I passed the routines at the time, had indeed kept a copy of them, which he eventually backed up to CDs, and after much searching I was able to locate and retrieve the source code files back from sheer oblivion.

    The utility routines, all of them my own creation, were written in Turbo Pascal 3.0, and include procedures to perform such tasks as:

    • writing and reading from the graphics and alphanumeric screens (including single pixels, complete lines, or arbitrary rectangular areas). Routines to draw arbitrary lines and circles are included, as well as routines for outputting text with attributes (blinking, reverse, etc) at arbitrary screen locations.

      The implementation is extremely fast, so you can update the graphics or alpha screen in virtually real time, so fast indeed that simple animation could be done if sufficient memory was available. I actually wrote and used them to create morphing logos (splash screens) as part of some application's initialization process, which was a great novelty at the time, long before morphing was made popular by blockbusters such as "Terminator 2", say

    • touch control (defining touch keys, detecting touch coordinates)

    • keyboard control (block, release, reading keys, beeping)

    • graphics tablet control (initializing, reading coordinates) both for HP-IB or RS-232 tablets, handled several of the most popular graphics tablets.

    • plotter control

    • printer control (dump graphics screen to the printer)

    • For IBM PC compatibles: drivers for CGA, VGA, and Hercules graphics cards, written as Turbo Pascal overlays, with the same calling convention as the HP-150-specific routines.

    • assorted utility routines (defining and managing validated input fields, additional string functions, etc)

    I'm willing to make this material freely available to interested people, with the following provisos:

    1. I don't know if there are indeed interested people anymore. The HP-150 is utterly obsolete and I seriously doubt anyone is still using it, let alone writing programs for it.

    2. I don't know how to make this routines available or where to place them. 'How' means whether I should include them in some kind of article(s) to be submitted to some publication, or to be included in the Articles section here [that would take a lot of time and effort], or just simply upload the plain text source files to some web site or server that would host them [that could be done very quickly and thus happen very soon].

    3. I don't have the time to explore and document them in any way, nor can I maintain them or provide any support for them, so they would be made available "as is", what HP fans of old called "NOMAS" (NOt MAnufacturer-Supported, I think), just as bare source code listings with no explanations whatsoever other than the descriptive names of procedures, types, variables, etc. used in the Turbo Pascal listings, plus any interspersed comments or commented headers (though that would probably be mostly in Spanish).

    Thus, any interested person would need to deal with the plain source code listings and would need to explore them to better understand the functionality and how everything is called and used. This is not difficult at all, since a number of programming examples and tests are included which call the available procedures making it actually very easy to see how to use them.

    Complete programs are also present (including a Mandelbrot-set computing one which managed to represent shades of grey on the monochrome HP-150 screen, including zooming, dumping the graphics screen to a printer, etc). A touchscreen-aware calculator is also included, and probably many others, all of them as source code listings, of course, no executables of any kind (COM, EXE, BIN, DLL) whatsoever so you would need a Turbo Pascal 3.0 compiler to compile them or any program using them (I think this compiler is freeware or abandonware now, and its manual does exist in PDF format).

    That's all. If anyone's interested in exploring and using those old routines, let me know what you think. It can be very exciting for the right person, a real treasure trove (kinda reverse-engineering or disassembling some ROM, only orders of magnitude easier).

Best regards from V.

Edited: 9 Apr 2008, 11:18 a.m.


I have learned my programming in Pascal, and had Turbo Pascal of course. I have switched to Delphi now.
Old versions can still be downloaded at GodeGear (the succesor of Borland) at:



Hello Valentin,

I think all this material should be made available on hpmuseum's archive on DVD. I personnally don't have time to dig back into programming, but at least for the posterity it should be made available somehow. You mention turbo Pascal, was there a version of turbo pascal for the hp-150 ? do you still have it ? I would be very interested, as Pascal language was the first one I used and I always loved it (guess wy ?).

The HP-150 is a great machine and I love it because it has something special that no other had at that time, the touchscreen. For me it's one of the PC at that time that really stands out because it was really innovative, like the Osbourne portable or the Apple Lisa.



Hello Pascal!

You mention turbo Pascal, was there a version of turbo pascal for the hp-150 ? do you still have it ? I would be very interested, as Pascal language was the first one I used and I always loved it (guess wy ?).

I haven't forgotten you (quite busy at work at the moment) and when I get my 150 running again some day, I will try to remember and copy
Turbo Pascal on a floppy disc as well as Windows Write.

I also have GW-Basic and "Lattice C" for the HP-150 if anybody is interested...

As for Valentin's source code, I'm afraid I won't have the time (at least not during my current incarnation :-) ) to get that installed, understood and running - sometimes I wonder if I should keep the HP-150 with all its accessories (I still have a big daisy-wheel printer and the 9872C flatbed plotter somewhere) at all?

Greetings, Max


Thanks Maximilian. I was able to replace the corrupted files of the HP-150 Windows disks by the one from the Vectra windows disks that I have. Fortunately, most of the files are identical, so I have now a fully restored set of disks. I have been able to install and run it ont my HP-150, it's amazing that it works ! Thanks to the touchscreen, you can do some finger painting by using your finger to draw inside the Paint application.

When I have finished with this project, I may either write a post about it or perhaps show a demo during the next Allschwill meeting.

Possibly Related Threads...
Thread Author Replies Views Last Post
  HP PRIME: APP program code DISAPPEARS !! Joseph Ec 0 644 11-25-2013, 11:35 AM
Last Post: Joseph Ec
  Where to the 32-bit version of User Code Utiltiy for HP-41 ? Olivier (Wa) 2 1,030 09-26-2013, 01:55 AM
Last Post: Olivier (Wa)
  A HP42S Code Editor Andreas 9 1,983 09-22-2013, 03:17 AM
Last Post: Andreas
  Dynamic Gaussian Quadrature code in Excel VBA Namir 4 1,178 07-30-2013, 07:37 PM
Last Post: Namir
  any open source HP 10BII emulators? John 15 2,773 06-12-2013, 09:58 AM
Last Post: Kimberly Thompson
  HP48 source Han 0 522 05-26-2013, 03:34 PM
Last Post: Han
  Article of interest Victor Quiros 0 630 03-09-2013, 03:56 PM
Last Post: Victor Quiros
  HP-65 Morse Code Dan Lewis 7 1,678 01-29-2013, 05:22 PM
Last Post: Mike T.
  HP 12 C simple interest calcuation sam 6 1,379 01-16-2013, 10:22 AM
Last Post: fhub
  Source for N-Cell NiMh Batteries and Charging adapters TnC_Products 14 2,633 12-16-2012, 10:26 AM
Last Post: Dieter

Forum Jump: