Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program SVGA_Julia_DEMO_rel2 ;{ Diman rulez, Andrusha sucks !!! }
- { Trident/S3 SVGA cards now supported, 640x480, 256 colors}
- { Trident9000 bug fixed }
- Const ChSiz=4096 ;
- ITER=5000 ;
- Var Cache: array [0..ChSiz-1] of byte ;
- sa,B,cp : word ;
- Procedure SVGA (c:byte);
- Begin Cache[cp]:=c; inc(cp);
- if cp=Chsiz then
- Begin
- cp:=0 ;
- if sa=0 then begin
- asm mov dx, B
- mov ax, 4f05h
- xor bx, bx
- int 10h end;
- B:=B+1; end;
- asm mov di, sa
- push 0a000h
- pop es
- mov si, offset Cache
- mov cx, ChSiz/4
- cld
- DB 66h
- rep movsw
- add sa, ChSiz end;
- End;
- End;
- Var x,y,pk,k: integer; dx,dy,xp,yp,xr,yr,x0,xl,yl,xs,ys,p,q,m : double ;
- Begin
- xl:=-0.095100101; yl:=-0.40001010099;
- xs:=0.2; ys:=0.2; p:=-0.9251; q:=0.301;
- asm mov ax, 4f02h
- mov bx, 101h
- int 10h end;
- repeat
- begin
- sa:=0; B:=0; cp:=0;
- xp:=xl; yp:=yl; dx:=xs/639; dy:=ys/479;
- for y:=0 to 479 do
- Begin
- for x:=0 to 639 do
- Begin
- xr:=xp; yr:=yp; k:=-1;
- repeat
- x0:=xr;
- xr:=xr*xr-yr*yr+p;
- yr:=2*x0*yr+q;
- inc (k);
- until (k>=ITER) or (xr*xr+yr*yr > 400 );
- if ((k=pk) and (k<=15)) or (k=ITER) then begin pk:=k; k:=0; end else pk:=k;
- if (k>20) and (k<32) then k:=0;
- SVGA (k); xp:=xp+dx;
- End; xp:=xl; yp:=yp+dy;
- End;
- m:=xs*0.01;
- xs:=xs-m ; ys:=ys-m ; xl:=xl+m/2 ; yl:=yl+m/2 ;
- end
- until false ;
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement