Changing font size and color in DOS display

[b][red]This message was edited by eowyn at 2003-9-26 20:43:49[/red][/b][hr]
I need to change the font to a much bigger size than the normal display in DOS. Besides I also need to change the font color and make it blinking. I am now using BIOS video interrupt service routine, Int 10h, to change display mode and text color. I am able to change the display mode to graphics mode and changed the font color. But I can't change the font size and make it blinking.

Anyone who can help?

Thanks and regards
Eowyn

Comments

  • In order to make the text to blink, you will need to return to Text Mode (03h). High resolution modes (640x400 or better) can't make text to blink automatically. You should print the text and then stay reprinting it alternating two colors, in order to make it blink.

    The only form I know of resizing the font size is to mess up with the VGA card registers, in order to change the time of the H-Sync and V-Sync, and I don't know how to do this.

    This is a thing that high-level languages (BASIC) will make too slow, low-level languages will make too fast or with a big work of typing the code (ASM) and medium-level languages (C) will make it easier. You can make the blink routine in C and link it to your program in ASM.


    Davi Medrade
    Master Programmer of Agnetron Software Ltda.
    davimedrade@hotmail.com
    So Paulo, Brazil

  • I found a solution for blinking font in graphics mode. With interrupt 10h, AL=03h, and BL=01h; the text written on the screen will blinking, but all the text color will blink, I also don't know why.
    Thanks and regards,
    Eowyn

  • : I found a solution for blinking font in graphics mode. With interrupt 10h, AL=03h, and BL=01h; the text written on the screen will blinking, but all the text color will blink, I also don't know why.
    : Thanks and regards,
    : Eowyn
    :
    :

    here's some notes I have in one of my include files for text mode video stuff:
    [code]
    ; colors for standard text mode attribute byte:
    ;
    ; Bit# 76543210
    ; blinking text?-------^///|\
    ; backgrnd | text color
    ; color +high intensity (bright) color?
    BLACK EQU 0
    BLUE EQU 1
    GREEN EQU 2
    CYAN EQU 3
    RED EQU 4
    MAGENTA EQU 5
    BROWN EQU 6
    WHITE EQU 7

    BRIGHT EQU BIT3 ; Bit 3 set if text is high intensity (bright)
    BLINKING EQU BIT7 ; Bit 7 set if text is blinking
    ; Note: high intensity black = dark grey
    ; Note: Blinking text can be disabled by calling INT 10, AX=1003, BL=0
    ; This doubles the background color choices to 16 total.

    [/code]

    So, if your attribute byte has BIT7 set, the text will be blinking.
    Everything on that page, regardless of color, will blink, if BIT7 is set.

    -jeff!

  • [b][red]This message was edited by eowyn at 2003-9-29 20:46:54[/red][/b][hr]
    Thank you everyone. Can anyone of you recommend a book that describe all the interrupt in details?


    Thanks and regards,
    Eowyn



  • Can anyone of you recommend a book that describe all the interrupt in details?
    [green]
    Down load Ralf Browns interrupt list.
    Do a string search at www.google.com for "INTER61D.ZIP"
    and down load the .zip series.
    It's in ASCII text so it's string searchable
    and easily split for your interrupt specific needs.

    I made C:NASMASMCOLOR.COM which shows all the colors and their values
    for video mode 3 using the current palette. The Nasm source code is included in:
    http://bitdog.home.att.net/files/nasmenv.zip
    There is a bunch of include files, macros, programs, & commented code
    that you can do any thing you want with, it's free.
    I hope that helps some how
    Bitdog
    [/green]

  • You can Download the full Ralph Brown's Interrupt List (aka RBIL) at:

    http://www-2.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html

    I think this will help so much.
    Davi Medrade
    Master Programmer of Agnetron Software Ltda.
    davimedrade@hotmail.com
    So Paulo, Brazil

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories