Discussion:
HP48 LCD
(too old to reply)
olaf
2022-01-28 06:04:50 UTC
Permalink
I look at this schematic of the HP48SX:

https://www.hpcalc.org/details/3543

It shows that the screendriver-circuit are two SED1181 serial connectet.

I think that is unusual because the datasheet of the SED1181 claims
that it build together with an SED1191 for a matrix-lcd.

I wonder if it is possible to grab the two data-bit in a microcontroller
and translate it for an oled for a much better readable display.
Did knows the code that generate the LCD-Signal to the output bits?

I still like my old HP48, but the low contrast of the early graphic-lcd,
are very poor by todays standard.

Of course it is now only an idea. :-)

Olaf
Jerry Xu
2022-11-26 05:00:12 UTC
Permalink
Post by olaf
https://www.hpcalc.org/details/3543
It shows that the screendriver-circuit are two SED1181 serial connectet.
I think that is unusual because the datasheet of the SED1181 claims that
it build together with an SED1191 for a matrix-lcd.
I wonder if it is possible to grab the two data-bit in a microcontroller
and translate it for an oled for a much better readable display.
Did knows the code that generate the LCD-Signal to the output bits?
I still like my old HP48, but the low contrast of the early graphic-lcd,
are very poor by todays standard.
Of course it is now only an idea. :-)
Olaf
Hi Olaf, I Think your idea is definitely possible. Since the data sheet of
SED1181 is obtainable, we may just use one STM32, or any other kind of
micro-controller, to build an converter.

I just got a set of HP48 with keyboard problem, I may attempt to dissemble
it and go forward to build a converter. It sounds a fun little project to
do.

JX
olaf
2022-11-26 07:11:31 UTC
Permalink
Post by Jerry Xu
Hi Olaf, I Think your idea is definitely possible. Since the data sheet of
I know that it is possible because I connected my Logicanalyzer to the
datastream. :-D
Post by Jerry Xu
SED1181 is obtainable, we may just use one STM32, or any other kind of
micro-controller, to build an converter.
It is not so easy. The HP sends 2x67bits. ARGH! That is a little
bit unusual for traditional SPI Hardware in any controller.
Perhaps with RP2040 or an CPLD/FPGA. But in this case we have
to think a little bit about power consumption. .-)
Post by Jerry Xu
I just got a set of HP48 with keyboard problem, I may attempt to dissemble
it and go forward to build a converter. It sounds a fun little project to
do.
Strange, I have many HP48 because I bought them wenn they are cheap,
but I have never seen a keyboard problem. Only the HP49 ist famous for
it and I have a 49 with broken Keyboard.

BTW: Ich bought my first HP48SX in 1990 for 700DM, in the first year I
pour out a cup of tea (with sugar) on it. I had to open it without
youtube video (looks strange since this opening), I dryed it, but
never opend the keyboard themself. It is still working! The first
years the keys felt a little bit rough because of the sugar, but the
sugar is pressed to dust and it feels like new in the last 20years. So
I think the keyboard is bulletproof.

Olaf
Bruce Horrocks
2022-11-26 14:07:44 UTC
Permalink
Post by olaf
Post by Jerry Xu
Hi Olaf, I Think your idea is definitely possible. Since the data sheet of
I know that it is possible because I connected my Logicanalyzer to the
datastream. :-D
Post by Jerry Xu
SED1181 is obtainable, we may just use one STM32, or any other kind of
micro-controller, to build an converter.
It is not so easy. The HP sends 2x67bits. ARGH! That is a little
bit unusual for traditional SPI Hardware in any controller.
Perhaps with RP2040 or an CPLD/FPGA. But in this case we have
to think a little bit about power consumption. .-)
Post by Jerry Xu
I just got a set of HP48 with keyboard problem, I may attempt to dissemble
it and go forward to build a converter. It sounds a fun little project to
do.
Strange, I have many HP48 because I bought them wenn they are cheap,
but I have never seen a keyboard problem. Only the HP49 ist famous for
it and I have a 49 with broken Keyboard.
Hi Olaf,

That 49 might help you with your OLED problem even with a broken keyboard.

I don't know if you are aware but HP produced an overhead projector
display for the 49 for classroom use and used pins 5 - 10 on the 10-pin
connector on the calc to carry the raw LCD signals to the OHP display.

You could try using this to prototype your OLED display adaptor and then
modify it to get signals direct from the 48 once it is working?

The pinouts of that connector are:

Top of Calculator

6 7 8 9 10
+-----------------------+
| o o o o o |
\ o o o o o /
---------------------
1 2 3 4 5

Bottom of Calculator


"Pin" Signal
1 Shield
2 TX
3 RX
4 SGND

5 VCO
6 XSCL
7 LP
8 LD0
9 LD1
10 GND

where:
- LP is line pulse - goes high when a new LCD scan line is about to start
- XSCL is column pulse - goes high as each column is reached
- LD0 & LD1 are the pixel values for the left half and right half of the
display
- VCO and GND I don't quite understand. The data signals are 0-5V with
respect to VCO but 0-9.5V (more or less) with respect to GND. This may
just be something to do with powering the OHP display unit because it
needs a 9V battery when used with the HP48SX card but not when used with
the HP49G.
- lastly there's no 'start of screen' signal as they ran out of pins.
The OHP unit has a microswitch that moves the whole display 'up' one
pixel row each press and you use that to align the top of the display
with the top of the LCD. Most times it starts just fine - it's only if
you plug in while the calc is running that it can get out of sync.

I started on an Arduino project to read the signals and then
(eventually) Bluetooth the display to a PC, got so far and then got
distracted by other projects!

There's some sample output here.
<https://1drv.ms/b/s!AjwWLJj3pb2Qk38dgtjCo54lf-Mf?e=VUHeJE>
--
Bruce Horrocks
Surrey, England
olaf
2022-11-26 14:39:08 UTC
Permalink
Post by Bruce Horrocks
I don't know if you are aware but HP produced an overhead projector
I know that it existed somewhere. :)
Post by Bruce Horrocks
You could try using this to prototype your OLED display adaptor and then
modify it to get signals direct from the 48 once it is working?
Na, it is not a problem to solve this problem somehow.

I only have to use some powerful hardware. I think for example
an RP2040 could do this. Or perhaps a smaller Controller
with some dirty tricks. (external Register, small CPLD, Assembler)

But I like to think about a more elegant solution. :-)

However an OLED inside the HP48 needs some reworks for the
battery compartment, too. (goto Lithiumpower)
Anyway it would be nice not the heat up a to powerful
controller for this job.
But I guess I will start with the RP2040 and downsize it later.
Post by Bruce Horrocks
5 VCO
6 XSCL
7 LP
8 LD0
9 LD1
10 GND
What you describe is the direct inteface to the old LCD-Driver HP uses
in the 48. :) I soldered it with a busdriver to my HP48, too.
It looks now a little bit frankensteined.
Post by Bruce Horrocks
I started on an Arduino project to read the signals and then
(eventually) Bluetooth the display to a PC, got so far and then got
distracted by other projects!
THat is my problem, too. The HP48 is number two in my project
list. Number one is to connect a very special Tektronik probe to my
cheap RTB2004. .-)

Olaf
olaf
2022-12-03 19:37:28 UTC
Permalink
Post by Bruce Horrocks
I started on an Arduino project to read the signals and then
(eventually) Bluetooth the display to a PC, got so far and then got
distracted by other projects!
I did some more investigation in the lcd data format but something strange
happens in our old calculator. :)

The picture shows the dataline to the SED1181: (one row of 64)

Loading Image...

The schematic (https://www.hpcalc.org/details/3543) show that
there are two cascaded SED1181. That is understandable.
But one SED1181 has only 2x32Bit register, so two of them provide
2x2x32bit = 128bit for one row. This is to less, because the HP48
has 131pixel in one row.

But as you can see in my picture the Yorke put out 67x2=134pixel in one row.
I am now very astonished where the calculator stores the extra pixel!
So I am now thinking if it is possile HP used a special SED1181 with
a bigger register.

Oh..and the datasheet for the SED1181 show an SED1191 for selecting the 64 rows.
This circuit did not exist in the HP48. But there are many unused
pin in the schematic, so I guess the Yorke did drive it directly,
but I did not checked it now.

Olaf

p.s: My measurement is taken on my special HP48SX with doubled clock.
So it is faster compared to an unmodified 48SX. .-)

p.s2: It is a shame that the spi-decoder in the RTB2004 can only decode
32bit and not 64 or 67, sigh.

p.s3: And why 131? That is a number that should not exist in the brain
of a hardware or software developer. :)
Bruce Horrocks
2022-12-05 21:20:07 UTC
Permalink
Post by olaf
Post by Bruce Horrocks
I started on an Arduino project to read the signals and then
(eventually) Bluetooth the display to a PC, got so far and then got
distracted by other projects!
I did some more investigation in the lcd data format but something strange
happens in our old calculator. :)
The picture shows the dataline to the SED1181: (one row of 64)
http://www.criseis.ruhr.de/bilder/Datenpaket01.jpg
The schematic (https://www.hpcalc.org/details/3543) show that
there are two cascaded SED1181. That is understandable.
But one SED1181 has only 2x32Bit register, so two of them provide
2x2x32bit = 128bit for one row. This is to less, because the HP48
has 131pixel in one row.
But as you can see in my picture the Yorke put out 67x2=134pixel in one row.
I am now very astonished where the calculator stores the extra pixel!
So I am now thinking if it is possile HP used a special SED1181 with
a bigger register.
I don't know where the 128 -> 131 pixel data is coming from. It's
possible that the SED1181 is manufactured with some extra memory for
"mapping in" when there is a production fault to save throwing away a
whole chip. Maybe HP tested the chips and selected perfect ones to use
the extra?

The 131 -> 134 extra 'pixels' might be for the annunciators (and the
calc sends them with every row to make the processing simpler)?

I can't remember whether the overhead projector display includes
annunciators - I didn't think so but will have to get it out and check.

This is all speculation - I think only someone who worked on the 48
hardware would know for sure.
Post by olaf
Oh..and the datasheet for the SED1181 show an SED1191 for selecting the 64 rows.
This circuit did not exist in the HP48. But there are many unused
pin in the schematic, so I guess the Yorke did drive it directly,
but I did not checked it now.
Olaf
p.s: My measurement is taken on my special HP48SX with doubled clock.
So it is faster compared to an unmodified 48SX. .-)
p.s2: It is a shame that the spi-decoder in the RTB2004 can only decode
32bit and not 64 or 67, sigh.
p.s3: And why 131? That is a number that should not exist in the brain
of a hardware or software developer. :)
That bit is easy: the last character on the line doesn't need a blank
pixel column to separate it from the next character because there is no
next character.
--
Bruce Horrocks
Surrey, England
Eric Rechlin
2022-12-06 02:56:51 UTC
Permalink
Post by Bruce Horrocks
Post by olaf
p.s3: And why 131? That is a number that should not exist in the brain
of a hardware or software developer. :)
That bit is easy: the last character on the line doesn't need a blank
pixel column to separate it from the next character because there is no
next character.
Also, it's because the softkey menus are 21 pixels wide, and there is
one space between each one. 21 times 6 = 126, and add 5 for the spaces
and you get 131.

Eric
Jerry Xu
2022-12-07 02:33:50 UTC
Permalink
Post by olaf
Post by Jerry Xu
Hi Olaf, I Think your idea is definitely possible. Since the data sheet of
I know that it is possible because I connected my Logicanalyzer to the
datastream. :-D
Post by Jerry Xu
SED1181 is obtainable, we may just use one STM32, or any other kind of
micro-controller, to build an converter.
It is not so easy. The HP sends 2x67bits. ARGH! That is a little bit
unusual for traditional SPI Hardware in any controller.
Perhaps with RP2040 or an CPLD/FPGA. But in this case we have to think a
little bit about power consumption. .-)
A lower-end lattice FPGA should not add too much power consumption.
Post by olaf
Post by Jerry Xu
I just got a set of HP48 with keyboard problem, I may attempt to
dissemble it and go forward to build a converter. It sounds a fun
little project to do.
Strange, I have many HP48 because I bought them wenn they are cheap, but
I have never seen a keyboard problem. Only the HP49 ist famous for it
and I have a 49 with broken Keyboard.
BTW: Ich bought my first HP48SX in 1990 for 700DM, in the first year I
pour out a cup of tea (with sugar) on it. I had to open it without
youtube video (looks strange since this opening), I dryed it, but never
opend the keyboard themself. It is still working! The first years the
keys felt a little bit rough because of the sugar, but the sugar is
pressed to dust and it feels like new in the last 20years. So I think
the keyboard is bulletproof.
Olaf
The HP48G I got is weird. It failed the test program, but every buttons
works when I only press one button down at a time.

I tried the twist-method and the situation of the keyboard did not get
better.

JX

Loading...