Assembly Language Help (alang.hlp) (Table of Contents; Topic list)
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
                                    -♦-