#define BIND_FRAMEB 1 #define BIND_LOCALB 2 #define BIND_DMA 3 #define GMODE 4 #define GRAB_FRAMEBUFFER 5 #define FIFOSYNC while(EVAL_CONTROL(InFIFOSpace)< 0x102) #define EX0 (127) int makecolor(float x) { int ix; int sx; unsigned char ex; ix = *((int *)&x); sx = ix>>31; ex = (unsigned char)(ix>>23); if(ex<(EX0 - 15)) return(0); if(ex>=(EX0 + 8)) return(0x007fffff^sx); ix = ((unsigned int)((ix|0x00800000)<<8)>>(EX0 + 16 - ex)); if(sx<0) ix = -ix; return(0xfffff0 & ix); } int makecoord(float x) { int ix; int sx; unsigned char ex; ix = *((int *)&x); sx = ix>>31; ex = (unsigned char)(ix>>23); if(ex<(EX0 - 16)) return(0); if(ex>=(EX0 + 15)) return(0x7fffffff^sx); ix = ((unsigned int)((ix|0x00800000)<<8)>>(EX0 + 15 - ex)); if(sx<0) ix = -ix; return(ix); } int maketag(int reg) { int tag; tag = (reg - 0x8000)/8; return(tag); }