





		      Blue Instant Graphics! Online Interpreter
			    Copyright 1991-92 by Larry Mears
				  All rights reserved.
				Version 1.02  Shareware


	   BIG City bbs 205-880-9896  experimental graphics research board.







				     Index

      * = command limited or not available in DEMO VERSION

      1  - Introduction, Installation, Background

      2  - Syntax, bug reports, Author address

      3  - Alt keys their functions

      4  - Home, Page Up and Page Down key functions, Parity

      5  - g...graphics scaling

      6  - G.*.BitBlit, page flip operations

      7  - I...Initialize, A...fill patterns

      8  - H...Hollow set, M...drawing Mode, T...Types line and polymarker

      9  - E...Text Effects, R...Resolution, C...Operation Color,
	   S.*.Setcolor palette, P...Plot polymarker

      10 - L...Line draw, D...Drawto, d...draw relative, W...Write Text,
	   F...Floodfill

      11 - Z...rectangle, B...Bars 3d, K...draws a Arc, J...elliptical Arc,
	   O...circle

      12 - Q...ellipse, V...pieslice, Y...elliptical pieslice,
	   m...Move relative

      13 - p...Position cursor, s...Screen clears, t...time pause

      14 - <...Input command

      15 - ?...Ask BIG

      16 - &...LOOP

      18 - X 0...Spray Paint, X 1...Define a custom fill pattern,
	   X 2...Random range

      19 - X 3...Custom text size, X 4...Load Zone data

      20 - X 5...Flow control, X 6...Mouse step rate

      21 - X 7...Sync music, X 8...Color Rotation

      22 - b.*.Sound effects

      23 - n...Notes play pitches

      24 - N.*.Adlib tm  Sound Card commands



					 - 1 -

		      Blue Instant Graphics! Online Interpreter
			  Copyright 1991-92 by Larry Mears
				All rights reserved.
			      Version 1.02  Shareware

		       With online point and click commands,
			uses the ARROW keys or mouse driver
			 that sends ARROW key presses out.

					INTRO
	    Blue Instant Graphics! (BIG) terminal brings a whole
      new concept in online graphics!  Now see TRUE online graphics.
      If you are tired of the blocky ANSI graphics that most BBSs offer,
      then you will be pleasantly surprised by the super fast high resolution
      graphics this NEW terminal emulation unleases!   It's wild, read on!


				     INSTALLATION
	   You must have a RS232 driver loaded.  This terminal was written and
      and tested under BNU.SYS v170, X00.SYS should work fine too.  You can
      find these drivers on most any BBS.  Look for BNU170.ZIP
      You have to add a line in your CONFIG.SYS file like this:

      device = bnu.sys /R:16384

      OR for X00.SYS

      device = X00.sys R=16384

      DO NOT lock the baud rate to 19200 with a COMPUCOM SPEEDMODEM let the
      autodialer set it to 9600 else the Zmodem and function keys will not
      work. The reason I used a external driver is simple, the RS232 buffer
      is adjustable and some BIG commands need a big receive buffer.  These
      fine drivers have been around and better than I could have written
      myself. Since I didn't write the drivers myself I can't include them in
      this ZIP file also the Zmodem primatives are written and Copyrighted
      By Omen Technology so the Zmodem implementation in BIG works fully and
      is FREE even in the BIG demo version.  The shareware fee is charged for
      the registering of BIG and the advanced graphic and sound features such
      as online Adlib tm support, special sound effects and bitblit operations.

				 SOME BACK GROUND
	       BIG does graphics by way of a attention command sequence,
      simular to a Hayes modem, and interprets one letter commands and values
      up to 9999.  It also does  ANSI  graphics in their standard form.  BIG
      also exists as Instant Graphics!(IG) in the Atari ST online world.  BIG
      was written after IG and is not fully compatible with IG but VERY
      simular.  You should be able to get IG scripts off Atari BBSs and alter
      them slightly to work.  It would be advisable to get the IG doc, look for
      IG216.ARC

		       So, what's so great about BIG graphics?
      Well it means lines, circles, ovals, rectangles, fill patterns, system
      fonts, you can have BIG COLORED text any where on the screen.  BIG with
      a little help from the users out there could open a new door for
      telecommunications. This terminal would allow better game programs to be
      written for BBS doors. Another use is bar and pie charts.  A good idea
      would be to have a online comic strip. There are lot's of possibilities
      and if user $upport is up to par I'll put more good ideas for commands
      into the next version.


					 - 2 -

					 SYNTAX
	       BIG is case sensitive.  I# gets it's attention i# does not.
      commands can be chained with the > character but they can not exceed one
      line, unless you use the _ option as the first digit in a number passed.
      In other words BIG does not check for a linefeed or CR all the time, it
      will try to interpret it as a command, chain character, value, or value
      separator.  Line noise will of course blow it's performance to shreds.
      Any non numerical character can be used as a value separator, I suggest
      a comma or space. I like to use a : to separate commands when chaining
      but you can use any non numerical character.  If you don't use the chain
      character you have to have some character there anyway so why not a
      space, looks good and saves confusion.  When using the W command the
      string is ended with the @ character and if chaining the next command
      comes directly after the @ no separator at all. OK,  I guess you need
      to see a example to study over.

      Chain example:
      I#s>0:b>5:C>3,14:E>5,2,0:W>20,90,Let's plot text!@t>5:b 1:

      Notice the 't' directly after the @ in the last 'b' command has no >
      after it this will break the chain sequence and keep the carriage return
      and linefeed from being eaten.  Most always you want the CR LF eaten so
      if you want the carriage return and linefeed to not be present in your
      display use the ">" chain indicator and put a : after the last digit in
      the line. BIG allows splitting of lines with the _ character, the _ has
      to be used in place of the first digit in a value passed it causes
      BIG to eat 2 characters such as CR & LF, see below.

      example:
      I#L>0,0,100,0:D>100,100:D>0,100:D>0,0:O>49,49,_
      25:  <-Note No left margin allowed.

      You can execute commands on fly in the same line by having several I#'s.

      example:
      Don't get I#b 3:stuck in a I#t 3:LOOP!I#b 8:!!!

      Notice the space between the command and the number, meaning don't chain
      and the colon after the numbers.  The colon will be eaten by the routine
      that gets numbers from the modem. It has to know when to quit and any
      non numerical character gets swallowed. A colon after the commands
      parameters are passed looks good anyway, right?  Shades of BASIC huh?
      Also the commands are case sensitive.  A  M  is a totally different
      command than  m,  so be careful.

      Send Shareware registration fee $25 (use REGISTER.TXT form only or hand
      printed copy or it),
      bug reports and comments to:

			    Larry Mears
			11027 Crestfield Dr.
			Huntsville, Alabama
			     35803 USA

       I'll try to fix bugs if I can but, I can not guarantee a fix and I
       will not be held responsible for any problems caused by use of this
       software. Use your favorite text editor to edit the graphic script
       files.  A mouse driven paint style program may be written eventually.
       Registered users will receive a digital KEY that enables *advanced
       features in the terminal and major updates at 60% off standard register
       fee.

				      - 3 -
			     KEYBOARD COMMANDS for BIG
			     -------------------------
				     ALT-KEYS
	  Alt-A   Edit Autolog.  Autolog will wait for a string from a BBS and
		  respond with your reply. If the first character of the
		  wait string is a ! there will be no wait at all the
		  response will be sent immediately!  A ~ character pauses for
		  one second and a | sends a carriage return.

	  Alt-B   Busy the board.  If you are online and nature suddenly calls
		  hit this and a SPACE BACKSPACE sequence will be sent to the
		  BBS while you are absent from your keyboard.  Most BBSs log
		  off inactive users this gives you a break.

	  Alt-C  Connect time and Current time display.

	  Alt-D   This is the AUTODIALER it will dial one bbs or several until
		  it gets a CONNECT from the modem.  If a BBS isn't BUSY and
		  just rings and rings AUTODIAL will abort if only one BBS
		  number is being dialed. To dial several BBSs at once just
		  type their numbers like:  23 1 3 5 4 6 etc...

	  Alt-F   Edit the function keys.  F1 thru F10 and ALT-F1 thru ALT-F10
		  String of characters up to 128 characters.  Special
		  characters are the ~ wait 1 second and the | for a carriage
		  return.

	  Alt-G   Graphics On/Off,  Oh no! sound=off,  pinball sound=on.
		  Sometimes you may want to EDIT graphics while online, if so
		  you must cut graphics OFF first!

	  Alt-H   Pulls up the Help screen.

	  Alt-J   Will JUMP to DOS showing free memory left.  You can run
		  programs and do disk formats etc. Type EXIT to return to BIG.

	  Alt-L   This is the AUTOLOG feature it captures incoming text from
		  the serial port graphics and all.  It saves them to disk
		  under the prepicked filename from the ALT-O function.  If
		  the file already exists you have the option to append or
		  start new.

	  Alt-N   Shut off sound effects this is a toggle on/off  default is
		  on.  If you save the config file( ALT-O ) with sound effects
		  off they will be off when BIG is ran again.

	  Alt-O   This is the options that are saved into the BIG.CFG file
		  that is read at runtime.  Upload, Download paths, where and
		  what name the Capture Log will have,  Serial Port to use
		  Baud rate at startup and Address of your SOUND CARD.

	   Alt-P  This is the DUPLEX toggle default is FULL duplex, hit it if
		  you need HALF duplex such as on GEnie tm.

	   Alt-T  Alternate file Transfer methods.  Here you have ASCII upload
		  with delays between characters optional.  The delays are good
		  for uploading a message into a message editor slow enough
		  so it can handle it as if you were speed typing it. Then
		  there is Xmodem Checksum for boards that don't support the
		  Zmodem available with the PAGE-UP and PAGE-DOWN keys.

	   Alt-X  Exit BIG.  Direct exit unless Capture Log not closed.

					  - 4 -

					OTHER KEYS

      HOME             Clear screen, restore default resolution and colors,
		       set screen to page 0

      PAGE UP          Upload a file using Zmodem.

      PAGE DOWN        Download a file using Zmodem.

      CONTROL-X        Aborts a Zmodem or Xmodem transfer.

		    NOTE: Repeated ^C ^X will abort a '&' LOOP command gone
			  bad.  It isn't a good idea to ^S and ^Q graphics
			  while they are executing, except when using BF.EXE


					  PARITY

	   Due to the advanced capabilities of the BIG terminal 8 data bits
      are required.  BIG is set to ( 8,N,1 ) and this is what 98% of the BBSs
      are out there anyway.  If you must have ( 7,E,1 ) use your old favorite.



				  - 5 -

			  BLUE INSTANT GRAPHICS!
			  ----------------------

      g  Graphic scaling      I#g 3:  or  I#g 2:  or  I#g 0:
      ------------------
		       g = command identifier
			   Turn graphic scaling on or off.
			   This is to save you time when converting
			   your graphics from Atari tm IG's medium resolution.
			   I#g 2: or I#g 3 at the top of the IG script and a
			   I#g 0: at the end if you want to cut it back off.
			   This will fix the medium res IG graphics (640x200)
			   to run in 640x350 and 640x480 BIG modes.
			   This only adjusts the X Y coordinates, it doesn't
			   fix other incompatibilities between BIG and IG.
			   Keep in mind that none of these 'g' options work
			   within a "& LOOP".

			    Parameter:
			     0 = off
			     1 = no effect
			     2 = Y coordinate *1.75 if in BIG mode 640 x 350
			     3 = Y coordinate *2.4  if in BIG mode 640 x 480



				  - 6 -
     G  grab screen    * I#G 0,0,0,0,100,100,100,50:  active to active
     --------------    * I#G 1,0,0,0,100,100:         active to memory
		       * I#G 2,0,200,50:              memory to active
		       * I#G 3,0,50,50,75,75,150,100: piece of memory to active
				I#G 4,1:                     select memory page
				I#G 5,0:                     select visual page
				I#G 6,0:                     select active page

			 G = command identifier
			     Screen grab,  "Bit-Blit". 64K portion max.
			     Grabs a rectangular portion of the screen
			     copies it to another portion of the screen
			     or to memory, or copies memory to screen,
			     or set active, visual, and memory pages,
			     depending on 1st parameter. If res is set to
			     3 there is only one screen page(0). Res 2
			     has 2 pages(0-1), res 1 supports 4 pages(0-3).
			     Use the R command to change resolutions.
			     * Indicates not available in DEMO VERSION.
			     SEE REGISTER.TXT

			1st parameter sets type of blit to do:
			 0 = active screen page to active screen page
			 1 = active screen page to memory screen page
			 2 = blit buffer memory to active screen page
			 3 = piece of memory screen page to active screen page
			 4 = select memory screen page
			 5 = select visual screen page
			 6 = select active screen page

			2nd parameter sets writing mode for the blit operation
			    if 1st parameter is 3 or less.
			 mode  logic...............Description
			  0    COPY_PUT............Complete overwrite
			  1    XOR_PUT.............Exclusive-ORed
			  2    OR_PUT..............Logically ORed
			  3    AND_PUT.............Logical AND
			  4    NOT_PUT.............Logically inverted with
						   overwrite
			  The rest of the parameters depend on the
			  1st parameters setting:

			  IF 1st PARAMETER = 0   "active to active"
			      3rd = X source, upper left corner
			      4th = Y source, upper left corner
			      5th = X source, lower right corner
			      6th = Y source, lower right corner
			      7th = X destination, upper left corner
			      8th = Y destination, upper left corner
				    Active screen to active screen,
				    remember active screen does not have
				    to be the visable screen.

			  IF 1st PARAMETER = 1  "active to memory"
			      3rd = X source, upper left corner
			      4th = Y source, upper left corner
			      5th = X source, lower right corner
			      6th = Y source, lower right corner
				    Destination is same as where
				    source came from.  Puts image to
				    memory screen page.
			 ( continued on next page )

				  - 7 -

			  IF 1st PARAMETER = 2  "memory to active"
			      3rd = X destination, upper left corner
			      4th = Y destination, upper left corner
				    Puts whats in the blit buffer to
				    active screen page.

			  IF 1st PARAMETER = 3   "piece of memory to screen"
			      3rd = X source, upper left corner
			      4th = Y source, upper left corner
			      5th = X source, lower right corner
			      6th = Y source, lower right corner
			      7th = X destination, upper left corner
			      8th = Y destination, upper left corner
				    Puts image from memory screen page to
				    active screen page.

			  IF 1st PARAMETER = 4   "select memory screen page"
			      2nd = page number (0-3)
				    If res=1 max is 3
				    If res=2 max is 1
				    if res=3 max is 0

			  IF 1st PARAMETER = 5    "select visual screen page"
			      2nd = page number (0-3)
				    If res=1 max is 3
				    If res=2 max is 1
				    if res=3 max is 0


			  IF 1st PARAMETER = 6   "select active screen page"
			      2nd = page number (0-3)
				    If res=1 max is 3
				    If res=2 max is 1
				    if res=3 max is 0


     I  initialize      I#I 0:
     -------------
			I = command identifier
			Initializes color pallet and sets all operation
			colors to 15 WHITE, solid fills, medium resolution.
			Issue this command at the start and end of each
			graphic	script and you'll have a common starting point.

			Parameter:
			    0 = Set resolution 2, pallet, and attributes,
				non-hollows, visual and active screen page to
				0, poly marker to pixel, default line style.
			    1 = Set pallet and non-hollows only.



     A set Fill Pattern I#A 1:
     ------------------
			A  =  command identifier
			Sets pattern to use for fills.

			1st parameter selects pattern number:
			    range 0 to 23
			    Pattern numbers 12-23 are redefinable,
			    see X command number 1.


				- 8 -

     H hollow set       I#H 0:
     ------------
			H = command identifier
			When on non solids are drawn, a circle will be
			drawn instead of a disk.

			Parameter  1=on  0=off


     M drawing MODE     I#M 1:
     --------------
			M = command identifier

			Parameter sets drawing mode.
			1 = replace     2 = XOR
			Has effect on lines and rectangles.




     T  line, marker TYPES   I#T 1,3,2: or I#T 2,1,0,0,1:
     ---------------------
			T = command identifier

			1st parameter selects lines or polymarkers to change.
			1 = polymarkers  ( effects output of the P command )
			2 = lines        ( effects D and L commands )

			2nd parameter picks type of line or polymarker
			depending value of 1st parameter.

			for polymarkers:
			   0 = pixel
			   1 = up arrow         2 = cross hair
			   3 = star             4 = square
			   5 = diagonal cross   6 = diamond
			   7 = square cross hair

			for lines:
			   0 = solid            1 = dotted line
			   2 = dash-dot         3 = dashed
			   4 = user defined

		 IF 1st parameter = 2 (lines)
			3rd parameter and 4th parameter are multiples
			    to arrive at a 16 bit pattern to use as a line
			    pattern. If 2nd parameter equals 4 for user defined
			    else if you are using a predefined pattern 0 thru 3
			    just pass 0,0 for these values.
			5th parameter = line width
			    0 = 1 pixel
			    1 = 3 pixels

		 IF 1st parameter = 1 (polymarkers)
			3rd parameter = size of polymarker
			range 1 thru 8


				- 9 -
     E text EFFECTS     I#E 4,2,1:
     --------------
			E = command identifier
			Sets BGI text effects for text put on the screen
			with the  W  command.

			1st parameter selects font
				0 = normal      1 = Triplex
				2 = Small       3 = Sansserif
				4 = Gothic
			2nd parameter sets text size 0 thru 4
			    IF size is 0 then the custom size defined
			       X 3 command is used.
			3rd parameter sets the text rotation.
				0 = Horizontally
				1 = 90 degrees

     R set Resolution   I#R 1:
     ----------------
			R = command identifier
			Allows  switchs between low and medium and
			high resolution(VGA only).

			1st Parameter selects resolution to switch to:
			1 = low resolution    640x200 16 color 4 pages
			2 = medium resolution 640x350 16 color 2 pages
			3 = high resolution   640x480 16 color 1 page VGA only


     C color set        I#C 0,2:
     -----------
			C  =  command identifier
			Selects the register number to perform the screen
			operation with.

			1st parameter selects screen operation color to change.
			0 = Polymarker color, used for the (P  plot command).
			1 = line color
			2 = fill color
			3 = text color,  used with the ( W command ).

			2nd parameter selects the register number 0 thru 15.

     S setcolor register*    I#S 0,4:
     --------------------
			S = command identifier

			Sets one of the 16 color registers of the color
			palette.  *This command is available to registered
			users only.

			1st parameter selects register to change 0 thru 15.
			2nd parameter is color value 0-63

     P polymarker PLOT  I#P 149,99:
     -----------------
			P = command identifier
			Plot a point or polymarker shape on the screen.
			See also the entry for the  T and C  commands.

			1st parameter = X coordinate
			2nd parameter = Y coordinate

			     - 10 -

     L draw LINE        I#L 0,0,300,150:
     -----------
			L = command identifier
			Draws a line between specified points.
			See also the entry for T and C commands.

			1st parameter = begining X coordinate
			2nd parameter = begining Y coordinate
			3rd parameter = ending   X coordiante
			4th parameter = ending   Y coordinate


     D line DRAWTO      I#D 149,99:
     -------------
                        D = command identifier
                        draws a line from the place the graphics was at.
                        See also the entry for T and C commands.

			1st parameter = X coordinate
                        2nd parameter = Y coordinate

     d DRAW relative     I#d 1,20,1,40:
     ---------------
			 d = command identifier
			 draws a line relative to where the last place
			 the graphics cursor was.
			 1st parameter = negative flag for X parameter
			 2nd parameter = X positions to drawto
			 3rd parameter = negative flage for Y coordinate
			 4th parameter = Y positions to drawto

      W  WRITE text     I#W 50,100,DEVO E-Z Listening Disc@
      -------------
			W = command identifier
			Writes text on screen at any X Y coordinate.
                        Carriage Return and Linefeed are ignored so
                        you can split the text to be written across two lines,
			the maximum length is 128 characters.
                        The @ symbol ends the text to be written.
                        See also the E and C commands.

			1st parameter = X coordinate
			2nd parameter = Y coordinate
                        3rd parameter = text ended with @

			Chain example:
			I#W>20,50,Chain@L 0,0,300,190:


     F flood FILL       I#F 600,0,1:
     ------------
			F = command identifier
			Fills a area by replacing ALL colors starting
			at specified X Y coordinates till it hits
			a specified OPERATION COLOR.

			1st parameter = X coordinate
			2nd paraneter = Y coordinate
			3rd parameter = specified OPERATION COLOR:
			    0 for ploymarker   1 line color


			      - 11 -
     Z rectangle        I#Z 10,10,200,100:
     -----------
			Z = command identifer
                        Draws a rectangle.
			Other related commands, H, T, A.

                        1st parameter = upper left corner  X coordinate
			2nd parameter = upper left corner  Y coordinate
                        3rd parameter = lower right corner X coordinate
                        4th parameter = lower right corner Y coordinate

     B  bar             I#B 0,0,100,100,0:  or I#B 50,50,150,150,1:
     ------             or I#B 50,50,150,150,10,1:

                        B = command identifier
                        General purpose command for drawing
                        rectangles with borders and 3D bar graphs.
			A,T commands effect the bars drawn.

			1st parameter = upper left corner  X coordinate
			2nd parameter = upper left corner  Y coordinate
                        3rd parameter = lower right corner X coordinate
			4th parameter = lower right corner Y coordinate
                        5th parameter = type  0=no border  1=yes border
					IF 2 or greater depth of 3d bar
                                        in pixels, and  
                                         6th parameter required 0 = no top
                                             1 = draw top.


     K  arc             I#K 300,99,75,90,180:
     ------
                        K = command identifier
                        Draws a ARC, which is part of a circle.

                        1st parameter = X coordinate for the circle center
                        2nd parameter = Y coordinate for the circle center
			3rd parameter = radius of the circle
			4th parameter = begining angle to start drawing at
                        5th parameter = ending angle to to stop drawing at

     J  elliptical arc  I#J 0,199,400,600,0,270:
     -----------------
			J = command identifier
			Draws a elliptical ARC, which is part of a oval.

                        1st parameter = X coordinate for the oval center
                        2nd parameter = Y coordinate for the oval center
                        3rd parameter = X radius of the oval
                        4th parameter = Y radius of the oval
                        5th parameter = begining angle to start drawing at
                        6th parameter = ending angle to to stop drawing at

     O   CIRCLE         I#O 300,100,75:
     ----------
			O = command identifier
                        Draws a disc or circle depending if the
			H command is active or not.

                        1st parameter = X coordinate of circle center
			2nd parameter = Y coordinate of circle center
			3rd parameter = radius of circle


			       - 12 -

     Q  ellipse         I#Q 300,100,200,60:
     ----------
			Q = command identifier
			Draws an ellipse, which is a OVAL.
			See H and A commands also.
			1st parameter = X coordinate of oval center
			2nd parameter = Y coordinate of oval center
			3rd parameter = X radius of oval
			4th parameter = Y radius of oval


     V  pieslice        I#V 50,50,100,180,270:
     -----------
			V = command identifier
			Draws a pieslice, which is part of a circle.

			1st parameter = X coordinate for the circle center
			2nd parameter = Y coordinate for the circle center
			3rd parameter = radius of the circle
                        4th parameter = begining angle to start drawing at
                        5th parameter = ending angle to to stop drawing at


     Y  elliptical pieslice  I#Y 80,80,100,200,0,180:
     ----------------------
			Y = command identifier
                        Draws a elliptical pieslice. which is part of a OVAL.

                        1st parameter = X coordinate for the oval center
                        2nd parameter = Y coordinate for the oval center
                        3rd parameter = X radius of the oval
			4th parameter = Y radius of the oval
			5th parameter = begining angle to start drawing at
                        6th parameter = ending angle to to stop drawing at



     m  move relative           I#m 1,20,0,10:  or  I#m 2,199,120:
     ----------------
                                m = command identifier
                                Moves graphics moves cursor relative or
                                to a specific X Y coordinate.

                                1st parameter selects direction or operation.
                                        0 = move relative X positive.
                                        1 = move relative X negative.
                                        2 = MOVETO specific coordinates.

                                2nd parameter is number X pixels to move
				    or if 1st parameter = 2 then it's
                                       a specific X coordinate to goto.

				3rd parameter selects direction or specific Y
                                        0 = move relative Y positive.
                                        1 = move relative Y negative.
                                     or if 1st parameter = 2 then it's
					a specific Y coordinate to goto.

				 4th parameter is number Y pixels to move
				     relative.  If 1st parameter = 2 this
				     parameter is omitted.


				 - 13 -

     p  position        I#p 70,19:
     -----------
                        p = command identifier
                        Positions cursor at  column, line.
                        Like X Y only with characters.
                        Caution this command only works on page 0.

			1st parameter = column   1 thru 80

			2nd parameter = line     1 thru 25



     s  screen clear    I#s 0:
     ---------------
                        s = command identifier
                        Clears whole screen.

                        Parameter = type of clear
                         0 = clear graphics screen, send text cursor home,
			     send graphics cursor to 0,0
                         1 = clear graphics screen, send graphics cursor 0,0
                         2 = clear screen with text clear, send text cursor 
                             home.



     t  time a pause    I#t 2:
     ---------------
                        t = command identifier
                        Tells BIG to send ^S, times it for X seconds
			and then tells BIG to send ^Q.  Any key
			will abort the pause prematurely.
			MAX time is 30 seconds if more of a pause is needed
			chain a few together.  I#t>30:t 5:
                        I'm hoping this will eliminate the BBS from timing
			out and logging a user off.  See also X command
			number 5.


			Parameter = number of seconds to pause, 30 max.




				 - 14 -

     <  INPUT Command  I#< 1,0,1:
     ----------------
		       Gets input from user's keyboard and transmits it as soon
		       as the chain " > " from the last I#  is broke.  Should
		       be used near the end of a MENU, as the BBS will continue
		       to send to the terminal while the INPUT command is
		       waiting on the user.  This is so the BBS will be waiting
		       for INPUT when BIG sends the user's response at '>' exit.
		       The INPUT command is good for letting you use
		       any colors you want for a BBS MENU and then to issue
		       some reset commands. ie I#<>1,0,1:I>0:s>0:   Also
		       optionally INVOKES MOUSE routine for the X 4  command
		       so ZONES can be pointed to and clicked on, you must
		       use X 4 to define and load the zone strings first and
		       you should use BIG to draw some borders around the
		       zones so the user will know where and what he is
		       selecting when he clicks on a ZONE, that way you
		       have the job of cosmetics, that's half the fun anyway.
		       The selected Zone's associated data string is
		       transmitted to the BBS as soon as BIG exits
		       the chain from the last I#  .  ZONE 47 is the default
		       ZONE, it's associated data string will be sent if no
		       ZONES match where the user clicked.  You should always
		       define ZONE 47.
		       You may find the X 6 command useful too.

		   1st parameter = Transmitt carriage return at the end
				   of the string INPUTted?  1 = YES  0 = NO


		   2nd parameter = INPUT type
				   0 = One key,  (hot key input for FoReM)
				   1 = String, with a return to
				       end input from user,
				       max string length = 128
				   2 = MOUSE ZONE, activate a POLYMARKER
				       mouse pointer, use the " T " command
				       to select mouse type and size and the
				       " C " command to set mouse color.
				       User moves mouse and clicks on a
				       "ZONE". Selection is processed
				       when button is released.
				       The associated ZONE string
				       is copied into INPUT's
				       string to be transmitted to BBS
				       at the end of the BIG script chain.


		   3rd parameter = Output options
				   0 = Don't show input typed from user
				       on his screen. Has no effect on
				       Mouse ZONES.
				   1 = Show input typed from user on screen.
				       Has no effect on Mouse ZONES.
				   2 = Show input but throw it away, don't
				       transmit it at the end of the chain.
				       Does effect Mouse ZONE.
				   3 = Don't show input from user, and throw it
				       away too.  Does effect Mouse ZONE.

			( continued on next page )


				    - 15 -

	   Note:  If 2 ZONES areas are over lapping on the screen the
		  ZONE with the lower value ID number will get selected when
		  the mouse is clicked on both ZONEs at the same time.

			       +----+--------------------+
      user clicks in here ---> |ID=1|                    |
      ZONE 1 gets selected     +----+   ID=10            |
			       |                         |
			       +-------------------------+

			       +----+--------------------+
      user clicks in here ---> |ID=7|                    |
      ZONE 2 gets selected     +----+   ID=2             |
			       |                         |
			       +-------------------------+

		  Note also that the mouse is driven by the ARROW keys,
		  so the mouse driver has to produce these or user presses
		  ARROW keys.




     ? Ask BIG          I#? 0:
     ---------
			? = command identifier
			Asks the Instant Graphics terminal
			questions.  Transmit it to the
			BBS  ( Host system ).

			1st parameter selects the question to ask.
				0 = Version number, BIG will transmit in
				    ASCII to the host system the version
				    number it is ending in a R if registered.


				1 = Asks BIG what resolution the terminal is in
				    response:
				     1:  EGA/VGA   low resolution     640x200
				     2:  EGA/VGA   medium resolution  640x350
				     3:  VGA only  high resolution    640x480


				2 = Is sound card installed and memory allocated
				    for it?  Note that sound card support only
				    available to registered users.
				    response:
				     0:  No sound card found and or buffer not
					 allocated for it.
				     1:  Sound card was found and 64K buffer
					 is allocated.


				  - 16 -

     &  loop a command  I#& 0,198,6,0,L,4,0,0,x,y:
     -----------------
			XOR stepping example:
			I#G 1,0,0,0,50,50:
			I#&>198,0,2,0,G|4,2,1,x,x:


			& = command identifier
			Loops a operation specified number of times with
			stepping, special options for XOR ing and the
			'W'rite text command. The CHAIN character >
			works directly after the &>, you can loop a
			chain of commands, see parameter 5,  BUT you can't
			loop a loop.  Still this command is very powerful
			and worth every effort to learn!

			1st parameter = FROM value
			    if from value bigger than TO value
			    loop will detect and step backwards.

			2nd parameter = TO value
			3rd parameter = step value, positive number only.
			4th parameter = DELAY in 18ths of a between
			    each step of the loop.
			5th parameter = command Identifier to loop.
			    optional specification character after 5th
			    parameter instead of comma:
			       | = XOR stepping
			       @ = get text for W command everytime
				   otherwise text written from loop
				   with the W command is last text
				   written with W command before the
				   loop was executed.  W command now
				   ignores CR and LF so loop command
				   can be used for easy Written text
				   placement with the  loop's stepping.
	       NOTE: (Chain Gang) If a > symbol is given here as a command
				  identifer chain gang option is invoked.
				  This allows multiple commands to LOOPed.
				  Instead of one command specified for this
				  parameter a string of command identifers
				  are passed.
				  The > to get BIG's attention to chain gang
				  and ending with the @ FOLLOWED by a comma.
				  Like this >CL@,
				    C is at command position 0
				    L is at command position 1
				  The position of the command is the key
				  to which command will be executed.
				  There can be up to 128 (0-127) commands in
				  this command string in any order you like.


			( continued on next page )


				   - 17 -

     Example: switching line color and drawing lines too
     I#I>0:R>1:
     I#&>0,636,6,0,>CL@,16,0)1,3:1)319,99,x,20:0)1,2:1)319,99,+2,20:
     You can replace the  )  above with the commands themself like so:
     I#&>0,636,6,0,>CL@,16,0C1,1:1L319,99,x,179:0C1,2:1L319,99,+2,179:
     I#t>9:I>0:R>2:b>7:
			6th parameter = number of parameters command that
			    to be looped requires.  You should at
			    least specify the number the command requires
			    ie L command requires 4 , ie W command 2.
			    You can specify multiples of the required number
			    such as 8 or 12 for the L command Max up to
			    2048.  This will work like BASIC's READ DATA
			    statements between each loop step.  Also note
			    a _ underscore may be used to split parameters
			    across lines if it is used in place of the first
			    digit of value, this will make huge detailed
			    files smaller.

		      REMAINING parameters = whatever the command being looped
				requires.  If you use a "x" as a parameter
				it will be stepped in the direction of the
				FROM TO values, if you use a "y" the loop
				will step the value in a reverse direction.
				You can use both "x" and "y" at the same time.
				If you use a number it will remain as a constant
				for the command being looped through out the
				loop execution.

				 You can preceed constants for a command being
				 LOOPed with +,-, or !

				 +CONSTANT will ADD the CONSTANT to the x step
				 value.

				 -CONSTANT will SUBTRACT the CONSTANT from the
				 x step value.

				 !CONSTANT will SUBTRACT the x step value from
				 the CONSTANT.
			 example I#&>10,50,4,0,L,4,x,+90,!639,-2:

     loop example, Written text option:
     I#E>1,2,0:C>3,2:s>0:
     I#&>20,140,20,0,W@2,0,x,A. Item 1@
     B. Item 2@
     C. Item 3@
     D. Item 4@
     E. Item 5@
     F. Item 6@
     G. Item 7@
     I#W>200,140,Power Graphics with BIG!!!@
     I#& 140,20,20,0,W,2,200,x:
     I#W>10,180,That's so DEVO!!!@

     Example of loop used to READ DATA and step within at the same time in
     both directions.
     I#I>0:s>0:C>1,12:
     I#&>0,639,4,0,L,16,319,99,x,0:319,99:y,0:319,99,x,199:319,99:y,199:t>3:

				 - 18 -

			   eXtended Commands
			   -----------------

		Extended commands are invoked by a captial
		X and a number ranging from 0 to 9999.
		Opens a door for 10,000 new commands!!!

     0  SPRAY PAINT     I#X 0,400,50,200,145,200:
    ---------------
			X 0 = command identifier
			Plots polymarkers at random in
			a rectangular area with specified concentration.

			1st parameter upper left corner  X coordinate.
			2nd parameter upper left corner  Y coordinate.
			3rd parameter X range from upper left corner, 255 max.
			4th parameter Y range from upper left corner, 255 max.
			5th parameter concentration, 9999 maximum.



     1 SET User Defined Fill Pattern       I#X 1,12,1,0,126,24,24,126,24,126,0:
     -------------------------------    or I#X 1,12,0:

			X 1 = command identifier
			Redefine or restore a Fill pattern.
			Only Fill patterns 12 thru 23 are redefinable.
			These patterns are used by specifying them with the
			A command.

			1st parameter = Pattern Number (0-23)
			2nd parameter = Alter Restore flag (0-1)
			    IF this flag is 0 then no further parameters
			       required and pattern is set to internal default.
			    IF this flag is 1 then 8 more parameters are given
			       in the range of 0 to 255:
			     Imagine a 8x8 grid each bit a cell in the grid.
			3rd  parameter = decimal number for binary fill pattern
			4th  parameter = decimal number for binary fill pattern
			5th  parameter = decimal number for binary fill pattern
			6th  parameter = decimal number for binary fill pattern
			7th  parameter = decimal number for binary fill pattern
			8th  parameter = decimal number for binary fill pattern
			9th  parameter = decimal number for binary fill pattern
			10th parameter = decimal number for binary fill pattern



     2 SET RANDOM FUNCTION RANGE  I#X 2,0,50:
     ---------------------------
			     Sets the range of the numbers returned when the
			     'r' is used in place of constant value parameter
			      given to a BIG command.  Above example sets r to
			      a range of 0 to 50.  The range value can be
			      from 0 up to 9999.
			      To use it in the line command
			      or any other like so: L 0,r,400,r:
			      another example with the & "loop" command:
			      I#s>0:X>2,0,639:P>0,0:& 0,128,1,0,D,2,r,r:




				   - 19 -

      3 Define Custom Text Size    I#X 3,2,1,3,2:
      -------------------------  above sets text 2x as wide, 1.5x as high.

			   X 3 = command identifier

			   Defines custom text size for text output with
			   W command after a text size of 0 is set with E
			   command.   The following parameters are used to
			   obtain a ratio for text width and heigth.

			       Ranges for these parameters are 1 to 4 only.
			   1st parameter = number to be divided
			   2nd parameter = this number is used to divide
					   first parameter to obtain a
					   ratio for character width
					   from the normal default.
			   3rd parameter = number to be divided
			   4th parameter = this number is used to divide
					   third parameter to obtain a
					   ratio for character height
					   from the normal default.

     4  DEFINE and LOAD ZONE data   I#X 4,0,0,0,79,49,3,f/L:
     ----------------------------
			     X 4 = command identifier

			     Defines a rectangular area and associates a
			     string of characters with it, a ZONE.
			     The string is sent to the bbs by the
			     " < " command if the mouse option is
			     used.  This allows point and click operation of
			     remote systems.

	    Zone ID  ->      1st parameter = zone number to define/load
				 This is a number between 0-47 or
				 optional value is 9999. If Zone ID is
				 9999  ALL Zone's retangular areas
				 are defined as -1,-1,-1,-1 by the
				 terminal internally.  This is
				 to give a quick clean slate.
				 When Zone Loopback is on the
				 '<' input command will continue to
				 poll a user until he selects a valid
				 defined ZONE.
				 examples I#X 4,9999:
					  I#X 4,9998:  Zone Loopback ON
					  I#X 4,9997:  Zone Loopback OFF
						     (default loopback OFF)
				 No other parameters are required if
				 Zone ID is 9999-9997.

     Define Rectangle ->     2nd parameter = upper left  corner X coordinate
			     3rd parameter = upper left  corner Y coordinate
			     4th parameter = lower right corner X coordinate
			     5th parameter = lower right corner Y coordinate
     Load string data ->     6th parameter = number of characters in string to
					     transmit to bbs, maximum 80.
			     7th = the string itself with a ending : seperator,
				   don't count the seperator as part of the
				   string length required for 6th parameter.

				  - 20 -

     5 FLOW CONTROL SHUTDOWN     I#X 5,0:   or   I#X 5,1: or I#X 5,4:
     -----------------------     I#X 5,2,19,2:  or I#X 5,3,17,2:

			    X 5 = command identifier

			    Stops the IG terminal from sending
			    Control-S's  and Control-Q's  on
			    all commands or alters the values sent
			    that XONs and XOFFs the flow and number
			    of repetitions, for safety.
			    This should be used with caution.
			    No flow control is good for issuing a short
			    pause " t " command and let the RS232 buffer
			    get ahead of the terminal, when the pause is
			    over a burst of speed will occur as the
			    terminal catches back up.  Data may be lost
			    this way so be careful.  Altering the XON
			    XOFF values and repetitions is good for
			    BBS programs that don't use the standard
			    ^s ^q sequence.   BIG's default is ^s once
			    XOFF and ^q once XON.  The defaults work fine
			    with FoReM and Turbo, so if you switch them be
			    SURE to issue a I#X>5,4: in your log off file to
			    reset the defaults. FoReM sysops may want to
			    add this I#X>5,4: in their welcome file for
			    safety sake.
			   1st parameter = flow control on/off
					   0 = OFF
					   1 = ON
					   2 = ON set xon value,  repetitions
					   3 = ON set xoff value, repetitions
					   4 = ON set to BIG's defaults

			   2nd parameter = ASCII value to send for
					   XON or XOFF. For instance
					   put a 65 here for a captial A.
					   This parameter not included
					   if 1st parameter = 0 or 1 or
					   greater than 3.

			   3rd parameter = number of repetitions to send the
					   the XON and XOFF character. You
					   can have BIG send different for
					   XONs than XOFFs. Like send
					   2 XONs and 3 XOFFs.
					   This parameter not included
					   if 1st parameter = 0 or 1 or
					   greater than 3.

     6 Set MOUSE Step Rates     I#X 6,5,2:
     ----------------------
			    X 6 = command identifier

			   Set the X Y step rates for the mouse / arrow key
			   key movements of the pointer invoked
			   by the < input command used with the ZONES.

		       1st parameter =
			    X step rate range 1 to 15
		       2nd parameter =
			    Y step rate range 1 to 15


				  - 21 -

     7 Set Adlib SYNC graphics to Music  I#X 7,1:  or  I#X 7,0
     ----------------------------------

			      X 7 = command identifier

			      Attempt to SYNC Graphics to Music.  It doesn't
			      work to well but it may be the effect you are
			      looking for.

			  1st parameter =
			      1 ON
			      0 OFF


     8 Rotate Color Registers     I#X 8,3,9,10,20:
     ------------------------
			     X 8 = command identifier

			     Rotates color registers left or right
			     a certain number of places.

			1st parameter =
			     Starting color register number

			2nd parameter =
			     Ending color register number

			3rd parameter =
			     0 = Reset the registers to what they were
				 when recorded with X>8,1,1,1,1:
				 This will reset all the colors.
			     Any other number =  number of times to
				 shift.

			Note: If the 1st parameter is less than the
			     2nd parameter, then the colors will shift
			     to the right. If the 1st parameter is
			     greater than the 2nd parameter, then the
			     colors will shift to the left.

			4th parameter = time in between color shifts in
			    1000ths of a second.


	An application of this function would be to draw a waterfall using,
      say... registers 8 to 14 for various shades of blue. Once it is drawn
      properly, you could make the water start flowing with the following:
      I#X>8,8,14,10,10:
      Or you could make steam coming out of a locomotive, a flaming mine,
      lettering made of scrolling rainbows, lightning behind clouds, etc.
      This command is a very powerful animation tool.


				 - 22 -

			      Sound Commands
			      --------------

     b sound effects        I#b>7:
     ---------------

			    b = command identifier

			    Plays sound effects using the computer's
			    speaker.
			    NOTE: Effecfts 10-19 available in registered
			    version only.

			    1st parameter = sound effect number.

	Effect #            Name:
	--------            -----
	   0                Slide up
	   1                Slide down
	   2                Won't start!
	   3                British siren
	   4                Rubber band
	   5                Flappy lips
	   6                Over here!
	   7                Pouring water
	   8                Singing mouse
	   9                Going up
	 *10                Going down
	 *11                Zipping by
	 *12                Atom
	 *13                Ripples
	 *14                Oh no!
	 *15                Pinball
	 *16                Tune it!
	 *17                Red line
	 *18                Zing
	 *19                Spring

	 * indicates that sound effect is available to registered users only.



				- 23 -

      n  notes play     I#n>0,4000,1000,1:  or I#n>1,0,9999,100,10,500,1:
      -------------
			n = command identifer

			Uses your computer's 1 bit sound and speaker to
			play pitches from 0 to 9999  timed sustains with
			sound shut off flag.  Or can play a PITCH FROM TO
			with STEP and delays between steps with trailing
			SUSTAIN and sound shut on off FLAG.  There is no
			flow control with this command so either a large
			serial receive buffer has to be set up with the
			serial DRIVER if a long tune is played OR you can
			use the '&' LOOP command to execute it safely.
			Very short tunes shouldn't cause problems.

		   IF 1st parameter is 0 then
		      2nd parameter = pitch range(0-9999)
		      3rd parameter = sustain in 1000ths of a sec range(0-9999)
		      4th parameter = OFF FLAG  0=leave playing,  1=shut off

		   IF 1st parameter is 1 then
		      2nd parameter = FROM pitch value range(0-9999)
		      3rd parameter = TO   pitch value range(0-9999)
		      4th parameter = STEP value range(1-9999)
		      5th parameter = DELAY between STEPs  1000ths sec(0-9999)
		      6th parameter = SUSTAIN when TO value reached 1000ths sec
		      7th parameter = OFF FLAG  0=leave playing  1=shut off

		____ Pitch table:

		     Note  Oct - 1    2    3    4    5    6
		     ----
		     C           45  134 268  536 1071 2145
		     C#          71  142 284  568 1136 2273
		     D           75  150 301  602 1204 2408
		     D#          80  159 319  638 1275 2551
		     E           84  169 338  676 1351 2703
		     F           90  179 358  716 1432 2864
		     F#          95  190 379  758 1517 3034
		     G           100 201 402  804 1607 3215
		     G#          106 213 426  851 1703 3406
		     A           113 225 451  902 1804 3608
		     A#          119 239 478  956 1991 3823
		     B           127 253 506 1012 2025 4050


				      - 24 -

				 Sound Card Support
				 ------------------
	    All sound card support is for registered users only, doesn't work
       in the DEMO VERSION.  The BF.EXE viewer however will execute these
       commands. The Adlib tm Sound Card is supported.  If your sound card is
       Adlib tm compatible it should work.  You may have to reset the sound
       card's port address use ALT-O to change this.  To convert ROL files to
       to BIG format you will need files contained in ADPRO103.ZIP you will
       have to download this seperately. You have to break down the
       STANDARD.BNK to *.INS files with BANKMNG.EXE /g option (run Bankmng on
       a floppy in a subdirectory!) and then run the utility in ADPRO103.ZIP
       CONVERT.EXE that turns ROLS into *.MUS and *.SND files then you run the
       BIG utility:     MS2BIG *.mus *.snd
       MS2BIG will play and write out the converted ROL to *.BIG file that can
       be uploaded into a message or sent as a BBS logon file. BIG format songs
       are larger than a ROL and the MS2BIG utility will only output BIG format
       files up to 65534 bytes the size of the terminal's buffer for playback.
       You can HIT the ESC KEY while MS2BIG is playing and cut a short version
       of the conversion. The BIG format music will be played in the background
       and graphics commands can be executed while the music is playing!  The
       sound effect commands however take precendence over the sound card and
       will temporarily slow the sound card music. The "?" ask IG command will
       tell a DOOR program if a sound card is installed. With the play buffer
       slice BIG format sound card music files can be used as spectacular
       sound effects!  If you don't have a Adlib tm sound card you don't know
       what you're missing!!! Check one out!

      N  sound card commands     I#N>4:  I#N>5,1,001:
      ----------------------     I#N>3,1,121;3,121:
				 N>0,20,222,clockrate(2bytes)data..........
				 N>1,20,222,clockrate(2bytes)data..........

				 The 'N' command talks to the Adlib tm sound
				 card.  You have serveral options see below.

			    IF 1st parameter = 0  load buffer only
			       2nd parameter = number of bytes to load *1000
					       so a 20 here means 20000
					       max here is 65 for 65000.
			       3rd parameter = remaining number of bytes to
					       load.  This is added to the
					       value of the 2nd parameter to
					       arrive at a value greater than
					       9999 if need be.

			       The 3rd parameter is followed by a comma and
			       2 bytes that make the integer value to set the
			       clock rate for the tempo and the rest is raw
			       data and only the converter program and playback
			       routine know whats going on there. Use the
			       MS2BIG.EXE program to make the N>0 and N>1
			       commands it would be near impossible by hand.

			    IF 1st parameter is 1  Load and Play buffer.
			       2nd parameter = number of bytes to load *1000
					       so a 20 here means 20000
					       max here is 65 for 65000.
			       3rd parameter = remaining number of bytes to
					       load.
			 (continued on next page)


				  - 25 -

			( N commands continued )

			   IF 1st parameter = 2 execute buffer
			      no other paramerters needed.  Plays
			      whatever is in the buffer from begining
			      to end.



			   IF 1st parameter = 3 Play slice of buffer.
			      2nd parameter = FROM play value *1000
			      3rd parameter = FROM play value remainder
			      4th parameter = TO play value *1000
			      5th parameter = TO play value remainder


			   IF 1st parameter = 4 do warm reset to sound card.
			      No other parameters required.


			   IF 1st parameter = 5 set clock rate on the fly.
			      2nd parameter = clock rate *1000
			      3rd parameter = clock rate remainder
			      normal rates are usually 1000 to 2400
			      The lower the value the faster the tempo.


