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