Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- TASM 2.x / MASM 6.x Assembly Language - <b>int 10h, 12h (18) alternate select ega</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 10h,  12h (18)       Alternate Select                                 EGA

    Returns information on the Enhanced Display Adapter (EGA) and allows
    the selection of an alternative EGA Print Screen routine.

  ---------------------------------------------------------------------------

     BL = 10h Return EGA Information

        On entry:         BL          10h
                          AH          12h

        Returns:          BH          Display mode in effect
                                      00h   Color mode (3Dxh address)
                                      01h   Monochrome mode (3Bxh address)
                          BL          EGA Memory
                                      00h   64K
                                      01h   128K
                                      02h   192K
                                      03h   256K
                          CH          Adapter bits
                          CL          Switch setting


     BL = 20h Select Alternative EGA Print Screen Routine

        On entry:         BL          20h
                          AH          12h


     BL = 30h Select Scan Lines (VGA text)

        On entry:         BL          30h
                          AH          12h
                          AL          0 . 200 scan lines
                                      1 . 350 scan lines
                                      2 . 400 scan lines

        Returns:          AL          12h . Function supported


     BL = 31h Enable/disable Default Palette Loading (MCGA, VGA)

        On entry:         BL          31h
                          AH          12h
                          AL          0 . Enable default palette loading
                                      1 . Disable default palette loading


        Returns:          AL          12h . Function supported


     BL = 32h Enable/disable CPU Access to Video RAM (MCGA, VGA)

        On entry:         BL          32h
                          AH          12h
                          AL          0 . Enable access
                                      1 . Disable access

        Returns:          AL          12h . Function supported


     BL = 33h Enable/disable grey scale summing (MCGA, VGA)

        On entry:         BL          33h
                          AH          12h
                          AL          0 . Enable summing
                                      1 . Disable summing

        Returns:          AL          12h . Function supported


     BL = 34h Enable/disable ROM BIOS cursor emulation (VGA)

        On entry:         BL          34h
                          AH          12h
                          AL          0 . Enable cursor emulation
                                      1 . Disable cursor emulation

        Returns:          AL          12h . Function supported


     BL = 35h Display Switch (MCGA, VGA)

        On entry:         BL          35h
                          AH          12h
                          AL          0 . Initial adapter off
                                                ES:DX = address of switch
                                                state save area (128 bytes)
                                      1 . Initial system board video on
                                      2 . Switch off active video
                                                ES:DX = address of switch
                                                state save area (128 bytes)
                                      3 . Switch on inactive video
                                                ES:DX = address of switch
                                                state save area (128 bytes)

        Returns:          AL          12h . Function supported


     BL = 36h Video Screen On/off (VGA)

        On entry:         BL          36h
                          AH          12h
                          AL          0 . Screen on
                                      1 . Screen off

        Returns:          AL          12h . Function supported

  ---------------------------------------------------------------------------

       Notes:         The value returned in CL (Switch setting) represents
                      the DIP switch settings on the EGA. The Adapter bits
                      (CH) is defined as follows:

                              Adapter bits (CH)

                          7 6 5 4 3 2 1 0
                          x x x x . . . .       Unused
                          . . . . x x . .       Reserved
                          . . , . . . x .       FEAT1 (pin 17)
                          . . . . . . . x       FEAT0 (pin 19)

                      To print the screen contents when the number of rows
                      changes, use Subservice 20h (Set Alternative Print
                      Screen) to install a Print Screen routine that will
                      work correctly with the row change.

     Subservice 30h lets you set the number of VGA text mode scan lines. The
     vertical resolution does not change until the next time a program uses
     INT 10h, Subservice 00h to change the video mode.

     Subservice 31h lets you enable or disable palette loading when the ROM
     BIOS sets up an MCGA or VGA mode.

     Subservice 32h lets you disable a CPU's access to video RAM. If you have
     two video systems and the memory address of one overlaps the other, you
     can disable one with this Subservice.

     Subservice 33h lets you convert MCGA or VGA colors to a grey scale.
     Under this Subservice, BIOS will average colors to grey when you next set
     the video mode.

     Subservice 34h enables or disables text-mode cursor emulation on the VGA.
     If you set emulation, BIOS emulates CGA text-mode cursor sizing whenever
     you change the video mode.

     Subservice 35h lets you switch between displays -- usually between a MCGA
     and a VGA. (You need to disable overlapping memory with subservice 32h
     first.)

     Subservice 36h lets you enable or disable VGA video refresh. When you
     disable refresh, the screen is blank, but you can read from and write to
     the video buffer in memory faster. If you want your program to swap
     screens as fast as possible, you might consider turning off video refresh
     while doing it.

See Also: INT 10h, 11h

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson