|Is there any interest out there in HP-150 source code ?|
Message #1 Posted by Valentin Albillo on 9 Apr 2008, 11:10 a.m.
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:
- 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.
- 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].
- 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.