@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}} HE |||DDOS DOSDOS SYS }}}}CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. D,}UPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESSF. LOCK F-}ILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES9!&x#!7&p))'&X*./)L''-؆莟.}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1i/}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 00}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILE1}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBH2}I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L 3} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED199 FREE SECTORS COPYING---D2:SURV4}F27.SND# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: B5} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#6}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%7} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}//3Hu ξL/L DRIVE TO WRITE DOS FILES TO?WRITING NEW DOS FILESTYPE "Y" TO WRITE DOS TO DRIVE 1.?}D1:DOS.SYSERROR - NOT VERSION 2 FORMAT. , &* բ( 1L `[) 0NΞ 0 L1M) 1@} L BAD LOAD FILELOAD FROM WHAT FILE?) 0 0#B 1L WHAT FILE TO LOCK?) 0 0$B 1L WHAT FILE TO UNLOCK?DUA}P DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO USE PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV. h  ,B}  `)  <0 2 2 0  ,   ,,ޢ* 1L ,K* 1 ~0 0C}FINSERT BOTH DISKS, TYPE RETURNERROR - DRIVES INCOMPATIBLE., 1 ~038  , 1L D}, &*  Lz+, 0 , 1 ~0 + Y,0!,0 ,L+ ,mm  v,"ǭE}0Ξ, 05,Lt+L +,Hh` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNF}INSERT DESTINATION DISK,TYPE RETURN`    `L,8,0( rG}L1(`ߢ) 1* 1 ~0Y`hhL S SL1) 8`NAME OF FILE TO MOVE?- 0 0|DLtH}% A., 1 <0 0 .@L# .BJ 1  DEHIB V L1 ,5 1 <0,L. I} JB|,A#Pd#DE 1 HI BDEHHII 1 B 1 , 1 <0,0Lf- B VJ},A#P, 1 <0 0L#L ߢ) 1* 1 ~0Yj383}mm ݭK}}`8}``|* ? ɛ,`|:(|/ 1L `DESTINATION CANT L}BE DOS.SYS0 0H{ $22Δ $28/L /) $2 Π $2 0 ξM}hAΞB,0 J 1 BޝDEHI,HDE 1HIHIDELSAVE-N}GIVE FILE,START,END(,INIT,RUN)O X0 1`BDEPHI V` X0H 1 L O}0 0 1L0`PLEASE TYPE 1 LETTER,0`hhL <0 1L0LA1 ,;ɛ7,"ɛ:ݦ1ݥP}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{Q}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1R} L ERROR- 165ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDS} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D41uT} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D41uEiͩkΩ͙kCop j`j {j`Hi͝Νh`V}L"UNEM:D"NURͩkΩ͙kCop j`j {j`Hi͝Νh`@STf t AXLPB0NZ<( ((@$@d "(  X} +AdAU0@@70@@Q0@@c@@ Y}u@@7{(}AR@++(#(++(#| ANTIC MONTHLY DISK JUNE 198 Z}5 |2++(#<( |Side A|F++(#P [} AZ-@A $dGG;@@,;@ ,;@@,;A,;@,;@@,n"D1:MENU" \}x&&@@D:*.*6,6." 6 Ai6-%@(6.7@<@ ]},A67@ <@ ,..i67@<@,.7@<@,3 6.|67B:,%@,.367B:,%@,. ^}G67@<@,.(--@B:,:7<,4 G67<,..] 6.=:, @D67@<@,.7@ _}<@,]67@<@,.0$@''7@<@,4FREEA A@()  `}@''7@<@,4FREEA A@(7@<@,)| A'!-@6 a}+'@,%@' |"++(#| |, ( |  |6++(# b}@**(" Select HELP.BAS for information.JART[@@9'-@@#C( c} FILE NUMBERM A@Q[ B^P:,A@h0"@&6.7@<@,0 ArLB6. d}7+&@,$@%@<+&@,$@%@,L B|37@<@,4 36.7@<@,! e}7@<@,4DOS!.0 6.-@B:,07<,4 A 67B:,%@,.7<,   6.! 6. f}D1:!67B:,%@,.?AR@'-@@"?  LOADING ? A`@@91@ g}@5%? BK-@@"-  CANNOT RUN 7 @A BK A@D:MENUVIEW3D .EX }}iwLINEAxx ;A ,;@,; (}@;@@ D:DOC.TXTi} A(@2lB:,!@-7@<@,4XXX0(3(E-@@"X( ӠΠ\b(}j}l @@<( @@da@ B*-@@"R("ΠҠՠҠˠҠVa%D:MENUk}D:HELPLINEAxx ;A ,;@,; (}@;@@ D:DOC.TXT WELCOME TO THE ANTIC MONTHLY DISK Most of the m}programs on this disk arewritten in Atari BASIC. Some requirespecial hardware or specific instruc-tions. We recommend you n}refer to thecorresponding issue of ANTIC forcomprehensive documentation. If youwish to order a back issue, or needsubscrio}ption information, contact usat (415) 957-0886 or, for credit cardorders, dial (800) 227-1617, Ex. 133.In California,(800)p} 722-3545, Ex. 133XXXThe menu that appeared on the screenwhen you booted the disk will onlyrun programs with a .BAS exq}tender.If you try to run a program and the response is 'cannot run Filename',then check the file extender withthe followir}ng list:XXX.BAS BASIC saved program, use menu RUN or LOAD and RUN..LST BASIC listed program, ENTER thes}n RUN..EXE Assembly language 'Load and Go' file. Remove BASIC, boot DOS, type L then enter the filenat}me..ASM Assembly language source code from Atari Assembler Editor. Must be assembled..M65 Same as .ASM onu}ly MAC/65..SYN Same as .ASM only Synassembler.AMC Same as .ASM only AMACXXX.OBJ Machine language object file. v} Same as .EXE but not 'Load and Go'. Refer to corresponding article..ACT ACTION! source code..SYS Resw}erved for DOS system files..V3D Special 3-D data file. (See the VIEW 3-D article.) .LGO Logo language, requix}res Logo cartridge..TXT Text file. Usually accessed by another program.XXXAll programs from ANTIC issuey}s datedprior to August 1984 were reproducedfrom ANTIC's Archive. We have up-dated them from our HELP columns and most arez} compatible with the XLmachines. We have worked to insurethat our programs operate as pub-lished, but we consider all our {} software listings to be works in progress which we encourage you, thereader, to personalize and enhance.Good luck, and|} ENJOY! -ANTIC EDich we encourage you, thereader, to personalize and enhance.Good luck, and0E01 FREE SECTORS1|VIEW3D...EXE(034 @$@d "(  532000 REM TYPO II BY ANDY BARTON32015 REM TURBO TYPO REV. BY J.D. McLAUGHLIN32016 REM (c) 1985, ANTIC PUBLISHING32025 DIM }B$(75)32026 B$="hhhhhϩ˅б̅m `"32150 ANS=USR(ADR(B$),ADR(LINE$),LEN}(LINE$)):ANS=PEEK(1789)+256*PEEK(1790)+65536*PEEK(1791)V. BY J.D. McLAUGHLIN32016 REM (c) 1985, ANTIC PUBLISHING32025 DIM 86B &&CREATE LINE 32026 FOR TURBO TYPOBY J.D. McLAUGHLIN (c) 19`}85, ANTIC PUBLISHING( +22#-@@2( 32026 B$=>:@4,<Af@F-@@q`}"P (>:,Z AfdE-@@(CONT0-@@BAB@E&n8AB`}@5(LINE 32026 HAS BEEN CREATED8x]]169,1,133,203,104,104,133,205,104,133,204,104,104,133,207,169,0,141,253,6,141`},254,6,141[[255,6,160,0,165,203,133,208,177,204,133,206,24,165,206,109,253,6,141,253,6,144,11,238WW254,6,173,254,6,20`}8,3,238,255,6,198,208,208,230,200,230,203,198,207,208,215,96,34 D:TURBO2.BAShhhhhϩD. McLAUGHLIN (c) 19`d05 ; TURBO TYPO06 ; BY J.D. McLAUGHLIN07 ; (c) 1985, ANTIC PUBLISHING10 *= $060020 BASIC1 = 1789 ;FIRST30 BASd}IC2 = 1790 ;SECOND AND40 BASIC3 = 1791 ;THIRD BYTES OF ANS FROM BASIC PROGRAM50 LDA #160 STA $CB ;d}ESTABLISH COUNTER (TYPOII'S VARIABLE C)70 PLA ;DISCARD #OF BYTES PASSED80 PLA 90 STA $CD ;HId} BYTE OF ADR(LINE$)0100 PLA 0110 STA $CC ;LO BYTE OF ADR(LINE$)0120 PLA ;BASIC ALWAYS PASSES A 0 Hd}ERE AS HI BYTE OF LEN(LINE$)0130 PLA 0140 STA $CF ;LO BYTE OF LEN(LINE$)0150 LDA #00160 STA BASIC1 ;d}ZERO ALL0170 STA BASIC2 ;BYTES OF0180 STA BASIC3 ;ANS0190 LDY #0 ;SET COUNTER0200 LOOPA LDA $CB ;GETd} VALUE OF 'C'0210 STA $D0 ;USE AS A COUNTER0220 LDA ($CC),Y ;GET CHARACTER FROM LINE$0230 STA $CE0240 LOOd}PB CLC ;LOOPB 'MULTIPLIES' CHAR. BY 'C'0250 LDA $CE0260 ADC BASIC10270 STA BASIC10280 BCC ONW0290 d} INC BASIC20300 LDA BASIC20310 BNE ONW0320 INC BASIC30330 ONW DEC $D00340 BNE LOOPB0350 INY 036d}0 INC $CB ;SAME AS C=C+10370 DEC $CF ;REDUCE NUMBER OF CHAR.S REMAINING0380 BNE LOOPA ;ALL CHARS. PROd}CESSED?0390 RTS ;YES,THEN RETURNc) 1985, ANTIC PUBLISHING10 *= $060020 BASIC1 = 1789 ;FIRST30 BASd. g(7@<@,;( g( 7@<@,7@<@!,}&Q$( Q( 7@<@,7@"<@0,0T(5( 7@"<@$,7@1<}@9,TDON'T FORGET THIS SEMI-COLON:36-Ag6-Ad'6-Ab36-AaD'6-@6-@'6-A}N+6-$@6-&@+6-@XT 6-C:,6-$6-06-<6-H6-AUT6-}B2yb7-@7(ĺ 7<, κ l--6-F:A`,%AV$F:Aa,%AVv$$WAIT FOR STA}RT KEY OFF THEN ONF:,@A@F:,@AP-@@% @%6-@}6-@% @p " `" ` `""Banjo |"}Picker|"" ` `SOUND POKE ROUTINE@@104,133,203,162,0,104,104},157,0,210,232,228,203,208,246,96 SOUND FREQ. VALUES!!243,230,217,204,193,182,173 ;;162,153,144,136,128,121,114,1}08,102,96,91,85,81,76,72*CHORD DATA413>31,18,13,10,6,20,FH30,17,13,8,5,20,CR26,18,12,8,3,20,G7\}24,17,13,10,5,20,Amf46,15,12,8,3,20,Gp42,15,13,10,3,20,D7z40,17,12,8,5,20,Em62,19,15,10,7,20,D58,1}7,14,10,5,20,A756,19,15,12,7,22,Bm22,17,14,10,5,22,A18,17,15,12,5,22,E716,19,14,10,7,22,F#mPICK} PATTERNS1151,3,2,5,1,4,2,5,153,3,2,1,5,1,2,3,148,3,1,5,3,1,3,4,150,3,2,1,5,3,1,5,111,3,1},5,3,1,5,3,113,2,1,2,1,5,2,1,58,1,2,3,1,5,2,1,510,1,2,5,1,2,5,2,1$1,1,2,1,5,1,2,1,5.5,3,5,3,1,5,3},1,580,2,3,2,1,2,3,2,1 D:BANJO.BAS3,2,1,ACA0FCPSKELSPPIC@@@?  m   }GTIA PIXEL AVERAGINGBY LYN BUCHANAN (c) 1985, ANTIC PUBLISHING( AdPIXEL AVERAGING ROUTINEnS}ET AREA TO BE ENHANCEDoY-COORDINATE RANGEp-@@qX-COORDINATE RANGEr-@@wsSTO}P ATTRACT MODEt@wx::LOCATE EACH PIXEL AND ASSIGN ITS VALUE TO A VARIABLEy1&@&@z}1&@{1&@%@|1&@} 1~1%@1%@&@1%}@1%@%@AVERAGE ALL PIXEL VALUES&&6-P:+%%%%%%%%,'@ ,LIGHTEN THE B}ACKGROUND"6-@REPLOT PIXEL IN NEW COLOR,%@RETURN FOR THE NEXT PIXEL  } LOCK SCREEN IN GR.9 MODEA@w72@e@@A AaDRAW STICK FI}GURE BIRD +@ AADDRAW TAILY-@@/,@%@uU/@%'@@}q&'@Y DRAW BODY` -@@6@$B,@%'?`@t&`/@`&'@@t}&C!,@%'?`@f%?/@`&'@@f%C DRAW WINGS-@@-,@}@cK/@%@&'@q/$@%@ @f&'@/$@%@$@f&'@7!/@F}%@ &'@3/@u@E7 DRAW HEADq @!-@@"G,@H%'@@`&'@}m/@h&'@@`&'@q DRAW BEAK @!-@@3,@s@gI/@H%}@g&M a-@@},@I%'@@g/@u@U DRAW EYE= !-@T}@V-,@`9/@b=  A+,C +A@(1A@(CA @->}( (#(̠;( by Lyn Buchanan>(.OO(GThis demo program draws a stick-figurebird using normal PLOT} and DRAWTO/QQ(Icommands. Then the program 'computer enhances' the image by sampling the0g&(color value of each pixel}, andd(9averaging it with the values of the surrounding pixels.g(1`](UThe BASIC routine is slow (takes about12 minute}s), but the results are worththe wait.`(6SAR@'-@@"A(READY? PRESS ԠSB2y@}@ F:B2y,@A JB2y@ A D1:BIRD.BAS R; COLORS (LISTING 3)MODULE:BYTE ARRAY dfault(5),CP ,C7=[52 24 130 194 0] ,C8=[52 26 0 194 208] ,CM=[52 24 194 130 80] } PROC IncC():BYTE ii=cnow:cnow==+1:Position(10,23)IF i=3 THEN i=4:cnow=0 FIKolor(cnow):i=clor(i):PrintB(cnow)Position( }18,23):PrintB(i RSH 4)Put(' ):Position(27,23)PrintB(i & 14):Put(' ):RETURNPROC IncHue():BYTE i,jIF cnow=0 THEN i=4 ELSE }i=cnow-1 FIj=clor(i) RSH 4j==+1:IF j>15 THEN j=0 FIPosition(18,23):PrintB(j):Put(' )clor(i)=(j LSH 4)+(clor(i) & 14)C7(i })=clor(i):RETURNPROC IncLum():BYTE i,jIF cnow=0 THEN i=4 ELSE i=cnow-1 FIj=clor(i) & 14j==+2:IF j>15 THEN j=0 FIPositio }n(27,23):PrintB(j):Put(' )clor(i)=(clor(i) & 240)+jC7(i)=clor(i):RETURNPROC DfaultC():BYTE iFOR i=0 TO 4 DO C7(i)=dfault }(i) clor(i)=C7(i)OD RETURNPROC SetDfault():BYTE iFOR i=0 TO 4 DO dfault(i)=C7(i) OD:RETURNPROC CPon():BYTE iFOR i=0 }TO 4 DO clor(i)=CP(i) OD:RETURNPROC CMon():BYTE iFOR i=0 TO 4 DO clor(i)=CM(i) OD:RETURNPROC FixCol():IncC()DO WHILE ke }y=255 DO OD IF key=18 THEN key=255:IncC() ELSEIF key=57 THEN key=255:IncHue() ELSEIF key=0 THEN key=255:IncLum() ELSE }IF key=58 THEN key=255:DfaultC() ELSE EXIT FIOD RETURN[52 24 130 194 0] ,C8=[52 26 0 194 208] ,CM=[52 24 194 130 80] ;; DISKIO (LISTING 7) MODULE:BYTE errBYTE ARRAY fln(16),abort=" Ġ"PROC MyErr(BYTE e)Position(1,16):Print("$}")PrintB(e):err=1:mes^=lin21Position(12,21):PrintB(e)WHILE key=255 DO OD key=21:RETURNPROC CIO=$E456(BYTE a,x)PROC IO$}2(BYTE cmd CARD buf,len)BYTE IOcmd=866 ;7-LOAD 11-SAVECARD IObuf=868,IOlen=872IOcmd=cmd:IObuf=buf:IOlen=lenCIO(0,32):RETU$}RNPROC Dir():BYTE i,j,lft=82BYTE ARRAY a(18),f(9)lft=22:Position(22,3)FOR i=1 TO 11 DO Pb(16):PutE() ODPosition(22,3):j$}=0Close(2):Open(2,"D:*.V3D",6,0)FOR i=1 TO 22 DO InputSD(2,a) IF a(0)=16 THEN EXIT FI SCopyS(f,a,3,10):Print(f) IF j=$}0 THEN j=1:Put(' ) ELSE j=0:PutE() FIOD Position(22,14):Print(a)Close(2):lft=1:RETURNPROC Inp(BYTE ARRAY f):BYTE iBYTE$} ARRAY a(10)SCopy(f,"D: ")Position(23,16):Pb(15)Position(23,16):InputS(a)i=a(0)+3:IF i>11 THEN i=11 FISAssig$}n(f,a,3,10):SAssign(f,".V3D",i,14)Position(23,16):Print(f):RETURNPROC SaveP():BYTE k:CARD n,tPosition(1,16):Print("Ӡ$}Š ") Inp(fln)Position(1,16):Print("[S]-Š")WHILE key=255 DO OD k=key:key=255IF k<>62 THEN Position(1,16):Put('S)$} Print(abort):RETURNFI t=Error:Error=MyErr:err=0n=8*P(0)+18:Close(2):Open(2,fln,8,0)IF err>0 THEN Close(2):Error=t:RETURN$} FIIO2(11,P,n):IO2(11,C7,5):Close(2)Position(1,16):Print(" Ġ ")Error=t:Dir() RETURNPROC LoadP():BYTE k:CARD n,tP$}osition(1,16):Print("̠ϠĠ ")Inp(fln)Position(1,16):Print("[L]-Ġ")WHILE key=255 DO OD k=key:key=255IF k<>0 THEN $}Position(1,16):Put('L) Print(abort):RETURNFI t=Error:Error=MyErr:err=0Close(2):Open(2,fln,4,0)IF err>0 THEN Close(2):Err$}or=t:RETURN FIIO2(7,P,2):n=8*P(0)+16IO2(7,P+2,n):IO2(7,C7,5):Close(2)Position(1,16):Print(" Ġ ")Error=t:SetDfault$}():CPon()Position(30,19):Pb(6):RETURNYTE ARRAY fln(16),abort=" Ġ"PROC MyErr(BYTE e)Position(1,16):Print("$(; DRAW3D (LISTING 4)MODULE:BYTE vflag=[0],gflag=[7]INT sx,sy,mag=[3],cx=[80],cy=[90] ,rx=[0],ry=[0],rz=[0],ri=[30]CARD (}sa1,dl1,dl2,lin16,lin17,lin18 ,lin19,lin20,lin21,lin22,lin23,lin15INT ARRAY P(809),eye,foc,R(9),E(9),M(9) ,Q=[21:10 5 5:(}100:0 0 0:0: 50 0 0:18:0 0 0:2:0 50 0:2: 0 0 0:18:0 0 40:2:10 0 0:17: 10 50 0:1:20 50 0:17:20 0 0:1: 30 0 0:17:30 50 (}0:1:40 50 0:17: 40 0 0:1:0 10 0:19:50 10 0:3: 50 20 0:19:0 20 0:3:0 30 0:19: 50 30 0:3:50 40 0:19:0 40 0:3]PROC FixP((}INT ARRAY Q):INT i,jZero(P,1618):j=4*Q(0)+8FOR i=0 TO j DO P(i)=Q(i) ODeye=P+2:foc=P+10:RETURNPROC Rot(INT ARRAY v):INT (}x,y,z,s,cy=v(1)v(1)=y*cos(rx)/128:v(2)=y*sin(rx)/128x=v(0):z=v(2):s=sin(ry):c=cos(ry)v(0)=(x*c-z*s)/128:v(2)=(x*s+z*c)/12(}8x=v(0):y=v(1):s=sin(rz):c=cos(rz)v(0)=x*c-y*s:v(1)=x*s+y*c:v(0)==/128v(1)==/128:Normize(v):RETURN PROC FixR():INT ARRAY(} v(3),w(3),u(3)v(0)=128:v(1)=0:v(2)=0:Rot(v)w(0)=0:w(1)=128:w(2)=0:Rot(w)Vprod(v,w,u):Normize(u)R(0)=v(0):R(1)=v(1):R(2)=(}v(2)R(3)=w(0):R(4)=w(1):R(5)=w(2)R(6)=u(0):R(7)=u(1):R(8)=u(2):RETURN PROC FixE():INT sE(6)=eye(0):E(7)=eye(1):E(8)=ey(}e(2)Normize(E+12)IF E(8)=0 THEN E(3)=0:E(4)=0:E(5)=128ELSEIF E(6)=0 AND E(7)=0 THEN E(3)=0:E(4)=128:E(5)=0ELSE E(3)=-E((}6):E(4)=-E(7) E(5)=E(6)*E(6):E(5)==+E(7)*E(7) E(5)==/E(8):Normize(E+6) IF E(8)<0 THEN E(3)=-E(3):E(4)=-E(4) E(5)=-E(}(5) FIFI Vprod(E+6,E+12,E):Normize(E):RETURNPROC FixM()M(0)=Vdot(R,E):M(3)=Vdot(R,E+6)M(1)=Vdot(R+6,E):M(4)=Vdot(R+6,E(}+6)M(2)=Vdot(R+12,E):M(5)=Vdot(R+12,E+6)Normize(M):Normize(M+6)Vprod(M,M+6,M+12):Normize(M+12):RETURNPROC Maksxsy(INT AR(}RAY v):BYTE iINT px,py,pz,t,d:INT ARRAY w(3)FOR i=0 TO 2 DO w(i)=v(i)-foc(i) ODIF vflag=1 THEN px=Vdot(w,M)/128 py=Vdot((}w,M+6)/128 sx=cx+mag*px/2:sy=cy-mag*py/2ELSE d=eye(3):t=mag*d/8 px=Vdot(w,M)/128:py=Vdot(w,M+6)/128 pz=Vdot(w,M+12)/12(}8 d==-pz:IF d<4 THEN d=4 FI:d==/4 sx=t*px/d:sy=t*py/d:sx==+cx:sy=cy-syFI RETURNPROC CLR():Zero(sa1,7680):RETURNPROC (}Draw(INT ARRAY P):BYTE iINT ARRAY ptpt=P+10FOR i=1 TO P(0) DO pt==+8 Maksxsy(pt) Kolor(pt(3) & 15) IF pt(3)<16 THEN Li(}neTo(sx,sy) ELSE Dot(sx,sy):xnow=sx:ynow=sy FIOD RETURN,sy,mag=[3],cx=[80],cy=[90] ,rx=[0],ry=[0],rz=[0],ri=[30]CARD (<; GR78M (LISTING 1)MODULE:INT xnow=[80],ynow=[90]BYTE cnow=[1],key=764,ram=106,cur=752BYTE ARRAY mask7=[64 16 4 1],clor=,}708 ,mask8=[128 64 32 16 8 4 2 1],mask,rowCARD dlist=560,sa=88CARD ARRAY adr(192):CARD POINTER mesPROC Kolor(BYTE c) RE,}TURNPROC Dot(INT x,y) RETURNPROC Dit(INT x,y) RETURNPROC LineTo(INT x,y)INT dx,dy,xf,yf,a,b,t,iDot(xnow,ynow)IF x=xnow,} AND y=ynow THEN RETURN FIIF x>xnow THEN dx=x-xnow:xf=1ELSE dx=xnow-x:xf=-1 FIIF y>ynow THEN dy=y-ynow:yf=1ELSE dy=ynow-y,}:yf=-1 FIx=xnow:y=ynowIF dx>dy THEN a=dy+dy:t=a-dx:b=t-dx FOR i=1 TO dx DO x==+xf IF t<0 THEN t==+a ELSE t==+b:y=,}=+yf FI Dot(x,y) ODELSE a=dx+dx:t=a-dy:b=t-dy FOR i=1 TO dy DO y==+yf IF t<0 THEN t==+a ELSE t==+b:x==+xf ,} FI Dot(x,y) OD FI xnow=x:ynow=y:RETURNPROC Gr78ON():BYTE i:BYTE ARRAY dlGraphics(8+16):adr(0)=sa:dl=dlistFOR i= 1 TO,} 191 DO adr(i)=adr(i-1)+40 ODdl==-4:dl(0)=112:dl(1)=80:dl(2)=16FOR i=3 TO 198 DO dl(i)=dl(i+4) ODdl(199)=16:dl(200)=66:mes,}=dl+201dl(204)==-4:dlist=dl:RETURNPROC Kolor7(BYTE c):BYTE ic==& 3:cnow=cFOR i=0 TO 3 DO mask(3-i)=c:c==LSH 2 ODRETURN,}PROC Dot7(INT x,y):BYTE xb,xrBYTE ARRAY pre=[63 207 243 252]IF x<0 OR x>159 THEN RETURN FIIF y<0 OR y>191 THEN RETURN FI,}xb=x RSH 2:xr=x AND 3:row=adr(y)row(xb)==& pre(xr) % mask(xr):RETURNPROC Dit7(INT x,y):BYTE xb,xrIF x<0 OR x>159 THEN RET,}URN FIIF y<0 OR y>191 THEN RETURN FIxb=x RSH 2:xr=x AND 3:row=adr(y)row(xb)==! mask(xr):RETURNPROC Gr7(BYTE ARRAY d):BYT,}E imask=mask7:Kolor=Kolor7:Dot=Dot7Dit=Dit7:d(3)=78:d(99)=78FOR i=6 TO 98 DO d(i)=14 ODFOR i=102 TO 198 DO d(i)=14 OD:RET,}URNPROC Kolor8(BYTE c):BYTE icnow=c & 3:IF c>1 THEN c=1 FIFOR i=0 TO 7 DO mask(7-i)=c:c==LSH 1 ODRETURNPROC Dot8(INT x,},y):BYTE xb,xrBYTE ARRAY pre=[127 191 223 239 247 251 253 254]IF x<0 OR x>319 THEN RETURN FIIF y<0 OR y>191 THEN RETURN ,}FIxb=x RSH 3:xr=x AND 7:row=adr(y)row(xb)==& pre(xr) % mask(xr):RETURNPROC Dit8(INT x,y):BYTE xb,xrIF x<0 OR x>319 THEN ,}RETURN FIIF y<0 OR y>191 THEN RETURN FIxb=x RSH 3:xr=x AND 7:row=adr(y)row(xb)==! mask(xr):RETURNPROC Gr8(BYTE ARRAY d):,}BYTE imask=mask8:Kolor=Kolor8:Dot=Dot8Dit=Dit8:d(3)=79:d(99)=79FOR i=6 TO 98 DO d(i)=15 ODFOR i=102 TO 198 DO d(i)=15 OD:,}RETURN (LISTING 1)MODULE:INT xnow=[80],ynow=[90]BYTE cnow=[1],key=764,ram=106,cur=752BYTE ARRAY mask7=[64 16 4 1],clor=,3 <<(2(<<(<2<(<0}(<(<22(<(   22  0}( ( <  <<<  <   77  70} 7  777 74(2(<<(<2<(<08 !/!ANSCLCL1SBSB1CRECTCLLDADDRESCRMODIJNWEAVAMOFROTADADHADLLO4}(+(STU@@ @I @ A AT @@@@4}@@@AA@A6@AB1AdB@ 4}!V"#$%&'B(@t)Ai* COLOR INKLE LOOMGERALD M. HAGO4}PIAN (c) 1985, ANTIC PUBLISHING(RR;@,;@@,;@@,;@,;@,;@,;Av,2;64}7@,.#67Av,.267@,.;6-C:,<6-F A  A P A 0Z%%6-F:@,%F:4}@,$AVd'6-6-@'6-@nNN6-?:C:.hhhhhhh`,<<<4}Av,x''A@:7Av<Av,,G-AA9@:7%Ait<%Ait,,= G AP'A5}@'A@4-@@y#'@Q2AU&+$@,@@],AP5}i/A`m 2 AAY@4 AF-"(>:A%5},4AR@FA@40-(%A B C D E F G H I J K L M N O0$LOOM SET UP.@.@5}@K:6- A A A0n-@8(Number of threads per h5}arness?I( (LIMIT 39) MP(n @)!@9A0 B AK-@*(SURE? (Y/N) 5} 7)@K@A0O6-@6-%@+,1/7,A@O/$@HARNES5}S SET UP@@.@@K:@AR@"'6-@6-'6-@,-@5}6| A-@;(Harness #1: Thread # Q( Color Selection?^)@| @d)!@yA5}@ AJ6-&@dT67<,.>:,^'-%@,#/' he-@*(Color OK (Y5 }/N) ?7)@C@Q6-&@e@Ar |)6-@6-@)6-%@-@5 }| A-@;(Harness #2: Thread # Q( Color Selection?^)@| @d)!@yA5 } A6-&@d67<,.>:,'-%@,#/' e-@*(Color OK (5 }Y/N) ?7)@C@Q6-&@e@A C-1(} Press START to weave.C5 }B2y@ F:B2y,@AB2y@WEAVING ROUTINE/-/(} 5} WEAVING-@@y!O2AU&+$@,@@[,APg/A`k 25}'6-@6-'6-@#-@@#6-@&-@06.5}7<,:6-@:,&@dDT-%@@2H:@,$AU@@DJ,P/T N)%25}) X+6-@6-%@+6-%@b-@l6.7<,v6-@:,&@dT5}-%@@2@H:@,$AU@@DJ,P/T E%2@) 76-5}%@E6-%@ JJ6-?:C:.hhhhhhh`,<<<Av,&&67Av<Av5},.>:F:A,,4-AvAv067<,.>:F:&Ait,,4 VALUE CHANGE OF WEAVINGQ0((}Do you wish to cha5}nge the value? (Y/N) =)@Q@A A0f;(3}Type a letter between A (darkest) and O (lightest5})H)@f @e)!@yA06-&@dY6-F:A,A4(}Value OK? (Y/N)A)@5}M@YA@A0 B R(}Weave again? (Y/N)()@4"@> A0R5}"@AD(}Return to menu? (Y/N)+)@7"@:'D A ?(} Leave program? (Y/N)+)@5}?@A*C(} Sure? (Y/N)*)@6"@@+C4TITLE ROUTINE>1+@%5}@@1-H}-@8(@*********L-@@0y2H:@5},$A@@} Rm$(@**********8-@@0e2@H:@,$A@5}@i m \-@A =2_2@2@5}@@@-@(@ THE fr-@A =2A!@5}@O-@r(@ COLOR LOOM p-zp-@A =2@@5}@@O-@p(@ BY GMH -@A 7-@325 }7 $SET UP TEXT WINDOWvBB+@1@@CA#A5!}sF:A`,%AV$F:Aa,%AfACv#b6-A6!BB@d5-@9"A%E V6-P5"}:'AV,bAnA&AV$+BBAn72,173,111,2,41,63,141,10,212,141,27,208,169,0,141,26,205#}8,104,64$ MENUE+@%@'-@@E(@ ** MENU **-@A 1 5$}+AR@1AA.-@+( MENU.($$( 1 CREATE NEW WEAVIN5%}G( 2 SAVE WEAVING""( 3 LOAD OLD WEAVING$( 4 LEAVE PROGRAM.(( Selection 5&}?8.@.@@K:B.)@. @I)!@RAL6-&@HV''@5'}A0AA` AjSAVE PATTERNtI( (I(; Save to: 1..CASSETTE 2..DISKE5(}TTE~.)@. @I)!@PA@&@HApAR(!(Place tape in recorder;(Press R5)}ECORD and PLAYR(Then type ΠAdAU F:Ad,@AAdAU-#@5*}@A(C:- Ad( (0("Insert diskette and press Π=)@d@@ D:W5+}EAVING$( ( ($( ǠΠ$6-P:'AV,$6-&$AV6-F:@,?6-Ad#%@5,}@1%@?%@+%@@+%@ @0*6-?:C:hhhLV,<@2,*@$5-}LOAD OLD PATTERN K( (K(=Load from: 1..CASSETTE 2..DISKETTE.)@. @I5.})!@PAAR@(&@HA0Ap2#( (#(Insert and queue tape<##(press ٠5/}, type ΠFAdAUH F:Ad,@ARJAdAUP-#@@A(C:50}- A Z0( (0("Insert diskette and press ΠdAdAUn F:Ad,@AxAd51}AU**@@ D:WEAVING%( ( (%( ǠΠ A 0$6-P:'AV,$6-&52}$AV?6-Ad#%@@1%@?%@+%@@+%@ @0*6-?:53}C:hhhLV,<@2,*@##A@:7Av<Av,,K-AA5@:7%Ait<%Ait,,9 54}KAY6-@' @ERASE WEAVING AND RESET!!(} ERASING OLD PATTERN5-@@55}@$67<,.@167<,.@5  6. 6. 6. '6-@6-'6-@#-@@56}#6-@"-@,6.7<,66-@:,&@d@T-%@@2H:@,$AU@@57}DJ,P/T J)%2) T+6-@6-%@+6-%@^-@h58}6.7<,r6-@:,&@d|T-%@@2@H:@,$AU@@DJ,P/T E%2@59}) 76-%@E6-%@ $D2:INKLLOOM.BASABCDEFGHIJKLMNOABCDEFGHIJK5:}LNO!/!ANSCLCL1SBSB1CRECTCLLDADDRESCRMODIJNWEAVAMOFROTADADHADLLO4; MENU3D (LISTING 9)PROC Menu():BYTE i,lft=82:BYTE ARRAY dldl=dl2-5:dlist=dl:dl2=dlistFOR i=0 TO 12 DO dl(i)=dl(5+i) ODd9<}l(1)=48:dl(2)=48:dl(3)=71:dl(6)=6dl(8)=48:dl(22)=6:dl(23)=6:dl(24)=16dl(26)=16:dl(28)=16:dl(30)=16dl(32)=16:dl(35)=dl&255:9=}lft=1Print(" v i e w 3 D ")PrintE("")PrintE(" Paul Chabot 1985")PrintE(" 9>}G Gr7/8٠")PrintE("X Inc rx V View ")PrintE("Y Inc ry M Mag. ")PrintE("Z Inc rz C Color")P9?}rintE("I Inc riɠϠ")PrintE("J Dec ri D L S P ")PrintE("򠠠")PrintE("1 ADD Points/Lines "9@})PrintE("2 EDIT Points/Lines")PrintE("3 Change EYE/dist. ")PrintE("4 Change FOCUS ")PrintE("5 Change CENTER 9A} ")PrintE("̠")Print("x GRAPHICS 7PLUS x ")PrintE(" ")PrintE(" filename>>9B}")PrintE("eye dist. mag")PrintE("PreRotated ri=")PrintE("Center Focus"9C})PrintE("ݠ堠ݠ")PrintE(" Ҡ [any key] - MENU")PrintE("pt# color")Print(9D}" àolor Ƞue ̠um Ġefault")lin15=sa+600lin16=sa+640:lin17=sa+680:lin18=sa+720lin19=sa+760:lin20=sa+800:lin219E}=sa+840lin22=sa+880:lin23=sa+920:RETURNft=82:BYTE ARRAY dldl=dl2-5:dlist=dl:dl2=dlistFOR i=0 TO 12 DO dl(i)=dl(5+i) ODd8*; MISC1 (LISTING 2)MODULE:BYTE st:INT ARRAY jx=[1 1 1 1 1 2 2 2 1 0 0 0 1 1 1 1] ,jy=[1 1 1 1 1 2 0 1 1 2 0 1 1 2 0 1]=G}BYTE ARRAY b=" "PROC Setjxjy(BYTE i)FOR i=0 TO 15 DO jx(i)==-1:jy(i)==-1 ODRETURNPROC Pb(BYTE i):b(0=H})=i:Print(b):RETURNPROC Wait(CARD w,j)FOR j=0 TO w DO w==+1:w==-1 OD RETURN; TRIGMODULE:BYTE ARRAY Si(91)PROC SetTrig=I}(BYTE t INT y)FOR t=0 TO 90 DO y=(t*t)/45 y=(y*t)/5:y=100*t-y:y==/45:Si(t)=yOD RETURNINT FUNC sin(INT t,y):t==MOD 360I=J}F t<91 THEN y=Si(t)ELSEIF t<181 THEN y=Si(180-t)ELSEIF t<271 THEN y=-Si(t-180)ELSE y=-Si(360-t) FI RETURN(y)INT FUNC cos=K}(INT t,y):t==MOD 360IF t<91 THEN y=Si(90-t)ELSEIF t<181 THEN y=-Si(t-90)ELSEIF t<271 THEN y=-Si(270-t)ELSE y=Si(t-270) FI=L} RETURN(y); VECTOR INT FUNC ABS(INT x)IF x<0 THEN x=-x FI RETURN(x)INT FUNC SQR(INT x):INT yIF x=0 THEN RETURN(0) FI:x=M}=ABS(x):y=0DO y==+1:IF y*y+y>x THEN RETURN(y) FI ODINT FUNC Vdot(INT ARRAY v,w):INT xx=v(0)*w(0):x==+v(1)*w(1)x==+v(2)*w=N}(2):RETURN(x)PROC Vprod(INT ARRAY v,w,u)u(0)=v(1)*w(2):u(0)==-v(2)*w(1)u(1)=v(2)*w(0):u(1)==-v(0)*w(2)u(2)=v(0)*w(1):u(2=O})==-v(1)*w(0)RETURNPROC Normize(INT ARRAY v):INT i,j,si=ABS(v(0))j=ABS(v(1)):IF i100 THEN j=1+i/100 FOR i=0 TO 2 DO v(i)==/j ODFIFOR j=0 TO 1 DO s=Vdot(v,v):s=SQR(s) FOR i=0 TO 2 DO v(i)=v=Q}(i)*128/s ODOD RETURNULE:BYTE st:INT ARRAY jx=[1 1 1 1 1 2 2 2 1 0 0 0 1 1 1 1] ,jy=[1 1 1 1 1 2 0 1 1 2 0 1 1 2 0 1]<,- PMBASPBBSKBBX AS}  PENCILSBY GREGG TAVARES (c) 1985, ANTIC PUBLISHING(,AF:A@AT},"+@, A@2.6-F:A@,&@.A&@<$6-F:A,$AV$ AF9 +@'0@AU}@9AY@bP[BBy-6-$AV%A$%@2A-APW%&@3AV}[ Z'A#@'B2w@d[B2H@@/B2I@@%@AB2PA[B2QAAW}%@n'B2V@'B2W@xKA@'AAP9A@KA@6AX}k-@!#A05-@?"Q%$@%k%AV%$@%?%$@%%AY}A7%$@%%Ah; ?  A-@# @,@/@5 AZ}A@6-?:A6, F:B2y,"@A  0,0,0,00,1,231,300,3,231,310,7A[},231,310,15,231,310,31,231,31"0,63,231,31,1,63,231,3163,63,231,31@1,63,231,31J0,63,231,3A\}1T0,31,231,31^0,15,231,31h0,7,231,31r0,3,231,31|0,1,231,30+6-+-A@A]} #A-@??%%P:'@,%@+P:'@,%@,$@%II%%+@&P:'@A^},,%@+P:'@,%@,$@% "%%%A%%%AW%@%%%AA_}i%@H%%%A% %%@@   $ 0,0,0,0 0,0,0,0 2,2,0,2 4,4,0A`},4& 6,6,0,60 8,8,0,8:10,10,4,10D10,12,6,10N10,12,4,10X10,12,0,10b10,10,0,10l 8,8,0,8v Aa} 6,6,0,6 4,4,0,4 2,2,0,2 0,0,0,0 0,0,0,0)AG)AH'AV1AP1Ab}AQ'AV%@1Ab1Ac'AV%@1Ah1Ai'AV%@Ac}1At1Au'AV%@$ #A-@@Q"A5%  55Ad}@$AV%@%@@%@55@$AV%@%@@$@ 55@$AV%@Ae}%@@%@*55@$AV%@%@@$@455@$AV%@2%@@Af}%@>55@$AV%@2%@@$@H55@$AV%@2%@ @%@R55@Ag}$AV%@2%@@$@\55@$AV%@%@@%@f55@$AV%@%Aq}1?b'DOS SYSb*+DUP SYSbUAUTORUN SYSbWMENU bhHELP BASblDOC TXTb~TURBO1 LSTbBIRD BASb COLORS ACTbDISKIO ACTbDRAW3D ACTbGR78M ACTbHOUSE V3DbCINKLLOOMBASb ;MENU3D ACTb FMISC1 ACTbRPENCILS BASbtPIANO LGOb PRINTIO ACTbSTICK3D ACTbFTUTOR BASb UPDATES ACTbVIEW3D ACTbVIEW3D EXEbTURBO2 BASb TURBO3 ASM@@$@p$z]]104,165,204,205,11,212,208,251,162,0,189,0,33,188,0,32,141,10,212,141,26,208,140,19,208Ar}\\189,0,31,141,18,208,189,0,34,141,20,208,189,0,35,141,21,208,232,224,192,208,218,76,1,6D2:PENCILS.BAS<6-As}H6,- PMBASPBBSKBBX @TO SIGN :LENTELL [0 1] PUTELL 0 BK 6 TELL 1 FD 14TELL [0 1] LT 90 FD :LEN / 2 - 10ENDTO STAFF :LEN :HITCS PU LT 90 FD Eu}:LEN / 2 RT 90 FD :HIT * 5 / 2 PDREPEAT 4 [SETH 90 FD :LEN BK :LEN RT 90 FD :HIT]RT 180REPEAT 2 [FD :HIT * 4 RT 90 FD :LENEv} RT 90]SIGN :LENENDTO MEASURECSTELL 2 STAFF 250 10ENDTO DIRECTIONSCTPR [IF YOU WANT THE COMPUTER TO PLAY]PR [ALONEw}G WITH YOU, PRESS 'y' NOW.]MAKE "CHOI RCIF :CHOI = "Y [PR [THE COMPUTER WILL PLAY ALONG.]] [PR [THE COMPUTER WILL NOT PLAY.Ex}]]PR [Press a key to go on.]PR RC CLEANUPENDTO SETUPSETBG 0TELL 2 SETPN 0 SETPC 0 102 SETC 15TELL [0 1] SETC 6TELL [Ey}0 1 2] CSTELL 2 MEASURETELL 2 PU SETPOS [0 -20] SETC 15PUTSH 1 :NOATPUTSH 2 :STAFFLOPUTSH 3 :STAFFHITELL 0 SETSH 2 TELLEz} 1 SETSH 3TELL 2 SETSH 1ENDTO BEEP :NOTESETENV 0 3TOOT 0 :NOTE 10 20ENDTO PLAY :STIF :ST = "A [TYPE [\ c] SETY -20 E{}OP 260.7]IF :ST = "S [TYPE [\ d] SETY -15 OP 293.3]IF :ST = "D [TYPE [\ e] SETY -10 OP 330]IF :ST = "F [TYPE [\ f] SETY -5E|} OP 347.7]IF :ST = "G [TYPE [\ g] SETY 0 OP 391.1]IF :ST = "H [TYPE [\ a] SETY 5 OP 440]IF :ST = "J [TYPE [\ b] SETY 10 OPE}} 495]IF :ST = "K [TYPE [\ C] SETY 15 OP 521.5]IF :ST = "L [TYPE [\ D] SETY 20 OP 586.6]IF :ST = "; [TYPE [\ E] SETY 25 OP E~}660]IF :ST = "+ [TYPE [\ F] SETY 30 OP 695.4]IF :ST = "* [TYPE [\ G] SETY 35 OP 782.2]IF :ST = CHAR 32 [TYPE [\ ] SETY 0 OE}P 50000]OP 50000ENDTO BEEP2 :NOTESETENV 0 3TOOT 0 :NOTE 10 20TOOT 1 :NOTE / 2 8 20ENDTO REMEM :STMAKE "LINE LPUT :E}ST :LINEENDTO REPLAY :LINEIF EMPTYP :LINE [STOP]IF :CHOI = "Y [BEEP2 PLAY FIRST :LINE] [BEEP PLAY FIRST :LINE]REPLAY BFE} :LINEENDTO STARTSETUPBEEP2 PLAY "ADIRECTIONSGET.NOTEENDTO CLEANUPCTPR [C\=CLEANUP,Y\=START OVER,R\=REPLAY]MAKE E}"LINE []ENDTO GET.NOTE.DEPOSIT 731 255MAKE "ST RCIF :ST = "C [CLEANUP GET.NOTE]IF :ST = "Y [START]IF :ST = "R [REPLAYE} :LINE GET.NOTE]REMEM :STIF :CHOI = "Y [BEEP2 PLAY :ST] [BEEP PLAY :ST]GET.NOTEENDMAKE "ST "RMAKE "STAFFHI [8 12 10 9E} 9 9 9 9 9 9 9 9 9 10 12 8]MAKE "STAFFLO [8 24 40 72 136 136 136 138 141 141 139 137 137 73 42 28]MAKE "NOAT [0 7 15 12 8 8E} 8 8 8 8 104 248 248 240 96 0]MAKE "CHOI "YMAKE "LINE [S D F \ F G H \ H J K \ K K K]TO STAFF :LEN :HITCS PU LT 90 FD D[; PRINTIO (LISTING 8)PROC Ppt(INT ARRAY v)PrintD(2,"("):PrintID(2,v(0))PrintD(2," "):PrintID(2,v(1))PrintD(2," "):PrintII}D(2,v(2))PrintD(2,":"):PrintID(2,v(3))PrintD(2,") "):RETURNPROC Prnt():BYTE i,j,k:CARD n,tBYTE ARRAY a(13),st=[3 27 51 1I}6] ,pre=[4 27 75 192 0],s,d(193)Position(1,16):Print("PD ")WHILE key=255 DO OD k=key:key=255IF k<>10 AND k<>58 TI}HEN Position(1,24) Put('P):Print(abort):RETURNFI:t=Error:Error=MyErr:err=0Close(2):Open(2,"P:",8,0)IF err>0 THEN Close(2I}):Error=t:RETURN FIb(0)=12:SCopy(a,b):SCopyS(a,fln,3,14)PrintDE(2," "):PrintDE(2,a)IF err>0 THEN Close(2):Error=t:RETURN FI}IIF k=10 THEN st(3)=16:PrintDE(2,st) s=sa1:d(0)=192 FOR i=0 TO 39 DO n=7640+i FOR j=1 TO 192 DO d(j)=s(n):n==-40 ODI} PrintD(2,pre):PrintDE(2,d) ODELSE st(3)=20:PrintDE(2,st) PrintD(2,"eye="):Ppt(eye) PrintD(2," focus="):Ppt(foc) I} PrintDE(2," "):i=0:j=0:n=P+10 DO i==+1:IF i>P(0) THEN EXIT FI j==+1:n==+8:Ppt(n) IF j>2 THEN j=0:PutDE(2) FI ODI} PrintDE(2," ")FI Position(1,16):Print(" Ġ ")Error=t:Close(2):RETURN(2," "):PrintID(2,v(1))PrintD(2," "):PrintIHQ; STICK3D (LISTING 6)PROC JoyD(INT n) ;0-EDIT,1-ADDBYTE i,k,f:INT ARRAY ptIF n=0 THEN f=0 ELSE f=1:n=P(0) FIn==+1:pt=P+1M}0+8*n:Upt(n):Ucxyz(pt)Kolor(pt(3) & 15):Maksxsy(pt):Dit(sx,sy)DO IF n>200 THEN EXIT FI WHILE Strig(0)=0 DO st=Stick(0M}):Dit(sx,sy) IF st<15 THEN pt(2)==-jy(st) Maksxsy(pt):Ucxyz(pt) FI Dit(sx,sy) OD st=Stick(0):Dit(sx,sy) IM}F key<255 THEN k=key:key=255 IF k=33 THEN n==+1:Upt(n) IF pt(3)<16 THEN LineTo(sx,sy) ELSE Dot(sx,sy):xnow=sxM}:ynow=sy FI IF f=1 THEN FOR i=0 TO 3 DO pt(4+i)=pt(i) OD FI pt==+8:Kolor(pt(3) & 15) Maksxsy(pt):UcM}xyz(pt) ELSEIF k=10 THEN pt(3)==! 16:Ucxyz(pt) ELSEIF k=18 THEN IncC() pt(3)=(pt(3) & 16)+cnow:Ucxyz(pt) ELM}SE key=k:EXIT FI FI IF st<15 THEN pt(0)==+jx(st) pt(1)==-jy(st):Maksxsy(pt):Ucxyz(pt) FI Dit(sx,sy)OD P(0)=n-1:RETM}URNPROC JoyF():BYTE i:INT ARRAY pt(3)IF cnow=0 THEN Kolor(1) FIFOR i=0 TO 2 DO pt(i)=foc(i) ODMaksxsy(pt):Dit(sx,sy):UfoM}c(pt)DO WHILE Strig(0)=0 DO st=Stick(0):Dit(sx,sy) IF st<15 THEN pt(2)==-jy(st) Maksxsy(pt):Ufoc(pt) FI M}Dit(sx,sy) OD st=Stick(0):Dit(sx,sy) IF key=33 THEN key=255 FOR i=0 TO 2 DO foc(i)=pt(i) OD CLR():Draw(P):MaksxM}sy(pt) ELSEIF key<255 THEN EXIT FI IF st<15 THEN pt(0)==+jx(st) pt(1)==-jy(st):Maksxsy(pt):Ufoc(pt) FI Dit(sx,sy)OM}D Ufoc(foc):RETURNPROC JoyE():INT x,y,zx=eye(0):y=eye(1):z=eye(2)DO st=Stick(0):Ueye() WHILE Strig(0)=0 DO st=Stick(0)M} eye(2)==-jy(st):eye(3)==+jx(st) Ueye() OD IF key=33 THEN key=255 FixE():FixM():CLR():Draw(P) x=eye(0):y=eM}ye(1):z=eye(2) ELSEIF key<255 THEN EXIT FI eye(0)==+jx(st):eye(1)==-jy(st)OD eye(0)=x:eye(1)=y:eye(2)=z:Ueye()RETURNPM}ROC JoyC():INT x,yIF cnow=0 THEN Kolor(1) FIx=cx:y=cy:Dit(x,y)DO st=Stick(0):Ucen(x,y):Dit(x,y) IF key=33 THEN key=255 M} cx=x:cy=y:CLR():Draw(P) ELSEIF key<255 THEN EXIT FI x==+jx(st):y==+jy(st):Dit(x,y)OD Ucen(cx,cy):RETURNn==+1:pt=P+1Lq^_"#TOPBOTFRETSTRINGPATTERNTONESTONITNACCHORLINFRETONTIMONTHREFIVSEMINTHRE  Q}< Z AxA@@@A& @i @i @ B@@@SQ}A@@v@d@S@GUITAR TUTORBY FRANK IMBURGIO (c) 1985, ANTIC PUBLISHINGQ}.@.@@K: xG;@0,;@0,;@0,;@0,9@,9@c,[-Q}@cj68,-@2n x @ A A(}((# @P- A7 A`A @--@@Q}")67<,.>:,- ++32,32,17,18,23,18,23,18,23,18,23,18,5--@@")67<,.>:,- ++32,32,2Q}6,18,24,18,24,18,24,18,24,18,3--@@")67<,.>:,- ''32,1,18,19,18,19,18,19,18,19,18,4(--@Q}@")67<,.>:,- )2232,32,124,32,124,32,124,32,124,32,124,32,124-$20(-@ ($(Q}((, 0(<)-@  A) AA7-@@ 7(Р TO PLAY NUMBERED CHORDSF.-@@Q}!.(Ӡ TO SOUND NOTESKR-@@".(à for new chord.RUSE INVERSE VIDEO FOR P,S,AND ESCc$d Q}Af'AQ@'AR@n((( Pick a note to build a chord on.x6 (C(D(E(F!(G'(AQ}-(B0(6(?6)@& @e)!@q,(6 A0 6-6-J A9(You have picked >:,Q} as your tonic.<(J( Now pick:( 1)Natural(2)Flat(3)Sharp(/ AE/ @)!@AEQ}' B"@'6-%@"@6-%@ A(Pick a chord pattern6(1)MajQ}or(2)Minor%(3)7th3( 4)min 7th6( A!! @)!@A6-&@ B$Q} A6-6-%AR@#I-@@)-@@-"9(>:, = I6-@Q}(-@"$68,-( ,-@%6-%@,#8,-@6-@@"Q}'(>:,+ /"6(>:, X"@6-@rY"@y6-@sZ"@t6-@f["@Q}6-@u\"@6-@v]"@w6-@i^"@6-@x_"@6-@gQ}`"@6-@p%%6-++&@e,$A,%B$ (>:,"@(b"@(#Q}"@(min"@(7"@(min7( $V-@@@Q}3-@ %@L(>:+'@,%Av,P V6-+6-@+-@@@-@#(>:8,,Q}(>:8%@,,66-8%@, A,6-%@0 66-:-@#(Ԡ$:USE INVERSE VIDEO FQ}OR REST< (} ((($AR'(9A<$-@A $ 6-)@Q}>:,4S A0#!@H* @V# A1"@A2@'A`"$1,19,19,19,19,Q}41,19,19,19,20,41,19,20,20,19,41,19,20,20,20,420,20,20,20,20,201,19,19,19,20,41,20,20,19,Q}19,420,19,19,19,19,201,19,19,19,19,201,20,19,19,19,420,19,19,19,19,41,19,19,20,19,201,19,Q}19,19,20,41,19,19,20,19,41,19,20,19,20,41,19,20,19,19,41,20,19,20,19,41,19,19,20,19,41,19Q},19,19,20,20 ??ABOVE SETS UP ALL NEEDED SHAPES FOR FINGER DOTS. SOUND NOTES INDIVIDUALLY 4#%@#-Q}@'"068,-4  2(28,@@2 AU R"@)"@>2@8@Q},@@H AUR A0@ 2(2@8@,@@2 AU 2(2@8@,@@Q}2 AU H"@)"@>2@8@,@@H A0` ==2@P:+8,'@,&?Q}P,@@ N AU AU+-@G2K N$ PUT CHORDS INTO MEMQ}ORY& '6-+&@I,$@'#%@+ )"68,-)68%@,-0 4")"@*68%@,-Q}4 A105 68%@,-: 4"@)"@*68%@,-4 A1@? ))68%@,-P:+'@,&?P,DQ} +68%@,-+68%@,-@2I &"@&68%@,-@N &"@&68%@,-@5S 68Q}%@,-X  A$ PLAY CHORDS IN MEMORY \ A A)AR@C(à TO STOP PLAYING\Q}INVERSE VIDEO FOR ESC &6-F:Ad,&"@(A20 "@16- "@06-@ "@&Q}6-@ "@$6-@ "@)6-@ "@'6-@ "@Q6-@Q} "@S6-@ !! )!@A2 46-$@ 8,"@2* A204 A2 B-Q}@42+8%,,@@8 B A2 :-@327 :$jJiiEXPLAIN TQ}HE FOLLOWING DATA :FIRST SIX:PRINT OUT Xs AND Os ON TOP :i.e.;32 IS SPACE,88 IS X, 79 IS OoJiiTHE NEXT SIX ARE DATA LINES TQ}O READ SHAPES FOR EACH CHORD PATTERN.i.e.;2000 IS A FRET W/ NO FINGERSzJDDTHE LAST LINES OF DATA IN A SERIES (LINES 20099Q},20199, etc.)|J88ARE SOUND NUMBERS:TONIC,THIRD,SEVENTH,MINOR THIRD. N5588,79,32,32,32,79,2000,2003,2000,2000,2000,2000!NQ}5588,79,32,32,32,79,2001,2002,2000,2000,2000,2000"N5588,79,32,79,32,79,2000,2014,2000,2000,2000,2000#N5588,79,32,79,32,7Q}9,2001,2015,2000,2000,2000,2000NmmA - IN THIS ORDER:20000=MAJ:20001=MIN:20002=7th:20003=min7. All others (B,Bb, etc) areQ} in same order.N144,114,96,81,121N5588,32,32,32,32,32,2000,2004,2000,2003,2000,2000N5588,32,32,32,32,32,2000,2004,Q}2005,2002,2000,2000N5588,32,32,32,32,32,2000,2004,2000,2014,2000,2000N5588,32,32,32,32,32,2000,2004,2005,2015,2000,2000Q}NBN128,102,85,72,108N5588,32,32,79,32,79,2001,2015,2009,2000,2000,2000N5588,32,32,32,32,32,2000,2000,2004,200Q}5,2002,2000N5588,32,32,32,32,79,2001,2015,2016,2000,2000,2000N5588,32,32,32,32,32,2000,2000,2004,2005,2015,2000JOCQ}KO121,96,81,68,102LO5588,88,79,32,32,32,2000,2011,2012,2000,2000,2000MO5588,88,79,32,32,32,2008,2017,2005,2000,2000,20Q}00NO5588,88,79,32,32,32,2012,2011,2000,2000,2000,2000OO5588,88,79,32,32,32,2008,2017,2005,2000,2000,2000ODO108,Q}85,72,61,91O5579,32,32,32,79,79,2017,2006,2000,2000,2000,2000O5579,32,32,79,79,79,2000,2006,2000,2000,2000,2000O5579Q},32,79,32,79,79,2017,2009,2000,2000,2000,2000O5579,32,79,79,79,79,2000,2009,2000,2000,2000,2000PEP96,76,64,53,81Q}P5588,88,32,32,32,32,2018,2017,2015,2000,2000,2000P5532,32,32,32,32,32,2004,2000,2006,2000,2000,2000P5588,88,32,32,3Q}2,32,2004,2017,2009,2000,2000,2000P5532,32,32,32,32,32,2004,2000,2009,2000,2000,2000vPFwP91,72,60,50,76xP5532,32Q},79,79,79,32,2000,2009,2007,2000,2000,2000yP5532,32,32,32,32,32,2000,2000,2004,2000,2006,2000zP5532,32,79,79,79,32,2008,2Q}009,2010,2000,2000,2000{P5532,32,32,32,32,32,2000,2000,2004,2000,2009,2000PGP162,128,108,91,136P5532,32,32,32,Q}32,32,2000,2000,2000,2004,2017,2006P5532,32,32,32,32,32,2000,2000,2000,2004,2000,2006P5588,88,32,32,32,32,2003,2008,200Q}0,2000,2000,2000P5532,32,32,32,32,32,2000,2000,2000,2004,2000,2009>QAb?Q153,121,102,85,120@Q5588,32,32,32,32,32,Q}2004,2000,2003,2000,2000,2000AQ5588,32,32,32,32,32,2004,2005,2002,2000,2000,2000BQ5588,32,32,32,32,32,2004,2000,2014,2000Q},2000,2000CQ5588,32,32,32,32,32,2004,2005,2015,2000,2000,2000QBbQ136,108,91,76,114Q))C FLAT IS REFERRED TO B Q} NATURALRC FLAT NOTES ARE BR5588,32,32,32,32,32,2000,2000,2000,2004,2000,2003 R5588,32,32,32,32,32,2000,2000,2000Q},2004,2005,2002 R5588,32,32,32,32,32,2000,2000,2000,2004,2000,2014 R5588,32,32,32,32,32,2000,2000,2000,2004,2005,2015jRQ}DbkR114,91,76,64,96lR5588,32,32,32,32,32,2000,2000,2004,2005,2015,2009mR5588,88,32,32,32,32,2000,2008,2017,2014,200Q}0,2000nR5588,88,32,32,32,32,2004,2005,2011,2000,2000,2000oR5588,88,32,32,32,32,2015,2018,2017,2000,2000,2000REbRQ}102,85,68,57,91RF FLAT IS REFERRED TO E3SF FLAT NOTES ARE E4S5532,32,32,32,32,32,2000,2004,2017,2006,2000,20005SQ}5532,32,32,32,32,32,2000,2004,2000,2006,2000,20006S5532,32,32,32,32,32,2000,2004,2017,2009,2000,20007S5532,32,32,32,32,3Q}2,2000,2004,2000,2009,2000,2000SGbS173,136,114,96,144SA SHARP IS B FLATSB SHARP IS C`TC SHARP IS D FLQ}ATTD SHARP IS E FLAT(UE SHARP IS FUF SHARP IS G FLATUG SHARP IS A FLAT D1:TUTOR.BAS  Pn; UPDATES (LISTING 5)PROC Uview():Position(22,15)vflag==+1:IF vflag>1 THEN vflag=0 FIIF vflag=0 THEN Print("")U}ELSE Print("") FI:RETURNPROC Ueye():BYTE i:Position(5,17)FOR i=0 TO 2 DO IF eye(i)<-10 THEN eye(i)=-10 ELSU}EIF eye(i)>10 THEN eye(i)=10 FI PrintI(eye(i)):Put(' )OD Position(24,17)IF eye(3)>200 THEN eye(3)=200ELSEIF eye(3)<10 THU}EN eye(3)=10 FIPrintI(eye(3)):Put(' ):RETURNPROC Umag():Position(37,17):mag==+1IF mag>9 THEN mag=1 FI:PrintI(mag):RETURNU}PROC Urot():Position(12,18):PrintI(rx)Put(' ):PrintI(ry):Put(' )PrintI(rz):Pb(2)FixR():FixM():CLR():Draw(P):RETURNPROC U}Uri():Position(35,18) PrintI(ri):Put(' ):RETURNPROC Ucen(INT x,y):Position(8,19)PrintI(x):Put(' )PrintI(y):Put(' ):RETURU}NPROC Ufoc(INT ARRAY v):BYTE iPosition(24,19)FOR i=0 TO 2 DO PrintI(v(i)):Put(' ) ODRETURNPROC Upt(INT n):Position(5,2U}2):PrintI(n)Put(' ):IF n<100 THEN Put(' ) FIPosition(30,22):Pb(8):RETURNPROC Ucxyz(INT ARRAY pt):BYTE iPosition(15,22):PU}rintB(pt(3) & 3)IF pt(3)<16 THEN Print(" LineTo ")ELSE Print(" Plot ") FIFOR i=0 TO 2 DO PrintI(pt(i)):Put(' ) ODRETUU}RNPROC Ugr():Position(1,15)IF gflag=7 THEN gflag=8:cx==+80:CP=C8 Print("xox GRAPHICS 8 xox"):Gr8(dl1)ELSE gflag=7:cx==-U}80:CP=C7 Print("x GRAPHICS 7PLUS x"):Gr7(dl1)FI Ucen(cx,cy)CPon():CLR():Draw(P):RETURNPROC UReset():BYTE iPosition(5,1U}7):Pb(12)Position(12,18):Pb(12)Position(8,19):Pb(9)Position(24,19):Pb(14)FOR i=1 TO 8 DO P(i)=Q(i) ODmag=3:rx=0:ry=0:rz=U}0:ri=30:FixE()Ueye():Ufoc(foc):Umag():Urot():Uri()cy=90:cx=160:gflag=8:Ugr():RETURNIIF vflag=0 THEN Print("")TW; VIEW3D (LISTING 10); by Paul Chabot ; ANTIC MagazineINCLUDE "D:GR78M.ACT"INCLUDE "D:MISC1.ACT"INCLUDE "D:COLOY}RS.ACT"INCLUDE "D:DRAW3D.ACT"INCLUDE "D:UPDATES.ACT"INCLUDE "D:STICK3D.ACT"INCLUDE "D:DISKIO.ACT"INCLUDE "D:PRINTIO.ACT"Y}INCLUDE "D:MENU3D.ACT"PROC Setup():BYTE iSetTrig():Setjxjy():SetDfault():FixP(Q)Gr78ON():dl1=dlist:sa1=sa:ram==-33GraphY}ics(0):ram==+33:dl2=dlist:cur=1CMon():Menu():Dir():UReset():dlist=dl1mes^=lin20RETURNPROC Main():BYTE k:Setup()DO WHILEY} key=255 DO OD k=key:key=255 dlist=dl1:CPon() IF k=31 THEN mes^=lin22 ;1 JoyD(1) ELSEIF k=30 THEN mes^=lin22 ;2 Y} CLR():JoyD(0) ELSEIF k=26 THEN mes^=lin17 ;3 JoyE() ELSEIF k=24 THEN mes^=lin19 ;4 JoyF() ELSEIF k=29 THEN mesY}^=lin19 ;5 JoyC() ELSEIF k=50 THEN mes^=lin20 ;0 UReset() ELSEIF k=22 THEN mes^=lin18 ;X rx=(rx+ri+360) MOD 3Y}60:Urot() ELSEIF k=43 THEN mes^=lin18 ;Y ry=(ry+ri+360) MOD 360:Urot() ELSEIF k=23 THEN mes^=lin18 ;Z rz=(rz+ri+3Y}60) MOD 360:Urot() ELSEIF k=13 THEN mes^=lin18 ;I ri==+1:IF ri>45 THEN ri=45 FI:Uri() ELSEIF k=1 THEN mes^=lin18 ;J Y} ri==-1:IF ri<-45 THEN ri=-45 FI:Uri() ELSEIF k=18 THEN mes^=lin23 ;C FixCol() ELSEIF k=16 THEN mes^=lin15 ;V UY}view():CLR():Draw(P) ELSEIF k=37 THEN mes^=lin17 ;M Umag() ELSEIF k=58 THEN dlist=dl2 ;D CMon():Dir() ELSEIF k=Y}0 THEN mes^=lin16 ;L LoadP():Ueye():Ufoc(foc):FixE() FixM():CLR():Draw(P):mes^=lin20 ELSEIF k=62 THEN mes^=lin16 ;SY} SaveP():mes^=lin20 ELSEIF k=61 THEN mes^=lin15 ;G Ugr() ELSEIF k=10 THEN mes^=lin16 ;P Prnt():mes^=lin20 EY}LSEIF k=33 THEN mes^=lin20 ;SPACE CLR():Draw(P) ELSE dlist=dl2:CMon() FIODT"INCLUDE "D:MISC1.ACT"INCLUDE "D:COLOXU$x (c)1983 Action Computer Services  B JKIHiDiELV`L=$^} =$ BLV`L$$l L$ &` Fj`8冨凪` $EӅӥ^} $`ʆǪƩ Ɛee` $ƦʆǢ &Ɛeǐ % %L$ $'&&&8儨児^}祂*L$&&*ń8&&L$ [%`hihiHHȱȱL$c !#3`^}L$JJJJ`H $h`Hȩh r$L% {$L% %$L% -$L% 3$H8^}`HhHh _&L% BHI V䅠L% L& =$L%Ԇ ؠPIPP`^} &P -$L% &L& &L& 'L&H- &8塪墨hL' 'L& &'L& &ȹP`^}텠8堨塪 &芨Oȩ-`PP &P棩 Ѥģ0-ģ6000:,80H ^}& &ehe&eģ0ʥ 8堅塅`$ &&*i0:0i &Ʀ`¢ 护^ }°ڱ%ȱ%E &L`(担CS R&L`(I 'L`(H (L`( &L`( &B V %NLMȑ^ }` MLN%B VL%S:)E:)H L& ) ) & L&h)0I))L&[\ZUVT` @)))^ }` G)L& :)L& @)L&) ` G)L& &%` 0d $ҥ `2)2^ }ҩ`p`0)9*`@0)ӈJJJJ)`Ѕ`ȱ`` 5*ȥ`Hh^ }ƣĢ`ƥĤ`Ѣ *`ȱѢĦ`膡`^}`ťƤe8夰L* Ƥ8`ŦeѠe桊L*PZ@^}O+@ W+ ~IF Lo+k+`EN mLz+ %s+`;Gm,L+ %+`gr()m, ELSEIF L+ %+M+L+K+J+ w++MJ+ +MK+L^}++ML+ +MM+L+`J+͏+K++0L,8+J+++K+++Ȍ+L1,8J+++K+++++L+͑+M++0La,8+L+^}++M+++Ȍ+L~,8L+++M+++++K++J++M++L+++͓+++0L-+m+++m++8++++^}++8+++++++Ȍ++-+--͡+-+L-$+m+++m++++0L@-+m+++m++Lf-+m^}+++m+++m+++m++++++ w+++L,L`.+m+++m++8++++++8++++++^}+Ȍ++-+--͡+-+L`. +m+++m++++0L.+m+++m++LD.+m+++m+++m+++m^}++++++ w+++L-+K++J++M++L+`-L. )e+f+YX1{.0z.Ȍy.y.L.y. me+^}*(mf+8y. me+*(mf+i(ȱiy.L.8z.z.{.{.z.{.pz.i{.iPz.i^}{.iy.y.L/z.my.{.iy.iz.e{.iy.LI/z.iDž{.iz.iȅ{.iBz.iɍi^}+{.ij+z.i̅{.i8{.1z.0` L///)//N+//L108/a+eb+i////L/`^}/?80LA0 %202030020300Lc0`4050040500L0`3020 $6020)7040 me+50*(mf+^}d+c+c+m60d+i<0m70=0i1a+m70b+i`0[0L1 %0000000L"1`000^}000L>1`00 $00)00 me+0*(mf+d+c+c+m0d+ia+m0b+iQ`.L11^}1T+b+S+a+/n+/m+@0y+?0x+0+0+1i1iN1ic1iN1b͢1L/21m11i^}1L 2f1͢1LZ21m11i1L42`0L`2[2[2)N+[2Lz2[2\2\2L28\2a+eb+i[2^}[2\2L2`mo22L2 %2220?ͱ220L2`220ͳ220L3`22 $22)22 ^}me+2*(mf+d+c+c+m2d+i2m22i1a+m2b+i`[3L3 %z3z3{30?z3{^ }30L3`|3}30|3}30L3`{3z3 $~3z3)3|3 me+}3*(mf+d+c+c+m~3d+ia+m3b+i^!}Q`*L)4$4#4`+b+_+a+_2n+^2m+2y+2x+3+3+#4i$4iO#4ic$4iO%4b%4L4^"}#4m%4$4i%4L4f%4%4L4#4m%4$4i%4L4`4^#}5 #5\L=5959595L595 m4*(m58ȱ95 m!5*(m"58^$}ȱ95LE5`yL55758558575 R&`L5 %55555555555L 6 55855^%}5555L5`e+[z5x5z5y5{50LE6{5y5z5x5dx5y50L6dy5x5 ez5e{5y5L6 %|6|^&}6Z|6LA7|6|6 &%- [%}6~6|6~6}6 &% [%}6~6|6d &%8^'}}6}6~6~6-~6}6 [%}6~6}6|6!6|6L6`x5LI7 %B7hC7B7 %B7C7B7[C70L7E7B7!6D7L^(} 8B7ɵC70L78B7C7E7!6D7L 8B7C70L78B7鴅C78!6D7E7L 88hB7C78!6D7^)}E7E7D7`L8 %8h88 %888[80Li88Z888!68L88ɵ80L888Z^*}88!688L8880L88888!688L88888!6888`iL8^+}88880L!98888888`L39-9,9,9 -9LM9`-9,9 8-9,9/9.9.9/9/9.9^,}/9.9 &%m.9m/9,9Ŭ-90L9/9.9`Lh9eL9L9 %99999ȱ &%99 ^-}m9*(m9 m9*(m9ȱ &%9e99e9 m9*(m9 m9*(m9^.}ȱ &%9e99e999`L: %::: m:*(m: m:*(m:ȱ^/} &%:: m:*(m: m:*(m:ȱȱ &%8媅ȱ嫑 m:*(m^0}: m:*(m:::ȱȱ &% m:*(m::: m:*(m:ȱȱ^1} &%8媅ȱ嫑 m:*(m::: m:*(m:ȱȱ &% m:^2}*(m: m:*(m:::ȱȱ &%8媅ȱ嫑`,<*(mL<<<<<^3} 8<< m<*(m< 8<<<<<<0L?=<<<< m<*(m< ^4}8<<<<<<0L=<<<d<< [%e<e<<<;<<L>< m^5}<<*(m<<< [%<ж<<<< 9<<<< 09<^6}<<<;<<L>< m<<*(m<< m<<*(m< &%<< [%<Ќ^7}<`e+4>4>4‚P?L ?N+?N+ :)?IL1??N+N+ l+U+m?V+i?N+ &^8} :)?JJJJ & & :)?) & &`=L?N+L??L?8N+?U+m?V+iJJJJ??͌?L?^9}? :)? & &U+m?V+i? U+m?V+i)e>m?>iU+m?V+i`LJ@N+L^:}Z@E@Lc@8N+E@U+mE@V+i)F@F@iF@F@L@F@ :)F@ & &U+mE@V+iU+mE@V+i)^;}mF@>mE@>iU+mE@V+i`L@@@LRA>m@>i@>U+m@V+i>m@>i^<}@LA`LWASASALA>mSA>iSA>SAL\A`LAA͇ALAU+mAV+i>mA>iALA`^=}LAAALBU+mAV+i?mA?iALA`L B ?ILBL BIL/B ?LoBI9LDB ?LoB^>}LWB G@LoBI:LlB @LoBLrBL B`*(mPZȱ ma;*(,yR yyx d^?}22(  222(2( 2 2^@}22((B(m^;LxCpCoCRBB H*oCpC &%isCi^A}tCrCqCsCCtCCCqCCrCL$DqC mBrC*(mBqC moCrC*(mpCqCгrCLCBiBBiB^B}Bi BBiB`D me;LVDHDGD mGD*(mHDLDKD mGD*(mHDHHBB 8hhLDKD &^C}% [% mGD*(mHDHHBB F7hhLDKD &% [%^D}GDHDȱJDID mGD*(mHDȱNDMDBB F7PDODBB 8RDQDGDHDRDQDJDID &%^E}PDODNDMD &%8媅嫅 [% mGD*(mHDPDODJDID &%RDQDND^F}MD &%ee [%GDHDȱJDID mGD*(mHDȱLDKDBB F7PDOD^G}BB 8RDQDGDHDRDQDJDID &%PDODLDKD &%8媅嫠 mGD*(mHDPDOD^H}JDID &%RDQDLDKD &%eeGDHDȱ [% mGD*(mHD^I}ȱ [%HDGD <`xxxLGGG mG*(mGȑ mG*(mGȑ^J}GG SDGG mG*(mGȑ mG*(mGȑGG SDGGGGG^K}G :GG W9W8^i}W :):W:WLW:W m8W*(m9W ' &:WLRW`OLWWW :)WW ' &WdW0LW^j} & :) 5`-LWWW :) mW*(mW) & mW*(mWȱ0LBXL8X LineTo X. ^k}R&LVXLOX Plot XE R&WWLXW mW*(mW ' &WL[X`LX :)tBILXtB{BiP{^l}B|Bi|B>>>>LXxox GRAPHICS 8 xoxX R&BB &4L@YtB8{BP{B|B|B>>>>L0Yx GRAPHICS 7PLUS xY R&^m}BB 1~B}B|B{B W A SBB S`LeY :) 5 :) 5 :) 5 :) 5aYaYLYaY m^n}B*(mBaY mmC*(mnCaYLYzByBBBBBBBBB :J TBB ;W kV V V~BZ}B|B^o}{BtB X`*(m-LFZ=ZZ>ZL\m>Z mAZ*(mBZ>Z mAZ*(mBZ^t}>ZL`\AZiAZBZiBZ mAZ*(mBZ) l+BZAZ PBZAZ WL]?ZI L-] mAZ*(mBZIȱI^u}BZAZ WL]?ZIL] ? mAZ*(mBZ mAZ*(mBZ)ȱ)mN+iBZAZ WL]?ZL4^4^v}L ^AZBZ4 m4*(m5qȱq mAZ*(mBZ4 m!5*(m"58񬅪ȱ񬑮BZAZ PB^w}ZAZ WxBwBvBuB +L[BB8L^}f :)S &0d/d R&`$|f${f4d$3d$dBBȱ &%iyfizf L&d &^}dL{g L&|f${f$`zfyfBB d>> d L& :)Lg Ġ g R&|f${f$ d`fiL^}g :)Lg ̠ϠĠ g R&d e :)Lh [L]-Ġh R&IL.hL!hggLYh :)L &0d/d R&`^}$g$g4d$3d$d L&d &dLh L&g$g$`BB dBB &%^}igigBiBigg d>> d L& :)L=i Ġ i1 R&g$g$ TA ^}A :) 5`c LjifieiLui)is Y&eifi &'Li i Y& mei*(mfi &'^}Li iԩ Y& mei*(mfi &'L j:j  Y& mei*(mfi &'LAj) j> Y&`^}V^ > lLrj3_jKejLUV^j^ Lj j| lLj filename>>j lLj#eye ^} dist. magj lL k"PreRotated ri=j lL,kCenter FocuskL2k :)LJk PD^} k> R&IL^kLQkMjMjI LkMjI:Lk :)P &0d/d R&`$Qj$Pj4d$3d$d L&LkP:^}k &dLk L&Qj$Pj$`7585 8575jR *djR *L#l l! F&jR F&dLQl ^}L&Qj$Pj$`MjI L mcjidjidjcj F&BmjBljnjKj'KjLmmKjNjiOjLjLjLlljm^}NjmjmOjLjnj8Nj(NjOjOjLjLlkjjj Y&jn F&KjLlLmcjidjidjcj F&L1meye=m, Y&^}BB giLNm focus=mF Y&BB giLem mc F&KjLjBi NjBiOjKjBBKjȱ0LmLmLjNjiNjOji^}OjOjNj giLjLmLj &LmLm mߩ F& :)Ln Ġ m R&Qj$Pj$ L&`L;L!n8BnBnn^}1n01B0Bn nLnnmnnimnneninLOnnini0nini0^}niniGnininini0ninininininini^}nininininini nini#nin)ȄRLo v i e w 3 D o R&L^}oo ?&Lo Paul Chabot 1985o ?&Lp% G Gr7/8٠o ?&L:pX I^}nc rx V View p$ ?&LZpY Inc ry M Mag. pD ?&LzpZ Inc rz C Colorpd ?&LpI Inc riɠϠp ?&LpJ^} Dec ri D L S P p ?&Lp򠠠p ?&Lp1 ADD Points/Lines p ?&Lq2 EDIT Points/Linesq ?&L:q^}3 Change EYE/dist. q$ ?&LZq4 Change FOCUS qD ?&Lzq5 Change CENTER qd ?&Lq̠󠠢q ?&^}Lqx GRAPHICS 7PLUS x q R&Lq q ?&Lq filename>>q ?&L$r#eye dist. ^} magr ?&LQr"PreRotated ri=r. ?&LrrCenter Focusr[ ?&Lr%ݠ堠ݠ^}r| ?&Lr" Ҡ [any key] - MENUr ?&Lr pt# colorr ?&Ls& àolor Ƞue ̠um Ġefault^}r R&XiXBYiBXiBYiBXiBYiBXiЍBYiBXiBYiBXi BYiBXiHBYiBXipBYi^}BXiBYiB`Ls 6 :5 TAnCmC uC |.1B0BYBXB8j!j )ji!j1B0B A n d bYB1B0^}i+j+BB`L.t sIL>tL1t*tB1B0 A*tILti+j+BB CZLx*tILti^}+j+BB S CZLx*tILti+j+BB `Lx*tILti+j+BB Z^Lx*tIL&ui+^}j+BB bLx*tI2LMui+j+BB bYLx*tILui+j+BBBmBBmBihi^}h %BB VLx*tI+Lvi+j+BBBmBBmBihih %BB VLx^}*tILavi+j+BBBmBBmBihih %BB VLx*tI Lvi+j+BB^}BB-ͅBB0LvB-B VLx*tILvi+j+BB8BBBBBӭB0LvBӍB VLx*tIL^}wi+j+BB BLx*tILRwi+j+BB T SBB SLx*tI%Lywi+j+BB kVLx*tI^}:LwB1B0 A dLx*tLwi+j+BB g TBB ;W :J N SBB Si+j+BBLx*tI>L^}0xi+j+BB }fi+j+BBLx*tI=LWxi+j+BB XLx*tI Lxi+j+BB^} /ki+j+BBLx*tI!Lxi+j+BB SBB SLxB1B0 AL1t`+tDiELV`L=$\g