home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0600 / CCE_0628.ZIP / CCE_0628.PD / FALCON_D.ATA / DSPBIND.H < prev    next >
C/C++ Source or Header  |  1993-03-29  |  4KB  |  88 lines

  1. /************************************************************************/
  2. /*                    Version of Dspbind.h for Lattice v5.0                */    
  3. /*                    Uses #pragma inline code                            */
  4. /*                    to get round Atari's inconsistant use of            */
  5. /*                    short int's and other silly things                    */
  6. /*            Copyright 29 March 1993 Dave Malham, Music Technology Group    */
  7. /*            University of York, England    - with thanks to Martin Atkins    */
  8. /*            for showing me how to do it!                                */
  9. /************************************************************************/
  10.  
  11.  
  12.  
  13.  
  14. extern long xbios();
  15.  
  16. /* DSP XBIOS functions (trap #14) */
  17.  
  18. short    __sxpsp(int, void *, int, void *);
  19. void    __vxplpl(int, void *,long, void *,long);
  20. void    __vxpllp(int, void *,long,long, void *);
  21. void    __vxpplllp(int,void *,void *,long,long,void *);
  22. void    __vxs(int,int);
  23. short    __sxv(int);
  24. void    __vxv(int);
  25. short    __sxs(int,int);
  26. short    __sxpls(int,void *,long,int);
  27. char     __cxv(char,int);
  28. void    __vxll(int,long,long);
  29. short    __sxll(int,long,long);
  30. void    __vxpls(int,void *,long,int);
  31. long    __lxpp(int,void *,void *);
  32. void    __vxpp(int,void*,void*);
  33. void    __vxllpp(int,long,long,void*,void*);
  34. short    __sxpp(int,void*,void*);
  35.  
  36.  
  37. #pragma inline d0=__sxpsp((short),,(short),)    {register d2,a2; "4e4e";}
  38. #pragma inline       __vxplpl((short),,,,)            {register d2,a2; "4e4e";}
  39. #pragma inline       __vxpllp((short),,,,)            {register d2,a2; "4e4e";}
  40. #pragma inline       __vxpplllp((short),,,,,,)        {register d2,a2; "4e4e";}
  41. #pragma inline       __vxs((short),(short))        {register d2,a2; "4e4e";}
  42. #pragma inline d0=__sxv((short))                {register d2,a2; "4e4e";}
  43. #pragma inline       __vxv((short))                {register d2,a2; "4e4e";}
  44. #pragma inline d0=__sxs((short),(short))        {register d2,a2; "4e4e";}
  45. #pragma inline d0=__sxpls((short),,,(short))    {register d2,a2; "4e4e";}
  46. #pragma inline d0=__cxv((short))                {register d2,a2; "4e4e";}
  47. #pragma inline       __vxll((short),,,)            {register d2,a2; "4e4e";}
  48. #pragma inline d0=__sxll((short),,,)            {register d2,a2; "4e4e";}
  49. #pragma inline       __vxpls((short),,,(short))    {register d2,a2; "4e4e";}
  50. #pragma inline       __lxpp((short),,,)            {register d2,a2; "4e4e";}
  51. #pragma    inline      __vxpp((short),,,)            {register d2,a2; "4e4e";}
  52. #pragma    inline      __vxllpp((short),,,,)            {register d2,a2; "4e4e";}
  53. #pragma    inline d0=__sxpp((short),,,)            {register d2,a2; "4e4e";}
  54.  
  55.  
  56. #define    Dsp_DoBlock(a,b,c,d)            __vxplpl(96,a,b,c,d)    /** T **/
  57. #define    Dsp_BlkHandShake(a,b,c,d)        __vxplpl(97,a,b,c,d)
  58. #define Dsp_BlkUnpacked(a,b,c,d)        __vxplpl(98,a,b,c,d)    /** T **/
  59. #define    Dsp_InStream(a,b,c,d)            __vxpllp(99,a,b,c,d)
  60. #define    Dsp_OutStream(a,b,c,d)            __vxpllp(100,a,b,c,d)
  61. #define    Dsp_IOStream(a,b,c,d,e,f)        __vxpplllp(101,a,b,c,d,e,f)
  62. #define    Dsp_RemoveInterrupts(a)            __vxs(102,a)
  63. #define    Dsp_GetWordSize()                __sxv(103)
  64. #define    Dsp_Lock()                        __sxv(104)    /** T **/
  65. #define    Dsp_Unlock()                    __vxv(105)    /** T **/
  66. #define    Dsp_Available(a,b)                __vxpp(106,a,b)    /** T **/
  67. #define    Dsp_Reserve(a,b)                __sxpp(107,a,b)
  68. #define Dsp_LoadProg(a,b,c)                __sxpsp(108,a,b,c)    /** T **/
  69. #define    Dsp_ExecProg(a,b,c)                __vxpls(109,a,b,c)
  70. #define    Dsp_ExecBoot(a,b,c)                __vxpls(110,a,b,c)
  71. #define    Dsp_LodToBinary(a,b)            __lxpp(111,a,b)
  72. #define    Dsp_TriggerHC(a)                __vxs(112,a)
  73. #define    Dsp_RequestUniqueAbility()        __sxv(113)    /** T **/
  74. #define    Dsp_GetProgAbility()            __sxv(114)    /** T **/
  75. #define    Dsp_FlushSubroutines()            __vxv(115)    /** T **/
  76. #define    Dsp_LoadSubroutine(a,b,c)        __sxpls(116,a,b,c)    /** T **/
  77. #define    Dsp_InqSubrAbility(a)            __sxs(117,a)    /** T **/
  78. #define    Dsp_RunSubroutine(a)            __sxs(118,a)    /** T **/
  79. #define    Dsp_Hf0(a)                        __sxs(119,a)    /** T **/
  80. #define    Dsp_Hf1(a)                        __sxs(120,a)    /** T **/
  81. #define    Dsp_Hf2()                        __sxv(121)
  82. #define    Dsp_Hf3()                        __sxv(122)
  83. #define    Dsp_BlkWords(a,b,c,d)            __vxplpl(123,a,b,c,d)
  84. #define    Dsp_BlkBytes(a,b,c,d)            __vxplpl(124,a,b,c,d)
  85. #define    Dsp_HStat()                        __cxv(125)
  86. #define Dsp_SetVectors(a,b)                __vxpp(126,a,b)
  87. #define Dsp_MultBlocks(a,b,c,d)            __vxllpp(127,a,b,c,d)
  88.