home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / CORDIC.ARC / CORDIC.NOTE < prev    next >
Encoding:
Text File  |  2019-04-13  |  2.6 KB  |  53 lines

  1. ├ORDIC
  2. ------
  3. ╘HIS PROGRAM WILL CALCULATE INT VALUES FOR SINE AND COSINE. ╘HE VALUE OF SINE
  4. WILL BE STORED IN THE VARIABLE S%. ╘HE VALUE OF COSINE WILL BE RETURNED IN THE
  5. VARIABLE C%. ╘HESE ROUTINES ARE 2-3 TIMES FASTER THEN THE COMMODORE KERNAL
  6. ROUTINES. 
  7.  
  8. ╘O SET UP THE CALL TO THE CORDIC PROGRAM THE ACCUMALATOR MUST CONTAIN THE 
  9. LO-BYTE OF THE DEGREE TO BE CALCULATED AND THE X-REGISTER SHOULD CONTAIN THE
  10. HIGH-BYTE. ╘HIS ROUTINE DOES NOT CHECK FOR VALUES GREATER THEN 360. ╘HE 
  11. POINTERS MUSE BE SET UP CORRECTLY FOR THE VALUES TO BE STORED IN THE VARIABLES
  12. PROPERLY. ╙EE THE CORDIC64.BAS & CORDIC128.BAS PROGRAMS FOR EXAMPLES OF THIS. 
  13.  
  14. ╞EEL FREE TO USE THIS PROGRAM AND TO MODIFY THE SOURCE CODE AS NEEDED.╔ HAVE 
  15. INCLUDED THE 128 SOURCE CODE IN A TSDS FORMAT. ═ERLIN USERS SHOULD BE ABLE
  16. TO USE IT BY CHANGING ALL THE ? IN MACROS TO ]. ╘O MAKE IT INTO 64 SOURCE CODE
  17. CHANGE THE VARIABLE XPOINT TO $9E AND YPOINT TO $A3. ┴LSO THE PUTINBANK1 ROUTINE
  18. IS NOT NEEDED. ╩UST STORE THE VALUES IN $8C TO $8F USING A STA (XPOINT),Y &
  19. STA (YPOINT),Y.
  20.  
  21. ╘HE AUTHOR IN THE ├ USERS JOURNAL (═ICHAEL ┬ERTRAND), CALCULATES THAT THE WORST
  22. ERROR IN CALCULATION IS .00064 AND THE AVERAGE ERROR IS .00011. ╘HIS WORKS OUT
  23. TO OVER 13 BITS ACCURACY, OR ROUGHLY 1 IN 8000. 
  24.  
  25. ╘HE SIGNED INTEGER ROUTINES ╔ USED CAN BE USED BECAUSE THERE NEVER IS A WORRY
  26. OF OVERFLOW. ╘HE HIGHEST NUMBER THAT A SIGNED 16-BIT INTEGER IS 32767 AND THE 
  27. LOWEST IS -32768. ╘HE HIGHEST BIT IS TURNED ON FOR ALL OF THE NEGATIVE NUMBERS.
  28. ╘HIS COULD CAUSE A PROBLEM IF TWO POSITIVE NUMBERS WERE ADDED AND THEIR SUM IS
  29. GREATER THEN 32767. ═Y ROUTINES WOULD THINK THAT THE SUM IS NEGATIVE.
  30.  
  31. ╘HE COMMODORE KERNAL ROUTINES RETURN THE ANSWER OF THE SINE AND COSINE FUNCTIONS
  32. IN RADIANS. ═Y ROUTINES RETURN THE ANSWER IN DEGREES. ╘O CONVERT RADIANS
  33. TO DEGREES MULTIPLY THE RADIAN BY PI/180. ═OST HAND CALCULATORS RETURN THE  
  34. ANSWER IN DEGREES.
  35.  
  36. ╘HE FILES INCLUDED ARE:
  37.             ├ORDIC.S      - ╘HE 128 ╘SDS SOURCE CODE
  38.             ├ORDIC.BAS    - ┴ BASIC EXAMPLE OF CORDIC. ╞OR THOSE WHO DO NOT
  39.                             UNDERSTAND MACHINE LANGUAGE.
  40.             ├ORDIC.64     - ╘HE 64 MACHINE CODE VERSION OF ├ORDIC. ╙TORED AT
  41.                             $├000 (49152).  
  42.             ├ORDIC64.┬AS  - ┴ SMALL BASIC PROGRAM THAT SHOWS A SPRITE ROTATING
  43.                             IN A CIRCLE. ╧NCE USING CORDIC, ONCE USING THE 
  44.                             COMMODORE KERNAL ROUTINES.
  45.             ├ORDIC128.BAS - ╙AME AS THE ABOVE BUT FOR THE 128.
  46.             ├ORDIC.128    - ╘HE 128 MACHINE CODE. ╙TORED AT $1300 (4864).
  47.             ├ORDIC.NOTE   - ╘HIS FILE.
  48.    
  49. ╚OPE SOMEBODY OUT THERE GETS SOME USE OUT OF THESE ROUTINES.
  50. ╥EGARDS,
  51. ┬ILL ╠UCIER
  52.  
  53.