]> cloudbase.mooo.com Git - kermit-80.git/blame - cpkerm.bw2
Bugfix in outmdm (output buffer flush)
[kermit-80.git] / cpkerm.bw2
CommitLineData
c25f6a44
L
1Re: Problems with CP/M Kermit Version 4.09
2
3Following is a list of problems and their solutions for CP/M Kermit
4Version 4.09. Bear in mind that the latest version of CPSPK1.ASM I have is
5edit (11) and of CPSPK2.ASM is edit (4).
6
7Problem: When the terminal is in "quiet" mode, initiation of file-transfers
8 causes lots of garbage to appear on the screen which is distracting
9 and which raises havoc with voice output devices.
10Diagnosis: In the module CPXCOM.ASM, the routine "prtstr" has two flavors:
11 one for machines which cannot display control-characters via BDOS
12 function 9 and one which can display such characters via function 9.
13 In this latter case, only register pair BC is saved around the BDOS
14 call. This is insufficient as BDOS also clobbers register pairs
15 DE and HL during the call. In "quiet" mode, at least one of these
16 pairs is expected to remain constant.
17Solution: Save register pairs DE and HL around the function 9 BDOS call.
18
19Problem: When GETting a file, the initialization routine "init" is executed
20 twice. This doesn't harm anything and may not be noticeeable in
21 print but is most annoying when using voice output as "init" types
22 out the Kermit version and screen initialization strings and thus
23 one hears them twice.
24Solution: In the module CPSPK1.ASM, move the label "read0a" down one line
25 so that the common code for the "receive" and "get" commands starts
26 just *after* the call to "init" is made in "receive" mode.
27
28Problem: With "auto-receive" set to "off", after a RECEIVE has completed,
29 Kermit waits for Console input; then looks for more data to receive
30 when there is none.
31Diagnosis: In the module CPSPK1.ASM, when the status of "auto-receive" is
32 checked, the wrong label is branched to if "auto-receive" is OFF.
33Solution: Change the instruction "jz read5c" to "jz read5b".
34
35Problem: Files whose filenames are less then 8 characters in length have
36 ASCII zeros ("0") appended to them.
37Diagnosis: In the module CPSPK2.ASM, after label "gofi7b", where the status
38 of "file-warning" is checked, the code for the appending of "&"
39 characters to filenames if the file already exists on disk has been
40 commented out and new code putting numeric suffixes on filenames
41 in this case has been substituted. In the process, the code for
42 checking for a file's existence has been accidentally commented out.
43 Thus, if "file-warning" is "on", *every* file is assumed to have
44 a duplicate and a numeric suffix is added to each filename. In
45 addition, no warning of this is given on-screen.
46Solution: (1) Uncomment the code which checks for the existence of each file.
47 (2) Uncomment the code which prints the file-warning error message
48 and put a "lxi d,fnbuf" instruction between the "stax d" shown in
49 CPKERM.BWR and the call to "prtstr" so that routine can print the
50 filename of any file whose existence has been detected.
51
52
53With these changes, Kermit-80 performs like a champ.
54Following are file comparisons showing the changes noted above.
55
56************
57File DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1
58 418 push b
59******
60File DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1
61 418 PUSH H
62 419 PUSH D
63 420 push b
64************
65************
66File DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1
67 422 ret ; all done for good machines
68******
69File DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1
70 424 POP D
71 425 POP H
72 426 ret ; all done for good machines
73************
74
75Number of difference sections found: 2
76Number of difference records found: 4
77
78DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.DIF;1-
79 DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1-
80 DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1
81
82File 1) DSKE:CPSPK1.ASM[10,50,KERMIT,CPM] created: 1940 26-Aug-89
83File 2) DSKE:CPSPK1.ASM[10,50,KERMIT,CPM,HP125] created: 2247 27-Aug-89
84
851)1 read0a: call init ;clear line, initialise buffers
861) lxi d,remnam ;[gnn] save local name here
871) mvi a,cmtxt ;[gnn]
88****
892)1 call init ;clear line, initialise buffers
902) read0a: lxi d,remnam ;[gnn] save local name here
912) mvi a,cmtxt ;[gnn]
92**************
931)2 jz read5c ; no autoreceives, so drop out
941) lxi d,anymes ; load up Press any key to continue
95****
962)2 jz read5b ; no autoreceives, so drop out
972) lxi d,anymes ; load up Press any key to continue
98**************
99
100File 1) DSKE:CPSPK2.ASM[10,50,KERMIT,CPM] created: 0829 28-Aug-89
101File 2) DSKE:CPSPK2.ASM[10,50,KERMIT,CPM,HP125] created: 2259 27-Aug-89
102
1031)1 ; mvi c,openf ;See if the file exists.
1041) ; lxi d,fcb
1051) ; call bdos
1061) ; cpi 0FFH ;Does it exist?
1071) ; jz gofil9 ;If not create it.
1081) ; lxi d,infms5
1091) ; call error3
1101) ; lda temp2 ;Get the number of chars in the file name.
111****
1122)1 mvi c,openf ;See if the file exists.
1132) lxi d,fcb
1142) call bdos
1152) cpi 0FFH ;Does it exist?
1162) jz gofil9 ;If not create it.
1172) lxi d,infms5
1182) call error3
1192) ; lda temp2 ;Get the number of chars in the file name.
120**************
1211)1 call prtstr ; write string to console
122****
1232)1 lxi d,fnbuf ;[MF]Point to string
1242) call prtstr ; write string to console
125**************
126\f
127
128I may be reached on BITNET by E-mail to mailer@uwalocke with the subject-line
129containing the phrase <dec10%"bpa">.
130-- Mike Freeman; Bonneville Power Administration; Vancouver, Wa;
131Telephone (206)690-2307 --