Cursor Masks - I've given all of the cursor masks I've made below. They took quite some time and I guess there is no sense in all of you guys wasting your time on it as well, after all it has nothing to do with programming. Like I said, there are 2 16/16 bitmaps overlaid to get the final effect. Each integer has 16 bits. The first 16 numbers are the first bitmap and the second 16 numbers form the next. Each number forms one row in the bitmap. Each bitmap is followed by the hotspot co-ordinates.
Its quite obvious from the above fact that each point on the mouse bitmap is decided by two bits - one each from each mask. Here is how they act:
00 - Point is
opaque and black.
10 - Point is
transparent.
01 - Point is
opaque and white.
11 - Point is
transparent showing the inverse of the pixel underneath it.
I've not mentioned most of the functions which I've not used. They are listed below:
- Setting minimum and maximum horizontal positions:
Input:
AX=0x7
CX=Minimum horizontal co-ordinate
DX=Maximum horizontal co-ordinate
- Setting minimum and maximum vertical positions:
Input:
AX=0x8
CX=Minimum vertical co-ordinate
DX=Maximum vertical co-ordinate
- Setting the text pointer (AX=0xa)
- Read mouse motion counters (AX=0xb)
- Set user-defined subroutine (AX=0xc)
- Light pen emulation on (AX=0xd)
- Light pen emulation off (AX=0xe)
- Set mickey/pixel ratio (AX=0xf)
- Conditional off (AX=0x10)
- Change Acceleration (AX=0x12) (DX=acceleration)
- Set double speed threshold (AX=0x13)
- Swap user-defined subroutine (AX=0x14)
- Get mouse state storage requirements (AX=0x15)
- Save mouse driver state (AX=0x16)
- Restore mouse driver state (AX=0x17)
- Enable mouse driver (AX=0x20)
These functions are explained in detail in the appendices for the interrupt 33h in various books like The Complete Reference Visual C++ 6.0 by Chris H. Pappas and William H. Murray, 8085/8086 through Pentium class of microprocessors by Barry B. Brey etc. You might want to check it out if your intention is to create a complete mouse library.
Your feedback/questions/requests are welcome.