Function 01h Set Cursor Type
set the size of the cursor or turn it off.
Time Reg Values
entry AH 01h
CH bit values:
bits 0-4 top line for cursor in character cell
bits 5-6 blink attribute
00 normal
01 invisible (no cursor)
10 slow (not used on original IBM PC)
11 fast
CL bit values:
bits 0-4 bottom line for cursor in character cell
return none
note
-
) The ROM BIOS default cursors are: monochrome mode 07h: start 11 end 12
text modes 00h-03h: start 6 end 7
-
) The blinking in text mode is caused by hardware and cannot be turned off,
though some kludges can temporarily fake a nonblinking cursor
-
) The hardware cursor is not available in graphics mode
-
) One the EGA, MCGA, and VGA in text modes 00h-03h, the ROM BIOS accepts
cursor start and end values as though the character cell were 8 by 8, and
remaps the values as appropriate for the true character cell dimensions.
This mapping is called cursor emulation. Function 01h Set Cursor Type - set
the size of the cursor or turn it off note
-
) You can turn off the cursor in several ways. On the MDA, CGA, and VGA,
setting register CH to 20h causes the cursor to disappear. Techniques that
involve setting illegal starting and ending lines for the current display
mode tend to be unreliable.
-
) Another method of turning off the cursor in text mode is to position it
to a nondisplayable address, such as (X,Y)=(0,25) 7) Buggy on EGA systems
- BIOS remaps cursor shape in 43 line modes, but returns unmapped cursor
shape
Sample Code:
Asm\Lib\BIOS.INC -@BIOSVidCurSzSet MACRO first,last
Set43b.COM ;Sets EGA 43 line mode with a block cursor
MOV AX,0003
INT 10 ;Int\10f\00 -03h Set 80x25 16 color text
MOV AX,1112
XOR BX,BX
INT 10 ;Int\10f\11 -12h Load 8x8 characters
MOV AH,01
MOV CX,0005
INT 10 ;Int\10f\01 Set block cursor
RET