Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!apple!bionet!agate!saturn!ucscb.UCSC.EDU!funkstr From: funkstr@ucscb.UCSC.EDU (-=/ Larry Hastings /=-) Newsgroups: comp.sys.ibm.pc Subject: Re: Cursor question, Int 0x10 service 0x03 Keywords: insert cursor, problem, certain machines Message-ID: <5540@saturn.ucsc.edu> Date: 20 Nov 88 13:46:34 GMT References: <9821@watdragon.waterloo.edu> Sender: usenet@saturn.ucsc.edu Reply-To: funkstr@ucscb.UCSC.EDU (-=/ Larry Hastings /=-) Distribution: comp Organization: MetaWare, Incorporated Lines: 40 +-In article <9821@watdragon.waterloo.edu>, bamcpherson@trillium.waterloo.edu (Brent McPherson) wrote:- +---------- | | | Hi, | I calculate a half-height insert cursor from the information | received through interrupt 0x10, service 0x03. | What I do is take the old cursors bottom scan line, divide this | by two. This now becomes the new top scan line of the insert cursor. | | eg. | regs.h.ah = 0x03; /* read cursor position */ | intr( 0x10, ®s ); /* perform video interrupt */ | old_cursor = regs.x.cx; /* save normal cursor */ | ins_cursor = (((old_cursor & 0xff) >> 1) << 8) + (old_cursor & 0xff); | | There seems to a problem on certain machines. (the plain IBM PC | with a monochrome monitor I think) Basically instead of getting a | half-height insert cursor you get a cursor in the middle of the | character. | Brent | +---------- Aha! This is because on MGA, the cursor is (if memory serves) 11 lines tall, not 8. It might be 13, but I think it's 11. Anyways, you're setting the bottom to be 8, and the bottom line is 11, so the cursor stops two-thirds of the way from the bottom... anyways, the fix is obvious; you just need to take in account the taller cursor for MGA. -- /|\ /|\ .. . . . . . . . . . . | |\| |\| .. . . . . . . . . . . |/|\|/|\|/|| _ _ _ _ |_| _ _ |_ -__ _ _ARPA: funkstr@ucscb.ucsc.EDU | |/| |/|L_ (_\( ( (_/ | |(_\_) (_ || )(_)_)UUCP: *!ucbvax!ucscb!funkstr \|/ \|/ larry / hastings _/ WORK: sun!acad!metaware!funkster MetaWare Incorporated Disclaimer: It was a bad day. "If any of your OSF force are caught or killed, the Secretary will deny any knowlege of your activities." --from the new Mission: Impractical