]>
Commit | Line | Data |
---|---|---|
c25f6a44 L |
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 -- |