2025-04-27 07:49:33 -04:00

112 lines
5.2 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.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;