home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / computervision / kermit.sbreak < prev    next >
Text File  |  2020-01-01  |  2KB  |  53 lines

  1. ; 16 jly 85 esj converted
  2. ;;;;;;;;;;;;;       SBREAK       ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3.       E'F A:S(NWLS)
  4.       E'O SBREAK.(X)
  5.  
  6. ;     send the break packet to signify the end of transmissions
  7.  
  8. /INCLUDE BYU.PROG.KERMIT.SYM.EQU.KERCOM
  9. /INCLUDE BYU.PROG.KERMIT.SYM.EQU.KERDEF
  10.  
  11.       I'R NUM,LEN,STATUS,X,TNUM
  12.       I'R TV1,TV2,TV3
  13.  
  14.       W'R (NUMTRY.GT.MAXTRY)
  15.          LCLSTATE=BIGA                             ;exceeded max. # of re-
  16.          F'N LCLSTATE                                  ;gives up
  17.       O'E
  18.           NUMTRY=NUMTRY+1                        ;try it again
  19.       E'L
  20.  
  21.       TNUM=N
  22.       TV1=BIGB
  23.       TV2=0
  24.       TV3=0
  25.       E'E SPACK.(TV1,TNUM,TV2,TV3)
  26.       STATUS=RPACK.(LEN,NUM,RECPKT)
  27.  
  28.       W'R (STATUS.EQ.BIGN)                     ;we got a NAK packet
  29.          W'R (N.NE.(NUM-1))
  30.             LCLSTATE=STATE
  31.             F'N LCLSTATE
  32.           E'L
  33.  
  34.       O'R (STATUS.EQ.BIGY)                ;we got a ACK packet
  35.               W'R (N.NE.NUM)
  36.                  LCLSTATE=STATE                    ;but it is out of seque
  37.                  F'N LCLSTATE
  38.               E'L
  39.               NUMTRY=0
  40.               N=(N+1).MOD.64
  41.               LCLSTATE=BIGC                        ;change state to comple
  42.               F'N LCLSTATE                             ;status
  43.  
  44.       O'R (STATUS.EQ.BAD)
  45.               LCLSTATE=STATE
  46.               F'N LCLSTATE
  47.  
  48.       O'E
  49.            LCLSTATE=BIGA                           ;receive unknown packet
  50.       E'L                                      ;type or error packet
  51.       F'N LCLSTATE
  52.       E'N
  53.