home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / ccdos / ccsfil.dat < prev    next >
Text File  |  2020-01-01  |  11KB  |  246 lines

  1.         public  bufpnt, buff, chrcnt, init, ofilsz, lnout
  2.         public  gofil, outbuf, ptchr, gtchr, gtnfil, getfil, filbuf
  3.         public  encode, decode, nulref, nulr, decbuf, errpack, rptq
  4.         public  origr, rptct, rptval, clrfln, cxmsg, biterr, intmsg
  5.         public  rtpos, erpos, rppos, stpos, nppos, rprpos, nrtpos, sppos
  6.         public  kbpos, perpos, frpos, prtasz, prtscr, prtfn, fmtdsp
  7.         public  diskio, locfil, strlen, strcat, strcpy, fparse, pktsize
  8.         public  shosta, begtim, endtim, fsta ; statistics procedures
  9.  
  10.         include ccsdef.h
  11.  
  12. getdate equ     2ah             ; DOS get current date
  13. rptmin  equ     3               ; At least 3 of same char in a row
  14.                                 ; equates for screen positioning
  15. ;scrser  equ     0009H           ; place for server state display line
  16. ;scrfln  equ     0116H           ; Place for file name
  17. ;scrkb   equ     0216H           ; Place for percent transferred
  18. ;scrper  equ     0316H           ; Place for Kbytes transferred
  19. ;scrst   equ     0416H           ; Place for status
  20. ;scrnp   equ     0616H           ; Place for number of packets
  21. ;scrsz   equ     0716h           ; packet size
  22. ;scrnrt  equ     0816H           ; Place for number of retries
  23. ;screrr  equ     0916H           ; Place for error msgs.
  24. ;scrhi   equ     0a16H           ; Err when 8th bit is on
  25. ;scrfr   equ     0a16H           ; Rename file
  26. ;scrint  equ     0a16H           ; Acknowledge interrupt
  27. ;scrsp   equ     0D00H           ; Place for send packet
  28. ;scrrp   equ     0F00H           ; Place for receive packet
  29. ;scrrpr  equ     0b00H           ; Prompt when Kermit ends (does cr/lf)
  30.  
  31. datas   segment public 'datas'
  32.         extrn   data:byte, flags:byte, trans:byte, pack:byte, hierr:byte
  33.         extrn   filtst:byte, tloghnd:word, dosnum:byte
  34.         extrn   isccdos:byte    ; Jun 1990
  35.  
  36. scrser  dw      0209H           ; place for server state display line
  37. scrfln  dw      0316H           ; Place for file name
  38. scrkb   dw      0416H           ; Place for percent transferred
  39. scrper  dw      0516H           ; Place for Kbytes transferred
  40. scrst   dw      0616H           ; Place for status
  41. scrnp   dw      0816H           ; Place for number of packets
  42. scrsz   dw      0916h           ; packet size
  43. scrnrt  dw      0a16H           ; Place for number of retries
  44. screrr  dw      0b16H           ; Place for error msgs.
  45. scrhi   dw      0c16H           ; Err when 8th bit is on
  46. scrfr   dw      0c16H           ; Rename file
  47. scrint  dw      0c16H           ; Acknowledge interrupt
  48. scrsp   dw      0D00H           ; Place for send packet
  49. scrrp   dw      0F00H           ; Place for receive packet
  50. scrrpr  dw      1700H           ; Prompt when Kermit ends (does cr/lf)
  51.  
  52. outlin  db      15 dup (' ')
  53.         verdef
  54.         db      cr,lf,lf
  55.         db      cr,lf,'           File name:'
  56.         db      cr,lf,'   Kbytes transfered:'
  57.         db      cr,lf
  58.         db      cr,lf
  59.         db      cr,lf
  60.         db      cr,lf,'   Number of packets:'
  61.         db      cr,lf,'       Packet length:'
  62.         db      cr,lf,'   Number of retries:'
  63.         db      cr,lf,'          Last error:'
  64.         db      cr,lf,'        Last message:'
  65.         db      cr,lf,'$' 
  66.  
  67. cscrser  dw      0009H           ; place for server state display line
  68. cscrfln  dw      0116H           ; Place for file name
  69. cscrkb   dw      0216H           ; Place for percent transferred
  70. cscrper  dw      0316H           ; Place for Kbytes transferred
  71. cscrst   dw      0416H           ; Place for status
  72. cscrnp   dw      0616H           ; Place for number of packets
  73. cscrsz   dw      0716h           ; packet size
  74. cscrnrt  dw      0816H           ; Place for number of retries
  75. cscrerr  dw      0916H           ; Place for error msgs.
  76. cscrhi   dw      0a16H           ; Err when 8th bit is on
  77. cscrfr   dw      0a16H           ; Rename file
  78. cscrint  dw      0a16H           ; Acknowledge interrupt
  79. cscrsp   dw      0D00H           ; Place for send packet
  80. cscrrp   dw      0F00H           ; Place for receive packet
  81. cscrrpr  dw      0b00H           ; Prompt when Kermit ends (does cr/lf)
  82.  
  83. coutlin db      cr,lf,'           ╬─ ╝■ ├√ :'
  84.         db      cr,lf,'  ╥╤┤½╦═╡─╫╓╜┌╩²(Kb):'
  85.         db      cr,lf
  86.         db      cr,lf
  87.         db      cr,lf
  88.         db      cr,lf,'        ╥╤┤½╦═╡─░ⁿ╩²:'       
  89.         db      cr,lf,'                ░ⁿ│ñ:'
  90.         db      cr,lf,'            ╓╪╖ó┤╬╩²:'  
  91.         db      cr,lf,'        ╫ε╜ⁿ╥╗┤╬┤φ╬≤:'
  92.         db      cr,lf,'    ╫ε╜ⁿ╥╗┤╬┤½╦═─┌╚▌:'  
  93.         db      '$'
  94. ermes4  db      '?Unable to make unique name$'
  95. cermes4 db      '?▓╗─▄╜¿┴ó▓╗═¼├√╫╓$'
  96. ermes9  db      '?Printer not ready$'
  97. cermes9 db      '? ┤≥╙í╗·├╗╙╨╫╝▒╕║├$'
  98. erms10  db      '?Unable to store all data$'
  99. cerms10 db      '?▓╗─▄┤µ┤ó╦∙╙╨╩²╛▌$'
  100. erms11  db      '?Disk full$'
  101. cerms11 db      '?┤┼┼╠╥╤┬·$'
  102. erms12  db      '?Unable to create file $'
  103. cerms12 db      '? ▓╗─▄╜¿┴ó╨┬╬─╝■ $'
  104. erms13  db      '?Error writing file$'
  105. cerms13 db      '? ╨┤╬─╝■┤φ╬≤$'
  106. infms1  db      'Server mode: type Control-C to exit',cr,lf,'$'
  107. cinfms1 db      '     ╖■ ╬± ╞≈ ╖╜ ╩╜ :  ┤≥╚δ  Ctrl-C ═╦│÷',cr,lf,'$'
  108. infms5  db      'Renaming file to $'
  109. cinfms5 db      '╬─╝■├√╕─╬¬ $'
  110. infms7  db      'File interrupt$'
  111. cinfms7 db      '╬─╝■╓╨╢╧',cr,lf,'$'
  112. infms8  db      'File group interrupt',cr,lf,'$'
  113. cinfms8 db      '╬─╝■╫Θ╓╨╢╧$'
  114. infms9  db      'User ',5eh,'  interrupt',cr,lf,'$'
  115. cinfms9 db      '╙├╗º ',5eh,'    ╓╨╢╧$'
  116. hibit   db      'File contains 8-bit data',cr,lf,'$'
  117. chibit  db      '╬─╝■░ⁿ║¼╫ε╕▀╬╗╩²╛▌$'
  118. asmsg   db      '  as  $'
  119. casmsg   db     ' ╫≈╬¬ $'
  120. crlf    db      cr,lf,'$'
  121. printer db      'PRN',0
  122.                                 ; DOS special chars allowed in filenames
  123. spchar2 db      '$', 26h, 23h, 40h, 21h, 25h, 27H, '(', ')', '-', 7bh, 7dh
  124.         db      5fh, 5eh, 7eh, 60h
  125. spc2len equ     $-spchar2
  126. rptval  db      0               ; Repeated character
  127. rptct   db      1               ; Number of times it's repeated
  128. rptq    db      drpt            ; Repeat prefix
  129. origr   db      drpt            ; Original repeat prefix
  130. chrcnt  dw      0               ; Number of chars in the file buffer
  131. outpnt  dw      0               ; Position in packet
  132. bufpnt  dw      0               ; Position in file buffer
  133. ofilsz  dw      0               ; Double word original file size (in bytes.)
  134.         dw      0
  135. tfilsz  dw      0               ; Bytes transferred
  136.         dw      0
  137. oldper  dw      0               ; old percentage
  138. oldkbt  dw      0               ; old KB transferred
  139. wrpmsg  db      0               ; non-zero if we wrote percent message
  140. fmtdsp  db      0               ; non-zero if formatted display in use
  141.                                 ; Statistics data storage area
  142. fsta    statinfo <>             ; for last operation values
  143. ssta    statinfo <>             ; for session values
  144. sflag   dw      0               ; flag for send (1) or receive (0)
  145.                                 ;   80h = begtim started
  146.  
  147. lastmsg db      cr,lf,cr,lf,' Totals for the last transfer    ($'
  148. clastmsg db     cr,lf,cr,lf,'╫ε╜ⁿ╥╗┤╬┤½╦═╡─░ⁿ╡─╫▄╩²           ($'
  149. sessmsg db      cr,lf,cr,lf,' Totals since Kermit was started ($'
  150. csessmsg db     cr,lf,cr,lf,'╞⌠╢» Kermit ║≤┤½╦═░ⁿ╡─╫▄╩²       ($'
  151. pinmsg  db      ' sec)'
  152.         db      cr,lf,'  Serial port characters received $'
  153. cpinmsg db      ' ├δ)'
  154.         db      cr,lf,'  ┤«╨╨┐┌╥╤╜╙╩╒╡─╫╓╖√╩²            $'
  155. poutmsg db      cr,lf,'  Serial port characters sent     $'
  156. cpoutmsg db     cr,lf,'  ┤«╨╨┐┌╥╤╖ó╦═╡─╫╓╖√╩²            $'
  157. finmsg  db      cr,lf,'  File characters received        $'
  158. cfinmsg db      cr,lf,'  ╥╤╜╙╩╒╡─╬─╝■╫╓╖√╩²              $'
  159. foutmsg db      cr,lf,'  File characters sent            $'
  160. cfoutmsg db     cr,lf,'  ╥╤╖ó╦═╡─╬─╝■╫╓╖√╩²              $'
  161. pkimsg  db      cr,lf,'  Packets received                $'
  162. cpkimsg db      cr,lf,'  ╥╤╜╙╩╒╡─╩²╛▌░ⁿ╩²                $'
  163. pkomsg  db      cr,lf,'  Packets sent                    $'
  164. cpkomsg db      cr,lf,'  ╥╤╖ó╦═╡─╩²╛▌░ⁿ╩²                $'
  165. nakimsg db      cr,lf,'  NAKs received                   $'
  166. cnakimsg db     cr,lf,'  ╥╤╜╙╩╒╡─ NAK ░ⁿ╩²               $'
  167. nakomsg db      cr,lf,'  NAKs sent                       $'
  168. cnakomsg db     cr,lf,'  ╥╤╖ó╦═╡─ NAK ░ⁿ╩²               $'
  169. baudmsg db      cr,lf,'  Effective baud rate             $'
  170. cbaudmsg db     cr,lf,'  ╙╨╨º▓¿╠╪┬╩                      $'
  171. sndmsg  db      'Sent ',0
  172. rcvmsg  db      'Recv ',0
  173. date    db      '00:00:00 00 Jan 1980',0
  174. datelen equ     $-date-1
  175. atmsg   db      cr,lf,'  at '
  176. atlen   equ     $-atmsg
  177. fasmsg  db      ' as '
  178. faslen  equ     $-fasmsg
  179. cfasmsg  db     '╫≈╬¬'
  180. cfaslen  equ    $-cfasmsg   ; not used, Jun 1990
  181.  
  182. fsucmsg db      ', completed, bytes: ',0
  183. cfsucmsg db     ',  ╜ß╩° ,  ╫╓╜┌╩² : ',0
  184. fbadmsg db      ', failed, bytes: ',0
  185. cfbadmsg db     ',  ╩º░▄ , ╫╓╜┌╩² : ',0
  186. fintmsg db      ', interrupted, bytes: ',0
  187. cfintmsg db     ', ╓╨╢╧, ╫╓╜┌╩²: ',0
  188. months  db      'JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP'
  189.         DB      'OCT','NOV','DEC'
  190.  
  191. ;cmonth  db      '╥╗╘┬','╢■╘┬','╚²╘┬','╦─╘┬','╬σ╘┬','┴∙╘┬','╞▀╘┬','░╦╘┬','╛┼╘┬'
  192. ;       DB      '╩«╘┬','╩«╥╗╘┬','╩«╢■╘┬'
  193.  
  194.   
  195. tens    dd      1,10,100,1000,10000,100000,1000000,10000000,100000000
  196.         dd      1000000000
  197. tenslen equ     ($-tens) / 4    ; number of double words in array tens
  198.                                 ; end statistics data area
  199. onek    dw      1024
  200. onehun  dw      100
  201. sixty   dw      60
  202. ten     dw      10
  203. denom   dw      0
  204. permsg  db      cr,' Percent transferred:$'
  205. cpermsg db      cr,'          ┤½╦═░┘╖╓▒╚:$'
  206. cxzhlp  db      '^X cancels file, ^Z cancels batch'
  207.         db      ', ^E quits protocol'
  208.         db      ', ^C quits'
  209.         db      ', Return retries'
  210.         db      '$'
  211. ccxzhlp db      '   ^X  ╚í╧√╬─╝■,  ^Z  ╚í╧√┼·╬─╝■'
  212.         db      ',  ^E  ═╦│÷╣µ│╠'
  213.         db      ',  ^C  ═ú╓╣═¿╨┼'
  214.         db      ',  <╗╪│╡>  ╓╪╖ó   '
  215.         db      '$'
  216. erword  db      cr,lf,'Error $'
  217. cerword db      cr,lf,' │÷┤φ $'
  218. rtword  db      cr,lf,'Retry $'
  219. crtword db      cr,lf,'╓╪╖ó  $'
  220. cxzser  db   cr,lf,'Type Control X to cancel file, Control Z to cancel batch,'
  221.         db   cr,lf,' Control E to quit protocol, Control C to quit abruptly,'
  222.         db   cr,lf,' or Return to retry',cr,lf,'$'
  223. ccxzser db   cr,lf,'  ╝ⁿ╚δ  Ctrl-X  ╚í╧√╬─╝■ ,    Ctrl-Z  ╚í╧√┼·╬─╝■ ,  '
  224.         db   cr,lf,'     Ctrl-E  ═╦│÷╣µ│╠ ,    Ctrl-C  ┴ó╝┤═ú╓╣═¿╨┼ ,  '
  225.         db   cr,lf,'  ╗≥  <╗╪│╡>  ╓╪╖ó  ',cr,lf,'$' 
  226. templp  db      65 dup (?)      ; temp for local path part
  227. templf  db      14 dup (?)      ; temp for local filename part
  228. temprp  db      65 dup (?)      ; temp for remote path part
  229. temprf  db      14 dup (?)      ; temp for remote filename part
  230. locfil  db      65 dup (?)      ; local filename for receive and get
  231. rdbuf   db      65 dup (?)      ; temp work buffer
  232. diskio  filest  <>              ; ditto, for ordinary file transfers
  233.  
  234. buff    db      buffsz dup (?)  ; Use as our Disk Transfer Area
  235. filbuf  equ     this byte       ; make filbuf and decbuf the same address
  236. decbuf  db      maxpack+10 dup (?) ; For decoding incoming data (+guard)
  237. unum    dw      ?               ; unique filename generation number
  238. havdot  db      ?               ; dot-found status in verify
  239. prepksz dw      0               ; previous packet size
  240. toscreen db     'Screen',0      ; for transaction logging
  241. ctoscreen db    ' ╞┴─╗ ',0
  242. datas   ends
  243.  
  244.  
  245.  
  246.