Page 1 of 1

CLLCD issues

Posted: Sat Nov 23, 2019 1:30 pm
by Toros
I found two issues related to CLLCD.

1. CLLCD does not seem to blank the entire display as defined in the HP-42s manual.
After CLLCD, contents of stack registers are displayed (but goose does not fly) until at least one pixel has been plotted by effective PIXEL or AGRPH commands. As soon as a pixel is plotted, the LCD is cleared.

2. When a pixel has been plotted, the entire display is blanked except for the plotted pixel and the first row. There is a horizontal line in the first row, like one drawn by X=?/Y=-1/PIXEL, but this is rather hard to see as it is at the upper edge of the LCD. The horizontal line disappears when any one pixel is plotted in the first row.

I observed these behaviors for GrMod=2 and 3.

Here is a program to demonstrate an example of 1 above.

Code: Select all

LBL "test1"
X=0?
CLLCD
1.005
STO 00
LBL a
RCL 00
PSE
ISG 00
GTO a
"???????"
7
40
AGRAPH
STOP
END
You can choose whether to skip CLLCD or not by setting X=0 or 1 before XEQ test1.
If you run this program in your DM42, no matter CLLCD is skipped or not, you will see the counter 00 in the display and the LCD is blanked before a black dot is plotted.
If you run this program in a Free42, when CLLCD is skipped, you will see the counter 00 in the display and a black dot is plotted over Y and X registers, and when CLLCD is not skipped, the LCD is blanked and a black dot is plotted alone.

Try to run the next program to see what I mean by 2 above.

Code: Select all

LBL "test2"
CLLCD
CLA
"??????"
2
5
AGRAPH
STOP
CLA
0
XTOA
1
1
AGRAPH
RTN
END
When the program stops after the first AGRAPH, you will see no gap between the black dot and the upper edge of the LCD. Then you press R/S and you will see a gap appearing between the black dot and the upper edge. The horizontal line at the first row was erased.

In conclusion the following steps of codes will effectively blank the entire display.

Code: Select all

CLLCD
CLA
0
XTOA
1
1
AGRAPH
I wonder if it is only in my DM42 where these problems occur, or are they real problems in the current DM42 firmware?