The Museum of HP Calculators

HP Forum Archive 19

[ Return to Index | Top of Index ]

More on the new 12C
Message #1 Posted by Katie Wasserman on 23 July 2009, 2:37 p.m.

In playing with the new new ARM-based 12C I found that it has two functions that don't work as the older models do and yet the documentation says that they do. Holding down the SST (single step) key when trying to debug a program doesn't show you the program step that's about to be executed. This makes program debugging much more difficult. Also, when in program mode, holding down SST or BST won't advance through the program lines at the rate of about 1 per second. It just does one step no matter how long the key is held down. I still love the super fast speed, but programming it is not quite as much fun.

      
Re: More on the new 12C
Message #2 Posted by Dave Britten on 23 July 2009, 3:35 p.m.,
in response to message #1 by Katie Wasserman

Interesting. Maybe the keyboard routines aren't interpreting separate key-down/key-up events for the emulator to handle. What happens if you do Clear Prefix (which also functions as Show)? Does it continue displaying the full precision if you hold down the key, or does it revert quickly back to the standard display?

            
Re: More on the new 12C
Message #3 Posted by Katie Wasserman on 23 July 2009, 5:57 p.m.,
in response to message #2 by Dave Britten

Clear Prefix works as it does on the old 12C, so the emulator can detect held-down keys properly.

      
Re: More on the new 12C
Message #4 Posted by Don Shepherd on 23 July 2009, 5:08 p.m.,
in response to message #1 by Katie Wasserman

Good catch Katie. They fixed one problem (no RUNNING display if program has CLR SIGMA) but removed the functionality you described.

            
Re: More on the new 12C
Message #5 Posted by hugh steers on 23 July 2009, 5:57 p.m.,
in response to message #4 by Don Shepherd

Sounds like a timing issue. The original code probably did all the delays with a busy loop and these features were probably disabled by patching the original ROM so as to make emulation work.

                  
Re: More on the new 12C
Message #6 Posted by Katie Wasserman on 23 July 2009, 6:04 p.m.,
in response to message #5 by hugh steers

Quote:
The original code probably did all the delays with a busy loop and these features were probably disabled by patching the original ROM so as to make emulation work.

That could very well be the case. But they must have patched the "PSE" instruction because that works just fine. I see no obvious reason why SST/BST couldn't have been patched the same way, but I don't have their source nor even the object code. I don't know if this was an oversight or just too hard to implement. In any case, the documentation should be updated to match the functionality -- or vice-versa.

                        
Re: More on the new 12C
Message #7 Posted by Don Shepherd on 23 July 2009, 7:33 p.m.,
in response to message #6 by Katie Wasserman

Hmmm, for what it's worth, these two errors that Katie found in the new 12c also exist in the new Windows 12c $19.99 emulator. And the problem I identified a month ago regarding the Windows emulator was also, I think, related to the PSE command. That problem has been fixed in the Windows emulator.

                        
Re: More on the new 12C
Message #8 Posted by Tim Wessman on 23 July 2009, 11:06 p.m.,
in response to message #6 by Katie Wasserman

I think the long key press handling had to be individually patched in various locations and it was missed for those. That is why some work and others don't. I really don't know for certain though.

TW

      
Re: More on the new 12C
Message #9 Posted by cyrille de Brébisson on 24 July 2009, 8:28 a.m.,
in response to message #1 by Katie Wasserman

hello,

it's always interesting to see you guys speculations on these issues :-)

anyhow, I did not know about this so I did not do any special allowances to patch it...

the 12C emulator, in order to try to preserve power usually tells the calculator that the keys are released instantaneously. this avoid a dead loop waiting for the key to release in the 12C ROM and the power use associated with that...

Of course, the PREFIX and MEM keys are handle slightly differently to deal with the issue... but since I did not know about SST I did not do anything for that :-)

look for a new software release if I manage to fix it...

regards, cyrille

            
Re: More on the new 12C
Message #10 Posted by Katie Wasserman on 25 July 2009, 12:16 a.m.,
in response to message #9 by cyrille de Brébisson

About 20 hours after I posted my finding about this problem I had in my email a modified version of the firmware from Cyrille. The new firmware not only fixes these issues but has the original self-test functionality restored and is another factor of 2.5 times faster due to code optimization.

I now have a 12C+ that's in every way (that I've been able to check) identical to the original 12C but runs about 150 times faster. I have to keep a fire extinguisher handy when it's on :)

As before, it fixes the Clear-Sigma LCD blanking bug in the original 12C and it adds some extended self-tests using ON+g and ON+g+ENTER.

Totally AWESOME!

Cyrille, thank you again.

-Katie

                  
Re: More on the new 12C
Message #11 Posted by Gerson W. Barbosa on 25 July 2009, 12:56 a.m.,
in response to message #10 by Katie Wasserman

Quote:
The new firmware not only fixes these issues but has the original self-test functionality restored

Perhaps this is the most important update. As I said in another occasion I had trouble finding a 12C+ in Săo Paulo as most vendors did not want to sell it because prospective buyers would not trust the new model - exactly because the self tests did not work like they expected them to.

After more than one hour searching through the stores I eventualy found one (CNA 83816873)

Gerson.

                  
Re: More on the new 12C
Message #12 Posted by Pal G. on 25 July 2009, 1:33 a.m.,
in response to message #10 by Katie Wasserman

Katie,

Were you somehow able to update the firmware of a physical hp12c(+)? JTAG?

Or are you talking about the windows simulator/emulator?

Thanks.

                        
Re: More on the new 12C
Message #13 Posted by Katie Wasserman on 25 July 2009, 2:00 a.m.,
in response to message #12 by Pal G.

The physical 12C+.

There's no JTAG connection but there is a serial port connection in the battery compartment and I have a cable that HP supplied for work on re-purposing. If HP were to make the object code publicly available it would still be a challenge to install it.

The firmware flashing code is free from ATMEL, SAM-BA version 2.6. However, the cable would be difficult to make. The logic-level translation for the serial port is simple enough (and might not even be needed) as are the reset and erase buttons. The real challenge is finding the right 6-pin connector, I've never seen anything like it -- 6 spring-loaded pins in a 2 x 3 configuration with 2mm pitch and a asymmetric tabbed attachment.

                              
Re: More on the new 12C
Message #14 Posted by Quan on 25 July 2009, 8:07 p.m.,
in response to message #13 by Katie Wasserman

It would still be nice if HP were to offer the cable interface as an option for those who wish to do the update themselves.

I have one of these latest arm-based 12c and I know I wouldn't mind giving it a shot. :)

Ah, well!

                  
Re: More on the new 12C
Message #15 Posted by Quan on 25 July 2009, 1:47 p.m.,
in response to message #10 by Katie Wasserman

HI Katie,

Does it mean there is no change in battery life with the increase in speed?

-Quan

                        
Re: More on the new 12C
Message #16 Posted by Eric Smith on 25 July 2009, 2:21 p.m.,
in response to message #15 by Quan

There shouldn't be. The CPU is running at the same speed, but the firmware has been optimized.

                              
Re: More on the new 12C
Message #17 Posted by Katie Wasserman on 25 July 2009, 11:51 p.m.,
in response to message #16 by Eric Smith

Surprisingly current consumption has increased a bit with the latest firmware. I had made earlier measurements and posted to this forum and I've now re-tested using the exact same setup and confirmed on two different 12C+ calculators.

Here's what I found:

Condition                        Old firmware    New firmware
------------------------------   -----------     -------------
power off                              4uA            4uA

power on, static display, no keystrokes 45uA 45uA

continuous keystrokes (number entry) 1mA 2mA

long amortization function 15mA 20mA

tight program loop 15mA 20mA

continuous self-test ([ON]+[+]): 4mA 12mA

extended test modes ([ON]+[g] and [ON]+[g]+[ENTER]) static display 1.8mA 2.5mA

When running, the average clock speed must be higher, a lot higher when running the continuous self test. I say average clock speed because I believe that the firmware frequently changes the clock speed.

Cyrille and Eric, do these current measurements make sense to you?

Thanks, Katie

Edited: 25 July 2009, 11:52 p.m.

                                    
Re: More on the new 12C
Message #18 Posted by cyrille de Brébisson on 27 July 2009, 8:10 a.m.,
in response to message #17 by Katie Wasserman

hello,

these numbers are strange, the power consumption should be lower on the new Firmware.

For example, your numbers when running the (new) auto test show 1.5 to 2mA consumption increase, but in both cases the CPU runs at it's default speed of 2Mhz...

the 2 mains differences in the SW are: - code optimization - the cpu speed is put at only 17Mhz when the key executed is NOT n-FV, RS/SST, DDays or a bond key. Ie, when the key presses is NOT one of the 'long'/'slow' functions, it runs at 1/2 speed to conserve power.

regards, cyrille

                                          
Re: More on the new 12C
Message #19 Posted by Katie Wasserman on 27 July 2009, 10:51 a.m.,
in response to message #18 by cyrille de Brébisson

I was surprised by this too, so I doubled checked all the measurements and the fact that the off state and idle state currents are the same as before confirms that my measurement setup is correct. Is it possible that some other part of the CPU is switched on by mistake in the new firmware, like the serial interface?

                                                
Re: More on the new 12C
Message #20 Posted by tony(nz) on 13 Aug 2009, 2:18 a.m.,
in response to message #19 by Katie Wasserman

Hi Katie, I don't know if this has been mentioned - debugging on the fast 12c via SST in run mode doesn't recognise that pressing and holding SST is supposed to show the line of code and releasing shows the result. The fast 12c merely shows the result. Cheers, Tony

                                                      
Re: More on the new 12C
Message #21 Posted by Katie Wasserman on 13 Aug 2009, 11:14 a.m.,
in response to message #20 by tony(nz)

Tony,

We discussed this bug here earlier but I can't find the thread any more. In addition to not showing the step about to execute, SST/BST doens't auto repeat in program mode.

The result was that Cyrille fixed those problems and in the process a new bug cropped up. That's been fixed now too the thread on this is here.

-Katie

Edited: 13 Aug 2009, 11:18 a.m.

                                                            
Re: More on the new 12C
Message #22 Posted by John Cadick on 13 Aug 2009, 8:27 p.m.,
in response to message #21 by Katie Wasserman

I read the first thread, but I can't find where to buy the new 12C. I do recall that you (Katie) described how to tell the difference but I forgot. Help?

John

                                                                  
Re: More on the new 12C
Message #23 Posted by Don Shepherd on 13 Aug 2009, 9:13 p.m.,
in response to message #22 by John Cadick

John here is a link to Katie's excellent review. See the picture of the battery cover on the new 12c; it is much bigger than the old battery cover (because it encloses two 2032 cells, not one), and it is visible from the shrinkwrap package, so you can tell in the store whether a unit is the old one or the new one.

                                                                        
Re: More on the new 12C
Message #24 Posted by John Cadick on 14 Aug 2009, 2:29 a.m.,
in response to message #23 by Don Shepherd

Thanks, Don. Now why couldn't I find it before? Doh!!

John

                                                                  
Re: More on the new 12C
Message #25 Posted by Tim Wessman on 14 Aug 2009, 12:18 a.m.,
in response to message #22 by John Cadick

I think amazon has them according to reviews I've seen, but that could be risky. I'd check local university bookstores.

TW

                                                                        
Re: More on the new 12C
Message #26 Posted by John Cadick on 14 Aug 2009, 2:30 a.m.,
in response to message #25 by Tim Wessman

Thanks, Tim. In fact I have a meeting at a nearby community college on Monday. I'll check there.

John

            
Re: More on the new 12C
Message #27 Posted by Katie Wasserman on 30 July 2009, 1:44 p.m.,
in response to message #9 by cyrille de Brébisson

Cyrille,

I found a critical bug in the latest 12C+ firmware.

In program mode: If you press a number key after hitting SST or BST it will enter a STO instruction not the number! The STO will be either to register 0 - 9 or .0 - .9 depending on the instruction that is being overwritten.

I'm pretty sure that this bug was introduced when you fixed the original SST/BST problem.

-Katie

                  
Re: More on the new 12C
Message #28 Posted by Don Shepherd on 30 July 2009, 3:52 p.m.,
in response to message #27 by Katie Wasserman

Quote:
I'm pretty sure that this bug was introduced when you fixed the original SST/BST problem.

I verified this. It works correctly on the first ROM release.

                        
Re: More on the new 12C
Message #29 Posted by Katie Wasserman on 31 July 2009, 1:57 p.m.,
in response to message #28 by Don Shepherd

Cyrille sent me a quick firmware fix for this problem.

I'm going to keep playing and trying to make sure that the latest 12C+ is now really 100% functionality identical to the original 12C.

-Katie


[ Return to Index | Top of Index ]

Go back to the main exhibit hall