[comp.os.msdos.programmer] MS mouse, TurboPascal 5.5, Hercules

isaacso@copper.ucs.indiana.edu (Eric J. Isaacson) (10/15/90)

I am adding mouse routines to an existing application.  This
appication is written in TurboPascal 5.5 and runs in graphics
mode--EGA, VGA, or Hercules.  Using the standard SetGraphicsCursor
routine (listed below), I can successfully get a cursor in EGA and
VGA.  But the Hercules cursor looks like it's being mapped to memory
all wrong--actually, as looks as if the mouse was using the text
cursor instead of the graphics cursor.  This hunch is reinforced by
the fact that the x and y coords of the mouse move in increments of 8.
My guess is that the mouse driver isn't getting word of the shift to
graphics mode (I've got a Logitech mouse with driver 4.10).

I'm sure this has been hashed over before in this (or some related)
group, but my site doesn't keep notes around for very long so I
couldn't find any reference of such a discussion.  If someone can
even point me to a reference or source, I'd be grateful.

Eric Isaacson


Eric J. Isaacson (the other)      Internet: isaacso@ucs.indiana.edu
School of Music--Indiana Univ.   NeXT Mail: isaacso@bartok.music.indiana.edu
Bloomington, IN  47405          -- I am NOT the author of A86 and other    --
(812) 855-7832(o)/333-1827(h)   -- outstanding software...I wish I were... --

CHEGC@lure.latrobe.edu.au (10/16/90)

In article <isaacso.656001552@copper>, isaacso@copper.ucs.indiana.edu (Eric J. Isaacson) writes:
> I am adding mouse routines to an existing application.  This
> appication is written in TurboPascal 5.5 and runs in graphics
> mode--EGA, VGA, or Hercules.  Using the standard SetGraphicsCursor
> routine (listed below), I can successfully get a cursor in EGA and
> VGA.  But the Hercules cursor looks like it's being mapped to memory
> all wrong--actually, as looks as if the mouse was using the text
> cursor instead of the graphics cursor.  This hunch is reinforced by
> the fact that the x and y coords of the mouse move in increments of 8.
> My guess is that the mouse driver isn't getting word of the shift to
> graphics mode
> 
> Eric Isaacson
> 
> 

To make the Hercules graphics screen display a mouse cursor, run the following
procedure *AFTER* intialising the graphics, and *BEFORE* setting up the mouse.

The paramter ScreenPage is the graphics page that you want the mouse cursor to
appear on - either a 0 or 1.

PROCEDURE Herc_Init(ScreenPage : Byte);

BEGIN
  Mem[$0040:$0049] := (6 - ScreenPage);
END;

For further information, refer to the Microsoft Mouse Programmer's Guide -
there is info about the Hercules screen in one of the appendices.


                Hope this helps!

				- graeme cross -
				- la trobe university - australia -