wip prep commit in lieu of gfx subsystem update changes.
[AROS.git] / arch / m68k-amiga / hidd / uaegfx / startup.c
blobe957f36e2eeafab485a84f6899b4d8089f54d2a0
1 /*
2 Copyright © 1995-2017, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #define DEBUG 0
8 #include <aros/debug.h>
9 #include <aros/symbolsets.h>
10 #include <graphics/driver.h>
11 #include <graphics/gfxbase.h>
12 #include <proto/exec.h>
13 #include <proto/graphics.h>
14 #include <proto/oop.h>
16 #include "uaegfx_intern.h"
17 #include "uaegfx_bitmap.h"
19 #include LC_LIBDEFS_FILE
21 BOOL Init_UAEGFXClass(LIBBASETYPEPTR LIBBASE);
23 #undef SysBase
24 #undef OOPBase
26 static int UAEGFX_Init(LIBBASETYPEPTR LIBBASE)
28 ULONG err;
29 struct ExecBase *SysBase = LIBBASE->csd.cs_SysBase;
30 struct Library *GfxBase = TaggedOpenLibrary(TAGGEDOPEN_GRAPHICS);
31 struct Library *OOPBase = OpenLibrary("oop.library", 0);
33 D(bug("************************* UAEGFX_Init ******************************\n"));
35 if (!GfxBase)
36 return FALSE;
38 LIBBASE->csd.basebm = OOP_FindClass(CLID_Hidd_BitMap);
39 CloseLibrary(OOPBase);
41 if (!Init_UAEGFXClass(LIBBASE)) {
42 CloseLibrary(GfxBase);
43 return FALSE;
46 LIBBASE->library.lib_OpenCnt = 1;
48 err = AddDisplayDriver(LIBBASE->csd.gfxclass, NULL,
49 DDRV_KeepBootMode, TRUE,
50 DDRV_IDMask , 0xF0000000,
51 TAG_DONE);
53 CloseLibrary(GfxBase);
55 D(bug("UAEGFXHIDD AddDisplayDriver() result: %u\n", err));
56 return err ? FALSE : TRUE;
58 ADD2INITLIB(UAEGFX_Init, 0)