UTILS\BIG.DOC  ·  DOC  ·  10 KB  ·  1991-07-17  ·  from PCPlus_Issue-61_October-1991_FluxEngine-360Kb
┌──────────────────────────────────────────────────────────────────────────┐

                  BIG - Programmed by david Radisic (c) 1989


BIG takes any standard text file and displays it in large text form scrolling 
from right to left, similar to the electronic displays as seen in some shop 
windows.

Within the text file all Carriage Returns and Line Feeds are ignored so 
as to allow long pieces of text to be typed into your text editor without 
having to worry about keeping it all on one line, also it allows ESCape 
codes to be placed on individual lines if required.

Escape codes can be entered which give a number of features including, time 
and date, changes of colour, drop shadows, and so on, all ESCape codes are 
dealt with in the next section of this document.

ESCape codes are entered into your text editor by typing the ^ character 
(shifted 6) followed by the ESCape character and any parameters required 
by it, for instance to get the date you can use ^DS which will display a 
short version 09/01/91 or ^DL for the long version of Tuesday 9th January 1991 
all variations are given in the ESC section.


├──────────────────────────────────────────────────────────────────────────┤
    ESCAPE CODE         DESCRIPTION 
├──────────────────────────────────────────────────────────────────────────┤

                        ESC = ^  [ SHIFT 6 ] 


    ESC c 0-7           Change Text Colour
    ESC c r             Random Text Colour

    ESC b 0-7           Background Colour
    ESC b r             Random Background Colour

    ESC r +/-           Random Text Colour  ON(+) or OFF(-)

    ESC C {char}        Change Background Character, Usually a space

    ESC i               Swaps Text And Paper Colours 

    ESC d +/-           Drop Shadow ON(+) or OFF(-)

    ESC H 0-7           Drop Shadow Colour

    ESC h +/-           Double Height ON(+) or OFF(-)

    ESC w               Normal Width
    ESC w2              Double Width
    ESC w4              Quad Width
    ESC wh              Quad Width & Double Height 

    ESC T12             Twelve Hour Time (default)
    ESC T24             Twenty Four Hour Time 

    ESC DS              Short Date ; Shown As dd/mm/yyyy 
    ESC DL              Long Date ; Shown As Day Date Month Year 

    ESC u               Set Text Display At Upper Part Of Screen 
    ESC l               Set Text Display At Lower Part Of Screen 
    ESC o               Swap Text Display Area To Opposite Section Of Screen

    ESC L 1-9           Label 1 to 9 ; 0 Marks Beginning Of Document
    ESC G 0-9           Goto Label 0 to 9

    ESC R 0-9 2-9       Repeat Loop ; From Label 0-9 Between 2-9 Times
                        ie. R15 Will Repeat Label 1 5 Times

    ESC M 1             Pushes Text To Storage Area 
    ESC M 2             Shuffles Text To Storage Area 
    ESC M 3             Copies Text To Storage Area 

    ESC M 4             Moves Current Storage Area To Opposite Storage Area
    ESC M 5             Stretch Current Storage Area to Opposite Storage Area
    ESC M 6             Melts Current Storage Area To Opposite Storage Area

    ESC F               Flyback On/Off Toggle Switch
    ESC F +/-           Flyback ON(+) or OFF(-), Cuts Flicker On Some Machines

    ESC <               Slowest Speed 
    ESC =               Medium Speed 
    ESC >               Fastest Speed 

    ESC +/-             Increase Speed(+) or Decrease Speed(-)

    ESC P               Pauses ; Use ESC < = or > to Alter Length Of Pause

    ESC B               Beep Beep Beepety Beep 

    ESC g h1,h2,..,h8   Defines any character, See next section.

    ESC ;               Remark ; anything appearing on the line after
                          this code will be ignored by the BIG Interpretter

├──────────────────────────────────────────────────────────────────────────┤
              ESCape g - Graphics Definitions - Advanced use

Each Character that appears on the screen is made up from an 8 by 8 grid,
so by allowing any character to be used for programming you can have any 
character design you wish, you could even re-design the whole character set 
if you wish.

All numbers entered after the ESCape g should be in HEXadecimal, this makes 
it easier to work out your designs. First design your character in an 8 by 8 
grid such as this smily face :

   ┌──┬──┬──┬──┬──┬──┬──┬──┐
   │  │  │  │  │  │  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │  │██│  │  │  │██│  │
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │██│  │██│  │██│  │██│
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │  │██│  │  │  │██│  │
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │  │  │  │██│  │  │  │
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │██│  │  │  │  │  │██│
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │██│  │  │  │  │██│  │
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │  │██│██│██│██│  │  │
   └──┴──┴──┴──┴──┴──┴──┴──┘
    8  4  2  1   8  4  2  1

Then chop the character in half straight down the middle, both the left 
half and the right half then have 4 columns each.  Label the four columns 
from left to right 8 4 2 and 1 respectively as above.

When you add each section you would then get 8+4+2+1 = 15, in HEX the 
numbers 10 to 15 are replaced with letters of the alphabet so 10 becomes A 
11 becomes B and so on as 12=C 13=D 14=E then 15 becomes F.

Now for each line, if a block appears then add the number associated with 
that column, ie. the above graphic on line two would be 22 as both sections 
have a block in the column marked 2.

The lowest line would be 3C, 3 because there are blocks at positions 1 and 2 
so 1+2=3, and C because the blocks appear at positions 8 and 4 so 8+4=12 and 
in HEX 12 becomes C.

So each of the lines would become : 

   ┌──┬──┬──┬──┬──┬──┬──┬──┐
   │  │  │  │  │  │  │  │  │    00
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │  │██│  │  │  │██│  │    22
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │██│  │██│  │██│  │██│    55
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │  │██│  │  │  │██│  │    22
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │  │  │  │██│  │  │  │    08
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │██│  │  │  │  │  │██│    41
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │██│  │  │  │  │██│  │    42
   ├──┼──┼──┼──┼──┼──┼──┼──┤
   │  │  │██│██│██│██│  │  │    3C
   └──┴──┴──┴──┴──┴──┴──┴──┘

If we decided to replace the @ symbol for this smily face then looking in 
your computers manual we find the HEX number for the @ character is 40, 
so we would enter into a BIG text file : 

^g40,00,22,55,22,08,41,42,3C
├┘└┬┘│                     │
│  │ └─────────────────────┴── Data for character
│  │
│  └───── Character to program
│
└──The ESCape code

Then wherever the @ symbol appears in the text file the smily face should 
appear instead.  Try it!

├──────────────────────────────────────────────────────────────────────────┤
A number of special characters have already been designed which are :

    Musical Note      ⌐¬    Characters 169 and 170
    Clock             «»    Characters 174 and 175
    Snow Man          ▌▐    Characters 221 and 222
    Telephone         ≥≤    Characters 242 and 243
    Christmas Tree    ⌠⌡    Characters 244 and 245

To use these enter the character number into your text editor using the 
ALT keypad entry :

    ie.
         If you want a telephone symbol  press and hold down the ALT 
    key then at the same time type on the keypad  242,  when you let 
    go of the  ALT key the  ≥  character should appear,  that is the 
    left section of the telephone graphic, repeat for character 243, 
    which should bring up the ≤ character,  the right section of the 
    telephone character,  these characters  will then be interpreted 
    as a telephone symbol when printed by BIG.
├──────────────────────────────────────────────────────────────────────────┤
         COLOURS    :    0 = Black
                         1 = Blue
                         2 = Green
                         3 = Cyan
                         4 = Red
                         5 = Magenta
                         6 = Yellow
                         7 = White
├──────────────────────────────────────────────────────────────────────────┤
                         SCREEN DETAILS

    ┌   ┌─────────────────────────────────────────────┐
A   │   │              Copyright Message              │
    └
    ┌   ┌─────────────────────────────────────────────┐
    │   │                                             │
B   │   │           Eight Line Storage Area           │
    │   │                                             │
    └   │                                             │
    ┌   ┌─────────────────────────────────────────────┐
    │   │                                             │
    │   │                                             │
C   │   │          Sixteen Line Display Area          │
    │   │                                             │
    │   │                                             │
    └   └─────────────────────────────────────────────┘
│
│   ┌─
└───┤ The Screen is Cut into three sections : 
    │
    │   A   :   Contains my copyright message
    │
    │   B   :   Is an eight line storage area that can hold information
    │           such as phone numbers, the time, graphics, or whatever
    │           you require to be constantly displayed.
    │
    │           Updating this area is simply a matter of displaying
    │           whatever you require in the normal text Display area (area C)
    │           Then using one of the ESCape M options to move it to the
    │           storage area.
    │
    │   C   :   Is the main sixteen line text display area, this is where
    │           it all happens.
    │
    │   Using the ESCape code l sets area C to the lower section of the
    │   screen and area B to the upper section.
    │   Using ESC u sets area C to the upper section of the screen and
    │   area B to the lower section.
    │
    │   ESC o switches between B at the Top C at the Bottom and vice Versa.
    │
    └─
└──────────────────────────────────────────────────────────────────────────┘