1

I am writing a simple application that tries to use video mapped memory (Starting at address 0B800). For the most part I can write directly to that memory and the characters appear instantly on screen, but I find if I try to write directly under the cursor what ever I tried to write does not stick. Is there a way around this? How can I write directly under the cursor?

Currently using something like this to write to the memory:

mov word ptr ES:[DI], BX

where BX has the attributes and the character I want to write.

nrz
  • 9,959
  • 4
  • 36
  • 69
Twiltie
  • 522
  • 1
  • 6
  • 13
  • 2
    Non-zero odds that you are doing battle with your DOS emulator. A true hardware cursor just isn't possible anymore on modern machines. That's a battle that's hard to win, try another one. – Hans Passant Nov 26 '13 at 22:54
  • Okay thank you for pointing that out, I just didn't have enough experience with this stuff to even realize that dosbox might be the problem! – Twiltie Nov 26 '13 at 22:59
  • Would moving the cursor to some off-screen position help? – Frank Kotler Nov 26 '13 at 23:44

1 Answers1

1

I looked up what interrupts dosbox supports and int 33h was on the list. Calling int 33h with ax = 2 hides the mouse, then after that the mov word ptr ES:[DI], BX worked just fine, finally I called int 33h again with ax = 1 to make the mouse visible once again.

Twiltie
  • 522
  • 1
  • 6
  • 13