home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 15 / af015.adf / Documentation < prev    next >
Text File  |  1978-01-08  |  21KB  |  381 lines

  1.  
  2.                    "GET SET GO!" V1.0 RELEASE DOCUMENTATION
  3.  
  4.                      Written June 1990 by Mark Everingham.
  5.  
  6.  
  7.    INTRODUCTION
  8.  
  9.      When  producing  compilation  disks  of  programs for friends, a public
  10.    domain disk, or even  a magazine  coverdisk, one  of the  key problems is
  11.    finding a  good way to create a menu for the disk. The usual way it seems
  12.    to be done is to use a string  of  "echo"  or  a  "type"  command  in the
  13.    startup-sequence of  the disk,  and to  set up the Amiga function keys to
  14.    call the options in the menu using a program such as FuncKey. This is the
  15.    method used  by Amiga  Format, and  a number of the PD libraries. It does
  16.    have its advantages, primarily that it  requires relatively  little disk-
  17.    space  to  implement,  but  it  is  also  in  my  opinion a rather messy,
  18.    unprofessional, and not to say tricky way of doing things!
  19.  
  20.      "Get Set Go!" is my proposed solution to the problem of easily creating
  21.    professional looking  disk menus.  The program  will create from a simple
  22.    text file a complete menu system  for your  disks, supporting  a total of
  23.    25  operational  and  cosmetic  features  to  give  your  disk menus that
  24.    professional look. The program is extremely easy to  use, and  is not too
  25.    greedy on  disk-space, requiring  about 15k in all. It is also guaranteed
  26.    to save you hours of time spent compiling the menu.
  27.  
  28.  
  29.    THE GET SET GO! MENU SCREEN
  30.  
  31.      If you double-click on  the Get  Set Go!  icon from  the workbench, the
  32.    program  will  display  its  default  menu  which  illustrates  the basic
  33.    features the program offers:-
  34.  
  35.      At the top of the screen is the "Banner Text". This is a piece  of text
  36.    which can  be used  to describe  the disk,  for example  "PD Classics No.
  37.    101". The text is printed in double-height, and the color, text and style
  38.    are all user-definable.
  39.  
  40.      In  the  centre  of  the  screen are the actual menu-options. These are
  41.    displayed in normal-height and accompanied by a metal-effect function key
  42.    button. The  items are  selected either  by pushing the relevant function
  43.    key or clicking on the button graphic with the mouse. The user can define
  44.    the text,  style, color,  highlighting style and function of each button.
  45.    To exit the program without selecting a function  you just  hit the <ESC>
  46.    key.
  47.  
  48.      At the base of the screen is the "Scroll Text". This is just a piece of
  49.    text up to around  500  characters  which  continually  scrolls  past the
  50.    screen to  tell the  user of  the menu  what to do, or to display all the
  51.    usual tedious greetings found in disk menus (Hi to Rod, Jane, Freddy etc.
  52.    etc. etc.).  The scroll-text  is always  displayed double-height, and the
  53.    color, text, style, speed and direction of scrolling can all be defined.
  54.  
  55.      Behind the menu text and graphics are a series of "copper bars" - color
  56.    bar effects achieved using the copper coprocessor, and a favourite of all
  57.    Amiga hackers and demo-writers.  The user  can define  the number, style,
  58.    coloring and direction of the copper bars, or if they are a bit flash for
  59.    your taste, just turn them off.
  60.  
  61.      Across the top and bottom of the screen  are two  grey lines,  the "bar
  62.    lines", just  used to  separate the banner and scroll-text from the menu.
  63.    These may be switched on or off at will.
  64.  
  65.      As well as the general appearance  of  the  menu  screen,  Get  Set Go!
  66.    includes a  host of features for defining such essentials as the function
  67.    a menu option performs in terms  of CLI  commands, the  exit mode  of the
  68.    program,  a  delay  before  executing  a function, the "Please Wait" text
  69.    displayed when running a function, and several others. 
  70.  
  71.      The beauty  of  Get  Set  Go!  is  that  even  with  its  many powerful
  72.    facilities, it  is extremely  easy to  use, and  anyone should be able to
  73.    create an impressive menu display in a matter of minutes,  not hours! All
  74.    you need is the Get Set Go! program, and "your favourite text editor".
  75.  
  76.  
  77.    CREATING GET SET GO! MENU FILES
  78.  
  79.      To create  a menu  using Get Set Go! all you need to do is load up your
  80.    favourite text editor and start typing. Microemacs or ED which  came with
  81.    your Amiga,  or any PD text-editor will do the job fine, or you can use a
  82.    word-processor capable of ascii output,  such  as  KindWords,  Protext or
  83.    WordPerfect. I used the TextEd+ text-editor when developing the program.
  84.  
  85.      All  of  Get  Set  Go!'s  functions are operated using "pseudo-variable
  86.    assignments". Put in English, all this means is that, for  example if you
  87.    want to change the banner color, you type "bannercolor=<color>" or if you
  88.    want to change the scroll text  you just  type "scrolltext=<scrolltext>".
  89.    What could be simpler?
  90.  
  91.      All  variable  assignments  in  your  text  file must start at the very
  92.    beginning of the line, and there must not be spaces  between the variable
  93.    name (eg  scrolltext) and  the equate  (=) sign.  You can put comments in
  94.    your text file by  preceding them  with a  semicolon (;)  and any invalid
  95.    lines are  just ignored. There is no need to enclose text in quotes as in
  96.    Basic, and the end of the  text is  taken to  be the  end of  the current
  97.    line. Numeric arguments eg colors can be entered either in decimal, or in
  98.    hex by preceding with a string ($) sign. Some values eg copper  steps can
  99.    be either  positive or  negative, and  can be  made negative by placing a
  100.    minus (-) sign before the number.  Note  that  if  you  use  hex notation
  101.    ($HHH) to enter color values, this is equivalent to using RGB values, for
  102.    example $123 = 1 red, 2 green and  3 blue.  This makes  specifying colors
  103.    very easy, although you can use decimal if you prefer.
  104.  
  105.      You  give  Get  Set  Go!  its  commands  just  by  entering a number of
  106.    assignments, one per line, into your text-editor and then saving  them as
  107.    a text  file. When  you have  done this, to run Get Set Go! you just type
  108.    from the CLI:-
  109.  
  110.         RUN "GET SET GO!" <name of your menu file>
  111.  
  112.      If none of your menu options needs a CLI window to operate, you can use
  113.    "RUN >NIL:  ...." to  get the  CLI to close. If you don't specify a file-
  114.    name of a menu file, Get Set Go! will display its default menu screen. If
  115.    the file you have specified cannot be found, an error is generated.
  116.  
  117.      Listed here  are all the variables or commands you can use in your menu
  118.    text file, along with descriptions of  their  use.  All  commands  may be
  119.    entered  either  upper  or  lower-case.  You can use the functions in any
  120.    order in your file,  and can  even specify  them more  than once.  If you
  121.    specify a function several times, the last valid occurence is used.
  122.  
  123.  
  124.    Variable                        Function
  125.    --------                        --------
  126.  
  127.    BACKCOLOR=<rgb>                 This variable specifies the RGB values of
  128.                                    the background color.  Note  that  if the
  129.                                    copper  is  on,  this  will  have  little
  130.                                    effect.
  131.  
  132.    BANNERCOLOR=<rgb>               This variable specifies the RGB values of
  133.                                    the banner-text color.
  134.  
  135.    MENUCOLOR=<rgb>                 This variable specifies the RGB values of
  136.                                    the menu-text color.
  137.  
  138.    SCROLLCOLOR=<rgb>               This variable specifies the RGB values of
  139.                                    the scroll-text color.
  140.  
  141.    SCROLLSPEED=<speed>             This  variable  specifies  the  speed  at
  142.                                    which  the  scrolltext  moves.  The value
  143.                                    must  be  either  1,  2,  4, or 8. If you
  144.                                    specify a negative value  -1, -2,  -4 or-
  145.                                    8, the scroll-text moves backwards!
  146.  
  147.    BARLINES=<ON/OFF>               This  variable  simply  specifies  if the
  148.                                    bar-lines are switched on or off.
  149.  
  150.    MENUPOSITION=<TOP/CENTRE>       This variable specifies whether  the menu
  151.                                    options will  appear at the top or in the
  152.                                    centre  of  the  screen.  Note  that this
  153.                                    variable only works when the menu mode is
  154.                                    "flush".
  155.  
  156.    MENUMODE=<FLUSH/ALIGNED>        This  variable   specifies  whether  menu
  157.                                    items   appear   flush,  with  no  spaces
  158.                                    between lines,  or  aligned  according to
  159.                                    the  number  of  the  function  key.  For
  160.                                    example, if flush, options F1, F3  and F6
  161.                                    would   appear   immediately   one  after
  162.                                    another. If the  mode  is  aligned, there
  163.                                    would be  a blank line between F1 and F3,
  164.                                    and two between F3 and F6, to account for
  165.                                    the missing menu options.
  166.  
  167.    HILITEMODE=<OFF/BUTTON/BOX>     This variable  specifies the way in which
  168.                                    the menu button graphics are highlighted.
  169.                                    If  Off,  there  is  no  highlighting. If
  170.                                    Button,  the  "Fn"  text  on  the  button
  171.                                    graphic  is  highlighted  in  the  banner
  172.                                    color. If Box, a  box is  drawn round the
  173.                                    button in the banner color.
  174.  
  175.    COPPERMODE=<OFF/SINGLE/DOUBLE>  This variable  selects whether the copper
  176.                                    display is Off, or consists of  Single or
  177.                                    Double  bars.  Single  bars  go  from the
  178.                                    Start color to the End then  jump back to
  179.                                    the  Start  again.  Double  bars  go from
  180.                                    Start to End and back again.
  181.  
  182.    COPPERLINES=<lines>             This  variable  specifies  the  number of
  183.                                    lines  of  color  in  the copper display,
  184.                                    from 1 to 256.  If  1,  the  copper color
  185.                                    never changes.  If 256,  it changes every
  186.                                    scanline.
  187.  
  188.    COPPERSTART=<rgb>               This  variable   specifies  the  starting
  189.                                    color the copper uses for its bars, as an
  190.                                    RGB value.
  191.  
  192.    COPPEREND=<rgb>                 This variable specifies the  ending color
  193.                                    for the copper, as an RGB value.
  194.  
  195.    COPPERSTEP=<rgb step>           This  variable  specifies  the  value the
  196.                                    copper adds  to  its  current  color each
  197.                                    time it  draws a new band of color on the
  198.                                    display. This  can be  either positive or
  199.                                    negative, for example if the end color is
  200.                                    less than the start color.
  201.  
  202.    BANNERTEXT=<text>               This   variable    specifies   the   text
  203.                                    displayed at  the top  of the Get Set Go!
  204.                                    screen, up to 40 characters in length.
  205.  
  206.    SCROLLTEXT=<text>               This variable specifies the text scrolled
  207.                                    across  the  base  of  the  Get  Set  Go!
  208.                                    screen, up to around 500 characters long.
  209.  
  210.    SCRIPTTEXT=<text>               This variable specifies the text which is
  211.                                    displayed at the base of the screen while
  212.                                    Get Set Go! is running a menu function.
  213.  
  214.    MENUTEXT<number>=<text>         This   variable    specifies   the   text
  215.                                    displayed for menu option <number> on the
  216.                                    screen, for  example  MENUTEXT5=Menu Text
  217.                                    5.    If    you    specify    null   text
  218.                                    (MENUTEXT<n>=) then the  menu  option and
  219.                                    its button  are not  displayed at all. If
  220.                                    you  specify  a  caret  (^)  character, a
  221.                                    blank line with no button is displayed.
  222.  
  223.    BANNERSTYLE=<style>             This variable specifies the style of text
  224.                                    used for  the  banner-text.  For  all the
  225.                                    style variables, you specify the style as
  226.                                    a number by adding up the values below:-
  227.  
  228.                                    1 = Underline  2 = Bold  4 = Italics
  229.  
  230.    SCROLLSTYLE=<style>             This variable specifies the style of text
  231.                                    used for the scroll-text.
  232.  
  233.    MENUSTYLE<number>=<style>       This  variable  specifies  the style used
  234.                                    for menu text <number>. You can specify a
  235.                                    different style for each menu option.
  236.  
  237.    MENUFUNCTION<number>={}         This  variable  specifies the actual work
  238.                                    that  a  menu  option  carries  out.  You
  239.                                    specify this as a number of CLI commands.
  240.                                    These must be enclosed within opening and
  241.                                    closing braces ({ and }) and these braces
  242.                                    must each be at the start of a  new line.
  243.                                    For  example,  to  get  menu option F1 to
  244.                                    print a directory to the CLI window, then
  245.                                    run your latest shoot'em'up you use:-
  246.  
  247.                                    menufunction1=
  248.                                    {
  249.                                    DIR
  250.                                    RUN MYLATESTSHOOTEMUP
  251.                                    }
  252.  
  253.    EXITMODE=<ON/OFF>               This  variable  specifies  if when a menu
  254.                                    option  has  been  executed  Get  Set Go!
  255.                                    exits immediately or gives you the chance
  256.                                    to execute  another function.  If On, Get
  257.                                    Set Go! exits imnmediately.
  258.  
  259.    SCRIPTDELAY=<delay>             This variable specifies a delay for which
  260.                                    Get Set  Go!  pauses  before  executing a
  261.                                    menu function.  You specify  the delay in
  262.                                    10ths    of    seconds,    for    example
  263.                                    SCRIPTDELAY=100  gives  a  delay  of  ten
  264.                                    seconds.
  265.  
  266.    SCREENTOBACK=<ON/OFF>           This   variable    specifies   if   while
  267.                                    executing a menu function the Get Set Go!
  268.                                    screen is pushed to  the  back  to become
  269.                                    invisible,  or  not.  For example, if you
  270.                                    want to do a disk directory you can force
  271.                                    the screen  to the  back so  that you can
  272.                                    see the directory listing. When finished,
  273.                                    the  screen  will  pop  back to the front
  274.                                    again. This only works  when the exitmode
  275.                                    is Off.
  276.  
  277.  
  278.    THE GET SET GO! ERROR MESSAGES
  279.  
  280.      In order  to keep  Get Set Go! as compact as possible, the program does
  281.    not generate actual text error messages,  but instead  uses error numbers
  282.    like AmigaDOS.  When RUNning  the program,  if an  error occurs a message
  283.    will be displayed such as "GET SET GO!  failed returncode  <n>" where <n>
  284.    is the error number. These error numbers are explained here.
  285.  
  286.  
  287.    Error  Meaning
  288.    -----  -------
  289.  
  290.     101        This error  is generated  by the intuition library failing to
  291.                open. You should never see this error unless (a) the  Get Set
  292.                Go! program has been corrupted, or (b) you've have been doing
  293.                some pretty wierd things to your Amiga.
  294.  
  295.     102        This error is the same as the above, but signals the graphics
  296.                library failing to open.
  297.  
  298.     103        This error  is caused by Get Set Go! being unable to open its
  299.                screen. The most common cause for this is  just lack  of chip
  300.                memory. Free some and try again.
  301.  
  302.     104        This  error  is  caused  by  a  failure opening Get Set Go!'s
  303.                backdrop window. Again, this is  usually  caused  by  lack of
  304.                memory.
  305.  
  306.     105        This error  is caused  by an  error while creating the user's
  307.                copperlist for the Get  Set  Go!  screen.  As  ever,  lack of
  308.                memory is probably the cause.
  309.  
  310.     106        This error  signals that  Get Set Go! could not open the menu
  311.                file you specified  in  the  command  line.  This  is usually
  312.                caused by a typing mistake in the file or pathname.
  313.  
  314.     107        This error  is generated  when an  error occurs while reading
  315.                the user's menu file. This is generally caused by a corrupted
  316.                disk.
  317.  
  318.     108        This  error  is  flagged  when  Get  Set  Go! cannot open its
  319.                temporary script file needed to execute a menu  function. The
  320.                program    needs    to    be    able   to   create   a   file
  321.                "ram:get_set_go_script_file" to work, so  this may  be caused
  322.                by a write-protected file of this name already existing, or a
  323.                lack of  the RAM:  device -  You must  have the "Ram-Handler"
  324.                file in the L directory of your system disk.
  325.  
  326.     109        This  error  is  caused  by  an  error  while  writing to the
  327.                temporary script file mentioned above. The  most likely cause
  328.                is shortage of memory or a crashed Ram-Handler.
  329.  
  330.  
  331.    THE GET SET GO! DEFAULT MENU FORMAT
  332.  
  333.      Below is  a listing  of the equivalent text file which Get Set Go! uses
  334.    as its default. This shows how the various variables are initially set up
  335.    if you  don't explicitly specify them in your menu file, and serves as an
  336.    example on setting up your own menu files.  As in  any program,  the best
  337.    way to learn is to look at an example, then experiment.
  338.  
  339.    BACKCOLOR=$000                        MENUTEXT1=CORRESPONDENCE TO:-
  340.    BANNERCOLOR=$F00                      MENUTEXT2=^
  341.    MENUCOLOR=$FFF                        MENUTEXT3=MARK EVERINGHAM
  342.    SCROLLCOLOR=$0F0                      MENUTEXT4=17 COLLINGWOOD ROAD
  343.    SCROLLSPEED=1                         MENUTEXT5=REDLAND
  344.    BARLINES=ON                           MENUTEXT6=BRISTOL
  345.    MENUPOSITION=CENTRE                   MENUTEXT7=BS6 6PD
  346.    MENUMODE=FLUSH                        MENUTEXT8=ENGLAND
  347.    HILITEMODE=BUTTON                     MENUTEXT9=^
  348.    COPPERMODE=DOUBLE                     MENUTEXT10=    1990  BY  FREUDIAN
  349.    COPPERLINES=64                        SLIPZ
  350.    COPPERSTART=$000                      BANNERSTYLE=0
  351.    COPPEREND=$00F                        SCROLLSTYLE=0
  352.    COPPERSTEP=$001                       MENUSTYLE<1-10>=0
  353.    BANNERTEXT=GET SET GO!                MENUFUNCTION<1-10>=
  354.    SCROLLTEXT=`GET SET GO!'...           EXITMODE=ON
  355.    SCRIPTTEXT=*** PLEASE WAIT ***        SCRIPTDELAY=10
  356.                                          SCREENTOBACK=ON 
  357.  
  358.    TECHNICAL DETAILS, UPDATES ETC..
  359.  
  360.      Get Set Go! v1.0 was written on an Amiga A500 V1.2 with twin drives and
  361.    1Mb ram.  The software  used was  Manx Aztec  C v3.6a,  the Manx SDB, and
  362.    Hisoft Monam v1.2.  This  documentation  was  prepared  using WordPerfect
  363.    v4.19. The Get Set Go! system requires about 15k of disk space, and needs
  364.    the Ram-Handler, Run and Execute commands to be  available on  the system
  365.    disk. The  program is  completely legal,  using only approved methods for
  366.    such things as keyboard and mouse reading, and screen control.
  367.  
  368.      If any reader would like a copy of the source,  or has  any suggestions
  369.    for  improvements  to  the  system  for  a later version, I would be very
  370.    please to hear from them. The program has been written  in such  a way as
  371.    to make  enhancements very easy to implement. For the source-code, please
  372.    send a disk (and some PD software will guarantee you a friend for life!).
  373.    An SAE would also be greatly appreciated. Write to:-
  374.  
  375.                               Mark Everingham
  376.                               17 Collingwood Road
  377.                               Redland
  378.                               Bristol
  379.                               BS6 6PD
  380.                               ENGLAND
  381.