Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

BIOS_Video Class Reference

List of all members.

Private Methods

void setText ()
void setVGA16 ()
void setVGA256 ()

Static Private Methods

void setVideo (VideoMode mode)
void setCursor (UCHAR pageNo, UCHAR row, UCHAR col)
cursorInfo_t getCursor (UCHAR pageNo)
opticPen_t getOpticPenPosition ()
void setPageNo (UCHAR pageNo)
void scrollText (UCHAR dir, UCHAR nbLines, UCHAR color, textPos_t UpLeft, textPos_t DownRight)
charInfo_t readChar (UCHAR pageNo)
void writeCharWithAttributes (UCHAR pageNo, USHORT nbTimes, UCHAR AsciiCode, UCHAR attributes)
void writeChar (UCHAR pageNo, USHORT nbTimes, UCHAR AsciiCode)
void borderColor (UCHAR color)
void setPalette (UCHAR paletteNo)

Member Function Documentation

void BIOS_Video::borderColor UCHAR    color [inline, static, private]
 

Definition at line 295 of file VIDEO.CPP.

00296    {
00297       // Assembler cost: 7+ clock cycle 486+
00298       __asm {
00299          push ax
00300          push bx
00301 
00302          mov  ah, 0Bh
00303          xor  bh, bh
00304          mov  bl, color   
00305 
00306          int 10h
00307 
00308          pop  bx
00309          pop  ax
00310       }
00311    }

cursorInfo_t BIOS_Video::getCursor UCHAR    pageNo [inline, static, private]
 

Definition at line 111 of file VIDEO.CPP.

00111                                                   {
00112       cursorInfo_t c;
00113 
00114       // Assembler cost: 14+ clock cycles 486+
00115       __asm {
00116          push ax
00117          push bx
00118          push cx
00119          push dx
00120 
00121          mov  ah, 03h
00122          mov  bh, pageNo
00123 
00124          int 10h
00125 
00126          mov  c.normal.row  dh
00127          mov  c.normal.col, dl
00128          mov  c.flash.row_start, ch
00129          mov  c.flash.row_end, cl
00130 
00131          pop  dx
00132          pop  cx
00133          pop  bx
00134          pop  ax
00135       }
00136 
00137       return c;
00138    }

opticPen_t BIOS_Video::getOpticPenPosition   [inline, static, private]
 

Definition at line 140 of file VIDEO.CPP.

00140                                            {
00141       opticPen_t p;
00142 
00143       // Assembler cost: 14+ clock cycles 486+
00144       __asm {
00145          push ax
00146          push bx
00147          push cx
00148          push dx
00149 
00150          mov  ah, 04h
00151 
00152          int 10h
00153 
00154          mov  p.success, ah
00155          mov  p.text.row, dh
00156          mov  p.text.col, dl
00157          mov  p.graph.row, ch
00158          mov  p.graph.col, bx
00159 
00160          pop  dx
00161          pop  cx
00162          pop  bx
00163          pop  ax
00164       }
00165 
00166       return p;
00167    }

charInfo_t BIOS_Video::readChar UCHAR    pageNo [inline, static, private]
 

Definition at line 217 of file VIDEO.CPP.

00217                                               {
00218 
00219       charInfo_t c;
00220 
00221       // Assembler cost: 8+ clock cycle 486+
00222       __asm {
00223          push ax
00224          push bx
00225 
00226          mov  ah, 08h
00227          mov  bh, pageNo
00228 
00229          int 10h
00230 
00231          mov  c.Ascii, al
00232          mov  c.color, ah
00233 
00234          pop  bx
00235          pop  ax
00236       }
00237 
00238       return c;
00239    }

void BIOS_Video::scrollText UCHAR    dir,
UCHAR    nbLines,
UCHAR    color,
textPos_t    UpLeft,
textPos_t    DownRight
[inline, static, private]
 

Definition at line 185 of file VIDEO.CPP.

00187    {
00188       UCHAR UpDown = 0x06;
00189       if ( dir != 0 ) { UpDown++; }  
00190 
00191       // Assembler cost: 15+ clock cycles 486+
00192       __asm {
00193          push ax
00194          push bx
00195          push cx
00196          push dx
00197 
00198          mov  ah, UpDown
00199          mov  al, nbLines
00200          mov  bh, color
00201 
00202          mov  ch, UpLeft.row
00203          mov  cl, UpLeft.col
00204 
00205          mov  dh, DownRight.row
00206          mov  dl, DownRight.col
00207 
00208          int 10h
00209 
00210          pop  dx
00211          pop  cx
00212          pop  bx
00213          pop  ax
00214       }      
00215    }

void BIOS_Video::setCursor UCHAR    pageNo,
UCHAR    row,
UCHAR    col
[inline, static, private]
 

Definition at line 90 of file VIDEO.CPP.

00090                                                                {
00091 
00092       // Assembler cost: 10+ clock cycles 486+
00093       __asm {
00094          push ax
00095          push bx
00096          push dx
00097 
00098          mov  ah, 02h
00099          mov  bh, pageNo
00100          mov  dh, row
00101          mov  dl, col
00102 
00103          int 10h
00104 
00105          pop  dx
00106          pop  bx
00107          pop  ax
00108       }      
00109    }

void BIOS_Video::setPageNo UCHAR    pageNo [inline, static, private]
 

Definition at line 169 of file VIDEO.CPP.

00169                                          {
00170 
00171       // Assembler cost: 4+ clock cycles 486+
00172       __asm {
00173          push ax
00174 
00175          mov  ah, 05h
00176          mov  al, pageNo
00177          int 10h
00178 
00179          pop  ax
00180       }      
00181    }

void BIOS_Video::setPalette UCHAR    paletteNo [inline, static, private]
 

Definition at line 313 of file VIDEO.CPP.

00314    {
00315       // Assembler cost: 7+ clock cycle 486+
00316       __asm {
00317          push ax
00318          push bx
00319 
00320          mov  ah, 0Bh
00321          mov  bh, 01h
00322          mov  bl, color   
00323 
00324          int 10h
00325 
00326          pop  bx
00327          pop  ax
00328       }
00329    }

void BIOS_Video::setText   [inline, private]
 

Definition at line 86 of file VIDEO.CPP.

00086 {   setVideo( Text80 ); }

void BIOS_Video::setVGA16   [inline, private]
 

Definition at line 87 of file VIDEO.CPP.

00087 {  setVideo( VGA16  ); }

void BIOS_Video::setVGA256   [inline, private]
 

Definition at line 88 of file VIDEO.CPP.

00088 { setVideo( VGA256 ); }

void BIOS_Video::setVideo VideoMode    mode [inline, static, private]
 

Definition at line 72 of file VIDEO.CPP.

Referenced by setText(), setVGA16(), and setVGA256().

00072                                           {
00073       USHORT vmode = (USHORT)mode;
00074 
00075       // Assembler cost: 3+ clock cycle 486+
00076       __asm {
00077          push ax
00078 
00079          mov  ax, vmode
00080          int 10h
00081 
00082          pop  ax
00083       }
00084    }

void BIOS_Video::writeChar UCHAR    pageNo,
USHORT    nbTimes,
UCHAR    AsciiCode
[inline, static, private]
 

Definition at line 272 of file VIDEO.CPP.

00273    {
00274 
00275       // Assembler cost: 10+ clock cycle 486+
00276       __asm {
00277          push ax
00278          push bx
00279          push cx
00280 
00281          mov  ah, 0Ah
00282          mov  bh, pageNo
00283          mov  cx, nbTimes
00284 
00285          mov  al, AsciiCode
00286 
00287          int 10h
00288 
00289          pop  cx
00290          pop  bx
00291          pop  ax
00292       }
00293    }

void BIOS_Video::writeCharWithAttributes UCHAR    pageNo,
USHORT    nbTimes,
UCHAR    AsciiCode,
UCHAR    attributes
[inline, static, private]
 

Definition at line 244 of file VIDEO.CPP.

00246    {
00247 
00248       // Assembler cost: 11+ clock cycle 486+
00249       __asm {
00250          push ax
00251          push bx
00252          push cx
00253 
00254          mov  ah, 09h
00255          mov  bh, pageNo
00256          mov  cx, nbTimes
00257 
00258          mov  al, AsciiCode
00259          mov  bl, attributes
00260 
00261          int 10h
00262 
00263          pop  cx
00264          pop  bx
00265          pop  ax
00266       }
00267    }


The documentation for this class was generated from the following file:
Generated on Sun Oct 14 18:48:27 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001