home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / utils / dirutl / front51.ark / FRNT51PT.ASM < prev    next >
Encoding:
Assembly Source File  |  1986-12-16  |  12.6 KB  |  201 lines

  1.  
  2.  
  3. ;FRNT51PT.ASM
  4. ; PATCH INFORMATION AND OVERLAY FOR FRONT v. 5.1
  5. ; (c) 1986 Claude Ostyn   3/30/86
  6.  
  7. ESC     EQU     27
  8.  
  9.         ORG     01F4H   ;Patch area begins here                
  10.  
  11.         ;Terminal patch area - 
  12.         ;       many labels have same meaning as in WordStar(TM)
  13.                 
  14. HITE:   DB      24      ; screen height                               01F4H
  15. WID:    DB      80      ; screen width  (52 to 104)                   01F5H
  16. CLRSCR:                 ; string to erase screen                 
  17. DB      1               ; number of bytes                             01F6H
  18.         DB      1AH,0,0,0,0,0,0,0  ; string 
  19. CLEAD1: DB      2       ; lead-in string for cursor control           01FFH                                                   
  20.         DB      ESC,'=' ;
  21.         DB      0,0,0,0,0,0 
  22. CLEAD2: DB      0       ; string sent between row and column          0208H        
  23.         DB      0,0,0,0 ;
  24. CTRAIL: DB      0       ; string sent after cursor control            020DH
  25.         DB      0,0,0,0 ;
  26. CB4LFG: DB      0       ; non-zero if column sent before row          0212H
  27. LINOFF: DB      20H     ; row offset                                  0213H
  28. COLOFF: DB      20H     ; column offset                               0214H
  29. ASCUR:  DB      0       ; 0 = send binary cursor position value       0215H
  30.                         ; 2 = send 2 ASCII digits                        
  31.                         ; 3 = send 3 ASCII digits                        
  32. ERAEOL: DB      02      ; erase from cursor to end of line            0216H
  33.         DB      ESC,'T' ;
  34.         DB      0,0,0,0 ;
  35. LINDEL: DB      02      ; delete current line                         021DH
  36.         DB      ESC,'R' ;
  37.         DB      0,0,0,0 ;
  38. LININS: DB      02      ; insert a line                               0224H
  39.         DB      ESC,'E' ;
  40.         DB      0,0,0,0 ;
  41. MACHFL: DB      0       ; 1    if Osborne 1 only                      022BH
  42.                         ; 0    for all others                                    
  43.                                                                                  
  44. ; Video enhancements
  45.  
  46. IVON:   DB      01      ; inverse video ON (for menu selections)     022CH                                                    
  47.         DB      '[',0,0 ; must be 01,'[' if not available
  48.         DB      0,0,0
  49. IVOFF:  DB      01      ; inverse video OFF                          0233H
  50.         DB      ']',0,0 ; must be 01,']' if not available
  51.         DB      0,0,0
  52. HIVON:  DB      0       ; highlight or underline ON (drive)          023AH
  53.         DB      0,0,0   ; - if not available set to 0
  54.         DB      0,0,0
  55. HIVOFF: DB      0       ; highlight or underline OFF                 0241H
  56.         DB      0,0,0
  57.         DB      0,0,0 
  58. TRMINI: DB      0       ; string sent to terminal at beginning       0248H
  59.         DB      0,0,0,0 ; of program
  60.         DB      0,0,0,0
  61. TRMUNI: DB      0       ; sent to terminal before exit               0251H
  62.         DB      0,0,0,0
  63.         DB      0,0,0,0
  64. ; The following are optional jumps or dummy subroutines which may                
  65. ; be modified by FRNSTL terminal installation.  Use caution!                            
  66. INISUB: RET ! NOP ! NOP ; optional jump to initialization            025AH
  67.                         ; subroutine called every time FRONT is
  68.                         ; started (routine be put at morpat)                         
  69. UNISUB: RET ! NOP ! NOP ; jump to de-initialization                  025DH
  70.                         ; routine (called every time FRONT ends)
  71. EXESUB: RET ! NOP ! NOP ; jump to special routine called if          0260H
  72.                         ; executing a command                            
  73. ESCSUB: RET ! NOP ! NOP ; jump to special routine called if          0263H
  74.                         ; ESCaping to to CP/M                            
  75. ; Terminal name (12 bytes) - used by FRINSTAL only
  76. TRMNAM:  DB     0,0,0,0,0,0,0,0,0,0,0,0 ;                            0266H
  77. INSTFLG: DB     1       ; installation flag (if not zero, FRONT      0272H
  78.                         ; has not been installed yet)                    
  79.                                                                                  
  80. ; Arrow key definition (the normal ^H,^J,^K,^L will also work whatever           
  81. ; definitions are installed below)                                               
  82. ; (as shown, compatible with WordStar cursor commands)
  83. ARRWKL:  DB     1       ; length of string sent by terminal          0273H
  84.                         ; when arrow key is pressed (1..4)               
  85. ESCDELY: DB     5       ; (0..255)                                   0274H
  86.                         ; length of the delay loop to discriminate        
  87.                         ; between lead-in character alone and lead-      
  88.                         ; in character as part of the string sent        
  89.                         ; by an arrow key (adjust according to the       
  90.                         ; time between each character and to cpu         
  91.                         ; clock speed)                                   
  92. ; 4 bytes each                                                                   
  93. ARROWL:  DB     'S'-40h,0,0,0   ; left arrow key code                0275H
  94. ARROWU:  DB     'E'-40h,0,0,0   ; up arrow                           0279H
  95. ARROWR:  DB     'D'-40h,0,0,0   ; right arrow                        027DH
  96. ARROWD:  DB     'X'-40h,0,0,0   ; down arrow                         0281H
  97.                                                                                  
  98. ;====== ADDITIONAL CUSTOM PATCH AREA ======                                      
  99.                                                                                  
  100. MORPAT:                                                                          
  101.                                                                                  
  102.         DS      80H             ; 128 bytes available                0286H
  103.                                 ; note: FRNSTL may overwrite
  104.                                 ; part of this area when installing
  105.                                 ; for some machines
  106.                                                                                  
  107. ;==== FUNCTIONAL PATCH AREA ====                                                 
  108.                                                                                  
  109.         ORG     MORPAT + 80H                                         
  110.  
  111. ;file search masks                                                               
  112.                                                                                  
  113. TYPECOM: DB     'COM'   ; replace with 0,0,0 if you do not want      0305H
  114.                         ; to list COM files 
  115. ; file type table                                                                
  116. ; up to 8 file types to be listed in menu can be defined here                    
  117. ; pad with zeros for unused types                                                
  118.                                                                                  
  119. TYPE1:  DB      'SUB'   ;                                            0308H
  120. TYPE2:  DB      'BAS'   ;                                            030BH
  121. TYPE3:  DB      'CMD'   ;                                            030EH
  122. TYPE4:  DB      'XQT'   ;                                            0311H
  123. TYPE5:  DB      'INT'   ;                                            0314H
  124. TYPE6:  DB      0,0,0   ;                                            0317H
  125. TYPE7:  DB      0,0,0   ;                                            031AH
  126. TYPE8:  DB      0,0,0   ;                                            031DH
  127.                                                                                  
  128. ; The next table contains the name of SUBMIT.COM or other program           
  129. ; required to execute files of each of the types defined above.                                  
  130. ; Must be followed by at least one zero, and include drive designator.           
  131. ; (examples: 'A:SUBMIT',0,0,0 or 'A:EX14',0).                                    
  132. ; Each entry must be exactly 11 bytes long.                                      
  133.                                                                                  
  134. TYP1COM:        DB      'A:SUBMIT',0,0          ,0 ;                 0320H
  135. TYP2COM:        DB      'A:MBASIC',0,0          ,0 ;                 032BH
  136. TYP3COM:        DB      'A:DBASE',0,0,0         ,0 ;                 0336H
  137. TYP4COM:        DB      'A:SC2'  ,0,0,0,0,0     ,0 ;                 0341H
  138. TYP5COM:        DB      'A:CRUN2',0,0,0         ,0 ;                 034CH
  139. TYP6COM:        DB      'A:XXXXXXXX'            ,0 ;                 0357H
  140. TYP7COM:        DB      'A:XXXXXXXX'            ,0 ;                 0362H
  141. TYP8COM:        DB      'A:XXXXXXXX'            ,0 ;                 036DH
  142.                                                                                  
  143. LSTSYS: DB      0       ; non-zero to list SYS files                 0378H
  144. LISTOG: DB      'H'     ; char used to toggle SYS file display       0379H
  145. SHWTYP: DB      0       ; if non-zero and command not                037AH
  146.                         ; .com, type will be shown                       
  147. SHWTOG: DB      'T'     ; char used to toggle type display           037BH
  148. SORTED  DB      1       ; if non-zero, menu sorted alphabetically    037CH
  149. SORTOG  DB      'S'     ; character used to toggle sorted menu       037DH
  150. ESCCHAR DB      ESC     ; character used to call special options     037EH
  151.  
  152. ; wildcard name for all searches except ID   
  153. WLDNM   DB      '???????????'   ;                                    037FH
  154. IDFLAG  DB      1       ; if not zero, show disk ID on menu          038AH
  155. IDMASK  DB      '-??????????'   ; wildcard for disk ID dummy file    038BH
  156. CROWDED DB      0       ; if not zero, packed display                0396H
  157.                         ; if zero, more space between menu items
  158. DFLTDRV DB      0       ; drive to select when starting FRONT        0397H
  159.                         ; 0 = 'current' default drive                    
  160.                         ; 1..16 decimal = specific drive A..P            
  161. DFLTUSR DB      0       ; startup user number (0-16 decimal)         0398H
  162.                         ; used only if DFLTDRV non-zero                  
  163. STDBIOS DB      0       ;  1 = standard BIOS calls                   0399H
  164.                         ;  may be used for error trapping
  165.             ;  and chaining to executed program is done
  166.             ;  by writing command into CCP command buffer
  167.             ;  0 = no BIOS calls, and 
  168.             ;  chaining is through $$$.SUB file
  169.             ;  (set to zero if FRONT bombs when changing
  170.             ; drive or attempting to execute a command)
  171. DELAY1  DB      0       ; time between display of selected command   039AH
  172.                         ; and actual execution.                                  
  173.                         ; 1 = approx. 1/10 second with 4MHz clock
  174.                         ; (if long enough, will allow user                       
  175.                         ; to cancel execution by hitting ESC)                    
  176. SUBRPT  DB      2       ; 0 = no repeat                              039BH
  177.                         ; 1 = allow Osborne 1 repeat (FRONT must 
  178.                         ;     be renamed AUTOST.COM for this to work)                                      
  179.                         ;     A special patch must be installed in MORPAT                
  180.                         ; 2 = create a $$$.SUB file on drive A so 
  181.                         ;     CCP will automatically reload FRONT
  182.             ; 3 = create a $$$.SUB file on default drive
  183.             ;     so ZCPR can reload FRONT
  184. SUBMSFL DB      1       ; if non-zero and SUBRPT > 1, print warning  039CH
  185.                         ; message in case disk is write-protected                           
  186.  
  187. ZCMDFL  DB    0       ; non-zero if using ZCMD (change user areas  039DH
  188.             ; with the >Dn: command rather than the
  189.             ; standard >USER n command)
  190.  
  191. ; command installed into $$$.SUB to make it repeat FRONT 
  192. ; (this is the name under which FRONT is installed, and it is 
  193. ; patched automatically by FRNSTL when saving FRONT)
  194. ; no more than 10 characters in command after initial "$"                              
  195. ; note: FRNSTL always saves the name with A: for the drive;
  196. ; if you want FRONT to reside on another drive, patch manually 
  197. SUBPFNAM DB     '$A:FRONT51',0,0,0 ;                                 039EH
  198.                                                                                  
  199. ;---- END OF PATCH AREA -----                                                    
  200. END