.XLIST										;AN000;
PAGE										;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;					;AN000;
;; DOS - GRAPHICS Command
;;                                             
;;										;AN000;
;; File Name:  GRSHAR.STR							;AN000;
;; ----------									;AN000;
;;										;AN000;
;; Description: 								;AN000;
;; ------------ 								;AN000;
;; Include file containing structures and equates for				;AN000;
;; Shared Data Area.								;AN000;
;;										;AN000;
;; This area is used for communication between the installation process 	;AN000;
;; and the Print Screen process; it contains all the information		;AN000;
;; extracted from the printer profile.						;AN000;
;;										;AN000;
;;										;AN000;
;; Change History:								;AN000;
;; ---------------								;AN000;
;;										;AN000;
;;										;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;					;AN000;
				       ;;					;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;					;AN000;
.LIST										;AN000;
					;					;AN000;
SHARED_DATA_AREA_STR STRUC		;					;AN000;
  SD_TOTAL_SIZE       DW    ?		; Total # bytes ALLOCATED to the	;AN000;
					;  the Shared Data Area.		;AN000;
  ;;;;;;;;;;;; Environment ;;;;;;;;;;;;;;					;AN000;
  SWITCHES	      DB    0		; Command line switches 		;AN000;
  HARDWARE_CONFIG     DB    ?		; Type of video hardware		;AN000;
  PRINTER_TYPE	      DB    ?		; Type of printer attached		;AN000;
					;					;AN000;
  ;;;;;;;;;;;; Profile Data ;;;;;;;;;;;;;					;AN000;
  DARKADJUST_VALUE    DB    0		; Darkness adjustment value		;AN000;
					;					;AN000;
  NUM_PRT_COLOR       DB    ?		; Number of print colors		;AN000;
  COLORPRINT_PTR      DW    ?		; Pointer to COLORPRINT info		;AN000;
					;					;AN000;
  NUM_PRT_BANDS       DB    ?		; Number of selectable print bands	;AN000;
  COLORSELECT_PTR     DW    ?		; Pointer to COLORSELECT info		;AN000;
					;  bands				;AN000;
  DISPLAYMODE_PTR     DW  ?		; Pointer to start of DISPLAYMODE	;AN000;
					;  info 				;AN000;
;\/  ~~mda(001) ----------------------------------------------------------
;               Added DATA_TYPE, which can be either DATA_ROW or DATA_COL.
;               Needed so know if should send info to the printer in row
;               or column format.  IBM and EPSON use column format and HP 
;               PCL uses row format. 

  DATA_TYPE           DB  ?
;/\  ~~mda(001) ----------------------------------------------------------
;\/  ~~mda(001) ----------------------------------------------------------
;               Added ROW_TO_EXTRACT which is set in PRINT_BW_APA and 
;               used in STORE_BOX so we know what row to extract from the
;               printer box.
  ROW_TO_EXTRACT      DB  ?
;/\  ~~mda(001) ----------------------------------------------------------
;\/  ~~mda(001) ----------------------------------------------------------
;               Added COUNT which is used to store either the ASCII 
;               or the binary representation of the count.  This is used
;               instead of LOW_BYT_COUNT_PTR and HIGH_BYT_COUNT_PTR in
;               the DISPLAYMODE structure.  Also added NUM_BYTES_FOR_COUNT
;               which is the length of the ascii number in COUNT.
                        DB      ?       ; COUNT grows up
                        DB      ?       ; ^
                        DB      ?       ; ^
                        DB      ?       ; ^
  COUNT                 DB      ?       ; ^
  NUM_BYTES_FOR_COUNT   DB      ?       ; Number of bytes needed to store ascii #
;/\  ~~mda(001) ----------------------------------------------------------
;\/  ~~mda(001) ----------------------------------------------------------
;               Added the following variable (which is set in PARSE_GRAPHICS
;               and used in END_PRT_LINE) so we know if we have a printer,
;               such as an IBM printer, that needs a CR & LF to be sent after 
;               each scan line is printed.  Note:  HP PCL printers don't 
;               need a CR, LF to be sent.
  PRINTER_NEEDS_CR_LF   DB      ?
;/\  ~~mda(001) ----------------------------------------------------------
;
SHARED_DATA_AREA_STR ENDS	       ;;					;AN000;
										;AN000;
										;AN000;
;;;;;;;;; COLORSELECT info structure ;;;;					;AN000;
					;					;AN000;
COLORSELECT_STR  STRUC			;					;AN000;
  NUM_SELECT_ESC    DB	?		; number of escape bytes to		;AN000;
					;  select this band			;AN000;
  SELECT_ESC	    DB	?		; Escape bytes to select band		;AN000;
COLORSELECT_STR  ENDS		       ;;					;AN000;
										;AN000;
										;AN000;
										;AN000;
;;;;;;;;; COLORPRINT info structure ;;;;;					;AN000;
					;					;AN000;
COLORPRINT_STR	STRUC			;					;AN000;
  RED		    DB	?		; RGB value				;AN000;
  GREEN 	    DB	?		;					;AN000;
  BLUE		    DB	?		;					;AN000;
					; Bit mask indicating color		;AN000;
  SELECT_MASK	    DB	?		;  bands required:			;AN000;
					;  Bit 0: first band in table		;AN000;
COLORPRINT_STR	ENDS		       ;;  Bit 1: second band...		;AN000;
										;AN000;
										;AN000;
;;;;;;;;; DISPLAYMODE info structure ;;;;					;AN000;
					; A new block is built when a		;AN000;
DISPLAYMODE_STR STRUC			;  DISPLAYMODE statement is		;AN000;
					;   found				;AN000;
  NEXT_DISP_MODE    DW	?		; Pointer to info for next		;AN000;
					;  display mode; -1 if last		;AN000;
  NUM_DISP_MODE     DB	?		; Number of display modes for		;AN000;
  DISP_MODE_LIST_PTR DW ?		;  this record - list of them		;AN000;
					;					;AN000;
  BOX_WIDTH	    DB	?		; Print box size - horizontal		;AN000;
  BOX_HEIGHT	    DB	?		; Print box size - vertical		;AN000;
					;					;AN000;
  NUM_PATTERNS	    DB	?		; Number of grey patterns for		;AN000;
					;  this box size			;AN000;
  PATTERN_TAB_PTR   DW	?		; pointer to grey pattern table 	;AN000;
					;  for this display mode		;AN000;
  NUM_GRAPHICS_ESC  DB	?		; # of escape byte for GRAPHICS 	;AN000;
  GRAPHICS_ESC_PTR  DW	?		; pointer to GRAPHICS escape		;AN000;
  LOW_BYT_COUNT_PTR DW	?		; pointers to number of bytes sent	;AN000;
  HGH_BYT_COUNT_PTR DW	?		;  to the printer (1 word holds this	;AN000;
					;    number but, must be send 1 byte	;AN000;
					;     at a time).			;AN000;
  NUM_SETUP_ESC     DB	?		; # of escape byte for SETUP		;AN000;
  SETUP_ESC_PTR     DW	?		; pointer to SETUP escape seq		;AN000;
					;  for this display mode		;AN000;
  NUM_RESTORE_ESC   DB	?		; # of escape byte for RESTORE		;AN000;
  RESTORE_ESC_PTR   DW	?		; pointer to RESTORE escape		;AN000;
					;  seq for this display mode		;AN000;
  PRINT_OPTIONS     DB	?		;					;AN000;
					;					;AN000;
;\/  ~~mda(001) ----------------------------------------------------------
;               The following is the # of esc bytes after the word DATA
;               in the GRAPHICS statement.
  NUM_GRAPHICS_ESC_AFTER_DATA   DB  ?   ;
;/\  ~~mda(001) ----------------------------------------------------------
DISPLAYMODE_STR ENDS		       ;;					;AN000;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;					;AN000;
;;										;AN000;
;; SHARED DATA AREA  -	EQUATES 						;AN000;
;;										;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;					;AN000;
										;AN000;
; SWITCHES	      DB    <bit mask>	; Command line switches:		;AN000;
    REVERSE_SW		EQU 1		;   /R					;AN000;
    BACKGROUND_SW	EQU 2		;   /B					;AN000;
					;					;AN000;
; HARDWARE_CONFIG     DB    <bit mask>	; Type of video hardware		;AN000;
    PALACE		EQU 1		;  attached				;AN000;
    ROUNDUP		EQU 2		; PS 2 MODEL 50 60 AND 80		;AN000;
    EGA 		EQU 4		; Enhance Graphics Adapter		;AN000;
    PC_CONVERTIBLE	EQU 8		; PC Convertible LCD			;AN000;
    OLD_ADAPTER 	EQU 16		; Color Graph. Adater or MONO		;AN000;
					;					;AN000;
; PRINTER_TYPE	      DB    <bit mask>	; Type of printer attached		;AN000;
    COLOR		EQU 1		;					;AN000;
    BLACK_WHITE 	EQU 2		;					;AN000;
					;					;AN000;
; PRINT_OPTIONS       DB  <bit mask>	;					;AN000;
    ROTATE		EQU 1		;					;AN000;

;\/  ~~mda(001) ----------------------------------------------------------
;               Added the following equates, which are used for the
;               DATA_TYPE.
;
    DATA_COL            EQU 0
    DATA_ROW            EQU 1
;
;/\  ~~mda(001) ----------------------------------------------------------

;\/  ~~mda(001) ----------------------------------------------------------
;               Added the following equates, which are used during parsing
;               and printing, to distinguish between esc seq., types of
;               counts, and data.
    ESC_NUM_CODE        EQU 0E0H
    COUNT_CODE          EQU 0C0H
    LOWCOUNT_CODE       EQU 0C1H
    HIGHCOUNT_CODE      EQU 0C2H
    DATA_CODE           EQU 0DDH
;
;/\  ~~mda(001) ----------------------------------------------------------
