2 #include "../port/lib.h"
7 #include "../port/error.h"
17 { 0xFF, 0xFF, 0x80, 0x01, 0x80, 0x02, 0x80, 0x0C,
18 0x80, 0x10, 0x80, 0x10, 0x80, 0x08, 0x80, 0x04,
19 0x80, 0x02, 0x80, 0x01, 0x80, 0x02, 0x8C, 0x04,
20 0x92, 0x08, 0x91, 0x10, 0xA0, 0xA0, 0xC0, 0x40,
22 { 0x00, 0x00, 0x7F, 0xFE, 0x7F, 0xFC, 0x7F, 0xF0,
23 0x7F, 0xE0, 0x7F, 0xE0, 0x7F, 0xF0, 0x7F, 0xF8,
24 0x7F, 0xFC, 0x7F, 0xFE, 0x7F, 0xFC, 0x73, 0xF8,
25 0x61, 0xF0, 0x60, 0xE0, 0x40, 0x40, 0x00, 0x00,
30 static Memdata xgdata;
32 static Memimage xgscreen =
34 { 0, 0, 800, 600 }, /* r */
35 { 0, 0, 800, 600 }, /* clipr */
42 0, /* width in words of a single scan line */
63 flushmemscreen(Rectangle)
73 fbe = fb + Dx(xgscreen.r) * Dy(xgscreen.r) * 3;
75 clean2pa(PADDR(fb), PADDR(fbe));
83 fb = xspanalloc(Dx(xgscreen.r) * Dy(xgscreen.r) * 3, 64, 0);
84 print("%x\n", PADDR(fb));
85 memsetchan(&xgscreen, BGR24);
90 gscreen->width = wordsperline(gscreen->r, gscreen->depth);
96 attachscreen(Rectangle *r, ulong *chan, int* d, int *width, int *softscreen)
100 *chan = gscreen->chan;
101 *width = gscreen->width;
104 return gscreen->data->bdata;
108 getcolor(ulong, ulong *, ulong *, ulong *)
113 setcolor(ulong, ulong, ulong, ulong)