You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
5.2 KiB
112 lines
5.2 KiB
.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;
|
|
|