home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / b / krtst0.min < prev    next >
Text File  |  2020-01-01  |  7KB  |  465 lines

  1.     .title    KRTST0.MIN  SET command overlay zero
  2.     .ident    "V03.62"
  3.  
  4. ; /62/    31-May-93  Billy Youdelman
  5.  
  6. ;    Copyright 1984  Change Software, Inc.
  7.  
  8.     .include "IN:KRTMAC.MIN"
  9.     .iif ndf  KRTINC  .error    <; .include for IN:KRTMAC.MIN failed>
  10.     .include "IN:KRTCDF.MIN"
  11.     .iif ndf  KRTCDF  .error     <; .include for IN:KRTCDF.MIN failed>
  12.  
  13.     .mcall    .PURGE
  14.  
  15.     $CMGLOB    = 0
  16.     CVTARG    = C.CRLF ! C.LSPA ! C.SSPA ! C.LCUC ! C.TSPA
  17.  
  18.     .sbttl    Local data
  19.  
  20.     .psect    $rwdata    ,rw,d,lcl,rel,con
  21. savpnt:    .word    0
  22.  
  23.     .psect    $pdata
  24. logext:    .asciz    ".LOG"
  25. prefix:    .asciz    "Logfile "
  26. closit:    .asciz    " is open - Close it? "
  27. ovrwrt:    .asciz    " exists - Overwrite? "
  28. M1$:    .asciz    " opened, "
  29. M2$:    .asciz    " block"
  30. M3$:    .asciz    "BINARY_MODE (fixed 512, no carriage control) enabled"<cr><lf>
  31.     .even
  32.  
  33.  
  34.     .psect    $code
  35.     .sbttl    LOGFILE, SET LOGFILE
  36.     .enabl    lsb
  37.  
  38. c$logf::call    set$log
  39.     tst    r0
  40.     beq    999$
  41.     direrr    r0
  42.     call    incsts
  43. 999$:    return
  44.  
  45. set$lo::tstb    @argbuf
  46.     bne    7777$
  47.     bit    #log$op    ,trace
  48.     bne    7770$
  49.     message    <No LOGFILE is open>,cr
  50.     clr    r0
  51.     br    7771$
  52. 7770$:    call    sd$off
  53. 7771$:    return
  54.  
  55. 7777$:    bit    #log$op    ,trace
  56.     beq    201$
  57.  
  58.     wrtall    #prefix
  59.     wrtall    #logfil
  60.     wrtall    #closit
  61.     calls    kbread    ,<#spare1>
  62.     tst    r0
  63.     beq    189$
  64.     .newline
  65.     br    190$
  66. 189$:    calls    cvt$$    ,<#spare1,r1,#cvtarg>
  67.     tst    r0
  68.     beq    199$
  69.     cmpb    spare1    ,#'Y&137
  70.     beq    200$
  71. 190$:    clr    r0
  72. 199$:    return
  73.  
  74. 200$:    call    sd$off
  75.  
  76. 201$:    clr    savpnt
  77.     mov    argbuf    ,r0
  78. 777$:    tstb    (r0)
  79.     beq    888$
  80.     cmpb    (r0)+    ,#space
  81.     bne    777$
  82.     clrb    -1(r0)
  83.     mov    r0    ,savpnt
  84.  
  85. 888$:    call    L1$
  86.     bcs    299$
  87.     mov    savpnt    ,argpnt
  88.     beq    390$
  89.     call    set$debug
  90.     tst    r0
  91.     beq    390$
  92.     message    <?SET$DEBUG-W-Bad option>,cr
  93.     call    incsts
  94. 390$:    clr    savpnt
  95.     bit    #log$op    ,trace
  96.     bne    290$
  97.     message    <You must SET DEBUG as desired to write to this file>,cr
  98. 290$:    clr    r0
  99. 299$:    return
  100.  
  101. L1$:    bic    #log$al!log$io,trace
  102.     upcase    argpnt
  103.     calls    fparse    ,<argpnt,#errtxt>
  104.     tst    r0
  105.     bne    9999$
  106.  
  107. 5$:    calls    fixfil    ,<#errtxt,#spare1>
  108.     tst    r0
  109.     bne    9999$
  110.  
  111. 7$:    mov    #spare1    ,r2
  112.     cmpb    #'L&137    ,(r2)+
  113.     bne    9$
  114.     cmpb    #'P&137    ,(r2)+
  115.     bne    9$
  116.  
  117.     cmpb    #':    ,(r2)+
  118.     bne    9$
  119.     tstb    (r2)
  120.     beq    3$
  121.  
  122. 9$:    scan    #'.    ,#spare1
  123.     tst    r0
  124.     bne    2$
  125.     strcat    #spare1    ,#logext
  126.  
  127. 2$:    calls    iswild    ,<#spare1>
  128.     tst    r0
  129.     bne    9999$
  130.     clr    index
  131.     calls    lookup,<#spare1,#errtxt>
  132.     tst    r0
  133.     bne    3$
  134.     .purge    #lun.sr
  135.     wrtall    #spare1
  136.     wrtall    #ovrwrt
  137.     calls    kbread    ,<argbuf>
  138.     tst    r0
  139.     beq    23$
  140.     .newline
  141.     bne    9998$
  142. 23$:    calls    cvt$$    ,<argbuf,r1,#cvtarg>
  143.     tst    r0
  144.     beq    9999$
  145.     cmpb    @argbuf    ,#'Y&137
  146.     beq    3$
  147. 9998$:    clr    r0
  148. 9999$:    sec
  149.     return
  150.  
  151. 3$:    calls    create    ,<#spare1,#lun.lo,#text>
  152.     tst    r0
  153.     bne    9999$
  154.     bis    #log$op    ,trace
  155.     copyz    #spare1    ,#logfil ,#30
  156.     tst    infomsg
  157.     beq    90$
  158.     wrtall    #prefix
  159.     wrtall    #logfil
  160.     wrtall    #M1$
  161.     mov    #lun.lo    ,r0
  162.     asl    r0
  163.     mov    sizof(r0),r0
  164.     mov    r0    ,r1
  165.     call    L10266
  166.     wrtall    #M2$
  167.     dec    r1
  168.     beq    1888$
  169.     mov    #'s!40    ,r0
  170.     call    writ1char
  171. 1888$:    .newline
  172. 90$:    clr    r0
  173.     return
  174.  
  175.     .dsabl    lsb
  176.  
  177.  
  178.     .sbttl    SET DEBUG
  179.  
  180. set$de::upcase    argpnt
  181.     calls    getcm0    ,<argpnt,#dbglst>
  182.     tst    r0
  183.     bmi    110$
  184.     tst    wasnul
  185.     bne    110$
  186.     jsr    pc    ,@r1
  187. 110$:    return
  188.  
  189.     command    dbglst    ,NONE    ,3    ,sd$none
  190.     command    dbglst    ,OFF    ,2    ,sd$off
  191.     command    dbglst    ,ON    ,2    ,sd$on
  192.     command    dbglst    ,PACKET    ,1    ,sd$pak
  193.     command    dbglst    ,RAW    ,2    ,sd$raw
  194.     command    dbglst
  195.  
  196. sd$none:call    sd$off
  197.     clr    trace
  198.     clr    r0
  199.     return
  200.  
  201.     .enabl    lsb
  202.  
  203. sd$off::bit    #log$op    ,trace
  204.     beq    20$
  205.     calls    close    ,<#lun.lo>
  206.     bic    #log$op    ,trace
  207.     tst    infomsg
  208.     beq    20$
  209.     wrtall    #prefix
  210.     wrtall    #logfil
  211.     message    < closed>,cr
  212. 20$:    bic    #log$al!log$io,trace
  213.     clr    r0
  214.     return
  215.  
  216.     .dsabl    lsb
  217.  
  218. sd$on:    call    rawchk
  219.     bcs    100$
  220.     call    sdopen
  221.     bcs    100$
  222.     bis    #log$al    ,trace
  223. 100$:    return
  224.  
  225. sd$pak:    call    sdopen
  226.     bcs    100$
  227.     call    rawchk
  228.     bcs    100$
  229.     bic    #log$al    ,trace
  230.     bis    #log$pa    ,trace
  231. 100$:    return
  232.  
  233. rawchk:    bit    #log$io    ,trace
  234.     beq    200$
  235.     mov    #er$rax    ,r0
  236.     sec
  237.     return
  238. 200$:    clr    r0
  239.     return
  240.  
  241.     .enabl    lsb
  242.  
  243. sdopen:    bit    #log$op    ,trace
  244.     beq    1$
  245.     tst    savpnt
  246.     bne    13$
  247.     wrtall    #prefix
  248.     wrtall    #logfil
  249.     message    < is already open>,cr
  250. 13$:    clr    r0
  251.     return
  252. 1$:    mov    argbuf    ,r0
  253. 20$:    tstb    @r0
  254.     beq    90$
  255.     cmpb    (r0)+    ,#space
  256.     bne    20$
  257.     mov    r0    ,argpnt
  258.     call    L1$
  259.     bcc    99$
  260. 90$:    mov    #er$lgf    ,r0
  261.     sec
  262. 99$:    return
  263.  
  264. sd$raw:    call    sdopen
  265.     bcs    100$
  266.     mov    trace    ,r0
  267.     bic    #log$op    ,r0
  268.     beq    10$
  269.     mov    #er$raw    ,r0
  270.     br    100$
  271. 10$:    bis    #log$io    ,trace
  272.     mov    #lun.lo    ,r0
  273.     asl    r0
  274.     mov    sp    ,filtyp(r0)
  275.     tst    infomsg
  276.     beq    80$
  277.     wrtall    #prefix
  278.     wrtall    #M3$
  279. 80$:    clr    r0
  280. 100$:    return
  281.  
  282.     .dsabl    lsb
  283.  
  284.  
  285.     .sbttl    SET PARITY
  286.     .enabl    lsb
  287.  
  288. set$pa::upcase    argbuf
  289.     calls    getcm0    ,<argbuf,#parlst>
  290.     tst    r0
  291.     bmi    110$
  292.     tst    wasnul
  293.     bne    100$
  294.     jsr    pc    ,@r1
  295.     mov    r0    ,parity
  296.     beq    100$
  297.     tst    infomsg
  298.     beq    100$
  299.     message    <Caution: Binary files will require 8-bit prefixing>,cr
  300. 100$:    clr    r0
  301. 110$:    return
  302.  
  303.     .dsabl    lsb
  304.  
  305.     command    parlst    ,EVEN    ,1    ,spa$ev
  306.     command    parlst    ,MARK    ,1    ,spa$ma
  307.     command    parlst    ,NONE    ,1    ,spa$no
  308.     command    parlst    ,ODD    ,1    ,spa$od
  309.     command    parlst    ,SPACE    ,1    ,spa$sp
  310.     command    parlst
  311.  
  312. spa$ev:    mov    #par$ev    ,r0
  313.     return
  314.  
  315. spa$od:    mov    #par$od    ,r0
  316.     return
  317.  
  318. spa$ma:    mov    #par$ma    ,r0
  319.     return
  320.  
  321. spa$sp:    mov    #par$sp    ,r0
  322.     return
  323.  
  324. spa$no:    clr    r0
  325.     return
  326.  
  327.  
  328.     .sbttl    SET RETRY
  329.  
  330. set$re::upcase    argbuf
  331.     calls    getcm0    ,<argbuf,#trylst>
  332.     tst    r0
  333.     bmi    10$
  334.     tst    wasnul
  335.     bne    10$
  336.     jsr    pc    ,@r1
  337. 10$:    return
  338.  
  339. stry$i:    call    stry$$
  340.     tst    r0
  341.     bne    90$
  342.     mov    r1    ,initry
  343. 90$:    return
  344.  
  345. stry$p:    call    stry$$
  346.     tst    r0
  347.     bne    99$
  348.     mov    r1    ,maxtry
  349. 99$:    return
  350.  
  351.     command    trylst    ,INITIAL_CONNECTION,1    ,stry$i    ,<Number: >
  352.     command    trylst    ,PACKET           ,1    ,stry$p    ,<Number: >
  353.     command    trylst
  354.  
  355. stry$$:    call    nextarg
  356.     tstb    @r1
  357.     beq    29$
  358.     calls    l$val    ,<r1>
  359.     tst    r0
  360.     bne    29$
  361.     cmp    r1    ,#3.
  362.     blo    29$
  363.     cmp    r1    ,#30.
  364.     blos    30$
  365. 29$:    mov    #er$try    ,r0
  366. 30$:    return
  367.  
  368.  
  369.     .sbttl    SET SERVER
  370.  
  371. set$sv::upcase    argbuf
  372.     calls    getcm0    ,<argbuf,#svlst>
  373.     tst    r0
  374.     bmi    110$
  375.     tst    wasnul
  376.     bne    110$
  377.     calls    getcm1    ,<argbuf,#svlst,r0>
  378.     tst    r0
  379.     bmi    110$
  380.     jsr    pc    ,@r1
  381. 110$:    return
  382.  
  383. srv$ti:    calls    l$val    ,<argbuf>
  384.     tst    r0
  385.     bne    90$
  386.     mov    r1    ,serwait
  387.     br    100$
  388. 90$:    mov    #er$bad    ,r0
  389. 100$:    return
  390.  
  391. srv$nt:    mov    #60.*120.,serwait
  392.     clr    r0
  393.     return
  394.  
  395.     command svlst    ,NOTIME_OUT    ,1    ,srv$nt
  396.     command svlst    ,TIME_OUT    ,1    ,srv$ti    ,<Seconds: >
  397.     command svlst
  398.  
  399.  
  400.     .sbttl    SET INCOMPLETE_FILE_DISPOSITION
  401.  
  402. set$in::upcase    argbuf
  403.     calls    getcm0    ,<argbuf,#inclist>
  404.     tst    r0
  405.     bmi    110$
  406.     tst    wasnul
  407.     bne    110$
  408.     jsr    pc    ,@r1
  409.     clr    r0
  410. 110$:    return
  411.  
  412.     command    inclist    ,DISCARD,1    ,sin$ds
  413.     command    inclist    ,KEEP    ,1    ,sin$kp
  414.     command    inclist
  415.  
  416. sin$kp:    clr    incfile
  417.     return
  418.  
  419. sin$ds:    mov    sp    ,incfile
  420.     return
  421.  
  422.  
  423.     .sbttl    SET SL
  424.  
  425. set$sl::upcase    argbuf
  426.     calls    getcm0    ,<argbuf,#sl.lst>
  427.     tst    r0
  428.     bmi    100$
  429.     tst    wasnul
  430.     bne    100$
  431.     call    kp.clr
  432.     jsr    pc    ,@r1
  433.     clr    r0
  434. 100$:    return
  435.  
  436.     command sl.lst    ,KED    ,1    ,ssl$ke
  437.     command sl.lst    ,NOKED    ,1    ,ssl$no
  438.     command sl.lst    ,OFF    ,2    ,ssl$of
  439.     command sl.lst    ,ON    ,2    ,ssl$on
  440.     command sl.lst
  441.  
  442. ssl$ke:    mov    sp    ,sl.ked
  443.     return
  444.  
  445. ssl$no:    clr    sl.ked
  446.     return
  447.  
  448. ssl$of:    clr    sl.on
  449.     return
  450.  
  451. ssl$on:    mov    sp    ,sl.on
  452.     return
  453.  
  454.  
  455.     .sbttl    Get the next argument
  456.  
  457. nextarg:mov    argbuf    ,r1
  458. 10$:    tstb    @r1
  459.     beq    100$
  460.     cmpb    (r1)+    ,#space
  461.     bne    10$
  462. 100$:    return
  463.  
  464.     .end
  465.