.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 ; Command line switches: ;AN000; REVERSE_SW EQU 1 ; /R ;AN000; BACKGROUND_SW EQU 2 ; /B ;AN000; ; ;AN000; ; HARDWARE_CONFIG DB ; 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 ; Type of printer attached ;AN000; COLOR EQU 1 ; ;AN000; BLACK_WHITE EQU 2 ; ;AN000; ; ;AN000; ; PRINT_OPTIONS DB ; ;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) ----------------------------------------------------------