.XLIST ;AN000; PAGE ,132 ;AN000; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; ;; DOS - GRAPHICS Command ;; ;; ;AN000; ;; File Name: GRCTRL.STR ;AN000; ;; ---------- ;AN000; ;; ;AN000; ;; Description: ;AN000; ;; ------------ ;AN000; ;; Include file containing structures and equates for ;AN000; ;; the Print Screen process. ;AN000; ;; ;AN000; ;; Change History: ;AN000; ;; --------------- ;AN000; ;; ;AN000; ;; ;AN000; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; ;; ;AN000; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000; .LIST ;AN000; ;-------------------------------------------------------------------------------;AN000; ; ;AN000; ; PRINT SCREEN INTERNAL ERROR CODES ;AN000; ; ;AN000; ;-------------------------------------------------------------------------------;AN000; NO_ERROR EQU 0 ;AN000; UNABLE_TO_PRINT EQU 1 ; The procedure was unable to print the ;AN000; ; screen ;AN000; DISPLAYMODE_INFO_NOT_FOUND EQU 2 ; There was no DISPLAYMODE info record ;AN000; ; in the Shared Area for the current mode ;AN000; MODE_NOT_SUPPORTED EQU 4 ; This mode is not supported by this version ;AN000; ; of GRAHICS. ;AN000; PRINTER_ERROR EQU 8 ; An error occurred while printing a byte ;AN000; ; (i.e., Out of paper, etc) ;AN000; ;-------------------------------------------------------------------------------;AN000; ; ;AN000; ; PIXEL INTERNAL REPRESENTATION ;AN000; ; ;AN000; ;-------------------------------------------------------------------------------;AN000; PIXEL_STR STRUC ;AN000; R DB ? ; RED component (0 to MAX_INT) ;AN000; G DB ? ; GREEN component (0 to MAX_INT) ;AN000; B DB ? ; BLUE component (0 to MAX_INT) ;AN000; PIXEL_STR ENDS ;AN000; ;-------------------------------------------------------------------------------;AN000; ; ;AN000; ; VIDEO MODE TYPES ;AN000; ; ;AN000; ;-------------------------------------------------------------------------------;AN000; TXT EQU 0 ; Text ;AN000; APA EQU 1 ; All Points Addressable ;AN000; ;AN000; ;-------------------------------------------------------------------------------;AN000; ; ;AN000; ; BIOS INTERRUPT 10H CALL EQUATES ;AN000; ; Note: Either AX or AH must be initialized, depending if the call is ;AN000; ; a sub-call or not. ;AN000; ; ;AN000; ;-------------------------------------------------------------------------------;AN000; READ_DOT_CALL EQU 0DH ; Read dot ;AN000; SET_CURSOR_CALL EQU 02H ; Set cursor on the screen ;AN000; READ_CURSOR_CALL EQU 03H ; Read position of the cursor on the screen ;AN000; READ_CHAR_CALL EQU 08H ; Read attribute/character ;AN000; GET_STATE_CALL EQU 0FH ; Return current video state ;AN000; GET_P_REG_CALL EQU 1007H ; Read a palette register (EGA, VGA) ;AN000; GET_C_REG_CALL EQU 1015H ; Read a color register (VGA) ;AN000; READ_CONFIG_CALL EQU 1A00H ; Read display adapter configuration (PS/2) ;AN000; PAGE_STATE_CALL EQU 101AH ; Read color page state call (PS/2) ;AN000; ALT_SELECT_CALL EQU 12H ; Alternate select call (AH = 12h) ;AN000; EGA_INFO_CALL EQU 10H ; Return EGA information (AH=12H,BH = 10H) ;AN000; DISP_DESC_CALL EQU 15H ; PC CONVERTIBLE display description call ;AN000; ;AN000; ;-------------------------------------------------------------------------------;AN000; ; ;AN000; ; BIOS DATA AREA EQUATES ;AN000; ; ;AN000; ;-------------------------------------------------------------------------------;AN000; BIOS_SEG EQU 40H ; BIOS segment ;AN000; NB_ROWS_OFFSET EQU 84H ; Number of rows displayed when in a text mode ;AN000; ;AN000; ;-------------------------------------------------------------------------------;AN000; ; ;AN000; ; CONSTANT DEFINITIONS ;AN000; ; ;AN000; ;-------------------------------------------------------------------------------;AN000; NO EQU 0 ;AN000; YES EQU 1 ;AN000; OFF EQU 0 ;AN000; ON EQU 1 ;AN000; ;AN000; ;-------------------------------------------------------------------------------;AN000; ; ;AN000; ; TRANSLATION TABLE DEFINITIONS ;AN000; ; ;AN000; ;-------------------------------------------------------------------------------;AN000; WHITE_INT EQU 63 ; Intensity for WHITE on the printer ;AN000; BLACK_INT EQU 0 ; Intensity for BLACK on the printer ;AN000; MAX_INT EQU WHITE_INT ; Maximum intensity for a RGB value, ;AN000; ; (Red, Green, or Blue). ;AN000; ONE_THIRD EQU MAX_INT*1/3 ; Used to calculate Red, Green, Blue intensity ;AN000; TWO_THIRD EQU MAX_INT*2/3 ; values. ;AN000; ;AN000; ;-------------------------------------------------------------------------------;AN000; ; ;AN000; ; PRINTER CONTROL ASCII CODES ;AN000; ; ;AN000; ;-------------------------------------------------------------------------------;AN000; CR EQU 0DH ; Carriage return ;AN000; LF EQU 0AH ; Line feed ;AN000;