home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
msr313src.tar.gz
/
msr313src.tar
/
msvp98.bwr
< prev
next >
Wrap
Text File
|
1991-04-18
|
5KB
|
120 lines
===============================================================================
Date: SUN, 10 MAR 91 14:05:11 JST
From: Hirofumi Fujii <KEIBUN@JPNKEKVM>
Subject: Re: NEC PC9801 Kermit v3.10
To: Joe Doupnik <JRD@usu>
In-Reply-To: Your message of Sat, 9 Mar 91 16:14 MDT
Dear Joe,
> One thing needing checking is the rewriting of the Connect mode
>status line if the printing device is not ready. Printing is now done
>with procedures in MSSTER.ASM so that the command SET PRINTER <device/file>
Oh, I have not tested printing functions ! I'll check it. Thank you.
>will operate. Another area to check carefully is DFKEY in MSUP98B.ASM because
>that file required significant changes. Macros TERMINALR/S etc should now
>work if you can insert the detection code in the terminal emulator.
Yes, I know that the MSUP98.ASM must be rewritten. There are many missing
functions.
---
I found more serious problems. In the case of sliding windows, many timeouts
occur. I checked the routines and found the following problem.
In MSSCOM.ASM, you set 1 sec wait time (timeval) before calling 'inchr'.
And in 'inchr', timeout is determined by using MS-DOS 'time of day' function
call as follows;
:
if( min_now < min_timeout ) return( EARLY );
if( min_now > min_timeout ) return( LATE );
if( sec_now < sec_timeout ) return( EARLY );
if( sec_now > sec_timeout ) return( LATE );
if( hundredth_now < hundredth_timeout ) return( EARLY );
return( LATE );
However, the time-of-day clock of NEC-PC9801 does not have hundredths
of second, i.e., always zero. Therefore, in the case of NEC-PC9801 and
timeval is 1 sec, it returns LATE when 'sec' of the time-of-day clock is
changed, i.e., in worst case, it returns LATE (timeout) immediately.
I have tried to avoid this problem within MS?P98.ASM, but I could not find
any good solution.
One easy way to avoid this problem is to change the above algorithm like
if( hundredth_now <= hundredth_timeout ) return( EARLY );
^
|
i.e., in MSSCOM.ASM
inchr4: mov ah,gettim ; compare present tod versus timeout tod
int dos ; get the time of day
sub ch,rptim ; hours difference, ch = (now - timeout)
je inchr4b ; e = same, check mmss.s
jl inchr4d ; l = we are early
cmp ch,12 ; hours difference, large or small?
jge inchr4d ; ge = we are early
jl inchr4c ; l = we are late, say timeout
inchr4b:cmp cl,rptim+1 ; minutes, hours match
jb inchr4d ; b = we are early
ja inchr4c ; a = we are late
cmp dh,rptim+2 ; seconds, hours and minutes match
jb inchr4d ; b = we are early
ja inchr4c ; a = we are late
cmp dl,rptim+3 ; hundredths of seconds, hhmmss match
jbe inchr4d ; be = we are early
^ ^
| |
In this case, timeout occures 1/100 sec after setting value if time-of-day
clock have hundredths of sec.
How do you think ?
Hirofumi Fujii
09-March-1991
--------------------------
keibun@jpnkekvm (BITNET)
===============================================================================
Date: Mon, 11 Mar 91 08:07 MDT
From: Joe Doupnik <JRD@usu.bitnet>
Subject: Re: NEC PC9801 Kermit v3.10
To: KEIBUN@JPNKEKVM.BITNET
Message-id: <A8FF77F4541702B44F@cc.usu.edu>
X-Envelope-to: KEIBUN@JPNKEKVM.BITNET
X-VMS-To: IN%"KEIBUN@JPNKEKVM.BITNET"
X-VMS-Cc: JRD
Hirofumi,
Time of day: Yes, I see the problem. And your solution is fine.
My problem is the v3,10 code is frozen now (AT&T has a copy ready for
dsitribution with Unix). That means for the NEC v3.10 Kermit you will need
to include a replacement for file msscom.asm with the changed timeout
algorithm. I will modify the algorithm in the release after this to accomodate
the NEC difficulty.
So, we will have a new file, MSCP98.ASM (looks about right), to
replace MSSCOM.ASM.
Thanks for the information,
Joe D.
===============================================================================
05-April-1991
- Found bug in MSXP98.ASM . 'flowoff' and 'flowon' were not set, and
no flowcontrol was applied for sending characters to the host.
- Added 'pcwtst' in MSZP98.ASM to adjust the counter for 'pcwait'.
the value 'pcwcnt' is set by using interval timer BIOS.
- SENDBR and SENDBL are now drop the DTR almost correct interval, i.e.,
275 msec and 1.8 sec respectively.
- OUTCHR waits for XON for about 15 sec in 4 msec interval when XOFF
received (as in IBM-PC version).
-> KEK v1.21 05-APR-1991
===============================================================================