╔═══════════════════════════════════════════════════════╗ 
                                                               
             E D I T O R    Q U I C K    R E F E R E N C E     
           ═════════════════════════════════════════════════   
         ╚═══════════════════════════════════════════════════════╝ 

                 ┌────────────────────────────────────────┐ 
                 │ <shft> F1  =  Toggle to regular window │ 
                 └────────────────────────────────────────┘ 

         <ctrl> ▲  =  scroll UP            <ctrl> ▼  = scroll DOWN 

          F3   = goto line number ...  


                            S u b j e c t s                  line number 
                          ═══════════════════                ─────────── 

      I.  Keystrokes    . . . . . . . . . . . . . . . . . . . . .   105 

         A. keystrokes which display characters                     133 

            regular characters                                      137 
            dingbats                                                165 
            diacriticals (accents)                                  208 
            other characters                                        248 
            line drawing characters                                 274 

         B. keystrokes which move the cursor or scroll text         316 

            keystokes which move the cursor                         320 
            keystrokes which scroll lines                           357 
            keystrokes which produce larger leaps                   367 
              of the cursor 

         C. keystrokes involving the highlight                      394 

            keystrokes which produce a highlight                    411 
            keystrokes which move highlighted material              440 
            keystrokes which delete highlighted material            451 
            keystrokes which perform arithmetic operations          471 
              on highlight material 
            keystrokes which change the color attributes            491 
              of highlighted material 
            using the highlight to draw boxes and lines             543 

         D. keystrokes for inserting, deleting and clearing         604 

            the insert key                                          608 
            the delete key                                          663 
            keystrokes for clearing                                 719 

         E. keystrokes for formatting text                          734 

            keystrokes for setting margins                          744 
            keystrokes for formatting                               783 

         F. keystrokes for setting and using tabs                   815 

         G. keystrokes for loading and storing files                850 

         H. keystrokes for changing windows                         936 

         I. the function keys                                       963 


     II.  The data buffers    . . . . . . . . . . . . . . . . . .  1083 

         A. the box buffer                                         1095 

         B. the line buffer                                        1141 

         C. the stream buffer                                      1215 


    III.  The environment     . . . . . . . . . . . . . . . . . .  1233 

         A. parameters of the environment                          1237 

         B. saving the state of the environment                    1325 

         C. exiting Dmuse                                          1445 

     IV.  Printing text from a window   . . . . . . . . . . . . .  1465 

         A. printer setup                                          1475 

         B. printer parameters                                     1490 

         C. the PrintScreen key                                    1518 

      V.  Loading and storing files     . . . . . . . . . . . . .  1536 

         A. Loading a file to a window                             1541 

         B. Storing the contents of a window to a file             1607 



    ────────────────────────────────────────────────────────────────── 


                      ┌─────────────────────────┐ 
                      │   K E Y S T R O K E S   │ 
                      └─────────────────────────┘ 

          The Dmuse Editor is a command based, text oriented user 
      interface controlled by keystokes from the keyboard.  A 
      keystroke is defined as the pressing of some "action key" 
      while holding down some combination of the "modifier keys" 
      (shft, ctrl and alt).  Keystrokes may be divided into two 
      types: those which result in a character being written to 
      the screen, and those which control the editor.  Some 
      keystokes such as "t", "a", and "s", which normally write a 
      character, will instead do something to the environment, if 
      a portion of the screen is highlighted with a box.  These 
      exceptions are not discussed in this section.


          The Dmuse Editor uses most of the IBM PC compatable 
      characters.  Some of the math charcters have been redefined 
      in order to complete the set of vowels with diacritical marks 
      (accents, etc.) and to represent other European letters.  For 
      example, there is no way to get an Ê or an Ø with the IBM 
      set.  Also a few of the dingbats (charcters between 1 and 31) 
      have been redefined.  The Dmuse printer driver has been 
      written to accommodate most of these re-definitions, so your 
      hardcopy printout will usually match what you see on the 
      screen.  

                ┌─────────────────────────────────────┐ 
                │ Keystrokes which display characters │ 
                └─────────────────────────────────────┘ 


      1. Regular keyboard characters (Total = 95 characters) 

         ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ 
         │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ 
         └───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┐ 
               │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │ 
               └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┘ 
                 │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ 
                 └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ 
                   │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ 
                   └───┴─┬─┴───┴───┴───┴───┴───┴───┴─┬─┴───┘ 
                         │       S  P  A  C  E       │ 
                         └───────────────────────────┘ 

               
         ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ 
         │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ 
         └───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┐ 
               │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │ 
               └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┘ 
                 │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ 
         ┌────┐  └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ 
         │Shft│    │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ 
         └────┘    └───┴─┬─┴───┴───┴───┴───┴───┴───┴─┬─┴───┘ 
                         │       S  P  A  C  E       │ 
                         └───────────────────────────┘ 


      2. Dingbats   (Total = 26 characters) 

          Holding down the shft and ctrl modifiers, the following 
          keystrokes will yeild the corresponding dingbats.  

          stroke:    z x c v b n m   a s d f g h j k l  q w e r t y u i o p 

          dingbat:   ⌂ ↑ ♮ ╱ ♭ ← →   ♯ ▁ ♦ ⎝ ⎞ ⎠ ▼ ©    ◄ ╲ ⎛ √ ¶ ↓ § ▲ ☼ ► 

         ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ 
         │   │   │   │   │   │   │   │   │   │   │   │   │   │ 
         └───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┐ 
               │q │w │e │r │t │y │u §│i │o │p │   │   │   │ 
               └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┘ 
                 │a │s │d│f │g │h │j │k ©│l  │   │   │ 
         ┌────┐  └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ 
         │Shft│    │z │x │c │v │b │n │m │   │   │   │ 
         ├────┤    └───┴─┬─┴───┴───┴───┴───┴───┴───┴─┬─┴───┘ 
         │Ctrl│          │                           │ 
         └────┘          └───────────────────────────┘ 


           =  q      =  n      =  e      =  w      =  a      =  z 
           =  i      =  x      =  f      =  v      =  b    ©  =  k 
           =  p      =  m      =  g      =  r      =  c      =  t 
           =  j      =  y      =  h      =  s      =  d    §  =  u 
                                                                  =  o 

          <shft><ctrl>L will access the   glyph.  

          The printer will not print           and ♮.  

          The digbats        and   were designed for displaying 
          advanced mathematical notation.  Examples: 

                                   ▁▁▁▁▁▁▁▁▁▁▁▁▁             oo 
                                 ▁ ╱⎛   2      ⎞            ⎛      1 
                      ⎛  - b +/-  ╲╱⎝(b)  - 4ac⎠   ⎞   y =  │ ⎛ ▁▁▁▁▁▁▁▁ ⎞ dx
                  x = │ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁  │        ⎠ ⎝  ▁▁▁▁▁▁▁ ⎠ 
                      ⎝           2a               ⎠       0    √ 1 - x 



      3. Characters with diacritical marks and other modifications 
              (Total = 59 characters) 

          There are two ways to put a diacritical mark over a letter: 

          (1) Directly after typing the letter, you can type <alt>(#) 
                where (#) is a digit from 1 to 9.  
          (2) Any time after typing the letter, you can position the 
               cursor under the letter and type <alt>(#) where (#) is 
               a digit from 1 to 9.  

          The chart below shows the conbinations of letters and numbers 
          which produce alterations to letters, and what that alteration 
          is.  Note that <alt>6 always returns a letter to its unaltered 
          state.  
                                                           
                                      Letters                               

           Command   Aa   Cc   Ee   Ii   Nn   Oo   Rr   Ss   Uu   Yy 
                   ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐ 
           <alt> 1 │    │    │    │    │ Ññ  Õõ │    │    │    │    │ 
                   ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤ 
           <alt> 2 │    │ Çç │    │    │    │ Øø │    │  ß │    │    │ 
                   ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤ 
           <alt> 3 │ Ää │    │ Ëë  Ïï │    │ Öö │    │    │ Üü  Ÿÿ │ 
                   ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤ 
           <alt> 4 │ Åå │    │    │    │    │    │    │    │    │    │ 
                   ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤ 
           <alt> 5 │    │    │    │    │    │    │ Řř  Šš │    │    │ 
                   ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤ 
           <alt> 6 │ Aa  Cc  Ee  Ii  Nn  Oo  Rr  Ss  Uu  Yy │ 
                   ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤ 
           <alt> 7 │ Áá │    │ éé  Íí │    │ Óó │    │    │ Úú  Ýy │ 
                   ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤ 
           <alt> 8 │ Àà │    │ Èè  Ìì │    │ Òò │    │    │ Ùù │    │ 
                   ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤ 
           <alt> 9 │ Ââ │    │ Êê  Îî │    │ Ôô │    │    │ Ûû │    │ 
                   └────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘ 



      4. Other characters    (Total = 30 characters) 

             Combination    Result         Combination    Result 
             ───────────    ──────         ───────────    ────── 
             <shft-alt> !     ¡              <alt> ,         
             <shft-alt> @     ¥              <alt> .         
             <shft-alt> #     £              <alt> l         
             <shft-alt> $     ¢              <alt> ;         
             <shft-alt> %     ƒ  florin      <alt> o         
             <shft-alt> ^     °  degree      <alt> p         
             <shft-alt> &     ½  1/4         <alt> [         
             <shft-alt> *     ¼  1/2         <alt> ]         
             <shft-alt> (                   <alt> -        ¬  logical not 
             <shft-alt> )       Tab         <alt> =          illogical 
             <shft-alt> _     (line feed) 
             <shft-alt> +     ±           
             <shft-alt> <     «              
             <shft-alt> >     »            
             <shft-alt> ?     ¿                 
             <shft-alt> i     æ  ae 
             <shft-alt> o     Æ  AE 
             <shft-alt> p       Pt 
             <shft-alt> [       square mark 
             <shft-alt> ]     ·  centered period 


      5. Line drawing characters  (Total = 40 characters) 
                                                            
          Dmuse provides an easy way to draw lines and boxes using 
          the box highlight.  None the less, It is useful to know 
          that any line drawing character can be accessed from the 
          keyboard using <alt>(letter) or <shft-alt>(letter) 
          combinations.  There is a pattern in the way the line 
          drawing characters are assigned to the keys.  


                       <alt>(letter)                    <alt>(letter) 
        Keyboard        Characters       Keyboard        Characters 
        ──────────      ──────────       ──────────      ────────── 
        q  w  e  r      ┌  ┬  ┐  ─       t  y  u  i      ╔  ╦  ╗  ═ 
                                                                   
         a  s  d  f     ├  ┼  ┤  │        g  h  j  k     ╠  ╬  ╣  ║ 
                                                                   
          z  x  c       └  ┴  ┘            b  n  m       ╚  ╩  ╝   


                    <shft-alt>(letter)               <shft-alt>(letter) 
        Keyboard        Characters       Keyboard        Characters 
        ──────────      ──────────       ──────────      ────────── 
        Q  W  E         ╓  ╥  ╖          T  Y  U         ╒  ╤  ╕ 
                                                                
         A  S  D        ╟  ╫  ╫           G  H  J        ╞  ╪  ╡ 
                                                                
          Z  X  C       ╙  ╨  ╜            B  N  M       ╘  ╧  ╛ 


                   q w e     ┌┬┐                    t y u     ╔╦╗ 
             <alt> a s d  =  ├┼┤              <alt> g h j  =  ╠╬╣ 
                   z x c     └┴┘                    b n m     ╚╩╝ 


                   q w e     ╓╥╖                    t y u     ╒╤╕ 
        <shft-alt> a s d  =  ╟╫╢         <shft-alt> g h j  =  ╞╪╡ 
                   z x c     ╙╨╜                    b n m     ╘╧╛ 



            ┌─────────────────────────────────────────────────┐ 
            │ Keystrokes which move the cursor or scroll text │ 
            └─────────────────────────────────────────────────┘ 


      1. Keystokes which move the cursor 

          ▲ ▼ ◄ ►  =  move the cursor up or down, left or right.  

          <alt> ◄  =  move the cursor backward one word.  

          <alt> ►  =  move the cursor forward one word.  

           Enter   =  move the cursor to the left margin on 
                         the next line.  

     <alt> Enter   =  move the cursor to the first character on the 
                         current line and then down one line.  

            Some lesser-used commands: 

              <shft> Enter  puts a carrage return ( ) character at the 
                end of the line the cursor is on and moves the cursor 
                to column 1 on the next line.  

               BackSpace  moves the cursor one position to the 
                left and puts a space character there.  

              <sfht> BackSpace  will move the cursor to the left 
                margin on the current line.  <ctrl> Home will 
                do the same thing.  

              <shft> Home  will move the cursor to column 1 of 
                the screen on the current line.  

              <shft> End  will move the cursor to the end of the 
                current line.  

              <ctrl> End  will move the cursor to the last 
                character on the line inside the right margin.  


      2. Keystrokes which scroll lines 

              <ctrl>▲ <ctrl>▼ <ctrl>◄ <ctrl>►  =  scroll up or down, 
                                                    left or right.  

               PageUp     =  scroll text DOWN a full screen size.  

               PageDown   =  scroll text UP a full screen size.  


      3. Keystrokes which produce larger leaps of the cursor 

           Home     =  jump to the top of the window.  

           End      =  jump to the line below the last line of text 
                         in the window.  

           F3       =  jump to a specified line in the window.  

          KeyPad /  =  jump to the next occurance of a specified string 
                         of characters in a window.  A dialog box will 
                         appear asking you to type the characters of 
                         the search string (including space characters) 
                         that you want to search for.  Either the cursor 
                         will move to the next occurance of the specified 
                         string, or a message box will inform you that 
                         the no such string was found going forward.  

           F11      =  search forward for the next occurance for the 
                         string last specified by the KeyPad / command.  


           F12      =  search backward for the next occurance for the 
                         string last specified by the KeyPad / command.  


                   ┌────────────────────────────────────┐ 
                   │ Keystrokes involving the highlight │ 
                   └────────────────────────────────────┘ 

          There are times when you will want to perform operations on 
      a certain area or section of a window.  The Dmuse editor has 
      a set of keystrokes which allow you to specify such an area.  The 
      selected area will appear in highlight (either white or purple).  
      The highlight will disappear once the operation is complete.  

          There are three ways to highlight material in a window: 
      (1) the box highlight (white), (2) the stream highlight (white), 
      and (3) the line highlight (purple).  The box and line highlights 
      work only when wordwrap is off; the stream highlight works only 
      when wordwrap is on.  The stream highlight will not be discussed 
      in this document.  


      1. Keystrokes which produce a highlight 

          If there is no highlight present, there are three strokes 
          which can initiate a highlight.  

            <shft> ◄  <shft> ►  =  start a box highlight (white) 

            <shft> ▼  = start a line highlight (purple) 

          Once a box highlight has been intiated, the following strokes 
            will change its size.  

            <shft> ▲ <shft> ▼   =  move the highlight cursor up or down 
                                     one line.  

            <shft> ◄ <shft> ►   =  move the highlight cursor left or right 
                                     one column.  

          Once a line highlight has been intiated, the following strokes 
            will change its size.  

            <shft> ▲ <shft> ▼   =  move the highlight cursor up or down 
                                     one line.  

            <shft> PageUp     =  move the highlight cursor up 24 lines.  

            <shft> PageDown   =  move the highlight cursor down 24 lines.  

                                                    
      2. Keystrokes which move highlighted material (box highlight only) 

              To move highlighted material on the screen, hold down 
          the ctrl and shft keys and use the cursor arrow keys to 
          move the highlighted material around.  Once this process 
          has been started, typing any other key will deposit the 
          highlighted material in its present (new) location.  You 
          need to be aware that the deposited material will write 
          over anything which was "under" it at the time of deposit.  


      3. Keystrokes which delete highlighted material 

          If material is highlighted with the box highlight (white), 

             Delete   =  remove the highlighted material from the 
                           window.  Move material on the right over 
                           to fill the empty space.  

            <ctrl> Delete   =  perform the delete operation described 
                           above and also place the deleted material in 
                           the "box buffer" (for possible future "pasting" 
                           in some other location) 

          If material is highlighted with the line highlight (purple), 

             Delete   =  delete the highlighted lines from the window 
                           Add these lines to the "line buffer" (also 
                           called the line refuse heap).  


      4. Keystrokes which perform arithmetic operations 
           on highlight material 

              If you have highlighted a column of numbers, you can 
          type the letter t to get a total.  If you have highlighted 
          two, side-by-side columns of numbers, you can type the 
          letter a (a for add) to get a third column, which is the 
          sum of the elements of columns 1 and 2.  If you type the 
          letter s (s for subtract), you will get a third column, 
          which is the difference of the elements of columns 1 and 2.  
          If your highlight box extends far enough to the right of 
          column 2 to leave sufficent room for column 3 (the result 
          column), the numbers in column 3 will be right justified.  
          If your highlighted numbers contain commas, the answers 
          will have commas (where appropriate).  If your highlighted 
          numbers have money signs ($, £, ¥, DM), the answers will 
          have money signs.  If you mix your money signs, the 
          arithmetic operation will not take place.  


      5. Keystrokes which change the color attributes of 
           highlighted material (box highlight only) 

              The following function keystrokes will change the 
          character attributes (color combinations) for the characters 
          in a highlighted box: 

                                 F5  =  White on Black 
                                 F6  =  Black on Red 
                                 F7  =  Red on Black 
                                 F8  =  Black on Brick 

                          <ctrl> F5  =  Green on Black 
                          <ctrl> F6  =  Black on Green 
                          <ctrl> F7  =  White on Forest Green 
                          <ctrl> F8  =  Black on Purple 

                          <shft> F5  =  White on Tan 
                          <shft> F6  =  Black on Orange 
                          <shft> F7  =  Black on Goldenrod 
                          <shft> F8  =  Black on Pink 

                     <ctrl-shft> F5  =  White on Blue 
                     <ctrl-shft> F6  =  Black on Turquise 
                     <ctrl-shft> F7  =  White on Purple 
                     <ctrl-shft> F8  =  White on Sea Green 


          (The colors shown are defaults; they can be changed by the 
          user.  See INIT file under Advanced Topics) 


              In addition to being distinctive on the screen, some of 
          these color combinations have a meaning as font designators 
          for purposes of printing hardcopy.  

                        F5  = regular upright font 
                        F6  = bold upright font 
                        F7  = regular italic font 

                 <shft> F5  = underlined regular upright font 
                 <shft> F6  = underlined bold upright font 
                 <shft> F7  = underlined regular italic font 

              When writing a window to a file, the Dmuse editor 
          converts the various character attribute transitions to 
          escape codes.  This way, when you reload a file, the 
          attributes are preserved.  The Dmuse printer driver knows 
          how to convert character attributes (colors) to the 
          various fonts listed above.  


      6. Using the highlight to draw boxes and lines 

              The box highlight can be used to draw line patterns.  
          The line drawing characters are directly accessable from 
          the keyboard, but using them directly to draw anything but 
          the most simple patterns can be tedious and time consuming.  
          It turns out that most of the patterns people want to make 
          with the line drawing characters can be built up from a 
          series of boxes and/or lines.  You can draw a box pattern 
          by highlighting the box shape you want and typing either a 
          minus sign (-) for a single line box or an equal sign (=) 
          for a double line box.  The pattern below was made by 
          highlighting the box shape on the left and typing "-", and 
          then highlighting the shape on the right and typing "=".  
          Typing a tilda "~" after highlighting a box will erase 
          any line drawing characters around the edge of the box.  

                 ┌──────────────────┐ 
                 │                  │ 
                 │             ╔════╪═══════════════╗ 
                 │             ║    │               ║ 
                 │             ║    │               ║ 
                 └─────────────╫────┘               ║ 
                               ║                    ║ 
                               ╚════════════════════╝ 

          Notice that the program chose the correct intersection 
          characters, ╫ and ╪, where the lines of the two boxes 
          crossed each other.  Single horizontal or vertical lines 
          may be drawn by highlighting long, narrow boxes and typing 
          either "-" or "=".  The pattern below was made by first 
          highlighting the large box and typing "=", and then 
          highlighting each of the interior lines and typing "-".  

                     ╔═════╤═══════════════════════╗ 
                     ║     │                       ║ 
                     ╟─────┼───────────────────────╢ 
                     ║     │                       ║ 
                     ║     │                       ║ 
                     ║     │                       ║ 
                     ╚═════╧═══════════════════════╝ 

          Notice again that the program has chosen the correct 
          intersection characters.  The order in which boxes are 
          drawn does make a difference in some cases.  The best 
          way for the user to become familiar with this pattern 
          drawing feature is to experiment with it.  There two 
          more things that can be said here.  (1) If you highlight 
          a box and type the tilda character (~), any line drawing 
          characters along the edge of the box will be replaced 
          with the space character (i.e., be erased).  (2) The 
          highlight method of drawing boxes and lines will never 
          overwrite text.  In the example below, the text was 
          typed first, and then the box was drawn.  

                         ┌──This─is─a─box──┐ 
                         │                 │ 
                         └─────────────────┘ 


            ┌─────────────────────────────────────────────────┐ 
            │ keystrokes for inserting, deleting and clearing │ 
            └─────────────────────────────────────────────────┘ 


      1. The insert key 

           Insert 

              Typing the  Insert  key when nothing is highlighted will 
          simply toggle the insert mode.  When insert mode is on, any 
          material added to the screen at the point of the cursor, 
          either by typing or by inserting from the box buffer, will 
          cause material which is already there to move to the right and 
          make space for the added material.  When insert mode is off, 
          material added to the screen by typing or by inserting from 
          the box buffer will overstrike whatever was there before.  
          When insert mode is on, a plus (+) sign will appear in the 
          title bar at the top of the window.  

          <shft> Insert 

              Typing <shft> Insert  when nothing is highlighted will 
          retrieve material in the box buffer.  Material will appear 
          at the position of the cursor.  Whether this material 
          displaces to the right or overstrikes the material that was 
          there before depends on the state of the insert mode 
          (see paragraph above).  

          <ctrl> Insert 

              If material is highlighted with the box highlight (white), 
          typing <ctrl> Insert  will load that material into the box 
          buffer.  Material formerly in the box buffer will be over 
          written.  The contents of the window will remain unchanged.  

          <alt> Insert 

              Typing <alt> Insert  will insert a blank line above the 
          line the cursor is on.  

           Insert  (again) 

              If lines are highlighted (purple), pressing the  Insert 
          key will copy them to the line buffer.  Lines put into the 
          line buffer as a group can be taken out of the buffer as a 
          group, provided no new lines are added in the interum.  

          <shft-alt> Insert    <ctrl-shft> Insert 

              You may retrieve lines from the line buffer by typing 
          <shft-alt> Insert  or <ctrl-shft> Insert .  <shft-alt> Insert 
          will retrieve and remove the last group of lines added to 
          the line buffer place them above the line the cursor is on.  
          <ctrl-shft> Insert  will retrieve but not remove the last 
          group of lines added to the line buffer and place them above 
          the line the cursor is on.  <ctrl-shft> Insert  allows you 
          to make multiple copies from the line buffer.  


      2. The delete key 

           Delete 

                Typing the  Delete  key when nothing is highlighted 
            will simply delete the character (or space) above the 
            cursor.  All characters to the right of the cursor move 
            one space to the left to fill the space left by the 
            deleted character.  

                If material is highlighted with the box highlight 
            (white),  Delete  will delete the highlighted material 
            from the window. Material to the right will move over to 
            fill the empty space.  

                If material is highlighted with the line highlight 
            (purple),  Delete  will delete the highlighted lines and 
            add them to the line buffer.  


          <shft> Delete 

              Does nothing.  


          <ctrl> Delete 

              If material is highlighted with the box highlight (white), 
          typing <ctrl> Delete  will delete the highlighted material 
          from the window and also place the deleted material in the 
          "box buffer" (for possible future "pasting" in some other 
          location).   Material formerly in the box buffer will be over 
          written.  


          <alt> Delete 

              Typing <alt> Delete  will delete the line the cursor is 
          on and place it in the line buffer (also called the line 
          refuse heap).   Lines deleted with <alt> Delete  are never 
          really lost; they accumulate in the line buffer over the     
          entire time that Dmuse is running.  A new Dmuse session 
          will start with an empty line buffer.  


          <shft-alt> Delete 

              Typing <shft-alt> Delete  will put the line the cursor 
          is on in the line buffer without deleting it.  Typing 
          <shft-alt> ▼ will also do this and will also scroll the text 
          up one line.  This way, if you want to put several contiguous 
          lines into the attic, you simply hold down <shft-alt> ▼ and 
          and watch the lines scroll past the cursor until you have 
          all the lines you want.  


      3. Keystrokes for clearing 

          Keypad -  =  clear the line the cursor is on from the column  
                         the cursor is in to the end of the line.  

          <shft> Keypad -  =  Keypad - plus clear all lines below the 
                                line the cursor is on.  To clear the 
                                entire window, you must first push 
                                the  Home  key to move the cursor to 
                                the top of the window and then push 
                                <shft> Keypad -.  



                     ┌────────────────────────────────┐ 
                     │ keystrokes for formatting text │ 
                     └────────────────────────────────┘ 


          The most powerful commands for text formatting operate when
      wordwrap is on (This advanced feature is discussed in the  
      Advanced Topics help section).  Nevertheless, there are some 
      formatting commands designed to work with wordwrap off.  


      1. Keystrokes for setting margins 

              The Dmuse editor maintains right and left margins in 
          every window, irrespective of whether wordwrap is on or off.  
          At startup, the left margin is set to the left of column 1, 
          and the right margin is set at column 76.  You may see where 
          the margins and tabs are set by typing the  F10  key (this 
          key toggles the display panel).  

              The left margin is moved left or right by holding down 
          the left <shft-alt> keys and typing the  or  cursor 
          keys.  The right margin is moved in the same manner, except 
          you hold down the right <shft-alt> keys and type the  or 
           cursor keys.  Both margins can be moved together left or 
          right by holding down the <ctrl-shft) keys and typing the 
           or  cursor keys.  

              Normally the margin setting commands operate over the 
          span of the paragraph the cursor is in.  Occasionally you may 
          want to reset the margin for an arbitrary number of lines, 
          which might or might not span one or more paragraphs.  In 
          this case, the easiest method is to highlight a long, thin 
          box which spans the lines over which you want to change the 
          margin.  You then use the change margin commands as 
          described above.  

              With wordwrap off, the position of the right margin does 
          not play a major roll in what you do (or what you type).  The 
          position of the left margin does make some difference.  Some 
          commands which are dependent on the position of the left 
          margin are listed below.  

               Enter            move cursor to the left margin 
                                   and down one line 

              <ctrl> Home       move cursor to the left margin 

              <shft> BackSpace  move cursor to the left margin 

      2. Keystrokes which format text (wordwrap = off) 

              When wordwrap is off, moving the margins will not reformat 
          the text.  In this situation, there are only three commands 
          which will automatically move text on the screen.  These are 
          <ctrl> s, <ctrl> p, and <ctrl> Enter .  
   

          <ctrl> Enter    split line at cursor and put the right-hand 
                            part at the left margin of a new line 
                            inserted below the current line 

          <ctrl> s        reformat the part of the current paragraph 
                            which lies within the boundaries of the left 
                            and right margins into separate sentences 
                            beginning at the left margin and wordwrapping 
                            at the right margin (even though wordwrap is 
                            off).  

          <ctrl> p        reformat a group of sentences lying within the 
                            the boundaries of the left and right margins 
                            into a paragraph lying within the same 
                            boundaries.  

          The definition of a paragraph for purposes of the <ctrl> s 
          and <ctrl> p commands is a set of lines of text beginning 
          at the left margin.  The first line of the paragraph may 
          be indented from the left margin.  A paragraph ends when 
          there is a line with a space character at the left margin.  


                  ┌───────────────────────────────────────┐ 
                  │ keystrokes for setting and using tabs │ 
                  └───────────────────────────────────────┘ 


           Tab         =  move the cursor forward to the next tab on 
                            the line or to column 1 of the next line.  

    (left)<shft> Tab   =  move the cursor backward to the nearest tab 
                            on the line or to column 1 of the current 
                            line or, if the cursor is in column 1, to 
                            the last tab position on the previous line.  

          <ctrl> Tab   =  set (or remove) a tab marker at the column 
                            the cursor is in.       

    (left)<ctrl-shft> Tab   =  clear all tabs.  


    (right)<shft> Tab  works like  Tab , but it puts typing in "backup" 
                         mode.  While in backup mode, the cursor does not 
                         advance; instead, characters move to the left to 
                         make space for the character just typed.  The 
                         editor continues in backup mode until a period (.) 
                         or some non-character key is typed.  Backup mode 
                         is designed for typing columns of numbers with 
                         decimal points.  

    (right)<ctrl-shft> Tab  works the same way, except the Tab in done 
                              in the backward direction (Tab right).  

           F10   toggles the margin and tab display panel.  



                ┌──────────────────────────────────────────┐ 
                │ keystrokes for loading and storing files │ 
                └──────────────────────────────────────────┘ 


          KeyPad +  =  load a file into the current window.  This 
                       command will cause a dialog box to appear, 
                       with a prompt for the name of the file to be 
                       loaded to the window.  The file will be loaded 
                       starting at the line the cursor is on.  If 
                       you want the contents of the window to match 
                       the contents of the file, you must move the 
                       cursor to the top of the window (by pressing 
                       the  Home  key) before loading a file.  

                       If you would like to see the contents of a 
                       file in Hexidecimal format, type "$ <Enter>" 
                       at the prompt.  You will then be prompted 
                       again for the name of the file, and the 
                       Hexidecimal representation of the file 
                       (up to 400,000 bytes) will appear in the 
                       current window.   Because you probably would 
                       not want these contents put back in the 
                       source file, the read-protect flag for the 
                       window is set (the word Window in the top 
                       Red line turns blue).  The <ctrl>F10 key 
                       gives you the option of toggling this flag.  
                       Clearing the Window will also clear the flag.  

                       There is another way to load a file into the 
                       current window.  If you are using the 
                       resident file manager ( F4 ), and you type 
                       a number which references a file in the 
                       listing of the current directory, the file 
                       manager will load that file into the current 
                       window.  


          <shft> KeyPad +  =  store the contents of the current window 
                       in a file.  This command will cause a dialog box 
                       to appear, with a prompt for the name of the 
                       destination file.  The entire contents of the 
                       window will be stored in the file.  Since it is 
                       often the case that you are using the editor 
                       to make changes to a pre-existing file (i.e., 
                       you loaded a file, made changes, and now want 
                       to store the result back in the original file), 
                       the Dmuse editor provides you an easy way to 
                       do this.  You simply type $ <Enter> at the prompt.  

     <ctrl-shft> KeyPad *  =  toggle the "exempt CR" flag.  

                       Explanation:  Microsoft Windows and Linux have 
                       slightly different conventions for representing 
                       the end of a text line in an ASCII "flat file." 
                       Microsoft uses the character combination carriage- 
                       return + line-feed (byte values 13 and 10); Linux 
                       and UNIX use only the line-feed byte (byte value 10).
                       The user can expect to encounter both formats.   
                       Since Microsoft formatted files probably outnumber 
                       Linux formatted files, and since all Musedata amd 
                       Score files use the Microsoftformat, this is the 
                       default.  However, it is possible for Dmuse to make 
                       an educated guess about the format for each file 
                       loaded into a window.  If Dmuse thinks it is loading 
                       a file in the Linux format, the "exempt CR" flag 
                       is set in the top Red bar of the window.   It looks 
                       like this in the bar: 

                                      connect mode ─┐ 
                                       exempt CR ─┐ │ 
                                                  ↓ ↓ 
                                                 +[*] 1446.065 
                                                 ↑     ↑    ↑ 
                                    insert mode ─┘     │    └─ row number 
                                                       └─ line number 

                       If the exempt CR flag is set and the contents 
                       of the window are stored in a file, Dmuse will 
                       leave off the CR at the end of each line and 
                       use only the single byte (10) to denote the 
                       end-of-line.   <ctrl-shft> KeyPad * allows the 
                       user to toggle this flag and therefore to 
                       control the format of files stored from windows.  


                     ┌─────────────────────────────────┐ 
                     │ keystrokes for changing windows │ 
                     └─────────────────────────────────┘ 


          The Dmuse editor consists of 30 independent super-imposed 
      work windows numbered 0 through 29, and one HELP window.  
      Windows 0 through 9 may be accessed by pressing the KeyPad numbers 
      KeyPad 0 to KeyPad 9.  Windows 10 through 19 may be accessed by 
      holding down the <ctrl> key and pressing KeyPad 0 to KeyPad 9.  
      Windows 20 through 29 may be accessed by holding down the <alt> 
      key and pressing KeyPad 0 to KeyPad 9.   The number lock must be 
      OFF for these commands to work.  

          KeyPad . acts as a toggle switch between the window you are 
      currently in and the window you were previously in.  This key 
      is especially useful when you want to make a quick comparison 
      between two windows whose contents are nearly the same.  

          The HELP window can be loaded only by pressing  F2 , moving 
      the highlight to the Help tab on the top menu bar, then 
      choosing one of the help subjects.  (Presumably, you did this 
      to see this very document.)  Thereafter, you may use the 
      <shft> F1 key to toggle between the HELP window and whatever 
      work window you are currently using.  


                         ┌───────────────────┐ 
                         │ the function keys │ 
                         └───────────────────┘ 


      1. Function Key 1 (F1) 

          F1   =  elementry help 

         <shft> F1   =  toggle between the current window and the HELP 
                          window.  The HELP window is loaded by pushing 
                          F2  and then selecting one of the subjects 
                          under help.  

         <ctrl> F1  =  explain the editor keystrokes.  
 

      2. Function Key 2 (F2) 

          F2   =  activate top panel.  

         <shft> F2   =  Save the current state of Dmuse in a default 
                          file and EXIT Dmuse.  

         <ctrl> F2   =  Save the current state of Dmuse in a file 
                          which you specify and EXIT Dmuse.  

         <ctrl-shft> F2   =   EXIT Dmuse without saving the current state.  


      3. Function Key 3 (F3) 

          F3   =  move the cursor to a specified line number.  

         <ctrl> F3   = check window data structure.  The Dmuse screen 
                         editor uses a virtual memory management system 
                         for storing the contents of the windows.  On 
                         rare occasions, the data structure for a window 
                         becomes corrupted.  If you suspect this has 
                         happened, push <ctrl> F3.  This command will 
                         check the data structure, and if it is corrupted, 
                         try to rebuild it.  After you have done this, 
                         it is a good idea to save any files you are 
                         working on and exit Dmuse using the <ctrl-alt> F2 
                         command.  The problem will be gone when you 
                         restart the program.  


      4. Function Key 4 (F4) 

          F4   =  activate the resident file manager.


      5. Function Keys 5-8. (F5,F5,F7,F8) 

             The following function keystrokes will change the character 
         attributes (color combinations) for typed characters in the 
         current window.  (The colors shown are defaults; they can be 
         changed by the user.  See INIT file under Advanced Topics) 


                                 F5  =  White on Black 
                                 F6  =  Black on Red 
                                 F7  =  Red on Black 
                                 F8  =  Black on Brick 

                          <ctrl> F5  =  Green on Black 
                          <ctrl> F6  =  Black on Green 
                          <ctrl> F7  =  White on Forest Green 
                          <ctrl> F8  =  Black on Purple 

                          <shft> F5  =  White on Tan 
                          <shft> F6  =  Black on Orange 
                          <shft> F7  =  Black on Goldenrod 
                          <shft> F8  =  Black on Pink 

                     <ctrl-shft> F5  =  White on Blue 
                     <ctrl-shft> F6  =  Black on Turquise 
                     <ctrl-shft> F7  =  White on Purple 
                     <ctrl-shft> F8  =  White on Sea Green 


      6. Function Key 9 (F9) 

          F9   =  change global parameters.             


      7. Function Key 10 (F10) 

          F10   =  turn the margin and tabs display panel on and off.  

         <ctrl> F10   =  change display parameters for this window.  


      8. Function Key 11 (F11) 

          F11   =  search forward (to the left and then down) in the 
                     current window for the next occurance of the 
                     search string (see the section on keystrokes 
                     which produce large leaps of the cursor).  


      9. Function Key 12 (F12) 

          F12   =  search backward (to the right and then up) in the 
                     current window for the previous occurance of the 
                     search string (see the section on keystrokes 
                     which produce large leaps of the cursor).  

         <shft> F12  =  Save the current state of Dmuse in a default 
                          file.  Do not exit.  

         <ctrl> F12  =  Save the current state of Dmuse in a file which 
                          you specify.   Do not exit.  


    ────────────────────────────────────────────────────────────────── 



                 ┌───────────────────────────────────────┐ 
                 │   T H E    D A T A    B U F F E R S   │ 
                 └───────────────────────────────────────┘ 

           The Dmuse editor maintains three separate data buffers to 
       aid in the storage and transfer of text within a window and 
       between windows: the box buffer, the line buffer, and the 
       stream buffer.  The box buffer is operational only when wordwrap 
       is off; the stream buffer is operational only when wordwrap is 
       on.  The line buffer is operational all of the time.  


                           ┌────────────────┐ 
                           │ the box buffer │ 
                           └────────────────┘ 

         The box buffer stores text data in a rectangular format, i.e., 
      the data in the buffer represents a rectangular area with a 
      specified number of rows and columns.  The buffer can hold only 
      one data pattern at a time, so whenever you put something into 
      the buffer, whatever was there before is lost.  

          To put something in the box buffer, you must first highlight 
      it with a box highlight.  To create a box highlight, put the 
      cursor at a position which is the upper left-hand corner of the 
      area you want highlight.  Holding down the right <shft> key, 
      move the cursor to the left with the  cursor key.  You will 
      see a (white) highlight start to appear on the current line.  
      Now, while continuing to hold down the right <shft> key, move 
      the cursor down with the  cursor key.  The highlight will 
      extend downward with the cursor.  You may change the size of the 
      highlight using any of the four arrow keys, while still holding 
      down the right <shft> key.  

          When you have highlighted an area of the window, there are 
      two commands which will load this material into the box buffer.  

      <ctrl> Insert    =  copy material in the box highlight to the 
                            box buffer.  Contents of the window remains 
                            unchanged.  

      <ctrl> Delete    =  copy material in the box highlight to the 
                            box buffer.  Delete the highlighted 
                            material from the window.  Data to the 
                            right of the highlight shifts left to 
                            fill the empty space.

          The contents of the box buffer may be copied to any window 
      any number of times.  The command to copy the box buffer is 
      <shft> Insert .  The top left-hand corner of the material in 
      the box buffer will be copied to the window at the point of 
      the cursor.  If insert mode is on, material already at that 
      point in the window will move to the right to make space for 
      the buffered material; if insert mode is off, the contents of 
      the box buffer will over write what was in the window at that 
      point.  


                           ┌─────────────────┐ 
                           │ the line buffer │ 
                           └─────────────────┘ 


          The line buffer differs from the box buffer in two fundamental 
      ways.  Whereas the box buffer can hold only one pattern at a time, 
      the line buffer can hold virtually an unlimited number of lines.  
      In fact, the line buffer is actually a line refuse heap; all lines 
      deleted with various forms of the the  Delete  key end up stored in 
      the line buffer.  Secondly, whereas the contents of the box buffer 
      cannot be removed, but only overwriten, lines in the line buffer 
      can be taken out.  

          Any lines deleted with a line delete command are automatically 
      put in the line buffer.  Lines can be deleted in two ways: 

      1. <alt> Delete  will delete the line the cursor is on.  

      2. If you push the  Delete  key after highlighting a group of 
           lines with the line highlight (purple).  The group of lines 
           will be deleted.  

          To create a line highlight for a group of lines, put the 
      cursor on the first line in the group and holding down the 
      right <shft> key, move the cursor to the down with the  
      cursor key.  You will see a (purple) highlight appear on the 
      current line.  While continuing to hold down the right <shft> 
      key, move the cursor down with the  cursor key until you 
      have highlighted your entire group.  If your is group is large, 
      you may want to use the right <shft> PageDown  key, which adds 
      24 lines to the group at a time.  If you overextend the 
      highlight, the right <shft> ▲ and right <shft> PageUp  keys 
      will decrease the number of highlighted lines.  

          Lines may be inserted into the line buffer without being 
      deleted from the window.  

      1. <shft-alt> Delete  adds the line the cursor is on to the 
           line buffer without deleting the line from the window.  

      2. <shft-alt> ▼  does the same thing, but also scrolls the 
           screen.  This feature allows you to scroll through large 
           sections of a window, adding lines to the line buffer as 
           you go.  

      3. If you push the  Insert  key after highlighting a group of 
           lines with the line highlight (purple).  The group of lines 
           will be added to the line buffer.  

          The line buffer is a last-in, first-out buffer.  When you 
      retrieve lines from the buffer, the last line you put in will 
      come out first.  The command that retrieves lines from the 
      buffer is <shft-alt> Insert.  This command normally retrieves 
      a single line at a time; however, in the case where the last 
      line put in the buffer was part of a group, the command will 
      retrieve the entire group.  Repeating the command thereafter 
      will retrieve one line at a time.  

          Lines can be retrieved to any line location in any window.  
      Simply put the cursor on the line where you want lines inserted 
      and press <shft-alt> Insert.  

          When you retrieve lines from the line buffer using the 
      <shft-alt> Insert command, those lines are taken out of the 
      buffer.  If you want to copy lines from the line buffer to the 
      screen without taking them out of the buffer, you must use the 
      <ctrl-shft> Insert command.  This command normally copies only 
      the last line; however, in the case where the last line put in 
      the buffer was part of a group, the command will copy the 
      entire group.  Repeating the command thereafter will also copy 
      the entire group.  


                           ┌───────────────────┐ 
                           │ the stream buffer │ 
                           └───────────────────┘ 


          The Dmuse editor includes a stream buffer for use when 
      wordwrap is on.  Essentially, the stream buffer treates text 
      data as a simple sequence of characters, with no information 
      about where line breaks might have been.  In this way, streams 
      of characters (sentences) can be added and deleted from 
      paragraphs, irrespective of where the margins might be set.  
      The stream buffer is discussed in the Advanced Topics help 
      section under wordwrap.  


    ────────────────────────────────────────────────────────────────── 


                   ┌────────────────────────────────────┐ 
                   │   T H E    E N V I R O N M E N T   │ 
                   └────────────────────────────────────┘ 

                     ┌───────────────────────────────┐ 
                     │ parameters of the environment │ 
                     └───────────────────────────────┘ 


          The basic environment of the Dmuse editor consists of 20 
      independent windows.  Parameters of the environment come in two 
      types: those which are global and apply to all windows, and  
      those which are specific to each window.  

                     Parameters specific to each window 
                     ────────────────────────────────── 
          1. the contents of the window (text in the window).  

          2. cursor position in the window 

          3. portion of the window shown by the screen 

          4. right and left margins.  These are set using the 
               right <shft-alt>  and the left <shft-alt>  together 
               with the  and the  cursor keys.  

          5. tab markers.  These are set using the <ctrl> Tab command 

          6. color attributes for typed characters.  These are set by 
               typing the various combinations of <ctrl>, <shft>, and 
               one of the function keys:  F5 ,   F6 ,   F7 , and  F8 .  

          7. screen display mode.  This is selected using the 
               <ctrl> F10  command and specifying "d" to set the 
               display mode.  

          8. insert mode.  This is toggled with the  Insert  key.  

          9. Exempt_CR file.  This flag determines which format to 
               use when writing a window to a file.  When the flag 
               is set (on), the end-of-line marker is a single 
               LF byte; when the flag is clear (off) the end-of-line 
               marker is the two byte sequence CR + LF (Microsoft 
               convention).  This flag may be toggled with the 
               <ctrl-shft> KeyPad * keystroke.  

         10. wordwrap.  If wordwrap is enabled, this is toggled 
               with the KeyPad * key.  

         11. Ibex connection.  If the Ibex interpreter is enabled, 
               this is toggled using the <shft> KeyPad * command.  

         12. current directory and current drive.  These can be 
               changed by the file manager ( F4 ).  

         13. read protect.  This is turned on if a file is loaded 
               in hex format, or if a directory is loaded into a 
               window.  Read protect can be toggled, using the 
               <ctrl> F10  command and specifying the "r" option.  
               Whne read-protect is ON, the word Window in the 
               top Red bar is blue.  

         14. window modified flag (blue highlight of the colon after 
               the window number in the top red bar).  This flag 
               comes on if the contents of a window is different 
               from the file from which the window was loaded.  
               Simply put, if you load a file into a window and 
               then type in that window, the window modified flag 
               flag comes on.  If you write the contents of a 
               window into a file, the window modified flag goes 
               off.  


                     Parameters which apply to all windows 
                     ───────────────────────────────────── 
          1. the contents of the box, line, and stream buffers 

          2. the Caps Lock and Num Lock keys 

          3. the margin reformatting parameters.  These are set 
               using the <ctrl> F10  command and specifying "m" 
               for margin reformatting options.
                               
          4. the current search string.  This is set by the 
               KeyPad / command.  

          5. the print-screen parameters.  These are set by pressing 
               the  F9  key and selecting "p" for print parameters.  

          6. language dictionaries (advanced topic).  


                   ┌─────────────────────────────────────┐ 
                   │ saving the state of the environment │ 
                   └─────────────────────────────────────┘ 

          The Dmuse program at any particular time is in a particular 
      state of being, and is waiting for you to do something.  There 
      are two reasons why you might wish to preserve (record the 
      parameters of) the current state: (1) you might want to save 
      the state of things for archival or safety purposes, and/or (2) 
      you might want to exit Dmuse right now (maybe even turn off 
      your computer) and restart Dmuse later with everything the way 
      you left it.  

          Dmuse provides you with some commands for saving most of the 
      parameters of the current state.  There are two choices you need 
      to make when you save the current state, which means there are 
      four possible commands.  The choices are: (1) exit Dmuse vs.  
      don't exit Dmuse after saving the state, and (2) save the state 
      in a default file vs. save the state in a file, the name of 
      which you specify.   The four commands are shown in the table 
      below.  

      ┌──────────► Commands for saving the state of Dmuse ◄──────────┐ 
      │                                                              │ 
      │                                   Save the current state     │ 
      │         Save the current state    of Dmuse in a file which   │ 
      │         of Dmuse in a default     you specify. To return     │ 
      │         file. To return to this   to this state, type        │ 
      │         state, type \"dmuse $\"     \"dmuse <file name>\"    │ 
      │         at the DOS prompt.        at the DOS prompt.         │ 
      │        ┌────────────────────────┬────────────────────────┐   │ 
      │  EXIT  │                                     │   │ 
      │  Dmuse │       <shft> F2    <ctrl> F2        │   │ 
      │        │                                     │   │ 
      │        ├────────────────────────┼────────────────────────┤   │ 
      │  Do not│                                     │   │ 
      │  EXIT  │       <shft> F12   <ctrl> F12       │   │ 
      │  Dmuse │                                     │   │ 
      │        └────────────────────────┴────────────────────────┘   │ 
      └──────────────────────────────────────────────────────────────┘ 

          Not all parameters are saved by these commands.  Listed below 
      are the state parameters of Dmuse together with a code telling 
      you what is saved and what is not.  

          = parameter or data saved        = parameter or data not saved 

                       Parameters specific to each window 
                       ────────────────────────────────── 
            1. the contents of the window (text in the window).  

            2. cursor position in the window 

            3. portion of the window shown by the screen 

            4. right and left margins.  

            5. tab markers.  

            6. color attributes for typed characters.  

            7. screen display mode.  

            8. insert mode.  

            9. Exempt-CR flag.  

           10. state of wordwrap.  

           11. state of Ibex connection, and the state of any Ibex 
                 program that might be running at save time.  

           12. current directory and current drive.  

           13. read protect.  

           14. window modified flag.  

                       Parameters which apply to all windows 
                       ───────────────────────────────────── 
            1. the contents of the box, line, and stream buffers 

            2. the Caps Lock and Num Lock keys 

            3. the margin reformatting parameters.  

            4. the current search string.  

            5. the print-screen parameters.  

            6. language dictionaries settings (advanced topic).  


           It is very handy that Dmuse allows you to save the state 
       of the program.  However, there is a dangerous pitfall that 
       you need to be aware of.  The process of saving the state 
       of Dmuse does not store the contents of each window back to 
       the file from which it came.  The pitfall is this:  Suppose 
       Window 0 is loaded with the text of a file you are currently 
       working on and you save the state of Dmuse and exit.  Suppose 
       later that you make changes to the text file, so that the version 
       which is "state saved" in Window 0 is no longer current.  Suppose 
       that still later, you restart Dmuse using the saved state of the 
       program and you forget that the contents of Window 0 is no 
       longer current.  There is nothing to warn you that Window 0 
       is no longer current, so if you store Window 0 back to the 
       source text file, you will be over-writing a more recent version 
       of the text file with an older version.  

           There are two steps you can take to assure that this 
       error never occurs.  (1) Before you save the state of Dmuse, 
       make sure that all windows containing current work-in-progress 
       have been written back to their respective files.   (2) If 
       you restart Dmuse from a "saved state", be suspicious of the 
       contents of any window with the blue "window modified" flag 
       on.  This flag means that the window was modified and not 
       written back to its source at the time the state was saved.  
       Even safer would be to reload every window containing a 
       a file you consider important.     

                            ┌───────────────┐ 
                            │ exiting Dmuse │ 
                            └───────────────┘ 


           The normal way to exit Dmuse is to type <ctrl-shft> F2 .  
       If you want to save the state of Dmuse before you exit, you 
       have two options:  <shft> F2  will save the state of Dmuse in 
       a default file and then exit; <ctrl> F2  will save the state 
       of Dmuse in a file which you specify, and then exit.  

           To restart Dmuse using the state saved in the default 
       file, you would type "Dmuse $" at the Linux prompt; to restart 
       Dmuse using the state saved in the file you specified, you 
       would type "Dmuse <filename>" at the Linux prompt.  


    ────────────────────────────────────────────────────────────────── 


      ┌────────────────────────────────────────────────────────────┐ 
      │ P R I N T I N G    T E X T    F R O M    A    W I N D O W  │ 
      └────────────────────────────────────────────────────────────┘ 


          The Dmuse editor provides a means of printing the contents 
      of a window.  For this to work, the hardware and software need 
      to be set up properly.  


                           ┌───────────────┐ 
                           │ printer setup │ 
                           └───────────────┘ 


          Dmuse expects to find an HP LaserJet or similar printer 
      connected to the parallel port, LPT1.  On most PC's there is 
      only one parallel port -- the 25 pin connector.  In addition, 
      if you want to print anything, you must make sure that you 
      have permission to write to the device /dev/lp0.  To get 
      this permission, switch to superuser and type: 

      chmod 666 /dev/lp0  at the Linux prompt.  


                        ┌────────────────────┐ 
                        │ printer parameters │ 
                        └────────────────────┘ 

          As a default, the Dmuse editor is set up to print with 
      the following parameters: 

                       topline: 5                            
               number of lines: 54                           
                lines per inch: 6                            
                   left margin: 80 / 100ths of an inch.                           
              number of copies: 1                            
                   orientation: normal page (top to bottom)  
                     font type: Courier                      
                          size: 12 point                     

      You may change these parameters by pressing  F9  and choosing 
      "p" for print options.  Follow the instructions to change 
      these parameters as desired.  You may print at 6 lines per 
      inch (normal single space) or at 1, 2, 3 (double space), 4 
      or 8 lines per inch.  The position of the left margin is  
      measured in 100ths on an inch (100 = 1 inch).  You may specify 
      from 1 to 20 copies of each page.  You may print in either 
      normal page mode (page oriented up and down) or in sideways 
      mode.  Font types include 12 pt Courier, 10 pt Courier and 
      8.5 Line Printer.   Printer parameters are global to all 
      windows of Dmuse.  

                        ┌─────────────────────┐ 
                        │ the PrintScreen key │ 
                        └─────────────────────┘ 


          To print the contents of a window, you must first format the 
      contents of the window for the printer.  Press <shft>PrintScreen 
      to do this.  You will be given the name of a temporary file.  
      You must then (in connect mode) run the program printscr.   If 
      you printer is hooked up properly, this will print the temporary 
      file.  The temproary files are stored in the directory          
      disp/print (on most computers in the path /usr/local/apps).  


    ────────────────────────────────────────────────────────────────── 


       ┌─────────────────────────────────────────────────────────┐ 
       │   L O A D I N G    A N D    S T O R I N G    F I L E S  │ 
       └─────────────────────────────────────────────────────────┘ 


                    ┌────────────────────────────┐ 
                    │ loading a file to a window │ 
                    └────────────────────────────┘ 

          The first thing to remember when you decide to load a 
      file to a window is that the loading will commence at the 
      line the cursor is currently on.  If the cursor is not at     
      the top of the window (line 1), whatever lines are above 
      cursor will not be affected by the loading of a new file.  
      As a result, the contents of the window will not match the 
      contents of the source file.  If you want the contents of 
      window to match the contents of the source file, you must 
      put the cursor on line 1 before loading the file.  The 
      best way to do this is to press the  Home  key.  Before 
      loading a file into a window, the Dmuse editor automatically 
      moves the cursor to column 1 and clears the window at and 
      below the cursor.  You do not need to clear the window.  

          There are two ways to load a file into the current window.  
      The KeyPad +  command will cause a dialog box to appear, with 
      a prompt for the name of the file to be loaded to the window.  
      If you specify a valid file name, that file will be loaded to 
      the window.  The second way to load a file into the current 
      window is to use the resident file manager ( F4 ).  If you 
      activate the resident file manager and then you type a number 
      which references a file in the listing of the current 
      directory, the file manager will load that file into the 
      current window.  

          It is possible to load a directory into a window.  If 
      you type KeyPad +  and specify the name of a directory at 
      the prompt, the directory listing will be loaded into the 
      window.  

          It is possible to load the current window with the contents 
      of another window.  Use the KeyPad + command, and type *<#> 
      at the prompt, where <#> = the number of the window you want 
      to load into the current window.  

          When you select a file to load into a window, Dmuse inspects 
      the first 80 bytes of the file to determine whether the file 
      contains ASCII (readable) text.  If Dmuse finds more than 10    
      non ASCII bytes in this group, it becomes suspicious that the 
      file is non ASCII and asks you whether you really want to load 
      the file.  If you type "Y", it asks you if you would like to 
      see the file in HEX format.  If you type "Y" again, the window 
      will be loaded with a hexideciaml representation of the bytes 
      in the file.  An ASCII translation will also appear at the 
      right.  In this case, the contents of the window describes but 
      does not match the contents of the file.  To prevent you from 
      inadvertently trying to store the contents of the window back 
      into the source file, Dmuse turns on the read-protect flag for 
      this window.  You may turn the flag off using the <ctrl> F10 
      command and chosing the "r" option.  

          Even if a file is ASCII, it is possible to load the file 
      in HEX format.  Use the KeyPad + command, and type "$" at the 
      prompt.  Type the file name at the second prompt.  

          It is possible to load several files sequentially into one 
      window.  Simply load the first file; press the  End  key to 
      put the cursor at the bottom of the window; load the second 
      file (the window above the cursor will remain unchanged by 
      this); press the  End  key again; load the next file, etc.  


               ┌────────────────────────────────────────────┐ 
               │ storing the contents of a window to a file │ 
               └────────────────────────────────────────────┘ 


          The command for storing the contents of a window into a 
      file is <shft> KeyPad +.  You will be prompted for the name 
      of the output file.  If you type "$", the output file will 
      be the file listed in the red title bar above the window.  
      In most cases, this will be the source file from which the 
      window was initially loaded.  The "$" response lets you 
      overwrite (update) the source file with the contents of the 
      window.  If you respond to the prompt by typing the name of 
      a file, and a file by that name already exists, Dmuse will 
      ask you specifically whether you want to overwrite the pre- 
      existing file.  If the file you specify does not already 
      exist, Dmuse will create a new file.          

          If the read protect flag is on for a particular window, 
      that window cannot be written to a file or copied to another 
      window.  The read protect flag may be turned off using the 
      <ctrl> F10  command and chosing the "r" option.  


                  ┌──────────────────────────────────┐ 
                  │ Microsoft vs. Linux file formats │ 
                  └──────────────────────────────────┘ 


          They are actually slightly different.  The Microsoft file 
      format uses two characters (CR=carriage return, and NL=new line) 
      at the end of each record or line.  Linux uses only the single 
      NL character.  When a file is loaded, the terminators are stripped 
      from each record; and when a file is stored, the terminators are 
      added back.  When a file is loaded, Dmuse makes a best guess 
      determination of which format is in use.  If the format is 
      Linux, a flag is set at the top of the window.  This way, Dmuse 
      can keep track of the file's original format and can restore 
      it thus.  If a window is being stored for the first time, the 
      default is the Microsoft format.  The user may toggle the file 
      format flag by pressing <ctrl><shft>KeyPad *.   This way the user 
      has control over which format is used when storing a file, 
      irrespective of what format the file was in originally.  

          There is one other aspect in how Dmuse uses the two formats.  
      This regards the treatment of the Tab character in a line or record.  
      Normally, Dmuse treats a Tab character (ascii 9) like any other 
      character.  Its display glyph is '┊'.  However, there are times 
      when the user may want the Tab character to actually "tab" to 
      the right, to the next tab distance.  Since we have two format 
      types already, the decision was made to use the Linux format 
      type to implement a tab feature; that is, any tabs encountered 
      in a line will cause spaces to be added out to the next tab 
      distance.  The tab glyph, itself, appears in place of the last 
      added space so that the user can see that the tab was present 
      and was used to add spaces.  Likewise, when a file is being stored 
      in the Linux format, all spaces preceding a Tab character are 
      removed (up to one less than the tab distance).  

          In general, this feature works fine; but there needs to be a 
      way for the user to store a file in Linux format, but also have full 
      control of the position of Tabs and spaces.  This is accomplished 
      using the ascii 250 (the centered ·) character.  If this character 
      is used as a space before a Tab character, the <shft> KeyPad + 
      command will recognize it as such and remove it along with any 
      ascii 32 spaces it finds.  But if this command is combined with 
      the <ctrl> key, i.e. <ctrl><shft>KeyPad +, then only the ascii 
      250 (centered ·) characters are removed.  Thus ascii 32 spaces 
      before Tab characters can be preserved.  If you want to load 
      a Linux formatted file with tabs and you want all added space 
      characters to be represented by ascii 250 (the centered ·), the 
      command <ctrl>Keypad + will do this.  In summary, then, using 
      the <ctrl> key with the commands Keypad + and <shft>KeyPad + will 
      cause the loading and storing of Linux formatted files to use and 
      recognize only the ascii 250 character as added space; the ascii 
      32 characters are unaffected.  

          Note that in the the Microsoft format, the Tab character is 
      treated like any other character, and spaces are neither added 
      nor removed when loading a file to a window or storing a window 
      to a file.  


    ──────────────────────────────────────────────────────────────────