home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
cmsoriginal.zip
/
cmsv2.bwr
< prev
next >
Wrap
Text File
|
1985-04-15
|
73KB
|
1,657 lines
CMS Kermit Version 2.01 - Known Bugs and Restrictions (as of 25 Oct 85):
* Current:
CMS Kermit won't accept a "send-as" name that contains a space
separating the file name and file type. You must include a dot,
which CMS Kermit will then translate to a space. This may also
apply to the "get" name.
If RECFM is fixed and FILE is text, the padding is wrong. In the
routine OUTBUF, the line:
L R15,=X'00000040' Pad with spaces [2]
should be replaced with:
L R15,=X'40000000' Pad with spaces [2]
-----
CMS Kermit processes command line arguments before the initialization
file, rather than the other way around (which would seem more natural).
-----
CMS Kermit does not seem to close a TAKE file, so the TAKE command can't
be issued more than once.
-----
When used with a 7171 front end, CMS Kermit will sometimes fail when files
are being sent to it. This is apparently because the 7171 can become
overloaded and fail to allocate buffers fast enough. One workaround seems
to be to reduce the packet size to 64 characters or less.
-----
Date: Tue, 17 Sep 85 00:19:12 EDT
From: Peter DiCamillo <CMSMAINT@BROWNVM>
Subject: CMS Kermit Server Logout Problem Solved
I think I've figured out why the CMS Kermit server doesn't log itself out
correctly through a Series/1 or 7171. There are two problems. First, when CMS
Kermit sends an ack to the logout or finish command, it uses transparent
write/read, as if it expected a response. The micro doesn't send a response,
which I believe matches the Kermit protocol, so the user has to complete the
read. The following update to CMS Kermit corrects this problem by sending the
final ack with just a transparent write:
./ R 00846000 $ 846290 290 09/16/85 22:44:58
DC X'40',AL1(SBA),X'5D7F',AL1(SBA) UPDATE1 00846290
S1ORDAD DC X'0001' addr. -> 0 for write UPDATE1 00846580
./ I 01601000 $ 1601500 500 09/16/85 22:44:58
XC S1ORDAD(2),S1ORDAD just write when ending UPDATE1 01601500
./ I 02869000 $ 2869300 300 09/16/85 22:44:58
CLC S1ORDAD(2),=H'0' was write/read done? UPDATE1 02869300
BE SPRET no: return now UPDATE1 02869600
^
[Ed. - I've removed some spaces so this will fit on the screen.]
The second problem affects only the logout command. Before issuing the
CP LOG command, CMS Kermit uses the sequence of WRTERM and WAITT to send
an XON to the micro and wait for the write to complete. However, if the
console is a Series/1 or 7171, CMS Kermit's own console interrupt handler
is still in control, so CMS hangs when the WAITT is executed. Also, to send
an XON in this case would require another transparent write, since WRTERM
cannot send control characters through a full-screen interface. The following
update solves this problem by bypassing the calls to WRTERM and WAITT for
Series/1 and 7171 connections. It seemed safe to skip them since they
weren't working in this case anyway.
./ I 01607000 $ 1607300 300 09/16/85 22:44:58
TM S1FLAGS,ISS1 Is console a S/1? UPDATE2 01607300
BO SERVLOG Yes: skip line mode I/O UPDATE2 01607600
./ R 01611000 $ 1611490 490 09/16/85 22:44:58
SERVLOG LA 1,=C'LOG' UPDATE2 01611490
^
[Ed. - Ditto...]
These updates are for CMS Kermit Version 2.01, and assume serialization
starting at 1000 with an increment of 1000. I've tested them with
success on both a Series/1 and a 7171.
-----
Date: Wed, 18 Sep 85 9:11:17 BST
From: Andrew J Cole <ajcole@ucl-cs.arpa>
Subject: CMS Kermit 2.01
CMS Kermit 2.01 works very well with one small exception (non-feature?).
If server mode is entered directly from the CMS command line Kermit seems
to fail to read the KERMINI files.
-----
* Updates since 2.00:
There is a problem with repeat prefix receive. If prefixing was
done on 'x' number of carriage returns or line feeds, the next
'x' characters were written as nulls. [fixed in 2.01]
CMS Kermit does not handle the situation correctly if the other side
does not know about repeat prefixing. [fixed in 2.01]
Expects that CMS Kermit is run either via a TTY or a 3277. This is
not necessarily true; 3278's and 3279's are possible. [fixed in 2.01]
-----
Date: 9 October 1985, 13:36:52 EDT
From: Philip Murton (416) 978-5271 MURTON at UTORONTO
To: DFTCU at CUVMA
Re: CMS Kermit V2.01
I think I found a small bug that is related to your edit [25],
if you have FILE set to BINARY and have compression ON. Here's the fix
(some spaces deleted before the line numbers for readability):
Insert the following lines:
TM FLAGS,BINF In binary mode? [e] 03815001
BO DECOD72 Yes no check for eol [e] 03815002
And add the label DECOD72 to line 03815400:
DECOD72 LTR R3,R3 More repeats to do [7] [e] 03815400
(Note, this fix has not been checked yet but if you experience problems with
binary file transfer, try it out.)
-----
Date: Tue, 15 Oct 85 09:13 EST
From: Dave Elbon <SYSDAVE%UKCC.BITNET@WISCVM.ARPA>
Subject: Kermit-CMS Fixes
To: Info-Kermit <INFO-KERMIT@CU20B.ARPA>
I have some fixes for Kermit-CMS 2.01.
1) Kermit-CMS is confused when TERMINAL LINESIZE is set to OFF.
./ R 00610000 00611000 $ 610090 90
LA R2,=CL3'OFF'
L R15,LINSIZ
LTR R15,R15
BZ RLSIZE
CVD R15,PKVAR
UNPK PKVAR(3),PKVAR+6(2)
OI PKVAR+2,C'0'
LA R2,PKVAR
RLSIZE DS 0H
LINEDIT DOT=NO,DISP=CPCOMM, +
TEXT='TERM LINES ...', +
2) The actual virtual console address is not used in a call to HNDINT,
which prevents Kermit-CMS from working if the address is not 009.
(Many, many thanks to Brick Verser of KSU for this.)
./ D 00130000
./ R 00872000 $ 872490 490
CONSADDR DS AL2 Console addr (CUU)
./ R 04175000 $ 4175190 190
LA R1,CHNDPLST Set interrupt handler
MVC CHNDPADR,CONSADDR
SVC 202
DC AL4(1)
./ I 04200000 $ 4200100 100
CHNDPLST DC CL8'HNDINT' HNDINT SET P-List
DC CL4'SET'
DC CL4'CON1'
DC AL4(CHNDLR)
CHNDPADR DS AL2 Console address
DC CL2'WC'
DC XL4'FFFFFFFF'
3) CP SET ACNT should be turned OFF along with MSG, WNG, and IMSG.
./ R 00175000 $ 175190 190
* Fields of variable LFLAGS2:
FACNTON EQU X'80' CP SET ACNT was ON
*
./ I 00882000 $ 882500 500
LFLAGS2 DC X'00'
./ R 04017000 $ 4017290 290
* If R1 is non-zero, get values user has set for MSG, WNG,
* IMSG, and ACNT
./ R 04049000 $ 4049490 490
BNE SETM2 no: skip
./ R 04051000 $ 4051090 90
SETM2 DS 0H
LA R3,ACNT4 get len-1,chars of token
BAL R10,GETSET we're looking for
CLC CON,0(R4) is following one "ON"?
BNE SETM25
OI LFLAGS,FACNTON yes: flag SET ACNT ON
SETM25 DS 0H
LA R3,IMSG4 get len-1,chars of token
./ I 04061000 $ 4061200 200
LA R2,ACNTOFF Ditto for ACNT's
LA R4,L'ACNTOFF
DIAG R2,R4,X'0008'
./ R 04078000 $ 4078090 90
SETM7 DS 0H
TM LFLAGS,FACNTON was CP SET ACNT ON?
BZ SETM75 no: skip
LA R2,ACNTON yes: turn it ON via
LA R4,L'ACNTON diagnose X'08'
DIAG R2,R4,X'0008'
SETM75 DS 0H
TM LFLAGS,FIMSGON was CP SET IMSG ON?
./ I 04137000 $ 4137500 500
ACNT4 DC AL1(4-1),C'ACNT' like ditto
./ I 04142000 $ 4142300 300
ACNTOFF DC C'SET ACNT OFF'
ACNTON DC C'SET ACNT ON'
When Series/1 mode is on it might be possible to set TERMINAL BREAKIN to
GUESTCTL rather than changing all of the message settings.
Acknowledge-To: Dave Elbon <SYSDAVE@UKCC>
-----
Date: Wed, 9 Oct 85 23:04 CDT
From: Brick Verser <BAV@KSUVM>
Subject: CMS KERMIT bugs
Here is another small CMS KERMIT problem. If running on the 7171 (or
Series/1, I think), CMS KERMIT 2.x doesn't work if the virtual machine
console is not at address 9. While all of the diagnoses know to use
the dynamically determined console address, the HNDINT SET has address
9 hard coded. The fix is simple and obvious, except that HNDINT doesn't
allow a register for the console address field, so the HNDINT macro
has to be replaced by the hand coded equivalent.
-----
Date: Wed, 16 Oct 85 14:25:24 pdt
From: gts@ucbopal.Berkeley.EDU
Subject: CMS-Kermit 2.01 RPACK bug for BLOCK=3 fix UCB06
diff -b kermit2.asm05 kermit2.asm06
27a28,32
> * UCB CMS.06 85-09-18 gts, CFC ;UCB0601
> * Fix bug at RPACK4. Calculation of crck (block=3) must begin at ;UCB0602
> * the first actual packet character not at RECPKT+1. Leading pad ;UCB0603
> * or junk characters move it further down. Use pointer RECPKTP. ;UCB0604
> * ;UCB0605
914a920
> RECPKTP DS F RECEIVE PACKET BUFFER POINTER ;UCB06
3110a3117
> ST R7,RECPKTP Save pointer to first char ;UCB0606
3190,3191c3197
< RPACK4 LA R5,RECPKT Address of input buffer 03117000
< LA R5,1(R5) Skip over the ^A 03118000
---
> RPACK4 L R5,RECPKTP Address of first pkt char ;UCB0607
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.ARPA
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
-----
Date: Wed, 16 Oct 85 14:24:16 pdt
From: gts@ucbopal.Berkeley.EDU
Subject: CMS-Kermit 2.01 MAXOUT/LRECL confusion bug fixes UCB05
diff -b kermit2.asm04 kermit2.asm05
27a28,40
> * UCB CMS.05 85-09-18 gts, CFC ;UCB0501
> * Fix confusion and conflicts in use of MAXOUT and LRECL. ;UCB0502
> * MAXOUT controls the amount of data collected for a write and ;UCB0503
> * LRECL is used only during padding of recfm F records. ;UCB0504
> * During SET FILE BIN, MAXOUT was set to LRECL and during SET ;UCB0505
> * FILE TEXT it was set to MAXTXT! This is clearly wrong. ;UCB0506
> * Also, MAXOUT was set to LRECL during SET LRECL which causes ;UCB0507
> * recfm V writes to be blocked to LRECL. ;UCB0508
> * ;UCB0509
> * This fix removes the MAXOUT change during SET FILE. SET LRECL ;UCB0510
> * is changed to set MAXOUT to MAXTXT for recfm V or to LRECL for ;UCB0511
> * recfm F. SET RECFM is changed to do the same. ;UCB0512
> * ;UCB0513
1209c1222
< MVC MAXOUT,LRECL Max output buffer size 01155000
---
> * ;UCB0514
1214c1227
< MVC MAXOUT,=A(MAXTXT) Max output buffer size 01160000
---
> * ;UCB0515
1276c1289
< B SETOK 01222000
---
> B GETRECX And go adjust MAXOUT ;UCB0516
1321c1334,1338
< MVC MAXOUT,LRECL Max output buffer size 01267000
---
> GETRECX MVC MAXOUT,=A(MAXTXT) Max output is maximum ;UCB0517
> CLI RFM,C'V' = if recfm V. ;UCB0518
> BE GETRECX1 = ;UCB0519
> MVC MAXOUT,LRECL Otherwise, lrecl for recfm F. ;UCB0520
> GETRECX1 DS 0H = ;UCB0521
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.ARPA
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
-----
Date: Tue 22 Oct 85 20:20:09-EDT
From: Daphne Tzoar <Sy.Daphne@CU20B.COLUMBIA.EDU>
Subject: Comment on Greg Small's comments
You should double check with the source, but as I recall MAXOUT
was set to LRECL for binary files because the file is written out
with LRECL characters per record and the user can use the record
size he wants by setting LRECL.
-----
Date: Wed, 16 Oct 85 14:19:00 pdt
From: gts@ucbopal.Berkeley.EDU
Subject: CMS-Kermit 2.01 MAXLRECl/MAXTXT bug fix UCB04
diff -b kermit2.asm03 kermit2.asm04
27a28,35
> * UCB CMS.04 85-09-17 gts, CFC ;UCB0401
> * Fix maximum LRECL to 65535 not 65536. CMS allows only 65535 ;UCB0402
> * (64k-1). CMS aborts the write if lrecl 65536 for recfm V. And ;UCB0403
> * although CMS allows the write if lrecl 65536 for recfm F, most ;UCB0404
> * products cannot handle such records. ;UCB0405
> * ;UCB0406
> * Fix MAXTXT to be 65535 not 64536 (typo)! Remove unused MAXBIN. ;UCB0407
> * ;UCB0408
189,190c197
< MAXTXT EQU 64536 Max output buffer is 64K [6] 00147000
< MAXBIN EQU 80 Max output for binary files [1] 00148000
---
> MAXTXT EQU 65535 Max output buffer is 64K-1 [6] ;UCB0409
1304c1311
< WRTERM 'Logical record length of 1-65536 (default of 80).' 01257000
---
> WRTERM 'Logical record length of 1-65535 (default of 80).' ;UCB0410
1311c1318
< C R7,=F'65536' Max of 64K for lrecl [2] 01264000
---
> C R7,=F'65535' Max of 64K-1 for lrecl [2] ;UCB0411
1316c1323
< BADREC WRTERM 'A number between 1 and 65536 (decimal).' 01269000
---
> BADREC WRTERM 'A number between 1 and 65535 (decimal).' ;UCB0412
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.ARPA
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
-----
Date: Wed, 16 Oct 85 14:28:45 pdt
From: gts@ucbopal.Berkeley.EDU
Subject: CMS-Kermit 2.01 expand incomming text tabs UCB09
diff -b kermit2.asm08 kermit2.asm09
27a28,31
> * UCB CMS.09 85-10-08 gts, CFC ;UCB0901
> * Change receive to expand tabs each 8 spaces (unix,cp/m,pcdos) ;UCB0902
> * for text file receives. ;UCB0903
> * ;UCB0904
3895a3900,3907
> CLI RPTVAL,X'05' Is it an EBCDIC tab? ;UCB0905
> BNE DECOD6A = ;UCB0906
> L R1,ARBUF Output buffer address [2] ;UCB0907
> AR R1,R9 Plus displacement [2] ;UCB0908
> MVC 0(8,R1),=X'2020202020202020' Store 8 ASCII blanks ;UCB0909
> LA R9,8(R9) Move to next tab stop in buffer ;UCB0910
> N R9,=X'FFFFFFF8' = (every eight columns) ;UCB0911
> B DECOD6B ;UCB0912
3900c3912
< LA R8,1(R8) Bump input buffer pointer 03796000
---
> DECOD6B LA R8,1(R8) Bump input buffer pointer ;UCB0913
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.ARPA
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
-----
Date: Wed, 16 Oct 85 14:29:56 pdt
From: gts@ucbopal.Berkeley.EDU
Subject: CMS Kermit 2.01 redisplay command/status after send/receive, UCB10
diff -b kermit2.asm09 kermit2.asm10
27a28,33
> * UCB CMS.10 85-10-08 gts, CFC ;UCB1001
> * Redisplay the send or receive command at completion, followed ;UCB1001
> * by the status message, then the completed or failed message. ;UCB1002
> * This gives the user everything they need to know at one glance. ;UCB1003
> * Initial status is "No send / receive done yet". ;UCB1004
> * ;UCB1005
534,537c540,544
< SSW1 LTR R5,R5 CHECK THE RETCODE 00442000
< BZ PROMPT ALL OKAY 00443000
< WRTERM 'Error in sending file. Try again.' 00444000
< B PROMPT ERROR - TRY AGAIN 00445000
---
> SSW1 WRTERM INPUT,130 Redisplay the command input ;UCB1006
> LTR R5,R5 CHECK THE RETCODE ;UCB1007
> BZ GIVSTAT Go report OK status to user ;UCB1008
> WRTERM 'Error while sending file(s), check remote file(s).' ;UCB1009
> B GIVSTAT Go report reason to user ;UCB1010
555,558c562,566
< LTR R5,R5 CHECK THE RETCODE 00463000
< BZ PROMPT ALL OKAY 00464000
< WRTERM 'Error in receiving file. Try again.' 00465000
< B PROMPT ERROR - TRY AGAIN 00466000
---
> RSW1 WRTERM INPUT,130 Redisplay the command input ;UCB1011
> LTR R5,R5 CHECK THE RETCODE ;UCB1012
> BZ GIVSTAT Go report OK status to user ;UCB1013
> WRTERM 'Error while receiving file(s), check CMS file(s)' ;UCB1014
> B GIVSTAT Go report reason to user ;UCB1015
886c894
< MVI OLDERR,X'FF' SAME HERE 00794000
---
> MVI OLDERR,X'1A' Set "No send/receive yet" ;UCB1016
1183c1191,1192
< DC CL20'Error writing file' ERR MSG #25 [4] 01090000
---
> DC CL20'Error writing file' ERR MSG #25 [4] ;UCB1017
> DC CL20'No send/receive yet' ERR MSG #26 ;UCB1018
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.ARPA
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
-----
Date: Wed, 16 Oct 85 14:30:54 pdt
From: gts@ucbopal.Berkeley.EDU
Subject: CMS-Kermit 2.01 recfm padding bug fix UCB03
diff -b kermit2.asm02 kermit2.asm03
27a28,30
> * UCB CMS.03 85-09-17 gts, CFC ;UCB0301
> * Fix recfm f to pad lines with spaces not nulls. ;UCB0302
> * ;UCB0303
3939c3942
< L R15,=X'00000040' Pad with spaces [2] 03876000
---
> L R15,=X'40000000' Pad with spaces [2] ;UCB0304
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.ARPA
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
-----
Date: Wed, 16 Oct 85 14:26:28 pdt
From: gts@opal
Subject: CMS-Kermit 2.01 problem receiving odd parity CR LF fix UCB07
diff -b kermit2.asm06 kermit2.asm07
27a28,35
> * UCB CMS.07 85-09-29 gts, CFC ;UCB0701
> * Change DECODE to interpret CR and LF from the EBCDIC after ;UCB0702
> * translation with ATOE instead of from the seven bit ASCII. This ;UCB0703
> * allows receive of text files that contain characters with the ;UCB0704
> * eight bit set with the normal ATOE table, or by altering the ;UCB0705
> * the ATOE table allows receipt of text in any eight-bit code. ;UCB0706
> * Also CR LF LF gives two lines based on CR LF then LF. ;UCB0707
> * ;UCB0708
213a222,223
> ECR EQU 13 Ebcdic CR ;UCB0709
> ELF EQU 37 Ebcdic LF ;UCB0710
3847,3864c3857
< CLC PAR,ZERO If PAR <> 0 don't check [1] 03762000
< BNE DECOD4 For CR/LF (it's 8A,8D) [1] 03763000
< TM FLAGS,BINF No check if binary mode [1] 03764000
< BO DECOD4 Just skip it [1] 03765000
< C R7,=X'0000004D' Is it a CR? (CHAR(CR)) 03766000
< BNE DECOD3 No, check for LF 03767000
< MVI PREV,X'4D' Yes, remember we saw a CR 03768000
< LA R8,1(R8) Bump input pointer 03769000
< MVI RPTVAL,ACR Set in case of repeats [25] 03769100
< B DECOD7 Write out record 03770000
< DECOD3 C R7,=X'0000004A' Should we write out on LF? 03771000
< BNE DECOD4 No keep going 03772000
< LA R8,1(R8) Bump input pointer 03773000
< CLI PREV,X'4D' Was last char CR? 03774000
< BE DECOD0 Yes, so ignore LF 03775000
< MVI RPTVAL,ALF Set in case of repeats [25] 03775100
< B DECOD7 Nope, so write out record 03776000
< DECOD4 CR R7,R4 Is it the quote char 03777000
---
> CR R7,R4 Is it the quote char ;UCB0711
3879c3872,3880
< L R1,ARBUF Output buffer address [2] 03792000
---
> TM FLAGS,BINF Skip translation if binary mode ;UCB0712
> BO DECOD6A = ;UCB0713
> STC R7,RPTVAL Save char for CR LF Check ;UCB0714
> TR RPTVAL,ATOE Translate to EBCDIC ;UCB0715
> CLI RPTVAL,ECR Is is an EBCDIC CR? ;UCB0716
> BE DECOD7C = ;UCB0717
> CLI RPTVAL,ELF Is it an EBCDIC LF? ;UCB0718
> BE DECOD7L = ;UCB0719
> DECOD6A L R1,ARBUF Output buffer address [2] ;UCB0720
3894c3895,3903
< *DECOD7 L R15,=A(OUTBUF) Routine to write out record [22] 03807000
---
> DECOD7C MVI RPTVAL,ACR Set repeat as CR ;UCB0721
> LA R8,1(R8) Bump input buffer pointer ;UCB0722
> MVI PREV,ACR Set previous as CR ;UCB0723
> B DECOD7 Go write buffer ;UCB0724
> DECOD7L MVI RPTVAL,ALF Set repeat as LF ;UCB0725
> LA R8,1(R8) Bump input buffer pointer ;UCB0726
> CLI PREV,ACR Check if previous was CR ;UCB0727
> MVI PREV,ALF Set previous as LF ;UCB0728
> BE DECOD0 Ignore LF if followed CR ;UCB0729
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.ARPA
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
-----
Date: Wed, 16 Oct 85 14:27:48 pdt
From: gts@opal
Subject: CMS-Kermit 2.01 remove trailing ^Z for text receive UCB08
diff -b kermit2.asm07 kermit2.asm08
27a28,33
> * UCB CMS.08 85-10-08 gts, CFC ;UCB0801
> * Fix receive to discard the trailing control-Z for text files ;UCB0802
> * This catches all cases except where the control-Z has already ;UCB0803
> * been written to disk, e.g. the 65535th character of the last ;UCB0804
> * recfm V record or the lreclth character of the last recfm F. ;UCB0805
> * ;UCB0806
3684c3690,3700
< L R15,=A(OUTBUF) WRITE OUT BUFFER [1] [6] 03595000
---
> TM FLAGS,BINF In binary mode? ;UCB0807
> BO RDWR1 Yes no check for control-Z EOF ;UCB0808
> L R1,ARBUF Output buffer address ;UCB0809
> AR R1,R9 Plus displacement ;UCB0810
> BCTR R1,0 Minus one ;UCB0811
> CLI 0(R1),X'1A' Is the last character control-Z? ;UCB0812
> BNE RDWR1 No ;UCB0813
> BCTR R9,0 Ignore trailing ctrl-Z ;UCB0814
> LTR R9,R9 HOW MUCH DATA LEFT [1] ;UCB0815
> BZ BUFMT NONE LEFT, SEND ACK [1] ;UCB0816
> RDWR1 L R15,=A(OUTBUF) WRITE OUT BUFFER [1] [6] ;UCB0817
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.ARPA
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
-----
21-Oct-85 01:46:20-EDT,2006;000000000001
Return-Path: <gts@opal>
Received: from UCB-VAX by CU20B.COLUMBIA.EDU with TCP; Mon 21 Oct 85 01:46:15-EDT
Received: by UCB-VAX (5.28/5.13)
id AA24623; Sun, 20 Oct 85 19:37:08 PDT
Received: from ucbopal.Berkeley.Edu (ucbopal.ARPA)
by ucbjade.Berkeley.Edu (4.19/4.40)
id AA09763; Sun, 20 Oct 85 19:37:08 pdt
Received: by ucbopal.Berkeley.Edu (4.19/4.39.1)
id AA04779; Sun, 20 Oct 85 19:37:34 pdt
Date: Sun, 20 Oct 85 19:37:34 pdt
From: gts@opal
Message-Id: <8510210237.AA04779@ucbopal.Berkeley.Edu>
To: info-kermit@cu20b.columbia.edu
Subject: CMS-Kermit 2.01 Binary Compressed CR/LF bug/fix confirmed UCB13
27a28,37
> * UCB CMS.13 85-10-20 gts, CFC ;UCB1301
> * Fix bug in DECOD7 with FILE BINARY and compressed CR or LF. ;UCB1302
> * Confirms report and fix by MURTON@UTORONTO of 10-9-85. ;UCB1303
> * After a file write, DECOD7 ignored binary mode and did a second ;UCB1304
> * decrement of RPTCT thus reducing the number of chars expanded. ;UCB1305
> * This would be quite rare in recfm V because a write occurs only ;UCB1306
> * every 65535 bytes and would have to conincide with a compressed ;UCB1307
> * CR or LF. The problem can be demonstrated easily with recfm F. ;UCB1308
> * Occasionally, CMS-KERMIT crashes with addressing violation. ;UCB1309
> * ;UCB1310
3972c3982,3984
< IC R3,RPTCT Get no. of repetitions [7] 03815000
---
> IC R3,RPTCT Get no. of repetitions [7] ;UCB1311
> TM FLAGS,BINF Ignore CR LF repeats if binary ;UCB1312
> BO DECOD72 = ;UCB1313
3977c3989
< LTR R3,R3 More repeats to do [7] 03816000
---
> DECOD72 LTR R3,R3 More repeats to do [7] 03816000
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.ARPA
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
------------------------------
Date: Sat, 19 Oct 85 23:07 EDT
Subject: CMS Kermit "Enhancements"
From: ("Bob Shields <VBOB@UMDB>") <@UMD2.UMD.EDU:VBOB@UMDB.BITNET>
In one of the latest "info-kermit" digests I read that someone had modified
CMS Kermit to "automatically" expand tab characters to 8 column boundaries.
If this is being considered as a standard operation, I would like to cast my
vote against it. I have found that XEDIT will expand tabs just fine (see
the "EXPAND" and "COMPRESS" commands), and will do it to whatever columns
*I* specify, not just every *8*. I more often use a tab setting of every 4
columns, and sometimes use ones that are not at fixed intervals (like 10,
16, 30,... for CMS ASSEMBLE files). Maybe this can be resolved with "yet
another SET command" in CMS Kermit.
[Ed. - You're right, it shouldn't be hardwired into the program.]
------------------------------
Date: Thu 24 Oct 85 22:24:06-EDT
From: Peter A Kronenberg <EN4.PA-KRONENBERG@CU20C.COLUMBIA.EDU>
I'm having a problem with MS-Kermit 2.27 <==> CMS Kermit 2.1 with large
files (on the order of 100K). Everything starts out fine, and I'm watching
everything happen on the PC screen. Then all of a sudden, it retries a packet
again and again until it gives up and gives me the MS-KERMIT> prompt again. I
connect to the mainframe and find I have dropped into CP. Typing Begin causes
CMS-Kermit to continue sending or receiving, whatever he was doing, but there
is no way to continue on the PC.
The really wierd thing about this is that if I do it again, it seems to die
at the same place. For instance, if I am transfering a 100K file, and it dies
after 20K, if I do it again, it dies at 20K again. Sometimes it's a little
different, but always similar.
At first we thought it was caused by the mainframe (a teeny-tiny 4341)
hanging up when there was a heavy load...but we set qdrop off, set favor, set
favor %, set priority 1...and everything else, but nothing helps.
Any help would be appreciated.
Peter Kronenberg
NASA/GISS
------------------------------
Date: 23 October 1985, 14:35:14 PLT
From: CANNON at WSUVM1
To: DFTCU at CUVMB
We have a copy of Kermit CMS Version 2.01, May 20, 1985. I noticed that
MAXTXT is EQU'd to 64536 (line 147) and the address of a second buffer
is calculated by adding 64536 (line 261). Both statements have comments
referring to "64K". Could it be that the numbers should be 65536 and not
64536 as that is usually what 64K means? On line 1264, 65536 was used.
[Looks like a type -- Daphne]
------------------------------
Date: Sun, 27 Oct 85 21:44:59 pst
From: gts%ucbopal@columbia.arpa
To: info-kermit%cu20b@columbia.arpa, vbob%vmdb.BITNET@UCB-VAX.Berkeley.EDU
Subject: CMS-Kermit expanding tabs on receive
I struggled over whether to expand tabs during receive or not. Clearly
leaving the file alone is more flexible for the experienced CMS user.
However, most of our users do not want to bring up XEDIT and EXPAND tabs
on every file they upload. Most of the systems that use Kermit to send to CMS
use the tab8 convention and use it freely without the users direct knowledge
of it (msdos,cpm,unix). I have decided to make tab expansion on receive the
default and use a modeless prefix to disable it.
Also, that mod I submitted (UCB09) is flawed because it depends on being able
to overflow the ARBUF by 8 characters which is only OK because CMS-Kermit 2.01
misallocates the buffer in the first place. Please remove UCB09 until I fix
it.
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.ARPA
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
------------------------------
Date: Thu, 31 Oct 85 00:13:17 EST
From: Peter DiCamillo <CMSMAINT@BROWNVM>
To: Info-Kermit@CU20B
Subject: Resequenced CMS Kermit updates
The CMS Kermit updates of mine which appeared in Volume 3 Number 20
were sequenced for a copy of the source which had been reserialized
to have uniform increments of 1000 between lines. This has caused
some confusion, since the Kermit source from Columbia doesn't have
completely uniform increments. Here are new copies of the same updates
resequenced for the Columbia source:
First update:
./ R 00838000 $ 00838290 00000290
DC X'40',AL1(SBA),X'5D7F',AL1(SBA) UPDATE1
S1ORDAD DC X'0001' addr. -> 0 for write UPDATE1
./ I 01593000 $ 01593500 00000500
XC S1ORDAD(2),S1ORDAD just write when ending UPDATE1
./ I 02859000 $ 02859300 00000300
CLC S1ORDAD(2),=H'0' was write/read done? UPDATE1
BE SPRET no: return now UPDATE1
Second update:
./ I 01599000 $ 01599300 00000300
TM S1FLAGS,ISS1 Is console a S/1? UPDATE2
BO SERVLOG Yes: skip line mode I/O UPDATE2
./ R 01603000 $ 01603490 00000490
SERVLOG LA 1,=C'LOG' UPDATE2
Peter DiCamillo
CMSMAINT@BROWNVM.BITNET
------------------------------
Date: Fri, 01 Nov 85 11:05:31 cet
To: INFO-KERMIT@CU20B
From: PCSC%WUVMD.BITNET@WISCVM.ARPA
Subject: 7171/Series 1 and Kermit-MS interaction
We have found that our new 7171 protocol converters work much less well for
us than the Series 1 boxes for Kermit file uploading with the newer
generation of IBM-like PCs. The symptoms are a 7171 hang up when uploading
files from the PC AT or Zenith 158s over 9600 bps direct connect lines. We
have been using Kermit heavily for about a year, and normally these devices
upload fine, but if the Kermit-MS 2.28 they are running is YAKing faster
than normal due to (1) use of a mono screen (2) use of a faster crystal (3)
use of FANSI-CONSOLE to speed screen writing, then the 7171 hangs in a
pretty big way. Multiple master resets must be sent to the 7171 to get
session control back again. If one SETs DEBUG ON in Kermit-MS, then the
time spent writing the packets to a color screen slows things down enough
to work unless FANSI-CONSOLE is in there speeding things up again. The
evidence is as follows:
Connected through 7171 to Kermit-CMS 2.01:
IBM PC AT, 8mhz, EGA & ECD, with DEBUG OFF --> failure
IBM PC AT, 8mhz, EGA & ECD, with DEBUG ON --> success
As above w/ FCONSOLE, DEBUG ON or OFF --> failure
Zenith 158, 8mhz, monochrome, DEBUG ON|OFF --> failure
Zenith 158, 8mhz, color, DEBUG OFF --> failure
Zenith 158, 8mhz, color, DEBUG ON --> success
Connected through a Series 1 all of the above succeed. The SEND PACKET in
all cases was 64 since the 7171's won't work from my AT under any
conditions with a larger size. The only conclusion I have been able to
draw is that the slow screen writing routines of the color BIOS slow
Kermit-MS down enough such that when DEBUG is ON the YAK packet from
Kermit-MS does not go back until the 7171 is ready. I assume this is
because the incoming packet is being written to the screen before the YAK
is sent (though I have not checked the Kermit code to verify this). I am
inferring that the problem is due to the 7171 because (1) it works through
the Series 1 (2) many Master Resets are required to wrest control back, but
conceivably the issue is one of CMS Kermit's control of the 7171 rather
than the box's internals.
Any suggestions or relevant experiences would be appreciated.
Michael Palmer
Washington University Computing Facilites
Bitnet address: PCSC@WUVMD
------------------------------
22-Dec-85 17:14:05-EST,1862;000000000011
Return-Path: <gts%ucbopal@BERKELEY.EDU>
Received: from ucbvax.berkeley.edu by CU20B.COLUMBIA.EDU with TCP; Sun 22 Dec 85 17:13:57-EST
Received: by ucbvax.berkeley.edu (5.31/1.7)
id AA07665; Sun, 22 Dec 85 13:33:52 PST
Received: from ucbopal.Berkeley.Edu (ucbopal.ARPA)
by ucbjade.Berkeley.Edu (4.19/4.41.3)
id AA04904; Sun, 22 Dec 85 13:34:10 pst
Received: by ucbopal.Berkeley.Edu (4.19/4.42)
id AA02497; Sun, 22 Dec 85 13:34:16 pst
Date: Sun, 22 Dec 85 13:34:16 pst
From: gts%ucbopal@BERKELEY.EDU
Message-Id: <8512222134.AA02497@ucbopal.Berkeley.Edu>
To: info-kermit@cu20b.columbia.edu
Subject: CMS Kermit 2.01 Replacements for Old UCB fixes 04,05,09
In three seperate mailings following this one are upgraded versions of
UCB fixes submitted previously. Please put them in cmsmit.bwr and delete
the previous versions. UCB04 fixed various max record size problems but
had missed one instance. UCB05 fixed some serious problems related to LRECL
and MAXOUT, but completely failed to understand how they were used (BLUSH!)
and hence failed to identify the single code error that had caused all the
observed problems. The new UCB05 actually fixes the problem and changes
the comments on several lines to improve the code self documentation.
UCB09 provided for tab8 expansion on text receive, but failed to make this
user setable and relied on being able to overrun the receive buffer (which had
been misdefined in the original code). The new UCB09 has tab expansion for
TEXT receive but adds TABSTEXT file mode for no expansion.
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.EDU
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
22-Dec-85 17:14:22-EST,2311;000000000001
Return-Path: <gts%ucbopal@BERKELEY.EDU>
Received: from ucbvax.berkeley.edu by CU20B.COLUMBIA.EDU with TCP; Sun 22 Dec 85 17:14:15-EST
Received: by ucbvax.berkeley.edu (5.31/1.7)
id AA07670; Sun, 22 Dec 85 13:36:10 PST
Received: from ucbopal.Berkeley.Edu (ucbopal.ARPA)
by ucbjade.Berkeley.Edu (4.19/4.41.3)
id AA04914; Sun, 22 Dec 85 13:36:27 pst
Received: by ucbopal.Berkeley.Edu (4.19/4.42)
id AA02515; Sun, 22 Dec 85 13:36:32 pst
Date: Sun, 22 Dec 85 13:36:32 pst
From: gts%ucbopal@BERKELEY.EDU
Message-Id: <8512222136.AA02515@ucbopal.Berkeley.Edu>
To: info-kermit@cu20b.columbia.edu
Subject: CMS-Kermit 2.01 Replacement Fix UCB04
diff -b kermit2.asm01 kermit2.asm04
> * ;UCB0227
> * UCB CMS.04 85-09-17 gts, CFC ;UCB0401
> * Fix maximum LRECL to 65535 not 65536. CMS allows only 65535 ;UCB0402
> * (64k-1). CMS aborts the write if lrecl 65536 for recfm V. And ;UCB0403
> * although CMS allows the write if lrecl 65536 for recfm F, most ;UCB0404
> * products cannot handle such records. ;UCB0405
> * ;UCB0406
> * Fix MAXTXT to be 65535 not 64536 (typo)! Remove unused MAXBIN. ;UCB0407
> * ;UCB0408
155,156c197
< MAXTXT EQU 64536 Max output buffer is 64K [6] 00147000
< MAXBIN EQU 80 Max output for binary files [1] 00148000
---
> MAXTXT EQU 65535 Max output buffer is 64K-1 [6] ;UCB0409
269c310
< A R1,=F'64536' SECOND BUFFER IS 64K ... 00261000
---
> A R1,=F'65536' SECOND BUFFER IS 64K ... ;UCB0413
1265c1311
< WRTERM 'Logical record length of 1-65536 (default of 80).' 01257000
---
> WRTERM 'Logical record length of 1-65535 (default of 80).' ;UCB0410
1272c1318
< C R7,=F'65536' Max of 64K for lrecl [2] 01264000
---
> C R7,=A(MAXTXT) Max of 64K-1 for lrecl [2] ;UCB0411
1277c1323
< BADREC WRTERM 'A number between 1 and 65536 (decimal).' 01269000
---
> BADREC WRTERM 'A number between 1 and 65535 (decimal).' ;UCB0412
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.EDU
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
22-Dec-85 17:14:58-EST,5024;000000000001
Return-Path: <gts%ucbopal@BERKELEY.EDU>
Received: from ucbvax.berkeley.edu by CU20B.COLUMBIA.EDU with TCP; Sun 22 Dec 85 17:14:45-EST
Received: by ucbvax.berkeley.edu (5.31/1.7)
id AA07686; Sun, 22 Dec 85 13:38:30 PST
Received: from ucbopal.Berkeley.Edu (ucbopal.ARPA)
by ucbjade.Berkeley.Edu (4.19/4.41.3)
id AA04938; Sun, 22 Dec 85 13:38:47 pst
Received: by ucbopal.Berkeley.Edu (4.19/4.42)
id AA02529; Sun, 22 Dec 85 13:38:51 pst
Date: Sun, 22 Dec 85 13:38:51 pst
From: gts%ucbopal@BERKELEY.EDU
Message-Id: <8512222138.AA02529@ucbopal.Berkeley.Edu>
To: info-kermit@cu20b.columbia.edu
Subject: CMS-Kermit 2.01 Replacement Fix for UCB09
diff -b kermit2.asm01 kermit2.asm09
> * ;UCB0227
> * UCB CMS.09 85-10-08 gts, CFC ;UCB0901
> * Change RECEIVE to expand tabs each 8 spaces (DECOD6) as per ;UCB0902
> * unix, cp/m and pcdos for TEXT file receives. Add file type ;UCB0903
> * TABSTEXT for text files to be received without tab expansions. ;UCB0904
> * Creates addtional flag byte, FLAGS+1 with flag FLG1TABF. ;UCB0905
> * As written, this mod requires prior mod set UCB07. ;UCB0906
> * ;UCB0907
165c243,245
< DEBUG EQU X'01' Debug mode ON/OFF [10] 00157000
---
> DEBUG EQU X'01' Debug mode ON/OFF [10] ;UCB0908
> * Fields of variable FLAGS+1: ;UCB0909
> FLG1TABF EQU X'80' ONE := No tab expansion ;UCB0910
793c878,879
< MVI FLAGS,X'00' CLEAR ALL FLAGS 00785000
---
> MVI FLAGS,X'00' CLEAR ALL FLAGS ;UCB0911
> MVI FLAGS+1,X'00' = ;UCB0912
881c968
< FLAGS DC X'00' USE TO TEST OUR FLAGS 00873000
---
> FLAGS DC 2X'0000' Flag bytes for operating modes ;UCB0913
900c987,988
< FILMSG1 DC C'File type is text.' [17] 00892000
---
> FILMSG1 DC C'File type is text with received tab expansion.' ;UCB0914
> FILMSG1T DC C'File type is text with no received tab expansion.' ;UCB0915
1158c1246
< WRTERM 'BINARY or TEXT' 01150000
---
> WRTERM 'BINARY or TEXT or TABSTEXT' ;UCB0916
1162c1250,1251
< OI FLAGS,BINF Set binary on 01154000
---
> NI FLAGS+1,X'FF'-FLG1TABF Set tabs expansion on ;UCB0917
> OI FLAGS,BINF Set binary on ;UCB0918
1167c1256,1257
< NI FLAGS,X'FF'-BINF Set it OFF 01159000
---
> NI FLAGS+1,X'FF'-FLG1TABF Set tabs expansion on ;UCB0919
> STBN0A NI FLAGS,X'FF'-BINF Set binary off ;UCB0920
1170c1260,1264
< STBN1 WRTERM 'Invalid operand' 01162000
---
> STBN1 CLC 0(8,R6),=CL8'TABSTEXT' Setting to TABSTEXT? ;UCB0921
> BNE STBN2 No then it's wrong ;UCB0922
> OI FLAGS+1,FLG1TABF Set tabs expansion off ;UCB0923
> B STBN0A And finish as for TEXT ;UCB0924
> STBN2 WRTERM 'Invalid operand' ;UCB0925
1416,1417c1512,1518
< BNO SHO01 Yes. 01408000
< LA R3,FILMSG2 Mode is binary 01409000
---
> BO SHO00B No. ;UCB0926
> TM FLAGS+1,FLG1TABF Is tabstext mode on? ;UCB0927
> BNO SHO01 No. ;UCB0928
> LA R3,FILMSG1T Assume tabstext ;UCB0929
> LA R4,L'FILMSG1T Get msg length ;UCB0930
> B SHO01 = ;UCB0931
> SHO00B LA R3,FILMSG2 Mode is binary ;UCB093A
3810c3904,3929
< L R1,ARBUF Output buffer address [2] 03792000
...... more UCB07 ...........................................................
< BE DECOD7L = ;UCB0719
---
> BE DECOD7L = ;UCB0719
> CLI RPTVAL,X'05' Is it an EBCDIC tab? ;UCB0932
> BNE DECOD6A = ;UCB0933
> TM FLAGS+1,FLG1TABF Is tab expansion mode on? ;UCB0934
> BO DECOD6A = ;UCB0935
> L R1,ARBUF Output buffer address [2] ;UCB0936
> AR R1,R9 Plus displacement [2] ;UCB0937
> LA R3,8(R9) Calc end point for tab stop ;UCB0938
> N R3,=X'FFFFFFF8' = (every eight columns) ;UCB0939
> C R3,MAXOUT = (but not more than MAXOUT) ;UCB0940
> BNH DECOD6C = ;UCB0941
> L R3,MAXOUT = ;UCB0942
> DECOD6C MVI 0(R1),X'20' Store ASCII blanks up to stop ;UCB0943
> LA R1,1(R1) = (Increment store address) ;UCB0944
> LA R9,1(R9) = (Increment store pointer) ;UCB0945
> CR R3,R9 = (Loop up to tab stop) ;UCB0946
> BH DECOD6C = ;UCB0947
> B DECOD6B ;UCB0948
> DECOD6A L R1,ARBUF Output buffer address [2] ;UCB0720
3814c3933
< LA R8,1(R8) Bump input buffer pointer 03796000
---
> DECOD6B LA R8,1(R8) Bump input buffer pointer ;UCB0949
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.EDU
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
22-Dec-85 17:42:45-EST,2451;000000000001
Return-Path: <gts%ucbopal@BERKELEY.EDU>
Received: from ucbvax.berkeley.edu by CU20B.COLUMBIA.EDU with TCP; Sun 22 Dec 85 17:42:37-EST
Received: by ucbvax.berkeley.edu (5.31/1.7)
id AA07681; Sun, 22 Dec 85 13:37:32 PST
Received: from ucbopal.Berkeley.Edu (ucbopal.ARPA)
by ucbjade.Berkeley.Edu (4.19/4.41.3)
id AA04927; Sun, 22 Dec 85 13:37:51 pst
Received: by ucbopal.Berkeley.Edu (4.19/4.42)
id AA02522; Sun, 22 Dec 85 13:37:56 pst
Date: Sun, 22 Dec 85 13:37:56 pst
From: gts%ucbopal@BERKELEY.EDU
Message-Id: <8512222137.AA02522@ucbopal.Berkeley.Edu>
To: info-kermit@cu20b.columbia.edu
Subject: CMS-Kermit 2.01 Replacement Fix UCB05
diff -b kermit2.asm01 kermit2.asm05
> * ;UCB0227
> * UCB CMS.05 85-12-10 gts, CFC ;UCB0501
> * Fix set lrecl to reset MAXOUT only if file mode is binary. ;UCB0502
> * MAXOUT controls the number of EBCDIC characters collected for ;UCB0503
> * a write (DECOD1). For recfm F text files, MAXOUT = MAXTXT to ;UCB0504
> * collect up to 65535 characters in DECODE before LRECL is used ;UCB0505
> * for truncation or padding in OUTBUF. Recfm V text files are ;UCB0506
> * not truncated. For binary text files, MAXOUT = LRECL so that ;UCB0507
> * both recfm F and recfm V data is blocked to LRECL record size. ;UCB0508
> * ;UCB0509
813c868
< MVC MAXOUT,=A(MAXTXT) Max output buffer size [6] 00805000
---
> MVC MAXOUT,=A(MAXTXT) Maximum characters for write ;UCB0510
980c1035
< MAXOUT DS F Max output buffer [6] 00972000
---
> MAXOUT DS F Max characters for a write ;UCB0511
1163c1218
< MVC MAXOUT,LRECL Max output buffer size 01155000
---
> MVC MAXOUT,LRECL Block binary records to lrecl ;UCB0512
1168c1223
< MVC MAXOUT,=A(MAXTXT) Max output buffer size 01160000
---
> MVC MAXOUT,=A(MAXTXT) Allow max before lrecl truncate ;UCB0513
1275c1330,1332
< MVC MAXOUT,LRECL Max output buffer size 01267000
---
> TM FLAGS,BINF If binary file, ;UCB0514
> BNO SETOK = ;UCB0515
> MVC MAXOUT,LRECL = set blocking to lrecl ;UCB0516
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.EDU
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
23-Dec-85 00:11:48-EST,3552;000000000001
Return-Path: <gts%ucbopal@BERKELEY.EDU>
Received: from ucbvax.berkeley.edu by CU20B.COLUMBIA.EDU with TCP; Mon 23 Dec 85 00:11:38-EST
Received: by ucbvax.berkeley.edu (5.31/1.7)
id AA10302; Sun, 22 Dec 85 17:56:40 PST
Received: from ucbopal.Berkeley.Edu (ucbopal.ARPA)
by ucbjade.Berkeley.Edu (4.19/4.41.3)
id AA07575; Sun, 22 Dec 85 17:57:26 pst
Received: by ucbopal.Berkeley.Edu (4.19/4.42)
id AA01425; Sun, 22 Dec 85 17:57:14 pst
Date: Sun, 22 Dec 85 17:57:14 pst
From: gts%ucbopal@BERKELEY.EDU
Message-Id: <8512230157.AA01425@ucbopal.Berkeley.Edu>
To: info-kermit@cu20b.columbia.edu
Subject: CMS-Kermit 2.10 Change to do SHOW xxx after any SET xxx (UCB12)
diff -b kermit2.asm01 kermit2.asm12
> * ;UCB0227
> * UCB CMS.12 85-10-19 gts, CFC ;UCB1201
> * Change "SET xxx" to do a "SHOW xxx" when done. Change "SHOW" ;UCB1202
> * to do "SHOW ALL". Fix "SET QUOTE" to restore previous RQUOTE ;UCB1203
> * rather than reset to DQUOTE for any SET error. ;UCB1204
> * ;UCB1205
1244c1361,1362
< GETQUO MVC RQUOTE(1),0(R6) SET NEW QUOTE CHAR 01236000
---
> GETQUO MVC TEMP(1),RQUOTE Save previous RQUOTE ;UCB1207
> MVC RQUOTE(1),0(R6) SET NEW QUOTE CHAR ;UCB1208
1249c1367,1368
< B SETERR 01241000
---
> MVC RQUOTE(1),TEMP Restore previous RQUOTE ;UCB1209
> B SETERR ;UCB1210
1259c1378,1379
< B SETERR 01251000
---
> MVC RQUOTE(1),TEMP Restore previous RQUOTE ;UCB1211
> B SETERR ;UCB1212
1323c1445
< B SETOK 01315000
---
> B SETOKX Return but no SHOW ;UCB1213
1340c1462
< B SETOK All done 01332000
---
> B SETOKX Return but no SHOW ;UCB1214
1342c1464
< B SETERR 01334000
---
> B SETERRX Return error but no SHOW ;UCB1215
1344c1466
< BNE SETERR 01336000
---
> BNE SETERRX Return error but no SHOW ;UCB1216
1371,1374c1493,1503
< SETERR MVI RQUOTE,DQUOTE Reset value, just in case [4] 01363000
< LA R15,4 SET A NON-ZERO RETCODE 01364000
< B SETRET 01365000
< SETOK SR R15,R15 RETCODE OF 0 01366000
---
> SETERR L R15,=A(SHOW) Go SHOW the current setting ;UCB1217
> L R6,4(R13) (R6=callers save area address) ;UCB1218
> L R6,20+6*4(R6) (R6=tokenized command address) ;UCB1219
> BALR R14,R15 = ;UCB1220
> SETERRX LA R15,4 SET A NON-ZERO RETCODE ;UCB1221
> B SETRET ;UCB1222
> SETOK L R15,=A(SHOW) Go SHOW the current setting ;UCB1223
> L R6,4(R13) (R6=callers save area address) ;UCB1224
> L R6,20+6*4(R6) (R6=tokenized command address) ;UCB1225
> BALR R14,R15 = ;UCB1226
> SETOKX SR R15,R15 RETCODE OF 0 ;UCB1227
1407,1408c1536,1539
< CLC 0(3,R6),=CL3'ALL' Show all options? 01399000
< BNE SHO0 No find specific one 01400000
---
> CLC 0(8,R6),=8X'FF' Show all options? Default. ;UCB1228
> BE SHOA0 No find specific one ;UCB1229
> CLC 0(3,R6),=CL3'ALL' Show all options? ;UCB1230
> SHOA0 BNE SHO0 No find specific one ;UCB1231
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.EDU
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
23-Dec-85 01:12:58-EST,9471;000000000011
Return-Path: <gts%ucbopal@BERKELEY.EDU>
Received: from ucbvax.berkeley.edu by CU20B.COLUMBIA.EDU with TCP; Mon 23 Dec 85 01:12:33-EST
Received: by ucbvax.berkeley.edu (5.31/1.7)
id AA10341; Sun, 22 Dec 85 18:01:20 PST
Received: from ucbopal.Berkeley.Edu (ucbopal.ARPA)
by ucbjade.Berkeley.Edu (4.19/4.41.3)
id AA07751; Sun, 22 Dec 85 18:02:04 pst
Received: by ucbopal.Berkeley.Edu (4.19/4.42)
id AA01468; Sun, 22 Dec 85 18:01:50 pst
Date: Sun, 22 Dec 85 18:01:50 pst
From: gts%ucbopal@BERKELEY.EDU
Message-Id: <8512230201.AA01468@ucbopal.Berkeley.Edu>
To: info-kermit@cu20b.columbia.edu
Subject: CMS-Kermit 2.01 Fix RPACK clobber when len char garbled (UCB18)
diff -b kermit2.asm01 kermit2.asm18
> * ;UCB0227
> * UCB CMS.18 85-12-15 gts, CFC ;UCB1801
> * Fix RPACK to prevent malfunction due to garbled input. ;UCB1802
> * ;UCB1803
> * Always stop scanning at end of received data. Previously, ;UCB1804
> * RPACK depended on the unchecked packet length character and ;UCB1805
> * would clobber KERMIT while copying data from RECPKT to RDAT. ;UCB1806
> * Rigidly enforcing the received data limit while collecting ;UCB1807
> * the checksum also improves data validity. ;UCB1808
> * ;UCB1809
> * Fix the checksum length "heuristics" (RPK0) to reset CHKLEN ;UCB1810
> * only after checksum has been verified. ;UCB1811
> * ;UCB1812
> * After a length character or checksum error, scan for another ;UCB1813
> * packet if there are more received characters. ;UCB1814
> * ;UCB1815
1566c1775
< SERV0 MVI CHKLEN,DCHKLEN Set checksum length to one 01558000
---
> SERV0 MVI CHKLEN,X'01' Set checksum length to one ;UCB1816
2965,2966c3174,3175
< * RDAT buffer. Registers used: R5 to calculate checksum, R8 as 02955000
< * pointer in input buffer. R9 as output buffer pointer. [8] 02956000
---
> * RDAT buffer. R0 pending error code, R3 provisional CHKLEN, R5 ;UCB1817
> * working checksum, R8 input buffer pointer, R9 output buffer pointer. ;UCB1818
3012c3221,3222
< SR R6,R0 subt residue cnt from read 03002000
---
> SR R6,R0 subt residue cnt from read ;UCB1819
> STH R6,WTRDLEN keep data length for later ;UCB1820
3037c3245,3248
< RPACK0 LA R7,RECPKT(R8) Address of next input char 03027000
---
> RPACK0 CH R8,WTRDLEN Quit if received data exceeded ;UCB1821
> L R0,=X'00000003' = ("No SOH encountered") ;UCB1822
> BNL RPACK7EX = ;UCB1823
> LA R7,RECPKT(R8) Address of next input char ;UCB1824
3041,3046c3252,3256
< C R8,=F'130' See if exceed buffer size 03031000
< BL RPACK0 No, can keep checking 03032000
< MVI ERRNUM,X'03' Yes so no "SOH" error 03033000
< B RPACK71 03034000
< RPACK1 SR R9,R9 Zero output buffer pointer 03035000
< LA R8,1(R8) Increment input buffer pointer 03036000
---
> B RPACK0 = ;UCB1825
> RPACK1 LA R8,1(R8) Increment input buffer pointer ;UCB1826
> CH R8,WTRDLEN Quit if received data exceeded ;UCB1827
> L R0,=X'00000004' = ("Bad Character count") ;UCB1828
> BNL RPACK7EX = ;UCB1829
3047a3258
> ST R7,RECPKTP Save pointer to first char ;UCB0606
3050,3056c3261,3262
< CLI 0(R7),DQUOTE Equal or above the min 03040000
< BNL RPACK11 Continue if yes 03041000
< MVI ERRNUM,X'04' Bad packet length 03042000
< B RPACK71 03043000
< RPACK11 IC R5,0(R7) Start checksum 03044000
< LR R7,R5 Get size field 03045000
< STC R7,LRDAT+3 Data field & control info 03046000
---
> IC R5,0(R7) Start checksum ;UCB1830
> LR R4,R5 Save length character ;UCB1831
3071,3081c3277,3278
< LA R8,1(R8) Go to next byte 03061000
< * Start of change. 03062000
< * Now determine block check type for this packet. Here we violate the 03063000
< * layered nature of the protocol by inspecting the packet type in 03064000
< * order to detect when the two sides get out of sync. Two heuristics 03065000
< * allow us to resync here: 03066000
< * a. An S packet always has a type 1 checksum. 03067000
< * b. A NAK never contains data, so its block check type is 03068000
< * PACKET LEN-2. 03069000
< L R4,LRDAT Get back the size 03070000
< S R4,=F'34' Unchar(len)-2 (for SEQ & TYPE) 03071000
---
> S R4,=F'34' Unchar(len)-2 (for SEQ & TYPE) ;UCB1833
> BNH RPACK7E Error if too small ;UCB1834
3090,3097c3287,3297
< RPK1 STC R3,CHKLEN Then this is chksum length 03080000
< SR R4,R3 Real size of data 03081000
< ST R4,LRDAT Save correct size 03082000
< * End of change. 03083000
< LTR R4,R4 How much data did we get 03084000
< BZ RPACK3 None so that's it 03085000
< RPACK2 XC TEMP,TEMP Zero it out 03086000
< LA R7,RECPKT(R8) Next location in buffer 03087000
---
> RPK1 SR R4,R3 Data = len -2 -chklen ;UCB1835
> ST R4,LRDAT Save the data length ;UCB1836
> BZ RPACK3 No data, go do checksum ;UCB1837
> BL RPACK7E Error if too small ;UCB1838
> AR R4,R8 Data last = index-1 + length ;UCB1839
> CH R4,WTRDLEN Quit if received data exceeded ;UCB1840
> BNL RPACK7E = ;UCB1841
> XC TEMP,TEMP Zero out temp ;UCB1842
> SR R9,R9 Zero output buffer pointer ;UCB1843
> RPACK2 LA R8,1(R8) Bump input buffer pointer ;UCB1844
> LA R7,RECPKT(R8) Next location in buffer ;UCB1845
3104,3111c3304,3311
< LA R8,1(R8) Bump input buffer pointer 03094000
< LA R9,1(R9) Bump output buffer pointer 03095000
< BCTR R4,0 Decrement amount of input 03096000
< LTR R4,R4 Any left? 03097000
< BNZ RPACK2 Yes get another character 03098000
< RPACK3 SR R7,R7 Zero out register 03099000
< IC R7,RECPKT(R8) Get checksum 03100000
< LA R8,1(R8) Bump input pointer 03101000
---
> LA R9,1(R9) Bump output buffer pointer ;UCB1846
> CR R8,R4 Loop if more data to go ;UCB1847
> BL RPACK2 = ;UCB1848
> RPACK3 LA R8,1(R8) Bump input buffer pointer ;UCB1849
> CH R8,WTRDLEN Length error if past receive ;UCB1850
> BNL RPACK7EX = ;UCB1851
> SR R7,R7 Zero out register ;UCB1852
> IC R7,RECPKT(R8) Get checksum ;UCB1853
3116c3316
< CLI CHKLEN,X'02' Using what checksum length 03106000
---
> C R3,=X'00000002' Test provisional checksum length ;UCB1854
3125,3128c3325,3328
< BE RPACK8 Successful 03115000
< B RPACK7 We failed 03116000
< RPACK4 LA R5,RECPKT Address of input buffer 03117000
< LA R5,1(R5) Skip over the ^A 03118000
---
> BNE RPACK7 We failed ;UCB1855
> RPACK80 STC R3,CHKLEN OK, so reset checksum length ;UCB1856
> B RPACK8 And return normally ;UCB1857
> RPACK4 L R5,RECPKTP Address of first pkt char ;UCB0607
3130c3330
< BCTR R8,0 Go back one char 03120000
---
> * ;UCB1858
3132c3332
< LA R8,1(R8) Next char to pick up 03122000
---
> * ;UCB1859
3142,3143c3342,3345
< IC R7,RECPKT(R8) Get next char of checksum 03132000
< LA R8,1(R8) Bump input pointer 03133000
---
> LA R8,1(R8) Bump input buffer pointer ;UCB1860
> CH R8,WTRDLEN Length error if past receive ;UCB1861
> BNL RPACK7EX = ;UCB1862
> IC R7,RECPKT(R8) Get next char of checksum ;UCB1863
3153,3154c3355,3358
< IC R7,RECPKT(R8) Get checksum 03143000
< LA R8,1(R8) Bump input pointer 03144000
---
> LA R8,1(R8) Bump input buffer pointer ;UCB1864
> CH R8,WTRDLEN Length error if past receive ;UCB1865
> BNL RPACK7EX = ;UCB1866
> IC R7,RECPKT(R8) Get checksum ;UCB1867
3160c3364
< BE RPACK8 Yes 03150000
---
> BE RPACK80 Yes ;UCB1868
3165,3166c3369,3378
< MVI ERRNUM,X'05' Bad checksum error 03155000
< RPACK71 MVI RTYPE,AN Return a NAK 03156000
---
> L R0,=X'00000005' "Bad checksum" ;UCB1869
> RPACK7E LA R8,1(R8) Bump input buffer pointer ;UCB1870
> CH R8,WTRDLEN Exit if received data exceeded ;UCB1871
> BNL RPACK7EX = ;UCB1872
> LA R7,RECPKT(R8) Address of next input char ;UCB1873
> CLI 0(R7),SOH Is it Control-A ;UCB1874
> BNE RPACK7E If not, keep scanning ;UCB1875
> B RPACK1 If SOH, go process packet ;UCB1876
> RPACK7EX STC R0,ERRNUM Set final error number ;UCB1877
> MVI RTYPE,AN Return a NAK ;UCB1878
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.EDU
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
23-Dec-85 02:42:02-EST,5436;000000000001
Return-Path: <gts%ucbopal@BERKELEY.EDU>
Received: from ucbvax.berkeley.edu by CU20B.COLUMBIA.EDU with TCP; Mon 23 Dec 85 02:41:44-EST
Received: by ucbvax.berkeley.edu (5.31/1.7)
id AA10313; Sun, 22 Dec 85 17:58:59 PST
Received: from ucbopal.Berkeley.Edu (ucbopal.ARPA)
by ucbjade.Berkeley.Edu (4.19/4.41.3)
id AA07696; Sun, 22 Dec 85 17:59:34 pst
Received: by ucbopal.Berkeley.Edu (4.19/4.42)
id AA01432; Sun, 22 Dec 85 17:59:21 pst
Date: Sun, 22 Dec 85 17:59:21 pst
From: gts%ucbopal@BERKELEY.EDU
Message-Id: <8512230159.AA01432@ucbopal.Berkeley.Edu>
To: info-kermit@cu20b.columbia.edu
Subject: CMS-Kermit 2.01 Fix command line, multiple takes, etc. (UCB14)
diff -b kermit2.asm01 kermit2.asm14
> * ;UCB0227
> * UCB CMS.14 85-10-20 gts, CFC ;UCB1401
> * Fix problems relating to CMS-KERMIT command sources. ;UCB1402
> * TAKE now closes files so that multipe TAKEs work. ;UCB1403
> * Fix SERVER not to exit, no other commands do. ;UCB1404
> * Eliminate some unnecessary long literals (CSECT short on space) ;UCB1405
> * ;UCB1406
> * The command line operands are saved for execution as the first ;UCB1407
> * command after the KERMINI files are done. Additional commands ;UCB1408
> * seperated by LINEND characters were stacked by CMS and will ;UCB1409
> * execute next. Prompts are not suppressed. (Previously, any ;UCB1410
> * argument on the command line suppressed the prompt, prevented ;UCB1411
> * load of KERMINI files, and caused null input to act as an EXIT. ;UCB1412
> * This was not useful behavior.) ;UCB1413
> * ;UCB1414
174c298
< CMDL EQU X'01' Data on cmd line [11] 00166000
---
> * ;UCB1415
300,305c424,431
< MVI EXTFLG,X'00' Don't exit yet [11] 00292000
< OI LFLAGS,CMDL Set if info on cmd line [11] 00293000
< LA R6,8(R6) 00294000
< CLC 0(8,R6),=8X'FF' ALL COMMAND ON ONE LINE? 00295000
< BNE NOPRO NO PROMPT IF YES 00296000
< NI LFLAGS,X'FF'-CMDL Nothing at command line [11] 00297000
---
> MVC CMDLINEF,8(R6) Command flag is param1 (none=FF) ;UCB1416
> LA R5,CMDLINE Save the command line ;UCB1417
> XC CMDLINE,CMDLINE = ;UCB1418
> INIF3 MVC 0(8,R5),0(R6) = (Up to terminator) ;UCB1419
> CLC 0(8,R6),=8X'FF' = ;UCB1420
> LA R5,8(R5) = ;UCB1421
> LA R6,8(R6) = ;UCB1422
> BNE INIF3 = ;UCB1423
313,317c439
< PROMPT CLI EXTFLG,X'FF' Time to exit? [11] 00305000
< BE LV2 Yup [11] 00306000
< TM LFLAGS,CMDL Data on cmd line? [11] 00307000
< BO PRO4 Yes go check [11] 00308000
< TM LFLAGS,TAKON Using TAKE file? [15 start] 00309000
---
> PROMPT TM LFLAGS,TAKON Using TAKE file? [15 start] ;UCB1424
332c454,455
< PRO3 SR R2,R2 00324000
---
> PRO3 FSCLOSE (R2) Close the take file ;UCB1425
> SR R2,R2 ;UCB1426
341c463,470
< PRO4 RDTERM INPUT No prompt [11] 00333000
---
> CLI CMDLINEF,X'FF' If no command line pending, ;UCB1427
> BE PRO4 = then get actual input ;UCB1428
> MVI CMDLINEF,X'FF' Turn off pending flag ;UCB1429
> LA R6,CMDLINE+8 Use tokenized command line ;UCB1430
> MVC INPUT(122),0(R6) = (but leave image in INPUT) ;UCB1431
> B PRO5 = ;UCB1432
> PRO4 RDTERM INPUT Get actual input ;UCB1433
350c484
< NOPRO MVI ERRNUM,X'FF' RESET ERROR FOR THIS TIME 00342000
---
> PRO5 MVI ERRNUM,X'FF' RESET ERROR FOR THIS TIME ;UCB1434
356,357c490,491
< CLC 0(8,R6),=8X'FF' No more input? [11] 00348000
< BE NOPRO2 Go check [11] 00349000
---
> CLC 0(8,R6),=8X'FF' Null input OK ;UCB1435
> BE PROMPT = ;UCB1436
363,365c497
< NOPRO2 TM LFLAGS,CMDL No more info on cmd line [11] 00355000
< BO LV2 Yes so just exit [11] 00356000
< B PROMPT No, blank line at prompt [11] 00357000
---
> * ;UCB1437
409,411c541
< SNAM MVC NAME,=18X'20' BLANK IT OUT 00401000
< MVC FILNAM,=18X'20' BLANK IT OUT TOO 00402000
< MVC NAME(8),0(R6) PICK UP THE FNAME 00403000
---
> SNAM MVC NAME(8),0(R6) PICK UP THE FNAME ;UCB1438
515c647
< MVC 0(18,R2),=18X'40' Blank area for file name 00507000
---
> * ;UCB1439
650,651c782
< PRSF2 MVC FILNAM,=18X'20' Blank it out 00642000
< MVC FILNAM(8),0(R6) Get fn 00643000
---
> PRSF2 MVC FILNAM(8),0(R6) Get fn ;UCB1440
894c1027,1029
< INPUT DS CL130 INPUT BUFFER 00886000
---
> INPUT DS CL130 INPUT BUFFER ;UCB144A
> CMDLINEF DC X'FF' Command line flag ;UCB1441
> CMDLINE DS CL130 Tokenized first command line ;UCB1442
934c1070
< EXTFLG DS X Exit flag [11] 00926000
---
> * ;UCB1443
1616c1778
< MVI EXTFLG,X'FF' Set exit flag 01608000
---
> * ;UCB1444
Greg Small (415)642-5979
Microcomputer Networking & Communications gts@ucbopal.Berkeley.EDU
214 Evans Hall CFC ucbvax!ucbjade!ucbopal!gts
University of California SPGGTS@UCBCMSA.BITNET
Berkeley, Ca 94720
16-Jan-86 17:58:01-EST,3201;000000000011
Received: from CUVMA by CU20B with HASP; 16 Jan 86 17:57:56 EST
Received: from CORNELLA(MAL) by CUVMA (Mailer X1.23a) id 1357;
Thu, 16 Jan 86 17:57:52 EST
Received: by CORNELLA (Mailer X1.21) id 7316; Thu, 16 Jan 86 17:57:58 EST
Date: 16 January 86 17:57 EST
From: NJG@CORNELLA
Subject: CMS KERMIT 2.01 bugs fixed
To: INFO-KERMIT@CU20B
I have discovered (and corrected!) a couple of bugs in CMS KERMIT
version 2.01. The following file 'CMSKERM CNTRL' can be use with
VMFASM and the other files referenced here to build a new CMSKERM
TEXT deck which can be used to build a new MODULE.
The contents of CMSKERM CNTRL are:
TEXT MACS DMSSP CMSLIB TSOMAC
TEXT AUXDIST
The contents of CMSKERM AUXDIST are:
FIXBYE - DON'T 'XON' FOR 'BYE' ON A 7171. NJG 16JAN86.
FIXPAD - FIX PAD CHAR FOR RECFM F TEXT FILES. -NJG 9/85
TAKCLOSE - CLOSE TAKE FILES. NJG, 9/85.
If CMS KERMIT is executed more than once from an EXEC without returning
to CMS command level any attempt to 'take' a file more than once will
fail as the file has been left open.
This can be fixed by closeing the file.
The contents of CMSKERM TAKCLOSE are:
./ I 00016350 $ 16450 5 09/05/85 20:11:19
* Sep 85: Close TAKE and system initialization files takclose
* when done with them so we can use them again takclose
* if we want to. takclose
* Nick Gimbrone, Cornell University takclose
./ R 00324000 $ 324190 190 09/05/85 20:11:19
PRO3 DS 0H takclose
FSCLOSE (R2) Close the file takclose
SR R2,R2 takclose
Update 2 to version 2.00 of CMSKERM does not pad RECFM F files
with spaces as it claimed, it pads with hex 0's.
The contents of CMSKERM FIXPAD are:
./ I 00016465 $ 16480 5 09/05/85 20:11:19
* Sept 85: Pad RECFM F files with space, not X'00'. fixpad
* Nick Gimbrone, Cornell University fixpad
./ R 03876000 $ 3876490 490 09/05/85 21:09:01
L R15,=X'40000000' Pad with spaces fixpad
When processing a SERVER 'bye' request on a 7171 (or Series/1) line
no XON should be sent before issuing the CP LOGOFF command. If it is
the CONWAIT following the WRTERM will wait forever.
The content of file CMSKERM FIXBYE are:
./ I 00016485 $ 16500 5 09/05/85 20:11:19
* Jan 86: Don't send XON before 'logoff' on a 7171. fixbye
* Nick Gimbrone, Cornell University fixbye
./ I 01599000 $ 1599300 300 01/16/86 16:51:45
TM S1FLAGS,ISS1 Is console a S/1? fixbye
BNZ SERV21A Yes, no XON needed. fixbye
./ I 01602000 $ 1602500 500 01/16/86 16:51:45
SERV21A DS 0H fixbye
"8-)" Nick Gimbrone <NJG@CORNELLA.BITNET> (607)256-3747
------------------------------
Date: Fri, 7 Mar 86 12:12:27 +0100
From: mcvax!eurifb!benno@seismo.CSS.GOV
Subject: bug in kermit for VM/CMS
A problem erupted when we tried to send lots of packets from a UNIX machine
via a 7171 over a 70-foot line. The 7171 guarantees only 50 foot, and lots
of acknowledgement-packets were garbled, and UNIX-kermit did a retry.
This was all OK, exept when the old packet-number was 63 ('_').
VM/CMS kermit wrapped around to 0 (' ') and didn't
recognise the resent packet as a retry.
It appeared that masking was forgotten on several occasions. I have tried to
locate all the spots where it should be needed, and inserted them (see the
lines with BN-860227).
It works fine now (upto now for approx. 100 MB).
Ben Noordzij,
Erasmus University, Rotterdam, The netherlands
......!mcvax!eurifb!benno
ROLD L R3,OLDTRY
LA R3,1(R3) INCREMENT COUNTER
ST R3,OLDTRY
L R3,SPKNUM GET PACKET NUMBER SENT
BCTR R3,0 SUBTRACT ONE FROM IT
N R3,=X'00000037' WRAP AROUND (BN-860227)
C R3,RPKNUM RPKNUM MUST EQUAL SPKNUM-1
BE RNUM
MVI ERRNUM,X'08' PREVIOUS PACKET MISSING
B RNAK SEND A NAK
RNUM MVI STYPE,AY ACK PACKET
ST R3,SPKNUM MAKE SEND SEQ NO. = SPKNUM-1
L R15,=A(RPAR) Get packet with our values [5]
BALR R14,R15
ST R15,LSDAT Size of packet [5]
L R15,=A(SPACK)
BALR R14,R15 GO TO SPACK AND RETURN
CLI STATE,C'A'
BE RABORT
L R4,SPKNUM
LA R4,1(R4) ADD ONE
ST R4,SPKNUM RESTORE N TO PROPER VALUE
NC SPKNUM(4),=X'0000003F' WRAP AROUND (BN-860227)
XC NUMTRY,NUMTRY RESET COUNTER TO ZERO
B RLOOP
RNZ CLI RTYPE,AZ
BNE RNF MAYBE IT'S AN 'F'
CLC OLDTRY,MAXTRY CAN WE TRY AGAIN?
BL ROLD2
MVI STATE,C'A' ELSE,ABORT
B RLOOP
ROLD2 L R3,OLDTRY
LA R3,1(R3) INCREMENT COUNTER
ST R3,OLDTRY
L R3,SPKNUM GET PACKET NUMBER SENT
BCTR R3,0 SUBTRACT ONE FROM IT
N R3,=X'00000037' WRAP AROUND (BN-860227)
C R3,RPKNUM RPKNUM MUST EQUAL SPKNUM-1
BE RNUM2
MVI ERRNUM,X'08' PREVIOUS PACKET MISSING
B RNAK SEND A NAK
RNUM2 MVI STYPE,AY ACK PACKET
ST R3,SPKNUM SEND SEQ := SPKNUM-1
XC LSDAT,LSDAT NO DATA
L R15,=A(SPACK)
BALR R14,R15
CLI STATE,C'A'
BE RABORT
L R4,SPKNUM
LA R4,1(R4) ADD ONE
ST R4,SPKNUM RESTORE SPKNUM TO PROPER VALUE
NC SPKNUM(4),=X'0000003F' WRAP AROUND (BN-860227)
XC NUMTRY,NUMTRY RESET COUNTER TO ZERO
B RLOOP
************************************
no changes between these lines
************************************
DIFNUM L R4,OLDTRY
LA R4,1(R4)
ST R4,OLDTRY INCREMENT THIS COUNTER
L R4,SPKNUM
BCTR R4,0
N R4,=X'0000003F' WRAP AROUND BACKWARDS (BN-860227)
C R4,RPKNUM RPKNUM MUST EQUAL SPKNUM-1
BE DIFOK
MVI ERRNUM,X'08' PREVIOUS PACKET MISSING
B RDN1 SEND A NAK
DIFOK XC NUMTRY,NUMTRY RESET COUNTER TO ZERO
MVI STYPE,AY ACK PACKET
XC LSDAT,LSDAT NO DATA
ST R4,SPKNUM DECREMENT TO RESEND PACKET
L R15,=A(SPACK)
BALR R14,R15 SEND THE PACKET
CLI STATE,C'A'
BE RABORT
L R4,SPKNUM
LA R4,1(R4) ADD ONE
ST R4,SPKNUM RESTORE TO PROPER VALUE
NC SPKNUM(4),=X'0000003F' WRAP AROUND (BN-860227)
B RLOOP AND RETURN
RDF CLI RTYPE,AF SENDING FILENAME AGAIN?
BNE RDZ
CLC OLDTRY,MAXTRY CAN WE DO IT?
BL FILOVER TRYING IT AGAIN
MVI STATE,C'A' IF NO, ABORT
B RLOOP
FILOVER L R4,OLDTRY
LA R4,1(R4)
ST R4,OLDTRY SAVE INCREMENTED VALUE
L R4,SPKNUM
BCTR R4,0 NEED VALUE OF N-1
N R4,=X'0000003F' WRAP AROUND BACKWARD (BN-860227)
C R4,RPKNUM SPKNUM-1 MUST EQUAL RPKNUM
BE FILOK
MVI ERRNUM,X'08' PREVIOUS PACKET MISSING
B RDN1 SEND A NAK
FILOK XC NUMTRY,NUMTRY RESET TO ZERO
XC LSDAT,LSDAT NO DATA
MVI STYPE,AY ACK PACKET AGAIN
ST R4,SPKNUM DECREMENT FOR NOW
L R15,=A(SPACK)
BALR R14,R15
CLI STATE,C'A'
BE RABORT
L R4,SPKNUM
LA R4,1(R4) ADD ONE
ST R4,SPKNUM RESTORE TO PROPER VALUE
NC SPKNUM(4),=X'0000003F' WRAP AROUND (BN-860227)
B RLOOP AND RETURN
------------------------------
Date: 7-Jan-1986
From: BRIAN@UOFT02.BITNET
Subject: IBM VM/CMS Kermit vs VM Optimizer
The systems group for the IBM system here recently installed a package from
BMC Corp. called VM Optimizer, one feature of which is compression of data
to 3270 type terminals. Using this will cause CMS S/1 Kermit to fail. If
something like this is used, it should be disabled for 7171 and S/1 lines.
------------------------------