Assembly Language Help (alang.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
Int 21h Function 44h Subfunction 0Ch
◄Summary► ◄Up► ◄Contents► ◄Index► ◄Back►
────────────────────────────────────────────────────────────────────────────
If the minor code is 45h (Set Iteration Count) or 65h (Get
Iteration Count), the parameter block is simply a 2-byte buffer
containing or receiving the iteration count for the printer. This
call is valid only for printer drivers that support Output Until
Busy, and determines the number of times the device driver will
wait for the device to signal ready before returning from the
output call.
For MS-DOS version 3.3, the parameter block for minor codes 4Ah
(Select Code Page), 4Dh (End Code Page Preparation), or 6Ah (Query
Code Page) has the following format:
WORD 2 ; length of following data
WORD ? ; code page ID
For MS-DOS version 4.0, minor codes 4Ah and 6Ah also set or get
the double-byte character set (DBCS) lead byte table, and the
following format is used:
WORD (n+2)*2+1 ; length of following data
WORD ? ; code page ID
BYTE start, end ; DBCS lead byte range 1
.
.
.
BYTE start, end ; DBCS lead byte range n
BYTE 0, 0
The parameter block for minor code 4Ch (Start Code Page
Preparation) has the following format:
WORD 0 ; font type
; bit 0 = 0 downloaded
; = 1 cartridge
; bits 1-15 = reserved (0)
WORD (n+1)*2 ; length of remainder of
; parameter block
WORD n ; number of code pages in
; the following list
WORD ? ; code page 1
WORD ? ; code page 2
.
.
.
WORD ? ; code page n
The parameter block for minor code 6Bh (Query Prepare List) has
the following format, assuming n hardware code pages and m
prepared code pages (n <= 12, m <= 12):
WORD (n+m+2)*2 ; length of following data
WORD n ; number of hardware code pages
WORD ? ; hardware code page 1
WORD ? ; hardware code page 2
.
.
.
WORD ? ; hardware code page n
WORD m ; number of prepared code pages
WORD ? ; prepared code page 1
WORD ? ; prepared code page 2
.
.
.
WORD ? ; prepared code page m
After a minor code 4Ch (Start Code Page Preparation) call, the
data defining the code page font is written to the driver using
one or more calls to the IOCTL Write Control Data subfunction
(Interrupt 21h, Function 44h, Subfunction 03h). The format of the
data is device- and driver-specific. After the font data has been
written to the driver, a minor code 4Dh (End Code Page
Preparation) call must be issued. If no data is written to the
driver between the minor code 4Ch and 4Dh calls, the driver
interprets the newly prepared code pages as hardware code pages.
A special variation of the minor code 4Ch (Start Code Page
Preparation) call, called "Refresh," is required to actually load
the peripheral device with the prepared code pages. The refresh
operation is obtained by requesting minor code 4Ch with each code
page position in the parameter block set to -1, followed by an
immediate call for minor code 4Dh (End Code Page Preparation).
[Version 4.0+]
For minor codes 5Fh (Set Display Information) and 7Fh (Get Display
Information), the parameter block is formatted as follows:
BYTE 0 ; level (0 in MS-DOS 4.0)
BYTE 0 ; reserved (must be 0)
WORD 14 ; length of following data
WORD ? ; control flags
; bit 0 = 0 intensity
; = 1 blink
; bits 1-15 = reserved (0)
BYTE ? ; mode type (1 = text, 2 = APA)
BYTE 0 ; reserved (must be 0)
WORD ? ; colors
; 0 = monochrome compatible
; 1 = 2 colors
; 2 = 4 colors
; 4 = 16 colors
; 8 = 256 colors
WORD ? ; pixel columns
WORD ? ; pixel rows
WORD ? ; character columns
WORD ? ; character rows
-♦-