summaryrefslogtreecommitdiff
path: root/v4.0/src/CMD/GRAPHICS/GRCTRL.STR
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;