Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

4MB flash card for HP48G/GX

104 views
Skip to first unread message

Ignacio García Pérez

unread,
Mar 9, 1998, 3:00:00 AM3/9/98
to

Hi:

I've been lately playing around with the idea of building a
flash card for my HP48GX. I guess this would be useful for upgrading G
models too.

Think about it: with 128KB of internal RAM, a 128KB card in
port 1 merged, what would you use memory in port 2 for ?... usually
for libraries that are installed and then left unchanged until maybe
you want to install another library or a newer version.

Flash memory provides the advantages of ROM (no need for
battery backup, much CHEAPER, higher density) and some of the
advantages of SRAM (rewritable).

After reviewving all the available documentation available on
HP48 upgrades, I have some questions that maybe some guru in this list
can answer before I start designing the first prototype:

1- What's the working voltage of the HP48 ?

I ask this because I plan to use 29F016 flash chips (2MBx8), 5V-only.

2- Is it needed to decode all address lines in port 2 ?

Port 2 has address lines A0-A21 for a total addressing space of 4M.
I've seen a document in which a HP48 used describes how he upgraded
his HP48 to 768K, just putting a 512KB chip connected to port 2. He
didn't decode address lines A19-A21, so, the same 512KB appear mapped
eight times all along the 4M addressing space. Is this fine ?...
anyway, if it doesn't harm, I'll decode all lines since I'll use the
full 4MB range, but there's a chance that I use initially only a 512KB
flash chip for the prototype, since I can socket it.

---=== And the MOST important stuff: ===---

3- Writing to flash is not trivial. A special write sequence is
needed, so, ROM routines will NOT be able to write to the flash card,
thus appearing as a ROM card.

I know that there's no real Yorke hardware protection on port 2, and
then, even when the card identifies itself as a ROM card, it's
possible to perform writes in ML language (provided BEN is set high
when doing the bank selection).

Since, as I said, ROM will not be able to access the card to write
libraries and stuff on it, I plan to provide access to the flash
memory in this way:

A 128KB card will have to be installed in port 1, and NOT merged.

Use port 1 to put everything you want, up to 128KB. This process is
very easy and HP ROM handles it all. Then, use port 1 memory as a
"image" and copy it byte by byte to flash in port 2, doing the writes
in the special way required by flash.

After the copy is done, port 1 can be erased and its memory merged if
required.

I'm no HP ML programming expert, so, maybe my approach has some flaw I
can't see. Anyway, I someone is willing to help in the writing of the
required programs for copying and erasing flash, or has a better
approach to this problem, please let me know. Any help will be greatly
appreciated.


Regards. Nacho.

Olaf Kaluza

unread,
Mar 9, 1998, 3:00:00 AM3/9/98
to

Ignacio García Pérez <i...@vlc.servicom.es> wrote:


> Flash memory provides the advantages of ROM (no need for
>battery backup, much CHEAPER, higher density) and some of the
>advantages of SRAM (rewritable).

How many Ramcards do you need? Is this really cheaper for one card?
And there are programs that store their data in a libaryport. And you
have to build a burner.

>1- What's the working voltage of the HP48 ?

3*1.5 (batterie)

>I ask this because I plan to use 29F016 flash chips (2MBx8), 5V-only.

It can work, or not. :-)

>2- Is it needed to decode all address lines in port 2 ?

I think there is no need. Have not tried it, but the HP can't write in
the card, he has to believe what the card says.

>3- Writing to flash is not trivial. A special write sequence is

And writing flashmem depends of the kind of flash you own! Different
types need different algorythm.

>I know that there's no real Yorke hardware protection on port 2, and
>then, even when the card identifies itself as a ROM card, it's
>possible to perform writes in ML language (provided BEN is set high
>when doing the bank selection).

When this is important, you can switch the CS-Pin on a ramcard.

>Use port 1 to put everything you want, up to 128KB. This process is
>very easy and HP ROM handles it all. Then, use port 1 memory as a
>"image" and copy it byte by byte to flash in port 2, doing the writes
>in the special way required by flash.

With the 4.5V HP-power? Can't believe that this will work.


Olaf
--
D.i.e.s.S. (K.)

Pieter Blomme

unread,
Mar 9, 1998, 3:00:00 AM3/9/98
to

Olaf Kaluza wrote:
>
> Ignacio García Pérez <i...@vlc.servicom.es> wrote:
>
> >1- What's the working voltage of the HP48 ?
>
> 3*1.5 (batterie)
>
Nope. The HP has DC-DC converters, and at least a voltage of 5V. By the
way, the minimum battery voltage to work is not 4.5, but 3V.

ls470

Dave Arnett

unread,
Mar 9, 1998, 3:00:00 AM3/9/98
to i...@vlc.servicom.es

Replying by e0mail and by post to comp.sys.hp48

Ignacio García Pérez wrote:

<snip>


> After reviewving all the available documentation available on
> HP48 upgrades, I have some questions that maybe some guru in this list
> can answer before I start designing the first prototype:
>

> 1- What's the working voltage of the HP48 ?

Roughly 5V, but actually a fraction of a volt less.

>
> I ask this because I plan to use 29F016 flash chips (2MBx8), 5V-only.
>

> 2- Is it needed to decode all address lines in port 2 ?

You only need to decode the lines you plan to use. The system will
come back and look for mirroring of data, and determine the size of
the card that way.

Best of Success!
Dave.
-----
I don't speak for HP when I post here.

Olaf Kaluza

unread,
Mar 9, 1998, 3:00:00 AM3/9/98
to

Pieter Blomme <Pieter...@student.kuleuven.ac.be> wrote:

>> Ignacio García Pérez <i...@vlc.servicom.es> wrote:
>>

>> >1- What's the working voltage of the HP48 ?
>>

>> 3*1.5 (batterie)
>>
>Nope. The HP has DC-DC converters, and at least a voltage of 5V. By the
>way, the minimum battery voltage to work is not 4.5, but 3V.

If this right why the HP-Ramcard are modificated Epson-cards for lower
voltage than 5V?

Olaf

--
D.i.e.s.S. (K.)

A Suehiro

unread,
Mar 10, 1998, 3:00:00 AM3/10/98
to

>1- What's the working voltage of the HP48 ?
>
>I ask this because I plan to use 29F016 flash chips (2MBx8), 5V-only.
>

You should use 3.3V flash chips with a write enable of 3.3V. Just
about all the 3.3V chips on the market are 5V tolerant. Besides due to
battery voltage droop you will be running on significantly less than
4.5V near the end of the battery's life. Also many of the flash chips
I've worked with that have a 5V enable have stringent voltage
requirements for the enable line. Many of them will probably not work
when they have ~4V at the write enable pin.

I will check out the 29F016 and any alternative 3.3V parts tomorrow at
work. (Faster connection T3 :-)

A Suehiro

Ignacio García Pérez

unread,
Mar 10, 1998, 3:00:00 AM3/10/98
to

On Mon, 9 Mar 1998 16:50:47 GMT, Olaf Kaluza <ol...@criseis.ruhr.de>
wrote:

>Ignacio García Pérez <i...@vlc.servicom.es> wrote:
>
>

> > Flash memory provides the advantages of ROM (no need for
> >battery backup, much CHEAPER, higher density) and some of the
> >advantages of SRAM (rewritable).
>
>How many Ramcards do you need? Is this really cheaper for one card?

I think three would be enough, but like always, the bigger, the
better.

And about price, a 2MB chips costs less than a 512KB SRAM chip.

>And there are programs that store their data in a libaryport. And you
>have to build a burner.

NOP. The 5V-only flash chips are in-system programmable. They have a
write signal, and writes cycles are just like SRAM write cycles. The
only difference is that there's a special sequence to start a byte
programming, and then you have to wait for the write to end. There's
also a special write sequence for erasing a block, for bulk erase, for
device ID, and so on... but anyway, just for you to make an idea about
how it works, for writing a byte you would have to do something like
this (not exactly reproduced, I don't have the flash databook handy):

1- Write AAh to address 5555h
2- Write 55h to address 2AAAh
3- Write XXh to address 5555h (XX is the write command)
4- Write data DD o address NNNN (this is the byte you want to write)
5- Read from address NNNN until you get the value DD, this would mean
that the write is done.

As you can see, this can be done by a program running in the HP.

> >1- What's the working voltage of the HP48 ?
>

>3*1.5 (batterie)

As far as I know, that's wrong. There's a boost switching power supply
in the HP48, so it can work from almost empty batteries (have you ever
measured the voltage of an almost empty cell ?).

> >3- Writing to flash is not trivial. A special write sequence is
>
>And writing flashmem depends of the kind of flash you own! Different
>types need different algorythm.

That's no problem. Different programs for different manufacturers.

> >Use port 1 to put everything you want, up to 128KB. This process is
> >very easy and HP ROM handles it all. Then, use port 1 memory as a
> >"image" and copy it byte by byte to flash in port 2, doing the writes
> >in the special way required by flash.
>
>With the 4.5V HP-power? Can't believe that this will work.

1- HP internat power is NOT 4.5V
2- For example, the AMD 29F040 is specified to work in the range
4.5-5.5V. If you've ever dealed with electronic stuff, then you know
this means it'll probably work even down to 4V.

Regards. Nacho.

Ignacio García Pérez

unread,
Mar 10, 1998, 3:00:00 AM3/10/98
to

Ignacio García Pérez

unread,
Mar 10, 1998, 3:00:00 AM3/10/98
to

Ignacio García Pérez

unread,
Mar 10, 1998, 3:00:00 AM3/10/98
to

Simon Hosie

unread,
Mar 11, 1998, 3:00:00 AM3/11/98
to

Ignacio García Pérez:

> 1- HP internat power is NOT 4.5V
> 2- For example, the AMD 29F040 is specified to work in the range
> 4.5-5.5V. If you've ever dealed with electronic stuff, then you know
> this means it'll probably work even down to 4V.

Hmm.. used to be that you could safely double the clockspeed of some
mainstream CPUs. Wouldn't try _that_ now.

--
# Gumboot, at an ISP named Clear.Net, in New Zealand.
#
# Please try to quote only the text you need to show the context of your
# response.

A Suehiro

unread,
Mar 13, 1998, 3:00:00 AM3/13/98
to

>I will check out the 29F016 and any alternative 3.3V parts tomorrow at
>work. (Faster connection T3 :-)
>
>A Suehiro

Did some checking on the AMD web site: http://www.amd.com
They have a 29LV016 which is a 3.3V device with a wide input supply
voltage range. You might need to throw some diodes in series to drop
the voltage to the part enough for the worst case 4.5 V of three fresh
bats. The programming voltage is rather low also might be more
difficult to meet that spec.

Someone else mentioned running a 5 V part off of 4 V. The biggest
problem with that will probably be the programming of the part. At
that voltage it may not be all that reliable. I'm not privy to AMD's
design of the memory elements, so I can't be absolutely sure. The best
method would be to test a part to death and see at what voltages it
will fail at. An empirical method that should work in a pinch if your
other part is of the same lot code.

A Suehiro
---------------------
A Suehiro
'97 Torch Red C5 6-sp

Ignacio García Pérez

unread,
Mar 16, 1998, 3:00:00 AM3/16/98
to

On Fri, 13 Mar 1998 10:07:53 GMT, asuehiro@_NOSPAM_ix.netcom.com (A
Suehiro) wrote:

>>I will check out the 29F016 and any alternative 3.3V parts tomorrow at
>>work. (Faster connection T3 :-)
>>
>>A Suehiro
>
>Did some checking on the AMD web site: http://www.amd.com
>They have a 29LV016 which is a 3.3V device with a wide input supply
>voltage range. You might need to throw some diodes in series to drop
>the voltage to the part enough for the worst case 4.5 V of three fresh
>bats. The programming voltage is rather low also might be more
>difficult to meet that spec.

Mmmm... as far as I know, the HP48 runs at 5V more or less.

Regards. Nacho.

0 new messages