]> cloudbase.mooo.com Git - kermit-80.git/blob - cpkerm.bw2
Import of "Kermit 80 for CP/M-80 and CP/M-85" from http://www.columbia.edu/kermit...
[kermit-80.git] / cpkerm.bw2
1 Re: Problems with CP/M Kermit Version 4.09
2
3 Following is a list of problems and their solutions for CP/M Kermit
4 Version 4.09. Bear in mind that the latest version of CPSPK1.ASM I have is
5 edit (11) and of CPSPK2.ASM is edit (4).
6
7 Problem: 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.
10 Diagnosis: 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.
17 Solution: Save register pairs DE and HL around the function 9 BDOS call.
18
19 Problem: 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.
24 Solution: 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
28 Problem: 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.
31 Diagnosis: 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.
33 Solution: Change the instruction "jz read5c" to "jz read5b".
34
35 Problem: Files whose filenames are less then 8 characters in length have
36 ASCII zeros ("0") appended to them.
37 Diagnosis: 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.
46 Solution: (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
53 With these changes, Kermit-80 performs like a champ.
54 Following are file comparisons showing the changes noted above.
55
56 ************
57 File DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1
58 418 push b
59 ******
60 File DISK$USER:[OGRFJMF.KERMIT.CPM.HP125]CPXCOM.ASM;1
61 418 PUSH H
62 419 PUSH D
63 420 push b
64 ************
65 ************
66 File DISK$USER:[OGRFJMF.KERMIT.CPM]CPXCOM.ASM;1
67 422 ret ; all done for good machines
68 ******
69 File 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
75 Number of difference sections found: 2
76 Number of difference records found: 4
77
78 DIFFERENCES /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
82 File 1) DSKE:CPSPK1.ASM[10,50,KERMIT,CPM] created: 1940 26-Aug-89
83 File 2) DSKE:CPSPK1.ASM[10,50,KERMIT,CPM,HP125] created: 2247 27-Aug-89
84
85 1)1 read0a: call init ;clear line, initialise buffers
86 1) lxi d,remnam ;[gnn] save local name here
87 1) mvi a,cmtxt ;[gnn]
88 ****
89 2)1 call init ;clear line, initialise buffers
90 2) read0a: lxi d,remnam ;[gnn] save local name here
91 2) mvi a,cmtxt ;[gnn]
92 **************
93 1)2 jz read5c ; no autoreceives, so drop out
94 1) lxi d,anymes ; load up Press any key to continue
95 ****
96 2)2 jz read5b ; no autoreceives, so drop out
97 2) lxi d,anymes ; load up Press any key to continue
98 **************
99
100 File 1) DSKE:CPSPK2.ASM[10,50,KERMIT,CPM] created: 0829 28-Aug-89
101 File 2) DSKE:CPSPK2.ASM[10,50,KERMIT,CPM,HP125] created: 2259 27-Aug-89
102
103 1)1 ; mvi c,openf ;See if the file exists.
104 1) ; lxi d,fcb
105 1) ; call bdos
106 1) ; cpi 0FFH ;Does it exist?
107 1) ; jz gofil9 ;If not create it.
108 1) ; lxi d,infms5
109 1) ; call error3
110 1) ; lda temp2 ;Get the number of chars in the file name.
111 ****
112 2)1 mvi c,openf ;See if the file exists.
113 2) lxi d,fcb
114 2) call bdos
115 2) cpi 0FFH ;Does it exist?
116 2) jz gofil9 ;If not create it.
117 2) lxi d,infms5
118 2) call error3
119 2) ; lda temp2 ;Get the number of chars in the file name.
120 **************
121 1)1 call prtstr ; write string to console
122 ****
123 2)1 lxi d,fnbuf ;[MF]Point to string
124 2) call prtstr ; write string to console
125 **************
126 \f
127
128 I may be reached on BITNET by E-mail to mailer@uwalocke with the subject-line
129 containing the phrase <dec10%"bpa">.
130 -- Mike Freeman; Bonneville Power Administration; Vancouver, Wa;
131 Telephone (206)690-2307 --