
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
; DATA
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
align 4
d3tile          dd      ?,?,?,?
d3sizeseed      dd      10010111010010101101111011000010b

d3loc           dw      53c7h
d3locd          dw      137eh

d3size          db      0
d3counter       dw      ?
d3counter2      db      4

d3sizetbl       db      4,4,4,4, 5,5,6,7

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

;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
p30:                                    ; growing 4 bitmaps at rnd locs
        movzx edi,d3loc
        mov cl,d3size
        mov bl,1
        shl bl,cl
        movzx eax,bl
        dec bl
        inc cl
        mov d3size,cl
        mov bh,bl
        mov ecx,eax
        xchg cl,ch

        mov edx,d3tile[12]
        call _sc_tobuf
        sub di,ax
        mov edx,d3tile[8]
        call _sc_tobuf
        sub di,cx
        mov edx,d3tile[0]
        call _sc_tobuf
        add di,ax
        mov edx,d3tile[4]
        call _sc_tobuf

        dec d3counter2
        jnz _ret
        movzx eax,d3locd
        add ax,4377h
        rol ax,5
        adc d3loc,ax
        mov d3locd,ax
        adc eax,d3sizeseed
        rol eax,9
        mov d3sizeseed,eax
        and eax,7
        mov al,d3sizetbl[eax]
        mov d3counter2,al
        mov d3size,0
        dec d3counter
        jz setnext
        ret

