home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / msr313src.tar.gz / msr313src.tar / msvp98.bwr < prev    next >
Text File  |  1991-04-18  |  5KB  |  120 lines

  1. ===============================================================================
  2. Date:         SUN, 10 MAR 91 14:05:11 JST
  3. From:         Hirofumi Fujii <KEIBUN@JPNKEKVM>
  4. Subject:      Re: NEC PC9801 Kermit v3.10
  5. To:           Joe Doupnik <JRD@usu>
  6. In-Reply-To:  Your message of Sat, 9 Mar 91 16:14 MDT
  7.  
  8. Dear Joe,
  9.  
  10. >        One thing needing checking is the rewriting of the Connect mode
  11. >status line if the printing device is not ready. Printing is now done
  12. >with procedures in MSSTER.ASM so that the command SET PRINTER <device/file>
  13.  
  14. Oh, I have not tested printing functions !  I'll check it. Thank you.
  15.  
  16. >will operate. Another area to check carefully is DFKEY in MSUP98B.ASM because
  17. >that file required significant changes. Macros TERMINALR/S etc should now
  18. >work if you can insert the detection code in the terminal emulator.
  19.  
  20. Yes, I know that the MSUP98.ASM must be rewritten.  There are many missing
  21. functions.
  22.  
  23. ---
  24.  
  25. I found more serious problems. In the case of sliding windows, many timeouts
  26. occur.  I checked the routines and found the following problem.
  27.  
  28.  In MSSCOM.ASM, you set 1 sec wait time (timeval) before calling 'inchr'.
  29. And in 'inchr', timeout is determined by using MS-DOS 'time of day' function
  30. call as follows;
  31.  
  32.                          :
  33.           if( min_now  < min_timeout  ) return( EARLY );
  34.           if( min_now  > min_timeout  ) return( LATE );
  35.           if( sec_now  < sec_timeout  ) return( EARLY );
  36.           if( sec_now  > sec_timeout  ) return( LATE );
  37.           if( hundredth_now < hundredth_timeout ) return( EARLY );
  38.           return( LATE );
  39.  
  40. However, the time-of-day clock of NEC-PC9801 does not have hundredths
  41. of second, i.e., always zero. Therefore, in the case of NEC-PC9801 and
  42. timeval is 1 sec, it returns LATE when 'sec' of the time-of-day clock is
  43. changed, i.e., in worst case, it returns LATE (timeout) immediately.
  44.  
  45. I have tried to avoid this problem within MS?P98.ASM, but I could not find
  46. any good solution.
  47.  
  48. One easy way to avoid this problem is to change the above algorithm like
  49.  
  50.           if( hundredth_now <= hundredth_timeout ) return( EARLY );
  51.                              ^
  52.                              |
  53. i.e., in MSSCOM.ASM
  54.  
  55. inchr4: mov     ah,gettim       ; compare present tod versus timeout tod
  56.         int     dos             ; get the time of day
  57.         sub     ch,rptim        ; hours difference, ch = (now - timeout)
  58.         je      inchr4b         ; e = same, check mmss.s
  59.         jl      inchr4d         ; l = we are early
  60.         cmp     ch,12           ; hours difference, large or small?
  61.         jge     inchr4d         ; ge = we are early
  62.         jl      inchr4c         ; l = we are late, say timeout
  63. inchr4b:cmp     cl,rptim+1      ; minutes, hours match
  64.         jb      inchr4d         ; b = we are early
  65.         ja      inchr4c         ; a = we are late
  66.         cmp     dh,rptim+2      ; seconds, hours and minutes match
  67.         jb      inchr4d         ; b = we are early
  68.         ja      inchr4c         ; a = we are late
  69.         cmp     dl,rptim+3      ; hundredths of seconds, hhmmss match
  70.         jbe     inchr4d         ; be = we are early
  71.           ^                        ^
  72.           |                        |
  73.  
  74. In this case, timeout occures 1/100 sec after setting value if time-of-day
  75. clock have hundredths of sec.
  76. How do you think ?
  77.  
  78. Hirofumi Fujii
  79. 09-March-1991
  80. --------------------------
  81. keibun@jpnkekvm   (BITNET)
  82. ===============================================================================
  83. Date: Mon, 11 Mar 91 08:07 MDT
  84. From: Joe Doupnik <JRD@usu.bitnet>
  85. Subject: Re: NEC PC9801 Kermit v3.10
  86. To: KEIBUN@JPNKEKVM.BITNET
  87. Message-id: <A8FF77F4541702B44F@cc.usu.edu>
  88. X-Envelope-to: KEIBUN@JPNKEKVM.BITNET
  89. X-VMS-To: IN%"KEIBUN@JPNKEKVM.BITNET"
  90. X-VMS-Cc: JRD
  91.  
  92. Hirofumi,
  93.         Time of day: Yes, I see the problem. And your solution is fine.
  94. My problem is the v3,10 code is frozen now (AT&T has a copy ready for
  95. dsitribution with Unix). That means for the NEC v3.10 Kermit you will need
  96. to include a replacement for file msscom.asm with the changed timeout
  97. algorithm. I will modify the algorithm in the release after this to accomodate
  98. the NEC difficulty.
  99.         So, we will have a new file, MSCP98.ASM (looks about right), to
  100. replace MSSCOM.ASM.
  101.         Thanks for the information,
  102.         Joe D.
  103. ===============================================================================
  104. 05-April-1991
  105.  
  106. - Found bug in MSXP98.ASM .  'flowoff' and 'flowon' were not set, and
  107.   no flowcontrol was applied for sending characters to the host.
  108.  
  109. - Added 'pcwtst' in MSZP98.ASM to adjust the counter for 'pcwait'.
  110.   the value 'pcwcnt' is set by using interval timer BIOS.
  111.  
  112. - SENDBR and SENDBL are now drop the DTR almost correct interval, i.e.,
  113.   275 msec and 1.8 sec respectively.
  114.  
  115. - OUTCHR waits for XON for about 15 sec in 4 msec interval when XOFF
  116.   received (as in IBM-PC version).
  117.  
  118. -> KEK v1.21 05-APR-1991
  119. ===============================================================================
  120.