As I already mentioned, I am willing to volunteer for the following changes in SMSQ.
- have all windows draw their contents in the save area - background update of windows (same mechanism) In general I propose the following changes. - Application should not draw onscreen, but in the save area. When they properly use the iow.xtop call as exists at the moment, nothing needs to be done, except that the use of iow.xtop will no longer be necessary (the call now gives the address with the screen base, so that makes things easy). In practice the applications which work in extended resolutions will not need any changes. - When switching jobs, the picture on screen does not have to be copied to the save area. - Applications should be able to mark their save area to make sure the screen does not reflect changes. This is done to prevent unwanted flicker. - A scheduler task needs to be written. This should run through the window pile and for all windows check whether the contents has changed, and update the lines where the changes took place. In principle it should be straightforward to write the routines which does this under the assumption that everything needs to be updated. The drawing routines should be adjusted to set a bit to mark the line in the save area which has changed. (Optionally, it might also be good to mark the save area as changed.) If these bits are stored in a separate vector, they could be tested using 32 rows at once and consume little extra memory. At a later stage, this approach could be extended to allow save areas to have a shallower bit depth than the screen, thus saving even more memory. -- Joachim Van der Auwera http://www.triathlon98.com/Joachim/