@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$) BFDEIH T U VTLPICMAN: Side 2 d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H  }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `8  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D8:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D8:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG *}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES +}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N' ,}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx  -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT .} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL /}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD 0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0. 1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC 2}COPY--FROM, TO?OPTION NOT ALLOWED697 FREE SECTORS COPYING---D8:COPY32.COMl# 0|D .L/%# 3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY 4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A 6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US @}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2 A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! , B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0 C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,Hh D}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURN E}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <. F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#P H},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭ I}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DO J}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξ K}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L! M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥ N}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAME O} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 L P}!ERROR- 138ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXA Q}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u R} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u 8<<  B JKIHiDiELV`L8 8 BLV`Lx$T}8t8l Lu8hihiHHȱȱL8c !#3`Lu8JJJJ`H 8h`H$U}ȩh Q8L8 Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9I9 8 '9h)0IC$V}9D9L8 L :::: :Lr:::IEL[::i:iIIL[:`:i::i$X}::L:`L{:w:w: C`L:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8$Y} x:ɀL: '9`88 |9Y:X: '9L); D8:DUP.SYS; 8::88 9 '98? :`;WL`; 9$Z}Ln; ` :Y;Y;L;L;)} Setting Up ATARI 130XE Ram Disk; 9L; ; -9  $[} L;D8:; :9 :Y;L4 mT+*(mU+ mT+*(mU+i mT+*(mU+(~}ȱi mT+*(mU+ȑ8̀L4L4LI4 .IL4L5L5L5LC4`L 5_͂(}L7 mT+*(mU+^̀L5 mT+*(mU+ mT+*(mU+8 mT+(}*(mU+ȱ8 mT+*(mU+ȑ8LA5 mT+*(mU+ mT+*(mU+(}T+U+ȱT+U+ȑ^̀L6 mT+*(mU+ mT+*(mU+i mT(}+*(mU+ȱi mT+*(mU+ȑiL>6 mT+*(mU+ .L7L7(}L5`L7`͔LA7L67LA7L7`LE7 4- 5* 5* 5* 5*АL}7L7Lp7(} )i )i))͔L8` s) c)` s)? c)mi(}L 8L8ЧL7?͔L8` s) c)_ s) c)miLt8L8ХL8(}͔L8L+mM+mJ+mK+mL8L8зL8`L8 4- L&S+R+ &(}͔L99 &L+mM+mL8 & & & & L& /`Lm9 )L9%PUT (}DISK WITH PICTURE FILES IN DRIVE19u ?&L9PUSH KEY WHEN DONE!9 ?&S+R+ s& L&L9D:*.?IC9ة &S+R+(} z&S+R+ ?&R+iS+iI L":L%:L9 L&L.::- ?&LO:ENTER 'D:FILENAME.EXT':8 ?&Lu:OR JUST HIT TO EXIT(}.:Y ?&L:?: R&S+R+ s&`L: :)L:>: R& :)8͂L  &Ls<Display Master, by(} Dave ObladP+Q+MIPLN>IMLN>ILLN>P+Q+M` ) 5*(}L`>>_ ?&L~>1 = RESTORE DISPLAY>j ?&L>2 = INVERT DISPLAY> ?&L>3 = MIRROR DISPLAY> ?&L>4 = SHIFT DISPLAY> (}?&L>5 = DOUBLE DISPLAY> ?&L ?6 = FOLD DISPLAY> ?&L)?7 = UNFOLD DISPLAY? ?&LH?8 = ROLL DISPLAY 50%?3 ?&Le?9 =(} WAIT 2 SECONDS?R ?&L?0 = REPEAT FROM STEP 1?o ?&L?? ?&L?- = BACK 1 INSTRUCTION? ?&L?+ = SKIP TO NEXT INSTR(}UCTION? ?&L?* = DELETE THIS INSTRUCTION? ?&L@= = BEGIN EXECUTION@ ?& : :)LJ@CHOOSE AN OPTION:@8 R(}& & &I-L~@ͅL~@8I+L@L@/̀L A:L AP+mQ+i8P+e(}Q+i8MLAP+mQ+iL AL@I*L]AP+mQ+iiP+eQ+i(}ILZAL]ALAI=LjALmAL)@ L& ) 5*LAA ?&LA$ DOWN KEY WHEN TONE SOUNDSA ?&LAOR WHEN Y(}OU WANT OPTIONS AGAIN.A ?&LAA ?&LB$ PUSH KEY NOW TO BEGIN TASKS!A ?&L+BL.BLB`L2B X+͂L`B(}P+mQ+iL:BLxB88766777666878868740BcQ+P+ * 7679 THEN EXIT:,}FI RAM(PNTR)=ORG(PNTR)&MASK%RAM(PNTR) IF KEY<7 THEN EXIT:FI OD OD RESTORE()RETURNPROC REVERSE() L=0 FOR Y=,}0 TO 191 DO R=L+39 FOR X=0 TO 19 DO A=RAM(L):B=RAM(R) RAM(L)=REV(B) RAM(R)=REV(A) L==+1:R==-1,} OD L==+20 ODRETURNPROC MIRROR() FOR X=0 TO 95 DO HOLD=DL(X) DL(X)=DL(191-X) DL(191-X)=HOLD OD SHO,}W()RETURNPROC SHIFT() PNTR=0 FOR Y=0 TO 191 DO FOR X=0 TO 19 DO A=RAM(PNTR) RAM(PNTR)=RAM(PNTR+20) ,} RAM(PNTR+20)=A PNTR==+1 OD PNTR==+20 ODRETURN PROC DOUBLE() FOR X=0 TO 95 DO DL(X)=DL(X*2) OD FOR,} X=0 TO 95 DO DL(X+96)=DL(X) OD SHOW()RETURN PROC UNFOLD() X=192 DO X==-1:A=X DO HOLD=DL(A) DL(A)=DL(A,}-1) DL(A-1)=HOLD A==-2 IF A=0 THEN EXIT:FI IF A>250 THEN EXIT:FI OD SHOW() IF X=1 THEN EXIT:FI IF KEY<7 T,}HEN EXIT:FI ODRETURNPROC FOLD() X=0 DO A=X DO HOLD=DL(A) DL(A)=DL(A+1) DL(A+1)=HOLD A==-2 IF ,}A>250 THEN EXIT:FI OD SHOW() X==+1 IF X=191 THEN EXIT:FI IF KEY<6 THEN EXIT:FI ODRETURNPROC ROLL() FOR X=0 TO,} 95 DO LINE=DL(191):Y=191 FOR A=0 TO 94 DO HOLD=DL(Y) DL(Y)=DL(Y-2) DL(Y-2)=HOLD Y==-2 OD,} HOLD=DL(1) DL(1)=DL(0) DL(0)=HOLD Y=0 FOR A=0 TO 94 DO HOLD=DL(Y) DL(Y)=DL(Y+2) DL(Y+2)=H,}OLD Y==+2 OD DL(190)=LINE SHOW() IF KEY<7 THEN EXIT:FI ODRETURNPROC WAIT() FOR PNTR=0 TO 60000 DO ,} IF KEY<7 THEN EXIT:FI ODRETURNPROC MOIRE() MAKE() POKE(712,D1) POKE(708,D2) POKE(709,D3) POKE(710,D4) DO:IF KEY>,}6 THEN EXIT:FI:OD COLOR=1 Y=RAND(9)+2:X=RAND(9)+2 Y=Y&$FE:X=X&$FE FOR PNTR=0 TO 191 DO PLOT(160,96):DRAWTO(0,PNTR) ,} PLOT(159,96):DRAWTO(319,PNTR) PNTR==+Y IF KEY<7 THEN EXIT:FI OD FOR PNTR=0 TO 319 DO PLOT(160,96):DRAWTO(PNTR,},0) PLOT(160,95):DRAWTO(PNTR,191) PNTR==+X IF KEY<7 THEN EXIT:FI OD FOR PNTR=0 TO 7679 DO ORG(PNTR)=RAM(PNTR,}) IF KEY<7 THEN EXIT:FI ODRETURNPROC FETCH() MAKE() CLOSE(1) OPEN(1,FILE,4,0) FOR PNTR=0 TO 7679 DO A=GETD(1,}):ORG(PNTR)=A OD C1=GETD(1) C2=GETD(1) C3=GETD(1) C4=GETD(1) CLOSE(1) FADE()RETURNPROC GETFILE() GRAPHICS(0) PRI,}NTE("PUT DISK WITH PICTURE FILES IN DRIVE1") PRINTE("PUSH KEY WHEN DONE!") INPUTS(FILE) CLOSE(2) OPEN(2,"D:*.?IC",},6,0) DO INPUTSD(2,FILE) PRINTE(FILE) IF FILE(2)#$20 THEN EXIT:FI OD CLOSE(2) PRINTE("") PRINTE("ENTER 'D:FILENAME,}.EXT'") PRINTE("OR JUST HIT TO EXIT.") PRINT("?"):INPUTS(FILE)RETURNPROC DISPLAY() POSITION(1,18):PRINT(">") PO,}SITION(2,17) NOW==-1 FOR X=1 TO 3 DO PRINT("STEP ") PRINTB(NOW) PRINT(" IS OPT ") POSITION(1,}8,16+X) IF STP(NOW)>47 AND STP(NOW)<58 THEN PRINTB(STP(NOW)-48):FI IF STP(NOW)=80 OR STP(NOW)=76 THEN PRINT,}(FILE):FI IF STP(NOW)=77 THEN PRINT("MOIRE"):FI IF STP(NOW)=0 THEN PRINT("STOP"):FI PRINTE("") NOW==+,}1 OD NOW==-2RETURNPROC SETUP() GRAPHICS(0):POKE(752,1) POKE(763,255):POKE(764,255) CLOSE(1) OPEN(1,"K:",4,0) PRINT,}E("Display Master, by Dave Oblad") PUTE() PRINTE ("Antic Magazine, 8/85") PUTE() PUTE() PUTE() PRINTE("TO MANIP,}ULATE A ICTURE FILE PUSH 'P'") PRINTE("TO MANIPULATE A OADED PICT. PUSH 'L'") PRINTE("TO MANIPULATE A OIRE SCREEN PUSH,} 'M'") PRINTE("TO SEE A EMO OF THIS PROGRAM PUSH 'D'") PRINT("PUSH 'P' OR 'L' OR 'M' OR 'D' !") POKE(702,64) A=GETD(1),} IF A#76 THEN IF A=80 THEN STP(0)=A:GETFILE() ELSE FILE(1)=0 FI ELSE STP(0)=A FI IF FILE(1)#68 THEN STP(0)=77,}:FI IF A#80 AND A#77 AND A#76 THEN STP(0)=77 RETURN FI GRAPHICS(0):POKE(752,1) PRINTE("") PRINTE("1 = RESTORE DISPLA,}Y") PRINTE("2 = INVERT DISPLAY") PRINTE("3 = MIRROR DISPLAY") PRINTE("4 = SHIFT DISPLAY") PRINTE("5 = DOUBLE DISPLAY") P,}RINTE("6 = FOLD DISPLAY") PRINTE("7 = UNFOLD DISPLAY") PRINTE("8 = ROLL DISPLAY 50%") PRINTE("9 = WAIT 2 SECONDS") PRINTE,}("0 = REPEAT FROM STEP 1") PRINTE("") PRINTE("- = BACK 1 INSTRUCTION") PRINTE("+ = SKIP TO NEXT INSTRUCTION") PRINTE("* =,} DELETE THIS INSTRUCTION") PRINTE("= = BEGIN EXECUTION") NOW=1 DO DISPLAY() POSITION(2,22) PRINT("CHOOSE AN ,}OPTION:") A=GETD(1):PUT(A) IF A=45 AND NOW>1 THEN NOW==-1:FI IF A=43 AND NOW<250 THEN NOW==+1:FI IF A>47 AND A<58 THE,}N X=253 DO STP(X)=STP(X-1):X==-1 IF X=NOW THEN STP(X)=A:EXIT:FI OD NOW==+1 FI IF A=42 THEN X=NOW ,}DO STP(X)=STP(X+1):X==+1 IF X=254 THEN EXIT:FI OD FI IF A=61 THEN EXIT:FI OD CLOSE(1) GRAPHICS(0):POKE(752,,}1):PRINTE("") PRINTE(" DOWN KEY WHEN TONE SOUNDS") PRINTE("OR WHEN YOU WANT OPTIONS AGAIN.") PRINTE("") PRI,}NTE(" PUSH KEY NOW TO BEGIN TASKS!") DO:IF KEY<7 THEN EXIT:FI:ODRETURNPROC MAIN() FIND() FOR X=0 TO 254 DO ,} STP(X)=0 OD SCOPY(STP,"88766777666878868740") DO NOW=1:SETUP() IF STP(0)#76 THEN IF STP(0)=80 THEN FETCH() E,}LSE MOIRE() FI ELSE MAKE() POKE(712,C1) POKE(708,C2) POKE(709,C3) POKE(710,C4) RESTORE() FI,} NOW=1 DO IF STP(NOW)=48 THEN NOW=1:FI IF STP(NOW)=49 THEN RESTORE():FI IF STP(NOW)=50 THEN MIRROR():FI IF STP,}(NOW)=51 THEN REVERSE():FI IF STP(NOW)=52 THEN SHIFT():FI IF STP(NOW)=53 THEN DOUBLE():FI IF STP(NOW)=54 THEN FOLD(),}:FI IF STP(NOW)=55 THEN UNFOLD():FI IF STP(NOW)=56 THEN ROLL():FI IF STP(NOW)=57 THEN WAIT():FI IF STP(NOW)=0 THE,}N EXIT:FI IF KEY<7 THEN EXIT:FI NOW==+1 POKE(77,1) OD DO A=PEEK(20):B=A RSH 5:B=B&1 IF B=0 THEN SOUND(0,,}40,10,8):FI IF B=1 THEN SOUND(0,80,10,4):FI IF KEY<7 THEN EXIT:FI OD SNDRST() ODRETURN IF B=0 THEN SOUND(0,,dTECHNICAL NOTES:DISPLAY MASTER by Dave Oblad(ANTIC, August 1985)Display Master gets most of its effects by juggling the 0}display list for Graphics 15 (or 7+) mode. Each of the the 192 display lines are set up with a Load Scan Counter with NNNN A0}ddress instruction. The effects are then produced by swapping these byte instructions.To expedite the swaps, a duplicate s0}et of addresses is maintained in the card array DL(192). Juggling the array and transferring the results to the real display0} list allows for some fast and spectaular displays to be produced. The original addresses of the display list are saved in t0}he card array SL(192) for fast restoration DL(192).Some memory manipulations require direct access of the screen memory. F0}or this I defined the memory location of byte array RAM(8000) to overlay the screen memory, thus giving direct access to the 0}display data. Byte array ORG(8000) contains the original picture data for fast restoration of the screen.One other point t0}hat should be mentioned involves mirror-flipping the display. Simply reversing the bit order in a display byte and swapping 0}byte positions on a line doesn't quite hack it. Remember, the half-nibbles in a given byte define a pixel's colour, and reve0}rsing the whole byte can really foul up an original pixel's colour.The solution was to create a lookup table that uses the 0}original byte value as an index into the table, where the corrected pixel mirror image is stored. This also speeds reversing0} the bit order for a given byte. The table is created near the end of the FIND() procedure and is declared as byte array REV0}(256).To operate DMASTER.ACT you must compile the program directly from disk.FIND() Locates and allocates memory work ar0}eas and makes the reverse table.MAKE() Makes the display list for Graphics Mode 7.5.SHOW() Tranfers the address list fr0}om DL() array to the real display list.RESTORE() Restores the original screen RAM and display list addresses.FADE() Bri0}ngs the picture to the screen roughly like the Fader program in the May 1985 issue of ANTIC.REVERSE() Flips the picture up0}side down by reversing the display list.MIRROR() Swaps the pixel positions from each side of the screen.SHIFT() Wraps t0}he picture around so that the centre becomes the edges.DOUBLE() Removes odd numbered display lines and duplicates to lower0} half.UNFOLD() Interlaces even and odd lines in reverse order of FOLD().FOLD() Interlaces or weaves alternate lines in 0}an ascending sequence.ROLL() Moves odd numbered lines down and even numbered lines up with rollover at the top and bottom.0}WAIT() A two-second dead time to support the pause option.MOIRE() Generates a semi-random moire pattern in Graphics mod0}e 7.5.FETCH() Fetches and displays the picture file defined in ARRAY FILE(40).GETFILE() Prompts user for a file name an0}d displays the disk directory.DISPLAY() Displays the current step and function assigned to that step.SETUP() Displays m0}ain option menu and supports the step editing.MAIN() Translates each step into a procedure call.ep.SETUP() Displays m0e;STRETCH;BY LLOYD BURCHILL;(c) 1986, ANTIC PUBLISHINGModulebyte key=764,IR card scr=88,dlist=560define dlspace="4}14592"define dlsend= "14592 +575" ;a 580 byte long space is needed ;that includes no addresses on ;a 1K boundary ;(excep4}ting first byte)card array memline(192)Proc Stretch(card lines,card vstart);Parameters:;'lines' is number of scan line4}s the image should occupy on the screen;'vstart' is scan line of original image that will appear at top of screenByte poin4}ter pcard pointer qcard bigline,addr,inc,tempinc=24576/linesbigline=(inc rsh 1)+(vstart lsh 7)p=dlspace+3q=dlspace+44}do temp=bigline rsh 7 addr=memline(temp) p^=IR+64 p==+3 q^=addr q==+3 bigline==+inc if bigline>24576 or p>dlsen4}d then exit fiodp^=65ReturnProc Sinit() ;initializecard asetblock(dlspace,3,112)for a=0 to 191 domemline4}(a)=scr+a*40 od;change to 'a*20' to use mode 14stretch(192,0)dlist =dlspaceReturnProc Load() ;load disk pictu4}rebyte pointer pClose(5)Open(5,"D1:PICTURE",4,0)for p=scr to scr+7679do p^=GetD(5)od p=712 p^=GetD(5)for p=7084} to 710do p^=GetD(5)odClose(5)Return Proc Drawing() ;example picturebyte t,u,v,w,x,y,zfor w=0 to 30do col4}or=rand(16) x=rand(76) y=rand(180) for z=0 to 3 do Plot(x+z,y) Drawto(x+z,y+12) ododfor x=0 to 14do color=x+1 4}Plot(0,x) Drawto(79-x,95) Drawto(0,191-x) Plot(0,29-x) Drawto(52+x,95) Drawto(0,163+x)odfor w=0 to 15do z=10+ rand(70)5} 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(v5}-10+u,y) Drawto(v+x,y+z) ododReturnProc Rubber_Band() ;main procedurebyte pad1=624,pad2=625,modecard hdo IR=15}5 ;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) G5}raphics(0) Poke (752,1) PrintE ("oad your own picture") PrintE ("emo mode") do until key=0 OR key=58 od 5}mode=key Poke(764,255) if mode=58 then Graphics(9) Poke(712,128) Drawing() elseif mode=0 then Grap5}hics(8) Poke(712,128) IR=14 Load() fi ;Use either Load() or Drawing() ;and adjust graphics call ;accordi5}ng to preference Sinit() do h=pad1 if pad2<192 then Stretch(h lsh 1 ,pad2) fi until key<>255 od 5}until 0=1odReturnit() do h=pad1 if pad2<192 then Stretch(h lsh 1 ,pad2) fi until key<>255 od 4TECHNICAL NOTES:VIDEO STRETCH by Lloyd Burchill(ANTIC, October 1986)The Stretch() routine needs two parameters, which ar9 }e supplied by paddles or touch tablet (though of course you can write your own routines to generate these values).The first9 } parameter is the size (in scan lines) of the image that will appear on the screen. Normal size is 192 scan lines. You can 9 }choose any size from one to about 500 lines and the image will be proportioned correctly.Since an image bigger than 192 lin9 }es can't be displayed all at once, the second parameter tells what line of the original image will appear at the top of the s9 }creen. (It should be between 0 and 191.) This allows you to scan any portion of the expanded image. It also works with ima9}ges that are smaller than full-size, allowing you the interesting capability of expanding the picture and moving it up and do9}wn.The Stretch() procedure uses several line-drawing algorithms and speedy integer arithmetic to move each scan line to its9} proper place on your screen.Before entering Stretch() you must initialize it with a call to Sinit(). A space of 580 bytes9} is required for the complex display list generated by the program. Each line has an independent LMS instruction.Because t9}he new display list is so long, your choice of places to put it is limited to the first 443 bytes in any given kilobyte. If 9}you are using high-resolution Player/Missile graphics, those first three unused pages of P/M space are ideal.You may alter 9}the program to accept any 192-line graphics mode. To make this program accept pictures created in Graphics 15, for example,9} just redefine IR at the beginning of the program as 14, and change the graphics call in Rubber_Band to Graphics(15). If you9} have a non-XL computer, Graphics(15) is not available . You can replace it with Graphics(8), and the display will fix itsel9}f as soon as Stretch() operates.Similar changes can be made to the program to make it work on any 192-line graphics mode, n9}amely Graphics 8, 9, 10, 11, 14, and 15. For the little-used Graphics 14, change a *40 in Sinit() to a *20.raphics mode, n8nOP XYVVVV3AVSVCVACSSV9VVVXYXYCVXYPS1MDCS2@W@@=}A@ @3@ @ @ @ A P@$B2SB2SBIB=}&$@@@!@@P@@W@AA @!BI"=}# ?$@x%@x&B8'A($$******************************$$* PICTURE PERFECT *$$*=} BY JOE D. BRZUSZEK *$$* *$$* COPYRIGHT 1989 *$$* BY ANALOG COM=}PUTING *$$****************************** AL6-?:B0C,!6-F:A,06-F:A,?6-F:A,=}L(@  !  ($2B6-?:B0C,!6-F:A,06-F:A,?6-F:A,B$cĠd!"= }*A"!"An"@ Ax "6-%!6-#"@6-%"#6-B(v=!}P:$@0,$ů٠C  6-4A"C6-?:<<<<AY<@<<<<,I-B:,I6="}-?:<<@:7,,<@:7%,,<@:7%,,<@:7%,,<<<<,B -  "F:B2y,"*6-%6B2y<!B6-< =#} 26-?:<<<<AY<A<<<<,< A" A Р"  ( 6-6-"6-/B00=$}%@E+B01%@6/ ="6-?:<<<<%<%<<<<,=6-?:<<<<<<<<<,"! 6-6- !"A=%},> "(6-?:<<<<%<%<<<<,4B2y> A 6  @>"*"A46-?:<<<<%<%<<=&}<<,> AŦŠ, ( }Halve",( }Double( HVOK6-2-@0(='}  %6-P:',/ )!2$  6- AH 6-'(}Please wait,"Ap<!@y*"H6-@y=(}0 -06-?:<<<<<<<$'+$,<<,b-6-?:<<<<<<<$'+$,%O:&,<<,1 GA+%,$''X6=)}-F:A,&b A`!@G*"6-@G2 -26-?:<<<<<<<<%$'+$,<,d/6-?:<<<<<=*}<<<%$'+$,%O:&,<,3 IA+%,$''Z6-F:A,&d A` Р% (}FlipHVOK%=+}6--@%(  6-P:', )!$  6- AO(}Please wait"$-A6-?:=,}<<<<<<<&<<,E O A`&. -*6-?:<<<<<<<<%&<,. 0* 6-?:<<<<<%<<<<,* A`=-} Š<  6-6-<6-?:<<<<AY<%@<<<<,Y A 5B00%@:7,,&@:7,,%@E=.}YB01%@:7,,&@:7,,%@6   6-  6-&!@6-%@H6-?:B5@<<<<=/}<,;6-?:<<<<<%&<<<<,H(A  !*  A W"A (16-?:<<<<<<<<<,=0}96-&A6-&G6-M6-W A` 6-B:,"$A"c67%,.>:,67%,.>:,-67%,.>:,;67%,.>:,=1}OB00%@EcB01%@6 A ?Ҡ@6-O:&,J'6. '6. T.=2}-@ 'B02%@:7<,,+ .$ ՠ'6-B( A D (A0")")"@A =3}: AD A5!!AY) )!@5)"+ A`5 Aw)6-P:+&,$?4,$%P:$?F,%mA!=4}A0AAA%A3A"Aw A6-B$kAY6. ) A =5}5B(v;6-G6-@S6-Aa6-%A@k A m%Ah@e.%AiF:A`,E%Ap=6}F:Aa,Q6-@fW6-]6-c6-m A dA @!A/-@7%; O%@A=7}aAY@bd$zB(vP:$@0, 6-&6-26-A86-L%Ay@ec%AF:A`,=8}z%AF:Aa, <A F:%,%AF:%,/ A 9 A<$*6-?:B18<<<<<,$3 =9}4"@y6-@x$>6-@y$Š6 6- 6($}Animate NewAppendPlay? =:}6-P:',$ )!A2"A8"?6. 6-  A  ˠ   %%(}A. DirectoryE. R=;}ename File ""(B. Main MenuF. Load File ##(C. Format DiskG. Save File %%(D. Delete FileH. Unlock File R A%=<}P@6(Select item or :C@R4A% /6-@:,&@d& )!A%P,"/$ R==} )"@A& 6(FILENAME or :C@R4A%P( ##7<,4:)7<,4:A& 2 >6-B:,%=>}67,.7<&,,67<,.D:>67,.7<%&,< ` A'QA&0A%pA&`A&A&A'A'A=?}'pV` A%PF +@D:*.*$ A&P+(}P 7 -(-"()-(7 A&@Z $=@}d A)( }Y to format drive #1 or :6@>0YA$n ATD:$x $ <%(}D:OLD=A}NAME,NEWNAME or :2@94<$ @2$ ]6-+&@,$ ."A'0D7B:=B},,0A'0R-@Y)]  < -)% %),)2< A'` s AP%'A=C}R@9AS@EAVWAW@0s6-?:C:hhhLV,<@, . 6-"-#*F:%,=D}' + .$  -)%  6-?:C:,, $ @6$ 46-F:A, %(}Error-=E}1"A`4% $ ̠ V $( }Fill 0 with F:AC,,-J( with F:AC%,N V(OK  =F}6-P:',!$ 5 "(}Please wait+6-?:AR,5 A` (6-F:AC%,6-%""(6- 0AC=G}%-@&(0 A0 ̠ ] ((} Cel 0123NOK>-@+'@d,E( I ]!=H}@9A .6-P:',$@d""AV.6-AU A`@EAY!AfAC3AgA1=I}EBBy@JL-"L;$,;@c,;@&,T9"-"56-?:C:,<=J}C:,<A6%$A`?B1@BIAB@CDB  HARD-WIRED RAY TRACIAa}NGBY MICHAEL BJORKMAN(c)1988, ANTIC PUBLISHING(6-+F:B2y,@, A`-@AAb}-?PAP@+ A@%6-+&?P,'@+6-6AY*F:B2y,"@6AYAc}SPHERE PIXEL?$##6-+&,$+&,%+&,$+&,%$.116-@$++&,$+&,%+&,$+&,&$+&,,8//6-+&,$+&,%+Ad}&,$+&,%+&,$+&,&$B+6-$&@$$+APLSPHERE PIXELV6-+6%M:,,'+@$,`$6-$Ae}+&,6-$+&,$6-6$j! 6-%&6-%&!6-%&t6-+$%$%$,'~''6-+A&&,'+%@$$',Af}A ##REFLECTED RAY INTERSECTS ROOF''6-+&&,'+%@$$', 6-6-6- A Ag} A0$$REFLECTED RAY INTERSECTS FLOOR 6-6-6- A  A0NOT SPHERE PIXEL 6-&Aq}``| PICMAN: |`| Picture |`| Maniac |``| Side 2 |`b%DOS SYSb*)DUP SYSb SRAMDISK COMbD\DMASTER EXEb;DMASTER ACTbDMASTER TXTbSTRETCH ACTbSTRETCH TXTbAPERFECT BASb8ZHARDWIREBASb>HARDWIREPICb>PICMAN PICb>ELVIS PICb>USCAT PIC#>CONAN PIC#>STOOGES PIC#>CONTOURSPIC#>NSTILLIFEPIC#>PICTURE 6-&6-6A%6-+A&,'%BELOW HORIZON 6-6-6-  AP A0%6-+Ar}&,'%ABOVE HORIZON 6-6-6-( AP2)@w)KILL ATTRACT MODE< F PSAVE As}SCREENZ##67@<@,.>:@,dc%6-F:@,%F:@,$AV0@Y@@ D:TRACAt}E.PICc Anb6-?:C:,<<Av,/*@F:A,C-AAS*@F:,W b@x +Au}(DONE!REFLECTION ROUTINE?6-&@$$'+6-&@$$'?6-&@$$'+6-%%$%6-%Av}%$+6-%%$%W26-++&P:'AP,$AP,&?P,'@W6-A&+&P:'A,$A,6Aw}-A`6-A`6-A6-A'Aa@'@Ax} 1'Aa@'@-6-&@!-6- ,6-@Ay}$FLOOR OR CEILING ROUTINE%6-%$%6-%$%6-%$%W26-++&P:'AP,$AP,&?P,'@W6-AAz}&+&P:'A,$A,"6-,A`6-A`66-@AA{}6-AJ'Aa@'@T 1^'Aa@'@h ,$r!!EA|}NTER VIEWPOINT COORDINATES|< Au A#6-A`/6-@<6-6APa-@@1( Viewpoint CoA}}ordinates:C-@@a((Where are you standing?)J((Input VX,VY,VZ:(( 0QA}@ A2A @@Q(Insert disk into drive #1,HA( press A@@A}D:*.?ICRw (} A!@'-@c4@n-@%@$++'@,"P:'@,,P:'@,sA}(w \6 A!'@(2(Enter Filename6f~O7@<@,0D:*7@<@,0D1:*7@A}<@,0D2:U6.o67@<@,.D:~67@,.p A"@$zML SCREEN LOAD ROUTINE;@(,A}&&6.hRhUhThYhX V`$ERROR MESSAGE( DISK ERRORXLOAD AN MI PICTUREl #Ap`vA}-A6AV "  GG162,16,169,1,157,72,3,169,0,157,73,3,32,86,228,48,1,96,104,104,96@@6.6hBA}DEHI  <OO67@U,.<    ĩA}OO67A,.:AU,QQ67A),.>`RɥPee`/eA}eGG67A,.4(eeЕeePOKE 88,ADLO:POKE 89,ADHI6-?:C:,A},@ A$Le (}-@2@'((319,0)9-@0@"G( (319,191)Y-@@"e((0,A}191)V-@@((0,0)`$@D%6-?:C:hMhhp`,<,($DDISABLES BREAK WHEN ARG=1D:HARDWIA}RE.BAS-@@((0,0)`$@D%6-?:C:hMhhp`,<,($DDISABLES BREAK WHEN ARG=1D:HARDWI@E}ꪪE}E}ꪪE}ꪪE}ꪪꪪE}ꪫꪫꪪꪫE}E}E}E}꪿ꪯꪯE}ꪯ꪿E}꪿ꪪ꪿E}ꪪꪪE}ꪪE}E}ꪪ몯E}E}꫿E}ꪪꪪE}ꪪ꿪E}ꪮꪪ↑꿪E}ꪪ꾫E}ꪫ뮯ꪫE}E}E}絛몯뿪E}ꫮ꫾꫾꯾몿磌着꿯몿E}껪E}뾾E}뾮뾯껮﫮E}껾ᆱ꫾ᆴ꺮﮻뾪ᆵ꺮꺺E}뫪类类꺺껪E}뻪꺮磌꺫꺫뻺꺪E}꺾꺾뺿뾿뾿E}ꮮ뮪ꫯꪺ뮫뫪ꮫꪺE}꯫ꪾꪺE}ꪺE}ꪮE}ꪯE}꾪ꪪ꾪E}ꪺꪫꮪꮪ꾪꾪E}꪿ꪫ꪿E}꾪ꯪꪪꪾE}꪿E}꪿ꪪꪪꪪE}ꪪ꪿E}E}꪿꪿꪿ꪪꪪꪪꪪꪪE}ꪯ꪿ꪪꪯꪪꪪꪮ꪿ꪪE}E}ꪫ꪿E}E}ꪪꪫꪪꪪꪪꪪE}ꪪꪫꪫꪪꪫE}ꪪꪫꪫꪫE}ꪪꪪꪪ꪿ꪪE}ꪪꪪꪪꪪꪪꪪE}ꪪꪪꪪꪪꪪꪪꪪE}ꪪꪪꪪE}E} D;I} ( ̀  (08"D ( b (@0,*F ,  jI} @ (*R j*  !*0 ( *EQ I}TH# ]UP(ÈU]T (  QQP)><QQU ("UT I}008DT 0" H 8h  (šPQ@H*,I}*TQPR@TP@H@D@@T+ @T @@( TY I}TI, @Q @B,@@JB0 hP@`8AEY >TPI}T ((!E P$PEH ( TTdI}(@H "TJ P0 B@@ ,,@R(@I} :+@@$P A ((  P!@RI}# 80@@@R* ( ( *1@@H*Ȁ P 6O(" I} 0 " UQ @*@ @ <(Q0(I}U*Z(( (U "(J )@ @ 0PTDR<J(!P2@P QT#R*I}P@P 2 PP):U! 0*0@J0<(TP( 0""PPB/  PAH"â,I}!B  (Ȉ#@@ @"     0(  (I}0 (   0<@  (0?` (QI}PJ*"!Q@@QR"Ȁ"a@@," # A@I}T2 EEET"," A?I}P0 AT( 0  (  ?I}(00 )  A@(( RT>?ap)I}( QT@>~E@< @D(> TT$*"@T |@T2I} 0PB| DT( TT  (@P @APH HP@U"I}`UU@ <*UUU@0(ED ?x T@ "  0*" ~ "*8, I} { ~8;@*" ** 0( * &*(8  *& @ I}? C 8" ~~(" # |?22; I}?; €<,      0򀊌`I} *   € Ȁ(+:  <( I}0 /0  0> 00 8 88 # < I}0 ,<8"800~ ? ? I} >  ,< ~"80088 ??| < 0I} 2?0 8 /0|0>  0 I}Ȁ  ?€ 0?>* , ¢I}>  ‚| <2; ??;#"I} "2 8" >80(" @> C&*((>I}+ *& ** *  ?K@*"  0* ("I}*8,0(ED  T@ " `UUA?|UUU@ @AQA?|?P@U"J}TT~~\@P  0P|EpDT( "@A@T2J}@DTT$* QT?E@< )( J} |TP@((0 |@@)  ~QA(00 J}A (  @(  !P0"J}a,"ETET# AT2 "a*J}@," *"!Q@ QR"Ȁ(Q**J(08 J}  J(  (P  (  (AC ?PP(   H+TJ} 0(Ȉ#@B/0 P@" â,!B P ""PPB/ > PAHJ}" 0*0@J0<(TP( 0P@P  PP):U!!P2@P QT#R*J } @ 0PTDR<J(Z(( (U "(J )@*@ @ <(Q0(U*hUUJ }/QET, T@P0>UQ @!QT)U ?Q0UUPT *U €U*0P@"PBJ } ̨ ĨTP"@T0Ƞ******PP" @TU)<ʀ R!X@@P@UDjJ }"?*TU@T PB0("A  #A"P@ @@@  ((P @@ @@T*# J }0  @@P `*< ,E 6O("  0 " TPT@@J}JB0 hP@` @Q @B, TY TI, @T J} @@( @TP@H@D@@T+šPQ@H*,*TQPR  J}( H 8h "UT 008DT 0"  QQP)>J}<QQU ( ]UP(ÈU]T (*EQ TH# !*0J} ( (*EQ TH# !*0H;QUUUUQUUUUUUUQ" " @D@DTDDD@DDDUTD@D@@UUUUUUUTEDT@N}@UPUQUUUUUUUU" "DEUDN}EUUT@@UTUUTD@E@UUUUUUUUUED@PQQUUUUUUUUUUUUQ N}"""@TTDETUUDUDEUUD@DDDEUUUUUUUTTT@QUUQUUUN}UUUUUUUUUUUQQ"""" TDUEU@D@DUUUTDDEDD@UUUUUUUUET@N}UUUUUQUUUUUUUUUQP""" TDEUTUUTDEDDEUN}UUUUUUUUT@UUUUUQQUUUUUUUUU""""""N}DDUUUUUUDEDDEDTUUUUUUUUTU@UUUUUUUQUQUQQUUUUUUUUUQN}*"* """"""DUUT@DUUUUUUUUDDDUUUUUUUUUUUUPN }UUQUUUUUUUUUUUUUUUUUUUUUP " """"""UUUETEUUUUUUUUDDDUUUUUUUUUUUUPN!} UUUUUUUUUUUUUUQUUUUUUUUUUUUUP**"""*" **""""DUUUUUN"}UUUUUUUUUDUUUUUUUUUUUUUUPUUUUUUUUUUUUUUQUUUUUUUUUUUUUP" "/N#}""**""""@UTUUUUUUUUUUUUUEEUUUUUUUUUUUUU@ UUUUUUUUUUuUUUUQN$}UUUUUUUUUUUUUP. """"""EUUUUUUUUUUUUUUUEUUUUUUUUUUUUUPN%}WUUUUUUUUWUUUUUUQUUUUUUUUUUUUP"*"*""" DDDDDUU]UUUUUUUUUUUUUDUUUUUUUUUN&}UUUUP+QQQUUUUUUwwwUUUUUUUUUUUUUUUUUUUUP* *⪪"" " N'}UUTDDDUEUUUU]]UUUUUUUUUUUUUUUUUUUPUUUQUQUUUwwwwuUUUUUUUUUUUUUUUUUUUP"N(}**""""" EEUUUUUUUUUUUUUUUUUUUUUUUUUU@QUUUUUWN)}wuUUUWUUUUUUUUUUUUUUUP""**"""DEUEUUUUUUUUU]UUUUUUUUUUUUUUUPN*}UUUUUUWUUUUUWUUUUUUUUUUUUUUUP "* "*""" DUUTUUUUUUUN+}UUUUUUUUUUUUUUUUUUUPQUUUUUUUUUUUWUUUUUUUUUUUUUUUP """N,}*+""" UD@DTUUUUUUUUUU]UUUUUUUUUUUUUUP@QUUUUUUUUUUwuUUUUUN-}UUUUUUUUUP**** " @UDEUUUUUUUUUUUUUUUUUUUUUUUUPN.}PUUUUUWUUUUUUUWwuUUUUUUUUUUUUUUP " " /"ꪢ"""" TUUUUU]UUUUUUUUUUUUUUUUUUUUUPN/}PUUUUWwuUUUUUUWwuUUUUUUUUUUUUUUP ."""ꪪ""U@UUN0}UUUUUUUTEU]UUUUUUUUUUUUUUP  UQUUUUwwUUUUQ]UUwuUUUUUQUUUUUUUUP"".N1}" "ꪢ*" UT@UUU]UUUUUEUU]UUUUUEUUUUUUUUP(UUUUUwwUUN2}UQuUUUuUUUUUUUUUUUUUP* "." UUDEUUUUUUUUUUUUUUUEUUUUUUUUP N3}UUUUUUWwwwwwwUUUUUWuUUUUUUUUUUUUUUP"""+ꪪ"" UUUUUUUUU]UUN4}UUUUUEUUUUUUUUPUUUUUUUwUUwwwuUUUuUUwuUUUUUUUUUUUUUUP**'N5}." UUUUUUU]UUU]UUUU]UUUUUUUUUUUUUUP UUUUUUUUUUUUwUWUWwwuUUUUUUUUUUN6}UUUUP"""*"ꪪ" UUUUUUUUEUUU_UUUUUTUUUUUUUUPN7}UUUUUUUwwuwwuUUUUUQUUUUUUUP*"" *"* UUUUUDDDD_UUUUUTEUUUUUUUPN8}UUUUUwwUUUUUUQUUUUUUP** ꪢ UUUUTDDD@N9}A]UUUUUTDUEUUUUUP UUUUUUUWwuUUUUUUwUUUUP /N:}ꪢUUUUUDU@UU]U]UUUUUTDDUUUP?UUUUUUUWWUUWwwN;}wuUUUUUQUUUP*/**  UUUUUUDD]UUUUUUUUTDDUUP?N<}UUUUUUUUUUUWwwuUUUUUQuUUP">"  UUUUUUUUUUUUUUUUUUN=}DDEUUPUUUUUUUUUUUuUwwuUUUUUQUUP"N>}UUUUUUUUUUUUUUUUUDDEUЪUUUUUUUUUUuUUwwwwwUUUUUUPWpN?}*UUUUUUUUUU]U_]UUUUU@DEUЪUUUUUN@}UUUwWwwUWuWwwuUUUUUup*UUUUUUUU]U_UUUUUU@DD_ЪNA}?UUUUUUUUUwwwUWwWwwwuUUUUU_upꪨ/UUUUUUUUU]U]NB}UUUUUTDDD_ЪUUUUUUUUUUWuUWUwwwuUUUUUpNC}ꢠ/UUUUUUUUUU]UUUUUUTDD]ЪUUUUUUUUUUUWUWUUwwwUND}UUUUQ UUUUUUUUUUUU]UUUUUUTDDU𫫻NE} UUUUUUUUUUUuUWwwUUUwwwUUUUUP./ UUUUUUUUUUUU]UUU]UUUUUDDDUNF} UUUUUUUUUUUUUUuUUUwwwuUUUU*"NG}UUUUUUUUUUUUUUUUUUUUUU@DDU? UUUUUUUUUUUUUUUWwwwwwUUUUUNH}" UUUUUUUUUUUUUUTDUUUUTDE𪻻耋UUUUUUUUUUNI}UUUUUUwuwwwUUUUU UUUUUUUUUUUUUU_U]]UUUUUTDDDENJ} UUUUUUUUUUUUUUuwuUUQUUuUUUUP " UUUUUUUUUUUUUUUUTUNK}U]UUUUDDDDU_𪫻UUUUUUUUUUUUUUUUUUUwuUuuUUUUP*"/NL} UUUUUUUUUUUUUUUUUUUUUUUUU@DDDU_تUUUUUUUUUUUUUUUUWwuUUwWUUUUNM}UUUUUUUUUUUUUUUUUUUUUUUUU@DDDU_𪫻NN}UUUUUUUUUUUUUUUUWwUUUWuwUUUU*UUUUUUUUUUUUUUUUUUUUUU]UUTDDDE_NO}UUUUUUUUUUUUUUUUUUUUUwwwUUUPw*n"/"UUUUUNP}UUUUUUUUUUUUUUEU]UUD@DDDDU𪫫 UUUUUUUUUUUUUUUUUQwwwUUUPwNQ} "UUUUUUUUUUUUUUUUTT]UUD@DDDDU_𪪻UUUUUUUUUUUUUUUNR}UUUwuUUUW𪪮* UUUUUUUUUUUUUUUUUUUUT@DDDDE]تNS}UUUUUUUUUUUUUUUUUWwwwUUUW" UUUUUUUUUUUUU]]UUUUUNT}UT@DDDDD]𪻻諿? " UUUUUUUUUUUUU]]UUUUUL;UUUUUUUUUjUeeUUUUUUUUVUUUUUUUUUUUUUUUUUUUiUjeeUZUUUUUUVUUUUUUUUUUUUUUUYUUjUZYYUUjUUUZVUUUUUUUUUUUUUUUUVRV}UUVeYUUiUUUUVUUUijUUUUUUUUUVVUUUVeUUYUUT=ZVeUUUfUUUUUUUUUUVYUVUUUU[o֪UUUUjUUUUUUUUUZURW}UVUUjUUjeUUUUUZ_UUUUUUYVjUeViUUVUjU]jUUUUUUiZkUUUUUUUUVUeZeUUVVAjeUUUiUUiUUUUUVUeYjRX}eUUVU:ەjUUUUUVVUUUVUUUeUZijeUUUT=oUUjeUUVeUijUUWUUYUiꪪZeUUUSeUUUUUVnUUWUUjeViZjUUURY}UUeUUZij꩕UVUUjVڪYUUVU\>UUUUYVUUUUjZZUUsVUUUUVYZjUYUUiVZUZUURZ}VUUZejUVUUj ZfUYUUVUUfꪪUUUUjijU`iUUVUUVnjUUUUieU?UUVUR[}UjeUUkUY0<&UVꕕUUVUUUUk5UYɝUZjVUUUVjUUYjꪪUUZUYj3UUUUiUUUVjUUoR\}UUZUZjkPUUUUUUVUUZުUU_UZZn?@?UUUUUUjUUYjUUVVZjV8UUUVeUjUUYYUjR]}UUUVVmi횯]:iUUVUZVUYUVUUUo1UVi>UUjUUjiUUUUUUUfUUVV[YUjVUUUfUUUUUUUUVUUWUUUk2R^}UYUZUUUUUjUUUUUUUUVUeUUjUUV?UUUUUUkYUUUj{UUUUUUUUUjUUUւՕUUUVkjeUUUYfۻffeUiUUUUUR_}juUoUUZVUVUUUeUUUVfo VUUjUViUUUUYUVnUkUYUZUZtUjUUUY} UUZVR`}WUeVUWPUVUUUU} UUkUUWUeVVU[UCUUUUUUy UUUVgUUYUYUiUgUOUUUUUUUYo UUUUiUiUYVUYRa}UfUZ?UUUUUUUYk UUUVUUjUYUeUZUg=UUeUUUVZUUUSUUUeUZUZ=UUeUUUUUVUS]gUUZUkRb}7VjUUUUUUUy^UUfU^7??iUUUuUUUޥUjUUVUkS==UCiUUUoUTvfeUUjUCWRc}5=U֮jeUUU`ZU_UUZ]OTUL?ZUUUl֕UU ڜUUZOSOZUUU[UVoUUjWOSORd}ZUUU[UZVUUZ}OS]OZUUUVUVUUUUW}OS OZUUUUUUUVjZOS=ORe}ZUUUoUUjUVUVjWOSOVUUUkUVUUZUYjZOWOVjUUUZUUUUUUYjWOWsUjUURf}UUUUUUUUjVZ}OUQSUCUfUUVUyUUUUUUUjWU_CAAUUZUVUmUUUUUUUꪪZ MM7UZUVU^UURg}UUUUUW?_VUV[UUUUUUUYVUVUUUUUUV{VUVfUUUUUUUURh}YVYUViUUUUUUUUk{~fUUUUUUUUUzvUVUU%UUUUUUo^UUUUUUUUUUU^UjUUUUUUUVf_Ri}WvUUUUUU~UUfg[{UUUUUUUUVj^nڛUUUUU~UUWeVjUUj UUUUUUjUW{UUUUUU~U{WUUU[ UUUUUVfUzRj}UUUUU_^VfjUUZUUUUUWjjkVgUUUUU[U{UWVUUZUUUUVZjVVUYUUUUU[UUUVZUUZUUUUV[jWUeUUUfUUUURk}UU[UUUUUVUUVUUUYiWUeUUUUUUUUUgUUjUUUjjUUVUUUV[^~YUUUUUUUUUUUjuUUfUUUUUVUUUZnjUUUUVUUUUjRl}UUUUUfUUVUUUf[v~iUVZUVUUUUUUUuUZUUVnUUUZ뮩zjUUZUZUUUU֭YVUUUUUUUUUj[jUUiUZUUUUV{ZRm}UUUUUUUjjUUUZUUUj~jUfUYVjUUUj{jZUVUfeUUUjꚪkUYUiVjUUUۺnZZUVUfUUVkUfURn}YVfeUUVj[jiUZUUUZfoUUjUZUΪUUUzjUjUUUUenUjYZUnUUVf{iUUUUjUijVUKURo}UYUUUVVUjjZUUUUUiVUUUYYfoUZVUUUUVzίޥUUUUi~VUZjVUUUVVRp}뛫UUUUVoZZUUUUVUUUjUVVYVUUUUYUUYCUUjUZjVjYVUjUUUUUUX?Rq}iZUUfVYVUjUUUUU[wYUUUYVUZUUUUUV3iYUjkUYVUZUUUUUVթ{Rr}YUmUfiUUUUUVV3eZYjUUjiUjVUUUiVwOYjfVZUjiUjVUUUUU?GYZZRs}ZUjUUZViUUUUUUUUUUUUPUUUU VUVUVUe_iU UUUUUTUUU]UU3UjUWUUUe^UUjUUUUUAU#U]UU?ejR}UiU[UUUjiWiUU[UUUUU5W@]U3ijUYU^UUiUjWYUUWUUUUT]>U^UYjUYU_UUiUiWUUUUUUUU_U\V>UmUYfUU_R}UUiUjVUUUUUUUUUp_U]eUjfUU~UUUZUUUUUUUWUqu5UZYU3jjjUUzUUUVeUUUeUUUUմeVYeLfZUUzUUUR}fUUUeUU_UUArU_չCUUzUVUVeUUUUUUU^UUUV=\٪jUU^UVUUUUUUUUVUVV=ꦾjeUUZUVUUeUUR}UUUYVW5ZꦭfZUUYUUZUUUUUUUUUZZWWZ?ꪫeYUUUUZUUVeUUUUUUZ_տ0jfjꪫUUUUUZUVjUUUUUUVR}^VkꙪ>jꩥUUUUUjUUUUUUUUUUfj~Z0ʦj3ꚪeUUVUUiUUUjUUUUUjfUzpk0m?ꚚijeUUUUUUUUUUUUnUpR}ü`iꚚ֥UUUUUUUUUUUUWBe>敪UUUiUUUUUUUUUV_>*2ʺjUUUYUUUUUUUUUVkT R}=ijUUUiUUUUUUUUUVkT/?j˶UUUUUUUUUUUUUUikQ#VUUUfUUUUUUUUUUUUUUZZeZ_댜UUUUZ]}R}թjUVUUUUUUUUUUUUUjeUU1UUUUU}}UUYVUVUUUUUUUUUUUUUikQ#VUUUfUUUUUUUUUUUUUUZZeZ_댜UUUUZ]}P;fVUUUUUUUUUUUUUUUUUUUUUUUUVjUUUꩥYꪩUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUU@UUUUUUUUUjUUUUZV}UUUUUUUUUUUUUUUUUUUUUUUUUUUjUUUUUUUUUUUUUUTUUUUUUUUfUUUUUUUUUUUUUUUUUUUUUUUUUUUUYUUUUUUjV}UUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUWUUUUUUUYUUUUUVUUUUUUUUUUUUUWUUUUUUUfUUUUUUYUUUUV}UUUUUUUUUTUUUUUUUUUUUUVUUUUUUUUUUUUUUT_UUUUUUeUUUUUUUꪪUUUUUUUUUUUUUT EUUUUUUUUUUUUVeUUUUUUUUUV}UUUUU_UUUUUVeUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVffUTUUUUUUUUUUUUTUUUVUUUUUUUVYTUUUUUUUUUUUUV}U_UUUUUUUUUUUVUjjjVfUTUUUUUUUUUUUUUoUUUUUUUUUUUUUUUTUUUUUUUUUUUTuUUUUUUUUeUUUjejUUUU%UUUUUUUUUUUUUV}}uUUUUUUUUUUUZUYUUUU%UUUUVUUUUUUvUUUUUUUUUUUUjUVjUUUU)UUUUUUUUUUU@Y]UUUUUUEUUUZUUUUU UUUUUUUUUUUQiUUUUV}UUUQUUUUVUUjUUUUJUUUUUfUUUUUieiXUUUUUDTUUUYUUZUUUJUUUUrUUUUUQiX+UUUUUQUUUUVeUUfUUUUJUUUULeUUUUVUUUUUWV}UUUUUUUYUUUKUUUUVC)UUUUZPUUUUUQUUUUUeUUVUUUUKUUUWBjUUUU_gUUUUUTUUUUUUUUUUUUUAUUTUUUUkXUUUUUUUUUUUUV}UUUVUUUURUUCUUUU{dUUUUTuUUUUUUUUUUUUQtUV*UUUUP)UUUUU=UUUUUUUUVUUUUV|Z6UUUU~`iUUUUU_UUUUUUUUUUV}UUUQ^XUUUUz[UPUUUUUUUUUUUUUUUUUUTuk꿤UUUUu[V@ՕUUUUIUUUUUUUUUUUUUQ|gnUUUUu^Y%WUUUU]UUUUUUUUUUUUUPFV}'HUUUT^Ud[UUUUNUUUUUUUUUUUUUTzUUU@TU_UUU_UUUUUUUUUUUUUTGUUUUEUVeP\UUUGUUQUUUUUUUUUUUjV}UUUUYAUYUT}AUUUUUUUUTUUUUUUUU.UUTYQfeDU_PUUU_UUTUUUUUUUUUUU*UUJPUU@UUU=UUUUUTUUUUUUUUVUU:V}[T@UPUUUUUUUUUUUUUUVꦥUUoUUT}Q*UUUUTTUUUUUUUUF{i@U0nUUUUVEUfUUUETUUUUUUUUUJҚUU1}VAUV}UUUUAVPUUUUUTUUUUUUUUIDUQUUUUUPUXfUUUUUUUUUUUY@UhUUUUUTdZUUUUUEUUUUUUUUUTUUUUUUV}`օfUUUTUUUUUUUUGnnjPVUZUUUUUUPQUUUUUTDUUUUUUUUGoeEAUUU@UUUUUUThVUUUUUUUUUUFY@UPUUUUUUU~JV}UUUUADUUUUUUUjeDE@UUUUUUUNFUUD@UUUUUU1fiQj@UUUUUUUEUUU@PEUUUUUU2fdDD @UUUUUUUT%UUUTTV}UUUUUU0YPUUUUUUUPoUUUTEUUUUUUtUTUD QnUUUUUUUUTUUUUUUUUVt]YP`Bo UUUUUUUUU@UUT@EUUV}UUUW%yYU@PVUUUUUUUUUTUU@@QUUUUZ \B UUUUUUUUUUGUT@ UUUUU["EVؔUV@UUUUUUUUUUUTQUUUU\`V}w@ZPUUUUUUUUUU@UUUPEHTUUUUx@X@T@)UilUUUUUUUUUU@UUUUPUUUUe@%@%[lUUUUUUUUUUPUUUTDUUUT֘V}^ů\UUUUUUUUUUPUUUU!QQUUUZ@ h ?¿PUUUUUUUUUUTUUUUEPDUUEUT P@l?UUUUUUUUUUUUUUUUTUQUURvQ)@dV}UUUUUUUUUUUAUUUPU@EEF  `oUUUUUUUUUUU@UUUTA@UQQFBU(`jUUUUUUUUUUUUPUUUUPDETDG`kި^VUUV}UUUUUUUUUTUUUQAUU R*_HUUUUUUUUUUUUUUUPPUPUEWD [iUUUUUUUUUUUUUUUUTW {$)T UUUUUUUUV}UUUUUUUUU@ETZ VUU@UUUUUUUUUUUUUUUUUPQ jYUUUUUUUUUUUUUUUUUTT@Z@UUUUUUUUUUUUUV}UUUUTUi@UUUUUUUUUUUUUUUUUUPRe@UUUUUUUUUUUUUUUUTU@fDUUUUUUUUUUUUUUUUTV}PohUUUUUUUUUUUUUUUUUT@o@EUUUUUUUUUUUUUUUUUTPnUUUUUUUUUUUUUUUUUUTV}:Pi?UUUUUUUUUUUUUUUUUUPA8QVUOUUUUUUUUUUUUUUUUUUPPMVUUUUUUUUUUUUUUUUUTT V}oV UUUUUUUUUUUUUUUUUUUU@@nP<@UUUUUUUUUUUUUUUUUUTU@@U@&`UUUUUUUUUUUUUUUUUUU@V}P`UUUUUUUUUUUUUUUUUUUPDAT@&P UUUUUUUUUUUUUUUUUUUUQPTPUUUUUUUUUUUUUUUUUUUUUU@@"|e`@V}UUUUUUUUUUUUUUUUUUUUUU"UUUUUUUUUUUUUUUUUUUUUTD@j@UUUUUUUUUUEUTTUUUUUUUUUUUUUV}UUUUUQUUUUUUUUUUUUPEUUUUUUUUUUUUTTUUUUUUUUATeUUUUUUUUUUQUUQeUUUUUUU jAhUUUUUUUUUUV}TUTEEUUUUUPP VXI0UUUUUUUUUUUUUQeUUUUUUTZUI UUUUUVUUUUTTDDTUUUUUUP UUUUUYUUUUQV}eUUUUUUUDGZ UUUUUUfUUUUTAD@UUUUUUUj(0UUUUUUYUUQUQUUUUUUT@E@@joh 0UUUUUVeUUTUU@@UUUUV}UUQAQY[dPUUUUUYUUUQ@UUUjUATDD@j[X@@UUUUUVUUTEEUUVPPQ<ZQUUUUUZUUUTUUUTEEV}@@z* AUUUUUVUUUE@UUTUUQ@BP UUUUUVUUeUUUUU@DD D@(EUUUUUUUUUDPUUUUUUUoV}EUUUUUUUUAfUUUUUUTDD@UUUUUUjUUTDUUUUUUUUUUUUiUUUQ@UUUUeUUV_DV}UUUUUUUUUUUDDDEUUUUWoUUUUUUUUUUQQPQfjUU_ UUUUUUeUUUUTT@D꩕UjWVE?UUV}UUUUUYUUUjUUUUÿ?@EUUUUUVjUVeUDDUUUUUPUUUPUYQU"VU:UVDUUUU@V}ejffeTEUjUUW=UUUUUQ"fUCU[DP @UUUUTPTUZ꩚UPUU_ YUUUU"V}QU(jUTUUo %eDUUUUDHTVfꚚUUUUU~ ^QUUUUQ*QYjeUUUUU{kFDEUUUUTDj*EfV}ꩪUUUUUQUUUUU*UUUUUUDUAUUUUUTZVfꩪUUUUUٿAUUUUUYeV}UUUUU@}AUUUUUDDUfjꪪUUUUV@UUUUUAUUUUWCo`UUUUUhDPUfꪪUUUUWV}Ro`UUUUUUUUUWAK`UUUUUhDVjUUUUWhUUUUU.UUUU[V}AKXUUUUj*fjUUUUoyUUUUZ*UUUUhj@{BUUUUf@fUUUUV}UUUUZ .UUUUUkF@kwBUUUUf @+ꪪUUUUUUUUZD ꚪUUUUWod@gd@V}UUUUV@FYUUUW﩮P*UUUUZEfUUU_kFyrfd@jUUUUVDTl*ꪪUU^^*PUUYUZV}EU jeUU~绿@Ffdfe@I@UUfUVDUDʪꪪUUyQ@UUUYZAQQ2 UUgvffED@ @UUUVeVETV}B UUՙPUUUUZVKUUf~DUfDDUUUUfDKU<宐UUUUUYV}eU@kTDFd@UUUfEEBUXZUUUYfYꪪeVVkfADP@UUUVXV}VYUUUUU".ꩪVtDkUT@DE@UUUVjUPUUUV !ҩfV}DFTDD&zEUUUjJKfPUUU ҙDfTT@wzDUUUj {BfV}ᾐUUUZ jDDD&{UUUj gRfQUUUZ Zj@DkV}UUUj WBUUUZ*Jo`{AUUUV oV}UUUZ+ {AUUUVR P UUUUR Edh{AUUUfV}R ѯ QUUUY B {Gf@UUUjj J _QUUU V} kg_+DZ@UUUjj *?UUU *kEx{+fDFfDUUj *V}!ZٚPUU**WJdj+fdfDUUj*UZUU*V}GDof@jDV`UV*R/T PU@TUU*DDUUUUUUDJjdEUUf*UV}U5UZTQUU*UU=[V@UUVdVDUUPUf*jj UUPUTUZ*{LTV}UfD)DDk@Uj(UU@@^@UU PZ(_A@@UVdB@yV("T^UYV}QY( /U{UUVڪdA@TPj(n@A@UUꪩB(AUPYUVZUDV}e@j(ꅵU@mYUiQYUQYIP"* n@A@UUꪩB(AUPYUVZUDT;VVfffffjZ}VfffffffVVZ}Z}`Z}Z'o@kZ} h@oFnZ}oj/PF*}/пZ}* /B*o/ o*o o*Z}[oFh oտo*oo *oo[o*Z}/oo/Bo*oo/oo*ooF*kZ} o/i/ տ*o o//Ko* o/o o* Z}oo /*oo /* Ѽ/ [* /GZ}UTF+*Q@ oT@@*o@~/@UX@*o/PZ}[*o`PPPo*P`dPYo*PPTX@Z}*UiedoooK*oUZo*loPUffjiU@Z}[*oUQA@A/*lPefj@oo*o@P@UP@/@o*Z}ooUUVjTUQ*ѿoUTUUEUU@п*oUTUTUf몕jꦪ@*Z}oUUUQUYꪪUP/*UUUTA&eU*UUUAUUUUT/*UZ}UUUTEQjYfjVUUTo*AUUAZYQUUUF/AUUUDEUVfZUUU@ ooUUUQZ}UZUjYUUTo ooAUUUTDYUfUUjVUUUo/@ooUUUUUUjUUUUU[/UUUUTDEUfPZ}YUU@UVo_AUUUUUTEQVUQVQBOUUUUUTEDUTjEPa[eCUUUUUUQZZ}P[XUUZPQUDZk@VP@AUUPjjTEU@PUU@PkZ}E jUU`jfYTo @`UTE@h[EUUEJjUPQlUUUZ}ZoU@ETYEUQQPoUU@QUUUUoUUUDe'DTUVTQZ}[UTAUUUYUZ@UTU@jgUejUVU@UPTkZUY@U@Z}UUPTkkVkPUQUU@PYYPUUUU@{VkEP/UUUUZ}UETUUUUfUjEU@*UUUUPAUUT*UUUUZ}UfjUT*UUUT@UZEUTjUUUT@UVjUUjUUUTZ}YZUU@jUUUPEjUU@jUUUPUZUUPjUUUPZ}UjUUUUjUUUPUZUUUUjUUUPkUjUUUUjUUUP^Z}꩕UUUUjUUUP[UkUUUUjUUU@ViUUUUjUUU@UoeiZ}UUUUjUUU@jhUUUUjUUU@PjZe`hUUUjUUU@`@ZVUUjPhUUUjZ}UUU@Z@UVUUjeAhUUUjUUU@UfZZQdUUUjUUU@A[UjZAdUUUjUUZ}U@jEdUUUjUUU@kEUU E`UUUUjUUUP[TdUUUUjUUUTZ}@UdUUUUjUUUTVjPdUUUUjUUUUE@GfUUUUjUUUUZZ}ZUUUUjUUUUZEVVUUUUjUUUU[PVUUUUUjUUUU[@$@@Z}EVFUUUUjUUUU[@eVUUUUjUUUU[@j@UVDQUUUUjUUUU[@UPnZ}RoUUUUjUUUU[UQknURojUUUUjUUUU[QjnTQojUUUUjUUUU[EUZnPQoZ}TnUUUUjUUUU[UUZnPQP.jUUUUjUUUU[UUZj@QDjUUUUjUUUU[UU*@Pf@Z}UUUUjUUUU[UUUA j@R@UUUjUUUU[UUA*VR@UUUjUUUU[UA*@AUUUjZ}UUUUZn UFZAYAUUUjUUUUVdUUFUA*eUe@EUUUjUUUUVZUFYT@UUUjUUZ}UUVPXUAPd@UUUjUUUUVhUAiQUUUjUUUUUPQjPDUUUjUUUUUZ}(P@TQUUUjUUUUU@hUTUTUUUjUUUUURjAPUUUjUUUUUj@Z}Bƿ@TUUjUUUUUoタQUUjUUUUUk @UTUUjUUUUUoZ} QUUjUUUUU[jkVDUUjUUUUUZ/PUjUUUUU[djDZ}@UjUUUUUZ( UUjUUUUUZP$U@UjUUUUUV*[}UjUUUUUVPPjUUUUUZ@ jUUUUUV@P[}jUUUUUV@j@jUUUUUVejUUUUUU[j[}UUUUUUjdnP jUUUUUUidjUUUUUTTjUU[}UUUPPjUUUUU@jUUUUUj@jUUUUT[}@jUUUUT@XjUUUUPZFdjUUUU@[}PY`jUUUU@@TjUUUU VjUUUU[}eRjUUUT RjUUUTfPZjUUUT[}[@jUUUPV@jjUUUPU*jUUUP UT[})*UUUPTP*UUU@h*UUU@T[ }*UUU@T*UUU@U*UUU@ U**[ }UUU@ P**UUU@ T**UUUڀ j*wj*UU[ }UZ wwj*wwvwj*UUUwuݪ wwwj@*wwvj*UUUwv j*ڷvj*UUUW[ }vڀ }}j*ڷ}vj*UUUkvZ mj*ڷvmj*UUTkݪ wwm*ۿwv*UUTk[ } wwm*wm*UUTko_ڀ wwmj}]wm*UUTieiZ eUUe@*Uee*UUT [}@**UUT *jUUT*UUT[}*UUT* jUUT*UUTX;_}_}_}_}_}_}_}_}_}_}_}_}_}_}x?4a`_} Aπ_ }EX0g|`"._!}@2.@7p_"} xۀK_#} Mf\0e"^0%#o_$}`6x1/G 'x _%}AX a|0JĮ_&}<KD8mpf0B% "__'}pC&2kqa2+81?s/_(}_~ ~̀|ɯx`y`_)} L} >`d60FIx@&Bm_*}"kb$3- #6`Cxx1 a_+}0>o~0!|{00|ȵp@|`M_,} L< Fff38 c3_2k?߁!o_-}`B-p|1`0c57̛<@! D1__.}| fm= kpa36 }8FM` ^0 bf_/}00o  32Baͷ`z  d}/__0} 06mɵ?a&S`aL0 1x0 f{_1}>`<d0B2M| FMgL9 cf`bd0>` 12km_2}@ 36m<0- `0pc&cͷo81ٳaF Ddݼp _3}L0?f&f  bf٘͞`#33y32f`0C1|?c30_4}b00a|ə` 1fgqlÏ #08 ``&f1_5}C1s`800 c33|#p aØ`10x?8 p`_6} `fc0Aq< 381`x0ccx 0c_7}x9 1dž 8  <  `x`c><` <0_8}010p|y`۰ 0p`|_9}8 ;`p?g0_<}|>~>1??? a _=}p1|@3?_>}~? y_?}``~|<<x x_@}??`x?9x`<o00_A}p0~<6`?p_B}? 8?0 o?~>0_C}_D}_E}_F}_G}_H}_I}_J}_K}_L}_M} \; 30cO}@DLcP}30@@LcQ}30@DcR}L30@cS}@L30cT}@DLcU}30@@LcV}30@cW}DL30cX}@@LcY}30@DLcZ}33@@Dc[}31c\} 33c]}c^}31 c_}131@c`}<@?0s310ca}0L331cb}@Dcc}331@ Dcd}?3333ce}|@L133310cf}DDscg}33330@DDDDch}s13333313?@Lci}LDD@3133333330Dcj}D@D@@@Ls13333313313ck}D@DDLDDDL 33cl}q333333333333@@@@DDD@@@D cm}s133333313331333D=cn}DDDLDDDL<s3?33333333333333co}D@DDDDDD@@@D<\310?qs33333cp}313333133?33DD@?DDDDLDDDL33cq}1s3333333333333333D@@1DDDcr}@@@D4s3103333333333333331333DDDcs}5DDDL w333s3333333333333333333ct}3333333D@@DM@D@@@D