home *** CD-ROM | disk | FTP | other *** search
/ Photo CD Demo 1 / Demo.bin / fractint / fras1611.zip / TPLUS.H < prev    next >
C/C++ Source or Header  |  1991-05-29  |  3KB  |  102 lines

  1. /* TPLUS.H, (C) 1991 The Yankee Programmer
  2.    All Rights Reserved
  3.    
  4.    This code may be distributed only when bundled with the Fractint 
  5.    source code.
  6.    
  7.    Mark C. Peterson
  8.    The Yankee Programmer
  9.    405-C Queen Street, Suite #181
  10.    Southington, CT 06489
  11.    (203) 276-9721
  12.    
  13. */
  14.  
  15. #ifndef TPLUS_H
  16. #define TPLUS_H
  17.  
  18. struct TPWrite {
  19.    unsigned 
  20.       COLOR0,  COLOR1,  COLOR2,  COLOR3,  VIDCON,  INDIRECT,   HUESAT,
  21.       OVSTRT,  MASKL,   MASKH,   LBNK,    HBNK,    MODE1,      MODE2,    
  22.       WBL,     WBH;
  23. };
  24.  
  25. struct TPRead {
  26.    unsigned
  27.       VIDSTAT,          CTL,     MASKL,   LBNK,    READAD,     MODE1,       
  28.       OVSTRT,  USCAN,   MASKH,   OSCAN,   HBNK,    ROWCNT,     MODE2,
  29.       RBL,     RBH;
  30. };
  31.  
  32. /* TPlus Register Data Offsets */
  33. #define     XDOTS       0
  34. #define     YDOTS       1
  35. #define     ASP_RATIO   2
  36. #define     DEPTH       4
  37. #define     PAGE        5
  38. #define     BOTBANK     7
  39. #define     TOPBANK     8
  40. #define     ZOOM        10
  41. #define     DISPMODE    11
  42. #define     DAC567DATA  15
  43. #define     VTOP        19
  44. #define     TOP         51
  45. #define     BOT         53
  46. #define     VPAN        55
  47. #define     NOT_INT     56
  48. #define     HIRES       61
  49. #define     PERM        64
  50. #define     BYCAP       68
  51. #define     PE          69
  52. #define     OVLE        70
  53. #define     HPAN        71
  54. #define     MEM_BASE    73
  55. #define     MEM_MAP     74
  56. #define     LIVEMIXSRC  91
  57. #define     RGB         93
  58. #define     SVIDEO      97
  59. #define     BUFFPORTSRC 98
  60. #define     CM1         101
  61. #define     CM2         102
  62. #define     LUTBYPASS   107
  63. #define     CM3         113
  64. #define     LIVEPORTSRC 115
  65. #define     LIVE8       116
  66. #define     VGASRC      123
  67.  
  68. struct _BOARD {
  69.    int ThisBoard, ClearScreen;
  70.    unsigned char far *Screen;
  71.    unsigned VerPan, HorPan, Top, Bottom;
  72.    unsigned xdots, ydots, Bank64k, RowBytes, RowsPerBank;
  73.    unsigned Reg[128];
  74.    void (*Plot)(unsigned x, unsigned y, unsigned long Color);
  75.    unsigned long (*GetColor)(unsigned x, unsigned y);
  76.  
  77.    struct TPRead Read;
  78.    struct TPWrite Write;
  79. };
  80.  
  81. extern struct _BOARD far TPlus;
  82.  
  83. int
  84.    CheckForTPlus(void),
  85.    FillTPlusRegion(unsigned fx, unsigned fy, unsigned xdots, unsigned ydots,
  86.                    unsigned long Color),
  87.    SetBoard(int BoardNumber),
  88.    SetColorDepth(int Depth),
  89.    SetTPlusMode(int TMode, int NotIntFlag, int Depth, int Zoom),
  90.    SetVGA_LUT(void),
  91.    TPlusLUT(unsigned char far *LUTData, unsigned Index, unsigned Number,
  92.             unsigned DosFlag);
  93.  
  94. void ClearTPlusScreen(void);
  95. void SetTPlusModeLinear(void);
  96. unsigned long ReadTPlusBankedPixel(unsigned x, unsigned y);
  97. void WriteTPlusBankedPixel(unsigned x, unsigned y, unsigned long Color);
  98. void TPlusZoom(int Zoom);
  99.  
  100.  
  101. #endif
  102.