cegal() Function in EGA.LIB May Not Work Properly

ID: Q43335


The information in this article applies to:
  • Microsoft Mouse driver for MS-DOS, versions 6.x, 7.x, 8.x, 9.0


SUMMARY

When using cegal() in the EGA.LIB with Function f1, cegal() doesn't perform correctly. An example is shown below.


MORE INFORMATION

Perform the following function in C


   outp(CRTC_INDEX,INDEX); 
where CRTC_INDEX is the port address and INDEX is the register.

The mouse does not see the change in the EGA register; therefore, the above C call may cause the mouse to not perform properly because the call bypasses the BIOS routines.

The following are examples of two ways to perform this call:

  • Use the EGA.LIB (this does not work):
    
          e1=0xf1;
          e2=0xd;
          e4=0;
          cegal(&e1,&e2,&e3,&e4,&e5); 


  • Use the equivalent BIOS call (this works):
    
          inregs.x.ax=0xf1;
          inregs.x.bx=0xd;
          inregs.x.dx=0;
          int86(0x10,&inregs,&outregs); 


Additional query words: program

Keywords :
Version : MS-DOS:6.x,7.x,8.x,9.0
Platform : MS-DOS
Issue type :


Last Reviewed: December 16, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.