home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 26 / CD_ASCQ_26_1295.iso / vrac / volume_3.zip / BIOS10.H < prev    next >
C/C++ Source or Header  |  1995-10-18  |  4KB  |  134 lines

  1. #ifndef __BIOS10_
  2.     #define __BIOS10_
  3.  
  4. #include <dos.h>
  5. #include <stdlib.h>
  6. #include <time.h>
  7. #include <math.h>
  8.  
  9. #if !defined(__COLORS__)
  10.     #define __COLORS__
  11.     #define BLACK1 0
  12.     #define BLUE1 1
  13.     #define GREEN1 2
  14.     #define CYAN1 3
  15.     #define RED1 4
  16.     #define MAGENTA1 5
  17.     #define BROWN1 6
  18.     #define LGRAY1 7
  19.     #define DGRAY1 8
  20.     #define LBLUE1 9
  21.     #define LGREEN1 10
  22.     #define LCYAN1 11
  23.     #define LRED1 12
  24.     #define LMAGENTA1 13
  25.     #define YELLOW1 14
  26.     #define WHITE1 15
  27. #endif
  28.  
  29. #define VGA256     0x13
  30. #define ROM_CHAR_SET_SEG 0xF000  // segment of 8x8 ROM character set
  31. #define ROM_CHAR_SET_OFF 0xFA6E  // begining offset of 8x8 ROM character set
  32. #define CHAR_WIDTH        8      // size of characters
  33. #define CHAR_HEIGHT       8
  34. #define SCREEN_WIDTH      (unsigned int)320 // mode 13h screen dimensions
  35. #define SCREEN_HEIGHT     (unsigned int)200
  36. #define TEXT_MODE  0x03
  37. #define PALETTE_MASK        0x3c6
  38. #define PALETTE_REGISTER_RD 0x3c7
  39. #define PALETTE_REGISTER_WR 0x3c8
  40. #define PALETTE_DATA        0x3c9
  41. #define PI          (float)3.14159
  42. #define IN 1
  43. #define OUT 0
  44. #define FALSE 0
  45. #define TRUE -1
  46. #define BLOCKCURSOR 7,0
  47. #define NORMALCURSOR 6,6
  48. #define ABOVECURSOR 0,0
  49. #define NOCURSOR 5,0
  50. #define NOCURSOR2 0,20
  51. //#define offset offset2=((row*width)+column*2
  52. /////////////////////////////////////////////////////////
  53. ///////////////////////////////////////////////////////
  54. // I used  regs.h.al = (unsigned char)mode
  55. // For Mode use the 0x    for it!!!!!!!!!!!!!!!!!
  56. // mode  type Max_Colors  Text Format  Max_Pages   Buffer_Start
  57. // 0x00      T    16         40x25      8         B8000
  58. // 0x01   T    16         40x25      8         " "
  59. // 0x02   T    16         80x25      8         " "
  60. // 0x03   T    16         80x25      8         " "
  61. // 0x04   G      4           40x25      1          " "
  62. // 0x05   G     4         40x25      1         " "
  63. // 0x06   G     2           80x25        1          " "
  64. // 0x07   T     mono         80x25        1          B0000
  65. // 0x08   G     16           20x25        1          " "
  66. // 0x09   G     16           40x25        1          " "
  67. // 0x0A   G      4           80x25        1          " "
  68. // 0x0D   G     16           40x25        8          A0000
  69. // 0x0E   G     16           80x25        4          A0000
  70. // 0x0F   G     mono         80x25        2          A0000
  71. // 0x10   G     16           80x25        2          A0000
  72. // 0x11   G      2           80x30        1          A0000
  73. // 0x12   G     16           80x30        1          A0000
  74. // 0x13   G    256           40x25        1          A0000
  75. //INT 10H AH = 00h Set Video Mode
  76. unsigned int Get_Current_Mode(void);
  77. //void Set_Mode(0x0E); //Must be 0x format
  78.  
  79. void Set_Mode(int mode); //Must be 0x format
  80. void VGA13_Mode(void);
  81. void TEXT_Mode(void);
  82.  
  83. void Set_Cursor(int cl,int ch);
  84. void BLOCK_Cursor(void);
  85. void NORMAL_Cursor(void);
  86. void HIDDEN_Cursor(void);
  87.  
  88. void Move_Cursor(int X,int Y,int page);
  89. void Move_Cursor(int X,int Y);//current page slower than above
  90. void Cursor_Home(void);//page 0, Home 1,1 or 0,0
  91.  
  92. void Get_Cursor_Type(int *cl,int *ch,int page);
  93.  
  94. void Get_CursorXY(int page,int *,int *);
  95. int Get_CursorX(int page);
  96. int Get_CursorY(int page);
  97.  
  98. unsigned int Get_Current_Page(void);
  99.  
  100. unsigned int Get_Current_Mode_Col(void);
  101.  
  102. void Select_Page(int page);
  103.  
  104.  
  105. void Border_Color(int color);
  106. char Read_Char_Page(int page, int *);  //<<<attribute)
  107. char Read_Char(int *); //at current page attribute
  108. void Write_Pixel_XOR(int X,int Y,int color,int page);//?????????????
  109. void Write_Pixel(int X,int Y,int color,int page);    //Bit 7 of color???
  110. void Write_Pixel(int X,int Y,int color);//Current page
  111. void Write_Pixel(int X,int Y);//Current page       COLOR???????????????
  112. int Read_Pixel(int X,int Y,int page);
  113. int Read_Pixel(int X,int Y);//Current page
  114. void Write_Teletype(char ch,int color,int page);
  115. void Write_Teletype(int ch,int color,int page);
  116. void Write_Teletype(char ch,int color);//Current page
  117. void Write_Char_Page(char chr,int page,int num,int color);
  118. void Write_Char_Page2(char chr,int page,int num);
  119.  
  120.  
  121. // G L O B A L S /////////////////////////////////////////////////////////////
  122.  
  123. void Plot_Pixel_Fast(int x,int y,unsigned char color);
  124. void Desolve_256(void);
  125.  
  126.  
  127.  
  128. unsigned char far *video_buffer = (char far *)0xA0000000L; // vram byte ptr
  129. unsigned char far *rom_char_set = (char far *)0xF000FA6EL; // rom characters 8x8
  130. int Get_Tick(void);
  131. void Write_Pixel2(int X,int Y,int color);
  132. #endif
  133. #include "C:\tc\bios10.cpp"
  134.