home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / dos / prg / sphinx / video.h__ < prev    next >
Text File  |  1994-03-20  |  3KB  |  97 lines

  1. /*
  2.     SPHINX Programming (C) 1994.
  3.     NAME:  VIDEO.H--
  4.     DESCRIPTION:  This file contains constant definitions for the different
  5.                   video mode values for use with SETVIDEOMODE and
  6.                   GETVIDEOMODE.  SETVIDEOMODE() and GETVIDEOMODE() are
  7.                   defined.
  8.                   Some segment values are also defined.
  9.     LAST MODIFIED:  20 Mar 1994
  10.     PROCEDURES DEFINED IN THIS FILE:
  11.         : byte GETVIDEOMODE()
  12.         : void SETVIDEOMODE(byte videomode)
  13. */
  14.  
  15.  
  16. // define some video mode segment addresses:
  17.  
  18. ?define  MDA_SEG  0xB000
  19. ?define  CGA_SEG  0xB800
  20. ?define  EGA_SEG  0xA000
  21. ?define  VGA_SEG  0xA000
  22.  
  23.  
  24. // define all video mode values up to and including VGA:
  25.  
  26. enum { vid_text40bw, vid_text40c,
  27.        vid_text80bw, vid_text80c,
  28.        vid_320x200_4, vid_320x200_4_RGB, vid_640x200_2,
  29.        vid_text80m,
  30.        vid_160x200_16_pcjr, vid_320x200_16_pcjr, vid_640x200_4_pcjr,
  31.        vid_reserved1, vid_reserved2,
  32.        vid_320x200_16, vid_640x200_16, vid_640x350_2, vid_640x350_16,
  33.        vid_640x480_2, vid_640x480_16, vid_320x200_256
  34.       };
  35.  
  36. // define the lone VESA video standard mode defined for SETVIDEOMODE:
  37.  
  38. ?define  vid_800x600_16_VESA   0x6A
  39.  
  40.  
  41. // define some enhanced video mode values for the ATI VGA wonder:
  42.  
  43. ?define  vid_text132x25c_ATI   0x23
  44. ?define  vid_text132x25m_ATI   0x27
  45. ?define  vid_text132x44c_ATI   0x33
  46. ?define  vid_text132x44m_ATI   0x37
  47. ?define  vid_800x600_16_ATI_1  0x53
  48. ?define  vid_800x600_16_ATI_2  0x54
  49. ?define  vid_640x400_256_ATI   0x61
  50. ?define  vid_640x480_256_ATI   0x62
  51. ?define  vid_800x600_256_ATI   0x63
  52. ?define  vid_1024x768_16_ATI   0x65
  53. ?define  vid_1024x768_4_ATI    0x67
  54.  
  55. /* SuperVGA text and graphics modes for Western Digital WD30C31 (?) */
  56. /* (Diamond SpeedStar 24X) chipset */
  57. ?define  vid_text132x25c_WD   0x55   // 512k Paradise
  58. ?define  vid_text132x43c_WD   0x54   // 512k Paradise
  59. ?define  vid_640x400_256_WD   0x5E   // 512k Paradise
  60. ?define  vid_640x480_256_WD   0x5F   // 512k Paradise
  61. ?define  vid_800x600_16_WD    0x58   // 512k Paradise
  62. ?define  vid_800x600_256_WD   0x5C
  63. ?define  vid_1024x768_16_WD   0x5D   // 512k Paradise
  64. ?define  vid_1024x768_256_WD  0x60
  65. ?define  vid_1280x960_16_WD   0x6C
  66. ?define  vid_1280x1024_16_WD  0x64
  67. ?define  vid_640x480_32k_WD   0x62
  68. ?define  vid_800x600_32k_WD   0x63
  69. ?define  vid_640x480_16m_WD   0x72
  70.  
  71.  
  72. : void SETVIDEOMODE ()   /* AL = videomode */
  73. /*
  74. Attempts to set the screen to the videomode given.  There is no error
  75. return, use GETVIDEOMODE() to determine success.
  76. */
  77. {AH = 0;
  78. $INT 0x10
  79. }
  80. /* RETURNS:  AX = undefined;
  81. */
  82.  
  83.  
  84. : byte GETVIDEOMODE ()
  85. /*
  86. Obtains current videomode along with active display page and number of
  87. character columns.
  88. */
  89. {AH = 0xF;
  90. $INT 0x10
  91. }
  92. /* RETURNS:  AH = # of character column in current mode
  93.             AL = video mode
  94.          BH = active display page (usually 0)
  95. */
  96.  
  97. /* end of VIDEO.H-- */