#include "sgl.h"
    FIXED dist;
    void slSetScreenDist( dist );
    FIXED dist - Distance constant to screen.
    void - returns nothing.    
    slSetScreenDist ( toFIXED ( 40.0 ) );
slWindow  | slZdspLevel  | slPerspective  | ComWrPtr  | 
ComRdPtr  | MsScreenDist  | Resolution  | RotScrParA  | 
RotScrParB  | 
    #include "sgl.h"
    void *dist;
    Uint16 size_x;
    Uint16 size_y;
    void slGetFrameData( dist, size_x, size_y );
    void *dist - 
    Uint16 size_x - X size after being read.
    Uint16 size_y - Y size after being read.
    void - returns nothing.
    If you want to display the read data as a sprite,
    Low resolution:
      slSpriteColMode ( SPR_PAL_RGB ); /* default */
    year,
      SPR_ATTRIBUTE ( PN_???, No_Palet , No_Gouraud , SPdis | ECdis | CL32KRGB ,
        sprNoflip );
    Executes a sprite display function with an attribute such as
    slSpriteColMode ( SPR_PAL ) for high resolution;
      SPR_ATTRIBUTE ( PN_???, No_Palet , No_Gouraud , SPdis | ECdis | CL256Bnk ,
        sprNoflip );
    Display it with the attributes.
MsScreenSizeX  | MsScreenSizeY  | Resolution  | 
    #include "sgl.h"
    ANGLE pers;
    void slPerspective( pers );
    ANGLE pers - Viewing volume angle.
    void - returns nothing.
    slPerspective ( DEGtoANG ( 60.0 ) );
slWindow  | slZdspLevel  | slSetScreenDist  | ComWrPtr  | 
ComRdPtr  | MsScreenDist  | SlScreenDist  | MsScreenSizeX  | 
MsScreenSizeY  | RotScrParA  | RotScrParB  | 
    #include "sgl.h"
    Uint16 level;
    Bool slZdspLevel( level );
    Uint16 level - Display level.
    Bool - FALSE if the argument contains a value other than the default value, otherwise TRUE .
    Set the display level to 7 (1/128 of the screen distance).
    slZdspLevel ( 7 );
slPutPolygon  | slPutPolygonS  | slPutPolygonX  | slDispPolygon  | 
slPutSprite  | slSetSprite  | slDispSprite  | slDispSpriteHV  | 
slDispSpriteSZ  | slDispSprite4P  | slWindow  | slPutObject  | 
ComWrPtr  | ComRdPtr  | SlZlimit  | 
    #include "sgl.h"
    FIXED pos[ XYZS ];
    ATTR *attr;
    ANGLE z_ang;
    Bool slDispSprite( pos, atrb, z_ang );
    FIXED pos[ XYZS ] - sprite position.
    ATTR *attr - Sprite attributes.
    ANGLE z_ang - Sprite rotation angle.
    Bool - Error code (described below).
    FIXED pos[ XYZS ] = {
      toFIXED ( 0.0 ), toFIXED ( 0.0 ), toFIXED ( 110.0 ), toFIXED ( ORIGINAL )
    };
    SPR_ATTR attr = SPR_ATTRIBUTE ( 0, 0, No_Gouraud , CL16Bnk , sprNoflip | _ZmCC );
    slDispSprite ( pos, attr, DEGtoANG ( 0.0 ) );
    #include "sgl.h"
    FIXED pos[ XYZSS ];
    ATTR *attr;
    ANGLE z_ang;
    Bool slDispSpriteHV( pos, attr, z_ang );
    FIXED pos[ XYZSS ] - sprite position.
    ATTR *attr - Sprite attributes.
    ANGLE z_ang - Sprite rotation angle.
    Bool - Error code (described below).
    #define FX0 toFIXED ( 0.0 )
    FIXED pos[ XYZSS ] = {
      FX0, FX0, toFIXED ( 110.0 ), toFIXED ( ORIGINAL ), toFIXED ( 2.0 )
    };
    SPR_ATTR attr = SPR_ATTRIBUTE ( 0, 0, No_Gouraud , CL16Bnk , sprNoflip | _ZmCC );
    slDispSpriteHV ( pos, attr, DEGtoANG ( 0.0 ) );
slWindow  | slZdspLevel  | slPutSprite  | slSetSprite  | 
slDispSprite  | slDispSpriteSZ  | slDispSprite4P  | SpritePtr  | 
DispPolygons  | DMAEndFlag  | DMASetFlag  | Put Count  | 
SPR_ATTR  | SPR_ATTRIBUTE  | 
    #include "sgl.h"
    FIXED pos[ XYZSS ];
    ATTR *attr;
    ANGLE z_ang;
    Bool slDispSpriteSZ( pos, attr, ang_z );
    FIXED pos[ XYZSS ] - sprite position.
    ATTR *attr - Sprite attributes.
    ANGLE z_ang - Sprite rotation angle.
    Bool - Error code (described below).
    #define FX0 toFIXED ( 0.0 )
    FIXED pos[ XYZSS ] = {
      toFIXED ( 30.0 ), FX0, toFIXED ( 110.0 ), toFIXED ( 0.5 ), toFIXED ( 2.0 )
    };
    SPR_ATTR attr = SPR_ATTRIBUTE ( 0, 0, No_Gouraud , CL16Bnk[a], sprNoflip | _ZmCC );
    slDispSpriteSZ ( pos, attr, DEGtoANG ( 0.0 ) );
    #include "sgl.h"
    FIXED pos[ 4 ][ XY ];
    FIXED pos_z;
    SPR_ATTR *attr;
    Bool slDispSprite4P( pos, pos_z, attr );
    FIXED pos[ 4 ][ XY ] - Coordinates of 4 vertices.
    FIXED pos_z; - sorting criteria.
    SPR_ATTR *attr; - Attribute.
    Bool - Error code (described below).
    FIXED pos[ 4 ][ XY ] = {
      { toFIXED ( 0.0 ), toFIXED ( 0.0 ) },
      { toFIXED ( 40.0 ), toFIXED ( 10.0 ) },
      { toFIXED ( 70.0 ), toFIXED ( 60.0 ) },
      { toFIXED ( 10.0 ), toFIXED ( 50.0 ) }
    };
    SPR_ATTR attr = SPR_ATTRIBUTE ( 2, 0x100, No_Gouraud , CL16Bnk , 
                                  sprNoflip | _ZmCC );
    slDispSprite4P ( pos, toFIXED ( 150.0 ), attr );
    #include "sgl.h"
    FIXED pos[ XYZS ];
    ATTR *attr;
    ANGLE ang_z;
    Bool slPutSprite( pos, attr, ang_z );
    FIXED pos[ XYZS ];
    ATTR *attr;
    ANGLE ang_z;
    Bool - Error code (described below).
    FIXED pos[ XYZS ] = {
      toFIXED ( 0.0 ), toFIXED ( 0.0 ), toFIXED ( 110.0 ), toFIXED ( ORIGINAL )
    };
    SPR_ATTR attr = SPR_ATTRIBUTE ( 0, 0, No_Gouraud , CL16Bnk , sprNoflip | _ZmCC );
    slPutSprite ( pos, attr, DEGtoANG ( 0.0 ) );
    #include "sgl.h"
    SPRITE *spr;
    FIXED pos_z;
    Bool slSetSprite( spr, pos_z );
    SPRITE *spr - VDP1 command data to display.
    FIXED pos_z - criteria for sorting.
    Bool - Error code (described below).
    SPRITE attr = {
      FUNC_Sprite,                         /* Drawing Sprite              */
      0,                                   /* Link ( Ignore )             */
      ECdis | SPenb | CL16Look | CL_Trans, /* Color mode.                 */
      ( 0x1b000 >> 3 ),                    /* Color bank number.          */
      ( 0x12400 >> 3 ),                    /* Character address.          */
      ( ( 64 / 8 ) << 8 | 96 ),            /* Character size ((x/8)<<8|y) */
      0,                                   /* A(x)                        */
      0,                                   /* A(y)                        */
      64,                                  /* B(x)                        */
      0,                                   /* B(y)                        */
      64,                                  /* C(x)                        */
      96,                                  /* C(y)                        */
      0,                                   /* D(x)                        */
      96,                                  /* D(y)                        */
      0,                                   /* Gouraud table address       */
      0                                    /* Dummy.                      */
    };
    slSetSprite ( attr, toFIXED ( 145.0 ) );
    #include "sgl.h"
    Sint16 left, top, right, bottom;
    Uint16 zlim;
    Sint16 cen_x, cen_y;
    Bool slWindow( left, top, right, bottom, zlim, cen_x, cen_y );
    Sint16 left - right edge of the window.
    Sint16 top - top edge of the window.
    Sint16 right - left edge of the window.
    Sint16 bottom - Bottom edge of the window.
    Uint16 zlim - Z limit.
    Sint16 cen_x - X coordinate of the vanishing point (coordinate origin).
    Sint16 cen_y - Y coordinate of the vanishing point (coordinate origin).
    Bool - Error code (described below).
    Window with upper left coordinates (10,15), lower right coordinates (300,195), vanishing point is in the center of this window, and Z limit value is 5000h.
    slWindow ( 10, 15, 300, 195, 0x5000, 145, 75 );
    See also the note below.
    #include "sgl.h"
    Uint8 win;
    void slCurWindow( win );
    Uint8 win - The type of window to switch to (see below).
    void - returns nothing.
    Move the displayed window to the back.
    slCurWindow ( winFar );
    #include "sgl.h"
    Uint8 slSprWinNum( void );
    void - gives nothing.
    Uint8 - Window number used for display.
    Uint8 winno;
    winno = slSprWinNum ();
slWindow  | slCurWindow  | Window Number  | 
    #include "sgl.h"
    Sint16 size_x, size_y;
    void slFrameClipSize( size_x, size_y );
    Sint16 size_x - X size of the clip.
    Sint16 size_y - Y size of the clip.
    void - returns nothing.
    slFrameClipSize ( 10, 5, 190, 200 );
slInitSystem  | slWindow  | Window Number  | MsWindowSizeX  | 
MsWindowSizeY  | FrameSizeX  | FrameSizeY  | SlClipXAdder  | 
SlClipYAdder  | 
    #include "sgl.h"
    Bool slCheckSlave( void )
    void - gives nothing.
    Bool - Slave status (see below).
    Wait for the slave's task (geometry calculation) to finish, then
    Call slSynch .
      while ( slCheckSlave () != TRUE );
      slSynch ();
slPutPolygon  | slPutPolygonS  | slDispPolygon  | slPutObject  | 
slPutSprite  | slDispSprite  | slDispSpriteSZ  | slDispSprite4P  | 
slDispSpriteHV  | slPutPolygonX  |