The Museum of HP Calculators

HP Forum Archive 14

[ Return to Index | Top of Index ]

HP-45 digits entering problem
Message #1 Posted by Michel Beaulieu on 26 Jan 2004, 9:59 p.m.

My HP-45 have a serious problem : when entering numbers, i can only enter one digit; all subsequent digits i enter erase the last one. So if i enter 456, only 6 is in the display and is consider as 6 for calculation.

A lot of functions are not working; the display "disapear" and i need to "off" an "on" for display to get normal. Inverse trig, SQRT, Ln are ok as well but not SIN COS TAN and ex.

Polar-rectangular are ok. all register memory ok. Even the timer is ok. Answers i get from one digit calculation is multi digits : 5 SQRT = 2.236068...

I opened the calculator and clean contacts but nothing is better...

No corrosion and the calculator looks like new :-(

What can i do to get this lovely beast working back to normal?

Thanks Michel

Edited: 26 Jan 2004, 10:23 p.m.

      
Re: HP-45 digits entering problem
Message #2 Posted by Victor Koechli on 27 Jan 2004, 10:35 a.m.,
in response to message #1 by Michel Beaulieu

Sounds like a bad ROM or ACT chip to me. I'd try cleaning all the contacts once more. If this does not help, you could try resoldering the ROM and ACT chips and checking the traces on the PCB. If it's a bad contact, you should be able to eliminate it this way. If it's a bad chip, you'll need a second calculator to cannibalize...

Hope this helps. Keep us posted. Cheers, Victor

            
Re: HP-45 digits entering problem
Message #3 Posted by David Smith on 27 Jan 2004, 2:45 p.m.,
in response to message #2 by Victor Koechli

Most likey (80%) is a bad ROM chip. Possibly (20%) a bad CPU chip.

                  
Re: HP-45 digits entering problem
Message #4 Posted by Michel Beaulieu on 27 Jan 2004, 5:58 p.m.,
in response to message #3 by David Smith

And where can i find such a ROM or CPU?

                        
Re: HP-45 digits entering problem
Message #5 Posted by David Smith on 28 Jan 2004, 1:26 p.m.,
in response to message #4 by Michel Beaulieu

The only source is another machine. The CPU chip is theoretically the same in the HP35/45/55 but I would not recommend swapping them among different types of machines. Depending upon when the chip was made, there seem to be some minor timing differences that may cause some problems.

                              
Classic CPU Incompatibility
Message #6 Posted by Michael F. Coyle on 29 Jan 2004, 9:56 p.m.,
in response to message #5 by David Smith

According to an article about the development of te HP-35, the chips were made by both Mostek and AMI but suffer from a minor timing difference; hence production calculators used either all Mostek chips or all AMI chips.

Perhaps this is the incompatibility that hinders chip substitution in the Classics.

- Michael

                                    
Re: Classic CPU Incompatibility
Message #7 Posted by Eric Smith on 29 Jan 2004, 10:31 p.m.,
in response to message #6 by Michael F. Coyle

What article is that?

                                          
Re: Classic CPU Incompatibility
Message #8 Posted by Michael F. Coyle on 2 Feb 2004, 12:22 p.m.,
in response to message #7 by Eric Smith

The article I was talking about is "The HP-35: a tale of teamwork with vendors" by Gerald M. Walker, ELECTRONICS, Associate Editor. I found it in a book of reprints of Electronics magazine articles.

No date if given but from clues in the text, must have been early 1973.

The relevant passage reads,

Quote:
Production models are either all-AMI or all-Mostek because the two suppliers' chips don't really run well together. Though the parts are the same electrically, the different locations of the precharge make it impossible for the Mostek A&R to operate with the AMI ROMs. (Actually, H-P did not specify that the chips be compatible in all respects, though this could have been done if the demand had been made.)
But...
Quote:
Both had problems, fortunately on different portions of the design, so that between the two of them, first delivery dates were met and the first prototype had a mixture of parts from the two vendors.
I don't know what the copyright situation is here, so I don't want to provide the article for all comers. But if you (Eric) provide me with a mailing address, I'll Xerox a copy for you.

Keep up the good work...your posts have been very exciting lately!

- Michael

                                                
Reverse-engineering plans
Message #9 Posted by Eric Smith on 3 Feb 2004, 7:28 p.m.,
in response to message #8 by Michael F. Coyle

Quote:
Keep up the good work...your posts have been very exciting lately!

I haven't had as much time to work on this stuff over the last week or so, although I did receive the 12C that Nelson Sicuro was kind enough to provide, and I've dumped the ROM from that. It has 6K words, exactly as expected. I'm still looking for a single-board 10C, but I don't know if any were made that way. The two that I've opened are the early construction with the CPU and display module separate from the keyboard. I'd rather not have to peel or cut the ESD tape on the module, and I'm not sure how well I can get logic analyzer clips to stay on the pins of those models. I expect the 10C to have 6K of ROM since that's the amount present in the 1LE2 chip, but since the 10C has less functionality than the 11C, it will probably have a lot of zero words padding it out.

I'm slowly preparing to capture bus traces from second generation calculators (Woodstock, 67, Topcat, and 19C). I'll be starting with an HP-21, since it's the simplest model with the least ROM (1K) and because I have three of them.

Since the 2nd generation models don't have a self-test, and because I don't know the entire instruction set, the plan is to initially try to capture a trace of the bus (ISA, BCD, SYNC) while I put the calculator through its paces by hand. This should capture most of the ROM, but probably not every word.

For instance, I have an experimental version of CASMSIM that lets me track which ROM words are executed while simulating a Classic calc. I did this for the HP-45. With a bit of work, I was able to get it to execute 1534 words of ROM, out of 1536 total words (not counting stopwatch mode, which uses the last 512 words). The remaining two words probably include at least one word used for entry to stopwatch mode, although I haven't gone back and studied the listing to be sure.

For a more complex calculator, particularly a programmable one, it is much more difficult to get a high percentage of ROM coverage. Also, for the 19C, 67, 92, 95C, and 97, there is more than 4K of ROM, so the bank-switching makes things more complicated.

So the real plan is to cut the ISA line from the CPU to the rest of the circuit, feed in my own addresses, and extract every ROM word. However, I'll need to enhance my romsucker hardware design a fair bit to do that. I'll add a microcontroller to it, probably a PIC18F452.

That's all well and good except that I don't want to cut a trace in the HP-95C that I have access to. So I have an even more elaborate plan for that.

The other thing I'll do with the HP-21 is desolder the ROM/Anode driver chip, and build a ROM emulator to use in its place. Possibly the romsucker with microcontroller will be able to do this, just as Diego has done with his CLONIX-41 module. (I should order one of those.) The purpose being that this will make it much easier to finish reverse-engineering the instruction set, since then I can execute arbitrary instruction sequences of my own choosing.

For instance, if I have an instruction whose effects are unknown, I can prepare a test case that initializes all the CPU registers (that I know about) to known values, executes the instruction, does a conditional branch so that I can tell if carry was set, and then dump out all the register contents to see what changed.

                                                      
Re: Reverse-engineering plans
Message #10 Posted by Victor Koechli on 4 Feb 2004, 4:07 a.m.,
in response to message #9 by Eric Smith

I may sound stupid, but wouldn't it be *a lot* easier to obtain all this information directly from HP? They must have all this material somewhere... Someone with contacts to HP, maybe?

Just my Wednesday morning thougths, Victor

                                                            
Re: Reverse-engineering plans
Message #11 Posted by Eric Smith on 4 Feb 2004, 12:12 p.m.,
in response to message #10 by Victor Koechli

Quote:
but wouldn't it be *a lot* easier to obtain all this information directly from HP?

Yes, if they were willing to provide it.

Quote:
They must have all this material somewhere...

I believe that they do NOT have this information any more.

Around 1976, HP Advanced Product Division (APD), which was responsible for hand calculators (and related desktop models), moved to Oregon, becoming Corvallis Division. Some but not all of the staff made this transition. I think most of the engineering records survived that move.

Around 1994, responsibility for calculators transferred to Singapore division, which had formerly only been involved in the manufacturing side. A lot of stuff was shipped from Corvallis to Singapore, but most older stuff was simply thrown away. A small number of HP employees in Corvallis reported to Singapore. A team spread between Singapore and Corvallis developed the HP-38G. Then Singapore decided not to develop any more calculators. More engineering records were discarded.

Then HP started the Australian Calculator Operation (ACO). Some materials fron Singapore and some still in Corvallis were shipped to Australia. As everyone here is probably aware, ACO developed the HP 49G, HP 39G, HP 40G, HP 17bII+, Xpander, and Jornada X25, the latter two of which were not introduced as products. They also OEM'd the HP 6S, HP 6S solar, HP 10bII, and HP 30S.

ACO was shut down, and most of the engineering records were discarded.

Then a new calculator division started up based in San Diego. Some surviving engineering records were shipped there. They have developed the HP 12C Platinum and HP 49G+, and OEM'd the HP 9G and HP 9S.

As far as I've heard, there are no surviving engineering records of anything before the HP-12C, and probably not even of the other Voyager models.

This information is pieced together from what I've been told by various HP employees at various times, so it's quite possible that I've misunderstood the details of some events. Any errors in the account are probably my fault.

I missed out on the opportunity to get access to the exact sort of old engineering records I need for my simulator efforts twice! In 1995, not knowing about the transfer to Singapore, I contacted someone in Corvallis division, who said that if I'd only been in touch before the transfer he probably could have given me all the info I wanted.

Some years later I found out that the magnetic tape archives from Corvallis (nine-track and quarter-inch cartridge) that had not been sent to Singapore had almost been thrown away, but had been rescued by an Corvallis employee and were in his garage. I offered to visit him with a nine-track tape drive and transfer all the data to more modern media. He wasn't sure whether he would be allowed to let me keep copies of anything, I'd have to get permission from HP, but at least the data would have been preserved. Unfortunately I failed to do this rapidly, and apparently the tapes did end up being discarded.

Edited: 5 Feb 2004, 2:32 a.m. after one or more responses were posted

                                                                  
Re: Reverse-engineering plans
Message #12 Posted by Victor Koechli on 4 Feb 2004, 2:53 p.m.,
in response to message #11 by Eric Smith

I knew it was a stupid question...

But I'd never have assumed it was *that* bad. I thought maybe HP was not willing to release the data, but I'd never thought that the result of so many years of development and so many people's efforts would simply have been thrown away.

What were they thinking? Not much, I guess... Thanks anyway for your extensive and enlighting answer, and keep up the good work!

Cheers, Victor

                                                                        
Re: Reverse-engineering plans
Message #13 Posted by Eric Smith on 4 Feb 2004, 6:32 p.m.,
in response to message #12 by Victor Koechli

Quote:
I thought maybe HP was not willing to release the data, but I'd never thought that the result of so many years of development and so many people's efforts would simply have been thrown away. What were they thinking?

It's quite sad to us enthusiasts, but it's certainly nothing unusual in the business world. Once old documents don't have any commercial value, they get discarded. Part of that is simply not wanting to spend money and effort archiving things. But from a legal point of view, retaining documents any longer than necessary for business purposes is a potential source of liability.

It is standard practice now for large corporations to have explicit document retention policies calling for old documents to be destroyed after a few years, and memos and email even sooner. That way the materials can't be subpoenaed for discovery in a lawsuit. On the other hand, they also can't be used for defensive purposes, but apparently this is less valuable.

                                                                              
Re: Reverse-engineering plans
Message #14 Posted by Michael F. Coyle on 4 Feb 2004, 11:13 p.m.,
in response to message #13 by Eric Smith

Hi Eric,

Thanks for the enlightening but sad information about HP's calculator development and (lack of) documentation.

I've always hoped that some of the old HP calculator engineers might be lurking on the sidelines, but no one has come forth, so maybe they aren't.

It seems to me now, that with the loss of records and the dispersal/retirement of the engineers, we are the main source of expertise on these wonderful little machines.

I guess it's up to us to keep this information alive and learn as much as we can. Information on algorithms, especially, are still of much use and ought to be available for future generations.

(This isn't the only case where engineering expertise has been lost. Many years ago, Jerry Pournelle stated in one of his Byte magazine columns that it isn't possible to build the Saturn V rocket any more -- the factories have been converted to service the Shuttle and much of the tooling and plans no longer exist. It's a shame. Maybe we need an Engineering Preservation movement similar to the Landmarks Preservation going on in many cities.)

- Michael

                                    
Re: Classic CPU Incompatibility
Message #15 Posted by Eric Smith on 2 Feb 2004, 2:06 a.m.,
in response to message #6 by Michael F. Coyle

Quote:
According to an article about the development of te HP-35, the chips were made by both Mostek and AMI but suffer from a minor timing difference; hence production calculators used either all Mostek chips or all AMI chips.

Some AMI chips may have been incompatible with their Mostek counterparts, but that certainly was not true of all of them. All three of my HP-35s have a mix of AMI and Mostek chips. For instance, one with a serial number prefix of 1302A has an AMI CTC, ARC, and two ROMs, and the other ROM is Mostek. One with a prefix of 1346A has a Mostek ARC, but the CTC and all the ROMs are AMI. Both calculators work fine.

An example of a known incompatibility is given in the HP-97 service manual, which states that the 1818-0225 ROM/anode driver made by Mostek is not compatible with the AMI 1820-1596 ACT chip. Apparently that ROM will work fine with other ACT chips including the 1820-1812 and 1820-2530. They do not explicitly state whether the ROM will work with the Mostek 1820-1596. However, they revised the ROM to part number 1818-0267, which apparently works fine with all three of those ACT parts.

It is my belief that this problem occurred not due to bus timing per se, but rather due to a subtle difference in how the 1820-1596 handled an unusual condition as compared to the other ACT chips. I won't be able to confirm that until I dump both versions of the ROM for comparison. I don't believe that any of my HP-97 units have the 1818-0225, unfortunately, so I will either have to buy more on eBay, or find people who will let me dump theirs.

Others here have occasionally commented about some ACT chips being interchangeable and others not. I currently know of seven different ACT chips:

  • 1820-1396, AMI
  • 1820-1523, AMI
  • 1820-1596, AMI or Mostek
  • 1820-1812 (I haven't seen one of these)
  • 1820-2028, AMI
  • 1820-2530 (I haven't seen this one either)
  • 5061-0466

Of these, only the last one is known to have any major difference, in that it is apparently an NMOS version (used in the HP-27), while the others are PMOS.

My next candidates for ROM dumping are:

  • finish Spice series (31E, 33E)
  • finish Voyager series (10C, 12C) -- Nelson M. Sicuro kindly offered to provide me a beat-up but working 12C to be dumped
  • HP-21 - I have several, so I'm going to sacrifice one to desolder the ROM/anode driver. I'll read the ROM on a breadboard, rather than in-circuit, and make a ROM emulator to attach to the calculator in place of the ROM for use in reverse-engineering the instruction set.

Reading the Classic and Woodstock ROMs in circuit is a lot more difficult than the later models for two reasons:

  • no self-test feature, which is what made it almost trivial to dump the Spice and Voyager series ROMs
  • even if I disconnect the instruction address line from the CPU and feed an externally generated address, the romsucker has to be a lot more sophisticated because the ROMs actively participate in bankswitching. Just reading a ROM SELECT instruction from one of the ROMs will deselect it and select a different ROM, so there is no easy way to simply read out all the ROM addresses in address order.
                                          
Re: Classic CPU Incompatibility
Message #16 Posted by David Smith on 2 Feb 2004, 1:39 p.m.,
in response to message #15 by Eric Smith

Also dump the HP25 bug and bug-free ROM codes. The error lies in the original HP25 ROM/anode driver. This chip was changed early in production. To see the error enter 1E-14 TAN then switch to PRGM mode. Display goes blank. Switch to RUN and see ERROR.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall