
_______________________________________________________________________________
        _   _                                                      _   _
       ((___))                                                    ((___))
       [ x x ]                 cDc communications                 [ x x ]
        \   /                      presents...                     \   /
        (` ')                                                      (` ')
         (U)                                                        (U)

                               APPLE SHAPE TABLES
                             (a short introduction)

                              by  The Dark Static

                      >>> A CULT Publication......1988 <<<
                        -cDc- CULT OF THE DEAD COW -cDc-
_______________________________________________________________________________


What shape tables are:
 
        Shape tables are a series of numbers in a binary location that define a
certain shape.  They can either be POKEd into memory, or can be BSAVED.  You
can program a shape table either from the monitor (call -151) or from BASIC. The first few addresses of that area define the table itself.

Enough of that shit, let's get on to something real.

The first thing you have to do, is let your computer know where this shape
table is stored. Here's how you do this:

POKE 232,X

POKE 233,Y

X and Y can be figured out with a little program.  If it is stored at 768
A popular location then X=0 and Y=3.  Most programs (like Blazing Paddles
and Take 1 have their shape tables stored at 24576($6000)).  And if it is
stored at 24576, then X=0, Y=96

Here is the program to figure out X and Y

10 SB=INT(AD/256)
20 FB=AD-SB*256

Before you run this, set AD equal to the memory address (remember 768 and
24576?)

Now do this:

PRINT SB
PRINT FB

X is equal to FB and Y is equal to SB.


o  Plotting shapes..

Now...Just do an HGR:HCOLOR=A command and you're ready.  To plot a shape, just
XDRAW A at B,C.  A is the shape number, B is the horizontal position of where
you want the shape to be, and C is the vertical position.  To erase this shape,
just use the same command.  XDRAW it over the same B and C position.

Before you do all this, do a ROT=0.  This is the rotation of the shape.
Setting ROT to 0 insures that you have the original shape.  Experiment with the
rotation and change the number in ROT.

If you want to make the shape larger or smaller, do a SCALE=X.  In the shape's
natural position, X is equal to 1.  If the shape appears somewhat fucked up,
then set SCALE to 1.  Do not do any decimals...
That should be it for that.

[Yet another thing I forgot to mention.  If you just want to do this in page 1
 graphics (HGR) then read no further, skip to next section.
 But, if you want to plot shapes on page 2 (HGR2) then POKE 230,64.  To change
 it back, POKE 230,32]


I am now going to end this beginners' introduction, but I wouldn't feel that I
had helped anyone struggling to learn this fun thing if I didn't at least give
an example shape to work with.  Type in this program and then go back to
plotting shapes, and see what you can do...


o Sample program..


10 HGR:HCOLOR=3:POKE -16302,0:rot=0
50 REM vvv poking in shape table setup vvv
60 POKE 768,1:POKE 769,0:POKE 770,4:POKE 771,0
70 REM vvv poking in shape[square]
80 POKE 772,44:poke 773,62
90 POKE 232,0
100 POKE 233,3
110 SCALE=30
120 XDRAW 1 AT X,90
130 XDRAW 1 AT X,90
140 X=X+1:GOTO 120

===============================================================================
 (c)1988 cDc communications  by The Dark Static                      2/29/88-42
 All Rights Worth Shit
 
