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

223 lines
12 KiB
NASM
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.

;/*
; * Microsoft Confidential
; * Copyright (C) Microsoft Corporation 1988 - 1991
; * All Rights Reserved.
; */
PAGE ,132 ;AN000;
TITLE DOS - GRAPHICS Command - Common modules ;AN000;
.xlist ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000;
;; DOS - GRAPHICS Command
;;
;; ;AN000;
;; File Name: GRPATTRN.ASM ;AN000;
;; ---------- ;AN000;
;; ;AN000;
;; Description: ;AN000;
;; ------------ ;AN000;
;; This file contains the grey patterns used by PRT_BW_APA for printing ;AN000;
;; on a Black and White printer. ;AN000;
;; ;AN000;
;; Documentation Reference: ;AN000;
;; ------------------------ ;AN000;
;; OASIS High Level Design ;AN000;
;; OASIS GRAPHICS I1 Overview ;AN000;
;; ;AN000;
;; Procedures Contained in This File: ;AN000;
;; ---------------------------------- ;AN000;
;; none ;AN000;
;; ;AN000;
;; Include Files Required: ;AN000;
;; ----------------------- ;AN000;
;; GRPATTRN.STR - Structures for patterns. ;AN000;
;; ;AN000;
;; ;AN000;
;; External Procedure References: ;AN000;
;; ------------------------------ ;AN000;
;; ;AN000;
;; Called by PRT_BW_APA from file GRBWPRT.ASM ;AN000;
;; ;AN000;
;; Linkage Instructions: ;AN000;
;; -------------------- ;AN000;
;; ;AN000;
;; Change History: ;AN000;
;; --------------- ;AN000;
;; ;AN000;
;; ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000;
.list ;AN000;
CODE SEGMENT PUBLIC 'CODE' ;AN000;
ASSUME CS:CODE,DS:CODE ;AN000;
INCLUDE GRPATTRN.STR ;AN000;
;AN000;
PUBLIC TAB_DIRECTORY ;AN000;
PUBLIC TAB_DIR_NB_ENTRIES ;AN000;
PUBLIC PAT_4X2 ;AN000;
PUBLIC PAT_4X4 ;AN000;
PUBLIC PAT_6X2 ;AN000;
PUBLIC PAT_8X2 ;AN000;
PUBLIC PAT_6X4 ;AN000;
PUBLIC PAT_8X4 ;AN000;
PUBLIC PAT_8X6 ;AN000;
;AN000;
;-------------------------------------------------------------------------------;AN000;
; ;AN000;
; PATTERN DIRECTORY: ;AN000;
; ;AN000;
;-------------------------------------------------------------------------------;AN000;
TAB_DIR_NB_ENTRIES DB 7 ;AN000;
TAB_DIRECTORY LABEL BYTE ;AN000;
; ENTRY = <OFFSET PATTERN TABLE, TABLE SIZE, BOX_W, BOX_H, ;AN000;
; NUNBER OF PATTERNS(INTENSITIES) > ;AN000;
TAB_ENTRY <OFFSET PAT_4X2,-1,40,2,1,8 > ;AN000;
TAB_ENTRY <OFFSET PAT_4X4,-1,40,2,2,8 > ;AN000;
TAB_ENTRY <OFFSET PAT_6X2,-1,70,3,1,10> ;AN000;
TAB_ENTRY <OFFSET PAT_8X2,-1,108,4,1,12> ;AN000;
TAB_ENTRY <OFFSET PAT_6X4,-1,119,3,2,17> ;AN000;
TAB_ENTRY <OFFSET PAT_8X4,-1,162,4,2,18> ;AN000;
TAB_ENTRY <OFFSET PAT_8X6,-1,171,4,3,19> ;AN000;
;-------------------------------------------------------------------------------;AN000;
; ;AN000;
; 4X2 GREY PATTERNS: ;AN000;
; ;AN000;
;-------------------------------------------------------------------------------;AN000;
PAT_4X2 LABEL BYTE ;AN000;
; PATTERN=<MAXIMUM INTENSITY, 1ST COLUMN (top is left bit), 2ND, 3RD, 4TH > ;AN000;
PAT_4X2_STR < 5,11B,11B,11B,11B> ;AN000;
PAT_4X2_STR <13,11B,10B,01B,11B> ;AN000;
PAT_4X2_STR <20,10B,11B,01B,10B> ;AN000;
PAT_4X2_STR <28,10B,01B,01B,10B> ;AN000;
PAT_4X2_STR <36,10B,00B,01B,10B> ;AN000;
PAT_4X2_STR <47,10B,00B,01B,00B> ;AN000;
PAT_4X2_STR <58,10B,00B,00B,00B> ;AN000;
PAT_4X2_STR <63,00B,00B,00B,00B> ;AN000;
;AN000;
;-------------------------------------------------------------------------------;AN000;
; ;AN000;
; 4X4 GREY PATTERNS: ;AN000;
; ;AN000;
;-------------------------------------------------------------------------------;AN000;
PAT_4X4 LABEL BYTE ;AN000;
; PATTERN=<MAXIMUM INTENSITY, 1ST COLUMN (top is left bit), 2ND, 3RD, 4TH > ;AN000;
PAT_4X4_STR < 5,1111B,1111B,1111B,1111B> ;AN000;
PAT_4X4_STR <13,1111B,1010B,0101B,1111B> ;AN000;
PAT_4X4_STR <20,1010B,1111B,0101B,1010B> ;AN000;
PAT_4X4_STR <28,1010B,0101B,0101B,1010B> ;AN000;
PAT_4X4_STR <36,1010B,0000B,0101B,1010B> ;AN000;
PAT_4X4_STR <47,1010B,0000B,0101B,0000B> ;AN000;
PAT_4X4_STR <58,1010B,0000B,0000B,0000B> ;AN000;
PAT_4X4_STR <63,0000B,0000B,0000B,0000B> ;AN000;
;AN000;
;-------------------------------------------------------------------------------;AN000;
; ;AN000;
; 6X2 GREY PATTERNS: ;AN000;
; ;AN000;
;-------------------------------------------------------------------------------;AN000;
PAT_6X2 LABEL BYTE ;AN000;
PAT_6X2_STR < 3,11B,11B,11B,11B,11B,11B> ;AN000;
PAT_6X2_STR < 8,11B,11B,10B,11B,11B,01B> ;AN000;
PAT_6X2_STR <15,10B,01B,10B,11B,10B,01B> ;AN000;
PAT_6X2_STR <21,01B,10B,10B,01B,10B,10B> ;AN000;
PAT_6X2_STR <28,01B,10B,10B,01B,10B,00B> ;AN000;
PAT_6X2_STR <36,10B,01B,00B,10B,01B,00B> ;AN000;
PAT_6X2_STR <45,00B,10B,00B,01B,00B,10B> ;AN000;
PAT_6X2_STR <53,10B,00B,00B,01B,00B,00B> ;AN000;
PAT_6X2_STR <60,10B,00B,00B,00B,00B,00B> ;AN000;
PAT_6X2_STR <63,00B,00B,00B,00B,00B,00B> ;AN000;
;AN000;
;-------------------------------------------------------------------------------;AN000;
; ;AN000;
; 8X2 GREY PATTERNS: ;AN000;
; ;AN000;
;-------------------------------------------------------------------------------;AN000;
PAT_8X2 LABEL BYTE ;AN000;
PAT_8X2_STR < 3,11B,11B,11B,11B,11B,11B,11B,11B> ;AN000;
PAT_8X2_STR < 9,11B,11B,10B,11B,11B,10B,11B,01B> ;AN000;
PAT_8X2_STR <15,10B,11B,01B,11B,10B,11B,00B,11B> ;AN000;
PAT_8X2_STR <21,10B,01B,11B,10B,01B,10B,01B,10B> ;AN000;
PAT_8X2_STR <27,10B,01B,01B,10B,10B,01B,01B,10B> ;AN000;
PAT_8X2_STR <33,00B,10B,01B,10B,00B,01B,10B,01B> ;AN000;
PAT_8X2_STR <39,10B,00B,10B,01B,00B,10B,00B,01B> ;AN000;
PAT_8X2_STR <45,10B,00B,01B,00B,10B,00B,01B,00B> ;AN000;
PAT_8X2_STR <51,10B,00B,00B,01B,00B,00B,10B,00B> ;AN000;
PAT_8X2_STR <56,10B,00B,00B,00B,01B,00B,00B,00B> ;AN000;
PAT_8X2_STR <61,10B,00B,00B,00B,00B,00B,00B,00B> ;AN000;
PAT_8X2_STR <63,00B,00B,00B,00B,00B,00B,00B,00B> ;AN000;
;AN000;
;-------------------------------------------------------------------------------;AN000;
; ;AN000;
; 6X4 GREY PATTERNS: ;AN000;
; ;AN000;
;-------------------------------------------------------------------------------;AN000;
PAT_6X4 LABEL BYTE ;AN000;
PAT_6X4_STR < 3,1111B,1111B,1111B,1111B,1111B,1111B> ;AN000;
PAT_6X4_STR < 8,1111B,1111B,1101B,1111B,1111B,1011B> ;AN000;
PAT_6X4_STR <13,1111B,1111B,0101B,1011B,1111B,1010B> ;AN000;
PAT_6X4_STR <16,0101B,1111B,0101B,1010B,0101B,1010B> ;AN000;
PAT_6X4_STR <20,0101B,1110B,0101B,1010B,0101B,1010B> ;AN000;
PAT_6X4_STR <24,1010B,0101B,1010B,0101B,0010B,0101B> ;AN000;
PAT_6X4_STR <28,1010B,0101B,1000B,0101B,0010B,0101B> ;AN000;
PAT_6X4_STR <32,1010B,0101B,1000B,1001B,0010B,0100B> ;AN000;
PAT_6X4_STR <37,1010B,0000B,1010B,0101B,0000B,0101B> ;AN000;
PAT_6X4_STR <40,0100B,0001B,1000B,0010B,1000B,0101B> ;AN000;
PAT_6X4_STR <45,0100B,0010B,1000B,0010B,0100B,0001B> ;AN000;
PAT_6X4_STR <49,1010B,0000B,1000B,0101B,0000B,0000B> ;AN000;
PAT_6X4_STR <52,1010B,0000B,0000B,0101B,0000B,0000B> ;AN000;
PAT_6X4_STR <55,0000B,1000B,0000B,0010B,0000B,0100B> ;AN000;
PAT_6X4_STR <58,1000B,0000B,0000B,0010B,0000B,0000B> ;AN000;
PAT_6X4_STR <61,1000B,0000B,0000B,0000B,0000B,0000B> ;AN000;
PAT_6X4_STR <63,0000B,0000B,0000B,0000B,0000B,0000B> ;AN000;
;AN000;
;-------------------------------------------------------------------------------;AN000;
; ;AN000;
; 8X4 GREY PATTERNS: ;AN000;
; ;AN000;
;-------------------------------------------------------------------------------;AN000;
PAT_8X4 LABEL BYTE ;AN000;
PAT_8X4_STR < 1,1111B,1111B,1111B,1111B,1111B,1111B,1111B,1111B> ;AN000;
PAT_8X4_STR < 4,1010B,1111B,1111B,1111B,1010B,1111B,1111B,1111B> ;AN000;
PAT_8X4_STR < 7,1010B,1111B,1101B,1111B,1010B,1111B,0111B,1111B> ;AN000;
PAT_8X4_STR <10,1010B,0111B,1110B,0101B,1010B,1101B,1011B,0101B> ;AN000;
PAT_8X4_STR <13,1001B,1110B,0110B,1001B,0110B,1011B,1001B,0110B> ;AN000;
PAT_8X4_STR <18,1010B,0101B,1110B,0101B,1010B,0101B,1010B,0101B> ;AN000;
PAT_8X4_STR <24,1010B,0101B,0101B,1010B,1010B,0101B,0101B,1010B> ;AN000;
PAT_8X4_STR <30,1010B,0101B,1010B,0000B,0101B,1010B,0101B,0000B> ;AN000;
PAT_8X4_STR <36,1010B,0000B,1010B,0101B,0000B,1010B,0000B,0101B> ;AN000;
PAT_8X4_STR <42,1010B,0000B,0101B,0000B,1010B,0000B,0101B,0000B> ;AN000;
PAT_8X4_STR <46,0010B,1000B,0000B,0010B,1000B,0001B,0100B,0001B> ;AN000;
PAT_8X4_STR <48,1010B,0000B,0101B,0000B,0000B,1010B,0000B,0000B> ;AN000;
PAT_8X4_STR <50,0010B,0000B,1000B,0010B,0000B,0100B,0001B,0000B> ;AN000;
PAT_8X4_STR <53,1010B,0000B,0000B,0000B,0101B,0000B,0000B,0000B> ;AN000;
PAT_8X4_STR <56,0000B,1000B,0000B,0000B,0100B,0000B,0000B,0010B> ;AN000;
PAT_8X4_STR <59,1000B,0000B,0000B,0000B,0010B,0000B,0000B,0000B> ;AN000;
PAT_8X4_STR <62,1000B,0000B,0000B,0000B,0000B,0000B,0000B,0000B> ;AN000;
PAT_8X4_STR <63,0000B,0000B,0000B,0000B,0000B,0000B,0000B,0000B> ;AN000;
;AN000;
;-------------------------------------------------------------------------------;AN000;
; ;AN000;
; 8X6 GREY PATTERNS: ;AN000;
; ;AN000;
;-------------------------------------------------------------------------------;AN000;
PAT_8X6 LABEL BYTE ;AN000;
PAT_8X6_STR < 1,111111B,111111B,111111B,111111B,111111B,111111B,111111B,111111B>;AN000;
PAT_8X6_STR < 4,011011B,111111B,111111B,111111B,110110B,111111B,111111B,111111B>;AN000;
PAT_8X6_STR < 7,101010B,011111B,111111B,110101B,101010B,011111B,111111B,110101B>;AN000;
PAT_8X6_STR <10,101010B,010101B,111111B,101010B,010101B,101010B,111111B,010101B>;AN000;
PAT_8X6_STR <13,011011B,100100B,111011B,100100B,011011B,100100B,011111B,100100B>;AN000;
PAT_8X6_STR <17,101010B,010101B,101010B,010101B,101010B,010101B,101010B,010101B>;AN000;
PAT_8X6_STR <21,101010B,010101B,101010B,010101B,001010B,010101B,101010B,010101B>;AN000;
PAT_8X6_STR <25,010100B,101010B,010101B,001010B,100100B,010001B,101110B,000001B>;AN000;
PAT_8X6_STR <29,000000B,010101B,101010B,010101B,000000B,101010B,010101B,101010B>;AN000;
PAT_8X6_STR <33,010010B,100101B,011000B,100010B,001101B,100000B,001010B,100100B>;AN000;
PAT_8X6_STR <37,100100B,001010B,010000B,001001B,100010B,001101B,010000B,001010B>;AN000;
PAT_8X6_STR <41,100000B,010010B,100100B,000010B,101000B,000101B,010000B,001010B>;AN000;
PAT_8X6_STR <45,100010B,001000B,000010B,100000B,010100B,000001B,100100B,000000B>;AN000;
PAT_8X6_STR <49,101000B,000001B,000100B,010000B,000010B,100000B,001000B,000101B>;AN000;
PAT_8X6_STR <53,101010B,000000B,000000B,000000B,010101B,000000B,000000B,000000B>;AN000;
PAT_8X6_STR <57,000000B,010000B,000000B,000100B,000000B,100000B,000000B,000010B>;AN000;
PAT_8X6_STR <60,100000B,000000B,000000B,000000B,000100B,000000B,000000B,000000B>;AN000;
PAT_8X6_STR <62,100000B,000000B,000000B,000000B,000000B,000000B,000000B,000000B>;AN000;
PAT_8X6_STR <63,000000B,000000B,000000B,000000B,000000B,000000B,000000B,000000B>;AN000;
CODE ENDS ;AN000;
END ;AN000;