12-28-2020, 12:17 PM
(This post was last modified: 12-28-2020, 02:23 PM by patters.
Edit Reason: Sorry - quite a few edits, I had mucked up the radians conversion and needed to re-do the Sinclair BASIC screenshot
)
Thanks, that has resolved the compilation issue. However, the maths doesn't seem correct for this fSin function. My sample FOR loop below should draw a sine wave across the screen.
![[Image: attachment.php?aid=306]](https://www.boriel.com/forum/attachment.php?aid=306)
SIN - Sinclair BASIC.png (Size: 3.82 KB / Downloads: 3,386)
![[Image: attachment.php?aid=305]](https://www.boriel.com/forum/attachment.php?aid=305)
fSin - Boriel BASIC.png (Size: 4 KB / Downloads: 3,367)
In both cases I have offset the sine wave by 90 degrees on the X axis. Notice that the fSIN pattern seems to break and reset just as it prepares to enter the fourth quad (but slightly before the symmetry point) of the pre-calculated table.
Code:
REM SINCLAIR BASIC SIN (radians)
10 FOR d=0 TO 255: PLOT d,90: LET r=(d+90)*PI/180: DRAW 0,64*(SIN r): NEXT d

Code:
REM BORIEL BASIC fSIN (degrees)
FOR d=0 TO 255: PLOT d,90: DRAW 0,64*(fSin (d+90)): NEXT d

In both cases I have offset the sine wave by 90 degrees on the X axis. Notice that the fSIN pattern seems to break and reset just as it prepares to enter the fourth quad (but slightly before the symmetry point) of the pre-calculated table.