home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1986 October / Antic_Magazine_1986_10_Antic.atr / stretch.act < prev    next >
Text File  |  2023-02-26  |  2KB  |  1 lines

  1. ;STRETCH¢;BY LLOYD BURCHILL¢;(c) 1986, ANTIC PUBLISHING¢¢Module¢¢byte key=764,IR     ¢card scr=88,dlist=560¢¢define dlspace="14592"¢define dlsend= "14592 +575"¢ ;a 580 byte long space is needed¢ ;that includes no addresses on¢ ;a 1K boundary¢ ;(excepting first byte)¢¢card array memline(192)¢¢Proc Stretch(card lines,card vstart)¢¢;Parameters:¢;'lines' is number of scan lines the image should occupy on the screen¢;'vstart' is scan line of original image that will appear at top of screen¢¢Byte pointer p¢card pointer q¢card bigline,addr,inc,temp¢¢inc=24576/lines¢¢bigline=(inc rsh 1)+(vstart lsh 7)¢¢p=dlspace+3¢q=dlspace+4¢¢do¢¢ temp=bigline rsh 7¢ addr=memline(temp)¢¢ p^=IR+64¢ p==+3¢¢ q^=addr¢ q==+3¢¢ bigline==+inc¢ if bigline>24576 or p>dlsend then exit fi¢¢od¢¢p^=65¢¢Return¢¢¢Proc Sinit()       ;initialize¢card a¢¢setblock(dlspace,3,112)¢¢for a=0 to 191 do¢memline(a)=scr+a*40 od¢;change to 'a*20' to use mode 14¢¢stretch(192,0)¢dlist =dlspace¢¢Return¢¢¢Proc Load()        ;load disk picture¢byte pointer p¢¢Close(5)¢Open(5,"D1:PICTURE",4,0)¢¢for p=scr to  scr+7679¢do¢ p^=GetD(5)¢od¢¢ p=712¢ p^=GetD(5)¢¢for p=708 to  710¢do¢ p^=GetD(5)¢od¢¢Close(5)¢¢Return¢¢ ¢Proc Drawing()     ;example picture¢byte t,u,v,w,x,y,z¢¢for w=0 to 30¢do¢ color=rand(16)¢ x=rand(76)¢ y=rand(180)¢ for z=0 to 3¢  do¢  Plot(x+z,y) Drawto(x+z,y+12)¢  od¢od¢¢for x=0 to 14¢do¢ color=x+1¢ Plot(0,x) Drawto(79-x,95) Drawto(0,191-x)¢ Plot(0,29-x) Drawto(52+x,95) Drawto(0,163+x)¢od¢¢for w=0 to 15¢do¢ z=10+ rand(70)¢ y=rand(192-z)¢ u=rand(20)¢ v=rand(50-u)+15¢ t=10+rand(21)¢¢ for x=0 to 14¢ do¢  color=(15-x)*t/30¢  Plot(v-x,y+z)¢  Drawto(v-10+u,y)¢  Drawto(v+x,y+z)¢ od¢od¢¢Return¢¢¢Proc Rubber_Band() ;main procedure¢byte pad1=624,pad2=625,mode¢card h¢¢do¢   IR=15¢   ;use 15 for modes 8,9,10,11¢   ;use 14 for mode 15, "graphics 7 1/2"¢   ;use 12 for mode 14  (160 x 192 x 2 colors)¢¢  Graphics(0)¢  Poke (752,1)¢  PrintE ("כoad your own picture")¢  PrintE ("גemo mode") ¢¢  do¢     until key=0 OR key=58¢  od¢  mode=key¢  Poke(764,255)¢  ¢   if mode=58 then¢     Graphics(9) Poke(712,128)¢     Drawing()¢¢   elseif mode=0 then¢     Graphics(8) Poke(712,128)¢     IR=14¢     Load()¢   fi¢ ¢  ;Use either Load() or Drawing()¢  ;and adjust graphics call¢  ;according to preference¢ ¢  Sinit()¢  do¢¢   h=pad1¢¢   if pad2<192 then¢    Stretch(h lsh 1 ,pad2)¢   fi¢ ¢  until key<>255¢  od ¢¢until 0=1¢od¢¢Return¢¢¢¢