June 12, 1985
To:       All Sanyo 1200/1250 owners
From:     E. Mark Kothe
RE:       Sanyo inverse video

    If  you are one of the proud owners of a Sanyo 8-bit machine
(probably  ALL Sanyo's) I really don't have to tell you that  the
documentation  for these machines leaves a little to be  desired.
Hopefully this document will help,  maybe it is common knowledge?
The  Sanyo  1200/1250 (maybe others?) has four possibilities  for
video character display:
                        Standard
                         Inverse video
                          Underlined
                           Overlined

These  character  types may also be combined  for  other  effects
(except for inverse and standard)

Here  is the description on how to use this feature in the  Sanyo
MBC-1200 series users guide escape code section (incidentally MBC
stands for.....ya ready ?... My Business Computer)

If you have manual 9376411909401 on page R-17 you are greeted by:

ESC   t        1B.74     Attribute Set   (Inverse,   underline
                                        Upperline)

Now come on this is as CLEAR as possible, right?

If  you happened to be blessed with manual 9376411909401A on page
R-18 they have expanded on the description to this:

ESC t          1B.74     Attribute On/Off(only 33-line mode)
(BIOS ver. 1.4
or after)
                        D7 ........... Fixed to 0
                        D6 ........... Fixed to 0
                        D5 ........... Fixed to 0
                        D4 ........... Fixed to 0
                        D3 ........... Overline
                        D2 ........... Inverse
                        D1 ........... Underline
                        D0 ........... Fixed to 0


What could be clearer,  EH?

Ok,  enough spouting off,  now I'll try for a translation on this
What  I find you must do is this.   Say you wanted to  print  the
string  `I  love  my Sanyo' underlined.   You have  to  send  the
following sequence to be printed.

         1BH,'t',2,'I love my Sanyo',1BH,'t',0

or in BASIC it would be

PRINT CHR$(27);"t";CHR$(2);"I Love my Sanyo";CHR$(27);"t";CHR$(0)

What this does is prepares for Underline video, prints the string
then  turns the underline feature OFF!   Otherwise the  following
characters would also be underlined.

The  key  to  this whole escape sequence is  the  character  that
follows  the 1Bh,'t'.   This is how it works with  the  character
broken down into 8 bits.

         n    n    n    n    o    i    u    n
         o    o    o    o    v    n    n    o
         t    t    t    t    e    v    d    t
                             r    e    e
         u    u    u    u    l    r    r    u
         s    s    s    s    i    s    l    s
         e    e    e    e    l    e    i    e
         d    d    d    d    e         n    d
                             e
         |    |    |    |    |    |    |    |
         v    v    v    v    v    v    v    v

         0    0   0     0    0    0    0    0     <- Binary value

If you set the underline bit you get underline
If you set the overline bit you get overline.
If you set both you get both.

But..
If you set JUST the inverse bit you get inverse,  underline,  and
overline.

Any   bits   set  with  the  inverse  bit  set   subtracts   that
feature  (actually  it provides you with a non inverse  under  or
overline)

OK?  I included a short (and primative) program for you to run to
demonstrate.

If  there are any questions or comments you can try leaving me  a
message on my system 313-465-9615   300/1200 baud  24 hours

                             Thanks,  E. Mark Kothe

VIDEOBIT.DOC




10 PRINT CHR$(26):      'clear screen
20 FOR X=0 TO 16 STEP 2
30 PRINT CHR$(27);"t";CHR$(X);:'set the bits
40 PRINT "  I Love my Sanyo   "
50 PRINT CHR$(27);"t";CHR$(0): 'undo what we did
60 NEXT X
70 PRINT CHR$(27);"t";CHR$(4);
80 PRINT "                            "
90 PRINT "                            "
100 PRINT " >> ";
101 PRINT CHR$(27);"t";CHR$(0);
102 PRINT " WATCH OUT WORDSTAR ";
103 PRINT CHR$(27);"t";CHR$(4);
104 PRINT " << "
110 PRINT "                            "
120 PRINT "                            "
125 PRINT CHR$(27);"t";CHR$(0):    'all off