[comp.sys.atari.st] More about MORE

braner@batcomputer.UUCP (02/06/87)

[]

Here is MORE.TTP, version 1.2.  Two small bugs have been fixed, and
the following features added:

When showing a file on the screen, if you press <Home> it jumps back
to the top of the file.  If it is already there, it jumps to the end
of the file.  In addition, pressing <Space> (or <Backspace>)  while a
screen is being drawn aborts the drawing and starts drawing the next
(or former) screen.  When looking for specific parts of a file, these
features speed things up a lot.

PROBLEM:  pressing <Return> too many times causes the ST bell to ring
and some strange behavior afterwards (sometimes crashes!).  I use Bconin(2),
i.e. BIOS(2,2).  I have some evidence that the keyboard buffer keeps
filling up.  And I thought that it is drawn down each time you call
Bconin(2)...  I think somebody has already posted the suspicion that there
is something fishy about the handling of keyboard input overrun in TOS.  
Can somebody (Allan?) elucidate what's going on?  

- Moshe Braner

~~~~~~~~~~~~~~~~~~~~~ cut here ~~~~~~~~~~~~~~~~~
begin 644 MORE.TTP
M8!H   >J                             "IO  1!^0 !"-*1S2\(+PU"
M9S\\ $I.04_O  Q*@&8 !&9+[0" $AUF$$'Z!C1A  2680 $=D)G3D%)^0  
M!ZQ301 =#   (&<.#   "6<(#   +6<,&,!1R?_H0A1@  #&4T%K]A =#   
M864$!   ( P  %-F"E?Y   %GF  _]@,  !#9@I7^0  !:!@ /_(#   1&8*
M5_D   6D8 #_N P  $UF#F$ !,PSP   !:)@ /^D#   5&8.80 $N#/    %
MG&  _Y ,  !09@PS_      %J&  _WX,  !&9C0S_/__   %J$'Y   (4%-!
M:P  ,A =#   (&<08 H0'0P  "!C /]0$,!"$%')__!@   2#   5F8&5_D 
M  6F8 #_-$(4,#H$?FH<0F=(>0  "% _/  \3D%0CTI :P #1#/    %K$(Y
M   '_D(Y   (4# Z!$AG($'Z!'!)^0  !_Y"0V$  VA!^@1[2?D   A00D-A
M  -82'D   BB/SP &DY!7(]"9TAY   'K#\\ $Y.05"/2D!F  +H(_D   B\
M   (SD)G2'D   >L/SP /4Y!4(]*0&L  L@SP   !:I'^0  !_X0&V<&80 !
M^F#V1_D   C2*$M"1T(%#'D  @  !:AG"$'Z!!9A  +40D:\>@.J; IP(&$ 
M <Q21F#P0D8_/  "/SP  4Y-6(]*0&<>80 "D P  !MG  )P#'D  @  !:AF
M"$A $\    6N& 6YRV4(80 !VF<  & :' P%  UG!@P%  IF$KH$9TP,!  -
M9]P,!  *9]9@/@P%  EF'C Z S!G)G @80 !6%)&, 9(P(#Z QY(0$I 9NI@
MKA Z QQF" P% !]B GH@$ 5A  $R4D9@ /^6$#H##&<8# 0 "F<  ;(,!  -
M9P !JF$  01@  &B80  _%)',#D   6D9P9A  #N4D<P.@+2#$   F8  , ,
M1P 8;0#_#D'Z U]A  '8$#D   6N9PA">0  !:Y@!F$  :A(0 P   %G  &&
M#   $&<  7X,   .9C!P6[G\   (TF,24XP,%  -9P8,%  *9NI1R/_H0D=!
M^@,?80 !AD)Y   %L&  _JH,  !'9AA)^0  "-)&.0  !;)FV-GY   (O' M
M8+1*.0  !;!FCD(Y   %LE-'#   '&<,#   .68 _WIP V"280  !F  _F)!
M^@*_80 !+$YU,#H!_F< _E ,1P \;0#^2'P%80  #%'.__I"1V  _CAP#6$ 
M  IP"F$   1.=3(Z =IJ*!/    'JDAY   'JB\\     3\Z <8_/ ! 3D%/
M[P ,2H!K  "03G5*.0  !:YF%$B 80  LDIY   %J&8&2H!G  !R3G4@.0  
M",YG-FLT2'D   C2+SP  0  /SH!>C\\ #].04_O  Q*@&M&9T21N0  ",Y)
M^0  "-)'] @ 2H!.=4) 5_D   6P3G5+^0  "% 0'6<&80#_8&#V#'D  @  
M!:AF&$'Z :IA  !&8 #^?$'Z ;%A   Z80  &C Z 1AG"C\ /SP /DY!6(]A
M /[P0F=.03\\  (_/  "3DU8CTYU/P _ 3\\  -.35R/3G4O"#\\  E.05R/
M3G5A /_R2D-F(G9080#_S$A #   '&8$0A1.=4A &,!R!6$ _\11R__D8.Q"
M1'("80#_J P  !MG /^(#   "&<  "X,  !_9P  )@P   UG  !"#   (&T 
M_]:V1&< _] 9@$  4D1A /]^8 #_PDI$9P#_O%-$$#P "&$ _VH0/  @80#_
M8A \  AA /]:8 #_GF$ _U(0/  *80#_2D(T0 !.=4) 0@<4'5-!2(($0@ P
M:Q ,0@ );@K _  *T$)0QV#D2@=GX$YU  @               (         
M    #0H*"4YA;64@;V8@;W5T<'5T(&9I;&4Z(  -"@E#:&%R86-T97)S('1O
M('!R97!E;F0Z(  -"@E#:&%R86-T97)S('1O("!A<'!E;F0Z(  -"@H)4')E
M<W,@/$5S8SX@=&\@<W1O<"!P<FEN=&EN9R  #1MP($5N9"!O9B!F:6QE(!MQ
M  T*"@E43U,@97)R;W(A(  ;<"!M;W)E+BXN(  ;<0T;2P ;<1M% !M%#0H*
M"4)Y($UO<VAE($)R86YE<@D)5F5R<VEO;B Q+C(-"@H);6]R92!;+7!=6RUF
M(&]U=&9I;&5=6RUV75LM9%U;+7-=6RUC75LM;2-=6RUT(UT@9FEL96YA;64-
M"@H)+7 @(&]U='!U="!T;R!P<FEN=&5R#0H)+68@(&]U='!U="!T;R!F:6QE
M#0H)+78@(&-O;G1R;VP@8VAA<G,@=F5R8F%T:6T-"@DM9" @9&]U8FQE+7-P
M86-E9 T*"2US("!S:VEP(&]V97(@<&5R9F]R871I;VX-"@DM8R @96YT97(@
M8V]N=')O;"!C;V1E<PT*"2UM(R!A9&0@;&5F="!M87)G:6X@;V8@(PT*"2UT
M(R!S970@=&%B('-I>F4@=&\@(R H,#US96YD('1A8B!C:&%R<RD-"@H):&ET
M(&%N>2!K97D@      8V/A 0%!02$@8R%!0&!A 0#! 4! @4!A .0@J6*@@F
2)! &" H(8 8B#A *( 80"!( 
 
end

minow@decvax.UUCP (02/08/87)

In article <115@batcomputer.tn.cornell.edu> braner@batcomputer.UUCP
(Moshe Braner) notes that there seems to be a problem on the ST when
the keyboard buffer fills.

I've noticed the same sort of problem when using a home-brew TTY
emulator at 2400 Baud (but not when using Uniterm).  When the bug
hits me, I have to soft-reset the computer.

After reading through the Abacus ST Internals listings, it appears
that XON mode applies to both input and output on the RS232 line.
In the real world, this can easily lead to a deadlock condition.
If this is true, anyone doing a program that accesses the RS232
port in a full-duplex protocol must be very careful about letting
the buffers fill.  I.e. if you are going to send XOFF to a host
computer, you are well advised to ignore XOFF's the host sends to you
(and vice-versa).

Martin Minow
decvax!minow

bjorn@alberta.UUCP (02/11/87)

In article <23@decvax.UUCP>, minow@decvax.UUCP (Martin Minow) writes:
> In article <115@batcomputer.tn.cornell.edu> braner@batcomputer.UUCP
> (Moshe Braner) notes that there seems to be a problem on the ST when
> the keyboard buffer fills.
> 
> I've noticed the same sort of problem when using a home-brew TTY
> emulator at 2400 Baud (but not when using Uniterm).  When the bug
> hits me, I have to soft-reset the computer.
> 
> After reading through the Abacus ST Internals listings, it appears
> that XON mode applies to both input and output on the RS232 line.
> In the real world, this can easily lead to a deadlock condition.

You have it exactly right.  I used to frequently experience a
serial port lockup, no matter what I was running (vt52, homebrew,
UniTerm), with a reboot necessary to get things running again.
The fix is to never use the Xon/Xoff flow control provided in
the serial line driver.  If you're afraid of losing characters
increase the serial i/o buffer size with an 'iorec' call.
Personally I have never run into any problems with the default
buffer size over 2400 baud lines, but then more than likely
some of the programs I'm using issue 'iorec' calls.
Iorec can also be used to increase the size of the keyboard
buffer.

			Bjorn R. Bjornsson
			alberta!bjorn