> Mike, > > For some time I have been using the technique > of constantly painting the display. > I use an interrupt at abt 2Khz which steps > across the entire screen abt 20 times a second. > > The advantage is that you now have a "virtual > screen" in RAM which is easy to scroll, show > pop up menus, etc, etc... [snip] If you think about it, everything you said can be done without refreshing the display 20 times a second, you just need a flag to the interrupt routine, that says if the RAM and the LCD mismatch, then the routine would update the LCD, otherwise it just ignore the refresh and leave the LCD alone without much overhead to the processor. All you need is a flag byte in memory. Whenever you update the RAM Image, you write $FF in this flag byte. The next time the interrupt routine runs, it should check this flag byte, if it is $FF then it means a change happened to the RAM Image area, then it copies the RAM image to the LCD and clears the flag byte to Zero. Whenever the Interrupt finds the flag as Zero, it just ignores the RAM Image copy and leaves LCD alone, saving precious processing cycles. Of course, the Flag Byte should be the last one to be updated when changing the contents of RAM IMage. What you would be doing is giving few inteligency to the "virtual screen". Wagner Lipnharski http://www.ustr.net ################### Eprom Programmers ################### -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body