home *** CD-ROM | disk | FTP | other *** search
/ norge.freeshell.org (192.94.73.8) / 192.94.73.8.tar / 192.94.73.8 / pub / computers / cpm / alphatronic / MIXED110.ZIP / READ.ME < prev    next >
Text File  |  1997-11-10  |  8KB  |  243 lines

  1.                        Mix Editor Patches                    1.1.0
  2.                        ==================
  3.  
  4. Changing the default setup file:
  5. --------------------------------
  6.  
  7.    The default setup file for the editor is named: SETUP.EDT .  If no
  8. setup file is specified on the command line, the editor will search
  9. for this file on the default disk drive.  If it is not found there,
  10. the editor will look for it on drive A.  If you wish to use a
  11. different drive or a different name for the file, this name may be
  12. patched.  The name of the setup file begins at 115D in the file
  13. EDIT.OVY and has four leading blanks.  The new name must be exactly
  14. 13 characters long but may be padded on the left with blanks if it is
  15. shorter.  The following sample patch changes the file name so that
  16. the editor will look for the setup file on drive C.
  17.  
  18.    Use DDT to apply the patch as shown below:
  19.  
  20.    A>DDT EDIT.OVY
  21.  
  22.    DDT VERS 2.2
  23.    NEXT  PC
  24.    6C00 0100
  25.    -D115D,116B
  26.    115D 20 20 20
  27.    1160 20 53 45 54 55 50 2E 45 44 54 20 20 SETUP.EDT
  28.    -S115F
  29.    115F 20 43
  30.    1160 20 3A
  31.    1161 53 .
  32.    -D115D,116B
  33.    115D 20 20 43    C
  34.    1160 3A 53 45 54 55 50 2E 45 44 54 20 20 :SETUP.EDT
  35.    -^C
  36.    A>SAVE 107 EDIT.OVY
  37.    A>
  38.  
  39.  
  40. Changing the work file:
  41. -----------------------
  42.  
  43.    The editor uses one or two work files to hold text that is not in
  44. memory.   You may wish to change the names of these files if more than one
  45. person is using the editor on a network with shared disk storage.  Each
  46. user can have a copy of the editor with a different work file name so
  47. that the files will not conflict.  The name of the work file must have
  48. exactly 8 characters and the 3rd and 4th characters must remain as "0".
  49. Any other characters in the file name can be changed.  The example below
  50. changes the name of the work file to use T1 as a prefix instead of T0.
  51.  
  52.  
  53.    A>DDT EDIT.OVY
  54.  
  55.    DDT VERS 2.2
  56.    NEXT  PC
  57.    6C00 0100
  58.    -D11AA,11B1
  59.    11AA 54 30 30 30 2E 54 T000.T
  60.    11B0 4D 50 MP
  61.    -S11AA
  62.    11AA 54
  63.    11AB 30 31
  64.    11AC 30 .
  65.    -D11AA,11B1
  66.    11AA 54 31 30 30 2E 54 T100.T
  67.    11B0 4D 50 MP
  68.    -^C
  69.    A>SAVE 107 EDIT.OVY
  70.    A>
  71.  
  72. Changing the block file:
  73. -----------------------
  74.  
  75.    The editor uses a temporary file to hold the contents of a block
  76. being moved with input block or output block.  This file is always
  77. placed on the default disk and is named "T030.TMP" .  The following
  78. sample patch changes the name of this file so that it will always be
  79. created on drive A.
  80.  
  81.  
  82.    A>DDT EDIT.OVY
  83.  
  84.    DDT VERS 2.2
  85.    NEXT  PC
  86.    6C00 0100
  87.    -D118B,1194
  88.    118B 20 20 54 30 33   T03
  89.    1190 30 2E 54 4D 50 0.TMP
  90.    -S118B
  91.    118B 20 41
  92.    118C 20 3A
  93.    118D 54 .
  94.    -D118B,1194
  95.    118B 41 3A 54 30 33 A:T03
  96.    1190 30 2E 54 4D 50 0.TMP
  97.    -^C
  98.    A>SAVE 107 EDIT.OVY
  99.    A>
  100.  
  101.  
  102. Changing the editor overlay file:
  103. ---------------------------------
  104.  
  105.    The overlays for the editor are contained in a file named "EDIT.OVY" .
  106. When the editor is loaded, it searches for this file on the default drive.
  107. If the overlay file is not found on the default drive, the editor looks
  108. for it on drive A.  The name of the overlay file is contained in a CP/M
  109. file control block that begins at address 516A.  The name of this file
  110. may be changed by patching.  The first byte indicates the disk drive.  If
  111. this byte is zero, the overlays can be on the default drive or drive A, if
  112. this byte is not zero, then it specifies the disk drive for the overlay file.
  113. The editor will not search drive A if the first byte of the control block is
  114. not zero.
  115.  
  116.    The following sample patch changes the name of the overlay file to
  117. "D:EDITOR.OVY" .
  118.  
  119.    DDT B:EDIT.COM
  120.    DDT VERS 2.2
  121.    NEXT  PC
  122.    5680 0100
  123.    -D516A,5175
  124.    516A 00 45 44 49 54 20 .EDIT
  125.    5170 20 20 20 4F 56 59    OVY
  126.    -S516A
  127.    516A 00 04
  128.    516B 45
  129.    516C 44
  130.    516D 49
  131.    516E 54
  132.    516F 20 4F
  133.    5170 20 52
  134.    5171 20 .
  135.    -D516A,5175
  136.    516A 00 45 44 49 54 4F .EDITO
  137.    5170 52 20 20 4F 56 59 R  OVY
  138.    -^C
  139.    A>SAVE 87 EDIT.COM
  140.    A>
  141.  
  142.  
  143.  
  144.                        Special Cursor Addressing
  145.                        =========================
  146.  
  147.    If cursor addressing cannot be accomplished by sending characters to
  148. the terminal, you can add an assembly language routine to perform this
  149. function.  The custom cursor addressing option provided in setedit can
  150. handle cursor addressing for almost any terminal.  For custom cursor
  151. addressing to work, the terminal must move the cursor in response to a
  152. sequence of characters sent to it.  This is normally some form of escape
  153. sequence.
  154.  
  155.    If your terminal (or memory mapped video) does not allow cursor
  156. addressing with a sequence of characters, then you must use the special
  157. cursor addressing option.  To use this option you must execute setedit
  158. and specify special cursor addressing.  In addition, you need to write
  159. an assembly language routine to position the cursor.
  160.  
  161.    When the cursor is to be moved, the editor will transfer control to
  162. address 48EE in memory.  The row number will be in register H and the
  163. column number will be in register L.  Your assembly language should
  164. use this information to move the cursor and then return to the editor
  165. with a RET instruction.  All of the registers are available and your
  166. subroutine may occupy up to 64 bytes of memory.  The code should be
  167. assembled with an origin of (hex) 48EE and a .HEX file generated.
  168.  
  169.    To merge the assembly language driver into the editor, perform the
  170. following steps.
  171.  
  172.    1. Load the editor with DDT by:   DDT EDIT.COM
  173.    2. Use the I command in DDT to specify the .HEX file
  174.       containing your subroutine.
  175.    3. Use the R command to read the subroutine into memory.
  176.    4. Type control/c to exit to CP/M.
  177.    5. Save the new image with:  SAVE 87 EDIT.COM
  178.  
  179.  
  180. Example:
  181.  
  182. ;
  183. ;   This is a sample assembly language subroutine to position
  184. ;   the cursor.  This example assumes that a 16 line by 64 character
  185. ;   memory mapped video board is installed in the system at an
  186. ;   address of hex FC00.  The cursor address is stored in location
  187. ;   hex 40 in memory, and that the most significant bit of the
  188. ;   byte under the cursor is set to make the cursor character appear
  189. ;   in reverse video.
  190. ;
  191. MEMORY   EQU  0FC00H
  192. CURSOR   EQU  040H
  193. CSRBIT   EQU  080H
  194. ;
  195.          ORG  048EEH
  196. ;
  197. ;  On entry, the row is in H and the column is in L
  198. ;
  199.          PUSH H
  200.          LHLD CURSOR          ; deselect old cursor
  201.          MOV  A,M
  202.          XRI  CSRBIT
  203.          MOV  M,A
  204.          POP  D               ; get new cursor address
  205.          MOV  A,D
  206.          RAR                  ; shift row into position
  207.          RAR
  208.          MOV  D,A             ; save shifted row
  209.          ANI  3               ; mask upper two bits
  210.          MOV  H,A
  211.          MOV  A,D             ; get low 2 bits of row
  212.          ANI  0C0H            ; isolate them
  213.          ADD  E               ; add column number
  214.          MOV  L,A
  215.          LXI  D,MEMORY        ; Add origin of memory board
  216.          DAD  D
  217.          SHLD CURSOR          ; Set new cursor
  218.          MOV  A,M             ; Invert cursor character
  219.          XRI  CSRBIT
  220.          MOV  M,A
  221.          RET
  222.          END
  223.  
  224.    A>ASM CURSOR
  225.    CP/M ASSEMBLER - VER 2.0
  226.    490F
  227.    000H USE FACTOR
  228.    END OF ASSEMBLY
  229.  
  230.    A>DDT EDIT.COM
  231.    DDT VERS 2.2
  232.    NEXT  PC
  233.    5680 0100
  234.    -ICURSOR.HEX
  235.    -R
  236.    NEXT  PC
  237.    5680 0100
  238.    -^C
  239.    A>SAVE 87 EDIT.COM
  240.    A>
  241.  
  242.   L,A
  243.          LXI  D,MEMORY