112 lines
5.2 KiB
Plaintext
112 lines
5.2 KiB
Plaintext
.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;
|
||
|