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
- MANIFEST.MF,
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!