At 08:12 �� 19/2/2002 +0100, you wrote:

>Joachim Van der Auwera wrote:
> > Oh yes there is. The trick is not to restore the screen, save and write the
> > sprite at the new position. You have to be more intelligent and shift data
> > in your buffer, restoring what is uncovered and saving what is newly
> > covered. More difficult to write, but always gives good results, 
> independent
> > of execution speed.
>
>Helps, but doesn't solve the problem (I'm talking theoretically here,
>possibly with enough effort the effects can be neglected but they are
>there!). There is a time when you have to copy everything to screen
>and when the screen refresh gets you then (when only halve of the
>painting is done) there's nothing you can do about it.
>
>This is the reason why if you move the mouse cursor using the keyboard
>the movement looks a bit more jerky on QPC than on the original
>hardware, where the PE can rely on the frame interrupt.

I don't know about that since it looks fine to me!
Nonetheless to prove my point I used the MEMORY_MOVE command on QPC2 as 
follows:


100 SIZE = SCR_XLIM*SCR_YLIM*2
110 LENGTH% = SCR_XLIM * 2
120 MAX_SCREEN = SCR_BASE + SIZE
130 buffer_norm = ALLOCATION (SIZE)
140 buffer_rev   = ALLOCATION (SIZE)
150 FOR I=0 TO SIZE STEP LENGTH% : REMark Read Pixel line
300       MOVE_MEMORY SCR_BASE+I TO buffer_rev+SIZE-I , LENGTH% : REMark 
Store Pixel Line Finish to Start
320 END FOR I
330 MOVE_MEMORY SCR_BASE TO buffer_norm, SIZE: REMark Store Full 
(unreversed) screen
340 FOR f=1 TO 100
350       MOVE_MEMORY buffer_norm TO SCR_BASE, SIZE: REMark Copy The 
unreversed screen to the screen memory
350       MOVE_MEMORY buffer_rev TO SCR_BASE, SIZE: REMark Copy The 
reversed screen to the screen memory
360 END FOR f
370 DEALLOCATE buffer_rev
380 DEALLOCATE buffer_norm


The full thing was compiled with TURBO 4.9 and the results... well see for 
your self.. It seems pretty fast and flicker free to me :-)
Okay it is "relatively slow" but nonetheless when dealing with 64x64 or 
less pixel areas, I believe that the flicker would not even be visible
If anyone can try this out on a Q40 and Q60 I would very much appreciate it.

Phoebus


>Marcel

Reply via email to