Info about upgrading to 768k.

Stefano Garavaglia

This is a description of what I did to upgrade to 768k my hp48gx, but I'm only going to describe how to add a 512k chip _after_ you have also installed the first 128k upgrade, in other words after you have a 256k G(X).
For info about upgrading to 256k you can follow various documents found on the web. You can download from ftp.cis.com/pub/hp48/uploads the file as-docs.zip, which contains some of such documents. I found useful also hpup384k.{zip,txt} and, above all, hphw001.txt from Philippe Teuwen (s952365@student.ulg.ac.be).
The reason for describing only upg from 256 to 768 is simple: this part of the upgrade is quite easy :-)

A little warning: this description is based on my personal knowledge of my HP48GX, so something may be different if you have a 48G.
Standar disclaimer:
THIS INFORMATION IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESSED OR IMPLIED WARRANTIES.

What you need:
- one hp48g(x) upgraded to 256k
- one 512k low power static ram
- one inverter: you can use a real inverter, eg. 74HC04, or you can use a NOR (74HC02) or a NAND (74HC00).

About the upgraded g(x): If you have a gx working, probably it's better if you try to expand the memcard pcb to work with a 512k chip; I opened my gx to repair the ON key, so I upgraded this way.

If you have a G, you have to add the HC00 and the HC174, plus two resistor:
I don't know exactly how to do this, since I already have all components. See hpug384k.txt for more details.

About 512k static ram:
I used a Hitachi HM628512LFP-7, which is a low-power SMD part. If you can find a part named ..LFP-7SL it should be even better, because it's a "lower" low-power part :-)
If you upgraded your G using the PCB and the normal DIP SRAM, so you'll need a DIP version, which should be HM628512LP-7 or LP-7SL. This is the chip I used, but you can use a SONY or MITSUBISHI or whatever you can get, since it only needs to be a 512kx8 low power static ram.

About the inverter:
the inverter is needed because the 512k chip has only one negative logic CS (chip select), which is active low; the hp48, instead, sends on the port CE (card enable ?) with positive logic, active high, so you need this inverter.
I used an 74HC02 smd because I found it on the electronic board of a dead hard disk, but you can use any of the parts listed above, or even something other. I used only one port of the HC02, the unused inputs are tied to ground.
Where to take the power for this IC?
You have to power it the same way Rams are powered, taking VCC from the positive terminal of the electrolitic capacitor. The inverter needs to be powered to output a "high" signal on the CS pin of the RAM, thus putting it in low-power standby mode. If you power it taking, e.g., VCC from the HC00 on the 48, than the inverter will be off when you take off the batteries. The result is the following: the inverter is not powered, so it will output a 0v level, which on the CS of the RAM means "hey, you, wake up!".. The ram wakes up and drains a lot of current from the capacitor, leaving you about 1 or 2 second to change the batteries :-)
Instead, if you power the inverter with the capacitor, ram goes in low power mode and you should have some time before you lose your memory.
Whatever inverter you choose, you have to be careful about this: the output with the input at 0v must be 1. It's ok if you use an pure inverter (HC04) or a NOR (HC02) with two inputs tied together. A NAND (HC00) will even work, but you have to put one of the input at Vcc (the vcc of the HC00) to be safe.

BEWARE: probably this is not an optimum setup, but it seems to work reasonably well. In particular, I don't know exactly how much the backup capacitor will last with the added charge of another RAM and of an inverter, but I think it's enough to safely replace your batteries.

I took some more time to add a lithium battery backup, following the directions found in the hp48 FAQ, so I advice you to add it too.


What to do? Basically, what you have to do is to put the 512k chip _on_ the 128k which is connected to port 1, connecting nearly all pins pin-to-pin.
You have to lift from the 512k chip only 3 pins, which you have to connect individually.
Here is the 512k ram pinout:


         |-------\_/-------|
         |                 |
   A18 - | 1            32 | - Vcc
   A16 - | 2            31 | - A15
   A14 - | 3            30 | - A17
   A12 - | 4            29 | - Negative WE
    A7 - | 5            28 | - A13
    A6 - | 6            27 | - A8
    A5 - | 7            26 | - A9
    A4 - | 8            25 | - A11
    A3 - | 9            24 | - Negative OE
    A2 - | 10           23 | - A10
    A1 - | 11           22 | - Negative CS
    A0 - | 12           21 | - I/O 7
 I/O 0 - | 13           20 | - I/0 6
 I/O 1 - | 14           19 | - I/0 5
 I/O 2 - | 15           18 | - I/0 4
   VSS - | 16           17 | - I/0 3
         |                 |
         |-----------------|
Lift the pins 1, 30 and 22 and solder the other pins on the corresponding pins of the 128k chip. After you have to tell to the gx that there is a card in the slot 2 :-)
This is done the same way as for adding 128k in port 1:  

This should be enough to make you start.. but check with documents and try to understand what you're doing before doing it! Have a good upgrade!

Stefano Garavaglia (alter.ego@iol.it)

THIS INFORMATION IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


How to upgrade to more than 256k ?

Philippe Teuwen

I suppose you have the 48gs256k.zip file (go to take it if not).
More than 256k means 3 chips or more but you can't use the PCB of Thijs and 3 DIP SRAM because it's too tick.

So you need at least one chip in SMD package.

(Another way is to don't use the PCB, I did it on one HP, but I advise you against such methods because you'll have 40 free wires in your HP and it's awful to do and to see)

Imagine your HP is opened, keypad on the ground, batteries towards you.

Add a 128k (or 512k, I'll try in few weeks) in port 2

To do that, solder the chip on the one for port 1 for all pins excepted the 30th that goes to the pin N21 of the 2nd port (the pin that is different from port one in the middle)

You need some other components to drive port 2, they must be soldered on the main PCB near the batteries :

Attention : two differents PCB exist.

Look carefully at the 4 slots in square on the middle left to see if the resistors must be soldered vertically or horizontally.

On older PCB : 473 on the left ; 104 on the right.

On newer PCB : 473 on the top ; 104 on the down.

WARNING: Look at the next mail I received, where Tony tells me there's maybe some differences with PCB...

Have a good hack and I apologise for my poor english.

Phil.

Philippe Teuwen

s952365@student.ulg.ac.be

THIS INFORMATION IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


From: Tony Chou <st9213@siu.edu>

I followed the instructions and the ram upgrade works perfectly.
(I replaced the built-in 32KB sram with a low power 128KB SMT sram, used the PCB layout from Thomas & Thijs in the 48gs256k to place the DIP version of the 128KB sram in card 1 (port 1) location and then soldered the 512KB DIP sram on top of the 128KB DIP sram for the card 2 (port 2 to 5) location).

You do need the extra parts Stefano was talking about.
Namely the 74HC00 to access port 1 (and 2), the 74HC174 to drive addresses 17 and 18 for the 512KB card 2 sram, the inverter for the 512KB CS pin 22, and the two resistors to direct the proper voltage to the clear line (pin 1) of the 74HC174 hex "D" flip-flop.

The only problem though was the instructions give by Teuwen about the placing the resistors. He says that there are two types where in one type the resistors are mounted vertically and the in the other the resistors are mounted horizontally.
Mine is the one that have to placed horizontally. But in mine version, 473 (47k) has to be placed on the bottem (nearest to the batteries) while 104 (100k) is placed on the top.

I learned this when the upgrade didn't work so I used a logic probe to hunt down the error. This may be a mistake (on his or my part) or I have a different verison.
Mine is made in Singapore on the 14th week of 1995, ROM version is R. I don't know what the PCB version is though.

Tony.

THIS INFORMATION IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


last updated: 28th of January 1998