Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!husc6!hao!boulder!sunybcs!rutgers!mcnc!ecsvax!mjg
From: mjg@ecsvax.UUCP (Michael Gingell)
Newsgroups: comp.sys.ibm.pc
Subject: Re: How to turn off cursor?
Message-ID: <4215@ecsvax.UUCP>
Date: Wed, 25-Nov-87 08:56:28 EST
Article-I.D.: ecsvax.4215
Posted: Wed Nov 25 08:56:28 1987
Date-Received: Sun, 29-Nov-87 01:04:16 EST
References: <2065@killer.UUCP> <5060014@hpccc.HP.COM> <3639@uw-june.UUCP> <3678@uw-june.UUCP>
Organization: UNC Educational Computing Service
Lines: 48
Summary: I agree, the 6300 seems to be an oddball

In article <3678@uw-june.UUCP>, marty@uw-june.UUCP (Marty Sirkin) writes:
> In article <429@cpsc6b.cpsc6a.att.com>, crs@cpsc6b.cpsc6a.att.com (Chris (I'm Outta Here!) Seaman) writes:
> 
> > Sorry this didn't work for you, but I *DID* try it, and it works on my 6300.
> 
> I am sorry for flaming you on the previous posting, and it may well work on 
> your 6300, but if you try it on any IBM PC/XT/AT/PS2 (or on Phoenix BIOS, or
> other "standard" BIOS), or look it up in Norton (or one of several other
> books) you will see that it *shouldn't* work.  The fact that it does on your
> 6300 is an exception, not the rule.
> 
I agree, I wrote a routine to turn the cursor off which works on PCs, Ats
PS/2s, clones, MDA, CGA, EGA, EGA clones but apparently NOT the 6300.
Using the standard call to set the cursor size you simply define the line  line
within the character block at which the logic turns the cursor on and
the line where it it is turned off. If you define it to be turned off
at any line within the normal display box for one character then it
gets turned off every time the cursor cell is scanned. If you also define
it to be turned on at a line outside the range that is ever scanned
(e.g. 8 or higher for MDA, 12 or higher for CGA, more for EGA) then
the scan counters never reach a point where they detect coincidence
and thus the cursor is never started.

It seems to me this is primarily a function of hardware on the MDA and
CGA but certain BIOSs may mask the numbers you try and send to the
hardware. In the EGA, emulating the CGA, the hardware function is
partially emulated by the EGA BIOS and it works just fine.

Are ther any other 6300 experts out there that can shed light on why
the cursor on/off routine doesn't work. For the record, here is my
cursor routine:

; set cursor start in ch, end in cl

; to set cursor off
       mov   cx,0f0eh
       mov   ah,1
       int   10h

; to set cursor on
       mov    cx,0107h
       mov    ah,1
       int    10h

Im sorry, I dont have the exact numbers in front of me now
for the start/end for turning the cursor off. This is from memory.

Thats it,   .....  Mike Gingell       ..ecsvax!mjg