Difference between revisions of "83Plus:RAM:8447"

From WikiTI
Jump to: navigation, search
 
m (Formatting fun)
Line 14: Line 14:
 
  add a, 0D8h
 
  add a, 0D8h
 
  out (10h), a
 
  out (10h), a
  CALL 000Bh ;Delay required time, or find some other way to waste/use 60 cycles.
+
  CALL 000Bh ;Delay required time, or find some other way to waste/use 60 cycles.</nowiki>
</nowiki>
+
  
 
This simple routine sets both the system contrast and the LCD contrast to whatever is in A (valid range is 00~27h, does nothing if out of range).
 
This simple routine sets both the system contrast and the LCD contrast to whatever is in A (valid range is 00~27h, does nothing if out of range).
Line 26: Line 25:
 
  pop af
 
  pop af
 
  ret
 
  ret
  ;Waste/Use ~45 cycles before accessing LCD directly.
+
  ;Waste/Use ~45 cycles before accessing LCD directly.</nowiki>
</nowiki>
+

Revision as of 10:05, 21 April 2005

Synopsis

Official Name: contrast

Memory Address: 8447h

Length: 1 byte.

This area holds the system contrast value. When you press 2nd+Up or 2nd+Down while in a GetKey, GetKey automatically increases or decreases this value and updates the LCD's contrast. The accepted range of this value is 00h ~ 27h.

Comments

Changing this value does not "instantly" update the LCD contrast; you must manually update the LCD. To set the LCD contrast to match the calculator's, add D8h to the read value and output to Port 10h:

 ld a, (contrast)
 add a, 0D8h
 out (10h), a
 CALL 000Bh ;Delay required time, or find some other way to waste/use 60 cycles.

This simple routine sets both the system contrast and the LCD contrast to whatever is in A (valid range is 00~27h, does nothing if out of range).

 cp 28h
 ret nc ;NC means >= which is bad, so bail out.
 ld (contrast), a
 push af
 add a, 0D8h
 out (10h), a
 pop af
 ret
 ;Waste/Use ~45 cycles before accessing LCD directly.