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
                BYTE rows
        ABh     set virtual screen width
                BYTE columns
        ACh-AEh unused
        AFh     ???
                BYTE ??? (ANDed with current value of something)
        B0h     move logical cursor down
                BYTE #rows (signed, negative values move up)
        B1h     move logical cursor right
                BYTE #cols (signed, negative values move left)
        B2h     shift top edge of scrolling region
                BYTE #rows (signed)
        B3h     shift left edge of scrolling region
                BYTE #cols (signed)
        B4h     shift window down
                BYTE #lines (signed)
        B5h     shift 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
                BYTE #rows to increase (signed)
        BBh     adjust virtual screen width
                BYTE #cols to increase (signed)
        BCh-BFh 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 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
                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)
        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     clear ???
        CFh     set ???
        D0h     turn on ??? (default)
        D1h     turn off ???
        D2h     turn on ???
        D3h     turn off ??? (default)
        D4h     window is visible
        D5h     window is hidden
        D6h     window has frame
        D7h     window unframed
        D8h     read characters from window (default)
        D9h     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
                BYTE number of times
        E1h     end of commands to repeat, start repeating them
        E2h     set color
                BYTE color
        E3h     clear virtual screen
        E4h     redraw window
        E5h     select menu style
                BYTE style
                   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 goes in new window
                            = 01 panel uses existing window
                   bit 5 = 1 create new keyboard in field mode
                   bit 4 = 1 make newly-created keyboard active
                   bits 3-0 unused ???
        E6h     create new window  and perform rest of manipulations
                in new window
                BYTE number of rows
                BYTE number of columns
                Return: DWORD object handle returned on stack at end
        E7h     unused
        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 bit flags???
                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
        EDh     set logical attributes for window frame
                BYTE bit flags???
                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 bit flags???
                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
                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 specific input field
                BYTE field number (1-N)
        F5h     change field table entry
                BYTE field number
                7-8 BYTEs field table entry (see FFh below)
        F6h     set field type
                BYTE field number
                BYTE type
        F7h     ???
                N BYTES (one for each field???)
        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
                BYTE screen behavior bits
                   bit 7  ???
                   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, menu fields return ' ' rather than
                          'Y' or 'N'
                   bit 2  ???
                   bits 0,1 = 00 no   data   returned   on  read  of
                                 keyboard
                              01 data  returned  as array  of  chars
                                 containing   all    fields   packed
                                 together,    with    menu    fields
                                 represented by the character 'Y' if
                                 selected and 'N' if not selected
                              10 data  returned  as  variable-length
                                 records for all fields
                              11 data  returned  as  variable-length
                                 records for the  fields  which were
                                 modified
                BYTE field  in  which  cursor  was  when  entry  was
                     terminated (updated by DESQview)
                BYTE field  in  which   mouse  was  when  entry  was
                     terminated (updated by DESQview)
                BYTE color  of field  currently  pointed  to  during
                     entry
                BYTE color of input 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 FCh above)
                the field table entries, one for each field
                    BYTE start row    \
                    BYTE start column  \ if menu selection and start
                    BYTE end row       / is to right or below end,
                    BYTE end column   /  select from kbd only
                    BYTE field type
                       bits 7,6 = 00 non-entry field
                                  01 echos keystrokes input  to make
                                     menu selection
                                  10 fill-in field
                                  11 menu selection
                       bit 5  ???
                       bit 4  ???
                       bit 3  ???
                       bit 2  ???
                       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, beep when field is 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  ???
                             bit 1  ???
                             bit 0  ???

                         if  type  is  menu  selection, 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 for menu item,  color of field after cursor
                         or mouse passes through it
                    BYTE second key for activating menu selection if
                         field type is C0h (0  =  only  single key).
                         This byte  is  present  if  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.


Copyright © 1985 to 2022 Beta Systems                            Last modified: Wednesday, January 05, 2022 .