#ifndef COMPILE_H
#include "COMPILE.H"
#endif
#ifdef MEDIA637_A31E_A31M_A35E_X31J
extern void F9045_VDEO_19_Operation();
extern void F9027_VDEO_18_SetColorPalette();
extern void F9025_VDEO_17_GetColorPalette();
extern void F9021_VDEO_16_PaletteControl();
extern void F9024_VDEO_15_ApplyNormalColorPalette();
extern void F9023_VDEO_14_SetNormalColorPalette();
extern void F9044_VDEO_13_WaitVerticalBlank();
extern void F9036_VDEO_12_BlitToScreenNoTransparency();
extern void F9035_VDEO_11_BlitFromScreenNoTransparency();
extern void F9034_VDEO_10_InvertScreenBox();
extern void F9033_VDEO_09_HatchScreenBox();
extern void F9032_VDEO_08_FillScreenBox();
extern void F9042_VDEO_07_Empty();
extern void F9041_VDEO_06_BlitToScreen();
extern void F9030_VDEO_05_ExpandGraphicToBitmap();
extern long F9043_VDEO_04_GetBitmapByteCount();
extern void F9047_VDEO_03_Expunge();

extern VDEO_FTL_LIBRARY* F9046_();

struct {
        void* Functions[19];
        VDEO_FTL_LIBRARY Data;
} G3246_s_VDEOLibrary = {
        { (void*)F9045_VDEO_19_Operation,                      /* 19 -$4C */
          (void*)F9027_VDEO_18_SetColorPalette,                 /* 18 -$48 */
          (void*)F9025_VDEO_17_GetColorPalette,                 /* 17 -$44 */
          (void*)F9021_VDEO_16_PaletteControl,                  /* 16 -$40 */
          (void*)F9024_VDEO_15_ApplyNormalColorPalette,         /* 15 -$3C */
          (void*)F9023_VDEO_14_SetNormalColorPalette,           /* 14 -$38 */
          (void*)F9044_VDEO_13_WaitVerticalBlank,             /* 13 -$34 */
          (void*)F9036_VDEO_12_BlitToScreenNoTransparency,      /* 12 -$30 */
          (void*)F9035_VDEO_11_BlitFromScreenNoTransparency,    /* 11 -$2C */
          (void*)F9034_VDEO_10_InvertScreenBox,                 /* 10 -$28 */
          (void*)F9033_VDEO_09_HatchScreenBox,                  /* 09 -$24 */
          (void*)F9032_VDEO_08_FillScreenBox,                   /* 08 -$20 */
          (void*)F9042_VDEO_07_Empty,                           /* 07 -$1C */
          (void*)F9041_VDEO_06_BlitToScreen,                    /* 06 -$18 */
          (void*)F9030_VDEO_05_ExpandGraphicToBitmap,           /* 05 -$14 */
          (void*)F9043_VDEO_04_GetBitmapByteCount,              /* 04 -$10 */
          (void*)F9047_VDEO_03_Expunge,                         /* 03 -$0C */
          NULL,                                                 /* 02 -$08 */
          NULL                                                  /* 01 -$04 */
} };


void main(P3090_l_)
long P3090_l_;
{
        G3246_s_VDEOLibrary.Data.FTLLibrary.FTLNode.Name = FTL_VDEO;
#ifdef MEDIA619_A31E_A31M
        G3246_s_VDEOLibrary.Data.FTLLibrary.Version = 2;
#endif
#ifdef MEDIA740_A35E_X31J
        G3246_s_VDEOLibrary.Data.FTLLibrary.Version = 3;
#endif
        G3246_s_VDEOLibrary.Data.FTLLibrary.Unused1 = 0;
        F9046_(P3090_l_, &G3246_s_VDEOLibrary.Data.FTLLibrary);
}
#endif
