home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 067.lha / Drw / qsin < prev    next >
Text File  |  1986-11-20  |  2KB  |  90 lines

  1. find qsintable not iftrue include qst ifend
  2. \
  3. \ nearly the fastest sins in town - fixed point of course...
  4. \ I use long words but if i didn't care about minor inaccuracies,
  5. \ I could use shorties instead. I just want to aim and shoot.
  6. \
  7. anew qsinx.spot
  8. \
  9. Hex
  10. ?Align4
  11. \
  12. Create Qsin -4 allot
  13. 2017 W, \ D0 Get,
  14. 0240 W, \ D0 3FF Word AndI,
  15. 03FF W,
  16. E548 W, \ D0 2 # Word Lsl,
  17. 41FA W, \ ' QsinTable PcI) A0 Long Lea, 
  18. ' QsinTable here -  ( EDD4 ) W,
  19. 2230 W, \ D0 00 Word A0 @I) D1 Long Move,
  20. 0000 W,
  21. 2E81 W, \ D1 Put, 
  22. 361A W, \ Next
  23. 4EF6 W,
  24. 3018 W,
  25. \
  26. Create Qcos -4 allot
  27. 2017 W, \ D0 Get,
  28. 0640 W, \ D0 100 Word Addi,
  29. 0100 W,
  30. 0240 W, \ D0 3FF Word AndI,
  31. 03FF W,
  32. E548 W, \ D0 2 # word Asl,
  33. 41FA W, \ ' QsinTable PcI) A0 Long Lea, 
  34. ' QsinTable here -  ( EDB4 ) W,
  35. 2230 W, \ D0 00 Word A0 @I) D1 Long Move,
  36. 0000 W,
  37. 2E81 W, \ D1 Put, 
  38. 361A W, \ Next
  39. 4EF6 W,
  40. 3018 W,
  41. \
  42. Create QsinCos -4 allot
  43. 2017 W, \ D0 Get,
  44. 0240 W, \ D0 3FF word AndI,
  45. 03FF W,
  46. E548 W, \ D0 2 # word Asl,
  47. 41FA W, \ ' QsinTable PcI) A0 Long Lea, 
  48. ' QsinTable here -  ( EDD4 ) W,
  49. 2230 W, \ D0 00 Word A0 @I) D1 Long Move,
  50. 0000 W,
  51. 2E81 W, \ D1 Put, 
  52. 0640 w, \ d0 400 word addi,
  53. 0400 w,
  54. 0240 w, \ d0 fff word andi,
  55. 0FFF w,
  56. 2230 w, \ d0 00 word a0 @i) d1 long move,
  57. 0000 w,
  58. 2F01 w, \ d1 push,
  59. 361A W, \ Next
  60. 4EF6 W,
  61. 3018 W,
  62. \
  63. \ it turns out that MULS is twice as efficient as phase/multiplied sins!
  64. \
  65. Create XqSin -4 Allot
  66. 201F w, \ D0 Pop,
  67. 2217 w, \ D1 Get,
  68. 0240 w, \ d0 03ff word Andi,
  69. 03FF w,
  70. E548 w, \ d0 2 # LSL,
  71. 41FA w, \ ' Qsintable pci) A0 Long Lea,
  72. ' Qsintable Here - w,
  73. 2430 w, \ d0 00 Word a0 @I) D2 Long Move,
  74. 0000 w,
  75. E282 w, \ d2 1 # long asr,
  76. 4881 w, \ d1 byte Ext, 
  77. 48C1 w, \ d1 Word Ext,
  78. C5C1 w, \ d1 d2 Muls,
  79. EC82 w, \ d2 6 # Long Asr,
  80. 2E82 w, \ D2 Put,
  81. 361A w, \ Next
  82. 4EF6 w,
  83. 3018 w,
  84. \
  85. Decimal
  86. : Xqcos 
  87. 256 + Xqsin
  88. ;
  89. ." Qsins are in.." cr
  90.