Article View: comp.os.msdos.programmer
Article #2697My patches to CMOUSE.ARC (SIMTEL20 - mouse handling routines)
From: Norbert Bladt
Date: Wed, 17 Oct 1990 07:43
Date: Wed, 17 Oct 1990 07:43
154 lines
6971 bytes
6971 bytes
Hello,
I did promise to post my patches to the CMOUSE.ARC package which is
on SIMTEL20.
This is my first patch posting, so I apologize for anything I did wrong
with this posting. The patches are very small.
I used a diff on my system to create the diff output, but
I don't know whether this output can be used by the patch program.
Additionally, I changed something else in the original files. However,
this was just done to modify the "one tab is 4 spaces" look-and-feel
to my "one tab is 8 spaces" preferred look.
So, there were a lot of diff's which were done only for that reason and I
left them out of this posting.
First, a short reminder, what CMOUSE.ARC is and where to get it:
_______ extracted parts of a message on USENET (on c.b.i.p.d ?)
> CMOUSE.ARC - Mouse management for MSC 5.1/MASM 5.0 or later
> I have uploaded: [to SIMTEL20, Norbert Bladt]
> CMOUSE.ARC Mouse management for MSC 5.1/MASM 5.0 or later
> The following is included in the archive:
> Archive: CMOUSE.ARC
> Name Length Method SF Size now Mod Date Time CRC
> ============ ======== ======== ==== ======== ========= ======== ========
> COMPACT.INC 17 ----- 2 17 06 Mar 89 12:01:48 DE63
> ERROR.LST 450 Crunched 15 379 06 Mar 89 11:07:38 4A34
> FARCALL.INC 17 ----- 2 17 08 Nov 88 13:26:36 B2FB
> HANDLER.ASM 1092 Crunched 30 754 16 Apr 89 17:31:44 DEE9
> HUGEDATA.INC 18 ----- 2 18 08 Nov 88 13:26:38 AEA0
> LARGE.INC 15 ----- 3 15 06 Mar 89 12:02:20 1D54
> MAKE.EXE 21505 Crunched 18 17495 26 Oct 87 12:43:14 8E45
> MAKEFILE 4572 Crunched 61 1743 06 Mar 89 12:12:40 E761
> MEDIUM.INC 16 ----- 3 16 06 Mar 89 12:02:04 7A84
> MICE.ASM 21552 Squashed 72 5898 31 May 87 10:58:28 49ED
> MOUSE.C 4934 Crunched 49 2483 16 Apr 89 17:36:40 2161
> MOUSE.CMD 40 ----- 1 40 06 Mar 89 12:13:26 ADB2
> MOUSE.H 2183 Crunched 41 1288 16 Apr 89 15:23:16 B505
> NEARCALL.INC 17 ----- 2 17 08 Nov 88 13:26:50 72AA
> SMALDATA.INC 18 ----- 2 18 08 Nov 88 13:26:54 6EF1
> SMALL.INC 15 ----- 3 15 06 Mar 89 12:02:20 AF7D
> TEST1.C 2105 Crunched 42 1214 06 Mar 89 14:48:30 CE94
> TEST2.C 1766 Crunched 37 1097 28 Mar 89 06:30:00 F9EF
> ============ ===== ==== ===== ========= ======== ====
> total 18 60332 45% 33048
> The source code is intended for MSC 5.1 and MASM 5.0 or later.
> I have included a PD Unix-like make, which is what my makefile is
> intended to be used with (MAKE.EXE). This make has been posted to
> the Usenet several times in the past, and will run recursively which
> allows automatic manufacturing of libraries for all memory models.
> The mouse routines are adapted from articles in 'The C Gazette' and
> several other publications, including PC Magazine and PC Tech Journal.
> The makefile will create a library file for each of the PC memory models.
> See test1.c and test2.c for examples of use.
I did use it with MS-C 5.0 (and MASM 5.1) and it works, too.
Hope that helps some of you,
Norbert Bladt.
____________ Patch for MOUSE.C -----------------------------------------
____________ comment: changed parameter 3 of "GraphicCursor"
____________ from "unsigned long (*mask)[]"
____________ to the reasonable (and working) "unsigned int *mask".
____________ changed register setting from "ds" to "es".
148,151c157,161
< void GraphicCursor(hot_x, hot_y, mask) /* Define grahic cursor & hot spot */
< int hot_x, hot_y; /* Coordinates of hot spot */
< unsigned int *mask; /* Ptr to array of unsigned ints */
< { /* (double words) */
---
> void
> GraphicCursor(hot_x, hot_y, mask) /* Define grahic cursor & hot spot */
> int hot_x, hot_y; /* Coordinates of hot spot */
> unsigned long (*mask)[]; /* Ptr to array of unsigned longs */
> { /* (double words) */
159,160c169
< /* 19-Jun-90: NB - Bugfix: changed "ds" to "es" */
< segregs.es = FP_SEG(mask);
---
> segregs.ds = FP_SEG(mask);
____________ Patch for MOUSE.H -----------------------------------------
____________ comment: just reflects the change in MOUSE.C
49c50
< extern void GraphicCursor(int hot_x, int hot_y, unsigned far *mask);
---
> extern void GraphicCursor(int hot_x, int hot_y, unsigned long **mask);
57a59
>
____________ Patch for TEST1.C -----------------------------------------
____________ comment: just reflects the change in MOUSE.C
5c5
< static unsigned far masks[32] = /* Graphics cursor masks */
---
> main()
7,18d6
< 0xffff, 0xffff, 0xffff, 0xffff, /* Screen mask */
< 0xffff, 0xffff, 0xffff, 0xffff,
< 0xffff, 0xffff, 0xffff, 0xffff,
< 0xffff, 0xffff, 0xffff, 0xffff,
<
< 0x8000, 0xe000, 0xf800, 0xd800, /* Cursor mask */
< 0x0c00, 0x0600, 0x0300, 0x0000,
< 0x0000, 0x0000, 0x0000, 0x0000,
< 0x0000, 0x0000, 0x0000, 0x0000
< };
<
< main() {
22,33c10,21
< static unsigned far masks[32] = /* Graphics cursor masks */
< {
< 0xffff, 0xffff, 0xffff, 0xffff, /* Screen mask */
< 0xffff, 0xffff, 0xffff, 0xffff,
< 0xffff, 0xffff, 0xffff, 0xffff,
< 0xffff, 0xffff, 0xffff, 0xffff,
<
< 0x8000, 0xe000, 0xf800, 0xd800, /* Cursor mask */
< 0x0c00, 0x0600, 0x0300, 0x0000,
< 0x0000, 0x0000, 0x0000, 0x0000,
< 0x0000, 0x0000, 0x0000, 0x0000
< };
---
> static unsigned long masks[32] = /* Graphics cursor masks */
> {
> 0xffff, 0xffff, 0xffff, 0xffff, /* Screen mask */
> 0xffff, 0xffff, 0xffff, 0xffff,
> 0xffff, 0xffff, 0xffff, 0xffff,
> 0xffff, 0xffff, 0xffff, 0xffff,
>
> 0x8000, 0xe000, 0xf800, 0xd800, /* Cursor mask */
> 0x0c00, 0x0600, 0x0300, 0x0000,
> 0x0000, 0x0000, 0x0000, 0x0000,
> 0x0000, 0x0000, 0x0000, 0x0000
> };
____________ End of patches --- -----------------------------------------
--
Please use this path as return address. DON'T USE THE RETURN PATH IN THE HEADER
Norbert Bladt, Ascom Autelca AG, Worbstr. 201, CH-3073 Guemligen, Switzerland
Phone: +41 31 52 92 14
EMail: ..!uunet!mcsun!chx400!hslrswi!bladt
Technical Details
Message-ID:
<837@aut.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rutgers!apple!olivea!mintaka!bloom-beacon!eru!hagbard!sunic!mcsun!cernvax!chx400!hslrswi!aut!nbladtShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rutgers!apple!olivea!mintaka!bloom-beacon!eru!hagbard!sunic!mcsun!cernvax!chx400!hslrswi!aut!nbladt From: nbladt@aut.UUCP (Norbert Bladt) Newsgroups: comp.os.msdos.programmer Subject: My patches to CMOUSE.ARC (SIMTEL20 - mouse handling routines) Message-ID: <837@aut.UUCP> Date: 17 Oct 90 07:43:28 GMT Reply-To: nbladt@aut.UUCP (Norbert Bladt) Organization: Ascom Autelca AG, CH-3073 Guemligen, Switzerland Lines: 154