??? 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]


Reply via email to