Post Reply 
TI-66 double speed mod
07-08-2022, 10:58 PM (This post was last modified: 07-09-2022 01:14 AM by pauln.)
Post: #21
RE: TI-66 double speed mod
(07-08-2022 07:48 AM)Didier Lachieze Wrote:  
(07-08-2022 02:17 AM)pauln Wrote:  One problem with the linked list approach is that it needs 7 extra bits for each one of the 100 registers of the HP-65 (to point to the next step).

The program memory in the HP-65 is not a RAM (random access memory) where each element has his own address, it's just a long register containing all steps sequentially, so there is no address pointer and no individual register. You can view it as a window to a circulating ring of instructions. You view the current one, then the next one and so on but they don't have an address you can use to jump to it. Markers in this flow of instructions are inserted to identify beginning/end of memory, next step to execute/fill and return location from subroutine. All is controlled by hardware and the flow is only going forward to the next instruction.

More details from the May 1974 issue of the Hewlett-Packard Journal:

The memory itself contains no absolute addresses. Instead, it is a circulating shift register organized into six-bit words. One word is a marker that denotes the boundary between the beginning and the end of the memory. Another word is a pointer which denotes the last step executed in run mode, and the last step filled in program mode. As a program runs, this pointer is moved down through memory. Branching is accomplished by moving the pointer to the location of the destination label. User-defined function calls are implemented by leaving the main pointer at the call and activating a second pointer at the function location (see Fig. 3). When the return to the calling location occurs, the second pointer is deactivated and the first pointer reactivated.

Thanks for the additional info. I think I understand much better how it works. Very interesting and unusual.

Still, one particularity of the HP-65 is that it auto-inserts instructions meaning that if the program contains "1 Enter 2 + R/S" and the user is seeing the "2" and types "3" the program becomes "1 Enter 2 3 + R/S". (As opposed to overriding and producing "1 Enter 3 + R/S").

Even with its carousel architecture, it seems to me that the HP-65 needs to shift around 100 6-bit words (in the worst case) within the register. And it does that "instantly" (at least according to the emulator https://www.sydneysmith.com/products/gss...index.html).

In contrast, the TI-57 takes around 2 seconds to shift 50 steps (when using the "Ins" key). Not sure how the HP-65 does that so fast (or the TI-57 so slowly). Maybe it is a feature of this carousel architecture.

IMO, the sentence "Thus program steps can be inserted into the program or deleted from it at any point, without re-keying the other steps." is referring to the fact that it can do so because programs use labels instead of going to a specific step. But still, physically, bits need to be moved around.

Edited: on second thought, I see now that it is much easier to move 600 contiguous bits as in the case of the HP-65 than a similar amount of bits in the TI-57, where program steps are distributed between several smaller registers and are not necessarily contiguous (https://www.rskey.org/CMS/index.php/the-library/100).
Find all posts by this user
Quote this message in a reply
07-09-2022, 12:01 PM (This post was last modified: 07-09-2022 02:34 PM by Csaba Tizedes.)
Post: #22
RE: TI-66 double speed mod
(07-07-2022 11:20 AM)Nigel (UK) Wrote:  a parallel combination with a value of 31.4 k doubled the speed again; a further decrease to 30.3 k and the machine would no longer turn on.

Could you share with us the result of your counter program?

UPDATE: Currently the following is available, it is required to fine tuning those two measurement from Nigel.

Code:

+-----------+-----------+-----------+-----------+-------------+
| Rparallel | Re        | Speed     | Workable? | Note        |
+-----------+-----------+-----------+-----------+-------------+
| None      | 180k      | 1.00x     | YES       | Original    |
| 22k       |  19.6k    | -----     | NO        | Nigel (UK)  |
| 30.3k     |  25.9k    | -----     | NO        | Nigel (UK)  |
| 68k       |  49.4k    | 1.93x     | YES       | Nigel (UK)  |
| 47k       |  37.3k    | ?????     | YES       | Nigel (UK)  |
| 31.4k     |  26.7k    | ?????     | YES       | Nigel (UK)  |
+-----------+-----------+-----------+-----------+-------------+
| -----     |  47k      | 2.09x     | YES       | G.W.Barbosa |
+-----------+-----------+-----------+-----------+-------------+


     :
     : Lower limit of Re ~25k
     :
   ^ :
   | :
   | :
4  + #  (27k ~4×)
   | :
   | :
   | :
   | :
3  + :
   | :
   | :
   | :
   | :
2  + : #  (48k ~2×)
   | :
   | :
   | :
   | :             (180k 1×)   
1  +-:-------+-------#-+----> 
   0 :      100       200   Re(kOhm)
     :
     :
     : Lower limit of Re ~25k
     :



Thanks,
Csaba
Find all posts by this user
Quote this message in a reply
07-09-2022, 03:41 PM (This post was last modified: 07-09-2022 03:50 PM by xerxes.)
Post: #23
RE: TI-66 double speed mod
My factor 2.7 accelerated TI-66 was used extensively for many years and never showed any failures, even at low battery.
But unfortunately I don't remember the resistor value and it's not in my possession anymore to check.
Certainly the series dispersion also plays a role.

Calculator Benchmark
Find all posts by this user
Quote this message in a reply
07-11-2022, 04:15 PM
Post: #24
RE: TI-66 double speed mod
For those who are interested, the attached graph shows how the calculator speed varies with resistance.

I'm measuring the speed by counting the number of loops of "+ 1 RST" executed in 20 seconds. I'm doing this by hand, which might explain some of the scatter.

I've kept the 68k resistor that I've already installed in place, and added a 150k trimmer in parallel on a breadboard. The resistance in the graph is the parallel resistance of the trimmer, the 68k resistor, and the built-in 180k resistor. The rightmost graph point is the calculator speed with only the 68k resistor added.

(The number of loops in 20s on the original calculator, with R = 180k, is 94; I've omitted this from the graph to show what happens at smaller resistor values more clearly.)

[Image: speed_graph.png?raw=1]

Rather surprisingly (to me) the graph has a step-like appearance. Decreasing R has only a very slight effect on speed, until a sudden jump upwards takes place. I imagine that if I had removed the 68k resistor and looked at the speed for larger values of resistance I'd find another step.

The three orange crosses near the jump represent erratic functioning. Extra 1's were appended to the number in the display - 1111294 instead of 194, 1300 and 1305 instead of 300 and 305. This didn't always happen, but it does suggest that the calculator is unstable close to the jump.

Below the lowest resistance shown the calculator still turned on, but gave nonsense answers.

It would seem to be sensible to choose a resistor value that lies well away from the jump, or from the final failure point. There's no guarantee that the step up will be at the same point on all calculators, or that it will stay fixed as conditions change. In my initial experimentation I found that a 22k resistor in parallel with the 180k resistor wouldn't work; this time it did, and the failure occurs for resistances less than about 18k. This is quite a drift! (The weather is hot today.)

Nigel (UK)
Find all posts by this user
Quote this message in a reply
07-12-2022, 09:25 PM
Post: #25
RE: TI-66 double speed mod
(07-08-2022 10:58 PM)pauln Wrote:  [quote='Didier Lachieze' pid='162024' dateline='1657266504']


In contrast, the TI-57 takes around 2 seconds to shift 50 steps (when using the "Ins" key). Not sure how the HP-65 does that so fast (or the TI-57 so slowly). Maybe it is a feature of this carousel architecture.

I wouldn't put too much value in using any of the TI Majestic line for performance comparisons. They are basically junk machines with low accuracy algorithms and horriffically slow speeds. Put one side by side with the earlier 2nd gen machines (SR-50A, SR-51A, SR-56, etc.) and run the forensics. Not only are the older machines much more accurate they are much faster and responsive. Like driving a sports car compared to a lorry.
Find all posts by this user
Quote this message in a reply
07-12-2022, 09:29 PM
Post: #26
RE: TI-66 double speed mod
(07-11-2022 04:15 PM)Nigel (UK) Wrote:  For those who are interested, the attached graph shows how the calculator speed varies with resistance.


It would seem to be sensible to choose a resistor value that lies well away from the jump, or from the final failure point. There's no guarantee that the step up will be at the same point on all calculators, or that it will stay fixed as conditions change. In my initial experimentation I found that a 22k resistor in parallel with the 180k resistor wouldn't work; this time it did, and the failure occurs for resistances less than about 18k. This is quite a drift! (The weather is hot today.)

Nigel (UK)

Great work on the chart Nigel !
So... maybe a 20K in parallel ?
-J
Find all posts by this user
Quote this message in a reply
07-13-2022, 12:45 AM
Post: #27
RE: TI-66 double speed mod
(07-12-2022 09:25 PM)John Garza (3665) Wrote:  
(07-08-2022 10:58 PM)pauln Wrote:  [quote='Didier Lachieze' pid='162024' dateline='1657266504']


In contrast, the TI-57 takes around 2 seconds to shift 50 steps (when using the "Ins" key). Not sure how the HP-65 does that so fast (or the TI-57 so slowly). Maybe it is a feature of this carousel architecture.

I wouldn't put too much value in using any of the TI Majestic line for performance comparisons. They are basically junk machines with low accuracy algorithms and horriffically slow speeds. Put one side by side with the earlier 2nd gen machines (SR-50A, SR-51A, SR-56, etc.) and run the forensics. Not only are the older machines much more accurate they are much faster and responsive. Like driving a sports car compared to a lorry.

Good point. Probably the precision was plenty to, say, solve a Physics problem, the forensic test being somewhat of a pathological case. But the slow speed and the unresponsiveness, in some situations, was infuriating Smile

This was my second calculator by the way, the first one being a TI-59. I just thought it would be fun to see what could be done within those 50 steps. Also it was really inexpensive, around $30, by that time.
Find all posts by this user
Quote this message in a reply
07-13-2022, 12:38 PM
Post: #28
RE: TI-66 double speed mod
Good point. No problem in having a backup machine. And at $30 it's great bang for the buck!
Find all posts by this user
Quote this message in a reply
07-13-2022, 10:54 PM (This post was last modified: 07-13-2022 11:00 PM by ijabbott.)
Post: #29
RE: TI-66 double speed mod
(07-12-2022 09:29 PM)John Garza (3665) Wrote:  
(07-11-2022 04:15 PM)Nigel (UK) Wrote:  For those who are interested, the attached graph shows how the calculator speed varies with resistance.


It would seem to be sensible to choose a resistor value that lies well away from the jump, or from the final failure point. There's no guarantee that the step up will be at the same point on all calculators, or that it will stay fixed as conditions change. In my initial experimentation I found that a 22k resistor in parallel with the 180k resistor wouldn't work; this time it did, and the failure occurs for resistances less than about 18k. This is quite a drift! (The weather is hot today.)

Nigel (UK)

Great work on the chart Nigel !
So... maybe a 20K in parallel ?
-J

Sticking with E24 series resistor values:

20K in parallel with 180K would give 18K total.
22K in parallel with 180K would give 19.6K total.
24K in parallel with 180K would give 21.2K total.

Maybe go with the middle one (22K) first? (22K has the slight advantage of being an E12 series value.)

— Ian Abbott
Find all posts by this user
Quote this message in a reply
07-14-2022, 07:08 AM
Post: #30
RE: TI-66 double speed mod
That's a very interesting and quite unexpected result.

Any electronics circuit people here who could hazard a guess as to what's going on? How could this have a step function like that?
Find all posts by this user
Quote this message in a reply
07-14-2022, 02:38 PM
Post: #31
RE: TI-66 double speed mod
(07-13-2022 10:54 PM)ijabbott Wrote:  
(07-12-2022 09:29 PM)John Garza (3665) Wrote:  Great work on the chart Nigel !
So... maybe a 20K in parallel ?
-J

Sticking with E24 series resistor values:

20K in parallel with 180K would give 18K total.
22K in parallel with 180K would give 19.6K total.
24K in parallel with 180K would give 21.2K total.

Maybe go with the middle one (22K) first? (22K has the slight advantage of being an E12 series value.)

This is correct. The resistance axis includes the 180k already on the circuit board, so some sums are needed! I agree that, based on this graph, 22k seems to be a good choice; 24k would also be worth a try, and perhaps safer. As I've said before there's no guarantee that this graph applies to all machines, but if you try and it doesn't work then no harm is done. I'm going to stick with my 68k resistor in parallel - slow, but safe!

Nigel (UK)
Find all posts by this user
Quote this message in a reply
07-14-2022, 02:47 PM
Post: #32
RE: TI-66 double speed mod
(07-14-2022 07:08 AM)EdS2 Wrote:  That's a very interesting and quite unexpected result.

Any electronics circuit people here who could hazard a guess as to what's going on? How could this have a step function like that?

It surprised me too - as I reduced the parallel resistance and saw no change I was certain that there must be a loose connection! The three observed speeds (slowest with no added resistor, then the two levels shown in the graph) are roughly in the ratio 1:2:3, which suggests harmonics, although there doesn't appear to be a crystal or a ceramic resonator on the circuit board. In any case, I wouldn't expect changing a resistor to excite different harmonics. Ideas?

Nigel (UK)
Find all posts by this user
Quote this message in a reply
07-14-2022, 10:19 PM
Post: #33
RE: TI-66 double speed mod
It seems the clock speed depends on the voltage level of the batteries as well.
I tried 524287 on the primality test program here. The author says it takes less than eight minutes on his TI-66, so I was expecting less than four minutes on mine (2.09x). I was disappointed it took 4m9.5s. However, after installing fresh batteries it dropped down to 3m51.6s. I haven’t checked the voltage level of the new Maxell LR44 batteries, but the old ones read 2.88V (1.42V + 1.46V).
Find all posts by this user
Quote this message in a reply
Post Reply 




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