flat assembler
Message board for the users of flat assembler.

Index > DOS > How to set non-blinking block cursor in DOS?

Author
Thread Post new topic Reply to topic
lilainst



Joined: 29 Jul 2004
Posts: 11
lilainst
I was trying to use int 10h with function ah=01, but I got a blinking block cursor. How can I get a non-blinking block cursor like BSDs' SOFTCUROSR by using BIOS interrupt? Thanks!
Post 28 Mar 2006, 13:08
View user's profile Send private message Reply with quote
casey



Joined: 18 Aug 2005
Posts: 35
casey
mov ax,1003h
mov bl,0 ;bl = 0 no blink = 1 for blink
int 10h

I think you get 16 background (paper) colors
without the blink?

--
casey
Post 28 Mar 2006, 23:29
View user's profile Send private message Reply with quote
lilainst



Joined: 29 Jul 2004
Posts: 11
lilainst
My current Video Mode is 03H, I tried your code in FreeDos debug.com, but it has no effect.
Post 29 Mar 2006, 02:24
View user's profile Send private message Reply with quote
casey



Joined: 18 Aug 2005
Posts: 35
casey
Sorry I was confusing the flashing cursor with a flashing character.

You might try Ralfs interrupt list,
http://www.cs.cmu.edu/~ralf/files.html

--
casey
Post 29 Mar 2006, 07:20
View user's profile Send private message Reply with quote
lilainst



Joined: 29 Jul 2004
Posts: 11
lilainst
Maybe it's not easy to fulfill this kind of function in one 'int' instruction on PC platform. That is why both linux and BSD refers it as SoftCursor, I suppose.
And I think the possible way to do is, turn off the cursor first, and then write our own cursor with reverse display...
Post 29 Mar 2006, 08:57
View user's profile Send private message Reply with quote
casey



Joined: 18 Aug 2005
Posts: 35
casey
That is what I remember doing when playing with the text mode.

Do you use the mouse functions?

Graphic modes were more fun.

It has been at least seven years since I last used assembler
with DOS. I don't think DOS is all that practical since WindowsME.

I think if you use DOS you might as well turn off Windoze Smile


--
casey
Post 30 Mar 2006, 07:13
View user's profile Send private message Reply with quote
Matrix



Joined: 04 Sep 2004
Posts: 1171
Location: Overflow
Matrix
hi, its easy, do this:

Code:


cursoron:  ;  Turns CURSOR ON.
mov ah,1
 mov cx,0x0607
 int 10h
ret

cursoroff: ;  Turns CURSOR OFF.
mov ah,1
 mov cx,0x1400
 int 10h
ret

cursorhidden: ;  Returns 1 if cursorhidden, 0 otherwise.
  mov ah,0x03
   int 10h
   xor al,al
   cmp ch,$20
   jne .skip
   mov al,1
   .skip:
ret
    


hmm, i remeber there is some custom cursor function too, search in the rb int list, it should be somewhere near these functions.
Post 30 Mar 2006, 18:57
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.