0 'ARTIST.BA Chas Redmond 1 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 10 CLS 15 GOTO500 20 GOTO950 30 GOTO960 500 NV$=CHR$(27)+"p":FV$=CHR$(27)+"q" 505 FORA=0TO60STEP6 510 FORB=0TO15STEP3 525 LINE(119-A,31-B)-(119+A,31+B):LINE(118-A,30-B)-(120+A,32+B),2 550 NEXTB:NEXTA 600 PRINT@89," TRS 80 Model 100"; 602 PRINT@122,SPACE$(30); 605 PRINT@166,NV$" Artist by Chas Redmond "FV$; 607 PRINT@200,SPACE$(30); 610 FORA=1TO1250STEP1:NEXTA 615 PRINT@204,NV$" RETURN to read instructions "FV$; 620 PRINT@244," ESC to begin to draw" 625 I$=INKEY$ 630 IFI$=CHR$(13)THENGOSUB900 635 IFI$=CHR$(27)THENGOSUB900ELSE625 640 GOTO999 900 CLS:C=0:D=0:E=0 905 X0=119:X=119 910 Y0=31:Y=31 915 MX=119:MY=31 920 NV$=CHR$(27)+"p" 925 FV$=CHR$(27)+"q" 930 B0$=NV$+"RETURN"+FV$ 935 B1$=FV$+"RETURN" 940 'RETURN 950 'GOSUB900 960 CALL16959 961 LINE(0,55)-(239,63),1,B 962 PRINT@27,NV$" = left "FV$; 963 PRINT@67,NV$" = right "FV$; 964 PRINT@107,NV$" = up "FV$; 965 PRINT@147,NV$" = down"FV$; 966 PRINT@2,"ctrl m = place marker "; 967 PRINT@42,"ctrl l = lines on/off"; 968 PRINT@82,"ctrl b = boxes on/off"; 969 PRINT@122,"ctrl x = pixels on/off"; 970 PRINT@162,"ctrl y = clear screen"; 971 PRINT@202,"ctrl z = x or o on/off"; 972 PRINT@187," m = menu"; 973 PRINT@227," i = instr'ns 974 PRINT@267,NV$" ESC to quit"FV$; 980 I$=INKEY$:K=K+1 985 IFKMOD4=0THENB$=B0$ELSEIFKMOD4=1THENB$=B1$ELSEB$=" " 987 PRINT@285,"Press "B$" to begin drawing." 990 IFI$=CHR$(13)THEN999 991 IFI$=CHR$(27)THEN998 992 IFI$="i"ORI$="I"THEN2015ELSE980 998 CALL16964:CLS:END 999 CALL16964:CLS 1000 I$=INKEY$ 1005 IFI$=CHR$(28)THENX=X+1 1010 IFI$=CHR$(29)THENX=X-1 1015 IFI$=CHR$(30)THENY=Y-1 1020 IFI$=CHR$(31)THENY=Y+1 1025 IFI$=CHR$(24)THENC=C+1 1030 IFI$=CHR$(25)THENGOSUB900 1035 IFI$=CHR$(26)THENGOSUB1300 1040 IFI$=CHR$(27)THEN998 1045 IFI$=CHR$(13)THENGOSUB1400 1050 IFI$=CHR$(12)THENGOSUB1450 1055 IFI$=CHR$(2)THENGOSUB1500 1060 IFI$="i"ORI$="I"THENGOSUB2015 1100 IFI$="m"ORI$="M"THENGOTO20 1110 IFX=>239THENGOSUB11100 1120 IFX<=0THENGOSUB11200 1130 IFY=>63THENGOSUB11300 1140 IFY<=0THENGOSUB11400 1210 IFCMOD2=0THENPSET(X,Y)ELSEPRESET(X,Y) 1230 IFI$=""THEN1000 1240 GOTO1000 1300 D=D+1 1310 LX=X-1:RX=X+1:UY=Y-1:DY=Y+1 1320 IFDMOD4=0THENLINE(LX,UY)-(RX,DY),1,BELSEIFDMOD4=1THENLINE(LX,UY)-(RX,DY),2,BELSEIFDMOD4=2THENGOSUB1350ELSEIFDMOD4=3THENGOSUB1360 1340 RETURN 1350 LINE(X,Y)-(LX,UY):LINE(X,Y)-(LX,DY):LINE(X,Y)-(RX,DY):LINE(X,Y)-(RX,UY):RETURN 1360 LINE(X,Y)-(LX,UY),2:LINE(X,Y)-(LX,DY),2:LINE(X,Y)-(RX,DY),2:LINE(X,Y)-(RX,UY),2:RETURN 1400 MX=X:MY=Y:RETURN 1450 E=E+1:NX=X:NY=Y:IFEMOD2=1THENGOSUB1460ELSEIFEMOD2=0THENGOSUB1470:RETURN 1460 LINE(MX,MY)-(NX,NY),1:RETURN 1470 LINE(MX,MY)-(NX,NY),2:RETURN 1500 E=E+1:NX=X:NY=Y:IFEMOD2=0THENGOSUB1560ELSEIFEMOD21THENGOSUB1570:RETURN 1560 LINE(MX,MY)-(NX,NY),1,B:RETURN 1570 LINE(MX,MY)-(NX,NY),2,B:RETURN 2000 CLS 2001 L=109:R=129:U=21:D=41:FORA=1TO20STEP2 2002 LINE(L-A,U-A+5)-(R+A,D+A-5),1,B 2003 LINE(L+A,U-A+5)-(R-A,D+A-5),1,B 2004 LINE(L-A,U-A+5)-(R+A,D+A-5),2,B 2005 LINE(L+A,U-A+5)-(R-A,D+A-5),2,B 2006 LINE(L-A,U-A+5)-(R+A,D+A-5),1 2007 LINE(L+A,U-A+5)-(R-A,D+A-5),1 2008 LINE(L-A,U-A+5)-(R+A,D+A-5),2 2009 LINE(L+A,U-A+5)-(R-A,D+A-5),2 2010 NEXTA 2015 CLS:PRINT@40,"This is a computer-aided 'etch-a-sketch'program. It uses the cursor keys, left right, up and down to move the drawing line about."; 2016 PRINT@255,NV$" RETURN to CONTINUE "FV$; 2017 PRINT@295,NV$" ESC to COMMAND MENU "FV$; 2020 I$=INKEY$ 2025 IFI$=CHR$(13)THENPRINT@40,"Control X toggles the pixel generator onand off. Control M resets a variable marker which is then used by the ControlL (line) and Control B (box) generator keys."; 2026 PRINT@255,NV$" RETURN to CONTINUE "FV$; 2027 PRINT@295,NV$" ESC to COMMAND MENU "FV$; 2028 IFI$=CHR$(27)THENGOSUB900:GOTO960 2029 IFI$=""THEN2020 2030 I$=INKEY$ 2035 IFI$=CHR$(13)THENPRINT@40,"Control Y clears the screen and resets the pixel generator to the middle of thescreen (x goes from 0 to 239, 119 is themiddle; y goes from 0 to 63, 31 is the middle)." 2036 PRINT@255,NV$" RETURN to CONTINUE "FV$; 2037 PRINT@295,NV$" ESC to COMMAND MENU "FV$; 2038 IFI$=CHR$(27)THENGOSUB900:GOTO960 2039 IFI$=""THEN2030 2040 I$=INKEY$ 2045 IFI$=CHR$(13)THENPRINT@40,"Control Z is used to set or reset the 'x' and 'o' markers, this toggle switch works anywhere with or without the Control M marker."SPACE$(35) 2046 PRINT@255,NV$" RETURN to CONTINUE "FV$ 2047 PRINT@295,NV$" ESC to COMMAND MENU "FV$; 2048 IFI$=CHR$(27)THENGOSUB900:GOTO960 2049 IFI$=""THEN2040 2050 I$=INKEY$ 2055 IFI$=CHR$(13)THENPRINT@40,"M will clear the screen and return the command menu, you can then start over. ESC clears and ends the program."SPACE$(35); 2056 PRINT@255,NV$" RETURN to CONTINUE " FV$; 2057 PRINT@295,NV$" ESC to COMMAND MENU "FV$; 2058 IFI$=CHR$(27)THENGOSUB900:GOTO960 2059 IFI$=""THEN2050 2060 I$=INKEY$ 2065 IFI$=CHR$(13)THENPRINT@40,"Unfortunately, none of the images can besaved to files. They can - if you have a printer - be printed from the screen."; 2066 PRINT@255,NV$" RETURN to CONTINUE "FV$; 2067 PRINT@295,NV$" ESC to COMMAND MENU "FV$; 2068 IFI$=CHR$(27)THENGOSUB900:GOTO960 2069 IFI$=""THEN2060 2070 I$=INKEY$ 2075 IFI$=CHR$(13)THENPRINT@40,"The command menu is next. Remember, at any point in the program you can return to the command menu by typing M."SPACE$(10); 2076 PRINT@255,NV$" RETURN to CONTINUE "FV$; 2077 PRINT@295,NV$" ESC to COMMAND MENU "FV$; 2078 IFI$=CHR$(27)THENGOSUB900:GOTO960 2079 IFI$=""THEN2070 2080 I$=INKEY$ 2085 IFI$=CHR$(13)THENGOSUB900ELSE2080 2090 GOTO960 11100 X=239:SOUND5000,1:SOUND7500,1:RETURN 11200 X=0:SOUND7500,3:SOUND5000,3:RETURN 11300 Y=63:SOUND3000,1:RETURN 11400 Y=0:SOUND10000,3:RETURN