Post Reply 
HP-29C: 98 Program Steps, So, why not an even 100?
08-31-2019, 01:20 PM
Post: #21
RE: HP-29C: 98 Program Steps, So, why not an even 100?
(08-31-2019 04:37 AM)teenix Wrote:  
(08-31-2019 02:18 AM)bshoring Wrote:  So that tells me there is a small memory space set aside to accommodate the 21 Nj registers of 2 digits. I believe 2 digits can be stored in one byte, so if there are 21, then it seems to me they set aside 3 full (7 byte) registers to hold the 21 values.

My two cents...

It looks like the 38 has more than 32 RAM registers, but I'm not sure how many registers they actually have. I'll have to adjust the emulator memory size.

For the 38E The Nj numbers are stored from RAM address 32 onward. For the 38C these are stored starting at address 7.

cheers

Tony

Thanks Tony. Some secrets are still held in these Spice machines, who woulda thought?

Are the Nj numbers stored in some packed format, using something like the 1 x 2-digit Nj per byte as Bob suggested?

It's also interesting that the 38E and 38C were implemented fairly differently, driven by changes needed to add the storage for Continuous Memory.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
08-31-2019, 04:52 PM
Post: #22
RE: HP-29C: 98 Program Steps, So, why not an even 100?
(08-27-2019 11:18 PM)striegel Wrote:  
(08-26-2019 07:21 PM)Matt Agajanian Wrote:  ... the SR-56 had a 100 step program memory, why was the 29C program memory 98 steps?
...
The HP programming model was more efficient due to RPN and merging steps. e.g. STO 0 on an HP was one step vs. two steps for the TI model.

I agree on all points. It’s impressive that HP was able to develop and implement fully merged keystrokes after the Classics lineage.
Find all posts by this user
Quote this message in a reply
08-31-2019, 09:41 PM (This post was last modified: 08-31-2019 09:42 PM by teenix.)
Post: #23
RE: HP-29C: 98 Program Steps, So, why not an even 100?
(08-31-2019 01:20 PM)rprosperi Wrote:  Are the Nj numbers stored in some packed format, using something like the 1 x 2-digit Nj per byte as Bob suggested?

Hi Bob,

Attached a memory image from HP38.

I entered the problem on page 55 of user manual and also added 3 more "dummy" entries with Nj as 9, 8 and 4.

They seem to start at register 32 nibble 11 and 10, progressing downwards to 1 and 0, then jump to 13 and 12. Then more data appears in same order in next register (33). 2 nibbles per Nj.

cheers

Tony


Attached File(s) Thumbnail(s)
   
Find all posts by this user
Quote this message in a reply
09-01-2019, 03:12 AM
Post: #24
RE: HP-29C: 98 Program Steps, So, why not an even 100?
(08-31-2019 09:41 PM)teenix Wrote:  
(08-31-2019 01:20 PM)rprosperi Wrote:  Are the Nj numbers stored in some packed format, using something like the 1 x 2-digit Nj per byte as Bob suggested?

Hi Bob,

Attached a memory image from HP38.

I entered the problem on page 55 of user manual and also added 3 more "dummy" entries with Nj as 9, 8 and 4.

They seem to start at register 32 nibble 11 and 10, progressing downwards to 1 and 0, then jump to 13 and 12. Then more data appears in same order in next register (33). 2 nibbles per Nj.

cheers

Tony

Thanks Tony. Quite odd and from a programming sense I imagine pretty inconvenient, to have these Nj bytes stored in such a non-sequential way, jumping here and there in a non-obvious pattern. Why not just from 0/1 to 2/3, to 4/5, etc. and then on to the next register, so just incrementing upwards?

No doubt there is a good answer (there always is) but it just seems strange.

Thanks again.

--Bob Prosperi
Find all posts by this user
Quote this message in a reply
09-01-2019, 03:32 AM
Post: #25
RE: HP-29C: 98 Program Steps, So, why not an even 100?
(08-31-2019 09:41 PM)teenix Wrote:  
(08-31-2019 01:20 PM)rprosperi Wrote:  Are the Nj numbers stored in some packed format, using something like the 1 x 2-digit Nj per byte as Bob suggested?

Hi Bob,

Attached a memory image from HP38.

I entered the problem on page 55 of user manual and also added 3 more "dummy" entries with Nj as 9, 8 and 4.

They seem to start at register 32 nibble 11 and 10, progressing downwards to 1 and 0, then jump to 13 and 12. Then more data appears in same order in next register (33). 2 nibbles per Nj.

cheers

Tony

Thanks, Tony, for this. Interesting. In R32, I can clearly see the 05, 04, 04, 03, 07 from the problem on page 55. Then in R33, I can see the 08 & 04. Great to be able to see this.

The HP-38C is my favorite, although my first was the HP-41CV and second was HP-11C (which I no longer have sadly). I do like the vertical format of the 38, and some others I have, like the 80, 22 & 37.


Regards,
Bob
Find all posts by this user
Quote this message in a reply
09-01-2019, 07:26 PM
Post: #26
RE: HP-29C: 98 Program Steps, So, why not an even 100?
Tony, How did you get that image? Was it somehow captured from an actual HP-38?


Regards,
Bob
Find all posts by this user
Quote this message in a reply
09-01-2019, 11:21 PM
Post: #27
RE: HP-29C: 98 Program Steps, So, why not an even 100?
(09-01-2019 03:12 AM)rprosperi Wrote:  Thanks Tony. Quite odd and from a programming sense I imagine pretty inconvenient, to have these Nj bytes stored in such a non-sequential way, jumping here and there in a non-obvious pattern. Why not just from 0/1 to 2/3, to 4/5, etc. and then on to the next register, so just incrementing upwards?

No doubt there is a good answer (there always is) but it just seems strange.

Thanks again.

It is probably something to do with how the programmers used the P register which is used for indexing the nibbles inside registers. I haven't checked through the code as the financial algorithms are usually complex, lengthy and hard to trace through.

cheers

Tony
Find all posts by this user
Quote this message in a reply
09-01-2019, 11:49 PM
Post: #28
RE: HP-29C: 98 Program Steps, So, why not an even 100?
(09-01-2019 07:26 PM)bshoring Wrote:  Tony, How did you get that image? Was it somehow captured from an actual HP-38?

Now that would be interesting Smile

No, just part of a screen shot from my emulator. I just uploaded a new version to give access to RAM registers 32 to 47. I'm not sure if they go past 34, but won't hurt.

It would seen odd though that just an extra 3 RAM registers were added for the Nj values. I would expect multiples of 16, but these are probably inside the main CPU chip, so adding an odd number is feasible with the higher register addresses unable to store and returning all zero's (or one's) if read.

cheers

Tony
Find all posts by this user
Quote this message in a reply
09-02-2019, 02:39 AM
Post: #29
RE: HP-29C: 98 Program Steps, So, why not an even 100?
Thanks, Tony. All very interesting.


Regards,
Bob
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 7 Guest(s)