Hi...
In MS-DOS, how could I hide the text cursor NOT the mouse cursor?..
Thanks..

Recommended Answers

All 3 Replies

Move the cursor to a position off the screen (row 30, column 90 say), or clear bit 6, and set bit 5, in the CRT controller's cursor start address register.

Hi...
In MS-DOS, how could I hide the text cursor NOT the mouse cursor?..
Thanks..

move the pointer out from screen as said above
and code for that is:

mov ah,2 ; this is BIOS video service for setting pointer location
mov bh,Video_page_number ; active video page is not always the same
mov dh,row ; row in HEXIMAL (e.g 3=3, 9=9 but 10=A 11=B until 15=F so 16=10)
mov dl,column ; column same as row
int 10h ; that is calling this BIOS Function

but you need active page number which you get like this:

mov ah,0fh
int 10h
returns active video page in register bh

well
i suggest you to make this whole code like this:

;-------------------------------------
jmp HideCursor
ActivePageNumber db ? ;allocates memory = 1byte
HideCursor:
mov ah,0fh ;BIOS Function Read Video mode
int 10h
mov ActivePageNumber,bh

mov ah,2
mov bh,ActivePageNumber
mov dh,1ah ;that is the 26th row which is out from screen
mov dl,51h ;that is the 81th column out from screen aswell
int 10h ;(actually only one should point out from screen, not both, not nessesary)
;-------------------------------------
check this reply.txt file for better view;)

don't forget get to bring cursor back into screen area before int 20h (terminating program)
because if you don't then program will crash

good luck there! :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.