Bit Val
ue
Zone
0
1
Main area (stack/graphics)
1
2
Goose
2
4
Annunciators
In order to prevent any part of the LCD from refreshing and thus maximize performance, store the
value 0 (zero) in "RefLCD". Storing 1 in the variable means that the main area will be updated with
200ms timeout (stack or the graphics display if that is what is active). 2 will allow the goose to fly
and 4 will allow the annunciators (including the flag tiles) to be updated. To have more than one
zone refreshed during program execution, store the sum of the bit value(s) in "RefLCD" as follows:
Val
ue
Bina
ry
Zone(s)
0
000 None (no refreshing occurs)
1
001 Main area
2
010 Goose
3
011 Main area and goose
4
100 Annunciators
5
101 Annunciators and main area
6
110 Annunciators and goose
7
111 Annunciators, goose and main area (everything)
You can, however, still refresh zones on an ad hoc basis even when they don’t normally refresh by
storing the negative value of the bitmask value in "RefLCD". For example, to update the
annunciators programatically "now", store -4 to "RefLCD".
One exception to this is the message area in which VIEW and AVIEW show their results. This is
never disabled and is repainted with 200ms delay(if needed) even if zero is stored in "RefLCD". If
the redraw response isn’t fast enough (e.g. for a stopwatch application, see below) then you can
have the message area refreshed by program by storing the value -8 in "RefLCD". This program
shows an example of how to use it:
4