void setPixel(int x, int y, unsigned int color) { static unsigned char *scr = (unsigned char *) 0xa4000100; if(x >= 0 && x < 320 && y >= 0 && y < 240) scr[y*160+x/2]=x&1? (scr[y*160+x/2]&0xF0)+color : (scr[y*160+x/2]&0x0F)+(color<< 4); } void clrscr() { int i,j; for(i = 0; i < 320; i ++) for(j = 0; j < 240; j ++) setPixel(i, j, 0xF); } int getPixel(int x, int y) { static unsigned char *scr = (unsigned char *) 0xa4000100; if(x >= 0 && x < 320 && y >= 0 && y < 240) return x%2 ? scr[y*160+x/2] & 0x0F : (scr[y*160+x/2] & 0xF0) >> 4; return 0; } /* void drawLine(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, unsigned int color) { if(x2 < x1) { int tmp = x2; x2 = x1; x1 = tmp; } if(y2 < y1) { int tmp = y2; y2 = y1; y1 = tmp; } unsigned int numPts = 0, i; double x = x1, y = y1; unsigned int xi, yi; numPts = x2 - x1; if(y2 - y1 > numPts) numPts = y2 - y1; } */