1*74a4d8c2SCharles.Forsyth typedef struct Cursor Cursor; 2*74a4d8c2SCharles.Forsyth typedef struct Vctlr Vctlr; 3*74a4d8c2SCharles.Forsyth typedef struct Video Video; 4*74a4d8c2SCharles.Forsyth typedef struct Thc Thc; 5*74a4d8c2SCharles.Forsyth 6*74a4d8c2SCharles.Forsyth #define FSVSLOT 2 /* MrCoffee Hard Coded FB Location */ 7*74a4d8c2SCharles.Forsyth 8*74a4d8c2SCharles.Forsyth struct Cursor 9*74a4d8c2SCharles.Forsyth { 10*74a4d8c2SCharles.Forsyth Point offset; 11*74a4d8c2SCharles.Forsyth uchar clr[2*16]; 12*74a4d8c2SCharles.Forsyth uchar set[2*16]; 13*74a4d8c2SCharles.Forsyth }; 14*74a4d8c2SCharles.Forsyth 15*74a4d8c2SCharles.Forsyth struct Vctlr { 16*74a4d8c2SCharles.Forsyth char* name; 17*74a4d8c2SCharles.Forsyth Vctlr* (*init)(Vctlr*, int, int, int); 18*74a4d8c2SCharles.Forsyth void (*page)(int); 19*74a4d8c2SCharles.Forsyth int (*setcolor)(ulong, ulong, ulong, ulong); 20*74a4d8c2SCharles.Forsyth 21*74a4d8c2SCharles.Forsyth void (*enable)(void); 22*74a4d8c2SCharles.Forsyth void (*disable)(void); 23*74a4d8c2SCharles.Forsyth void (*move)(int, int); 24*74a4d8c2SCharles.Forsyth void (*load)(Cursor*); 25*74a4d8c2SCharles.Forsyth int (*isloaded)(void); 26*74a4d8c2SCharles.Forsyth int (*cursorintersectsoff)(Rectangle*); 27*74a4d8c2SCharles.Forsyth 28*74a4d8c2SCharles.Forsyth int x; 29*74a4d8c2SCharles.Forsyth int y; 30*74a4d8c2SCharles.Forsyth int d; 31*74a4d8c2SCharles.Forsyth 32*74a4d8c2SCharles.Forsyth Vctlr* link; 33*74a4d8c2SCharles.Forsyth 34*74a4d8c2SCharles.Forsyth int hidecount; 35*74a4d8c2SCharles.Forsyth int loaded; 36*74a4d8c2SCharles.Forsyth Cursor cursor; 37*74a4d8c2SCharles.Forsyth Lock l; 38*74a4d8c2SCharles.Forsyth }; 39*74a4d8c2SCharles.Forsyth 40*74a4d8c2SCharles.Forsyth 41*74a4d8c2SCharles.Forsyth struct Video 42*74a4d8c2SCharles.Forsyth { 43*74a4d8c2SCharles.Forsyth /* Brooktree 458/451 */ 44*74a4d8c2SCharles.Forsyth ulong addr; /* address register */ 45*74a4d8c2SCharles.Forsyth ulong color; /* color palette */ 46*74a4d8c2SCharles.Forsyth ulong cntrl; /* control register */ 47*74a4d8c2SCharles.Forsyth ulong ovrl; /* overlay palette */ 48*74a4d8c2SCharles.Forsyth }; 49*74a4d8c2SCharles.Forsyth 50