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

190 lines
8.7 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 ;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) ----------------------------------------------------------