What's new on the site ?

**** NEW ****

Feb 15 2013 - >>>>

1) The Applet 'sim67' is a descendant of CASMSIM originally created by Eric Smith to run the HP-45 firmware typed in from the patent.
Eric Smith originally created this application in C circa 1995.

David G. Hicks ported it to Java as an Applet and added the debugging console to easily study the internals of the HP-45.

Time passed.

In 2005, I modified the Java Applet to study the HP 35's ROM.
In 2007, I modified the same tool to study the HP 65 firmware.

For the HP 67 things were more complicated since a lot of specific op codes regarding the CRC's (Card Reader Circuit) instruction code were not known. Eric Smith worked with me in the late 2007 and in the beginning of 2008, I had the emulator working with the CRC.

The ROM image has been dumped electronically.

You'll find in the following ZIP file the java source code (sim67.java) of this Applet under GNU General Public Licence.
Included also the 4 files parts of the applet's jar (sim67.jar) :
- hp67.gif
- hp67h.gif
- hp67.rom
- LED-67.ttf

and the HTML launcher 'sim67.htm'.

To compile the Applet (from the Terminal):

- javac sim67.java

to create the 'jar' file
- jar cvf sim67.jar MANIFEST.MF hp67.rom LED-67.ttf hp67.gif hp67h.gif *.class

For security reasons the Applet must be signed using RSA-signed certificate:

To signed the Applet :

jarsigner -keystore keystore.jks -storepass xxxxxxxxx -keypass xxxxxxxxx sim67.jar your_certificate

to verify :

jarsigner -verify -keystore keystore.jks -storepass xxxxxxxxx -keypass xxxxxxxxx sim67.jar
where xxxxxxxxx is your keystore password.

Either a self certificate or a commercial certificate can be used.


2) HP-67 ROM base emulator (new version)

Version 2.6 Feb 2013 - This emulator is based on a Java Applet (it requires Java and Java plugin installed).
To use this Applet on MAC OS X : use Mozilla's Firefox ; it gives you the opportunity to choose (click-to-play).

3) FEB 2013 : Now the emulator is also available as a stand alone Java Application -version 2.7app- (it's not an Applet : no browser needed).
Basically, it is the same code than the Applet, plus several features were added (Copy/Paste to system clipboard, Help ...).

On line Jan 2013 :

- A new version of the HP-67 Emulator with many new features,
- the rest of the HP25 's firmware study (finally!),
During 2013 :
- the HP67 study (hardware and software),
- a study of the Woodstock ISA serial format (with a microcontroler and a  Logic Analyzer).

NOV 2012

I Revisited HP-67 emulator due to issue with Java 1.7 and applet's security  paranoia.
The card reading function of the applet is indeed importing fake card content.
But AFAIK It won't wipe your disk!

October 2012 Urchin stats (Oct 01 - Oct 31 2012 - 1 month)

Visits : 11981
Pageviews : 42034

Summer 2010

I started to publish this month my work on the Woodstock family.
It will include:
- HP-21 @ HP-25 Reverse engineering hardware,
- HP-25 ROM comment,
- HP-67 Hardware & Firmware.

Feb 2010 : - updated HP-21 @ HP-25 PSU circuit diagrams (with equivalence).

Oct 2009 : - Display text revisited with new photos,
                 - The forum is more productive (how to repair you HP),
                 - updated Classic power adapter block diagram with equivalence.

Aug 20, 2009 : Inductive display, Keyboard, Anode&Cathode drivers and a full schematic of the display.

21 July 2008 : published a Pspice simulation (with the schematic) of the HP (35, 67 & 97) power unit. 

19 March 2008 : updated the "HP-35 power unit" with the HP-67, HP-97 power circuits and Classic power adapter block diagram & photo.

Feb 15, 2008 : more cosmetic changes
(many requests) : the "h" (black) key is bringing the black labels (e.g : 1/x, PAUSE, etc) on the right key, it will improve visibility. As many people asked me : this software a true emulator running an image of the real HP-67 ROMs dumped electronically.
Feb 07, 2008 :
a few cosmetic changes, the yellow and blue labels are now below the key - but no room for the black labels. Not this simulator is a tool meant to study the HP-67 firmware.

>>January 30, 2008 - Version 2.3 of the HP-67 ROM simulator (the first version -ever- with a card reader simulator) is uploaded.

Here is a demo CARD : the small program computing the area of a circle (enter the radius and press the A key).
It is the simple program presented p.136 of the HP-67 Owner's Handbook.

Enter 3 (inches), Press 'A' the result must be 28.27 Squares inches.

The function PAUSE is implemented : you can as with the real calculator insert a "pause" in the execution of a program, enter data or read a card : here is a program on a card to test the function (see manual for more details). I changed slightly the format of data on a card, dumping it in hexadecimal form : the parser is now more robust, correcting a potential problem in the read routine when pasted from a text editor.

Card format (1 side) : 34 records (lines) of 7 digits (28 bits) each digit is an hexadecimal number {0x0-0xf} (together 952 bits) :

(apart from 1 record 0f '0' for clocking out),
1 record of header,
32 records of data or program,
1 record of check-sum (just an addition of the records).

In the header is recorded the status of the machine and one of the 6 card types:
- one sided program,
- 1rst side of a two sided PRGM,
- 2nd side of a two sided PRGM,
- one sided data card,
- 1rst side of a two sided data card,
- 2nd side of a two sided data card.

The order of reading the sides does not matter.
There is no format control in the simulator (just a filter for spaces 0x20 and CRLF 0x0d 0x0a ) ; everything is done by the ROM. So if you modify a card with a text editor, be sure the check sum is corrected (I used once my HP-16C to sum the records) -but there is no interest. 

If you want to study a function, just put a break point @ 6027 : the entry point of the dispatch routine, the function code is in A[1], A[0], ex CLx = 0x32 (not this is not the visual form (row, col) = 44 for CLx) ; but it's the same format 0x32 on the card or in memory, though reversed in the latter case.

Remember : if one of the two 2 applet windows are hidden by the main window, the clr button in the debug window will bring them to the front of the window stack.

January 22, 2008 - HP-67 ROM simulator The WRITE, READ & MERGE commands are working on the uploaded version 2.2 (W/DATA and WRITE in PRGM mode, READ & MERGE in both modes). It allows to dump the prgm or data memory into the Java applet window, sava it for later use into a pure text editor and read it later into the simulator.
I have added "CRD" button to simulate the insertion of a Card in the right slot,
a MD button to dump the data memory and ,
a MP button to dump the program memory.

1) When in PRGM mode, pressing "CARD" stores the program steps in the CARD Window, Ctr A and Ctr C allows you to save it in a text editor.

2) Pressing "CARD" in RUN mode loads the program, into the CARD window.

Cards must be a pure text file and can be stored on your PC or MAC (now RTF or whatever, just *.txt).

If 2 cards are requested, the simulator displays "Crd" to prompt you for side 2 (more than 112 steps) : repeat the procedure.

For Data, the function "f W/DATA" is doing the same thing as on the real HP-67, save data registers for future use.

To save data press "f W/DATA" ant the simulator will prompt you for one or two cards (if secondary registers are not empty).

To load a data card in the simulator, paste the text in the Card Window and press "CARD".

To use the "Merge" function refer to the HP-67 manual.

Other buttons in this version (2.2) :

MP : dumps the program memory to the applet window,
MD : dumps the data memory,
Clr : brings the 2 applet windows to the front of the window stack, in case the are hidden.

Here is a demo CARD : the small program computing the area of a circle (enter the radius and press the A key).

Please be kind to report problem and give feed back. I have not yet created the user guide, but a good break point to follow the code is @ 217 (octal) where a key is fetched and will be serviced.

* Dec 2007, Jan 2008 : The Java simulator running the dump of the HP-67's ROM is here (version 2.1) ; but the comments for the micro code ( HP-65 & HP-67) are still on my desk, sorry! - Jan 2008 I hope). Thank you to E. Smith for his precious help, on the microcode source and card reader handshake.
This is a work in progress. In fact if the simulation works rather well AFAIK in RUN and PRGM modes ; but the handshaking between the microprocessor and the CRC is not yet completely available : it is a hard work since the related "op codes" are mostly unknown to us, at the moment. 

* Nov 2007: "Cordic for dummies" : Yet another Cordic class (the simplest I hope).

* July 2007:

-> Hardware in depth exploration : The power on reset circuit.

-> I received recently the unexpected and precious help from a friend regarding the HP-65's ROM. The Java simulator is running now the HP-65 micro-code without problem, allowing to study how the program storage circuit is working ; its program memory symbolic addressing and its hardware label-searching mechanism are very original. The simulator is here : HP-65 ROM simulator, the comments are coming. In Dec 2007, Pavel Burdanov reported a problem with this simulation. A simple typo formatting the ROM image has been corrected. All is working fine now, to my knowledge.

* May 2007 : I continued the "HP-35 hardware pages" with a reverse engineering of the power units for the Classic and Woodstock series. This job has been completed with the precious help of Daniel WEED - ex-rocket scientist from Phoenix, AZ. Dan did a nice job deconstructing the power unit of the HP-45 and repairing one unit with modern discrete componants.

* March 2007 : 3204 visitors, around 3000 visitors per month since.

* January 2007, I started to publish the HP-35 hardware pages. It is a kind of "black box" reverse engineering: you can't open a chip to see what's going on inside. But I had input and output signal traces on my scope and in mind the 1972 state of the art (sometimes though it is hard to follow, because of HP ingenuity for example the way they mixed PMOS chips and TTL logic, or the efficient inductive drive technique used for the LED display is great art! think that in the worst case -13 8's and 2 minus signs -needs only 100mW!).     

* The HP 35 ROM Mapping is finally on line (a very hard work) : "The HP-35 firmware decoded & other mysteries".
  Should be revisited in December 2006.

* I bought this summer a fac-simile of Briggs' "Arithmetica Logarihmica" and I could complete the page "The Difference Method of Henry Briggs".

Upcoming projects

The reverse engineering of the HP-35 (hardware and software) is finished.

Here are the projects I'm currently working on :
One of these programmable calculators reverse engineering :
-> HP 25, HP 65 or HP 67.

You can support the development of my initiative -for the preservation of this software know how by giving me a clue, the copy of a rare document, a helping hand, or just an encouraging email. 

I particularly search all documents or indications allowing to draw a secure timeline for the HP-35 (ads, prices, amount of sales per period, production per period, etc).

You can publish on this site or post on the forum. Welcome!

Thank you all very much, in advance!