HP Forums
HP97 The journey begins - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: General Forum (/forum-4.html)
+--- Thread: HP97 The journey begins (/thread-12156.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41


RE: HP97 The journey begins - teenix - 10-21-2023 06:32 AM

I thought while I was in the mood to solder board to board pins, I would assemble the Woodstock boards as well. They seem to fit together ok :-)

cheers

Tony


RE: HP97 The journey begins - Didier Lachieze - 10-21-2023 06:40 AM

Nice ! Do you use any specific fixture to maintain the board to board pins when soldering them?


RE: HP97 The journey begins - teenix - 10-21-2023 08:11 AM

(10-21-2023 06:40 AM)Didier Lachieze Wrote:  Nice ! Do you use any specific fixture to maintain the board to board pins when soldering them?

It is lucky that the pin spacing in these models is 0.1". I have some narrow inter-connector PCB's with the same hole spacing so I drilled the holes out to 1.3mm which is a nice fit for inserting the pins. A narrow strip of prototyping 0/1" matrix board, drilled as well, would do. You could use the holes in the LED display board, but there is a risk of damage.

Then I loosely put in two end pins and place the strip board over these pins to hold them roughly in place. It is relatively easy to square up the two pins up by eye and then I solder one, verify and minor adjust if necessary, then solder the other. These now serve as place holders for the rest.

I then add more pins at either end, slide the holed board over which keeps the pins in place, a quick verify/adjust then solder them, continuing towards the center.

The 19C has an extra row of pins angled to the print-head board, so I used the newly soldered side pins to hold the 2 boards aligned then it was easy to match these other pins.

The display pins are angled also (30 degrees) but luckily the PCB hole size allowed to pins to sit at pretty much the right angle.

It sounds like a lot but is easy in practice. The tedious part is redoing all of this if there is a board design problem.

cheers

Tony


RE: HP97 The journey begins - Didier Lachieze - 10-21-2023 07:25 PM

Thanks for the detailed explanation !


RE: HP97 The journey begins - teenix - 11-01-2023 08:17 AM

Hi all,

Still moving ahead. I accidently ordered wrong parts and didn't know until I fitted them and switched on. It took a few weeks to get the right ones.

The picture shows the 19C working and the first switch on of the Woodstock. The WS LED display is a bit dim, but I just need to tweak the driver.

I added a "turbo" mode to the 19C. It usually takes a bit over a second to calculate SIN 45, but in turbo mode it has calculated it before the finger comes off the [4] button (SIN).

Still some more to go. I have to tweak the printer driver, so that is next. I received some new printer paper so hopefully that will print nicely.

cheers

Tony


RE: HP97 The journey begins - tangdfx - 11-01-2023 09:12 AM

Hope that I could get the HP19C new cpu board this year.


RE: HP97 The journey begins - teenix - 11-02-2023 11:05 AM

HI all,

A little more on the 19C today.

Some tweaking was required for the turbo mode to manage HP functions like the printer, PAUSE and the low battery decimal point flashing. These have to operate in normal HP timing.

The battery voltage in the 19C is monitored by the Cathode Driver IC and sets a Status Flag in the ACT depending on the state of the battery. I have implemented this now and I can adjust the output of the bench supply to trigger the low battery condition and when it is below the set point, the HP microcode detects this through the Status flag and does its thing to flash the decimal point LED.

When I first had this going the decimal point LED just went dim and it took me some code fiddling to realize the turbo mode was active and it was just flashing on and off very fast. Normally this is about 300mS so it gives a hint on how fast the HP microcode can run. Normal 19C instruction execution is about 280uS, in turbo mode this can drop to around 15uS depending on the instruction and a few other processes that may have to be dealt with.

I also added a menu item where the user can set the trigger point for the battery low detect, which spans between 4 and 5 volts in steps of 33mV.

cheers

Tony


RE: HP97 The journey begins - Harald - 11-03-2023 06:44 PM

Impressive Tony!

I have the feeling I will need to order one of these boards and get my 19c back from Bernhard.


RE: HP97 The journey begins - teenix - 11-04-2023 01:36 AM

HI all,

I've added some more functionality to the 19C.

The program codes can be displayed in text format if desired.

You can also store and recall data files similar to the HP-67/97 which in the 19C's case, are the first 16 primary registers.

There is a simple text editor for entering program or data file names prior to saving a file, or a default name can be used. 20 characters max for each name.

These files can be transferred to/from the PC and listed on the CalCom screen, transferred to/from disk, and they can also be transferred to the emulator memory if the 19C is selected.

You can scroll through the files and the name of the file will appear on the LED display, and if it is a data file, the decimal point will flash on the first digit.

There is a special memory area set aside for storage for up to 10 constants. These can be edited from the calculator menu or edited from the CalCom program and transferred.

You can recall/save these in RUN mode from a special key combination. This combination has also been added to the HP program codes so that you can add this to a program and use it to store or recall constants during a running program. It can also use the I register for indexed constant access.

The X register can be loaded with a random number from another new key combination, which also has a program code so it can be used in programs too.

The printer also recognizes the new program codes when printing a program.

A beeper will sound for various reasons, mainly errors, and it can be set for loud or soft. The LED display can be set for bright or dim.

The Continuous Memory is working and does not need a battery for backup, so you can remove the battery indefinitely without losing anything. You can do a "remove battery" reset from the menu to clear everything if need be and then 'Error' will be displayed as normally happens.


I still need to finalize the printer so that is coming.

cheers

Tony


RE: HP97 The journey begins - teenix - 11-09-2023 05:46 AM

Hi all,

I hope I am approaching the finish line with the 19C. I just finished entering the last of the functions I had planned for it.

This function has a new key code combination [f][f][2] and will only be executed during a running program, SST works as well. As such it can be entered as part of any normal 19C program and will occupy 1 step. If program as text is enabled, the display will show [FILE], else it will show the keys [16 16 53]. The printer will also output this when required.

When this function executes, just like the 67 and 97 having a card parked in the slot ready to load, you can load a new stored program file from memory and have it start running from any LBL 0 - 9. If the stored file is a DATA file, it will load into the calculator Primary RAM [0-15] and the program will keep running. Like to 67/97, the original RAM is trashed when this happens.

Program and data files occupy Blocks 0 - 9, with 40 files per block (00-39). This gives storage for 400 files.

An example is to run a program and then while running, load a program from Block [0] Pgm [00]. Due to the way the internal HP registers are arranged, you cannot enter leading zeros as the microcode will truncate them. In this case you only need to type [0-9] for the GTO label number The block and pgm number are set as zero so this saves pgm steps also.

Implied Block 0, Pgm [00], and a LBL[n]
Loads a pgm from Block [0], PgmNum [00], and GTO 1
Code:

Step [N]    1
Step [N+1]  FILE

Implied Block 0, Pgms [0 - 9], and a LBL[n]
Loads a pgm from Block [0], PgmNum [03], and GTO 5
Code:

Step [N]    3
Step [N+1]  5
Step [N+2]  FILE

Implied Block 0, Pgms [00 - 39], and a LBL[n]
Loads a pgm from Block [0], PgmNum [37], and GTO 9
Code:

Step [N]    3
Step [N+1]  7
Step [N+2]  9
Step [N+3]  FILE

Full information
Loads a pgm from Block [6], PgmNum [18], and GTO 9
Code:

Step [N]    6
Step [N+1]  1
Step [N+2]  8
Step [N+3]  9
Step [N+4]  FILE

If a valid number is stored in RAM, the just two steps are required, RCL [n] then FILE.

The extra steps probably won't matter much, I guess you could have almost 39300 steps running in a single program. It takes about 30mS to load a file, so shouldn't slow things too much.

One problem is that you will have to be careful of recursive file loads which can get stuck in a loop.

I still haven't fully tested the printer and circuit board mechanics, and printer use. I was leaving this until last so as to minimize its handling and use.

cheers

Tony


RE: HP97 The journey begins - teenix - 11-11-2023 02:30 PM

Hi all,

Well, I thought the light at the end of the tunnel was glowing but it faded again.

I was assembling the 2 circuit boards as would be done when closing the 2 case halves together to check the alignment of the connector pins, and they mated quite well. Unfortunately, the print head ribbon where it plugs into the socket was interfering with the side of the case, only by a millimeter or two, but enough to cause a problem. On looking closer at the original printer ribbon connecter, it is indeed a bit narrower than the one I sourced. The circuit board is only about 5mm wide here so there is not much wiggle room, but with a bit of fiddling, I was able to get around it.

After that I could close the two halves further but not the full way. Also, I noticed that the ribbon cable that attaches the keyboard to the CPU board needs to be a certain length, or the display connecters contact the key board traces and cause shorts. My new ribbon cable is a bit longer, but I was able to adjust it to match the original.

I thought clearing these hurdles would finally allow the halves to close properly, but no. I'm really getting a feeling for what the engineers were dealing with when working out the construction details for this little beastie.

I used surface mount parts on the board which are much smaller than the original, most notably in height above the circuit board. This, I thought, would provide ample clearance for final assembly, but (of course) nope.

If you look at an original CPU board in the image, you'll see there are no parts on the lower end of the board. This is probably not something that anyone would notice, I certainly didn't, but there lies the problem. Even with the surface mount parts, the two calculator case halves will not quite fit together, that's how tight the space is in there, mostly because of the bottom of the battery compartment and there are also a few tiny protrusions molded in as well adding to the problem. The case can be closed but the last few mm needs a small amount of pressure which I don't like.

Unfortunately, this means another board re-design :-(

Some good news, I sorted out some printer code issues which now seem ok. I still haven't switched the head driver code on, leaving that till last, but I can see the motor speed ramps up after the characters are "printed" as the head continues on and homes. I bought some new paper rolls, but they were too wide. I didn't notice the 37mm rolls referred to the diameter not the width - sheesh.

I was also able to run a program which loaded new program and data files from memory during execution. The battery-less Continuous Memory is also working.

So close this time....

cheers

Tony


RE: HP97 The journey begins - teenix - 11-11-2023 10:33 PM

It seems a few of these little fellows were causing the problem and an 0805 resistor which just by coincidence happened to be sitting in the same space as one of those tiny plastic protrusions. The Bluetooth will have to be repositioned as well, which will cause a headache or two.

I also just noticed that the HP head ribbon connector is slightly taller than the new one and has a different shape. This is an issue because the original HP one mates with a plastic molding on the printer and helps to keep the battery board in place when splitting the case halves. I think I have a solution, but it is hard to take measurements in the space around this area.

cheers

Tony


RE: HP97 The journey begins - teenix - 11-14-2023 01:37 PM

Hi all,

Well, the new board has been designed. It took some effort to squash the parts into the upper board space and make sure the little protrusions won't match up with any parts. One good thing there was more board surface area for heat sinking of the print motor driver.

While I'm waiting to get them, I'll continue and hopefully finalize the printer operation.

cheers

Tony


RE: HP97 The journey begins - teenix - 11-16-2023 01:10 PM

The new boards are on their way.

As the HP-10 shares a similar package, display and printer, and there was code space available, I added that model to the 19C. I had microcode for it so may as well get the most use out of it I can.

I remapped the smaller HP-10 keyboard onto the 19C keys.

cheers

Tony


RE: HP97 The journey begins - AndiGer - 11-16-2023 06:29 PM

Very cool, Tony


RE: HP97 The journey begins - tangdfx - 11-17-2023 04:22 AM

The HP 10 is more rare than HP19C.

It is better to add a mode for real HP10.


RE: HP97 The journey begins - teenix - 11-17-2023 05:06 AM

(11-17-2023 04:22 AM)tangdfx Wrote:  The HP 10 is more rare than HP19C.

It is better to add a mode for real HP10.

That's very true :-)

Unfortunately, the HP-10 microcode is likely to stay a secret unless someone has a dead one with a known issue within the main CPU chip. All those secrets are contained inside with no external access so unless the chip was de-capped and the ROM contents read visibly, there will be no way of getting it.

I wrote my own working version of the HP-10 in HP microcode which is what I will be using. Mike has been helping lately as he found a few bugs which have now been worked through.

cheers

Tony


RE: HP97 The journey begins - teenix - 11-19-2023 02:11 AM

Hi all,

Getting some printer output now. The contrast is a bit uneven but I'm hoping that is due to a low current power supply. I have a 3A 5V in a box, so I'll have to dig it out and see if the current capability is the issue. This is printing on the new paper I got, but I had to slice it down to width. The 19C does not have a tear bar, so the paper might be wandering a bit during printing and changing the pressure against the print head.

The spacing looks ok for the default setting.

cheers

Tony


RE: HP97 The journey begins - teenix - 11-19-2023 04:03 AM

I changed back to the original paper and prints a bit lighter, so maybe the chemical coating is a bit degraded.

The image shows default speed and intensity printing on the first line. Then by adjusting the software-controlled speed and intensity, the next line was at full intensity, followed by the slowest speed, then the fastest speed.

The HP-10 mode seems to be working ok and is printing ok as well.

The new PCB's have arrived. Tomorrow I will build the boards again and fingers crossed, all will be well.

cheers

Tony


RE: HP97 The journey begins - teenix - 11-24-2023 01:34 AM

Hi all,

I attached some pictures of the HP-19C during assembly. Closing the clam shell cases did not present any problems, the connector fingers slid into the respective holes easily.

I still don't know if it is the paper, but the printer is still a bit faint. I have overdone the PCB traces for all the power wiring, and the scope shows the proper waveforms to the print head, so there is not much more I can do. The newer paper that prints in black is a bit better. Turning up the intensity setting helps as well.

I added another programmable code - [BEEP] [f][f][3]. This can execute in normal run or after adding to a program, from a running program. The beeper will sound briefly after this executes.

It all 'seems' to work. I'm going to make a start on the help document.

cheers

Tony