
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
; DATA
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
align 4
d7cspr          dd      cspr16

d7csprtbl       dd      cspr16,cspr0a,cspr17

d7x             dd      0

d7ecc           dw      4040h
d7eccd          dw      0ffffh

d7cspri         db      0
d7ecccntr       db      3
d7xd            db      2
d7phase         db      0

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

;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
p70:
        mov eax,d7x
        movsx ebx,d7xd
        add eax,ebx
        mov d7x,eax
        jz short p7f0
        cmp eax,470
        jb short p7f1
p7f0:
        neg bl
        mov d7xd,bl
        movzx eax,d7cspri
        inc al
        cmp al,3
        jb short p7f6
        xor al,al
p7f6:
        mov d7cspri,al
        mov eax,d7csprtbl[eax*4]
        mov d7cspr,eax
        jmp setnext
p7f1:

        mov cx,d7ecc
        mov bx,d7eccd
        add cl,bl
        cmp cl,10h
        je short p7f2
        cmp cl,40h
        jne short p7f3
p7f2:
        neg bl
p7f3:
        dec d7ecccntr
        jnz short p7f5
        mov d7ecccntr,3
        add ch,bh
        cmp ch,10h
        je short p7f4
        cmp ch,40h
        jne short p7f5
p7f4:
        neg bh
p7f5:
        mov d7ecc,cx
        mov d7eccd,bx

        mov eax,40h
        sub al,cl
        imul ebp,eax,100
        add ebp,_vidptr

        mov edx,703c5h
        mov ebx,offset sincos0
        mov bl,d7phase
        add bl,5
        mov d7phase,bl
p7l0:
        movzx eax,byte ptr [ebx]
        mul cl
        shr eax,7
        imul edi,eax,100
        add bl,40h
        movzx eax,byte ptr [ebx]
        mul ch
        shr eax,7
        add eax,d7x
        sub eax,128
        cmp eax,340
        jae short p7l0c
        mov esi,eax
        sar eax,2
        add edi,eax
        lea edi,[edi+ebp+100*26-5]
        and esi,3
        mov al,vidbittbl2[esi]
        call d7cspr
p7l0c:
        add bl,32-40h
        sub edx,10000h
        jnc p7l0
        ret

