To be honnest, even I do not know, nor care about these details (Cyrille). Don't bother about this and just download the graphics.cpp file in the HP sdk where you will find 4 functions:
DrawGraphic (draws a 43*6 graphics in the dot matrix area)
DrawText (displays text in the 43*6 graphics in the dot matrix area)
DrawNumber (displays numbers in the number area).
(Someone else needs to double check this.)
Segment | Address | Value |
---|---|---|
Big equals | 0xfffb420c | 0x80 |
360 | 0xfffb4214 | 0x80 |
RPN | 0xfffb4214 | 0x40 |
RAD | 0xfffb421c | 0x80 |
RCL | 0xfffb4224 | 0x80 |
STO | 0xfffb422c | 0x80 |
BEG | 0xfffb4234 | 0x80 |
Battery symbol | 0xfffb423c | 0x80 |
Tiny equals | 0xfffb4244 | 0x80 |
Input | 0xfffb424c | 0x80 |
Shift | 0xfffb4204 | 0x80 |
Here's what I worked up on the main digit and exponent area.
Digit | Segment | Address | Value |
---|---|---|---|
(leading negative) | c | 0xfffb4228 | 0x40 |
0 | a | 0xfffb4210 | 0x80 |
0 | b | 0xfffb4210 | 0x40 |
0 | c | 0xfffb4218 | 0x80 |
0 | d | 0xfffb4210 | 0x100 |
0 | e | 0xfffb4218 | 0x40 |
0 | f | 0xfffb4220 | 0x40 |
0 | g | 0xfffb4220 | 0x80 |
0 | h | 0xfffb4228 | 0x100 |
0 | i | 0xfffb4228 | 0x80 |
1 | a | 0xfffb4210 | 0x200 |
1 | b | 0xfffb4218 | 0x100 |
1 | c | 0xfffb4218 | 0x200 |
1 | d | 0xfffb4218 | 0x400 |
1 | e | 0xfffb4220 | 0x100 |
1 | f | 0xfffb4220 | 0x200 |
1 | g | 0xfffb4220 | 0x400 |
1 | h | 0xfffb4228 | 0x400 |
1 | i | 0xfffb4228 | 0x200 |
2 | a | 0xfffb4210 | 0x800 |
2 | b | 0xfffb4210 | 0x400 |
2 | c | 0xfffb4218 | 0x800 |
2 | d | 0xfffb4210 | 0x1000 |
2 | e | 0xfffb4220 | 0x800 |
2 | f | 0xfffb4228 | 0x800 |
2 | g | 0xfffb4218 | 0x1000 |
2 | h | 0xfffb4220 | 0x1000 |
2 | i | 0xfffb4228 | 0x1000 |
3 | a | 0xfffb4210 | 0x4000 |
3 | b | 0xfffb4210 | 0x2000 |
3 | c | 0xfffb4218 | 0x2000 |
3 | d | 0xfffb4218 | 0x4000 |
3 | e | 0xfffb4220 | 0x2000 |
3 | f | 0xfffb4228 | 0x2000 |
3 | g | 0xfffb4220 | 0x4000 |
3 | h | 0xfffb4220 | 0x8000 |
3 | i | 0xfffb4228 | 0x4000 |
4 | a | 0xfffb4210 | 0x10000 |
4 | b | 0xfffb4210 | 0x8000 |
4 | c | 0xfffb4218 | 0x10000 |
4 | d | 0xfffb4210 | 0x20000 |
4 | e | 0xfffb4218 | 0x8000 |
4 | f | 0xfffb4228 | 0x8000 |
4 | g | 0xfffb4220 | 0x10000 |
4 | h | 0xfffb4228 | 0x20000 |
4 | i | 0xfffb4228 | 0x10000 |
5 | a | 0xfffb4210 | 0x40000 |
5 | b | 0xfffb4218 | 0x20000 |
5 | c | 0xfffb4218 | 0x40000 |
5 | d | 0xfffb4218 | 0x80000 |
5 | e | 0xfffb4220 | 0x20000 |
5 | f | 0xfffb4220 | 0x40000 |
5 | g | 0xfffb4220 | 0x80000 |
5 | h | 0xfffb4228 | 0x80000 |
5 | i | 0xfffb4228 | 0x40000 |
6 | a | 0xfffb4210 | 0x100000 |
6 | b | 0xfffb4210 | 0x80000 |
6 | c | 0xfffb4218 | 0x100000 |
6 | d | 0xfffb4210 | 0x200000 |
6 | e | 0xfffb4220 | 0x100000 |
6 | f | 0xfffb4228 | 0x100000 |
6 | g | 0xfffb4218 | 0x200000 |
6 | h | 0xfffb4220 | 0x200000 |
6 | i | 0xfffb4228 | 0x200000 |
7 | a | 0xfffb4210 | 0x800000 |
7 | b | 0xfffb4210 | 0x400000 |
7 | c | 0xfffb4218 | 0x400000 |
7 | d | 0xfffb4218 | 0x800000 |
7 | e | 0xfffb4220 | 0x400000 |
7 | f | 0xfffb4228 | 0x400000 |
7 | g | 0xfffb4220 | 0x800000 |
7 | h | 0xfffb4220 | 0x1000000 |
7 | i | 0xfffb4228 | 0x800000 |
8 | a | 0xfffb4210 | 0x2000000 |
8 | b | 0xfffb4210 | 0x1000000 |
8 | c | 0xfffb4218 | 0x2000000 |
8 | d | 0xfffb4210 | 0x4000000 |
8 | e | 0xfffb4218 | 0x1000000 |
8 | f | 0xfffb4228 | 0x1000000 |
8 | g | 0xfffb4220 | 0x2000000 |
8 | h | 0xfffb4228 | 0x4000000 |
8 | i | 0xfffb4228 | 0x2000000 |
9 | a | 0xfffb4210 | 0x8000000 |
9 | b | 0xfffb4218 | 0x4000000 |
9 | c | 0xfffb4218 | 0x8000000 |
9 | d | 0xfffb4218 | 0x10000000 |
9 | e | 0xfffb4220 | 0x4000000 |
9 | f | 0xfffb4220 | 0x8000000 |
9 | g | 0xfffb4220 | 0x10000000 |
9 | h | 0xfffb4228 | 0x10000000 |
9 | i | 0xfffb4228 | 0x8000000 |
10 | a | 0xfffb4210 | 0x20000000 |
10 | b | 0xfffb4210 | 0x10000000 |
10 | c | 0xfffb4218 | 0x20000000 |
10 | d | 0xfffb4210 | 0x40000000 |
10 | e | 0xfffb4220 | 0x20000000 |
10 | f | 0xfffb4228 | 0x20000000 |
10 | g | 0xfffb4218 | 0x40000000 |
10 | h | 0xfffb4220 | 0x40000000 |
10 | i | 0xfffb4228 | 0x40000000 |
11 | a | 0xfffb4214 | 0x1 |
11 | b | 0xfffb4210 | 0x80000000 |
11 | c | 0xfffb4218 | 0x80000000 |
11 | d | 0xfffb421c | 0x1 |
11 | e | 0xfffb4220 | 0x80000000 |
11 | f | 0xfffb4228 | 0x80000000 |
11 | g | 0xfffb4224 | 0x1 |
11 | h | 0xfffb422c | 0x2 |
11 | i | 0xfffb421c | 0x1 |
negative exponent | (-) | 0xfffb421c | 0x2 |
12 | a | 0xfffb4214 | 0x4 |
12 | b | 0xfffb4214 | 0x2 |
12 | c | 0xfffb4224 | 0x4 |
12 | d | 0xfffb421c | 0x4 |
12 | e | 0xfffb4224 | 0x2 |
12 | f | 0xfffb422c | 0x4 |
12 | g | 0xfffb422c | 0x8 |
13 | a | 0xfffb4214 | 0x10 |
13 | b | 0xfffb4214 | 0x8 |
13 | c | 0xfffb421c | 0x8 |
13 | d | 0xfffb421c | 0x10 |
13 | e | 0xfffb4224 | 0x8 |
13 | f | 0xfffb422c | 0x10 |
13 | g | 0xfffb4224 | 0x10 |
14 | a | 0xfffb421c | 0x40 |
14 | b | 0xfffb4214 | 0x20 |
14 | c | 0xfffb421c | 0x20 |
14 | d | 0xfffb4224 | 0x40 |
14 | e | 0xfffb4224 | 0x20 |
14 | f | 0xfffb422c | 0x20 |
14 | g | 0xfffb422c | 0x40 |
Digit zero at the left. Digits 12, 13, and 14 are the small exponent digits.
Segment | Position |
---|---|
a | Top center horizontal |
b | Top left vertical |
c | Center horizontal |
d | Top right vertical |
e | Bottom left vertical |
f | Bottom center horizontal |
g | Bottom right vertical |
h | Decimal point |
i | Comma |
LCD contrast seems to be controlled by the low 4 bits of SUPV_MR (0xfffffd18). Be sure that you write the access key to the high byte so that changes to SUPV_MR will be accepted.