[net.micro.cpm] Data loss on terminal programs

carl@proper.UUCP (Carl Greenberg) (01/06/86)

Thank you for all the help with getting MEX to acknowledge cursor motion.
However, under my Montezuma Micro CP/M, all the terminal programs I have
tried have a high amount of data loss.  I am continually losing bytes and
have trouble with cursor motion programs because they will often just
become so much gobbledeygook(sp?) when it loses the escape or the = or
one of the two following characters for cursor positioning.  Furthermore,
it sometimes crashes so that it will do something involving 7s, 's, and
a much smaller screen under something like vi.  Other times it will completely
forget cursor motion works at all.  However, this happens after I've been
in the terminal program for a while.  Does anyone have any idea how to correct
this?  The CP/M is running on a TRS-80 Model 4P and I go 1200BPS.
							Carl Greenberg

mattw@phred.UUCP (Matt Wing) (01/13/86)

> Thank you for all the help with getting MEX to acknowledge cursor motion.
> However, under my Montezuma Micro CP/M, all the terminal programs I have
> tried have a high amount of data loss.  I am continually losing bytes and
> have trouble with cursor motion programs because they will often just
> become so much gobbledeygook(sp?) when it loses the escape or the = or
> one of the two following characters for cursor positioning.  Furthermore,
> it sometimes crashes so that it will do something involving 7s, 's, and
> a much smaller screen under something like vi.  Other times it will completely
> forget cursor motion works at all.  However, this happens after I've been
> in the terminal program for a while.  Does anyone have any idea how to correct
> this?  The CP/M is running on a TRS-80 Model 4P and I go 1200BPS.
> 							Carl Greenberg

Carl, I have been working on a VT100 emulator for my RS model 4p. Presently
the assembly source code (Z-80) is 46k and when assembled handles all of the
VT100 escape sequences. I have had moderate success with most of the editors
available on the Vax systems here at work. You are welcome to a copy of the
assembled code to try out. Please leave a note (number) and we will get
together and xfer the files. For others that might be interested this code
applies to memory mapped video systems only. Terminals are not supported.
9600 baud is not a problem as the input is buffered during screen operations.

morgan@fluke.UUCP (Bruce Eckel) (01/17/86)

In article <109@phred.UUCP> mattw@phred.UUCP (Matt Wing) writes:
>> Thank you for all the help with getting MEX to acknowledge cursor motion.
>> However, under my Montezuma Micro CP/M, all the terminal programs I have
>> tried have a high amount of data loss.  I am continually losing bytes and
>> have trouble with cursor motion programs because they will often just
>> become so much gobbledeygook(sp?) when it loses the escape or the = or
>> one of the two following characters for cursor positioning.  Furthermore,
>> it sometimes crashes so that it will do something involving 7s, 's, and
>> a much smaller screen under something like vi.  Other times it will completely
>> forget cursor motion works at all.  However, this happens after I've been
>> in the terminal program for a while.  Does anyone have any idea how to correct
>> this?  The CP/M is running on a TRS-80 Model 4P and I go 1200BPS.
>> 							Carl Greenberg
>
>Carl, I have been working on a VT100 emulator for my RS model 4p. Presently
>the assembly source code (Z-80) is 46k and when assembled handles all of the
>VT100 escape sequences. I have had moderate success with most of the editors
>available on the Vax systems here at work. You are welcome to a copy of the
>assembled code to try out. Please leave a note (number) and we will get
>together and xfer the files. For others that might be interested this code
>applies to memory mapped video systems only. Terminals are not supported.
>9600 baud is not a problem as the input is buffered during screen operations.

The kaypro (I have a 2x) has this problem also.  Apparently the kaypro
ROM, which performs the terminal functions, repositions the cursor
(which is controlled by the 6845) after every function, and this is
purported to slow the screen down.  Micro Cornucopia has rewritten the
rom for the kaypro to prevent characters from being dropped,
apparently by NOT repositioning the cursor until after all the
characters have been sent (note that although the position where the
characters are to be sent -- which has nothing to do with the cursor
position -- is *apparently* programmed through the 6845 using
registers 18 and 19, there are no registers 18 and 19 on the 6845;
thus the custom chip from kaypro must be listening to writes to these
6845 registers, and must respond accordingly.  Any hints from kaypro
hardware people?).

I have avoided buying the rom and have tried to cope with the problem
by padding the termcap on the vax.  I still seem to run into problems
with gnuemacs when it has 2 windows open and tries to use the
delete-line and insert-line functions (which *really* speed things up
when you are scrolling because then you don't have to do screen
rewrites every time).  

I am thinking of trying to write some sort of fix or terminal emulator
for the kaypro, but I am not sure if this will help because
insert-line and delete-line may require the same amount of time anyway
because of the hardware.  The best way to handle it might be to buffer
the input and "handshake" it into the video, padding timing according
to what screen function is being used (admittedly, this is what the
termcap is supposed to do, but it seems to be failing).  This solution
could be the simplest (in terms of programming) thing to do.

	Bruce Eckel <morgan>
	ARPA: fluke!morgan@uw-beaver
	UUCP: {uw-beaver, sun, allegra, sb6, lbl-csam}!fluke!morgan
-- 
	Bruce Eckel <morgan>
	ARPA: fluke!morgan@uw-beaver
	UUCP: {uw-beaver, sun, allegra, sb6, lbl-csam}!fluke!morgan