'===========================================================================
' Subject: FRACTAL FERN                       Date: 08-09-98 (03:32)       
'  Author: Daniel Davies                      Code: ASIC                   
'  Origin: ia53@rapid.co.uk                 Packet: ASIC.ABC
'===========================================================================
rem IFS Fern by Daniel Davies
rem E-Mail :- ia53@rapid.co.uk/ia53
rem
rem This program has been optimized more for size than speed, so on some older computers
rem it may run quite slowly

ax=&hex13
int86 (&hex10,ax,na,na,na,na,na,na,na,na)

defseg = &hexA000

RANDOMIZE

tmp:

temp = RND(0)
Temp = temp MOD 100
r@ = temp / 100

   a@ = 0
   b@ = 0
   c@ = 0
   d@ = .16
   f@ = 0
   col = 1

IF r@ > .01 THEN
    a@ = .85
    b@ = .04
    c@ = -.04
    d@ = .85
    f@ = 1.6
    col = 2
ENDIF
IF r@ > .86 THEN
    a@ = .2
    b@ = -.26
    c@ = .23
    d@ = .22
    f@ = 1.6
    col = 3
ENDIF
IF r@ > .93 THEN
    a@ = -.15
    b@ = .28
    c@ = .26
    d@ = .24
    f@ = .44
    col = 4
ENDIF

newx@ = a@ * x@
tmp@ = b@ * y@
newx@ = newx@ + tmp@

newy@ = c@ * x@
tmp@ = d@ * y@
newy@ = newy@ + tmp@
newy@ = newy@ + f@

x@ = newx@
y@ = newy@


xd@ = x@ + 4
xd@ = xd@ * 32

yd@ = y@ * 20
yd@ = 200 - yd@

off& = yd@*320
off& = off&+xd@

poke off&,col


text$ = INKEY$
IF text$ = "" THEN tmp:


ax=&hex03
int86 (&hex10,ax,na,na,na,na,na,na,na,na)
cls
print "Fractal Fern"
Print "------------"
Print "by Arclight"
print ""
print "E-Mail :- ia53@rapid.co.uk"
print "WWW    :- www.users.rapid.net.uk/ia53/"
