home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
computervision.tar.gz
/
computervision.tar
/
kermit.spack
< prev
next >
Wrap
Text File
|
1987-02-19
|
2KB
|
71 lines
; 07 aug 85 dg call TPUTCH with rmtdev - nuke CH
; 16 jly 85 esj converted
;;;;;;;;;;;; SPACK ;;;;;;;;;;;;;;;;;;;;;;;
E'F A:S(NWLS)
E'O SPACK.(XTYPE,NUM,LEN,XDATA)
; send this packet to the remote KERMIT
/INCLUDE BYU.PROG.KERMIT.SYM.EQU.KERCOM
/INCLUDE BYU.PROG.KERMIT.SYM.EQU.KERDEF
I'R XTYPE,XDATA(1),NUM,LEN
I'R TV1,TV2,TV3
I'R I,COUNT,CHKSUM,BUFFER(132)
;------------------------------< real code >----------------------------
I=0 ;out on, start with the first byte
W'E (I.LE.PAD) ;send out padchar if need
E'E TPUTCH.(PADCHAR,RMTDEV)
I=I+1
E'W
; ;build up the packet
COUNT=0
BUFFER(COUNT)=SOH
COUNT=COUNT+1
CHKSUM=TOCHAR.(LEN+3)
BUFFER(COUNT)=TOCHAR.(LEN+3)
COUNT=COUNT+1
CHKSUM=CHKSUM+TOCHAR.(NUM)
BUFFER(COUNT)=TOCHAR.(NUM)
COUNT=COUNT+1
CHKSUM=CHKSUM+XTYPE
BUFFER(COUNT)=XTYPE
COUNT=COUNT+1
T'H L1 FOR I=0, 1, I .GE. LEN ;copy the content of packet informa
BUFFER(COUNT)=XDATA(I) ;calculate the checksum
COUNT=COUNT+1
CHKSUM=CHKSUM+XDATA(I)
L1 C:E
TV1=CHKSUM.LAND.192
TV2=TV1/64
TV3=TV2+CHKSUM
CHKSUM=TV3.LAND.63
BUFFER(COUNT)=TOCHAR.(CHKSUM)
COUNT=COUNT+1
BUFFER(COUNT)=EOL
BUFFER(COUNT+1)=EOS
* E'E HEXDMPP.(1,COUNT+2,1,BUFFER)
COUNT=0
W'E (BUFFER(COUNT).NE.EOS) ;send out the packet
E'E TPUTCH.(BUFFER(COUNT),RMTDEV)
COUNT=COUNT+1
E'W
F'N GOOD
E'N