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



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

This article was previously published under Q43335

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);
    

Modification Type: Major Last Reviewed: 9/24/2003
Keywords: KB43335