Thanks for the responses Scott.
I have a "custom" tn5250 version I've been using with much more verbose
logging about anything having to do with IC statements cursor movements and
related matters. So I'm going to apply the patch by hand, adjust the
logging accordingly, and go from there.

(As you've probably realized) I've looked over all the documentation as
well. And I have to say that cursor placement documentation is a cruel
joke.

The way I understand it is:
IC specifies a 'pending' cursor position that might be honored upon
unlocking event if CC1 bit 1is 0. This position is used as a home position
regardless of the value of CC1 bit 1.
I guess it should remain pending forever or until overridden, regardless of
how many WTDs there are.? It really isn't clear.

MC forces a cursor move regardless of the value of CC1 bit 1 and state of
the keyboard. Effectively it can move the cursor as soon as it is recieved,
and it can clear an "is_pending_IC" status, but not the co-ordinates of the
pending IC, as they still need to be used for the home position.

But we (might) have a special case:
"If multiple IC or MC orders are coded in the WTD data stream, the last IC
or MC order determines cursor position."
O.k. So does this mean that if there is more than one IC in a singe WTD, it
will be used REGARDLESS of the keyboard state and CC1 bit 1? After all, it
"determines the cursor position". Once again, not clear.

Of course, during a Write Error code things are different:
"If an IC order appears in the command, the cursor moves immediately to the
specified location. This operation does not affect the system IC address
that the WTD command sets. However, all past knowledge of processing at the
former cursor location disappears."

Clear Unit (Clear Unit Alternate) basically have an implied IC 1,1. (thus
reseting position and home).

The docs for Clear Format Table claim it's the same as clear unit except
[...] "The cursor remains in its current screen position" [...]
So are we to assume that the home position still gets cleared as it would
have in Clear Unit?

Also the WTD Start Of Header order byte 1 bit 3 signifies that:
"The cursor is allowed to move only to input-capable positions"
So if an MC or IC order specifies a position that is not input capable, I
assume the computer should just explode.

Anyway. Next week I'll play some more, and get back with any interesting
results.

-Mark
email
markb
cms400
com



_______________________________________________
This is the Linux 5250 Development Project (LINUX5250) mailing list
To post a message email: [EMAIL PROTECTED]
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/linux5250
or email: [EMAIL PROTECTED]
Before posting, please take a moment to review the archives
at http://archive.midrange.com/linux5250.

Reply via email to