home *** CD-ROM | disk | FTP | other *** search
/ Boldly Go Collection / version40.iso / TS / 17A / DRWIN101.ZIP / SCRUTIL.H < prev    next >
C/C++ Source or Header  |  1991-07-23  |  3KB  |  66 lines

  1. #ifndef __SCRUTIL_H
  2. #define __SCRUTIL_H
  3.  
  4. #ifndef BYTE
  5.   #define BYTE unsigned char
  6. #endif
  7.  
  8. #ifndef WORD
  9.   #define WORD unsigned int
  10. #endif
  11.  
  12. #ifndef LWORD
  13.   #define LWORD unsigned long int
  14. #endif
  15.  
  16.  
  17. #define SCRSEG_MONO    0xB0000000UL    /*monochrome video RAM*/
  18. #define SCRSEG_COLOR   0xB8000000UL    /*color video RAM*/
  19. #define SCRMOD         0x00400049UL    /*pointer to video mode byte in RAM*/
  20. #define SCRCOLUMN      0x0040004AUL    /*pointer to number of columns word*/
  21. #define SCRPAGSIZ      0x0040004CUL    /*pointer to page size word in RAM*/
  22. #define SCRPAGOFF      0x0040004EUL    /*pointer to current page offset word*/
  23. #define SCRPAGCUR      0x00400050UL    /*pointer to 8 page cursor words*/
  24. #define SCRCURSIZ      0x00400060UL    /*pointer to cursor size word in RAM*/
  25. #define SCRPAG         0x00400062UL    /*pointer to current page number*/
  26. #define SCREGAROWS     0x00400084UL    /*pointer to EGA (rows-1) byte*/
  27.  
  28. enum SCREEN_MODES {                    /*video modes for setscrmod*/
  29.   TEXT_40_25_BW        =0x0000,        /*25 rows, 40 columns, b/w text*/
  30.   TEXT_40_25           =0x0001,        /*same, but color*/
  31.   TEXT_80_25_BW        =0x0002,        /*25 rows, 80 columns, b/w text*/
  32.   TEXT_80_25           =0x0003,        /*same, but color*/
  33.   GRAP_320_200_4       =0x0004,        /*graphics, 320x200, 4 color*/
  34.   GRAP_320_200_4_BW    =0x0005,        /*same, grey-scale*/
  35.   GRAP_640_200_2       =0x0006,        /*2-color (BW)*/
  36.   MONO_80_25           =0x0007,        /*monochrome text*/
  37.   GRAP_160_200_16      =0x0008,        /*back to graphics modes*/
  38.   GRAP_320_200_16      =0x0009,
  39.   GRAP_640_200_4       =0x000A,
  40.  
  41.   TEXT_80_HI           =0x1112         /*either 50 (VGA) or 43 (EGA) rows*/
  42. };   /*screen video modes*/
  43.  
  44.  
  45. int  ptrcmp(void far *p,void far *q);  /*compares two pointers*/
  46. void memcpynf(void near *n,void far *f,WORD k);   /*copies to near from far*/
  47. void memcpyfn(void far *f,void near *n,WORD k);   /*copies to far from near*/
  48. void memcpyi(void* dpp,void* spp,WORD n);         /*interruptables...*/
  49. void memcpyfni(void far* dpp,void near* spp,WORD n);
  50. void memcpynfi(void near* dpp,void far* spp,WORD n);
  51. WORD getcrow(void);                    /*get cursor row on screen*/
  52. WORD getccol(void);                    /*get cursor col on screen*/
  53. void setcpos(WORD row,WORD col);       /*set cursor row, column on screen*/
  54. WORD getcsiz(void);                    /*get cursor size (start/stop lines)*/
  55. void setcsiz(WORD siz);                /*set cursor size*/
  56. WORD getsmod(void);                    /*get screen video mode*/
  57. void setsmod(WORD mod);                /*set screen video mode*/
  58. WORD getsrows(void);                   /*get number of text rows available*/
  59. WORD getscols(void);                   /*get number of text columns*/
  60. WORD getsrowscols(void);               /*get rows in LSB, columns in MSB*/
  61. WORD far *setscrseg(void);             /*sets scrseg to point to video RAM*/
  62.  
  63. extern WORD far *scrseg;               /*pointer to video RAM*/
  64.  
  65. #endif
  66.