Valentin Albillo's HP Collection

Back Home

HP Computers

HP Computer Programs

For the historical record and in order to preserve my earliest and/or unreleased efforts in the wonderful world of HP vintage computers, here you'll find a selection of programs I wrote decades ago for various HP ancient computer models including Series 80 (HP-85/86/87XM), Series 9800 (HP-9816/26/36), HP-150 (two models) and assorted HP Vectra models, among others.

Diverse programming languages are used throughout, including the specific HP BASIC dialects, Turbo Pascal, Borland Pascal, C and several versions of Visual Basic. as well as Assembler, mostly Capricorn Assembler for the Series 80 machines. Stay tuned !

P.S.: All titles ending in (Full Scan) are part of my Project HAM.



PDF HP Computer Program VA010 - A Simple Checkmate Searching Program

29-page paper featuring a simple, standalone checkmate searching program I wrote in 1998 using a Hewlett-Packard Vectra/MMX @200 Mhz computer which, given a legal chess position, the side to move and the maximum number of moves to give checkmate, it will search and output either a move which checkmates in that number of moves (or less), or the fact that there’s no such move. It can also search for only-checks mates. Eight amazing worked examples are included.

Main features include: full legal move generation (including full legal castling [all 5 mandatory requirements for legality], en passant pawn captures and underpromotions), can find checkmates in any number of moves (up to 64, subject only to available memory and time), can find general checkmates or checkmates in which the mating side gives only checks (this is useful for finding much faster those long sequences of checks that end in checkmate), accepts positions in FEN notation and checks them for legality and syntax, searches for checkmates iteratively starting from checkmate in 1 and thus always finds the shortest posible checkmate.

While searching, it shows progress and time taken for each iteration and the search can be halted immediately at any moment by simply pressing a key. Otherwise, when the search ends it outputs the first move found that gives checkmate in the specified number of mover (or less) or the fact that one doesn't exist, the final total time for the search and the number of nodes examined.

Last but certainly not least, the whole source code is included, fully commented, easy to understand (no obscure, tricky code) and written in a didactic fashion to help study and use in your own chess-related programs.

PDF HP Computer Program VA020 - XLATOR - Convertidor Series 80 a Series 200 (Full Scan)

(21 pages, 5.629.539 bytes, in Spanish)

This Series 200 BASIC program, XLATOR, was created by me ca. 1985 to automate the conversion of Series 80 programs (HP-86/87) to Series 200 (HP-9816/26/36). XLATOR is a 1,179-line Series 200 BASIC program which runs on the HP 9816/26/36, accepts as input a Series 80 BASIC program (which can use a number of binaries) and produces the equivalent Series 200 BASIC program as its output. Includes Notes.

PDF HP Computer Program VA030 - HP-86-87 CMAT - Operaciones Matriciales con Strings (Full Scan)

(12 pages, 3.579.912 bytes, in Spanish)

The HP-86/87 binary CMAT 1.0 was created by me ca. 1985. It consists of 644 lines of Capricorn assembler code which I wrote to speed up our engineering programs without requiring our clients to buy the very expensive and hard-to-get Matrix ROM. CMAT implements 32 (somewhat ad-hoc) matrix functions and statements using strings (say Vertical_Loads$) instead of array variables. Includes Notes.


COPYRIGHT NOTICE
These articles, programs, pictures, their descriptions and other materials created by me are (c) Valentin Albillo, and can be used freely for non-profit purposes as long as (1) the contents aren't modified in any way and (2) the copyright is acknowledged. In plain words, you can download them and use them for non-profit purposes but do not include them in any media and/or site for which you're asking money, do not tamper with their contents and do not say or imply that you created them or that you don't know who created them, you must always give due credit to me.