Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!know!news.cs.indiana.edu!maytag!watstat.waterloo.edu!dmurdoch From: dmurdoch@watstat.waterloo.edu (Duncan Murdoch) Newsgroups: comp.lang.pascal Subject: Re: TP6, mice and Herc Graphics Adapters Message-ID: <1991Mar7.141449.11184@maytag.waterloo.edu> Date: 7 Mar 91 14:14:49 GMT References: <26198@adm.brl.mil> <2523@njitgw.njit.edu> Sender: daemon@maytag.waterloo.edu (Admin) Organization: University of Waterloo Lines: 37 In article <2523@njitgw.njit.edu> cd5340@mars.njit.edu (David Charlap) writes: >In article <26198@adm.brl.mil> MASON@qucdnee1.bitnet writes: >>A student of mine is running into a problem with the Mouse pointer in >>Herc Graphics mode and would appreciate the following information: >> >>"I would like to know how to make the Microsoft mouse driver recognize >>that TP6.0 has switched to graphics mode on a Hercules Graphics >>Adapter. I have determined that InitGraph bypasses the BIOS by >>programming the CRT controller directly, disabling the mouse driver's >>ability to detect video mode changes." > >How about triggering the BIOS mode change just after calling InitGraph? >It's an INT 10H function (but I forget which one). Then the BIOS tables >will be set correctly as well. Just be sure to reset them after you're >done by using another BIOS call, since TextMode probably doesn't reset >the tables either. Unless you load a special driver (the one I've got is called HBIOS, I think), the BIOS doesn't support the Hercules graphics modes at all. That's why TP goes directly to the hardware. The way to let the mouse driver know about the mode changes is to manually change the BIOS mode number, then reset the mouse. This is documented in the MS Mouse programmer's manual; it's also in Ralf Brown's interrupt list, where I found this description: INT 33 - MS MOUSE - RESET DRIVER AND READ STATUS AX = 0000h ... to use mouse on a Hercules-compatible monographics card in graphics mode, you must first set 0040h:0049h to 6 for page 0 or 5 for page 1, and then call this function. I hope this helps. Duncan Murdoch