SA! - a replacement for Norton SA Screen Attribute

C:\AB1\UTIL\SA!.TXT last updated by Roedy Green 1996 Oct 25

Purpose
*******

SA! is a small utility written in assembler to replace the
Norton SA (Screen Attribute) utility.  It controls the border,
background and foreground colours of the DOS text screen.  It
clears the screen and puts the cursor in the upper left corner.
Another utility SAKLONE, also does this, but it requires
ANSI.SYS.  SA! does not.  SA! is not a TSR, and so it takes up
no RAM.  The disadvantage of my version is the colours stick
only until a CLS command or you run a program that changes the
background.  SA! does hold the colours through CLS when ANSI.SYS is
loaded.

I have tested it on CGA, Monochrome, Hercules, Hercules Plus,
Genius full page display, VGA and Video 7 SuperVGA.  It works
with non-standard numbers of rows and columns, in video modes
0,1,2,3 and 7 but does not work in graphics modes.

Syntax
******

The syntax is similar to Norton BE SA.  Upper and lower case
is irrelevant in all the examples.  You may abbreviate if the
abbreviations are unambiguous.

SA!
on a line by itself will simply display a description of the SA! syntax.
This is the same message you get when you make a syntax error.  Normally
SA! clears the screen to the colours you requested without displaying
any text at all.

Colour examples:
****************

  SA! Bright white on blue background with green border
  SA! Bold Red on Black background
  SA! Blinking Yellow on Green background
  SA! Green Foreground on Red Background with Cyan Border

Choices for foreground and border intensity (but not background)
     Bright     Bold     Blinking

Choices for foreground and background colours
     White     Black     Red     Magenta  Gray  Violet
     Blue      Green     Cyan    Yellow   Brown

Monochrome examples:
********************

  SA! Reverse

    Choices  for monochrome
    Normal  Reverse  Underline  Inverse
    Black on White
    White on Black

Abbreviations
*************

All words may by abbreviated so long as the abbreviations are
not ambiguous.  e.g.

 SA! bo blu f on gre wi gra bac

The words "foreground", "background" and "border" are just
"noise" words.  SA!  ignores them.  You may insert them for
readability.  The important words are "ON" to introduce the
background colour and "WITH" to introduce the border colour.

Defaults
********

If you leave out the foreground, usually SA! assumes white.  If
you leave out the background, usually it assumes blue.  If you
leave out the border it assumes it is the same as the
background.  If you ask for blue on blue, for example, SA! will
automatically change this to white on blue so that you will
still be able to read the screen.  (If you want to disable this
behaviour, simply remove that code in the "Cleverness" routine
and reassemble SA!.)

If you specify bold or bright for the background, it will be
ignored.  Yellow is actually shorthand for bright brown and gray
is shorthand for bright black.  So, for example, if you ask for
a gray background, (bright black) you will end up with just
black.

Trouble Shooting
****************

Symptom: Screen stays white on black

Unlike Norton SA, SA! automatically clears the screen.  If you
put a CLS after SA! you will be right back to black and white,
since CLS does not preserve SA!'s colours, unless ANSI.SYS is
loaded.

---

Symptom: Colours change, but not as requested

SA! does not set the palette map.  If you have done something
unusual to the standard text colours, SA! will not give you the
colours you request, but rather it will follow your private
colour scheme alterations.  DESQview, loves to meddle with
colours unless you set up the PIF to set "has own colours=Yes".

---

Symptom: Border is not the same as the background shade.

The Video 7 VGA card uses a lighter shade of brown when you ask
for brown in the border than when you ask for brown as a
background.

---

Symptom: SA! igores requests about background and/or border
colour.

The keyword ON is MANDATORY if you want to set the background.

SA! BLUE BACKGROUND

will NOT work.  You need to say:

SA! ON BLUE BACKGROUND

Similarly if you want to control the border, the keyword WITH is
mandatory.

If you are running under DESQview, it will not let you change
the border colour.

---

Symptom: SA! RED ON RED does not work.

If you "accidentally" ask SA! to set a colour scheme that would
be utterly unreadable, SA! changes your request a little to make
it readable.

---

Symptom: SA! BOLD RED ON WHITE does not work.

It comes out orange on gray.  Different equipment interprets the
colours differently.  BRIGHT WHITE will be white, but NORMAL
WHITE will often look gray.  NORMAL BLACK will look black but
BOLD BLACK will often look gray.  Yellows sometimes come out
looking brown.  Have fun playing with the colours to get the
best effects.

Author
******

SA! is copyrighted but may be freely used for any purpose except
military.

Please report bugs and problems to:

Roedy Green
Canadian Mind Products
#101 - 2536 Wark Street
Victoria, BC Canada V8T 4G8
tel:(250) 361-9093
mailto:roedyg@mindprod.com
http://mindprod.com

GETTING THE LATEST VERSION
**************************

Look for the latest version at my Web site:
  http://mindprod.com

It would also be helpful if you mentioned the URL or source of where
you got your copy.  I want to make sure that site is kept kept up to
date.

-30-