_______________________________________________________________________________ _ _ _ _ ((___)) ((___)) [ 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