hi shocky
i have replaced your Asm code with SSE to get more FPS ,so please test it and feed back the results
'-------------------------------------------------------------------------------
' CLEAR THE OLD SCREEN BUFFER WITH SOME KIND OF FUCKED UP COPPERLIST :p
'-------------------------------------------------------------------------------
SUB CLEAR_AND_COP()
DIM AS UINTEGER A
DIM AS INTEGER TC,SLICE
DIM AS INTEGER PTR PP
FOR A=0 TO YRES-1
SELECT CASE A
CASE TPBAR-1,TPBAR+21,BTBAR-1,BTBAR+21
TC=&H000066
CASE TPBAR TO TPBAR+20
TC=&H0000AA
CASE BTBAR TO BTBAR+20
TC=&H0000AA
CASE ELSE
TC=&H000000
END SELECT
SLICE = XRES
PP = @BUFFER(A*XRES)
' asm
' mov eax,dword ptr[TC]
' mov ecx, [slice]
' mov edi, [PP]
' rep stosd
' end asm
asm
mov eax,dword ptr[TC]
movd xmm7,eax
pshufd xmm7,xmm7,0
mov edi,[PP]
mov ecx,[slice]
shr ecx,3
.lop:
movdqu [edi],xmm7
movdqu [edi+16],xmm7
add edi,16*2
dec ecx
jnz .lop
End Asm
NEXT
END SUB