void terminit(void) { memdefont = getmemdefont(); out.pos.x = MINX; out.pos.y = 0; out.bwid = memdefont->info[' '].width; screenwin(); screenputs = termscreenputs; }
void screeninit(void) { int i; /* map the lcd regs into the kernel's virtual space */ lcd = (struct sa1110regs*)mapspecial(LCDREGS, sizeof(struct sa1110regs));; framebuf = xspanalloc(sizeof *framebuf, 0x100, 0); vscreen = xalloc(sizeof(ushort)*Wid*Ht); lcdpower(1); lcdinit(); gscreen = &xgscreen; xgdata.ref = 1; i = 0; if (landscape) { gscreen->r = Rect(0, 0, Ht, Wid); gscreen->clipr = gscreen->r; gscreen->width = Ht/2; xgdata.bdata = (uchar *)framebuf->pixel; while (i < Wid*Ht*1/3) framebuf->pixel[i++] = 0xf800; /* red */ while (i < Wid*Ht*2/3) framebuf->pixel[i++] = 0xffff; /* white */ while (i < Wid*Ht*3/3) framebuf->pixel[i++] = 0x001f; /* blue */ } else { gscreen->r = Rect(0, 0, Wid, Ht); gscreen->clipr = gscreen->r; gscreen->width = Wid/2; xgdata.bdata = (uchar *)vscreen; while (i < Wid*Ht*1/3) vscreen[i++] = 0xf800; /* red */ while (i < Wid*Ht*2/3) vscreen[i++] = 0xffff; /* white */ while (i < Wid*Ht*3/3) vscreen[i++] = 0x001f; /* blue */ flushmemscreen(gscreen->r); } memimageinit(); memdefont = getmemdefont(); out.pos.x = MINX; out.pos.y = 0; out.bwid = memdefont->info[' '].width; blanktime = 3; /* minutes */ screenwin(); // screenputs = bitsyscreenputs; screenputs = nil; }
void screeninit(void) { uchar *fb; int set; ulong chan; set = screensize() == 0; fb = fbinit(set, &xgscreen.r.max.x, &xgscreen.r.max.y, &xgscreen.depth); if(fb == nil){ print("can't initialise %dx%dx%d framebuffer \n", xgscreen.r.max.x, xgscreen.r.max.y, xgscreen.depth); return; } xgscreen.clipr = xgscreen.r; switch(xgscreen.depth){ default: print("unsupported screen depth %d\n", xgscreen.depth); xgscreen.depth = 16; /* fall through */ case 16: chan = RGB16; break; case 24: chan = BGR24; break; case 32: chan = ARGB32; break; } memsetchan(&xgscreen, chan); conf.monitor = 1; xgdata.bdata = fb; xgdata.ref = 1; gscreen = &xgscreen; gscreen->width = wordsperline(gscreen->r, gscreen->depth); memimageinit(); memdefont = getmemdefont(); screenwin(); screenputs = myscreenputs; swcursorinit(); }