Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Ralf Brown's Interrupt List (Part 1,2) - mode 00h (set or display values) window stream http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
MODE 00h (set or display values) "WINDOW STREAM"
    Opcodes:args
        00h  display 20h blanks with the default attribute
        01h-1Fh display OPCODE blanks with the default attribute
        20h  display char with default attribute 20h times
             BYTE char to repeat
        21h-3Fh display char with default attribute OPCODE-20h times
             BYTE char to repeat
        40h  display 20h blanks with specified attribute
             BYTE attribute of blanks
        41h-5Fh display OPCODE-40h blanks with specified attribute
             BYTE attribute of blanks
        60h  display next 20h characters
             20h BYTES characters to display
        61h-7Fh display next OPCODE-60h characters
             N BYTES characters to display
        80h-87h  display N blanks with default attribute
             BYTE low 8 bits of 11-bit count (high 3 in low 3 bits of OPCODE)
                      [000h means 800h]
        88h-8Fh display N copies of the character
             BYTE low 8 bits of 11-bit count (high 3 in low 3 bits of OPCODE)
                      [000h means 800h]
             BYTE character to repeat
        90h-97h  display N blanks with specified attribute
             BYTE low 8 bits of 11-bit length (high 3 in low 3 bits of OPCODE)
                      [000h means 800h]
             BYTE attribute
        98h-9FH  display string at logical cursor pos
             BYTE low 8 bits of 11-bit length (high 3 in low 3 bits of OPCODE)
                      [000h means 800h]
             N BYTES string to display
        A0h  set logical cursor row
             BYTE row number (0 is top)
        A1h  set logical cursor column
             BYTE column number (0 is leftmost)
        A2h  set top edge of scrolling region
             BYTE row
        A3h  set left edge of scrolling region
             BYTE column
        A4h  set row of physical window position
             BYTE line
        A5h  set column of physical window position
             BYTE column
        A6h  set height of physical window
             BYTE #rows
        A7h  set width of physical window
             BYTE #columns
        A8h  set viewport row
             BYTE row
        A9h  set viewport column
             BYTE column
        AAh  set virtual screen height [contents of window unpredictable after]
             BYTE rows
        ABh  set virtual screen width [contents of window unpredictable after]
             BYTE columns
        ACh-AEh  unused
        AFh  set compatible/preferred video modes
             BYTE compatibility/preference mask
                bit 7   compatible with monochrome
                bit 6   compatible with color text, EGA/VGA graphics
                bit 5   compatible with medium-resolution CGA graphics
                bit 4   compatible with high-resolution CGA graphics
                bit 3   prefer monochrome
                bit 2   prefer color text, EGA/VGA graphics
                bit 1   prefer medium-resolution CGA graphics
                bit 0   prefer high-resolution CGA graphics
        B0h  move logical cursor down
             BYTE #rows (signed, negative values move up)
                        [if #rows=0 and hardware cursor owner, update hw crsr]
        B1h  move logical cursor right
             BYTE #cols (signed, negative values move left)
                        [if #cols=0 and hardware cursor owner, update hw crsr]
        B2h  shift top edge of scrolling region
             BYTE #rows (signed)
        B3h  shift left edge of scrolling region
             BYTE #cols (signed)
        B4h  shift physical window down
             BYTE #lines (signed)
        B5h  shift physical window right
             BYTE #columns (signed)
        B6h  expand physical window vertically
             BYTE #lines (signed)
        B7h  expand physical window horizontally
             BYTE #columns (signed)
        B8h  adjust viewport row
             BYTE #rows (signed)
        B9h  adjust viewport column
             BYTE #columns (signed)
        BAh  adjust virtual screen height [contents of window unpredict after]
             BYTE #rows to increase (signed)
        BBh  adjust virtual screen width [contents of window unpredictbl after]
             BYTE #cols to increase (signed)
        BCh-BFh  reserved (currently unused)
        C0h  set logical cursor position
             BYTE row number (0 is top border)
             BYTE column number (0 is left border)
        C1h  set top left corner of scrolling region
             BYTE row
             BYTE column
        C2h  set physical window pos
             BYTE upper left row (no top border if 0)
             BYTE upper left column (no left border if 0)
        C3h  set current window size
             BYTE #rows
             BYTE #cols
        C4h  set upper left corner of viewport (portion of virtual screen
             displayed in window)
             BYTE row
             BYTE column
        C5h  set size of virtual screen [contents unpredictable afterwards]
             BYTE #rows
             BYTE #cols
        C6h  unused
        C7h  unused
        C8h  set logical cursor relative to current position
             BYTE number of rows to move down (signed)
             BYTE number of columns to move right (signed)
                  [if #rows=#cols=0 and hardware cursor owner, update hw cursr]
        C9h  shift top left corner of scrolling region
             BYTE #rows (signed)
             BYTE #cols (signed)
        CAh  set window pos relative to current position
             BYTE number of rows to shift down (signed)
             BYTE number of columns to shift right (signed)
        CBh  set window size relative to current size
             BYTE number of rows to expand (signed)
             BYTE number of cols to expand (signed)
        CCh  shift viewport relative to current position
             BYTE rows to shift (signed)
             BYTE cols to shift (signed)
        CDh  resize virtual screen
             BYTE #rows to expand (signed)
             BYTE #cols to expand (signed)
        CEh  scroll text when using E8h-EBh/F8h-FBh opcodes (default)
        CFh  scroll attributes when using  E8h-EBh/F8h-FBh opcodes
        D0h  allow window frame to extend beyond screen
        D1h  always display a complete frame, even if window extends beyond
             edge of screen
        D2h  allow DV to change logical colors on video mode switch (default)
        D3h  application changes logical attributes
        D4h  window is visible [must redraw to actually make visible]
        D5h  window is hidden [must redraw to actually remove]
        D6h  window has frame (default)
        D7h  window unframed [must redraw to actually remove frame]
        D8h  READ/READN will read characters from window (default)
        D9h  READ/READN will read attributes from window
        DAh  use logical attributes, which may be remapped
                attributes
                   1 normal text
                   2 highlighted normal text
                   3 help text
                   4 highlighted help text
                   5 error message
                   6 highlighted error message
                   7 emphasized text
                   8 marked text
                   9-16 are reverse video versions of 1-8
        DBh  use physical attributes for characters
        DCh  enable special actions for control characters (default)
        DDh  disable special control char handling, all chars displayable by
             BIOS TTY call
        DEh  write both character and attribute (default)
        DFh  write character only, leave attribute untouched
        E0h  repeat following commands through E1h opcode
             BYTE number of times to repeat (00h means 256 times)
        E1h  end of commands to repeat, start repeating them
        E2h  set current output color
             BYTE color
        E3h  clear virtual screen from scroll origin to end using current color
        E4h  redraw window
        E5h  select menu style
             BYTE style (normally 18h)
                bits 5,4 = 01 use two-letter menu entries for remainder of
                  this stream
        E5h  (panel file only)
             BYTE modifier
                bits 7,6 = 11 panel stream creates new window
                         = 10 panel defines new field table for existing window
                         = 01 panel stream uses existing window & field table
                bit 5 = 1 stream contains a field table (create kyboard object)
                bit 4 = 1 stream defines input fields (create keyboard object)
                bit 3 = 1 stream defines select fields but not input fields
                bit 2 = 1 stream defines exclusive input window (DV 2.2)
                bit 1 reserved
                bit 0 reserved
        E6h  create new window and perform rest of manipulations in new window
             BYTE number of rows
             BYTE number of columns
             Return: DWORD object handle of new window returned on stack at end
        E7h  no operation
        E8h  scroll area up (top left corner defined by opcode C1h)
             BYTE height
             BYTE width
        E9h  scroll area down (top left corner defined by opcode C1h)
             BYTE height
             BYTE width
        EAh  scroll area left (top left corner defined by opcode C1h)
             BYTE height
             BYTE width
        EBh  scroll area right (top left corner defined by opcode C1h)
             BYTE height
             BYTE width
        ECh  set logical attributes for window contents
             BYTE video modes command applies to
                bit 7   monochrome
                bit 6   color text, EGA/VGA graphics
                bit 5   medium-resolution CGA graphics
                bit 4   high-resolution CGA graphics
             BYTE which attributes to set
                bit 7  if set, copy single following byte to indicated attribs
                bits 4-6  # of first attribute to change - 1
                bits 0-3  # of consecutive attributes to change
             N BYTEs new attributes
        EDh  set logical attributes for window frame
             BYTE video modes command applies to (see opcode ECh)
             BYTE which attributes to set
                bit 7  if set, copy single following byte to indicated attrs
                bits 4-6  # of first attribute to change - 1
                bits 0-3  # of consecutive attributes to change
             N BYTEs new attributes
                  attributes
                       1 = top left corner
                       2 = top right corner
                       3 = bottom left corner
                       4 = bottom right corner
                       5 = top edge
                       6 = bottom edge
                       7 = left edge
                       8 = right edge
        EEh  set characters for window frame
             BYTE video modes command applies to (see opcode ECh)
             BYTE which characters to set
                bit 7  if set, copy single following byte to indicated chars
                bits 4-6  # of first char to change - 1
                bits 0-3  # of consecutive chars to change
             N BYTEs new chars (same relative position as attributes above)
        EFh  set window name
             BYTE length of name (should be in range 0 to logical screen width)
             N BYTEs name
        F0h  clear input field to blanks
             BYTE field number
        F1h  fill input field with character
             BYTE field number
             BYTE char
        F2h  set color of input field
             BYTE field number (1-N)
             BYTE attribute
        F3h  set initial contents of input field
             BYTE field number (1-N)
             N BYTEs enough chars to exactly fill field as defined by op FFh
        F4h  position cursor to start of specific input field
             BYTE field number (1-N)
        F5h  change field table entry
             BYTE field number
             7-8 BYTEs field table entry (see opcode FFh below)
        F6h  set field type
             BYTE field number
             BYTE type
                        00h inactive
                        40h output field
                        80h input field
                        C0h deselected field
                        C2h selected field
        F7h  "broadcast write"  write data to fields with program output bit
                set in field table entry, in field number order
             N BYTEs (total length of all program output fields)
        F8h  scroll field up a line
             BYTE field number
        F9h  scroll field down a line
             BYTE field number
        FAh  scroll field left
             BYTE field number
        FBh  scroll field right
             BYTE field number
        FCh  set field table header
             BYTE number of fields (must be <= existing number of fields)
             BYTE screen behavior bits
                bit 7  reserved
                bit 6  set if menu items may be selected via keyboard
                bit 5  set if left mouse button may terminate entry
                bit 4  set if right mouse button may terminate entry
                bit 3  if set, select fields return contents or blanks rather
                        than 'Y' or 'N'
                bit 2  if set, modified bits reset on return to application
                bits 0,1 = 00 no data returned on read of keyboard
                           01 data returned as array of chars containing
                                all fields packed together, with no field
                                numbers
                           10 data returned as numbered variable-length
                                records for all fields
                           11 data returned as numbered variable-length
                                records for the fields which were modified
             BYTE current input field (updated by DESQview)
             BYTE current select field (updated by DESQview)
             BYTE attribute for select fields when they are pointed at
             BYTE attribute for select fields which have been selected
        FDh  reset modified bit for all fields
        FEh  reset selected and modified bits for all fields
        FFh  set up input fields
             6 BYTEs table header (see opcode FCh above)
             the field table entries, one for each field
                 BYTE start row    \
                 BYTE start column  \ if menu selection and start is to
                 BYTE end row       / right or below end, select from kbd only
                 BYTE end column   /
                 BYTE field type
                    bits 7,6 = 00 inactive (non-entry) field
                               01 echos keystrokes input to make menu selection
                               10 fill-in field
                               11 select field
                    bit 5  field can be filled by broadcast write (F7h opcode)
                    bit 4  reserved
                    bit 3  reserved
                    bit 2  reserved
                    bit 1  set if field selected
                    bit 0  set if field modified
                 BYTE modifier
                      if type is fill-in, then bit flags to determine behavior
                          bit 7  if set, automatically enter CR when field full
                          bit 6  move to next field when current field is full
                          bit 5  if set, enter text from right end (for numbers)
                          bit 4  if set, force input to uppercase
                          bit 3  if set, clear old contents on first keystroke
                          bit 2  if set, input returned when cursor moves out
                                 of modified field (API level 2.02+)
                          bit 1  reserved
                          bit 0  reserved
                      if select field, first key to press to activate
                          00h if have to point-&-click or is an extended-ASCII
                              keystroke (only if two-key menus enabled)
                 BYTE (select field only) normal color of field
                 BYTE second key for select field.  This byte is present iff
                      two-letter menu entries selected with opcode E5h, and
                      in that case is present regardless of field type
             Note: DESQview uses and updates the actual copy of the information
               which is contained in the stream.  Thus this info must remain
               intact until after the data entry is complete.

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson