
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
; DATA
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
align 4
d0csprtbl       dd      cspr02,cspr01,cspr00

d0csprloctbl    dd      400*168+320,400*200,-32,400*-32+288
d0csprdtbl      dw      -4,-1600,4,1600
d0csprcntrtbl   db      88,58,88,58

d0csprloc       dd      400*168+320
d0csprd         dw      -4

d0csprindex     db      0
d0csprcntr      db      88
d0csprnexti     db      0

;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
; CODE
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±

;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
p00:                                    ; rolling daisy
        mov edi,d0csprloc
        movsx eax,d0csprd
        add edi,eax
        mov d0csprloc,edi
        mov ebx,edi
        sar edi,2
        add edi,_vidptr
        and ebx,3
        mov al,vidbittbl2[ebx]
        movzx ebx,d0csprindex
        sub bl,1
        jnc short p00f0
        mov bl,2
p00f0:
        mov d0csprindex,bl
        mov dx,3c5h
        call d0csprtbl[ebx*4]
        dec d0csprcntr
        jnz _ret

        movzx ebx,d0csprnexti
        inc ebx
        and bl,3
        mov d0csprnexti,bl
        mov eax,d0csprloctbl[ebx*4]
        mov d0csprloc,eax
        mov ax,d0csprdtbl[ebx*2]
        mov d0csprd,ax
        mov al,d0csprcntrtbl[ebx]
        mov d0csprcntr,al
        jmp setnext

