[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Some XY IV encoding and U2 questions (Carl/Robert)



First, Carl, thanks for answering my three questions on my last post. I'll
respond to your answer some time, but for now I have some more questions.

I'm trying to understand a little more about XyWrite IV, and am confused.
I'm hoping that Carl or Robert can help.

My understanding is that XyWrite III has three kinds of encodings of
"Characters" (where I'm including functional primitives under the
"character" umbrella for purpose of this discussion):

1. "normal" characters, represented in a single byte,

2. "normal" characters, but encoded in 3 bytes. These consist of a 0FFh
byte, and then two more bytes each of which is an ASCII character in the
range '0' to '9' or 'A' to 'F'. Taken as a hex number, those two byte give
the byte code value of the equivalent (same displayed graphic) single byte
character.

3. functional primitives, encoded in three bytes. These consist of a 0FFh
byte, a second byte with a value from 80h to 82h, and a third byte which
is always odd (not divisible by 2). You need a table to map these
encodings to the two character names for each of the functions.

Now, to these encodings, XyWrite IV adds two new encodings:

4. 3 byte data encodings for about 654 new "characters" that represent new
and distinct "printable graphics". These are encoded with a leading 0FEh
byte, followed by an X86 "word" (two more bytes) which ranges in value
from 0 to 653 or so (actually this scheme accomodates 744 new characters,
which are displayed as [256] to [999], when not in a graphic mode which
can display characters beyond the first 256 characters).

5. A new, additional, 3 byte representation of the normal 256 characters,
this time encoded as 0FFh,0C0h,80h, plus the code value of the base
character, with the last encoding therefore being 0FFh, 0C1h,07Fh. These,
by default, display as MD78 (bright yellow on brown), and are normally
generated via the new 'NN' keyboard primitive. These all seem to be
character representations that that "were invented" for use in search and
change command argument strings.

Now, the questions:

1. Are there other new encodings in XyWrite IV, besides 4 and 5 above? (Or
other encodings in XyWrite III that I missed?)

   and

2. I downloaded the xyweb119.zip file from serve.com, which yeilds a
XYWWWEB.U2 file dated 10/21/07. In that file, I found the following
encodings, at the indicated offsets:

offset 3-hex  code as printable, if ascii
------ -----  ---------------------------
05AB6  FF6643 0FFh,'f','C'
0F4A0  FF8002 0FFh,80h,2h
1411F  FF2661 0FFh,'&','a'
14678  FF2661 0FFh,'&','a'
14964  FF2661 0FFh,'&','a'
1B6B9  FFE07F 0FFh,0E0h,7Fh
1B6E0  FFE07E 0FFh,0E0h,7Eh
1B7F8  FFDF80 0FFh,0DFh,80h
1B806  FFDF81 0FFh,0DFh,81h

And there are a lot more, of course.

These encodings don't seem to me to be encodings that XyWrite IV would
generated on it's own in a normal way (although they could probably be
constructed as a "change-to" argument on the command line, using three
separate bytes, and be generated that way), and therefore, I surmise that
they were generated by some non-conventional way.

So the questions would be:

2a. Are these encodings that XyWrite IV would generate "normally," other
than by techniques such as the "change command" above?

2b. If so, what do they mean?

2c. If not, was there a purpose for using "invalid" (or at least
"non-standard") encodings in the U2 file? If so, what was the purpose?

2d. I surmise that XyWrite IV takes any 0FFh prefix encoded triple with a
2nd byte >=0C0h, and translates it the a corrsponding 1 byte code (but
with the "search"/MD78 inflection) by taking the last byte of the triple
and inverting bit 7. But XyWrite seems to have a "standard" encoding for
encodings of this kind, even if other encodings might also "work." If, in
fact, Carl and/or Robert used other than "standard" encodings here (in U2)
just "because they seem to work okay," is there any assessment here that
doing so introduces any kind of failure "risk" or other problem in these
U2 programs, as a result of the non-standard encodings?

2e. Or is there a bunch of stuff that I'm missing here, that you guys
could explain to me?

TIA

Wally Bass