Stopping Screen Refresh - INT 0x10 (Video Services) - Assembled

My programming environment is an MS-DOS emulator, and I program in 16-bit assembly.

I use plain text mode where I can print characters and use attributes.

On a part of the screen I draw a lot of characters every second, thousands of them create nice animations.

The thing is, to create an animation, firstly, I need to delete the old one, I basically print a space about 1000 times. (!) Now, because I do this, every time I redraw the animation, there is a small blinking problem that is noticeable and very annoying.

I use video services to do all weekend and animated things. Therefore, my first thought was to somehow stop the screen from updating, redraw it all and let the screen continue to update itself.

Since this procedure is performed many times per second, and it has to happen many times, I have found that any other cleaning methods are not very useful.

+4
source share
2 answers

, , , , , , . . , , BIOS (, INT 10h AX = 0600h), , .

- , . , . , , , , , . . , , : , , , .

,

, , , . , , . , , . , .

, BIOS, , . , . , , .

BIOS , . , , BH, , . BIOS , BIOS INT 10h, AH = 06h, , . : 0 1, , . , , , . INT 10h AX = 05XX, XX - .

. , MS-DOS , , BIOS . , , , BIOS. . , , ( "blit" ) REP MOVS.

BIOS . , (MDA) (CGA) ​​ (B000: 0000 B800: 0000 ). , 100% . , BIOS .

+5

:

  • :

    • AH 0x0F
    • 0x10 ()
    • AL
  • 7, B000: 0000

  • , B800: 0000

"" (, , , )

, , "". , , 0x3DA .

Usenet .

+2

All Articles