blob: fb913df8ab4e24b13b6b4237ee9a8e6c01c2892c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
.XLIST ;AN000;
PAGE ,132 ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000;
;; DOS - GRAPHICS Command
;; (C) Copyright 1988 Microsoft
;; ;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;
|