HP Forums

Full Version: Hand Held Products 71M/M eprom carrier question
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hi everyone;

I have this Hand Held Products 71M/M eprom carrier designed to go in the card reader compartment of the HP-71B. It currently holds a 32k EPROM (HN27256G-25) containing some fire insurance claim software; it came in an HP-71B that I bought a long time ago. This device has a 3-pin jumper pins close to the Vcc pin of the EPROM. Currently there is a jumper joining the two pins closest to pin 1 in the EPROM. Does anybody know the function of this jumper? I am planning on burning a 27C256 with more useful stuff.

carlos.
A jumper on pins A&B (2 leftmost pins looking at the board with pins at the top) is for a 32KB EPROM chip and on pins B&C is for a 16KB EPROM chip.

Have you found the prior posts here about the required format to burn the EPROM chip? If not, you can likely find them via search but holler if you don't see them.

What's more useful?
Thank you! I haven't read about the format... I imaged all of my roms using the dumprom program, and my intention was to burn the image of my math rom directly. I am hoping that I don't have to nibble-swap that image.

Carlos.
(06-13-2020 01:59 AM)cmurillo Wrote: [ -> ]Thank you! I haven't read about the format... I imaged all of my roms using the dumprom program, and my intention was to burn the image of my math rom directly. I am hoping that I don't have to nibble-swap that image.

Carlos.

Which 'dumprom' program are you referring to? Possibly it dumps an existing ROM into the proper format, but yes nibble-swapping typically is needed.

If you have trouble with it, just come back and ask.

Also, have you seen that Jean-Francois Garnier is expanding and enhancing the 71B Math ROM with many interesting new functions, here is a thread with the details and links to download an image you can burn:

https://www.hpmuseum.org/forum/thread-14343.html

Good luck!
(06-13-2020 01:11 AM)rprosperi Wrote: [ -> ]Have you found the prior posts here about the required format to burn the EPROM chip? If not, you can likely find them via search but holler if you don't see them.

Here it is.
https://www.hpmuseum.org/forum/thread-14666.html

Quite a list of required equipment.
I did not find the messages right away, but I did figure what the required format is; nibbles must be swapped _and_ negated, so that a nibble sequence like

B3DDDDDEE4642513

must be written as a sequence of bytes in the EPROM as

C4 22 22 12 B1 B9 AD CE

carlos.
Good news, although not without some extra work: I successfully burned the HN27256G that came originally with the HHP 71M/M with a copy of one of my Math roms and it worked. Initially, I tried to use an NM27C256BQ thinking that the CMOS part would consume less power. The rom was successfully recognized, but as soon as I made heavy use of the matrix functions in it, a crash occurred and I got a "Memory Lost". I then programmed the same EPROM that came with the 71M/M (the said HN27256G) and this one has been working fine. I can only assume that the NM27C256BQ produces some spikes in the power supply that the HP-71B doesn't like.
(06-16-2020 06:51 PM)cmurillo Wrote: [ -> ]Initially, I tried to use an NM27C256BQ thinking that the CMOS part would consume less power. The rom was successfully recognized, but as soon as I made heavy use of the matrix functions in it, a crash occurred and I got a "Memory Lost". I then programmed the same EPROM that came with the 71M/M (the said HN27256G) and this one has been working fine. I can only assume that the NM27C256BQ produces some spikes in the power supply that the HP-71B doesn't like.

I had the same issue when I was using the HHP EPROM carrier at the time.

The HHP was designed to manage NMOS EPROM, since the CMOS parts were just introduced on the market and still rare and expensive.
To keep the power consumption low, HHP switched the EPROM supply off when not used, and turned it on only for the duration of a read access.
Obviously, the CMOS parts don't accept this operating mode.

At the time, I wanted to use CMOS parts, and so I bypassed the switching element (a transistor), as you can see on attached picture, so the EPROM was always powered on and the problem was solved.

J-F
[attachment=8583]
So that's what the transistor is for... thanks for the information, perhaps I'll also try the bypass and the CMOS part again.
There are 2 different HHP 71 EPROM Carrier types.

The most common type has 3 pins in the upper-right area of the board (assuming pin1 in upper left orientation) used for selecting between 32KB (leftmost pair) and 16KB (rightmost pair).

The other (later?) type has 2 pins in the upper left AND 2 pins in the upper right of the board (same orientation). I've never found specific documentation for this second style, the manuals I have only explain the initial style, though I've assumed that it is used mechanically the same way - left pair for 32KB vs. right pair for 16KB.

I wonder if the 'other', less common type was introduced later to allow use of CMOS EPROM chips? This type has 2 transistors where the other style has only 1. I don't know enough about h/w to have any idea if this could make sense.

Here's a link with 2 photos, showing both carriers side-by-side, in the hopes someone might be able to tell:

https://1drv.ms/u/s!AiI5Ei2M2Ja2mH0S6o1n...k?e=m5QPe3
I wonder if the one with the two jumpers might be designed to accomodate 64K EPROMs also? In a 32K EPROM, pin 1 is VPP, but in a 64K EPROM pin 1 is A15 and pin 22 doubles as VPP / (OE)' . In the one with the two jumpers, the left jumper is pretty close to pin 1.
I'm not sure this is of much help, but here are a few observations about this 'other' style of carrier:

There is "(C) 1984 HHP Inc." etched on the board. (the normal board has only "HHP Inc.")

It appears the 2 pins on each side of the top of the chip carrier (is that pins 1 and 15?) are connected by a common run to the top lead of both of the 2 transistors and next to these there is a label on the board "T/C" and immediately below the T/C it says "1V"

The 2 inner pins of the 2 pairs of jumpers are connected together and that is connected to the 2nd pin down on the right (pin 16?)

Sorry, that's not probably using the correct terms, etc. but maybe it helps to answer about 64KB support.
The common connection from the top lead of the transistors to the top right lead of the IC socket (pin 28) channels +5V to the transistors, which act like switches on it; it would be interesting to see where the bottom pins of the transistors go. The second pin from the top on the right side of the IC socket (pin 27) is A14 in 32K and 64K EPROMs, but it is (PGM)' in a 16K EPROM and it should be kept high in such an EPROM.

It would also be interesting to see where pin 1, the top left one (A15 in a 64K chip, VPP in 32K and 16K chips) goes.
Quote:At the time, I wanted to use CMOS parts, and so I bypassed the switching element (a transistor), as you can see on attached picture, so the EPROM was always powered on and the problem was solved.

J-F

So... I take it from this that read accesses to the EPROM are slowed down by this mechanism, making this HHP device inherently slow?
(06-17-2020 02:51 PM)cmurillo Wrote: [ -> ]
Quote:At the time, I wanted to use CMOS parts, and so I bypassed the switching element (a transistor), as you can see on attached picture, so the EPROM was always powered on and the problem was solved.

So... I take it from this that read accesses to the EPROM are slowed down by this mechanism, making this HHP device inherently slow?

Well, not necessarily. It may be, since the HALT signal is present in the card reader, but I don't think it is used by the 1LJ4 interface chip. You can have a look at this document summarizing the known information about this chip.
It may be the problem with CMOS parts that may need more time to properly power up.

BTW, if you find a way to use a 64K EPROM in the HHP EPROM carrier, I would be very interested !

J-F
(06-17-2020 03:33 PM)J-F Garnier Wrote: [ -> ]
(06-17-2020 02:51 PM)cmurillo Wrote: [ -> ]So... I take it from this that read accesses to the EPROM are slowed down by this mechanism, making this HHP device inherently slow?

Well, not necessarily. It may be, since the HALT signal is present in the card reader, but I don't think it is used by the 1LJ4 interface chip. You can have a look at this document summarizing the known information about this chip.
It may be the problem with CMOS parts that may need more time to properly power up.

BTW, if you find a way to use a 64K EPROM in the HHP EPROM carrier, I would be very interested !

J-F
Halt is not connected to anything on the HHC module that I have. Pin 1 which would be A15 on a 64K EPROM is connected to Vcc of the EPROM, in fact the trace from the collector of the transistors to pin 28 goes through pin 1. The transistors are connected in parallel and are PNP type with the emitters connected to +5V the bases connected to the -OE signal and the collectors to Vcc of the EPROM.

The module I have in front of me is the two jumper version which I suspect is functionally equivalent to the version with one 3 pin jumper. One pin of both 2 pin jumpers is connected to pin 27 of the EPROM. On the jumper adjacent to pin 1 the other pin goes to pin 9 of the 1LJ4 chip, on the jumper adjacent to pin 28 the other pin is connected to pin 28 so depending on which jumper is installed pin 27 is either connected to A14 or Vcc.

The big issue for determining if a 64K EPROM might be used is that we do not have the specs for the 1LJ4 chip, all the information in the document that Jean-Francois linked I determined by observing a few HHC modules. There are 3 pins that differ between a module with 4 X 8K memory devices and a device with a single 32K device, but all 3 are connected to Vdd when 8K devices are used and all 3 are connected to ground, who knows what other combinations of these pins would yield, it certainly is possible to have 64K and even 128K single ROM units, however at the time these modules where designed it does not appear that there was 64K EPROMs yet, Intel's 1984 memory data boot does not list any, and it is likely that the 1LJ4 chip was designed even earlier.
(06-13-2020 11:25 PM)cmurillo Wrote: [ -> ]I did not find the messages right away, but I did figure what the required format is; nibbles must be swapped _and_ negated, so that a nibble sequence like

B3DDDDDEE4642513

must be written as a sequence of bytes in the EPROM as

C4 22 22 12 B1 B9 AD CE

carlos.

What is the easiest way to flip each bit ? I can manage to invert the bits in a hex editor but flipping/reversing each bit seems to be a challenge.

Regards

Richard
Here's an article that describes the entire process.

This was initially published in the PPC 1985 Atlanta Conference Proceedings, and adapted by Paul Berger a few months ago to be used with more modern equipment, like a PIL-Box and normal (external, non-HP-IL connected) EPROM burner.

https://www.hpmuseum.org/forum/thread-14666.html
(09-08-2020 12:28 PM)rprosperi Wrote: [ -> ]Here's an article that describes the entire process.

This was initially published in the PPC 1985 Atlanta Conference Proceedings, and adapted by Paul Berger a few months ago to be used with more modern equipment, like a PIL-Box and normal (external, non-HP-IL connected) EPROM burner.

https://www.hpmuseum.org/forum/thread-14666.html

Thanks Bob. I thought there may have been an easier way on the PC and one that does not require the forth rom. Can the procedure be done using emu71 ?

Richard
(09-08-2020 11:50 AM)coitboy2000 Wrote: [ -> ]
(06-13-2020 11:25 PM)cmurillo Wrote: [ -> ]I did not find the messages right away, but I did figure what the required format is; nibbles must be swapped _and_ negated, so that a nibble sequence like

B3DDDDDEE4642513

must be written as a sequence of bytes in the EPROM as

C4 22 22 12 B1 B9 AD CE

carlos.

What is the easiest way to flip each bit ?
I can manage to invert the bits in a hex editor but flipping/reversing each bit seems to be a challenge.

Since no math is involved, a simple sed script work well
Code:
h;                      # save to hold area
s/[^:]*://;             # remove ':' offsets
s/  .*$//;              # remove text area
s/ //g;                 # remove whitespaces
s/\(.\)\(.\)/ \2\1/g;   # swap hex digits
y/0123456789ABCDEFabcdef/FEDCBA9876543210543210/;    # flip bits
x; G;
s/:[^\n]*\n/:/;         # add back offsets

> echo 0:B3DDDDDEE4642513 | sed -f swap_flip.sed
0: C4 22 22 12 B1 B9 AD CE

Or, convert the whole file, like this:

> xxd raw.1 | sed -f swap_flip.sed | xxd -r > raw.2
> xxd raw.1
0000000: b3dd ddde e464 2513             .....d%.
> xxd raw.2
0000000: c422 2212 b1b9 adce             ."".....
Pages: 1 2
Reference URL's