Post Reply 
Can the HP-12C's program memory be upgraded?
11-21-2023, 04:07 AM
Post: #1
Can the HP-12C's program memory be upgraded?
I would like to know whether it's possible to upgrade the 12C's memory, just like with the 15C?

I actually have two 12C, a regular and a 12CP.

The 12CP has plenty of program memory, but the CPU is so slow that it takes a very long time to scroll the lines in its memory. I have to manually press the SST button to find the line that need to be edited. And when the number of program lines reaches 300 or 400 lines, it's a very tiring thing to do, both for the owner and the calculator's SST key.

The other 12C has a very fast CPU, it can reach the 99th line in no time, and from what people say it's upgradable, so I think it would be great if the 12C's firmware can be upgraded for more memory, even a couple of extra lines would be immensely useful.

For example, a custom firmware with a patch that converts the remaining registers (R0 - R6) to program lines when needed, so a program memory with 128 lines would use 18 registers, leaving registers R0 and R1 for the owner.

HP-12C Gold / HP-12C Platinum
Find all posts by this user
Quote this message in a reply
11-21-2023, 04:29 AM
Post: #2
RE: Can the HP-12C's program memory be upgraded?
GTO work outside of programme mode to get you places quickly.
You need to approximately know the step number.
Find all posts by this user
Quote this message in a reply
11-21-2023, 05:19 AM
Post: #3
RE: Can the HP-12C's program memory be upgraded?
(11-21-2023 04:29 AM)Paul Dale Wrote:  GTO work outside of programme mode to get you places quickly.
You need to approximately know the step number.

Yes but in PRGM mode I didn't figure out how to jump to a specific line without having to press the SST key like crazy Tongue

HP-12C Gold / HP-12C Platinum
Find all posts by this user
Quote this message in a reply
11-21-2023, 05:48 AM
Post: #4
RE: Can the HP-12C's program memory be upgraded?
(11-21-2023 05:19 AM)lvt Wrote:  
(11-21-2023 04:29 AM)Paul Dale Wrote:  GTO work outside of programme mode to get you places quickly.
You need to approximately know the step number.

Yes but in PRGM mode I didn't figure out how to jump to a specific line without having to press the SST key like crazy Tongue

When in PRGM mode press g GTO . then the two-digit line number to display that line number. See page 107 of the HP-12C Owner’s Handbook.
Visit this user's website Find all posts by this user
Quote this message in a reply
11-21-2023, 06:37 AM
Post: #5
RE: Can the HP-12C's program memory be upgraded?
(11-21-2023 04:07 AM)lvt Wrote:  I would like to know whether it's possible to upgrade the 12C's memory, just like with the 15C?

I did the early patching to expand the 15C memory back in 2004, then Hrast Programmer and J-F Garnier developed additonal patches necessary to make the expanded memory work correctly with the complex stack, SOLVE, and INTEGRATE. Our patches are present (uncredited) in both the 15C CE and the expanded-memory versions of the Swiss Micros DM-15, along with other patches HP and SwissMicros made for various reasons. One of the additional patches SwissMicros made was to allow the pool to start at an arbitrary register, rather than having to be a multiple of 16, which I didn't personally think was worth the additional effort and testing. That gives the DM-15 user five additional registers over our patches.

Although the HP-12C models made starting in 2008 and 2015, and the SwissMicros DM-15 and DM-15L are flash upgradeable, upgrading the 12C (or 10C) microcode to provide additional memory is MUCH more difficult than doing that to the 15C and 16C microcode. This is because the HP microcode was specifically desgined for exactly 99 steps (79 for 10C), whiel the 15C and 16C microcode was in most regards fairly memory-size-agnostic. Increasing the 12C memory will take a huge amount of modification to the microcode, rather than just a few minor patches.

The reason the 12C Platinum and 12C Prestige are able to have more steps of program memory is because they have an entirely new code base, not derived from the original 12C microcode. The 12C Platinum and 12C Presige units made up until now (or recently) are not flash upgradeable, but it is expected that such capability will be added in the not-too-distant future.

Adding additional program memory to the 12C is on my to-do list, along with scientific functions and many other enhancements to the 12C microcode. I started early this year with enhancing the 16C microcode, because it was somewhat easier than doing it to the 12C, and gave me some experience with some of the things I want to do on the 12C. I'm not entirely done with the 16C enhancements, but have written up some of my findings in another thread in the forum, and also gave a brief talk about it at HHC 2023.

Unfortunately I don't expect to have enhanced 12C microcode ready to show or distribute any time soon, because I've got a lot of other higher-priority calculator work on my plate, including a new (perhaps final) release of Nonpareil, and development of Nonpareil 2.

Of course, I'm not the only person here who knows how to hack HP calculator microcode, so someone else might beat me to it!
Find all posts by this user
Quote this message in a reply
11-21-2023, 08:18 AM
Post: #6
RE: Can the HP-12C's program memory be upgraded?
(11-21-2023 06:37 AM)brouhaha Wrote:  
(11-21-2023 04:07 AM)lvt Wrote:  I would like to know whether it's possible to upgrade the 12C's memory, just like with the 15C?

I did the early patching to expand the 15C memory back in 2004, then Hrast Programmer and J-F Garnier developed additonal patches necessary to make the expanded memory work correctly with the complex stack, SOLVE, and INTEGRATE. Our patches are present (uncredited) in both the 15C CE and the expanded-memory versions of the Swiss Micros DM-15, along with other patches HP and SwissMicros made for various reasons. One of the additional patches SwissMicros made was to allow the pool to start at an arbitrary register, rather than having to be a multiple of 16, which I didn't personally think was worth the additional effort and testing. That gives the DM-15 user five additional registers over our patches.

Although the HP-12C models made starting in 2008 and 2015, and the SwissMicros DM-15 and DM-15L are flash upgradeable, upgrading the 12C (or 10C) microcode to provide additional memory is MUCH more difficult than doing that to the 15C and 16C microcode. This is because the HP microcode was specifically desgined for exactly 99 steps (79 for 10C), whiel the 15C and 16C microcode was in most regards fairly memory-size-agnostic. Increasing the 12C memory will take a huge amount of modification to the microcode, rather than just a few minor patches.

The reason the 12C Platinum and 12C Prestige are able to have more steps of program memory is because they have an entirely new code base, not derived from the original 12C microcode. The 12C Platinum and 12C Presige units made up until now (or recently) are not flash upgradeable, but it is expected that such capability will be added in the not-too-distant future.

Adding additional program memory to the 12C is on my to-do list, along with scientific functions and many other enhancements to the 12C microcode. I started early this year with enhancing the 16C microcode, because it was somewhat easier than doing it to the 12C, and gave me some experience with some of the things I want to do on the 12C. I'm not entirely done with the 16C enhancements, but have written up some of my findings in another thread in the forum, and also gave a brief talk about it at HHC 2023.

Unfortunately I don't expect to have enhanced 12C microcode ready to show or distribute any time soon, because I've got a lot of other higher-priority calculator work on my plate, including a new (perhaps final) release of Nonpareil, and development of Nonpareil 2.

Of course, I'm not the only person here who knows how to hack HP calculator microcode, so someone else might beat me to it!

Thanks a lot, I'm glad to know that it's technically possible.

HP-12C Gold / HP-12C Platinum
Find all posts by this user
Quote this message in a reply
11-21-2023, 08:26 AM
Post: #7
RE: Can the HP-12C's program memory be upgraded?
(11-21-2023 05:48 AM)Steve Simpkin Wrote:  
(11-21-2023 05:19 AM)lvt Wrote:  Yes but in PRGM mode I didn't figure out how to jump to a specific line without having to press the SST key like crazy Tongue

When in PRGM mode press g GTO . then the two-digit line number to display that line number. See page 107 of the HP-12C Owner’s Handbook.

Page 107 says about conditional branching, but that's not what I want.

HP-12C Gold / HP-12C Platinum
Find all posts by this user
Quote this message in a reply
11-21-2023, 08:34 AM
Post: #8
RE: Can the HP-12C's program memory be upgraded?
(11-21-2023 08:18 AM)lvt Wrote:  Thanks a lot, I'm glad to know that it's technically possible.

It's technically possible for the recent (2015-present) model, which uses the Atmel ATSAM4LC2CA.

It might be marginally possible for the 2008-2015 model that uses the Atmel AT91S7L128, but I don't think anyone is likely to invest any effort into supporting that model.
Find all posts by this user
Quote this message in a reply
11-21-2023, 10:29 AM
Post: #9
RE: Can the HP-12C's program memory be upgraded?
(11-21-2023 08:26 AM)lvt Wrote:  
(11-21-2023 05:48 AM)Steve Simpkin Wrote:  When in PRGM mode press g GTO . then the two-digit line number to display that line number. See page 107 of the HP-12C Owner’s Handbook.

Page 107 says about conditional branching, but that's not what I want.

I was referring to this version of the HP-12C Owner's Handbook and Problem-Solving Guide.
Here is page 107 in that version.

   
Visit this user's website Find all posts by this user
Quote this message in a reply
11-21-2023, 02:30 PM
Post: #10
RE: Can the HP-12C's program memory be upgraded?
(11-21-2023 10:29 AM)Steve Simpkin Wrote:  
(11-21-2023 08:26 AM)lvt Wrote:  Page 107 says about conditional branching, but that's not what I want.

I was referring to this version of the HP-12C Owner's Handbook and Problem-Solving Guide.
Here is page 107 in that version.

I will download it and take a look.

Thanks.

HP-12C Gold / HP-12C Platinum
Find all posts by this user
Quote this message in a reply
11-21-2023, 02:33 PM
Post: #11
RE: Can the HP-12C's program memory be upgraded?
(11-21-2023 08:34 AM)brouhaha Wrote:  
(11-21-2023 08:18 AM)lvt Wrote:  Thanks a lot, I'm glad to know that it's technically possible.

It's technically possible for the recent (2015-present) model, which uses the Atmel ATSAM4LC2CA.

It might be marginally possible for the 2008-2015 model that uses the Atmel AT91S7L128, but I don't think anyone is likely to invest any effort into supporting that model.

How could I know if my 12C has the Atmel ATSAM4LC2CA?

Is there a keys-combination to show the CPU info or I will have to open the calculator to see the CPU's marking?

HP-12C Gold / HP-12C Platinum
Find all posts by this user
Quote this message in a reply
11-21-2023, 02:49 PM
Post: #12
RE: Can the HP-12C's program memory be upgraded?
From switched off, press g+ENTER and then On. You enter in a menu. Press 2 to get to the copyright and firmware area. First you see the checksum of the firmware. Press enter and you get to the firmware date. If the year is 2015 or later, you have the latest processor.
Find all posts by this user
Quote this message in a reply
11-21-2023, 08:50 PM
Post: #13
RE: Can the HP-12C's program memory be upgraded?
(11-21-2023 02:49 PM)Divasson Wrote:  From switched off, press g+ENTER and then On. You enter in a menu. Press 2 to get to the copyright and firmware area. First you see the checksum of the firmware. Press enter and you get to the firmware date. If the year is 2015 or later, you have the latest processor.

Thanks for the info.

Che -- 4141h
2015-01-05
C 2008 hP

Is it good?

HP-12C Gold / HP-12C Platinum
Find all posts by this user
Quote this message in a reply
11-22-2023, 12:51 PM
Post: #14
RE: Can the HP-12C's program memory be upgraded?
Mine is the new processor and has firmware date 2015-1-30 (as most of the new units I have seen)- so I cannot say for sure that yours is the latest model. Also checksum is different at d1d1 h.
Find all posts by this user
Quote this message in a reply
11-23-2023, 04:33 AM
Post: #15
RE: Can the HP-12C's program memory be upgraded?
Only have 2015-01-08,Rev2

(11-21-2023 08:50 PM)lvt Wrote:  
(11-21-2023 02:49 PM)Divasson Wrote:  From switched off, press g+ENTER and then On. You enter in a menu. Press 2 to get to the copyright and firmware area. First you see the checksum of the firmware. Press enter and you get to the firmware date. If the year is 2015 or later, you have the latest processor.

Thanks for the info.

Che -- 4141h
2015-01-05
C 2008 hP

Is it good?
Find all posts by this user
Quote this message in a reply
11-23-2023, 06:01 AM
Post: #16
RE: Can the HP-12C's program memory be upgraded?
(11-23-2023 04:33 AM)linq2008 Wrote:  Only have 2015-01-08,Rev2

If yours is 2015-01-08, it would be nice to also know the checksum.
Find all posts by this user
Quote this message in a reply
11-23-2023, 07:31 AM
Post: #17
RE: Can the HP-12C's program memory be upgraded?
ChE-0F0Fh, 2015-01-08
ChE-d1d1h, 2015-01-30

(11-23-2023 06:01 AM)brouhaha Wrote:  
(11-23-2023 04:33 AM)linq2008 Wrote:  Only have 2015-01-08,Rev2

If yours is 2015-01-08, it would be nice to also know the checksum.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: