??? 28/3/2002 3:33:00 ��, ?/? Dexter <[EMAIL PROTECTED]> ??????: >On Thu, 28 Mar 2002, Phoebus Dokos wrote: > >> The problem is not when you want to move the whole screen or at least huge >> parts of it as the calculations are minimal but when you want to quickly >> move around very small screen blocks very fast. >> A good analogy would be to calculate sine or cosine every time when you can >> just use a table :-) > >My algorythm is still quicker. Some values are calculated just once.
Well send away then why do you keep me in agony? :-D > >The X, Y, X',Y' dimensions. >The Xinstep, Yinstep, Xinstep', Yinstep' (distance in from edge in bytes) Since I am in essence moving sprite-like objects the steps are calculated and put on a table based on the allowable grid on each screen. >Xscale, Yscale (redundant if 1:1) >Xmax', Ymax' (to quickly detect overrun of the side/bottom of the new >screen, required only on the first and last lines) Actually this is provided from SCR_XLIM, SCR_YLIM > >If you check the bounds first, then calculate the required steps and >offsets, it's a straight nested loop to do the copy. Yes my thoughts exactly :-) > >My worry is you said that the start of (either one of?) the screen >memories could move while the copy/move is happening. This doesn't happen IIRC. What happens is that when a mode change occurs the address CAN be moved (Not that it happens :-) (But of course Marcel would know better :-) If this is the case, >these checks have to be done whether you use a table or not. Or find out >what causes the screen base address to change, and block that activity >while the copy is in progress? > I don't think that would be possible without a redirecting program that would intercept the calls and suspend them while the move is in progress... however I don't think that that's the case here :-) >IMHO > >Dave > > > -- Phoebus R. Dokos - Quantum Leap Software Web and Graphic Design - Custom Program Solutions Tech Support - Software Localization Web: http://www.dokos-gr.net ICQ#:34196116 / SMS:+30973267887 SMS:[EMAIL PROTECTED]
