comp.lang.ada
 help / color / mirror / Atom feed
From: clubley@remove_me.eisner.decus.org-Earth.UFP (Simon Clubley)
Subject: Ada Terminal Emulator evaluation notes
Date: 29 Jun 2003 11:12:48 -0500
Date: 2003-06-29T11:12:48-05:00	[thread overview]
Message-ID: <pf60GsI3nRsF@eisner.encompasserve.org> (raw)

[I am posting this to CLA, instead of mailing Ross, so that anyone else
evaluating his emulator can compare notes.]

Ross, here are my notes on your emulator:

Testing environment.
--------------------
Emulator installed on a 233Mhz PC running Windows 98SE. COM3 on this PC was
connected at 9600 baud to the target machine's console port.

The target machine was an Alpha running VMS V7.2.

The current versions of GNATCOM and GWindows were downloaded from Adapower
and installed. The emulator was compiled with Gnat 3.14p.

Ada Terminal Emulator version was V0.5.

The command line used was "comms /port=3 /xin /xout".

Installation.
-------------
1) The clean rule is called by the makefile on a build; it causes the build to
fail on the initial installation as the files to be deleted do not exist yet.
I got the build to start by commenting out the calls to the clean rule.

2) You need to describe the _exact_ compilation/installation environment.
For example, did you build from the DOS command prompt, or from Cygwin ?
Which version of GNU Make did you use ?

I built from the DOS command prompt using the version of make with GNAT 3.14p,
and had a number of problems building. I ended up doing a number of the
steps manually and using alternate versions of make.

Here is an example error:

C:\terminal>make RELEASE=1
make -C emulator
make[1]: Entering directory `C:/terminal/emulator'
make libMIT.a -C mit_parser
make[2]: Entering directory `C:/terminal/emulator/mit_parser'
gcc -Dpascal="" -c vtparser.c
gcc: installation problem, cannot exec `as': No such file or directory
make[2]: *** [vtparser.o] Error 1

I got around this by repeatedly calling the libMIT.a target manually with the
GNAT 3.14p make and the MSys 1.0 make (version 3.79.1), switching between them
as the build got a bit further and then died, until this target had been built.

Here is another example error. I got around these types of error by copying
the file manually and commenting out the command in the makefile:

make[2]: Leaving directory `C:/terminal/emulator/mit_parser'
copy mit_parser\libMIT.a .
process_begin: CreateProcess((null), copy mit_parserlibMIT.a ., ...) failed.
make (e=2): The system cannot find the file specified.
make[1]: *** [libMIT.a] Error 2

Emulator.
---------
3) The DEC keyboard is not active. This applies to the keypad, the editing
keys and cursor keys. The manual implies that there is an advanced menu, but
I cannot find it. This has stopped me from running a large range of the
tests that I would normally run and is a show stopper in a VMS environment.

4) Scrolling is very slow on a 233 Mhz machine; probably too slow to be usable.

For example, a listing of a VMS directory takes 5 seconds using MS-Kermit.
Using the Ada Terminal Emulator, the same listing takes 12 seconds.

I then created a file containing 1001 lines of 13 letter A's per line.
Typing this file in MS-Kermit takes 18 seconds.
Typing this file in the Ada Terminal Emulator takes 43 seconds.

5) The results from a $ set term/inquire give occasional unusual results.
See the following session:

This initial command puts the terminal into a known state:

$ set term/dev=vt200/page=24
$ sh term                   
Terminal: _OPA0:      Device_Type: VT200_Series  Owner: SIMON  
                                                               
   Input:    9600     LFfill:  0      Width:  80      Parity: None
   Output:   9600     CRfill:  0      Page:   24                  
                                                                  
[snip]

I then issue the command that causes VMS to interrogate the terminal and
causes the terminal to send escape sequences identifying itself. The cursor is
on line 24 when I issue this command (you will see why that is important in
a moment).

$ set term/inquire   
$ sh term            
Terminal: _OPA0:      Device_Type: VT100         Owner: SIMON     
                                                                  
   Input:    9600     LFfill:  0      Width:  80      Parity: None
   Output:   9600     CRfill:  0      Page:   24                  

[snip]

So VMS thinks that it's a VT100 that it's talking to with a page length of 24.

However, if I do a Hard Reset, which puts the cursor in the top left, press
Return a few times to move the cursor down the screen a bit, and repeat the
above, I get:

$ set term/inquire 
$ sh term          
Terminal: _OPA0:      Device_Type: VT100         Owner: SIMON    
                                                                 
   Input:    9600     LFfill:  0      Width:  80      Parity: None
   Output:   9600     CRfill:  0      Page:    7                  

[snip]

This page length of 7 is clearly wrong.

6) Pressing Delete sends Backspace (8 decimal) instead of delete
(127 decimal). Searching for "Delete" or "Backspace" in the manual did not
turn up anything relevant.

7) I have found a bug in reverse video handling when using TPU and MONITOR.
When painting some areas, the area is incorrectly displayed in reverse video.

It's easier to describe the TPU problem. Selecting the Find command
(PF1 then PF3; given (3) above, I entered the escape sequences manually)
should cause the text "Forward Find: " to appear in reverse video in the
command window at the bottom of the screen. This it does, but the rest of
the line is also incorrectly in reverse video. Another example of the reverse
video problem is when TPU repaints the screen after leaving the help system;
the emulator paints any blank lines of the edit window in reverse video.

8) When saving the history buffer to a file, the full width of the line,
including trailing spaces, is written to the file. You may want to provide
an option to strip trailing spaces when writing to the file.

9) Do you have any support for the bell ? VMS operations that normally ring
the bell are silent.

Misc questions.
---------------
10) Did you consider using GtkAda instead of GWindows to write the emulator ?
This would have created something that could run on Linux as well.

11) If you can't write a Telnet package, is there an existing command line
telnet that you can use from within a redirect window, or the Win98
workaround you have for redirect ?

A final note:
-------------
I have only spent a few hours building and evaluating this emulator, so this
cannot be anything approaching a full evaluation. Also problems with the
keyboard emulation stopped me from running my usual range of tests. These
reasons mean you need to be aware that there may be other issues that I have
not discovered.

Although I cannot spend any more time on this, I hope that the above feedback
does prove helpful for you.

Simon.
-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP       
VMS advocate: One who makes a Mac advocate look like a beginner at advocacy.



             reply	other threads:[~2003-06-29 16:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-29 16:12 Simon Clubley [this message]
2003-06-30  0:53 ` Ada Terminal Emulator evaluation notes Ross Higson
2003-06-30  3:49 ` Ross Higson
2003-06-30 12:24   ` Simon Clubley
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox