home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / cpm80 / cpkerm.bw2 < prev    next >
Text File  |  2020-01-01  |  5KB  |  132 lines

  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.  
  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 --
  132.