home *** CD-ROM | disk | FTP | other *** search
- 10 REM ********************************
- 20 REM * PROGRAM TO CALCULATE VALUES *
- 30 REM * TO BE USED IN A SINUS TABLE *
- 40 REM * *
- 50 REM * WRITTEN BY JASON FINCH FOR *
- 60 REM * CDU TECHNO INFO DEC1990 *
- 70 REM ********************************
- 80 :
- 90 :
- 100 REM ** SET-UP SPRITE FOR DEMO
- 110 :
- 120 POKE53269,0:POKE53271,0:POKE53277,0:POKE53287,1:POKE53264,1:POKE53248,54
- 130 POKE2040,13:FORI=0TO63:POKE832+I,255+255*(I>23):NEXT
- 140 :
- 150 :
- 160 POKE53280,5:POKE53281,11:PRINT"[147][158] [200]OW MANY VALUES TO CREATE?",," :[153]";
- 170 OPEN1,0:INPUT#1,A$:CLOSE1:PRINT
- 180 VL=VAL(A$)
- 190 PRINT"[158] [210]ANGE OF SINUS SWEEP IN PIXELS"," :[153]";
- 200 OPEN1,0:INPUT#1,A$:CLOSE1:PRINT
- 210 PR=VAL(A$)
- 220 :
- 230 REM ** CHECK INPUTS WITHIN RANGE
- 240 :
- 250 IF PR=0 OR VL=0 OR PR>192 THEN RUN160
- 260 :
- 270 PRINT"[158] [208]RESS ANY KEY TO START CALCULATIONS":POKE198,0:WAIT198,1:POKE198,0
- 280 PRINT"[147] [212]HE VALUES ARE....[155]"
- 290 POKE 53249,0: POKE 53269,1: REM ** DISPLAY SPRITE
- 300 :
- 310 REM *******************************
- 320 REM * MAIN LOOP TO CALCULATE *
- 330 REM * VALUES FOR USE IN TABLE *
- 340 REM * *
- 350 REM * SEE MAGAZINE FOR A DETAILED *
- 360 REM * EXPLANATION OF THE *
- 370 REM * ALGORITHM THAT I HAVE USED *
- 380 REM *******************************
- 390 :
- 400 :
- 410 FOR NM=0 TO VL-1
- 420 :
- 430 REM ** NEXT LINE CALCULATES VALUE
- 440 :
- 450 Z=INT(0.5*PR*SIN(6.283185*NM/VL)+PR/2)
- 460 :
- 470 :
- 480 REM ** CHANGE LINE BELOW TO "POKE"
- 490 REM ** THE VALUE OF 'Z' IF YOU WANT
- 500 REM ** TO STORE THE VALUES IN MEM'Y
- 510 :
- 520 PRINTZ"[157],";:IF POS(0)>30 THEN PRINT""
- 530 POKE 53249,50+Z: REM ** MOVE SPRITE
- 540 :
- 550 NEXT
- 560 :
- 570 PRINT:PRINT"[158] [197][206][196] [207][198][160][204][201][211][212]: [208]RESS ANY KEY TO RE-RUN"
- 580 POKE 198,0: WAIT 198,1: POKE 198,0
- 590 POKE 53269,0: RUN160
-