  Here's some  explanation about the  sinus table generator in the
  ACE BBS advert.
  The method used is a recursive sinus sythesis.  It's possible to
  compute all sinus values with only the two previous ones and the
  value  of  cos(2c/N) , where  n  is the number of values for one
  period.
 
  It's as follow:
 
  Sin(K)=2.Cos(2c/N).Sin(K-1)-Sin(K-2)
 
  or
 
  Cos(K)=2.Cos(2c/N).Cos(K-1)-Cos(K-2)
 
  The last one is easiest to use , because the two first values of
  the cos table are 1 & cos(2c/n) and with this two values you are
  able to build all the following...
 
  Some simple code:
 
  the cos table has 1024 values & ranges from -2 ^ 24 to 2 ^ 24
 
 
  build_table:          lea    DI,cos_table
                        mov    CX,1022
                        mov    EBX,cos_table[4]
                        mov    EAX,EBX
  @@calc:
                        imul   EBX
                        shrd   EAX,EDX,23
                        sub    EAX,[DI-8]
                        stosd
                        loop   @@calc
 
 
  cos_table             dd     16777216     ; 2 ^ 24
                        dd     16776900     ; 2 ^ 24*cos(2c/1024)
                        dd     1022 dup (?)
 
 
                               Enjoy  KarL/NoooN
 
