Info about upgrading to 768k.

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.

Pin 1 (A18) of the ram goes to the pin 32 of the gx port 2 connector.
Pin 30 (A17) of the ram goes to the pin 31 of the gx port 2 connector.
Pin 22 (NCS) of the ram goes to the output of the inverter.
The input of the inverter goes to pin 21 of the gx port 2 connector.

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:

Connect pin 2 of port 2 (battery detect)  to the positive terminal of
the capacitor through a 1Mohm resistor.

--- begin warning
Then you have to connect pin 37 and 38 of port 2 to vcc (pin 1 of port 2)
and to connect pint 39 to pin 40 (always port 2).
--- end warnig 
warning ! the above part is not verified... 
It is what have I done to my HP, and works, but probly it's not needed:
Philippe Teuwen told me that it's only necessary to connect pin 37 to declare the presence of a "ram card", so pulling pin 37 of port 2 high should be enough.


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)



