home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / devcon / milan_1991 / devcon91.2 / tiga / include / a2410 / gspregs.h < prev    next >
C/C++ Source or Header  |  1992-09-01  |  4KB  |  113 lines

  1. #ifndef TIGA_GSPREGS_H
  2. #define TIGA_GSPREGS_H
  3. /*
  4. **    $Filename: tiga/gspregs.h $
  5. **    $Release: $$$RELEASE$$$ $
  6. **
  7. **    PUBLIC EXTENDER FILE
  8. **
  9. **    (C) Copyright 1988,1989,1990 University of Lowell
  10. **                    Center for Productivity Enhancement
  11. **      All Rights Reserved
  12. **
  13. **
  14. ** Purpose:
  15. **    This file contains definitions for GSP registers It is useful for the
  16. **    gsp side of an application, written in GSP-C, to use symbolic names
  17. **    for GSP hardware
  18. **
  19. **
  20. */
  21.  
  22. /* ====================================================================== */
  23. /* = Define names of special A- and B-file registers ==================== */
  24. /* ====================================================================== */
  25. #define FP        13    /* register A13 - Frame pointer, param. stack */
  26. #define STK       14    /* register A14 - Parameter stack pointer     */
  27. #define SADDR     0     /* register B0  - Source address register     */
  28. #define SPTCH     1     /* register B1  - Source pitch register       */
  29. #define DADDR     2     /* register B2  - Dest. address register      */
  30. #define DPTCH     3     /* register B3  - Dest. pitch register        */
  31. #define OFFSET    4     /* register B4  - XY offset register          */
  32. #define WSTART    5     /* register B5  - Window start register       */
  33. #define WEND      6     /* register B6  - Window end register         */
  34. #define DYDX      7     /* register B7  - Delta X/delta Y register    */
  35. #define COLOR0    8     /* register B8  - Color 0 register            */
  36. #define COLOR1    9     /* register B9  - Color 1 register            */
  37.  
  38.  
  39.  
  40. /* ====================================================================== */
  41. /* = Define base location of TMS34010's on-chip I/O register file. ====== */
  42. /* ====================================================================== */
  43. #define IO_BASE   0xC0000000    /* address of 1st I/O register */
  44.  
  45.  
  46.  
  47. /* ====================================================================== */
  48. /* = Define names of I/O registers. ===================================== */
  49. /* ====================================================================== */
  50. #define HESYNC    0xC0000000
  51. #define HEBLNK    0xC0000010
  52. #define HSBLNK    0xC0000020
  53. #define HTOTAL    0xC0000030
  54. #define VESYNC    0xC0000040
  55. #define VEBLNK    0xC0000050
  56. #define VSBLNK    0xC0000060
  57. #define VTOTAL    0xC0000070
  58. #define DPYCTL    0xC0000080
  59. #define DPYSTRT   0xC0000090
  60. #define DPYINT    0xC00000A0
  61. #define CONTROL   0xC00000B0
  62. #define HSTDATA   0xC00000C0
  63. #define HSTADRL   0xC00000D0
  64. #define HSTADRH   0xC00000E0
  65. #define HSTCTLL   0xC00000F0
  66. #define HSTCTLH   0xC0000100
  67. #define INTENB    0xC0000110
  68. #define INTPEND   0xC0000120
  69. #define CONVSP    0xC0000130
  70. #define CONVDP    0xC0000140
  71. #define PSIZE     0xC0000150
  72. #define PMASK     0xC0000160
  73. /*----- I/O registers 23-26 are reserved -----*/
  74. #define DPYTAP    0xC00001B0
  75. #define HCOUNT    0xC00001C0
  76. #define VCOUNT    0xC00001D0
  77. #define DPYADR    0xC00001E0
  78. #define REFCNT    0xC00001F0
  79.  
  80.  
  81.  
  82. /* ====================================================================== */
  83. /* = Masks for I/O register fields: ===================================== */
  84. /* ====================================================================== */
  85. #define TRN_MASK  0x20    /* Mask for T field in CONTROL */
  86. #define WDW_MASK  0xC0    /* Mask for W field in CONTROL */
  87. #define PBH_MASK  0x100   /* Mask for Pixblt Horizontal Dir. in CONTROL */
  88. #define PBV_MASK  0x200   /* Mask for Pixblt Vertical Dir. in CONTROL   */
  89. #define PPOP_MASK 0x7C00  /* Mask for PPOP in CONTROL    */
  90. #define SRT_MASK  0x800   /* Mask for SRT bit in DPYCTL  */
  91. #define SRE_MASK  0x1000  /* Mask for SRT bit in DPYCTL  */
  92. #define ENV_MASK  0x8000  /* Mask for SRT bit in DPYCTL  */
  93. #define DI_MASK   0x400   /* Mask for DI bit in INTPEND  */
  94.  
  95.  
  96.  
  97. /* ====================================================================== */
  98. /* = Additional defines used for an Amiga host program ================== */
  99. /* ====================================================================== */
  100. #define HCTLHIADDR      0xC000
  101. #define HCTLLOLOADDR    0X00F0
  102. #define HCTLHILOADDR    0X0100
  103.  
  104. struct GSP_REG {
  105.   unsigned short  hstadrl;
  106.   unsigned short  hstadrh;
  107.   unsigned short  hstdata;
  108.   unsigned short  hstctl;
  109. };
  110.  
  111.  
  112. #endif    /*  TIGA_GSPREGS_H */
  113.