ART MASTER

LOADING INSTRUCTIONS:
Type LOAD"" then press ENTER key.

ART MASTER CONTENTS

(1) INTRODUCTION
(2) GETTING STARTED AND QUICK START REFERENCE
(3) ACCESSING COMMANDS
(4) TEXT EDITOR
(5) COMPILE
(6) DECOMPILE
(7) RETURN
(8) JUMP
(9) TEST
(10) MEMORY CHECK/CHANGE
(11) INSERT
(12) DELETE
(13) AREA RELOCATE
(14) DRAWING A PICTURE
(15) THE DEMONSTRATION
(16) SUMMARY OF COMMANDS
(17) CUSTOMISING ART MASTER
(18) SAVING THE RESIDENT CODE
(19) WHAT IS G.CODE?

(c) Alternative Software Limited 1989

PROGRAMMERS-If you have written a good programme for ANY home
computer, send it to us now for evaluation. We pay EXCELLENT royalties!!
Your programme could be in the shops within 3 weeks!! SEND TO:
ALTERNATIVE SOFTWARE Units 3-6 Baileygate Industrial Estate, Pontefract,
West Yorkshire. We will acknowledge receipt of your programme same day.


1. INTRODUCTION

  ART MASTER is an advanced, self-contained Graphics manipulator for the
48K Spectrum. The program itself occupies a little over 14K of your machine,
though only a small part of this need remain in the computer at all times.
The program sits at the top of the computer's memory, this means that the 
maximum number of add-ons and other programs can be used alongside
ART MASTER without need for modification.

  ART MASTER's main function is to allow many screens to be stored in the
computer at the same time, though unlike the average screen compressor its
compression ratio is nearly 99%. This means that at any one time hundreds
of screens can be loaded into the Spectrum instead of the tens of screens
others will allow. This makes the provision for large scale animation by
redrawing small parts of screens so that they appear to move. But it doesn't
stop there...

  With ART MASTER you can draw circles 600% faster than a normal
Spectrum, fill in shapes with 10 different patterns, draw boxes, triangles, flip
areas of the screen, the list goes on!

  All these commands add up to one thing, a vastly superior graphics
package, whose output can be used in adventure games, educational
software, business software, and just about every other application you can
think of where pictures or large scale animation is required.

  If you're still not convinced load up the Demonstration on side 2 of the
cassette and prepare to be amazed.


2. GETTING STARTED

  By far the best way to learn to use ART MASTER is to load it up and
experiment, using the manual as a guide To load up the program type
LOAD "" (See the Spectrum user guide). Set the level on your cassette
recorder to around 7 (thats 3/4) and press play.

  The program should then load and run automatically, this will take about
4 minutes and will follow this process: First border will flash cyan/red then
flash blue/yellow, after this the screen will print Program: ART MASTER, then
after a few seconds it will go black. If this does not happen try a different
volume level, if the program refuses to load after several attempts then
consult your dealer.

  When the program has loaded you will be faced with a blank blue screen
all except for a white asterisk (star) in the bottom left hand corner. This
white asterisk is called the command cursor. The Basic variable 'a' has also
been changed, it now holds the start address of the program. If at any stage
you wish to re-enter the program from Basic simply type RANDOMISE USR a
or RANDOMISE USR 51490.

GETTING STARTED QUICK REFERENCE
  If you want to start drawing pictures before you treat the manual as a
bedtime story, then heres an A-Z of the manual.

  First read Sections 2-5 then read Section 14, next find a simple picture to
start with. After this you'll get the feel of the program and will be able to
tackle the more detailed pictures like the ones on side two of the cassette.


3. ACCESSING COMMANDS

  The program, when loaded (See 'Getting Started') displays the white
cursor mentioned earlier this indicates you are in Command Mode. Once in
Command Mode you can access all of ART MASTER's commands by simply
pressing the key that corresponds to that command.

  When the key has been pressed, the program will prompt you for any
information it requires. This other information will be in the form of
addresses etc. Just like your home address, an address indicates where pieces
of code 'live' in the computer

  The addresses take the form of 5 digit numbers and are entered in decimal
format (ordinary numbers). Pressing SHIFT & ZERO will delete the last digit
entered, repeatedly pressing SHIFT ZERO will cause the whole number to be
erased.

  Upon receiving the fifth digit of an address the enter key will be pressed
automatically for you, if your number is less than S digits then pressing enter
will allow you to proceed to the next stage.

  If at any stage you wish to exit the command you have selected then press
the 'X' key and you will be returned to the Command Mode,

  Upon completion of the command, providing no error has been processed
and that you have not selected TEXT EDITOR or RETURN, the white cursor
will appear once more indicating you at again in Command Mode,


4. TEXT EDITOR

This will be one of the most used commands you will encounter. To access
the TEXT EDITOR press the 'E' key, the message TEXT EDITOR will appear and
you will seem to be in Basic. Press ENTER once, you now have three extra
commands at your fingertips. These are AUTO LINE NUMBERING, LINE
EDITING & RENUMBERING. To access these commands simply hold down the
SYMBOL SHIFT key and then press the first letter of the command (A=Auto,
E=Edit & R=Renumber). You will be asked for some extra information
which is entered as a decimal number in the usual way (see Accessing
Commands). Each of these commands will now be discussed in turn.

AUTO (SYMBOL SHIFT A)
  This command requires you to enter the step between each successive line
number and then the line number to start from. Just pressing enter gives the
default value of 10 in each case.

  Once initialised AUTO will produce a new line number after each line is
entered. A REM statement is also included after the line number, this is to
tell the Spectrum that the information typed after the REM statement is of
no concern to it. REM stands for REMark, for more information on REM see
the Spectrum manual

  To stop the computer generating new line numbers delete the current line
number & REM statement, then press ENTER. Pressing ENTER is essential to
turn off the auto line number generator.

LINE EDITOR (SYMBOL SHIFT E)
  When the cursor (a > sign) is pointing to a line number it may be edited
using SHIFT ONE (as in the Spectrum manual). Normally if the cursor is not
pointing to the line number you require, you have to use SHIFT 6 for up and
SHIFT 7 for down until the cursor is on the correct line. ART MASTER has a
much better solution!

  Push ENTER to clear any Spectrum intervention, then SYMBOL SHIFT E. You
will now be asked to enter the line number you wish to edit, doing so will
put you into the edit mode with the line you requested. Just pressing ENTER
in reply to the line number question will cause you to exit the command.

  If you forget to press ENTER to clear the Spectrum intervention and the
last thing you did caused an error E.g. 'Break Cont repeats' etc, then you
will be greeted with another error when you enter the edited line. This will
be a 'Nonsence in Basic' error, and the line will remain unedited, the cursor
will however now point to the line requested so you can either push ENTER
and try again or use SHIFT ONE in the normal way.

RENUMBER (SYMBOL SHIFT R)
  This command requires three pieces of information, STEP, START & NEW
START. STEP is the gap between successive line numbers & defaults to 10 if
no number is entered. START is the line number you wish to renumber from,
this defaults to the first line if no value is entered. NEW START is the line
number you wish the new line numbers to start from, the default is 10 once
more.


5. COMPILER
  Having prepared your text file, the next thing to do is to compile it. To do
this you must re-enter ART MASTER by typing RANDOMISE USR a or 
RANDOMISE USR 51490. Now press 'W' for compile mode, you will then be
asked for the start address, type in a number between 28000 & 50000, 
(40000 is a good starting place).

  You will then be asked 'Auto Leader (Y/N)?'A leader is a four byte link
that tells the computer to expect G-CODE. If you want to run the picture
from Basic or Machine Code then you will need a leader. If on the other
hand you wish to run the picture as part of another picture e.g. by a CALL or
JUMP then you must not have a leader. In about 99% of cases you will
need a leader.

  Upon answering the leader question there will be a short delay, the length
of which depends on the length of the text file. After this delay you will be
informed of the end address of the code, take note of this, it will be vital if
you intend to put lots of pictures end on.

  You are now back in Command Mode and are able to draw your picture
using any of the 3 ways available (See Later).

ERRORS
  If you have made a mistake in the text file then one of four error reports
will appear.

         Mistake in line a

  This occurs when a spelling mistake has been made, a number has too
many digits or a comma has been put in the wrong place.

         No End Instruction

  This occurs if you have forgotten to put an END instruction on the end of
the text file.

         You forgot to define NAME

  The label 'NAME' has been encountered and no pointer has been given in
the text file.

         Too many labels.

  This, the last of the errors, is also the most rare, it only occurs in the event
you defining more than 25 labels. This being the case the chances are you
are well enough acquainted with G-CODE to use Addresses instead.

  In each of these cases you are returned to TEXT EDITOR mode and the
offending line is pointed to ready to be edited.


6. DECOMPILE
As the name implies DECOMPILE is the reverse of COMPILE. Simply type
'Q' and then the Start Address of the block of G-CODE you wish to
decompile. There will be a delay, this could be as long as 10 seconds for a
very long block of code, then the white asterisk will re-appear. Providing the
Start Address was pointing to a block of G-CODE, the old text file will have
been replaced by a new text file relating to the G-CODE block.

  If the block of code was not G-CODE the delay could be as long as 2
minutes and will probably end in the error 'Out of Memory'.

  All being well the text file will now be a little different to the one you
typed it in the first place. Four main differences can be seen, the first three
are unimportant. These are: the shortest abbreviations are used, capital
letters are used and the line increments are always in steps of five.

  The last of the four differences is very important LABELS ARE NOT
DECOMPILED ONLY THE ADDRESS THEY POINT TO!!!
e.g.

         The example given in the TEXT EDITOR section:
         10 REM jumphello
         20 REM plot 100,100
         30 REM lhello
         40 REM end

If Compiled at 40000 with no leader it would Decompile to.

          5 REM J40006
         10 REM P1OO,1OO
         15 REM E

The reason for the number 40006 is that a JUMP takes up 3 bytes, and so
does a PLOT (if declared for the first time [see What is G-CODE ? at the end
of the manual]).

  If a leader had been used then the whole block would have been shifted
down four bytes meaning the address would now be 40010.

HINT
  If you use the Basic command CLEAR (address-1) [see Spectrum manual]
before you compile your text file at 'address' then not only will you protect
your code you will also safeguard yourself against one of the possible types
crash. This crash is the one that performs a NEW function erasing the
Basic but not the Code. Decompile will then allow you to recreate your text
file after it has been lost.

  The other handy thing about using CLEAR is that it protects your code
against being overwritten by the text file should you make a mistake using
Decompile.

DON'T FORGET if you use CLEAR you must also type LET a=$1490 to setup
the variables again.


7. RETURN

  Type 'Y' to enter this mode, you will be returned to the Normal Spectrum.
You must use this mode whenever loading or saving, printing or running a 
picture using RANDOMISE USR address. If you do any of the above in TEXT
EDITOR MODE YOU MAY CRASH THE SYSTEM.

  If you wish to test which mode you are in once in Basic then hold down
the SYMBOL SHIFT key and press A. If the word STOP appears then you are
in RETURN mode, if AUTO starts up then you are in TEXT EDITOR mode. If
the latter is the case then press 'X' to quit the AUTO command then type
RANDOMISE USR a or RANDOMISE USR 51490 to enter ART MASTER then
press 'Y'to enter RETURN mode.


8. JUMP

  This is the first of the two 'in program' drawing commands. Pressing 'J'
will cause you to be asked for the Start Address of the code. Answer this
question in the usual way (see getting started). The picture is then drawn
without the need to return to Basic and RANDOMISE USR address. The major
advantage of this command is that you can draw picture elements, e.g.
pictures with no leader (see compile) as well as pictures with leaders.

  Once the picture has been drawn you will be returned to Command Mode
ready to continue with the next command.


9. TEST

  Pressing 'T' gets you into TEST mode, this is essentially the same as JUMP
only after each command has been processed the system displays the address
of the current command in the top right hand corner of the screen and
waits for a key to be pressed. 'X' will exit at any stage.

  If either JUMP or TEST come across an error e.g. PLOT 250,200 (the y
coordinate is too big for the Spectrum screen), the RETURN mode is selected
and the error 'Integer out of range' is printed at the bottom of the screen.


10. MEMORY CHECK/CHANGE

  This command serves two functions. Firstly it lets you view the contents of
any memory location & secondly you are able to change the contents of that
location if you wish.

Press 'M' followed by the Address of the location you wish to view, then
either type ENTER to view and proceed to the next location or type a
number (0-255) to change the contents of that location.

Pressing 'X' will let you exit at any stage. Upon the third digit of the
number being typed ENTER will automatically be pressed, if your number
has less than 3 digits then press ENTER to proceed. In the event of the
number being greater than 255 you will be asked for the number once
more.


11. INSERT

  This commend, and the two others that accompany it allow you to
manipulate the G-CODE down at object level. Press the 'I' key then enter the
start of the insertion, the end of the block of code and finally the number of
spaces to make. The command will then move everything from the start of
the insertion to the end of the block down the memory by the number of
spaces required. The resulting gap will then be filled with zeros.


12. DELETE

  This is the opposite to INSERT and takes the same form. Press the 'D' key
to remove the required number of bytes from the starting point and move
the end of the block back up the memory. The space created at the end of
the memory is then filled with zeros so that it is ready for use.


13. AREA RELOCATE
  This command moves a block of code from one position to another. Press
the 'A' key followed by the START of the block, the END of the block and
then the NEW START/ The block will then be moved, or rather copied as the
old block is not erased.


14. DRAWING A PICTURE
  If you already have the picture you wish to draw to hand, e.g. from a
magazine then it is advisable to plan it on graph paper first. If you are
composing a picture then again doing the design on graph paper is going to
make it much easier later. You can get special Spectrum Screen mapped
paper, but this is often very expensive and graph paper will do just as well.

  Next translate the picture into lines, curves, plots etc. Load up ART
MASTER and select the TEXT EDITOR mode, select AUTO line numbering.
then enter the lines, curves etc into the text file. It is often advisable to
COMPILE the text file at various stages throughout the picture to make sure
you haven't made a mistake as it is much easier to alter in the early stages of
its development, than trying to find it later.

  When you've finished your picture you can relocate it anywhere in the
Spectrum memory, providing that you haven't used JUMPs or CALLs. If you
have then these will need to be changed to their new values using the
MEMORY CHECK/CHANGE function.

  Now you know what extra commands you have at your fingertips, its time
to find out what the function of the TEXT EDITOR is.
  
  ART MASTER's drawing instructions are entered in Basic and then they are
compiled down to an ultra fast & exceedingly small block of code called G-
CODE. This G-CODE may then be incorporated into your own programs to
give graphics without using up all the memory.

  The drawing instructions are typed in after a REM statement to indicate to
the Spectrum that they are extra to its normal command set. This is why
AUTO produces the REM statement.

  Below is a list of the drawing instructions used by ART MASTER, each is
also accompanied by a brief description.

$ PLOT x,y                This in the same as the Spectrum's own PLOT
                          command and puts a dot on the screen at location
                          x,y

$ DRAW x,y                This is a new command, it links the last point to
                          the new point location x,y

$ FILL x,y,z              Again a new command, this allows you to fill any
                          shape with one of ten patterns. x,y is the point to
                          start from and z is the pattern number (1 to 10)

$ CIRCLE x,y,z            This is like a normal circle only 600% faster. Its
                          centre is given by x,y and radius is given by z.

$ ARC x,y,z               This command draws an arc from the last position
                          to x,y with a curve factor z. -128=<z=<127 (see
                          end of section)

  BOX x,y,a,b             This draws a box from x,y with width a & height b.
                          x,y,a,b are pixel positions
                          e.g. 0=<x=<255, 0=<a=255
                               0=<y=<175, 0=<a=<175

[figure 1]

$ TRIANGLE a,b,c,d        This draws from the last point to a,b then to c,d
                          and finally back to the original point leaving a triangle.

$ ATTR ink,paper,         This handles all the colour commands in one go
  bright,flash            removing the need for ink & paper etc.
                          (ink & paper 0-7)
                          (bright & flash 1=on,0=off)

$ MASK over,inverse       Very similar to ATTR only it handles over & inverse
                          commands. (1=on, 0=off)

$ BORDER a                Same as the Spectrum, sets the border to the colour a
                          0=<a=<7

$ WINDOW a,b,c,d          This defines a window (an area to draw in) initially this
                          is the whole screen. Print positions must be used (see
                          Spectrum manual) a,b is the start position c is the width
                          & d is the depth. a,b,c,d refer to print positions not
                          pixel positions.
                          e.g. 0=<a=<31,0=<c=<31
                               0=<b=<21,0=<d=<21

[figure 2]

$ CLW                     This clears the contents of the current window and
                          sets its colours to those defined by ATTR.

$ COPY a,b,c,d,e,f        This copies the area a,b,c,d (defined in the same
                          way as window) to new top left position e,f.


  FLIP1 a,b,c,d,e,f       This is the same as copy only the block being
                          copied is turned upside down.

  FLIP2 a,b,c,d,e,f       Same as copy only contents are turned left to
                          right.

$ JUMP address            This command causes the pointer counting
  (or label)              through the G-CODE to be moved to the address/
                          label given. (see labels & addresses at the end of
                          the section).

$ CALL address            This is the same as jump only the place
  (or label)              the pointer was moved from is recorded.
 
$ RETURN                  This is used with call and jumps back to the place
                          the pointer was before call moved it.

$ END                     This tells the program you have finished your
                          picture.

ABBREVIATIONS $
  All the instructions preceeded by a dollar sign ,$, can be abbreviated to
either use the first letter or in the case of circle call etc to the first few
letters. Providing the minimum abbreviation has been passed any number of
letters (up to the full word) are acceptable e.g.
                         PLOT = P or PL or PLO or PLOT

LABELS AND ADDRESSES
  Labels may be used instead of addresses inside a program listing, but if the
call/jump is to be made outside the listing then an address will have to be
used. Up to 25 labels are allowed per listing (this will always be more than
enough as call/jump are rarely used at all).

  A label is defined in a listing by preceeding it with an 'L' then the label
(up to six characters starting with a letter)
e.g.
             10 REM JUMPhello
             20 REM PLOT 100,100
             30 REM lhello
             40 REM END

  This will not plot the point 100,100 since it is jumped over.

  Care should be taken if abbreviating JUMP or CALL when using them with
labels, that the label does not start with the next letter of the command
e.g. 
             10 REM JUmum
would be read:-
             10 REM JUMum

  Addresses take the form of 5 digit numbers and point to the start location
of the routine.
e.g.        If a routine to draw a dustbin is stored at 45000 and it ends with
a RETURN then CALL 45000 will draw the dustbin.

  REMEMBER only use RETURN with CALL, it is always advisable to single
step the picture first when using JUMP & CALL etc since mistakes are very
easily made and will probably cause a system crash.

  If you still have difficulty with JUMP and CALL then imagine JUMP as
GOTO and CALL as GOSUB and then read up those in the Spectrum user
manual.

FILL:- Here are the 10 patterns included in ART MASTER. To change or
increase them see customising ART MASTER (end of the manual).

[figure 3]

Arc:- Below are a few arcs at various curve factors
so that you can get the idea how it works.

[figure 4]

  If you intend to draw many pictures, it is often a good idea to see if any
part comes up more than once. In an adventure game a castle may appear
twenty times, it would be wasting memory to draw it twenty times. Draw
the castle on its own and put a RETURN statement before the final END
command. Then all you have to do is call up the castle routine every time
you want to add it to your picture.


15. THE DEMONSTRATION

  Every picture in the demonstration (with the exception of the title screen)
is stored in G-CODE format. It is interesting to note that the title screen takes
up more room than the rest of the demonstration, this will give you an idea
of what ART MASTER can do. All the pictures were drawn, in the way
described in section 14 (Drawing a Picture), using ART MASTER.

  The demonstration takes the form of a film show and lasts about one
minute. This might spark off some of your ideas how to make money for
yourself using ART MASTER, show the demonstration side of the cassette to
your local shopkeeper. Then tell him that your pictures could be adverts for
his goods, if its a video shop then they will already have many televisions
just sitting idle waiting for your artwork!

  This is just one of the map you can make money from your computer with
ART MASTER, all we ask in return is that if you use ART MASTER in your own
programs or film shows etc. that you give the program a mention. This need
not be massive just "Graphics drawn with the aid of ART MASTER by
SUMMIT" will be fine.

  Remember that with ART MASTER you can give your programs that
professional edge, graphics really get a program moving. They will also help
you to impress other people especially if those other people are about to
buy your program.


16. SUMMARY OF COMMANDS

  Here's a quick reference table for you to use if you forget a command and
don't want to search through the whole manual for it.

COMMAND             KEY          REQUIREMENTS
                                                                       4
INSERT               I           START, END & NUMBER OF BYTES.
                                                                       5
DELETE               D           START, END & NUMBER OF BYTES. 
                                                                      14
AREA RELOCATE        A           START, END & NEW START         
                                                                       6
MEMORY
CHECK/CHANGE         M           START, THEN ENTER TO VIEW OR NUMBER
                                 (0-255) TO CHANGE.

COMPILE              W           START ADDRESS.

DECOMPILE            Q           START ADDRESS.

JUMP                 I           START ADDRESS.

TEST                 T           START THEN ENTER TO SINGLE STEP.

RETURN               R           NO INPUT REQUIRED.

TEXT EDITOR          E           NO INPUT REQUIRED.


17. CUSTOMISING AND MANIPULATING ART MASTER

  To copy ART MASTER to disk or microdrive simply load up the program
then type:-

           YOUR SAVE SYNTAX "ART"CODE 51490,8000

e.g. for microdrive
           SAVE *"m";1;"ART"CODE 51490,8000

next type this:
           10 CLEAR 51489: LET a=51490:
              LOAD *"m";1;"ART"CODE:RANDOMISE USR a
and then save that:
e.g microdrive:
           SAVE *"m";1;"art" LINE 10

  From there on load "art" and the rest of the program will load up and
run.

  Since the text files are stored in Basic all types of printer interface
will work without customisation!

  If your printer interface code clashes with ART MASTER then save the text
file and reset the computer, then load it back up, load up your interface
software then list it. This will only be necessary in about 1% of cases.

FILL PATTERNS
  If you want to change the fill patterns then load in your new patterns
from 59280 to 59360. Design the patterns using a UDG designer and save
the first 10 UDG's.

  If you want more patterns then you will have to find a spare piece of
memory and then POKE 59187 & 59188 with the start address, then load the
patterns into your spare memory.

  You can then use any number for the FILL command parameter 'z' 
between 1 & and the number of patterns you have (max 255).


I8. SAVING THE RESIDENT CODE

  The code that has to remain in the computer while you draw a picture
resides between 57742 & 59742. The rest of the memory above 59742 is also
used as a buffer for fill and circle commands. You can use this buffer as a
scratch pad while pictures are not being drawn if you wish.

  To save the resident code type

             SAVE "resid" CODE 57742,2000


19. WHAT IS G-CODE?

  G-CODE is a graphic compression system (c) 1985 S.M.Reeder. It works by
using a code between 236 and 255 to represent each function, the computer
searches for the code and then stays in that mode until it gets another code.
For this reason a PLOT statement will take 3 bytes first time it is declared, but
until the next code comes along only the two coordinates are required to
carry on plotting.

  The coordinates for the pixel positions are stored in reverse order, this is
because the y coordinate of the Spectrum never gets bigger than 175 and
that can be distinguished from a control code.

  Use the MEMORY CHECK/CHANGE command to study G-CODE from a
COMPILED listing if you want to find out more. Comparing the text file with
the G-CODE should reveal all you wish to know, but remember you are not
permitted to write software like ART MASTER to create G-CODE since it is
copyright. Only pictures using G-CODE and the resident code may be
distributed without the authors permission.


NOTES
__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________



OTHER TITLES AVAILABLE
    FROM SSUMMIT
    
    1999
    -------------------
    ART MASTER
    -------------------
    BATTLE CARS
    -------------------
    CANNIBALS FROM
    OUTER SPACE
    -------------------
    CONTACT SAM CRUISE
    -------------------
    D-DAY
    -------------------
    GATEWAY TO HELL
    -------------------
    TALISMAN
    -------------------
    THE DOUBLE
    -------------------
    
    ALSO AT 2.99
    
    
     MINI OFFICE....
     
      * Word Processor
      * Database
      * Spreadsheet
      * Graphics
      
                              SS0006
