|Re: Usefulness of Woodstock Cs without their C|
Message #5 Posted by Andrés C. Rodríguez (Argentina) on 9 Dec 2013, 9:33 a.m.,
in response to message #1 by Matt Agajanian
As I don't have (or have had in the past) a 25C or 29C, please see these are just comments from very old memories; these may or not help you, and I apologize in advance for any inaccuracy.
The HP 21 had no specific memory chip, and used the internal CPU (ACT chip) registers for its operations. The HP 25 included a 16 register memory chip. Eight of these registers were used for data storage, and named R0-R7. As the registers were 56 bit in size, seven bytes can be stored on each register. Hence, assigning seven registers for program steps, and using one byte for each step, 49 program steps were available.
The remaining register was used for LASTX.
When the 25C was introduced, the memory chip was replaced with a 16 register CMOS chip; so R0-R7, all program steps, and LASTX were preserved when the calculator was turned off. Apart from continuous memory, architecture and operations were the same as in the "non-C" HP-25.
For the 29C, CMOS memory was doubled. But other advances were introduced at the same time; for instance, labels and subroutines. In general, firmware was improved in many aspects, and special care was taken to "swap" X and LASTX contents; so the calculator will preserve X (instead of LASTX) when powered down. Now, 98 program steps were allowed, and a "not-previously-assigned" CMOS register was used to keep the display and angular modes. In this manner, all program steps, the display and angular modes, the X register and some storage registers were preserved when the calculator was off. Subroutines also needed at least some storage to keep the return address pointers.
It's unclear for me how it was that some of the storage registers and the Y, Z, T, and LASTX registers were not preserved; it may had to do with software compatibility restrictions between 29C and 19C, but this is just an unsupported guess.
Looking at each model MoHPC description and programming pages, and also looking for better documented postings (for instance, I would search for posts from Eric Smith and Tony Duell, among others) may bring additional information, and better accuracy, indeed.