Sprite.txt, the doc file for sprite.inc  by Kari Lammassaari 1997

Sprite.inc handles msx type 2 sprites on screens 4..8. The procedures use
system varibles, so modifications for different screens are not needed.


Sprite.inc contains following types,constants, variables and procedures:

- Type Sprite8Type = Array[0..7] Of Byte;          {Defines sprite shape }
       SpriteColorArrayType=Array[0..15] Of Byte;  {Defines the colours of
    						    sprite lines }
        {Following are 8*8 sprite patterns}
- Const ArrowSprite :Sprite8Type = ($fe,$fc,$f0,$f8,$dc,$ce,$87,$03);
        ArrowSprite2:Sprite8Type = ($fe,$84,$88,$88,$b4,$ca,$85,$02);
        FingerSprite:Sprite8Type = ($06,$06,$06,$57,$7f,$7f,$7e,$3c);
        SquareSprite:Sprite8Type = (255,129,129,129,129,129,129,255);
        TimeGlassSprite:Sprite8Type =($7e,$7e,$3c,$18,$18,$3c,$7e,$7e);

         {Folliwing are color arrays for 8*8 sprites }
        WhiteArray  :SpriteColorArrayType = (15,15,15,15,15,15,15,15,
                                             15,15,15,15,15,15,15,15);
                                             (Use to create white sprite.)

        YellowArray  :SpriteColorArrayType = (10,10,10,10,10,10,10,10,
                                             10,10,10,10,10,10,10,10);
        RedArray  :SpriteColorArrayType = (8,8,8,8,8,8,8,8,
                                           8,8,8,8,8,8,8,8);

- Procedure SetSpritePattern(PatternNumber:Byte; PatternArray:Sprite8Type);
   (Sets the shape of sprite pattern. Bit array .)
   (There can be 256 different shapes for 8*8 sprites. Use for animation.)

- Procedure SetSpriteColors(SpriteNum:Byte; AttributeA:SpriteColorArrayType);
   (Sets the color of the sprite.)
   (Define arrys of your own for multicolour sprites.)

- Procedure PutSprite(SpriteNum,SpritePatternNum,x,y:Byte);
   (Put sprite (0..31) with the pattern (0..255) at x,y on screen.)
   (You can have 32 different sprites on screen. There can be 256 
    different sprite patterns (=shapes) defined with SetSpritePattern.)

- Procedure DisableSprites; (Get some speed to graphic operations. )
- Procedure EnableSprites;  (Loose some speed in graphic operations. )
- Procedure SpriteSize8;    (Default situation. Sprite size = 8*8 bits )
- Procedure SpriteSize16;   (4 sprites joined together to 16*16 sprite  )
- Procedure SpriteSizeNormal; (Default situation = sprite size 8*8 bits)
- Procedure SpriteSizeMagnified; (Sprite magnified to double size)

     * * *                                      * * *


- Procedure _WriteVram(VramBlockUsed:Byte;
                     VramAddr,RamAddr,ByteCount:Integer);  (system used)
- Procedure _FillVram(VramBlockUsed:Byte;
                     VramAddr:Integer;FillValue :Byte;     (system used )
                     ByteCount:Integer);
- Procedure _WrtVdp(VdpRegister,Value:Byte);		   (system used )


