Post Reply 
HP-15C Speed-up
01-18-2016, 09:50 AM (This post was last modified: 07-20-2017 10:07 AM by Alex Liggett.)
Post: #1
HP-15C Speed-up
There are a number of threads from the old forum regarding modifications to speed up old Voyagersaurus calculators, such as Gerson's here, Karl Schneider's here and Lyuka's here (with a link to his site here). Unfortunately however most of these had no pictures or the links to them were dead (although Gerson was kind enough to email me his pictures, which were very helpful). In case it is still of interest in the age of the C-LE and the DM-15L I thought I'd document my recent 15C fiddling.

For the uninitiated, the idea is to modify the LC circuit to increase its resonant frequency and hence increase the clock speed. This comes at the cost of reduced battery life and operating temperature range, although this is all relative given the very generous parameters of the original.

The subject calculator is SN 2423A46491, which I picked up while on holiday in the US last year. This unit has the single PCB, but with all of the components of the LC circuit mounted on the top side of the board:

[Image: 35652483180_60986a442a_b.jpg]

As an aside this contrasts with most of the pictures I have seen of other (later) units which have them on the bottom or back of the board, like the ones shown in Lyuka's article:

[Image: hp15c-internal.jpg]

A further variation appears to turn up still later in which the components disappear to the other side of the board again, but with a very different track layout, as in this image of Geoff Quickfall's from elsewhere on the forum showing a 1989 unit:

[Image: pcarivetsinplace1985.jpg]

I wonder what the rationale behind such substantial hardware changes was - obviously one coincided with the elimination of the second chip, but the other..?

One method of altering the LC circuit is to replace the capacitor as per Gerson's project. For still greater rewards, one could undertake the more drastic modifications shown in Lyuka's thread. Because of the layout, any component changes would have involved undoing the heat stakes to get to the front of the PCB. Therefore I decided to go with the simplest option, which is to add an inductor in parallel with the circuit, as per Karl's thread.
I added a 33μH inductor on to the reverse of the existing inductor like so:

[Image: 36000280256_33a56bc741_b.jpg]

My first attempt at soldering onto a PCB (after a few practice runs on a less precious subject), so pardon the slightly untidy work:

[Image: 36000279996_4cf3617570_z.jpg]

The subject unit also had a dodgy 2 key, which was sorted using the method discussed in this thread (IPA down the hole in the PCB, then clear out using a piece of soft wire.

The modified calculator yields a Savage Benchmark result of approximately 2233 seconds, compared to the ~5840 seconds of the unmodified machine - 2.6 times faster. I am very pleased with this machine, which will now be my main office number cruncher.

Thanks to all of the contributors whose threads are linked above, especially Gerson for taking the trouble to email through his photos.
Find all posts by this user
Quote this message in a reply
01-18-2016, 11:17 AM
Post: #2
RE: HP-15C Speed-up
(01-18-2016 09:50 AM)Alex Liggett Wrote:  (...) the idea is to modify the LC circuit to reduce its resonant frequency and hence increase the clock speed.

Great!
Thanks for sharing it here.

Just one small remark if I may:
The LC resonant frequency must increase to have a higher clock speed. I believe what you meant is that the resonant period must be reduced and hence the clock speed is increased.

This is achieved by reducing the value of either the capacitor or the inductor values (or both).

So you have added a inductor in parallel with the existing one, hence decreasing the final inductance value.
That's a good idea as in this way the modification job is fast and easy to implement.

Jose Mesquita
RadioMuseum.org member

Find all posts by this user
Quote this message in a reply
01-18-2016, 05:52 PM
Post: #3
RE: HP-15C Speed-up
(01-18-2016 11:17 AM)jebem Wrote:  Just one small remark if I may:
The LC resonant frequency must increase to have a higher clock speed. I believe what you meant is that the resonant period must be reduced and hence the clock speed is increased.

Mea culpa, you are of course quite correct. That's what comes of writing late at night without due checking. Duly edited. Thanks Jose!
Find all posts by this user
Quote this message in a reply
01-18-2016, 08:40 PM (This post was last modified: 01-18-2016 08:49 PM by boniholmes.)
Post: #4
RE: HP-15C Speed-up
Is there any way to speed up an HP-11? Edit: Is the Savage Benchmark available for it somewhere?

HP-11, HP-41C, HP-41CV, HP-41CX, MATH/STAT, Surveying, X MEM, 82143A printer, 82104A card reader
Find all posts by this user
Quote this message in a reply
01-19-2016, 09:54 AM
Post: #5
RE: HP-15C Speed-up
Adding an inductor or replacing the capacitor will work. Depending on which internal configuration you have one of these may be easier than the other. I assume that Lyuka's triple speed mods should work too.
Haven't tried to benchmark the 11C. Surely someone must have though...
Find all posts by this user
Quote this message in a reply
01-20-2016, 05:01 PM
Post: #6
RE: HP-15C Speed-up
To answer (partially) my own question, I have found Savage Benchmark program here:
HP 15 Savage Benchmark
I simply entered the code, now I am running it. For the HP-15C it is around 97 minutes, I am curious of my (t)rusty old '11.

HP-11, HP-41C, HP-41CV, HP-41CX, MATH/STAT, Surveying, X MEM, 82143A printer, 82104A card reader
Find all posts by this user
Quote this message in a reply
01-20-2016, 05:12 PM
Post: #7
RE: HP-15C Speed-up
This is what I am running now by putting 2500 to the X register, then starting it with "f" "B":

001 LBL B
002 STO 0
003 RAD
004 FIX 9
005 0
006 LBL 0
007 1
008 +
009 SQRT
010 X^2
011 LN
012 e^X
013 ARCTAN
014 TAN
015 DSE 0
016 GTO 0
017 DEG
018 RTN

HP-11, HP-41C, HP-41CV, HP-41CX, MATH/STAT, Surveying, X MEM, 82143A printer, 82104A card reader
Find all posts by this user
Quote this message in a reply
01-20-2016, 09:26 PM (This post was last modified: 01-31-2016 01:06 AM by matthiaspaul.)
Post: #8
RE: HP-15C Speed-up
(01-18-2016 11:17 AM)jebem Wrote:  So you have added a inductor in parallel with the existing one, hence decreasing the final inductance value.
That's a good idea as in this way the modification job is fast and easy to implement.
This reminds me of my old Sharp PC1403. ;-)

One of the modifications I did for this calculator was a "turbo-mode". By default, the processor was clocked by a 768 kHz ceramic resonator and there were patches circulating replacing the resonator by one with a higher frequency or by an external oscillator, so I knew chances were high that the processor would continue to run stable at twice the speed or more. However, I didn't want to add a separate active oscillator for size reasons [*] and to not increase the power consumption more than necessary (about linear with clock). Also, I didn't want to permanently replace the resonator in order to be able to switch back to the old speed in case there would be baud rate problems with serial communications. Finally, switching between two resonators was no option for me as well as it would have required a double-throw switch, when all I could still fit into the case was a recessed miniature single-throw switch (operated by a paper clip sidewards through the opening for the default interface connector, as I didn't want to cut a visible hole into the case just for the switch).
By looking at the resonator's equivalent circuit diagram I figured it should be possible to make it resonate at a much higher speed by adding an inductor in parallel (and in series with the miniature switch - something that wouldn't work for much higher speeds, but still worked fine at those low frequencies). After experimenting with a few inductors from my spare parts collection, even the baud rates matched nicely at a factor of 2, but I found it more reliable to switch back to the default speed when doing longer serial communications.
(I don't think I had to add a capacitor as well, but I'm not completely sure about that any more after all these decades - unfortunately, I can't find my old notes right now.)

Greetings,

Matthias

PS. [*] I had managed to fit several other extensions into the case like a bank-switched 72 KB memory expansion (with corresponding software extensions hooked into the Sharp's OS I had reverse-engineered and for which I had written various development tools like a debugger, disassembler and assembler) as well as a second serial interface (with complete hardware handshake), so there really was little space left.


--
"Programs are poems for computers."
Find all posts by this user
Quote this message in a reply
01-21-2016, 08:09 AM
Post: #9
RE: HP-15C Speed-up
I really enjoyed your story about your engineering, regardless of its direction, reverse, or straightforward. :-)

HP-11, HP-41C, HP-41CV, HP-41CX, MATH/STAT, Surveying, X MEM, 82143A printer, 82104A card reader
Find all posts by this user
Quote this message in a reply
01-21-2016, 08:19 AM
Post: #10
RE: HP-15C Speed-up
(01-20-2016 09:26 PM)matthiaspaul Wrote:  PS. [*] I had managed to fit several other extensions into the case like a bank-switched 72 KB memory expansion (with corresponding software extensions hooked into the Sharp's OS I had reverse-engineered and for which I had written various development tools like a debugger, disassembler and assembler) as well as a second serial interface (with complete hardware handshake), so there really was little space left.
Interesting ! Is this documented somewhere?
Find all posts by this user
Quote this message in a reply
01-21-2016, 07:26 PM
Post: #11
RE: HP-15C Speed-up
I wanted to ask the exact same - i have a 1403 and woul dbe interested do do this, too. Do you have any documentation on that device?
Find all posts by this user
Quote this message in a reply
01-22-2016, 11:29 PM
Post: #12
RE: HP-15C Speed-up
(01-21-2016 08:19 AM)Didier Lachieze Wrote:  Interesting! Is this documented somewhere?
Unfortunately not in public. Back then, I was negotiating a series of articles for c't but then they decided to focus on PCs and to stop publishing on home computers and calculators in general before any of this went to press. Bad timing, I guess... Some of the stuff was also used in other projects, including in a measurement device controlled by the calculator and in a data logger to record wind speeds and directions over longer periods of time in remote locations (to help find the best places in the landscape where to install permanent wind energy generators).

I should still have most of my old notes and programs, but they are stored away and not easily accesssible right now. I wished I had the time to prepare some of this for upload somewhere, but realistically, it won't be this year...

Greetings,

Matthias


--
"Programs are poems for computers."
Find all posts by this user
Quote this message in a reply
01-23-2016, 04:47 PM
Post: #13
RE: HP-15C Speed-up
Thats sad - if you ever manage to do so, feel free to contact us Wink
Find all posts by this user
Quote this message in a reply
01-25-2016, 01:54 PM
Post: #14
RE: HP-15C Speed-up
I did just speed up my HP-16C with an additional 22uH Inductor. I got about factor 2.9 which is absolutely amazing to work with now.

However i noticed one thing: The "running" indicator seems to flash with the same frequency as before (or, at least not three times at fast). Does anyone know where that frequency is derived from? looks loke it os not the system frequency...
Find all posts by this user
Quote this message in a reply
01-28-2016, 05:10 AM
Post: #15
RE: HP-15C Speed-up
(01-20-2016 05:01 PM)boniholmes Wrote:  To answer (partially) my own question, I have found Savage Benchmark program here:
HP 15 Savage Benchmark
I simply entered the code, now I am running it. For the HP-15C it is around 97 minutes, I am curious of my (t)rusty old '11.

I was curious too so I ran this today. The code I used was:
Code:

001 LBL B
002 STO I
003 RAD
004 FIX 9
005 0
006 LBL 0
007 1
008 +
009 SQRT
010 X^2
011 LN
012 e^X
013 ARCTAN
014 TAN
015 DSE
016 GTO 0
017 DEG
018 RTN

The only difference to the HP-15C code is storing the decrement counter in the index register instead of register 0. The result was 2,499.969898 in approximately 5,235 seconds, quite a bit quicker than the previously posted value for the -15C.

(01-25-2016 01:54 PM)damaltor Wrote:  However i noticed one thing: The "running" indicator seems to flash with the same frequency as before (or, at least not three times at fast). Does anyone know where that frequency is derived from? looks loke it os not the system frequency...
Interesting... I would say the same - faster, but not 2.6 times faster. How long does a value display on PSE?
Find all posts by this user
Quote this message in a reply
01-28-2016, 06:33 AM
Post: #16
RE: HP-15C Speed-up
Far shorter than before (might be 3 times shorter on mine). The same is valid vor temporary displays: f-PREFIX or f-MEM or f-STATUS (on the 16C) also are shown extremely short. I guess that those displays are shown with an equivalent to PSE, and PSE is speed up like the rest of the device. Just the running indicator seems to be slow as ever (though the program execution in the background is much faster).
Find all posts by this user
Quote this message in a reply
01-31-2016, 02:07 AM
Post: #17
RE: HP-15C Speed-up
(01-20-2016 09:26 PM)matthiaspaul Wrote:  By looking at the resonator's equivalent circuit diagram I figured it should be possible to make it resonate at a much higher speed by adding an inductor in parallel (and in series with the miniature switch - something that wouldn't work for much higher speeds, but still worked fine at those low frequencies). After experimenting with a few inductors from my spare parts collection, even the baud rates matched nicely at a factor of 2, but I found it more reliable to switch back to the default speed when doing longer serial communications.
(I don't think I had to add a capacitor as well, but I'm not completely sure about that any more after all these decades - unfortunately, I can't find my old notes right now.)
I meanwhile found several ring binders with many of my original notes on the Sharp PC1403 internals, including listings and circuit diagrams (and a local newspaper cut out of a long forgotten article reporting about that wind energy data logging project ;-). Unfortunately, the c't article drafts are not in there, but they might be stored elsewhere. Anyway, it's a lot of stuff and it would need way more time to prepare this for upload than I have right now, so this will have to wait for somewhen in the future - sorry.

According to my old notes, the inductor for the "turbo mode" would ideally have had a value of 60..65uH, a not very common value. Instead, I used a 56uH inductor and added a small ceramic trimmer cap 5..30pF in parallel to tune the frequency. While the calculator worked reliable at 1.536 MHz, it started to behave erratic when further increasing the frequency above ca. 1.6 MHz. The power consumption was about 2.5 to 3 times higher in turbo mode, while in theory it should not have been much higher than factor 2. Most probably this is at least in part down to the unconventional resonator tweaking method...

Hope it helps,

Matthias


--
"Programs are poems for computers."
Find all posts by this user
Quote this message in a reply
01-31-2016, 06:39 PM
Post: #18
RE: HP-15C Speed-up
Sounds good Smile we can wait...
Find all posts by this user
Quote this message in a reply
Post Reply 




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