On Sun, 1 Jan 2006, Scott Klement wrote:

Actually, ./configure in x5250 has always failed for me.  I have to add a
PKG_CONFIG_PATH environment variable to tell it where the tn5250.pc file is.
I just run the following:

$ PKG_CONFIG_PATH=/usr/local/src/tn5250/ ./configure

It doesn't work in FreeBSD either, since FreeBSD's directory is
/usr/local/libdata, but tn5250.pc gets installed into /usr/local/lib.
So, I'm quite used to adding /usr/local/lib into PKG_CONFIG_PATH.

Ok, I'm working right now on changing ./configure in x5250 to not require tn5250.pc. I've already finished improving tn5250's build process.

I get this if I have +enhanced in my tn5250rc.  I don't get it when not in
enhanced mode.  Since enhanced is only half written and breaks a lot of
things, I never turn it on.

Enhanced mode is more than 50% written. The remainder is somewhat tricky, but that remainder is less than 50% of the total of enhanced 5250 protocol commands. In fact, let's review where 5250 protocol support stands now. An '*' in the Support column indicates it is used in enhanced mode, a '?' in the support column indicates that I don't know when it is used.

Command                                                      Support

CLEAR UNIT                                                   yes
CLEAR UNIT ALTERNATE                                         yes
CLEAR FORMAT TABLE                                           yes
 Set Buffer Address                                          yes
 Insert Cursor                                               yes
 Move Cursor                                                 yes
 Repeat to Address                                           yes
 Erase to Address                                            yes*
 Start of Header                                             yes
 Transparent Data                                            yes
 Write Extended Attribute Order                              no (2)*
 Start of Field                                              yes
 WRITE TO DISPLAY Structured Field
  CREATE WINDOW                                              yes*
  UNRESTRICTED WINDOW CURSOR MOVEMENT                        no*
  REMOVE GUI WINDOW                                          yes*
  REMOVE ALL GUI CONSTRUCTS                                  yes*
  DEFINE SELECTION FIELD                                     yes*
  REMOVE GUI SELECTION FIELD                                 yes*
  DEFINE SCROLL BAR FIELD                                    yes*
  REMOVE GUI SCROLL BAR FIELD                                no*
  WRITE DATA                                                 yes*
  PROGRAMMABLE MOUSE BUTTONS                                 no*
Draw/Erase Grid Lines Structured Field                       no*
WRITE ERROR CODE                                             yes*
WRITE ERROR CODE TO WINDOW                                   yes*
READ INPUT FIELDS                                            yes
READ MDT FIELDS                                              yes
READ MDT ALTERNATE                                           yes
READ SCREEN                                                  yes
READ SCREEN WITH EXTENDED ATTRIBUTES                         no?
READ SCREEN TO PRINT                                         no?
READ SCREEN TO PRINT WITH GRID LINES                         no?
READ IMMEDIATE                                               yes
READ MODIFIED IMMEDIATE ALTERNATE                            yes
SAVE SCREEN                                                  yes
SAVE PARTIAL SCREEN                                          yes*
RESTORE SCREEN                                               no (1)*
RESTORE PARTIAL SCREEN                                       no (1)*
ROLL                                                         yes
WRITE SINGLE STRUCTURED FIELD                                no*
 Pass-Through Workstation Support                            no (3)?
 5250 QUERY                                                  yes
 5250 QUERY STATION STATE                                    yes (3)?
 Text Support Data Streams
  DEFINE AUDIT WINDOW TABLE                                  no (3)?
  DEFINE COMMAND KEY FUNCTION                                no (3)?
  READ TEXT SCREEN                                           no (3)?
  DEFINE PENDING OPERATIONS                                  no (3)?
  DEFINE TEXT SCREEN FORMAT                                  no (3)?
  DEFINE SCALE LINE                                          no (3)?
  WRITE TEXT SCREEN                                          no (3)?
  DEFINE SPECIAL CHARACTERS                                  no (3)?
  PENDING DATA                                               no (3)?
  DEFINE OPERATOR ERROR MESSAGES                             no (3)?
  DEFINE PITCH TABLE                                         no (3)?
  DEFINE FAKE DP COMMAND KEY FUNCTION                        no (3)?
COPY-TO-PRINTER                                              no?

(1) Ignored. The data following this should be a valid Write To Display command.
(2) This is read and reported, but otherwise not acted upon.
(3) Looking at the code it looks like tn5250 responds to these commands, but I think the responses are not correct.

Of the 21 items marked with a '*' eight are not supported (with two of those being read and ignored justifiably). There are 20 items marked with a '?' meaning I haven't encountered them yet. Whether or not those items are required for enhanced mode operation is questionable. Some probably are, some probably aren't. Leaving out the '?' items then and including the unsupported but justifiably ignored items as supported gives 15 out of 21 enhanced mode commands supported, or 71%.

So what does the remaining 29% of unsupported features consist of? Write Extended Attribute Order allows you to change the colours of the screen without using an attribute byte (i.e. you can change colours without having a blank between characters). x5250 supports this already once lib5250 can do it. UNRESTRICTED WINDOW CURSOR MOVEMENT simply allows you to move the cursor outside of the current window. REMOVE GUI SCROLL BAR FIELD erases a given scroll bar from the screen. PROGRAMMABLE MOUSE BUTTONS allows you to associate AIDs with various pointer device (mouse) events. Draw/Erase Grid Lines Structured Field draws/erases grid lines. WRITE SINGLE STRUCTURED FIELD is used for viewing faxes on your 5250 display.

In my experience so far, many of these missing features are rarely used. That doesn't mean we shouldn't support them, rather that the majority of uses is already supported. In fact, I have never seen a screen with scrollbars, programmable buttons, or grid lines. And I have never known anyone to view faxes using a 5250 terminal. I don't mean to argue over percentages, I just want to point out that enhanced support is further along than you might think.

Of course, I rarely run x5250 anymore because it's so buggy.  It always
seems to do something wrong when I need it to work most.  Typeahead has
never worked in x5250.  I can never get SysRq to work (I'm not sure if
that's because I can never remember the key sequence or what).  I have
problems with x5250 getting out of sync with the iSeries, so that x5250
thinks it's waiting for the iSeries, and the iSeries thinks it's waiting
for x5250...   I have problems with x5250 just locking up when using
certain keys in certain places...  it sits and scans for the next field
and never fnds it and goes into an endless loop.

I've been using x5250 exclusively everyday for over a year now and haven't had these kinds of problems. Maybe I don't type as fast as you do. SysRq is by default mapped to be the key labeled 'SysRq' on your keyboard (assuming you have such a key) but it can be mapped to anything you like. Can you tell me what certain keys in what places causes lockups? Lockups don't ever happen for me. There is a bug that occurs occasionally when a message breaks to the screen and an action key has been pressed at precisely the same time, but this is solved by simply pressing another action key (still I need to fix the bug). But overall, x5250 is far from too buggy to use. I find it to be much more usable than tn5250.

It astonishes me that people are trying to use the enhanced features which
are documented to be only half-written, when the basic features of it are
so unstable and not ready for general use.

I *need* the enhanced features. Almost all of our programming is 5250 based and things like cursor progression, word wrap, and continuous fields are important for us. Likewise, I really like the windows in enhanced mode in x5250 - they are clean and nice. And as I said above, almost every enhanced mode feature that I've ever seen is already supported.

Some day when I'm not so busy (if that ever happens again?) I'll take the
time to troubleshoot and fix all of the problems in x5250 -- or maybe even
write my own that I like better -- but in the meantime, I find it easier
to just use Windows.

x5250 isn't perfect (not by a long shot!) but I think it is pretty good. tn5250j is much nicer, but requires many, many times the computing power that x5250 does. x5250 is small and spartan, but exercizes lib5250 more than anything else.

James Rich

It's not the software that's free; it's you.
        - billyskank on Groklaw

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].