home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Geos / GEOS128 / GeosD81 / CS77.D81 / p.plotdemo4601 (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  4.2 KB  |  168 lines

  1. 3 POKE774,26:POKE775,167:POKE792,71:POKE788,49:REM RESET SOME THINGS
  2. 4 PRINT"[147][144][204][207][193][196][201][206][199] [208][204][207][212] [205][204]":OPEN3,8,0,"ML.PLOT.4600":POKE157,.:POKE185,.
  3. 5 POKE780,.:POKE781,.:POKE782,70:SYS65493:CLOSE3
  4. 6 REM MOD4FGM USE 8/28/89:ML AT $4600
  5. 10 REM * SCALED GRAPHING DEMO PRG. *
  6. 20 REM PRG. LOADED AFTER 'M/C PLOTLOAD' HI-RES SUBROUTINES ARE LOADED.
  7. 30 PRINTCHR$(147)CHR$(14):PRINTTAB(14)"[199][210][193][208][200][208][204][207][212].":PRINT
  8. 40 PRINT" [208]ROVISIONS OF [217]-AXIS LIMITS ARE NEEDED"
  9. 50 PRINT" FOR NON-CONTINUOUS GRAPHS ONLY.":PRINT
  10. 60 PRINT" [197]NTER FUNCTION ON [204]INE 1000 SUCH AS:"
  11. 65 PRINT
  12. 70 PRINT" [196][197][198] [198][206] [197][209]([216])=[211][201][206]([216])"
  13. 75 PRINT" OR"
  14. 80 PRINT" [196][197][198][160][198][206][160][197][209]([216])=3*[216]+4*[216]^3
  15. 85 [153]" OR"
  16. 90 [153]" STR$VALASCCLOSEASC(null)CLOSEVAL(null)((null))=3*(null)RIGHT$(null)((null))+(3.67*(LEN(null)(null)((null))-                 ((null)RIGHT$(null)((null))^2)))
  17. 95 PRINT
  18. 100 PRINT" [212]YPE YOUR EQUATION, THEN [210][213][206] LINE 1000"
  19. 103 PRINT" THEN, AFTER HIRES SCREEN HAS LOADED,"
  20. 105 PRINT" RUN 600:REM [213]SE TO RE-LOAD [198][199][205] [214]6 [196][197][205][207]."
  21. 106 REM PRINT"RUN 700:REM [213]SE TO [211][193][214][197] SCREEN"
  22. 107 REM PRINT"RUN 800:REM [213]SE TO [214]IEW - [216] TO [197]XCHANGE"
  23. 108 FORX=631TO633:POKEX,145:NEXT:POKE198,3
  24. 110 PRINT"RUN1000[145][145][145]":LIST1000:END
  25. 500 REM START OF PROGRAM PROPER
  26. 600 PRINT"[147][201]NSERT [198][199][205] DEMO DISK AND PRESS [210][197][212][213][210][206]":POKE198,0:WAIT198,1
  27. 602 GETA$:IFA$<>CHR$(13)THENRUN30
  28. 604 PRINT"[147]LOAD"CHR$(34)"FGM V6 DEMO*"CHR$(34)",8"
  29. 606 POKE631,13:POKE632,13:POKE633,ASC("R"):POKE634,ASC("[213]"):POKE635,13:POKE198,5
  30. 608 PRINT"";:END
  31. 700 REM PRINT"[147][211][193][214][197] [200][201]-[210][197][211] [211][195][210][197][197][206]":INPUT"[198][201][204][197][206][193][205][197]:S.[157][157][157][157]";F$
  32. 702 REM IFF$=""ORF$="S."THENRUN30
  33. 704 REM SL=.:SH=32:EL=64:EH=65:REM EH=58 WILL SAVE TOP 21 ROWS ONLY
  34. 706 REM ?"[211][193][214][201][206][199] "F$:SYS57812F$,8:POKE193,SL:POKE194,SH:POKE174,EL:POKE175,EH
  35. 708 REM SYS62954:OPEN15,8,15:INPUT#15,E,E$:CLOSE15:PRINTE;E$
  36. 710 REM PRINT"[208]RESS [211][208][193][195][197] [194][193][210] TO CONTINUE":WAIT198,1:RUN30
  37. 800 REM SYS35578
  38. 802 REM GETA$:IFA$=""THEN802
  39. 804 REM IFA$=CHR$(13)THENSYS35535:RUN30
  40. 806 REM IFA$="X"THENPOKE2,88:SYS7149
  41. 808 REM GOTO802
  42. 900 :
  43. 905 REM 'GRAPHPLOT' PRG. STARTS HERE.
  44. 910 :
  45. 1000 DEF FN EQ(X)=ATN(X)*SIN(X)
  46. 1005 DIM Y(322):W=319:H=159:PRINTCHR$(147)CHR$(142)
  47. 1010 DEF FNHI(X)=INT(X/256)
  48. 1020 DEF FNLO(X)=X-(FN HI(X)*256)
  49. 1022 DEF FNXC(X)=INT(W*(X-XL)/(XR-XL))
  50. 1024 DEF FNYC(Y)=INT(H*(YT-Y)/(YT-YB))
  51. 1025 POKE53280,7:POKE53281,7:POKE646,0
  52. 1030 PRINT" ENTER X-AXIS (MIN) ";:INPUT" -6.28[157][157][157][157][157][157][157]";XL
  53. 1040 PRINT" ENTER X-AXIS (MAX) ";:INPUT" 12.5[157][157][157][157][157][157][157]";XR
  54. 1050 IFXL>=XRORXL>0ORXR<0THENPRINT" INPUT REJECTED":GOTO1030
  55. 1060 PRINT" ENTER PLOTTING DENSITY (1-4)";:INPUT"  4[157][157][157]";A%
  56. 1070 IFA%<1ORA%>4THEN1060
  57. 1080 A%=A%*80:INC=(XR-XL)/A%
  58. 1090 YT=0:YB=0
  59. 1100 PRINT" AUTO Y AXIS LIMITING (Y/N)";:INPUT"  Y[157][157][157]";K$
  60. 1120 IFK$="Y"THEN1180
  61. 1130 IFK$="N"THEN1150
  62. 1140 GOTO1100
  63. 1150 INPUT" ENTER Y AXIS (MIN) ";YB
  64. 1160 INPUT" ENTER Y AXIS (MAX) ";YT
  65. 1170 IFYB>=YT ORYB>0ORYT<0THEN PRINT"INPUT REJECTED":GOTO1150
  66. 1180 GOSUB8000
  67. 1190 POKE254,33:POKE2,216:SYS17920:REM INITIALISE 'M/C PLOTLOAD'
  68. 1200 GOSUB9000
  69. 1210 GOSUB10000
  70. 1220 FORN=1TO21:PRINT:NEXT
  71. 1230 PRINT" LARGE X AXIS DIVISIONS = "XX
  72. 1240 PRINT" LARGE Y AXIS DIVISIONS = "YY;
  73. 1250 GOSUB7000
  74. 1260 PRINT:PRINT"[208]RESS [211][208][193][195][197] [194][193][210] [212][215][201][195][197][144] TO CONTINUE[144]":WAIT198,1:RUN30
  75. 3997 REM *
  76. 3998 REM **
  77. 3999 REM CALL VLIN ROUTINE
  78. 4000 IFX%<0 OR X%>W OR Y%<0 OR Y%>HTHEN4060
  79. 4010 POKE251,FN LO(X%)
  80. 4020 POKE252,FN HI(X%)
  81. 4030 POKE253,Y%
  82. 4040 POKE18289,L%
  83. 4050 SYS17928
  84. 4060 RETURN
  85. 4998 REM **
  86. 4999 REM CALL HLIN ROUTINE
  87. 5000 IFX%<0 OR X%>W OR Y%<0 OR Y%>HTHEN5070
  88. 5010 POKE251,FN LO(X%)
  89. 5020 POKE252,FN HI(X%)
  90. 5030 POKE253,Y%
  91. 5040 POKE18289,FN LO(L%)
  92. 5050 POKE18290,FN HI(L%)
  93. 5060 SYS17932
  94. 5070 RETURN
  95. 5998 REM **
  96. 5999 REM CALL PLOTBIT ROUTINE
  97. 6000 IFX%<0 OR X%>W OR Y%<0 OR Y%>HTHEN6050
  98. 6010 POKE251,FN LO(X%)
  99. 6020 POKE252,FN HI(X%)
  100. 6030 POKE253,Y%
  101. 6040 SYS17924
  102. 6050 RETURN
  103. 6998 REM **
  104. 6999 REM PLOT GRAPH SUBROUTINE
  105. 7000 N=0
  106. 7010 FORX=XLTOXR+INC/10STEPINC
  107. 7020 N=N+1
  108. 7030 X%=FNXC(X)
  109. 7040 Y%=FNYC(Y(N))
  110. 7050 GOSUB6000
  111. 7060 NEXT
  112. 7070 RETURN
  113. 7998 REM **
  114. 7999 REM TABULATION SUBROUTINE
  115. 8000 PRINT"[147]"CHR$(14)" [211]HUT UP, [201]'M WORKING! (APROX 20 SECS)."
  116. 8010 N=0:FORX=XLTOXRSTEPINC:N=N+1
  117. 8020 Y(N)=FN EQ(X)
  118. 8030 IFK$="N"THEN8060
  119. 8040 IFYT<Y(N)THENYT=Y(N)
  120. 8050 IFYB>Y(N)THENYB=Y(N)
  121. 8060 NEXT
  122. 8070 PRINTCHR$(142):RETURN
  123. 8998 REM **
  124. 8999 REM DRAW AXES SUBROUTINE
  125. 9000 X%=FN XC(0)
  126. 9010 Y%=0:L%=H+1:GOSUB4000
  127. 9020 Y%=FN YC(0)
  128. 9030 X%=0:L%=W+1:GOSUB5000
  129. 9040 RETURN
  130. 9998 REM **
  131. 9999 REM DRAW AXES DIVISIONS SUBROUTINE
  132. 10000 K=XR:IFABS(XL)>=ABS(XR)THENK=XL
  133. 10010 GOSUB11000:XX=R
  134. 10020 FORX=P TO XR+R/10 STEP R
  135. 10030 X%=FNXC(X):Y%=FNYC(0)
  136. 10040 L%=5:IFY%>=10THENY%=Y%-5:L%=11
  137. 10045 IFY%>=H-10THENL%=L%/2
  138. 10050 GOSUB4000:NEXT
  139. 10060 FORX=PTOXR+R/10STEPR/4
  140. 10070 X%=FNXC(X):Y%=FNYC(0)
  141. 10080 L%=3:IFY%>=10THENY%=Y%-2:L%=5
  142. 10085 IFY%>=H-10THENL%=L%/2
  143. 10090 GOSUB4000:NEXT
  144. 10110 K=YT:IFABS(YB)>=ABS(YT)THENK=YB
  145. 10120 GOSUB11000:YY=R
  146. 10130 FORY=P TO YT+R/10 STEPR
  147. 10140 X%=FNXC(0):Y%=FNYC(Y)
  148. 10150 L%=5:IFX%>=10THENX%=X%-5:L%=11
  149. 10155 IFX%>=W-10THENL%=L%/2
  150. 10160 GOSUB5000:NEXT
  151. 10170 FORY=P TO YT+R/10 STEPR/4
  152. 10180 X%=FNXC(0):Y%=FNYC(Y)
  153. 10190 L%=3:IFX%>=10THENX%=X%-2:L%=5
  154. 10195 IFX%>=W-10THENL%=L%/2
  155. 10200 GOSUB5000:NEXT
  156. 10210 RETURN
  157. 10998 REM **
  158. 10999 REM FIND GRADUATION INCREMENT
  159. 11000 E=0
  160. 11010 K=ABS(K)
  161. 11020 IFK<1THENK=K*10:E=E-1
  162. 11030 IFK>=10THENK=K/10:E=E+1
  163. 11040 IFK<1ORK>=10THEN11020
  164. 11050 K=-INT(K+1)
  165. 11060 P=K*10^E
  166. 11070 R=1*10^E
  167. 11080 RETURN
  168.