home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CDU / V4D02.D64 / prob1a (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  1.6 KB  |  60 lines

  1. 10 REM ********************************
  2. 20 REM * PROGRAM TO CALCULATE VALUES  *
  3. 30 REM * TO BE USED IN A SINUS TABLE  *
  4. 40 REM *                              *
  5. 50 REM *  WRITTEN BY JASON FINCH FOR  *
  6. 60 REM * CDU TECHNO INFO      DEC1990 *
  7. 70 REM ********************************
  8. 80 :
  9. 90 :
  10. 100 REM ** SET-UP SPRITE FOR DEMO
  11. 110 :
  12. 120 POKE53269,0:POKE53271,0:POKE53277,0:POKE53287,1:POKE53264,1:POKE53248,54
  13. 130 POKE2040,13:FORI=0TO63:POKE832+I,255+255*(I>23):NEXT
  14. 140 :
  15. 150 :
  16. 160 POKE53280,5:POKE53281,11:PRINT"[147][158] [200]OW MANY VALUES TO CREATE?",," :[153]";
  17. 170 OPEN1,0:INPUT#1,A$:CLOSE1:PRINT
  18. 180 VL=VAL(A$)
  19. 190 PRINT"[158] [210]ANGE OF SINUS SWEEP IN PIXELS"," :[153]";
  20. 200 OPEN1,0:INPUT#1,A$:CLOSE1:PRINT
  21. 210 PR=VAL(A$)
  22. 220 :
  23. 230 REM ** CHECK INPUTS WITHIN RANGE
  24. 240 :
  25. 250 IF PR=0 OR VL=0 OR PR>192 THEN RUN160
  26. 260 :
  27. 270 PRINT"[158] [208]RESS ANY KEY TO START CALCULATIONS":POKE198,0:WAIT198,1:POKE198,0
  28. 280 PRINT"[147] [212]HE VALUES ARE....[155]"
  29. 290 POKE 53249,0: POKE 53269,1: REM ** DISPLAY SPRITE
  30. 300 :
  31. 310 REM *******************************
  32. 320 REM * MAIN LOOP TO CALCULATE      *
  33. 330 REM * VALUES FOR USE IN TABLE     *
  34. 340 REM *                             *
  35. 350 REM * SEE MAGAZINE FOR A DETAILED *
  36. 360 REM * EXPLANATION OF THE          *
  37. 370 REM * ALGORITHM THAT I HAVE USED  *
  38. 380 REM *******************************
  39. 390 :
  40. 400 :
  41. 410 FOR NM=0 TO VL-1
  42. 420 :
  43. 430 REM ** NEXT LINE CALCULATES VALUE
  44. 440 :
  45. 450 Z=INT(0.5*PR*SIN(6.283185*NM/VL)+PR/2)
  46. 460 :
  47. 470 :
  48. 480 REM ** CHANGE LINE BELOW TO "POKE"
  49. 490 REM ** THE VALUE OF 'Z' IF YOU WANT
  50. 500 REM ** TO STORE THE VALUES IN MEM'Y
  51. 510 :
  52. 520 PRINTZ"[157],";:IF POS(0)>30 THEN PRINT""
  53. 530 POKE 53249,50+Z: REM ** MOVE SPRITE
  54. 540 :
  55. 550 NEXT
  56. 560 :
  57. 570 PRINT:PRINT"[158] [197][206][196] [207][198][160][204][201][211][212]: [208]RESS ANY KEY TO RE-RUN"
  58. 580 POKE 198,0: WAIT 198,1: POKE 198,0
  59. 590 POKE 53269,0: RUN160
  60.